Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js =================================================================== diff -u -r15329 -r15451 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js (.../supplyRoomTypeForm.js) (revision 15329) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js (.../supplyRoomTypeForm.js) (revision 15451) @@ -1201,6 +1201,28 @@ triggerAction : 'all', anchor : '100%' }] + },{ + layout:'form', + labelWidth : 180, + columnWidth: .25, + items:[{ + xtype : 'combo', + fieldLabel : '是否清洗时间结束后装配', + id : 'isPackingAfterWashTimeEnd', + name : 'isPackingAfterWashTimeEnd', + valueField : 'value', + displayField : 'value', + mode : 'local', + anchor : '100%', + editable : false, + store : new Ext.data.SimpleStore( { + fields : [ 'value'], + data : [['是'],['否']] + }), + forceSelection : true, + allowBlank : false, + triggerAction : 'all' + }] }] })] },{ @@ -1751,6 +1773,12 @@ }else{ Ext.getCmp('isSecondSupplyRoomNeedRecycle').setValue('否'); } + + if(supplyRoomConfig.isPackingAfterWashTimeEnd){ + Ext.getCmp('isPackingAfterWashTimeEnd').setValue('是'); + }else{ + Ext.getCmp('isPackingAfterWashTimeEnd').setValue('否'); + } //二级供应室是否自动发货 if(supplyRoomConfig.isSecondSupplyRoomAutoInvoice != '否'){ Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java =================================================================== diff -u -r15198 -r15451 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java (.../SupplyRoomConfig.java) (revision 15198) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/supplyroomconfig/SupplyRoomConfig.java (.../SupplyRoomConfig.java) (revision 15451) @@ -145,6 +145,8 @@ private Boolean isDgConvertApplication = false;//使用记录登记的一次性物品是否转换申请单 private Boolean isTousseDgMergeConvert = false;//是否器械包一次性物品合并转换申请单 + private Boolean isPackingAfterWashTimeEnd = true;//是否清洗时间结束后装配 + @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long getId() { @@ -554,5 +556,13 @@ public void setForeignTousseNeedReview(String foreignTousseNeedReview) { this.foreignTousseNeedReview = foreignTousseNeedReview; } - + + public Boolean getIsPackingAfterWashTimeEnd() { + return isPackingAfterWashTimeEnd; + } + + public void setIsPackingAfterWashTimeEnd(Boolean isPackingAfterWashTimeEnd) { + this.isPackingAfterWashTimeEnd = isPackingAfterWashTimeEnd; + } + } Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r15347 -r15451 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 15347) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 15451) @@ -1220,10 +1220,11 @@ throw new RuntimeException("任务组不能为空"); } + SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getSystemParamsObj(); + //普通器械包、消毒物品及敷料包的装配任务查询 - List taskList = findPackingTaskFromCssdHandleToussesConfig(taskGroup,basketBarcode); + List taskList = findPackingTaskFromCssdHandleToussesConfig(taskGroup,basketBarcode,supplyRoomConfig); - SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getSystemParamsObj(); if(supplyRoomConfig != null){ if(StringUtils.equals(taskGroup, supplyRoomConfig.getDefalutTaskGroup())){ //外来器械包的装配任务查询 @@ -1530,7 +1531,7 @@ * @param basketBarcode * @return 同时返回PackingTask和TousseDefintion两个实体类,避免多次查询 */ - private List findPackingTaskFromCssdHandleToussesConfig(String taskGroup,String basketBarcode) { + private List findPackingTaskFromCssdHandleToussesConfig(String taskGroup,String basketBarcode,SupplyRoomConfig config) { String orgCode = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); String sql = "select po.id as taskId,recyclingBasketName,basketBarcode,department,status,washTime,startTime,unPackAmount,taskType," + "td.id as tousseDefinitionId,td.name,td.isDisableIDCard,td.tousseType,td.packagetype,td.sterilingMethod,td.isTraceable," @@ -1549,10 +1550,16 @@ throw new RuntimeException(String.format("请扫描清洗完成的篮筐,该篮筐状态为%s!",status)); } //验证篮筐清洗完成时间是否清洗完成 - ClassifyBasket classifyBasket = beCleanItemManager.getLatestWashedBasketByBarcode(basketBarcode); - if(classifyBasket != null && classifyBasket.getWashEndTime() != null){ - if(classifyBasket.getWashEndTime().after(new Date())){ - throw new RuntimeException("该篮筐清洗未结束,请清洗结束后再扫描!"); + if(config != null){ + //清洗时间结束后再装配 + Boolean isPackingAfterWashTimeEnd = config.getIsPackingAfterWashTimeEnd(); + if(isPackingAfterWashTimeEnd == null || isPackingAfterWashTimeEnd){ + ClassifyBasket classifyBasket = beCleanItemManager.getLatestWashedBasketByBarcode(basketBarcode); + if(classifyBasket != null && classifyBasket.getWashEndTime() != null){ + if(classifyBasket.getWashEndTime().after(new Date())){ + throw new RuntimeException("该篮筐清洗未结束,请清洗结束后再扫描!"); + } + } } } sql += " and po.basketBarcode like '%" + basketBarcode + "%' "; Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java =================================================================== diff -u -r15184 -r15451 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 15184) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 15451) @@ -656,6 +656,11 @@ boolean autoMergeApplication = false; String secondWashCountWorkloadString = rq.getParameter("secondWashCountWorkload"); String warningTousseString = rq.getParameter("warningTousseWhetherDelivery"); + String isPackingAfterWashTimeEndString = rq.getParameter("isPackingAfterWashTimeEnd"); + boolean isPackingAfterWashTimeEnd = true; + if("否".equals(isPackingAfterWashTimeEndString)){ + isPackingAfterWashTimeEnd = false; + } if("是".equals(autoMergeApplicationString)){ autoMergeApplication = true; } @@ -685,6 +690,7 @@ if("是".equals(isTousseDgMergeConvertStr)){ isTousseDgMergeConvert = true; } + supplyRoomConfig.setIsPackingAfterWashTimeEnd(isPackingAfterWashTimeEnd); supplyRoomConfig.setIsDgConvertApplication(isDgConvertApplication); supplyRoomConfig.setIsTousseDgMergeConvert(isTousseDgMergeConvert); supplyRoomConfig.setAutoMergeApplication(autoMergeApplication);