Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java =================================================================== diff -u -r33230 -r33232 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 33230) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 33232) @@ -890,6 +890,11 @@ boolean receiveTousseNotCheckSterilizationMode = false; ProxyDisinfection proxyDisinfection = this.get(proxyDisinfectionId); + // 代理灭菌单是否待接收 + boolean isAwaitReceive = false; + if(proxyDisinfection != null){ + isAwaitReceive = !proxyDisinfection.hasReceived(); + } if (StringUtils.isNotBlank(barcode)) { BarcodeDevice barcodeDevice = barcodeManager @@ -905,7 +910,8 @@ } if(proxyDisinfection != null - && StringUtils.equals(proxyDisinfection.getHandleDepartCoding(), AcegiHelper.getCurrentOrgUnitCode())){ + && StringUtils.equals(proxyDisinfection.getHandleDepartCoding(), AcegiHelper.getCurrentOrgUnitCode()) + && isAwaitReceive){ if(isProxyed){ if(tousseInstance.getProxyDisinfection_id().equals(Long.valueOf(proxyDisinfectionId))){ // 核对器械包实例GDSZYY-102(一级供应室用户登录,打开待接收的代理灭菌,扫描了单上已经存在的物品时,就是审核物品) @@ -952,6 +958,11 @@ // 验证器械包状态(已装配或已审核) message = "只能录入已装配或者已审核的器械包"; throw new SystemException(message); + }else if(proxyDisinfection != null && StringUtils.equals(proxyDisinfection.getIsConvertPackingRecord(), Constants.STR_YES) + && proxyDisinfection.hasReceived()){ + // 【接收状态】为【已接收】的单据不能再加物品进去,否则在扫描物品条码时提示:“单据里的物品已经全部接收,不能再增加物品”。GDSZYY-131 + message = "单据里的物品已经全部接收,不能再增加物品"; + throw new SystemException(message); }else{ if(isProxyed){ message = "该器械包已经申请代理灭菌,不能重复申请。"; @@ -1073,6 +1084,12 @@ // 验证器械包状态(已装配或已审核) String message = "只能录入已装配或者已审核的器械包"; throw new SystemException(message); + }else if(proxyDisinfection != null && StringUtils.equals(proxyDisinfection.getIsConvertPackingRecord(), Constants.STR_YES) + && proxyDisinfection.hasReceived() + && StringUtils.equals(proxyDisinfection.getDepartCoding(), tousseInstance.getOrgUnitCoding())){ + //【接收状态】为【已接收】的单据不能再加物品进去,否则在扫描物品条码时提示:“单据里的物品已经全部接收,不能再增加物品”。GDSZYY-131 + String message = "单据里的物品已经全部接收,不能再增加物品"; + throw new SystemException(message); }else if(proxyDisinfection != null && tousseInstance.getProxyDisinfection_id() != null && !tousseInstance.getProxyDisinfection_id().equals(proxyDisinfection.getId())){ String message = "该器械包已经申请代理灭菌,不能重复申请。";