Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java =================================================================== diff -u -r13758 -r14030 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java (.../WashAndDisinfectRecordAction.java) (revision 13758) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java (.../WashAndDisinfectRecordAction.java) (revision 14030) @@ -1,12 +1,15 @@ package com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.action; import java.io.IOException; +import java.io.PrintWriter; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; +import java.util.Date; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; @@ -20,30 +23,39 @@ import net.sf.json.util.JSONUtils; import net.sf.json.util.PropertyFilter; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; +import org.hibernate.Query; import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.vo.LoginUserData; import com.forgon.disinfectsystem.basedata.becleanitem.service.BeCleanItemManager; +import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.rinser.Rinser; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.becleanitem.ClassifiedItem; import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; +import com.forgon.disinfectsystem.entity.packing.ReviewedBasket; +import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; import com.forgon.disinfectsystem.entity.washanddisinfectmanager.washanddisinfectrecord.WashAndDisinfectRecord; import com.forgon.disinfectsystem.entity.washanddisinfectmanager.washanddisinfectrecord.WashAndDisinfectRecordMaterial; import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; +import com.forgon.disinfectsystem.vo.TousseSimpleVO; import com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.service.WashAndDisinfectRecordManager; import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.json.JsonPropertyFilter; +import com.forgon.tools.util.ForgonDateUtils; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -600,7 +612,96 @@ e.printStackTrace(); } } + + public void getPendingWashAndDisinfectTousseAndBasket(){ + try { +// String status = StrutsParamUtils.getPraramValue("status", ""); + // 状态如果是清洗完成,不用加载 +// if (StringUtils.equals(status, +// SterilizationRecord.STERILIZATION_STATUS_END) +// || StringUtils.equals(status, +// SterilizationRecord.STERILIZATION_STATUS_FAILURE)) { +// return; +// } + + JSONArray jsonArray = new JSONArray(); + + // 获取未清洗的所有篮筐 + String sql = "select b from " + ClassifyBasket.class.getSimpleName()+ " b left join b.washAndDisinfectRecords wr where wr is null"; + List baskets = objectDao.findByHql(sql); +// String currentDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// Date startTime = sdf.parse(currentDate + " 00:00:00"); +// Date endTime = sdf.parse(currentDate + " 23:59:59"); + if( baskets != null && CollectionUtils.isNotEmpty(baskets)){ + for (ClassifyBasket basket : baskets) { +// List rrs = basket.getRecyclingRecords(); +// boolean isTodayRecyclingRecord = false; +// for( RecyclingRecord rr : rrs) +// { +// Date rTime = rr.getRecyclingTime(); +// if( rTime.getTime() >= startTime.getTime() && rTime.getTime() <= endTime.getTime()) +// { +// isTodayRecyclingRecord = true; +// } +// } +// // 不是今天的回收记录 不显示 +// if( isTodayRecyclingRecord == false) +// continue; +// + String containName = basket.getContainerName(); + Set items = basket.getClassfiedItems(); + + JSONObject basketObj = new JSONObject(); + basketObj.put("objName", basket.getContainerName()); + basketObj.put("objBarcode", basket.getContainerBarcode()); + basketObj.put("objAmount", items.size()); + basketObj.put("type", "BASKET"); + basketObj.put("uiProvider", "col"); + basketObj.put("cls", "master-task"); + basketObj.put("iconCls", "task-folder"); + + JSONArray tousseInBasketArray = new JSONArray(); + + for (ClassifiedItem item : items) { + JSONObject tousseInBasket = new JSONObject(); + tousseInBasket.put("objName", item.getName()); + tousseInBasket.put("objBarcode", ""); + tousseInBasket.put("objAmount", item.getAmount()); + tousseInBasket.put("type", "TOUSSE_IN"); + tousseInBasket.put("uiProvider", "col"); + tousseInBasket.put("leaf", true); + tousseInBasket.put("iconCls", "task"); + tousseInBasketArray.add(tousseInBasket); + } + basketObj.put("children", tousseInBasketArray); + jsonArray.add(basketObj); + } + } + + @SuppressWarnings("unchecked") + Iterator it = jsonArray.iterator(); + while (it.hasNext()) { + JSONObject jsonObject = it.next(); + if (jsonObject.containsKey("objAmount")) { + int amount = jsonObject.getInt("objAmount"); + if (amount == 0) { + it.remove(); + } + } + } + HttpServletResponse response = StrutsParamUtils.getResponse(); + response.setCharacterEncoding("UTF-8"); + PrintWriter out; + out = response.getWriter(); + out.print(jsonArray.toString()); + out.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + public void iniInfo() { String id = StrutsParamUtils.getPraramValue("id", ""); Index: ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/service/SupplyRoomControlManager.java =================================================================== diff -u -r12331 -r14030 --- ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/service/SupplyRoomControlManager.java (.../SupplyRoomControlManager.java) (revision 12331) +++ ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/service/SupplyRoomControlManager.java (.../SupplyRoomControlManager.java) (revision 14030) @@ -28,4 +28,12 @@ public Map findUnInvoicePlan(String departCoding,String currentPage, String pageSize, String tousseName, String tousseType); public void createOperateData(OutputStream ops,String goodNmae,String tousseType,String department,String startDate,String endDate); + /** + * 查待清洗篮筐列表 + * @param departCoding + * @param currentPage + * @param pageSize + * @return + */ + public String findPendingBasket(String departCoding, String currentPage,String pageSize); } Index: ssts-web/src/main/webapp/homepage/supplyRoomsUnfinishedWork.js =================================================================== diff -u -r12332 -r14030 --- ssts-web/src/main/webapp/homepage/supplyRoomsUnfinishedWork.js (.../supplyRoomsUnfinishedWork.js) (revision 12332) +++ ssts-web/src/main/webapp/homepage/supplyRoomsUnfinishedWork.js (.../supplyRoomsUnfinishedWork.js) (revision 14030) @@ -2,6 +2,7 @@ var grid; var applicationStore; var washStore; +var pendingBasketStore; var packingStore; var reviewStore; var sterilizationStore; @@ -58,6 +59,9 @@ applicationStore.baseParams['department'] = department; applicationStore.load({params:{start: 0, limit: 10}}); + pendingBasketStore.baseParams['department'] = department; + pendingBasketStore.load({params:{start: 0, limit: 10}}); + packingStore.baseParams['tousseName'] = goodNmae; packingStore.baseParams['tousseType'] = tousseType; packingStore.load({params:{start: 0, limit: 10}}); @@ -222,7 +226,13 @@ {header : "回收状态",width : 65,dataIndex : 'recyclingStatus'}, {header : "发货状态",width : 65,dataIndex : 'deliverStatus'} ]); - + // 待清洗篮筐信息 + var pendingBasketColumns = new Ext.grid.ColumnModel([ + {header : "篮筐条码",width : 200,dataIndex : 'containerBarcode'}, + {header : "名称",width : 120,dataIndex : 'containerName'}, + {header : "待清洗物品数量",width : 120,dataIndex : 'unWashAmount'} +// {header : "状态",width : 60,dataIndex : 'status'} + ]); // 装配记录信息 var packingColumns = new Ext.grid.ColumnModel([ {header : "器械包名称",width : 250,dataIndex : 'tousseDefinition.name'}, @@ -290,6 +300,29 @@ var newTitle = "待回收申请单列表"+"(待回收申请单总数量:"+totalCount+")"; Ext.getCmp('applicationGrid').setTitle(newTitle); }); + // 待清洗篮筐store + pendingBasketStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/supplyRoomControlAction!searchPendingBasket.do', + method : 'POST' + }), + reader: new micJsonReader({ + totalProperty : 'totalCount', + root : 'data' + },[ + {name: 'containerBarcode'}, + {name: 'containerName'}, + {name: 'unWashAmount'} +// {name: 'status'} + ]) + }); + + pendingBasketStore.on("load",function(thiz,records,options){ + var o = Ext.decode(pendingBasketStore.reader.responseText); + var totalTousseAount = o.totalPendgingBasketAount; + var newTitle = "待清洗篮筐列表"+"(待清洗篮筐总数量:" + totalTousseAount + ")"; + Ext.getCmp('pendingBasketGrid').setTitle(newTitle); + }); packingStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ @@ -399,6 +432,14 @@ emptyMsg: "没有记录可以显示" }); + var pendingBasketPageBbar = new Ext.PagingToolbar({ + pageSize: 10,//指出每页显示的记录数 + store :pendingBasketStore, + displayInfo: true, + displayMsg: '当前显示记录: {0} - {1} 共计: {2}', + emptyMsg: "没有记录可以显示" + }); + var packingPageBbar = new Ext.PagingToolbar({ pageSize: 10,//指出每页显示的记录数 store :packingStore, @@ -445,6 +486,23 @@ } } }); + var pendingBasketGrid = new Ext.grid.GridPanel({ + title:'待清洗篮筐列表', + anchor:'100% 100%', + frame : false, + autoScroll:true, + store : pendingBasketStore, + id : 'pendingBasketGrid', + cm : pendingBasketColumns, + bodyStyle: "overflow:auto;", + bbar:pendingBasketPageBbar, + listeners :{ + beforerender :function(thiz){ + var tempGrid = Ext.getCmp('reportFormID'); + thiz.setHeight(tempGrid.getInnerHeight()); + } + } + }); var packingGrid = new Ext.grid.GridPanel({ title:'待装配器械包列表', @@ -537,6 +595,13 @@ items:[{ columnWidth : 1, layout : 'form', + items : [pendingBasketGrid] + }] + },{ + layout : 'column', + items:[{ + columnWidth : 1, + layout : 'form', items : [packingGrid] }] },{ Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js =================================================================== diff -u -r13758 -r14030 --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js (.../washAndDisinfectForm.js) (revision 13758) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectForm.js (.../washAndDisinfectForm.js) (revision 14030) @@ -3,6 +3,8 @@ var washAndDisinfectRecordWin; var keyWin; var personInChargeAllowBlank = false; +var pendingWashAndDisinfectColumnTree; + var materialDefinitionStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ url : WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionDataForMaterial.do', @@ -81,9 +83,12 @@ //根据条码加载材料 -function loadMaterial() { - var barcode = top.Ext.getCmp('inputText').getValue(); - top.Ext.getCmp('inputText').setValue(""); +function loadMaterial(barcode) { + if(typeof(barcode) == 'undefined' || barcode == '') + { + barcode = top.Ext.getCmp('inputText').getValue(); + top.Ext.getCmp('inputText').setValue(""); + } var root = top.Ext.getCmp('basketTreePanel').root; var node = root.findChild('barcode', barcode); if (node) { @@ -432,6 +437,55 @@ // } // }] }); + + /** + * 待清洗物品列表 + */ + pendingWashAndDisinfectColumnTree = new top.Ext.tree.ColumnTree({ + rootVisible : false, + autoScroll : true, + containerScroll : false, + height : 200 , + frame : false, + bodyStyle : 'border:1px solid #afd7af', + columns : [{ + header : '条码', + width : 105, + dataIndex : 'objBarcode' + },{ + header : '数量', + width : 35, + dataIndex : 'objAmount' + } + ,{ + header : '载入', + width : 35, + dataIndex : 'type', + renderer : function(v,p,record){ + var str = "\"\""; + if (record.type == 'BASKET') { + return str; + } + return ''; + } + } + ,{ + header : '名称', + width : 150, + dataIndex : 'objName' + }], + loader : new top.Ext.tree.TreeLoader({ + url : WWWROOT + '/disinfectSystem/washAndDisinfect/washAndDisinfectRecordAction!getPendingWashAndDisinfectTousseAndBasket.do?', + uiProviders:{ + 'col': top.Ext.tree.ColumnNodeUI + } + }), + root: new top.Ext.tree.AsyncTreeNode({ + text:'待清洗物品列表' + }) + }); +// pendingWashAndDisinfectColumnTree.loader.load(pendingWashAndDisinfectColumnTree.root,function(){}); + formObj = new top.Ext.FormPanel({ id : 'washForm', frame : true, @@ -442,353 +496,375 @@ autoWidth : true, autoScroll : true, items : [{ - xtype : "fieldset", - title : '基础数据', - layout:'column', - autoHeight : true, - labelWidth : 95, + layout : 'column', items : [{ + columnWidth : 0.71, layout : 'column', items : [{ - xtype : 'hidden', - name : 'classifyBasketIds', - id : 'classifyBasketIds' - },{ - xtype : 'hidden', - name : 'classifyBasketInfo', - id : 'classifyBasketInfo' - },{ - xtype : 'hidden', - name : 'materialData', - id : 'materialData' - },{ - xtype : 'hidden', - name : 'id', - id : 'id' - },{ - xtype : 'hidden', - name : 'conCurrent', - id : 'conCurrent' - },{ - id : 'serialNum', - columnWidth : 0.5, - layout : 'form', - hidden:true, + xtype : "fieldset", + title : '基础数据', + layout:'column', + autoHeight : true, + labelWidth : 95, items : [{ - xtype : 'textfield', - fieldLabel : "流水号", - name : "serialNumber", - readOnly : true, - id : "serialNumber", - anchor : '99%', - cls:'fieldReadOnlyNoRemove' - }] - },{ - columnWidth : 0.5, - layout : 'form', - items : [{ - xtype : 'textfield', - fieldLabel : "操作员", - name : "operator", - readOnly : true, - id : "operator", - anchor : '99%', - cls:'fieldReadOnlyNoRemove' - }] - }, { - columnWidth : 0.5, - layout : 'form', - items : [{ - xtype : 'textfield', - fieldLabel : "责任人", - name : "personInCharge", - readOnly : true, - id : "personInCharge", - anchor : '99%', - cls:'fieldReadOnlyNoRemove' - }] - },{ - xtype : 'hidden', - name : 'personInChargeCode', - id : 'personInChargeCode' - }, { - columnWidth : .5, - layout : 'form', - hidden : true, - items : [{ - xtype : 'combo', - fieldLabel : '清洗方式', - valueField : 'typeName', - displayField : 'typeName', - id : 'washingMode', - name : 'washingMode', - mode : 'local', - triggerAction : 'all', - forceSelection : true, - editable : false, - store : washingModeStore, - anchor : '99%', - listeners : { - select : function(combo,record,index ){ - if(combo.getValue()==washMachine){ - setFieldsHide(false); - }else{ - setFieldsHide(true); + layout : 'column', + items : [{ + xtype : 'hidden', + name : 'classifyBasketIds', + id : 'classifyBasketIds' + },{ + xtype : 'hidden', + name : 'classifyBasketInfo', + id : 'classifyBasketInfo' + },{ + xtype : 'hidden', + name : 'materialData', + id : 'materialData' + },{ + xtype : 'hidden', + name : 'id', + id : 'id' + },{ + xtype : 'hidden', + name : 'conCurrent', + id : 'conCurrent' + },{ + id : 'serialNum', + columnWidth : 0.5, + layout : 'form', + hidden:true, + items : [{ + xtype : 'textfield', + fieldLabel : "流水号", + name : "serialNumber", + readOnly : true, + id : "serialNumber", + anchor : '99%', + cls:'fieldReadOnlyNoRemove' + }] + },{ + columnWidth : 0.5, + layout : 'form', + items : [{ + xtype : 'textfield', + fieldLabel : "操作员", + name : "operator", + readOnly : true, + id : "operator", + anchor : '99%', + cls:'fieldReadOnlyNoRemove' + }] + }, { + columnWidth : 0.5, + layout : 'form', + items : [{ + xtype : 'textfield', + fieldLabel : "责任人", + name : "personInCharge", + readOnly : true, + id : "personInCharge", + anchor : '99%', + cls:'fieldReadOnlyNoRemove' + }] + },{ + xtype : 'hidden', + name : 'personInChargeCode', + id : 'personInChargeCode' + }, { + columnWidth : .5, + layout : 'form', + hidden : true, + items : [{ + xtype : 'combo', + fieldLabel : '清洗方式', + valueField : 'typeName', + displayField : 'typeName', + id : 'washingMode', + name : 'washingMode', + mode : 'local', + triggerAction : 'all', + forceSelection : true, + editable : false, + store : washingModeStore, + anchor : '99%', + listeners : { + select : function(combo,record,index ){ + if(combo.getValue()==washMachine){ + setFieldsHide(false); + }else{ + setFieldsHide(true); + } + } } - } - } - }] - },{ - id : "inputTextField", - columnWidth : .5, - layout : 'form', - items : [{ - xtype : 'textfield', - fieldLabel : "扫描条码", - allowBlank : true, - blankText : '请输入!', - name : "inputText", - id : "inputText", - anchor : '99%', - listeners : { - specialkey : function(field, ee) { - if (ee.getKey() == Ext.EventObject.ENTER) { - var barcode = top.Ext.getCmp('inputText').getValue(); - if(barcode!=null && barcode != ""){ - BarcodeTableManager.getBarcodeTypeByBarcode(barcode,function(jsonStr){ - var result = Ext.util.JSON.decode(jsonStr); - if(result !=null && result !=""){ - if(result.returnType == 'container'){ - loadMaterial(); - }else if(result.returnType == 'rinser'){ - loadWashMachineByBarcode(barcode); - }else if(result.returnType == 'cleanmethod'){ - loadWashProgramByBarcode(barcode); - }else if(result.returnType == 'user'){ - loadUserByBarcode(barcode); - }else{ - showResult('找不到该条码所对应的信息!'); - } + }] + },{ + id : "inputTextField", + columnWidth : .5, + layout : 'form', + items : [{ + xtype : 'textfield', + fieldLabel : "扫描条码", + allowBlank : true, + blankText : '请输入!', + name : "inputText", + id : "inputText", + anchor : '99%', + listeners : { + specialkey : function(field, ee) { + if (ee.getKey() == Ext.EventObject.ENTER) { + var barcode = top.Ext.getCmp('inputText').getValue(); + if(barcode!=null && barcode != ""){ + BarcodeTableManager.getBarcodeTypeByBarcode(barcode,function(jsonStr){ + var result = Ext.util.JSON.decode(jsonStr); + if(result !=null && result !=""){ + if(result.returnType == 'container'){ + loadMaterial(barcode); + }else if(result.returnType == 'rinser'){ + loadWashMachineByBarcode(barcode); + }else if(result.returnType == 'cleanmethod'){ + loadWashProgramByBarcode(barcode); + }else if(result.returnType == 'user'){ + loadUserByBarcode(barcode); + }else{ + showResult('找不到该条码所对应的信息!'); + } + }else{ + showResult('找不到该条码所对应的信息!'); + } + top.Ext.getCmp('inputText').setValue(''); + }); }else{ - showResult('找不到该条码所对应的信息!'); + showResult('请扫描条码!'); } - top.Ext.getCmp('inputText').setValue(''); - }); - }else{ - showResult('请扫描条码!'); + + + } + } - - } - - } - } - }] - },{ - id : 'disinfectIdentificationField', - columnWidth : .5, - layout : 'form', - items : [{ - xtype : 'combo', - fieldLabel : '清洗机名称', - valueField : 'rinserName', - displayField : 'rinserName', - id : 'disinfectIdentification', - name : 'disinfectIdentification', - mode : 'remote', - triggerAction : 'all', - forceSelection : true, - editable : false, - allowBlank : false, - store : rinserStore, - listeners : { - select : function(thiz,record,index){ - /*var index = thiz.value.indexOf('手工'); - if(index==-1){ - index = thiz.value.indexOf('人工'); - } - if(index != -1){ - setFieldsHide(true); - top.Ext.getCmp('disinfectProgram').setValue(''); - //默认结束时间为20分钟 - setEndDateAddCleanMinutes(20); - }else{*/ - top.Ext.getCmp('conCurrent').setValue(record.data.conCurrent); - setFieldsHide(false); - washMachineReloadData(washingMachineStore,record.data.cleanMethodDataList); - DWREngine.setAsync(false); - var value = top.Ext.getCmp('disinfectIdentification').getValue(); - WashAndDisinfectRecordTableManager.getNextCycleCounter(value,function(result){ - if(result == 0) - { - top.Ext.getCmp('cycleCounter').setValue(1); - }else - { - top.Ext.getCmp('cycleCounter').setValue(result); - } - }); - // 判断要不要显示循环次数输入框 - WashAndDisinfectRecordTableManager.isDefineDeviceInterface(value,function(result){ - if( result == false) - { - top.Ext.getCmp('cycleCounterId').hide(); - }else{ - top.Ext.getCmp('cycleCounterId').show(); + }] + },{ + id : 'disinfectIdentificationField', + columnWidth : .5, + layout : 'form', + items : [{ + xtype : 'combo', + fieldLabel : '清洗机名称', + valueField : 'rinserName', + displayField : 'rinserName', + id : 'disinfectIdentification', + name : 'disinfectIdentification', + mode : 'remote', + triggerAction : 'all', + forceSelection : true, + editable : false, + allowBlank : false, + store : rinserStore, + listeners : { + select : function(thiz,record,index){ + /*var index = thiz.value.indexOf('手工'); + if(index==-1){ + index = thiz.value.indexOf('人工'); } - }); - DWREngine.setAsync(true); -// } - } - }, - anchor : '99%' - }] - }, -// { -// id : 'programInputTextField', -// columnWidth : .5, -// layout : 'form', -// items : [{ -// xtype : 'textfield', -// fieldLabel : "清洗程序条码", -// allowBlank : true, -// blankText : '请输入!', -// name : "programInputText", -// id : "programInputText", -// anchor : '99%', -// listeners : { -// specialkey : function(field, ee) { -// if (ee.getKey() == Ext.EventObject.ENTER) { -// var barcode = top.Ext.getCmp('programInputText').getValue(); -// var setComBoVal = ''; -// var cleanMinutes = 0; -// if(barcode!=''){ -// var count = washingMachineStore.getCount(); -// for(var i=0;i 0){ +// top.Ext.getCmp('cleanParameter').setValue(result); +// } +// }); // } -// }else{ -// //设置清洗程序 -// top.Ext.getCmp('disinfectProgram').setValue(setComBoVal); -// top.Ext.getCmp('barcode').focus(); // } -// top.Ext.getCmp('programInputText').setValue(''); -// -// //设置结束时间cleanMinutes -// setEndDateAddCleanMinutes(cleanMinutes); -// -// var value = top.Ext.getCmp('disinfectProgram').getRawValue(); -// WashAndDisinfectRecordTableManager.getCleanParameter(value,function(result){ -// if(result != null && result.length > 0){ -// top.Ext.getCmp('cleanParameter').setValue(result); -// } -// }); // } + // // } -// } -// -// } -// }] -// }, - { - columnWidth : .5, - layout : 'form', - items : [{ - xtype : 'datefieldWithMin', - fieldLabel : '开始时间', - id : 'startDateStr', - name : 'startDateStr', - editable: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', - format:'Y-m-d H:i:s', - allowBlank : false, - anchor : '99%' - }] - } ,{ - id : 'disinfectProgramField', - columnWidth : .5, - layout : 'form', - items : [{ - width : 150, - xtype : 'combo', - fieldLabel : '清洗程序', - valueField : 'barcode', - displayField : 'cleanMethod', - id : 'disinfectProgram', - name : 'disinfectProgram', - mode : 'local', - triggerAction : 'all', - forceSelection : true, - editable : false, - allowBlank : false, - store : washingMachineStore, - listeners : { - select : function (thiz,record,index){ - setEndDateAddCleanMinutes(record.data.cleanMinutes); - //加载清洗参数 - var value = top.Ext.getCmp('disinfectProgram').getRawValue(); - WashAndDisinfectRecordTableManager.getCleanParameter(value,function(result){ - if(result != null && result.length > 0){ - top.Ext.getCmp('cleanParameter').setValue(result); +// }] +// }, + { + columnWidth : .5, + layout : 'form', + items : [{ + xtype : 'datefieldWithMin', + fieldLabel : '开始时间', + id : 'startDateStr', + name : 'startDateStr', + editable: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', + format:'Y-m-d H:i:s', + allowBlank : false, + anchor : '99%' + }] + } ,{ + id : 'disinfectProgramField', + columnWidth : .5, + layout : 'form', + items : [{ + width : 150, + xtype : 'combo', + fieldLabel : '清洗程序', + valueField : 'barcode', + displayField : 'cleanMethod', + id : 'disinfectProgram', + name : 'disinfectProgram', + mode : 'local', + triggerAction : 'all', + forceSelection : true, + editable : false, + allowBlank : false, + store : washingMachineStore, + listeners : { + select : function (thiz,record,index){ + setEndDateAddCleanMinutes(record.data.cleanMinutes); + //加载清洗参数 + var value = top.Ext.getCmp('disinfectProgram').getRawValue(); + WashAndDisinfectRecordTableManager.getCleanParameter(value,function(result){ + if(result != null && result.length > 0){ + top.Ext.getCmp('cleanParameter').setValue(result); + } + }); + } - }); - - } - }, - anchor : '99%' + }, + anchor : '99%' + }] + }, { + columnWidth : .5, + layout : 'form', + items : [{ + xtype : 'datefieldWithMin', + fieldLabel : '结束时间', + id : 'endDateStr', + name : 'endDateStr', + editable: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', + format:'Y-m-d H:i:s', + allowBlank : false, + anchor : '99%' + }] + },{ + id : "cycleCounterId", + columnWidth : .33, + layout : 'form', + cls:'edit-5char-labelwidth', + items : [{ + xtype : 'textfield', + fieldLabel : "循环次数", + name : "cycleCounter", + id : "cycleCounter", + allowBlank : false, + readOnly : false, + anchor : '100%', + cls:'edit-5char-labelwidth' + }] + },{ + columnWidth : 1, + layout : 'form', + items : [{ + xtype : 'textarea', + fieldLabel : "清洗程序参数", + name : "cleanParameter", + id : "cleanParameter", + readOnly:true, + anchor : '99%' + }] + }] }] - }, { - columnWidth : .5, + }] + },{ + columnWidth : 0.29, +// bodyStyle : 'margin-left:2px;margin-right:0px', + layout : 'fit', + items : [{ layout : 'form', items : [{ - xtype : 'datefieldWithMin', - fieldLabel : '结束时间', - id : 'endDateStr', - name : 'endDateStr', - editable: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', - format:'Y-m-d H:i:s', - allowBlank : false, - anchor : '99%' + xtype : "fieldset", + title : "待清洗物品", + autoWidth : true,//405, + height : 220, + items : [pendingWashAndDisinfectColumnTree] }] - },{ - id : "cycleCounterId", - columnWidth : .33, - layout : 'form', - cls:'edit-5char-labelwidth', - items : [{ - xtype : 'textfield', - fieldLabel : "循环次数", - name : "cycleCounter", - id : "cycleCounter", - allowBlank : false, - readOnly : false, - anchor : '100%', - cls:'edit-5char-labelwidth' - }] - },{ - columnWidth : 1, - layout : 'form', - items : [{ - xtype : 'textarea', - fieldLabel : "清洗程序参数", - name : "cleanParameter", - id : "cleanParameter", - readOnly:true, - anchor : '99%' - }] }] + }] },{ xtype : "fieldset", @@ -1003,8 +1079,10 @@ }else{ washingMachineStore.load(); } - } +function addPendingWashAndDisinfectBasketToRecord(barcode){ + loadMaterial(barcode); +} function setEndDateAddCleanMinutes(cleanMinutes){ //设置结束时间cleanMinutes Index: ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/action/SupplyRoomControlAction.java =================================================================== diff -u -r12331 -r14030 --- ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/action/SupplyRoomControlAction.java (.../SupplyRoomControlAction.java) (revision 12331) +++ ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/action/SupplyRoomControlAction.java (.../SupplyRoomControlAction.java) (revision 14030) @@ -243,6 +243,35 @@ outPrintJson(packData); } + /** + * 查找待处理篮筐列表 + */ + public void searchPendingBasket(){ + + String tousseName = StrutsParamUtils.getPraramValue("tousseName", ""); + String tousseType = StrutsParamUtils.getPraramValue("tousseType", ""); + String department = StrutsParamUtils.getPraramValue("department", ""); + String limit = StrutsParamUtils.getPraramValue("limit", ""); + String start = StrutsParamUtils.getPraramValue("start", ""); + + String packData = supplyRoomControlManager.findPendingBasket(department, start, limit); + +// String packData = ""; +// try { +// packData = JSONUtil.toJSONStringEx(map,true,new String[] { "fieldHandler", +// "recyclingRecords", "materialInstances", "image", +// "idCardDefinitions", "images", +// "diposableGoodsItems", "toussePackingTeachingImage", +// "workLoadStatisticalMethod", "isBigPackage", +// "barcodePaperType", "isUploadImage", "packageSize", +// "spelling", "wbCode", "proxyDisinfectionPrice" }); +// +// } catch (Exception e) { +// e.printStackTrace(); +// } + + outPrintJson(packData); + } public void searchUnReview(){