Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManagerImpl.java =================================================================== diff -u -r13011 -r13020 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManagerImpl.java (.../DisposableGoodsStorageRecordManagerImpl.java) (revision 13011) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManagerImpl.java (.../DisposableGoodsStorageRecordManagerImpl.java) (revision 13020) @@ -6,6 +6,7 @@ import java.util.Set; import com.forgon.Constants; +import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry; import com.forgon.tools.SqlBuilder; @@ -19,15 +20,19 @@ public class DisposableGoodsStorageRecordManagerImpl implements DisposableGoodsStorageRecordManager { private ObjectDao objectDao; + private DateQueryAdapter dateQueryAdapter; private WareHouseManager wareHouseManager; public void setObjectDao(ObjectDao objectDao) { this.objectDao = objectDao; } + public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) { + this.dateQueryAdapter = dateQueryAdapter; + } public void setWareHouseManager(WareHouseManager wareHouseManager) { this.wareHouseManager = wareHouseManager; } @Override - public JSONObject getStorageRecord(String disposableGoodsId) { + public JSONObject getStorageRecord(String disposableGoodsId,String startDate,String endDate) { JSONObject jsonObject = new JSONObject(); JSONArray jsonArray = new JSONArray(); boolean success = false; @@ -79,6 +84,8 @@ sb.append(SqlBuilder.build_number_IN_Statement("rgr.warehouseID", SqlBuilder.IN, warehosueIds)); sb.append(" ) md "); + sb.append(" where "); + sb.append(dateQueryAdapter.dateAreaSql("time", startDate, endDate, true, true)); sb.append(" order by time "); System.out.println(sb.toString()); ResultSet resultSet = objectDao.executeSql(sb.toString()); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r13019 -r13020 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 13019) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 13020) @@ -711,7 +711,10 @@ public void loadDisposableGoodsStorageRecord(){ String disposableGoodsId = StrutsParamUtils.getPraramValue("disposableGoodsId", null); - JSONObject jsonObject = disposableGoodsStorageRecordManager.getStorageRecord(disposableGoodsId); + String startDate = StrutsParamUtils.getPraramValue("startDate", null); + String endDate = StrutsParamUtils.getPraramValue("endData", null); + JSONObject jsonObject = disposableGoodsStorageRecordManager.getStorageRecord( + disposableGoodsId,startDate,endDate); HttpServletResponse response = StrutsParamUtils.getResponse(); response.setCharacterEncoding("UTF-8"); Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecordView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecordView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecordView.jsp (revision 13020) @@ -0,0 +1,86 @@ +<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.supplier.Supplier,com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry "%> +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@ include file="/common/includeExtJsAndCss.jsp"%> +<%@ page import="com.forgon.tools.SpringBeanManger" %> +<% + String userName = AcegiHelper.getLoginUser().getUserFullName(); + request.setAttribute("userName",userName); +%> + + + +入库单信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +
+ + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecordView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecordView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecordView.js (revision 13020) @@ -0,0 +1,188 @@ +var grid; + +// 全部一次性物品 +var allDiposableGoodsStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/diposableGoodsAction!getDiposableGoodsData.do?allItems=yes', + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + totalProperty : 'totalCount', + root : 'data' + }, [ + {name : 'id',mapping : 'id'}, + {name : 'spelling',mapping : 'spelling'}, + {name : 'name',mapping : 'name'}, + {name : 'displayName',mapping : 'displayName'}, + {name : 'referencePrice',mapping : 'referencePrice'} + ]) +}); + +// 科室能申请的一次性物品 +var diposableGoodsStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/diposableGoodsAction!getDiposableGoodsData.do', + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + totalProperty : 'totalCount', + root : 'data' + }, [ + {name : 'id',mapping : 'id'}, + {name : 'spelling',mapping : 'spelling'}, + {name : 'name',mapping : 'name'}, + {name : 'displayName',mapping : 'displayName'}, + {name : 'referencePrice',mapping : 'referencePrice'} + ]) +}); + +Ext.onReady(function() { + Ext.QuickTips.init(); + + var storageRecord = new StorageRecord(); + + var dt = new Date(); + var v = dt.getMonth()+1; + if(v < 10){ + v = "0" + (dt.getMonth()+1); + } + var startDayofMonth = dt.getFullYear() + "/" + v + "/01"; + var form = new Ext.Panel({ + id : 'northPanel', + layout : 'table', + frame : true, + region : 'north', + border : false, + bodyBorder : false, + layoutConfig : {columns : 2}, + height : 63, + items : [{ + width :900, + layout : 'column', + items:[{ + columnWidth : .73, + layout : 'form', + labelWidth : 60, + items : [{ + fieldLabel : '关键字', + xtype : 'combo', + id : 'code', + name : 'code', + queryParam : 'spell', + minChars : 0, + valueField : 'id', + displayField : 'displayName', + width : 600, + store : allDiposableGoodsStore, + forceSelection : true, + lazyInit : true, + triggerAction : 'all', + hideTrigger : true, + typeAhead : false, + allowBlank : true, + anchor : '97%', + listeners : { + select : function(combo, record, index) { + Ext.getCmp('disposableGoodsID').setValue(record.data.id); + Ext.getCmp('code').setValue(record.data.name); + } + } + }] + },{ + columnWidth : .25, + layout : 'form', + labelWidth : 60, + items : [{ + xtype:'hidden', + id:'disposableGoodsID', + name:'disposableGoodsID' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 60, + items : [{ + xtype : 'datefield', + fieldLabel : '开始日期', + name : 'startDate', + id : 'startDate', + readOnly : false, + altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + editable : false, + format : 'Y-m-d', + value:new Date(startDayofMonth), + anchor : '94%' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 60, + items : [{ + xtype : 'datefield', + fieldLabel : '结束日期', + name : 'endDate', + id : 'endDate', + readOnly : false, + altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + editable : false, + format : 'Y-m-d', + value:new Date(), + anchor : '94%' + }] + }] + },{ + width :150, + layout : 'column', + items : [{ + columnWidth : .5, + layout :'form', + items : [{ + xtype : 'button', + text : '查询', + minWidth : 70, + iconCls : 'icon_search', + handler : function() { + var startDate = Ext.getCmp('startDate').getRawValue(); + var endDate = Ext.getCmp('endDate').getRawValue(); + var disposableGoodsID = Ext.getCmp('disposableGoodsID').getValue(); + if(startDate || endDate){ + if(!compareDate(startDate,endDate)){ + showResult("开始时间不能大于结束时间"); + return; + } + } + if(isUndefinedOrNullOrEmpty(disposableGoodsID)){ + showResult("请选择一次性物品"); + return; + } + storageRecord.setDisposableGoodsId(disposableGoodsID); + storageRecord.loadData(null,startDate,endDate); + } + }] + },{ + columnWidth : .5, + layout :'form', + items : [{ + xtype : 'button', + text : '重置', + minWidth : 70, + iconCls : 'icon_set', + handler : function() { + //Ext.getCmp('code').setValue(""); + Ext.getCmp('startDate').setValue(""); + Ext.getCmp('endDate').setValue(""); + } + }] + }] + }] + }); + var viewport = new Ext.Viewport( { + layout : 'border', + items : [form,{ + region : 'center', + margins : '0 0 0 0', + layout : 'fit', + items:[storageRecord.getShowGrid()] + }] + }); +}); \ No newline at end of file Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManager.java =================================================================== diff -u -r13011 -r13020 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManager.java (.../DisposableGoodsStorageRecordManager.java) (revision 13011) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DisposableGoodsStorageRecordManager.java (.../DisposableGoodsStorageRecordManager.java) (revision 13020) @@ -8,5 +8,12 @@ * */ public interface DisposableGoodsStorageRecordManager { - public JSONObject getStorageRecord(String disposableGoodsId); + /** + * 获取一次性物品出入库记录 + * @param disposableGoodsId 一次性物品定义id + * @param startDate 开时日期,可以为空或null,表示开始日期无限制 + * @param endDate 结束日期,可以为空或null,表示结束日期无限制 + * @return + */ + public JSONObject getStorageRecord(String disposableGoodsId,String startDate,String endDate); } Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecord.js =================================================================== diff -u -r13013 -r13020 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecord.js (.../storageRecord.js) (revision 13013) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/storageRecord.js (.../storageRecord.js) (revision 13020) @@ -16,106 +16,130 @@ {name : 'specification'}, {name : 'displayName'} ]); - //grid表格对象,显示出入库的具体信息 - var gridPanel = new top.Ext.grid.GridPanel({ - id : 'storageRecordGridPanel', - store : new Ext.data.Store({ - reader : new Ext.data.JsonReader({ - fields : [ - {name : 'operator'}, - {name : 'serialNumber'}, - {name : 'time'}, - {name : 'type'}, - {name : 'subType'}, - {name : 'warehouseName'}, - {name : 'amount'}, - {name : 'totalPrice'}, - {name : 'name'}, - {name : 'specification'}, - {name : 'displayName'} - ] - }) - }), - cm : new Ext.grid.ColumnModel([ - {header : "物品名称",dataIndex : 'displayName',width : 240, menuDisabled: true}, - {header : "单号",dataIndex : 'serialNumber',width : 80, menuDisabled: true}, - {header : "单类型",dataIndex : 'type',width : 60, menuDisabled: true}, - {header : "操作员",dataIndex : 'operator',width : 60, menuDisabled: true}, - {header : "操作内容",dataIndex : 'subType',width : 60, menuDisabled: true}, - {id : 'operatorDate',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} - ]), - enableHdMenu : false, - width : 900, - height :600, - autoExpandColumn : 'operatorDate', - frame : false, - bodyStyle : 'border:1px solid #afd7af', - viewConfig: { - forceFit:true - } + var store = new Ext.data.Store({ + reader : new Ext.data.JsonReader({ + fields : [ + {name : 'operator'}, + {name : 'serialNumber'}, + {name : 'time'}, + {name : 'type'}, + {name : 'subType'}, + {name : 'warehouseName'}, + {name : 'amount'}, + {name : 'totalPrice'}, + {name : 'name'}, + {name : 'specification'}, + {name : 'displayName'} + ] + }) }); - //窗口对象 - var storageRecordWindow = new top.Ext.Window( { - id : 'storageRecordWin', - layout : 'fit', - title : '', - header : true, - width : 920, - border : false, - modal : true, - autoHeight : true, - plain : true, - items : [ gridPanel ] - }); + var cm = new Ext.grid.ColumnModel([ + {id : 'displayName',header : "物品名称",dataIndex : 'displayName',width : 240, menuDisabled: true}, + {header : "单号",dataIndex : 'serialNumber',width : 80, menuDisabled: true}, + {header : "单类型",dataIndex : 'type',width : 60, menuDisabled: true}, + {header : "操作员",dataIndex : 'operator',width : 60, menuDisabled: true}, + {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} + ]); + var gridPanelConfig = { + id : 'storageRecordGridPanel', + store : store, + cm : cm, + enableHdMenu : false, + width : 900, + height :600, + autoExpandColumn : 'displayName', + frame : false, + bodyStyle : 'border:1px solid #afd7af', + viewConfig: { + forceFit:true + } + }; //一次性物品 var disposableGoodsId; //设置要查看的一次性物品的id this.setDisposableGoodsId = function(id){ disposableGoodsId = id; } - //显示记录信息 + //使用窗口显示记录信息 this.showDetail = function(){ - loadData(); + //grid表格对象,显示出入库的具体信息 + var gridPanel = new top.Ext.grid.GridPanel(gridPanelConfig); + //窗口对象 + var storageRecordWindow = new top.Ext.Window( { + id : 'storageRecordWin', + layout : 'fit', + title : '', + header : true, + width : 920, + border : false, + modal : true, + autoHeight : true, + plain : true, + items : [ gridPanel ] + }); + //var store = top.Ext.getCmp('storageRecordGridPanel').getStore(); + this.loadData(storageRecordWindow); storageRecordWindow.show(); } - - function setWindowTitle(json){ + //获取在页面中使用的gridPanel + this.getShowGrid = function(){ + var gridPanel = new Ext.grid.GridPanel(gridPanelConfig); + return gridPanel; + } + function setWindowTitle(window,json){ + if(isUndefinedOrNull(window) || isUndefinedOrNull(json)){ + return; + } var title = '出入库记录'; if(json && json.name){ title = json.name + ' 出入库记录' } - storageRecordWindow.setTitle(title); + window.setTitle(title); } - function loadData(){ + function updateGridStore(store,jsonDataArray){ + if(isUndefinedOrNull(store) || isUndefinedOrNull(jsonDataArray)){ + return; + } + for(var i = 0; i < jsonDataArray.length;++i){ + var storageRecordData = new Record({ + operator : jsonDataArray[i].operator, + serialNumber : jsonDataArray[i].serialNumber, + time : jsonDataArray[i].time, + type : jsonDataArray[i].type, + subType : jsonDataArray[i].subType, + warehouseName : jsonDataArray[i].warehouseName, + amount : jsonDataArray[i].amount, + totalPrice : jsonDataArray[i].totalPrice, + name : jsonDataArray[i].name, + specification : jsonDataArray[i].specification, + displayName : jsonDataArray[i].displayName + }); + store.add(storageRecordData); + } + } + this.loadData = function(window,startDate,endData){ + var url = WWWROOT + '/disinfectSystem/diposableGoodsAction!loadDisposableGoodsStorageRecord.do?disposableGoodsId='+disposableGoodsId; + if(!isUndefinedOrNullOrEmpty(startDate)){ + url += "&startDate=" + startDate; + } + if(!isUndefinedOrNullOrEmpty(endData)){ + url += "&endData=" + endData; + } Ext.Ajax.request({ - url : WWWROOT + '/disinfectSystem/diposableGoodsAction!loadDisposableGoodsStorageRecord.do?disposableGoodsId='+disposableGoodsId, + url : url, success : function(response, options) { var result = Ext.decode(response.responseText); if (!isUndefinedOrNullOrEmpty(result) && result.success) { - setWindowTitle(result); + store.removeAll(); + setWindowTitle(window,result); var data = result.data; - var store = top.Ext.getCmp('storageRecordGridPanel').getStore(); - - for(var i = 0; i < data.length;++i){ - var storageRecordData = new Record({ - operator : data[i].operator, - serialNumber : data[i].serialNumber, - time : data[i].time, - type : data[i].type, - subType : data[i].subType, - warehouseName : data[i].warehouseName, - amount : data[i].amount, - totalPrice : data[i].totalPrice, - name : data[i].name, - specification : data[i].specification, - displayName : data[i].displayName - }); - store.add(storageRecordData); - } + updateGridStore(store,data); + }else{ showResult('加载失败,请联系系统管理员。'); } Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r13004 -r13020 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 13004) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 13020) @@ -253,6 +253,7 @@ children:[ {hidden :SSTS_DiposableGoodsNode_Menu,text:"一次性物品管理",href:WWWROOT+'/disinfectsystem/assestManagement/diposableGoods/diposableGoodsView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_DiposableGoodsNode_Menu,text:"一次性物品库存",href:WWWROOT+'/disinfectsystem/assestManagement/disposableGoods/disposableGoodsStockView.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden :SSTS_DiposableGoodsNode_Menu,text:"一次性物品出入库记录",href:WWWROOT+'/disinfectsystem/assestManagement/disposableGoods/storageRecordView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_godownEntryNode_Menu,text:"入库单管理",href:WWWROOT+'/disinfectsystem/assestManagement/godownEntry/godownEntryView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_WarehouseEntryOut_Menu,text:"退库单管理",href:WWWROOT+'/disinfectsystem/assestManagement/godownEntry/godownOutView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_WarehouseEntryOut_Menu,text:"调拨单管理",href:WWWROOT+'/disinfectsystem/assestManagement/godownEntry/appropriationView.jsp',hrefTarget:linkTarget,leaf:true},