Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r33224 -r33233 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 33224) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 33233) @@ -3787,18 +3787,21 @@ if(DatabaseUtil.isPoIdValid(proxyDisinfectionId)){ String currentOrgUnitCode = AcegiHelper.getCurrentOrgUnitCode(); ProxyDisinfection proxyDisinfection = proxyDisinfectionManager.get(proxyDisinfectionId); - if(proxyDisinfection != null && (StringUtils.equals(proxyDisinfection.getDeliverStatus(), InvoicePlan.RECYCLINGSTATUS_AWAITRECEIVE) - || StringUtils.equals(proxyDisinfection.getDeliverStatus(), InvoicePlan.RECYCLINGSTATUS_PARTAWAITRECEIVE)) - && StringUtils.equals(proxyDisinfection.getHandleDepartCoding(), currentOrgUnitCode)){ - proxyDisinfectionManager.canApplicantTousseInstance(tousseInstance, currentOrgUnitCode, proxyDisinfection); - /*if(!DatabaseUtil.isPoIdValid(proxyDisinfectionIdOfTi) || proxyDisinfectionIdOfTi.longValue() != proxyDisinfectionId){ + if(proxyDisinfection != null&& StringUtils.equals(proxyDisinfection.getHandleDepartCoding(), currentOrgUnitCode)){ + if(StringUtils.equals(proxyDisinfection.getReceiveStatus(), InvoicePlan.RECYCLINGSTATUS_AWAITRECEIVE) + || StringUtils.equals(proxyDisinfection.getReceiveStatus(), InvoicePlan.RECYCLINGSTATUS_PARTAWAITRECEIVE)){ + proxyDisinfectionManager.canApplicantTousseInstance(tousseInstance, currentOrgUnitCode, proxyDisinfection); + /*if(!DatabaseUtil.isPoIdValid(proxyDisinfectionIdOfTi) || proxyDisinfectionIdOfTi.longValue() != proxyDisinfectionId){ throw new SystemException(String.format("%s %s未生成代理灭菌单,请联系%s(来源科室)!", tousseInstance.getBarcode(),tousseInstance.getTousseName(),tousseInstance.getDepart())); }*/ + }else if(StringUtils.equals(proxyDisinfection.getReceiveStatus(), InvoicePlan.RECYCLINGSTATUS_AWAITRECEIVED)){ + throw new SystemException("单据里的物品已经全部接收,不能再增加物品"); + } } //如果该代理灭菌单的处理与当前登录用户所属科室不一致时,进行提示 if(!StringUtils.equals(currentOrgUnitCode, proxyDisinfection.getHandleDepartCoding())){ - throw new SystemException("该器械包已经申请代理灭菌,不能重复申请。"); + throw new SystemException("该器械包已经申请代理灭菌,不能重复申请"); } }