Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecord.js =================================================================== diff -u -r13020 -r13173 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecord.js (.../storageRecord.js) (revision 13020) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecord.js (.../storageRecord.js) (revision 13173) @@ -14,7 +14,9 @@ {name : 'totalPrice'}, {name : 'name'}, {name : 'specification'}, - {name : 'displayName'} + {name : 'displayName'}, + {name : 'outTotalPrice'}, + {name : 'outAmout'} ]); var store = new Ext.data.Store({ reader : new Ext.data.JsonReader({ @@ -29,7 +31,9 @@ {name : 'totalPrice'}, {name : 'name'}, {name : 'specification'}, - {name : 'displayName'} + {name : 'displayName'}, + {name : 'outTotalPrice'}, + {name : 'outAmout'} ] }) }); @@ -41,8 +45,10 @@ {header : "操作内容",dataIndex : 'subType',width : 60, menuDisabled: true}, {header : "操作时间",dataIndex : 'time',width : 120, menuDisabled: true}, {header : "仓库",dataIndex : 'warehouseName',width : 120, menuDisabled: true}, - {header : "金额",dataIndex : 'totalPrice',width : 60, menuDisabled: true}, - {header : "数量",dataIndex : 'amount',width : 40, menuDisabled: true} + {header : "入库金额",dataIndex : 'totalPrice',width : 60, menuDisabled: true}, + {header : "入库数量",dataIndex : 'amount',width : 60, menuDisabled: true}, + {header : "出库金额",dataIndex : 'outTotalPrice',width:60,menuDisabled:true}, + {header : "出库数量",dataIndex : 'outAmout',width : 60, menuDisabled:true} ]); var gridPanelConfig = { id : 'storageRecordGridPanel', @@ -65,17 +71,19 @@ this.setDisposableGoodsId = function(id){ disposableGoodsId = id; } + //显示数据的gridPanel + var gridPanel = null; //使用窗口显示记录信息 this.showDetail = function(){ //grid表格对象,显示出入库的具体信息 - var gridPanel = new top.Ext.grid.GridPanel(gridPanelConfig); + gridPanel = new top.Ext.grid.GridPanel(gridPanelConfig); //窗口对象 var storageRecordWindow = new top.Ext.Window( { id : 'storageRecordWin', layout : 'fit', title : '', header : true, - width : 920, + width : 1020, border : false, modal : true, autoHeight : true, @@ -88,7 +96,7 @@ } //获取在页面中使用的gridPanel this.getShowGrid = function(){ - var gridPanel = new Ext.grid.GridPanel(gridPanelConfig); + gridPanel = new Ext.grid.GridPanel(gridPanelConfig); return gridPanel; } function setWindowTitle(window,json){ @@ -117,7 +125,10 @@ totalPrice : jsonDataArray[i].totalPrice, name : jsonDataArray[i].name, specification : jsonDataArray[i].specification, - displayName : jsonDataArray[i].displayName + displayName : jsonDataArray[i].displayName, + amount : jsonDataArray[i].amount, + outTotalPrice : jsonDataArray[i].outTotalPrice, + outAmout : jsonDataArray[i].outAmout }); store.add(storageRecordData); } @@ -130,6 +141,12 @@ if(!isUndefinedOrNullOrEmpty(endData)){ url += "&endData=" + endData; } + /*var myMask = new Ext.LoadMask({ + msg : '正在加载数据,请稍候...', + target : Ext.getBody() + }); + myMask.show();*/ + Ext.Ajax.request({ url : url, success : function(response, options) { @@ -143,9 +160,11 @@ }else{ showResult('加载失败,请联系系统管理员。'); } + //myMask.hide(); }, failure : function(response, options) { showResult('加载失败,请联系系统管理员。'); + //myMask.hide(); } }); } Index: forgon-tools/src/main/java/com/forgon/tools/util/BaseUtils.java =================================================================== diff -u -r12974 -r13173 --- forgon-tools/src/main/java/com/forgon/tools/util/BaseUtils.java (.../BaseUtils.java) (revision 12974) +++ forgon-tools/src/main/java/com/forgon/tools/util/BaseUtils.java (.../BaseUtils.java) (revision 13173) @@ -23,4 +23,20 @@ //o1跟o2都等于null return true; } + /** + * 判断一个数组中是否包含某一个元素 + * @param array 数组 + * @param toFind 要查找的元素 + * @return true表示包含此元素,false表示不包含此元素 + */ + public static boolean contains(T[] array,T toFind){ + if(array != null && array.length > 0){ + for(T element : array){ + if(objectEquals(element, toFind)){ + return true; + } + } + } + return false; + } } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManagerImpl.java =================================================================== diff -u -r13033 -r13173 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManagerImpl.java (.../DisposableGoodsStorageRecordManagerImpl.java) (revision 13033) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManagerImpl.java (.../DisposableGoodsStorageRecordManagerImpl.java) (revision 13173) @@ -13,6 +13,7 @@ import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.BaseUtils; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -95,7 +96,7 @@ Date time = resultSet.getTimestamp("time"); String timeStr = ""; if(time != null){ - timeStr = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(time); + timeStr = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMM.format(time); } String name = resultSet.getString("name"); @@ -104,15 +105,27 @@ if(StringTools.isNotBlank(specification)){ displayName = name + "[" + specification + "]"; } + long amout = resultSet.getLong("amount"); + String totalPrice = String.format("%.2f",resultSet.getDouble("totalPrice")); + String subType = resultSet.getString("subType"); item.put("operator", resultSet.getString("operator")); item.put("serialNumber", resultSet.getString("serialNumber")); item.put("time", timeStr); item.put("type", resultSet.getString("type")); - item.put("subType", resultSet.getString("subType")); + item.put("subType", subType); item.put("warehouseName", resultSet.getString("warehouseName")); - item.put("amount", resultSet.getLong("amount")); - item.put("totalPrice", String.format("%.2f",resultSet.getDouble("totalPrice"))); + if(isInOperator(subType)){ + item.put("amount", amout); + item.put("totalPrice", totalPrice); + item.put("outAmout", ""); + item.put("outTotalPrice", ""); + }else{ + item.put("amount", ""); + item.put("totalPrice", ""); + item.put("outAmout", amout); + item.put("outTotalPrice", totalPrice); + } item.put("name", name); item.put("specification", specification); item.put("displayName", displayName); @@ -131,5 +144,18 @@ jsonObject.put("success", success); return jsonObject; } + /** + * 判断是不是入库操作 + * @param type 单的子类型 + * @return true表示是入库操作,false表示是出库操作 + */ + private boolean isInOperator(String subType){ + String[] ins = new String[]{GodownEntry.SUBTYPE_IMPORT_IN,GodownEntry.SUBTYPE_MANUAL_IN, + GodownEntry.SUBTYPE_MOVE_IN,GodownEntry.SUBTYPE_STOCKTAKE_IN,GodownEntry.SUBTYPE_SYNC_IN,"退货入库"}; + if(BaseUtils.contains(ins, subType)){ + return true; + } + return false; + } }