Index: ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationView1.jsp =================================================================== diff -u -r26676 -r27019 --- ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationView1.jsp (.../interfereSterilizationView1.jsp) (revision 26676) +++ ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationView1.jsp (.../interfereSterilizationView1.jsp) (revision 27019) @@ -27,6 +27,8 @@ + + @@ -50,7 +52,12 @@
+ + + + +
\ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationView1.js =================================================================== diff -u -r26676 -r27019 --- ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationView1.js (.../interfereSterilizationView1.js) (revision 26676) +++ ssts-web/src/main/webapp/disinfectsystem/interfere/interfereSterilizationView1.js (.../interfereSterilizationView1.js) (revision 27019) @@ -57,7 +57,7 @@ var startDate = record.data.startDate; var endDate = record.data.endDate; var sterilizationPurpose = record.data.sterilizationPurpose; - var sterilizerName = record.data.sterilizerName; + var sterilizerName = record.data['sterilizer.name']; var frequency = record.data.frequency; var sterilizationMethod = record.data.sterilizationType; var sterilizationUser = record.data.sterilizationUser; @@ -104,7 +104,40 @@ } }); } - +/** + * 请求服务器,生成时间筛选对应的值 + * @returns {[*,*,*,*,*]} + */ +function getTimeComboData() { + var dateHelper = new DateHelper(); + var applyDateDataArray = []; + var format = 'yyyy-MM-dd HH:mm'; + var url = WWWROOT + '/system/serverTimeAction!getInvoicePlanComboTime.do'; + dateHelper.getServerTimeByJQ(format, Ext, url, function (result) { + var time = result.time; + applyDateDataArray.push(['本月', time.thisMonthTime]); + applyDateDataArray.push(['今天', time.todayTime]); + applyDateDataArray.push(['昨天', time.yesterdayTodayTime]); + applyDateDataArray.push(['近三天', time.threeDayBeforeTodayTime]); + applyDateDataArray.push(['一周内', time.withinWeekTodayTime]); + + }); + return applyDateDataArray; +} +//灭菌炉分组 +var sterilizerNameGroupJsonStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/core/httpOptionAction!getHttpOptionsById.do', + method : 'POST' + }), + baseParams : {optionId : "sterilerGroup"}, + reader : new Ext.data.JsonReader({ + root : 'data' + },[ + {name : 'sterilizerNameGroup', mapping : 'value'} + ] + ) +}); Ext.onReady(function() { var columns = new Array(); columns.push( @@ -114,7 +147,7 @@ {header : confirmLabel,width : 100,dataIndex : 'srSituationComfirmer',hidden:!sterilizationRecordFinishConfirm}, {header : "结束时间",width : 125,dataIndex : 'endDate'}, {header : "灭菌目的",width : 120,dataIndex : 'sterilizationPurpose'}, - {header : "灭菌炉",width : 160,dataIndex : 'sterilizerName'}, + {header : "灭菌炉",width : 160,dataIndex : 'sterilizer.name'}, {header : "炉次",width : 40,dataIndex : 'frequency'}, {header : "灭菌状态",width : 60,dataIndex : 'status'}, {id : 'SterilizationType',header : "灭菌程序",width : 60,dataIndex : 'sterilizationType'}, @@ -130,7 +163,7 @@ {name : 'startDate'}, {name : 'sterilizationPurpose'}, {name : 'sterilizationType'}, - {name : 'sterilizerName'}, + {name : 'sterilizer.name'}, {name : 'status'}, {name : 'endDate'}, {name : 'packageSterilizationCount'}, @@ -142,73 +175,200 @@ var filters = new Ext.grid.GridFilters({ filters : [ - {type : 'string',dataIndex : 'startDate'} - ] + {type : 'string',dataIndex : 'sterilizationUser'}, + {type : 'string',dataIndex : 'finishComfirmer'}, + {type : 'string',dataIndex : 'srSituationComfirmer'}, + {type : 'string',dataIndex : 'srSituationComfirmTime'}, + {type : 'date',dataIndex : 'startDate'}, + {type : 'date',dataIndex : 'endDate'}, + {type : 'string',dataIndex : 'sterilizationPurpose'}, + {type : 'string',dataIndex : 'sterilizationType'}, + {type : 'string',dataIndex : 'sterilizer.name'}, + {type : 'numeric',dataIndex : 'frequency'}, + {type : 'string',dataIndex : 'biologicalMonitoringStatus'}, + {type : 'string',dataIndex : 'physicsResult'}, + {type : 'string',dataIndex : 'chemistryResult'}, + {type : 'string',dataIndex : 'biologyResult'}, + {type : 'string',dataIndex : 'printStatus'}, + {type : 'string',dataIndex : 'isExist'}, + {type : 'list',dataIndex : 'status',options : [statusBegin, statusEnd, statusFailure],phpMode : true + }] }); var dt = new Date(); var v = dt.getMonth()+1; if(v<10){ v = "0" + v; } - var form = new Ext.Panel({ - title : '器械包实体信息列表', - layout : 'table', - frame : true, - region : 'north', - border : false, - bodyBorder : false, - labelAlign:"right", - height : 65, - items : [{ - width :700, - layout : 'column', - items:[{ - columnWidth : .33, - layout : 'form', - labelWidth : 40, - items : [{ - xtype : 'textfield', - fieldLabel : '条码', - name : 'barcodeSearch1', - id : 'barcodeSearch1', - anchor : '90%', - listeners : { - specialkey : function(field, ee) { -// if (ee.getKey() == Ext.EventObject.ENTER) { -// initQueryValueAndReload(); -// } - } + var requestTbar = new Ext.Toolbar({ + height : 25, + items:[{ + text : '灭菌日期:' + },{ + xtype : 'combo', + id : 'requestTimeQuantum', + name : 'requestTimeQuantum', + valueField : 'value', + displayField : 'key', + allowBlank : true, + editable : false, + width : 120, + mode:'local', + store : new Ext.data.SimpleStore({ + data: getTimeComboData(), + fields:['key','value'] + }), + forceSelection : true, + triggerAction : 'all', + listeners : { + select : function(combo, record, index){ + var value = combo.getValue(); + $Id("parm_s_requestTimeQuantum").value = value; + var timeArr = value.split(";"); + Ext.getCmp('requestStartTime').setValue(timeArr[0]); + Ext.getCmp('requestEndTime').setValue(timeArr[1]); + grid.getStore().lastOptions.params['start'] = 0; + grid.dwrReload(); + } + }, + anchor : '95%' + },'-',{ + text : '开始时间:' + },{ + xtype : 'datefieldWithMin', + id : 'requestStartTime', + name : 'requestStartTime', + width : 130, + 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', + selectOnFocus :true, + format : 'Y-m-d H:i', + theHours : 0, + theMinutes : 0 + },'-',{ + text : '结束时间:' + },{ + xtype : 'datefieldWithMin', + width : 130, + id : 'requestEndTime', + name : 'requestEndTime', + 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', + selectOnFocus :true, + format : 'Y-m-d H:i', + theHours : 23, + theMinutes : 59, + listeners : { + render : function(_this) { + var requestTimeQuantumCombo = Ext.getCmp('requestTimeQuantum'); + var value = requestTimeQuantumCombo.store.data.items[0].data.value; + requestTimeQuantumCombo.setValue(value); + var timeArr = value.split(";"); + Ext.getCmp('requestStartTime').setValue(timeArr[0]); + Ext.getCmp('requestEndTime').setValue(timeArr[1]); + } + } + },'-',{ + text : '灭菌炉:' + },{ + xtype : 'combo', + valueField : 'sterilizerName', + displayField : 'sterilizerName', + store : new Ext.data.SimpleStore({ + fields : [ 'sterilizerName' ], + url : WWWROOT + '/disinfectSystem/baseData/sterilizerAction!getAllSterilizer.do?', + listeners : { + beforeload : function(_this, options) { + _this.baseParams.needAll = '是'; } - }] - },{ - columnWidth : .1, - layout :'form', - items : [{ - xtype : 'button', - text : '查询', - minWidth : 50, - iconCls : 'icon_search', - handler : function() { -// initQueryValueAndReload(); - } - }] - }] + } + }), + listeners : { + select : function(combo, record, index){ + Ext.getCmp('sterilizerNameGroup').setValue(""); + } + }, + triggerAction : 'all', + forceSelection : false, + lazyInit : false, + editable : false, + hideTrigger : false, + typeAhead : false, + allowBlank : true, + name : "sterilizerName", + id : "sterilizerName", + anchor : '95%' + },'-',{ + text : '灭菌炉分组:' + },{ + xtype : 'combo', + fieldLabel : '灭菌炉分组', + valueField : 'sterilizerNameGroup', + displayField : 'sterilizerNameGroup', + listeners : { + select : function(combo, record, index){ + Ext.getCmp('sterilizerName').setValue(""); + var sname = record.data.sterilizerNameGroup; + } + }, + triggerAction : 'all', + forceSelection : false, + lazyInit : false, + editable : false, + hideTrigger : false, + typeAhead : false, + allowBlank : true, + name : "sterilizerNameGroup", + id : "sterilizerNameGroup", + anchor : '95%', + store : sterilizerNameGroupJsonStore + },'-',{ + text : '炉次:' + },{ + xtype : 'textfield', + id : 'frequency', + name : 'frequency', + regex: /^\d+$/, //正则表达式 这里假设只允许输入数字 如果输入的不是数字 就会出现下面定义的提示信息 + regexText:"只能够输入数字", //定义不符合正则表达式的提示信息 + anchor : '95%', + allowBlank : true + },{ + text : '查询', + minWidth : 50, + iconCls : 'icon_search', + handler : function() { + var requestStartTime = Ext.getCmp('requestStartTime'); + var requestEndTime = Ext.getCmp('requestEndTime'); + $Id("parm_s_sterilizerName").value = Ext.getCmp('sterilizerName').getValue(); + $Id("parm_s_frequency").value = Ext.getCmp('frequency').getValue(); + $Id("parm_s_ownGroup").value = Ext.getCmp('sterilizerNameGroup').getValue(); + if (requestStartTime.isValid() && requestEndTime.isValid()) { + $Id("parm_s_requestTimeQuantum").value = Ext.util.Format.date(requestStartTime.getValue(), 'Y-m-d H:i') + ';' +Ext.util.Format.date(requestEndTime.getValue(), 'Y-m-d H:i'); + grid.getStore().lastOptions.params['start'] = 0; + grid.dwrReload(); + } else { + showResult("请填写正确的时间格式!", null , sstsConfig.messagePauseTimeOnSterilizationRecordPage); + } + } }] }); grid = new Ext.ux.ForgonPageGrid({ id : 'tousseInstanceGrid1', + tbar : [], pageSize : 20, renderTo : 'gridDiv', defaultSortField : 'startDate', defaultSortDirection : 'DESC', autoExpandColumn : 'action', isCheckboxSelectionModel : true, rememberSelected : false, - isShowSearchField : false, + isShowSearchField : true, columns : columns, plugins : filters, frame : false, - border : false + border : false, + listeners : { + render : function(thisGrid) { + requestTbar.render(thisGrid.tbar); + } + } }, readerDetail, SterilizationRecordTableManager.findSterilizationRecordTableList, Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java =================================================================== diff -u -r27005 -r27019 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 27005) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 27019) @@ -207,7 +207,14 @@ if(StringUtils.isNotBlank(ownGroup)){ sql += " and po.sterilizer.ownGroup ='"+ownGroup+"'"; } - + String sterilizerName = sqlWhereParamMap.get("sterilizerName"); + if(StringUtils.isNotBlank(sterilizerName) && !"全部".equals(sterilizerName)){ + sql += " and po.sterilizer.name ='"+sterilizerName+"'"; + } + String frequency = sqlWhereParamMap.get("frequency"); + if(StringUtils.isNotBlank(frequency) && org.apache.commons.lang3.StringUtils.isNumeric(frequency)){ + sql += " and po.frequency ="+frequency+""; + } String renderGrid = gridManager.renderGrid(parameterMap, SterilizationRecord.class.getSimpleName(), sql, new String[] { "tousseInstanceList", "reviewedBaskets", Index: forgon-core/src/main/java/com/forgon/servertime/action/ServerTimeAction.java =================================================================== diff -u -r26924 -r27019 --- forgon-core/src/main/java/com/forgon/servertime/action/ServerTimeAction.java (.../ServerTimeAction.java) (revision 26924) +++ forgon-core/src/main/java/com/forgon/servertime/action/ServerTimeAction.java (.../ServerTimeAction.java) (revision 27019) @@ -102,6 +102,7 @@ String startOfBeforeYesterday = DateTools.startOfBeforeYesterday(dateFormat); String endOfTodayMorning = DateTools.endOfTodayMorning(dateFormat); String startOfTodayAfternoon = DateTools.startOfTodayAfternoon(dateFormat); + String firstDayOfMonth = DateTools.getFirstDayOfMonth(); JSONObject json = new JSONObject(); //今天 json.put("todayTime", startOfToday + ";" + endOfToday); @@ -119,6 +120,8 @@ json.put("todayMorningTodayTime", startOfToday + ";" + endOfTodayMorning); //今天下午 json.put("todayAfternoonTodayTime", startOfTodayAfternoon + ";" + endOfToday); + //本月 + json.put("thisMonthTime", firstDayOfMonth + ";" + endOfToday); JSONObject result = new JSONObject(); result.put("time", json); StrutsResponseUtils.output(result);