Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r32328 -r32337 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 32328) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 32337) @@ -7205,8 +7205,8 @@ + "td.ancestorID=tdancestor.id left join "+ InvoicePlan.class.getSimpleName() +" pd on pd.id=ti.proxyDisinfection_id where tdancestor.isTraceable='"+ Constants.STR_YES +"' and ti.status='"+ TousseInstance.STATUS_REVIEWED +"' and ti.comboTousseInstanceId is null " + "and ti.reviewBasket_id is null "+dateSql+" " + sterilingModeSql - + "and (pd.id is null and ti.orgunitcoding='"+orgUnitCode+"' or pd.id is not null and pd.handleDepartCoding='"+orgUnitCode+"') ) " - + ")t"; + + "and (pd.id is null and ti.orgunitcoding='"+orgUnitCode+"' or pd.id is not null and pd.handleDepartCoding='"+orgUnitCode+"') "+ + " and (ti.checkStatus is null or ti.checkStatus='"+ TousseInstance.STATUS_CHECKED +"') ) )t"; /*+ " union " Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r32235 -r32337 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 32235) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 32337) @@ -4240,6 +4240,8 @@ } } } + //验证代理灭菌单物品是否已核对(代理灭菌器械包未核对时,不允许灭菌;checkStatus为空或者为“已核对”,都可以灭菌) + boolean isProxDisinfectionChecked = !StringUtils.equals(tousseInstance.getCheckStatus(), TousseInstance.STATUS_UNCHECKED); //包实例是否为灭菌中且所属灭菌记录与当前灭菌记录是同一个 boolean isSterilingAndTheSameSterilizationRecord = false; //如果该包状态为灭菌中,且所关联的状态为灭菌中的灭菌记录的id与当前灭菌记录id也一致时,不进行提示,允许一键入炉 @@ -4257,7 +4259,7 @@ } } - if (isReviewed || isSterilingAndTheSameSterilizationRecord) { + if ((isReviewed && isProxDisinfectionChecked) || isSterilingAndTheSameSterilizationRecord) { boolean isOutBasket = tousseInstanceManager.isTousseInstanceOutOfBasket(tousseInstance.getId()); //没入灭菌篮筐 if (isOutBasket || tousseInstanceManager.isCountBarcode(barcode)) { @@ -4475,8 +4477,12 @@ } } } else { - jsonObj.put("success", -1); - jsonObj.put("failureCause", "无法添加,条码为" + barcode + "的器械包状态为【"+tousseInstance.getStatus()+"】"); + jsonObj.put("success", -1); + if(!isReviewed){ + jsonObj.put("failureCause", "无法添加,条码为" + barcode + "的器械包状态为【"+tousseInstance.getStatus()+"】"); + }else if(!isProxDisinfectionChecked){ + jsonObj.put("failureCause", tousseInstance.getTousseName() + tousseInstance.getBarcode() + "未进行扫描接收,请先打开代理灭菌单进行扫描!"); + } } } } else if (barcodeDevice != null