Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/action/MaterialDefinitionAction.java =================================================================== diff -u -r13089 -r13113 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/action/MaterialDefinitionAction.java (.../MaterialDefinitionAction.java) (revision 13089) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialdefinition/action/MaterialDefinitionAction.java (.../MaterialDefinitionAction.java) (revision 13113) @@ -441,10 +441,15 @@ stock.setMaterialDefinitionId(materialDefinition.getId()); List stockList = goodsStockManager.getGoodsStockList(stock); if(stockList != null && stockList.size() > 0){ - storage += stockList.get(0).getAmount(); + for(GoodsStock goodsStock : stockList){ + if(goodsStock.getAmount() != null && goodsStock.getAmount() > 0){ + storage += goodsStock.getAmount(); + } + } } } } + materialDefinition.setStorage(new Long(storage)); map.put("storage", storage); JSONObject jsonObject = JSONObject.fromObject(map, config); String jsonStr = jsonObject.toString(); Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/MaterialInvoiceAction.java =================================================================== diff -u -r13103 -r13113 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/MaterialInvoiceAction.java (.../MaterialInvoiceAction.java) (revision 13103) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/MaterialInvoiceAction.java (.../MaterialInvoiceAction.java) (revision 13113) @@ -66,10 +66,10 @@ } public void loadMaterialInvoice() { - StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + StrutsParamUtils.getResponse().setContentType("text/html;charset=UTF-8"); JsonConfig config = new JsonConfig(); PropertyFilter propertyFilter = new JsonPropertyFilter(new String[] { - "materialInvoiceItem" }); + "materialInvoiceItem","materialItemList" }); config.setJsonPropertyFilter(propertyFilter); Map map = new HashMap(); Index: ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java =================================================================== diff -u -r12332 -r13113 --- ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java (.../GridManagerImpl.java) (revision 12332) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java (.../GridManagerImpl.java) (revision 13113) @@ -1,6 +1,9 @@ package com.forgon.disinfectsystem.component.grid; import java.lang.reflect.Field; +import java.math.BigDecimal; +import java.sql.ResultSet; +import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; @@ -16,16 +19,21 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.hibernate.Query; import org.springframework.util.Assert; import com.forgon.component.grid.GridManager; import com.forgon.component.grid.vo.GridVo; import com.forgon.databaseadapter.service.DateQueryAdapter; +import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.entity.goodsstock.GoodsStock; import com.forgon.tools.MathTools; import com.forgon.tools.date.DateTools; +import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.string.StringTools; @@ -81,6 +89,29 @@ int totalResults = objectDao.countObjectBySql(poClass, sql); List list = objectDao .findBySql(poClass, sql, start, pageSize, orderStr); + + //如果是材料定义,则库存根据当前科室查找 + if(MaterialDefinition.class.getSimpleName().equals(poClass) && CollectionUtils.isNotEmpty(list)){ + String orgUnitCoding = AcegiHelper.getCurrentOrgUnitCode(); + for(Object obj : list){ + MaterialDefinition md = (MaterialDefinition)obj; + ResultSet rs = + objectDao.executeSql("select sum(amount) amount from GoodsStock where 1=1 and orgUnitCode = '" + orgUnitCoding + "' and materialDefinitionId=" + md.getId() + " and amount > 0"); + int totalAmount = 0; + try { + if(rs.next()){ + BigDecimal bd = rs.getBigDecimal("amount"); + if(bd != null){ + totalAmount = bd.intValue(); + } + } + DatabaseUtil.closeResultSetAndStatement(rs); + } catch (SQLException e) { + + } + md.setStorage(new Long(totalAmount)); + } + } Map map = new HashMap(); map.put("totalResults", totalResults); Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/materialDefinition/materialDefinitionView.js =================================================================== diff -u -r12735 -r13113 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/materialDefinition/materialDefinitionView.js (.../materialDefinitionView.js) (revision 12735) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/materialDefinition/materialDefinitionView.js (.../materialDefinitionView.js) (revision 13113) @@ -152,21 +152,23 @@ header : "五笔码", width : 100, dataIndex : 'wbCode' - }/*,{ + },{ header : "库存数量", width : 100, dataIndex : 'storage' - }*/,{ + },{ header : "单一器械跟踪", width : 100, dataIndex : 'isTraceble' },{ header : "最大货存", width : 100, + hidden : true, dataIndex : 'maxStorage' },{ header : "最小货存", width : 100, + hidden : true, dataIndex : 'minStorage' },{ header : "成本(元)", Index: ssts-receiverecord/src/main/java/com/forgon/disinfectsystem/receiverecord/action/ReceiveRecordAction.java =================================================================== diff -u -r13092 -r13113 --- ssts-receiverecord/src/main/java/com/forgon/disinfectsystem/receiverecord/action/ReceiveRecordAction.java (.../ReceiveRecordAction.java) (revision 13092) +++ ssts-receiverecord/src/main/java/com/forgon/disinfectsystem/receiverecord/action/ReceiveRecordAction.java (.../ReceiveRecordAction.java) (revision 13113) @@ -160,7 +160,7 @@ response.setCharacterEncoding("UTF-8"); Map returnMsg = new HashMap(); returnMsg.put("success", false); - returnMsg.put("errMsg", "保存失败"); + returnMsg.put("message", "保存失败"); try { out = response.getWriter(); } catch (IOException e) { @@ -195,10 +195,10 @@ } // //////////// try { - StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); - String retStr = String.format("{success:%s,message:'%s'}", success, - result); - StrutsParamUtils.getResponse().getWriter().print(retStr); + StrutsParamUtils.getResponse().setContentType("text/html;charset=UTF-8"); + returnMsg.put("success", success); + returnMsg.put("message", result); + StrutsParamUtils.getResponse().getWriter().print(returnMsg); } catch (Exception e) { e.printStackTrace(); }