Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r26094 -r26120 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 26094) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 26120) @@ -9878,10 +9878,12 @@ Map map = new HashMap(); + // TODO:今后要去掉此判断,即使没启用生物监测检查的配置,对于生物监测结果为不合格的包, + // 要强制提示不能发货 if (!biologicalMonitoringEnable && !enableBiologicalMonitoringOfAllTousses){ return map; - } - + } + if (StringUtils.isNotBlank(tousseBarcodes)) { String[] tousseBarcodeArray = tousseBarcodes.split(";"); @@ -9897,20 +9899,28 @@ SterilizationRecord.BIOLOGICALMONITORING_STATUS_END + "','" + SterilizationRecord.BIOLOGICALMONITORING_STATUS_CHECK + "')"; + String biologyResultFailure = "sr.biologyResult = '" + + SterilizationRecord.MONITOR_RESULT_UNQUALIFIED + "'"; + // 既检查包含植入物的包的灭菌记录的情况,也检查做了生物监测的灭菌记录的所有的包 if (biologicalMonitoringEnable && enableBiologicalMonitoringOfAllTousses){ filterSql = "(" + implantFilter + " or " +allToussesFilter + ")"; } // 只有biologicalMonitoringEnable为true,只检查包含植入物的包的灭菌记录的情况 else if (biologicalMonitoringEnable){ - filterSql = implantFilter; + filterSql = "(" + implantFilter + " or " +biologyResultFailure + ")";; } // 只有enableBiologicalMonitoringOfAllTousses为true,只检查做了生物监测的灭菌记录的所有的包 else if (enableBiologicalMonitoringOfAllTousses){ filterSql = allToussesFilter; } + // 如果biologicalMonitoringEnable和enableBiologicalMonitoringOfAllTousses均为false,或者均没有配置, + // 则只检查包所在的灭菌记录是否生物监测结果为失败 + else { + filterSql = biologyResultFailure; + } String sql = "SELECT t.tousseName tousseName," + "bd.barcode barcode," @@ -9925,7 +9935,6 @@ + "inner join Sterilizer s on s.id=sr.sterilizer_id " + "WHERE " + filterSql + barcodeFilter; - ResultSet result = objectDao.executeSql(sql); @@ -10043,6 +10052,8 @@ boolean enableBiologicalMonitoringOfAllTousses = CssdUtils.getSystemSetConfigByNameBool("enableBiologicalMonitoringOfAllTousses", false); // 如果没启用生物监测提醒,则不进行检查,直接返回 + // TODO:今后要去掉此判断,即使没启用生物监测检查的配置,对于生物监测结果为不合格的包, + // 要强制提示不能发货 if (!biologicalMonitoringEnable && !enableBiologicalMonitoringOfAllTousses){ return; } @@ -10094,12 +10105,12 @@ .getAsString(); // 对应灭菌炉配置的灭菌与生物监测间隔时间 // 紧急发货提示信息 - String urgentMsg = "[" + tousseName + String urgentMsg = barcode + "[" + tousseName + "]正在做生物监测,需要紧急发货吗?"; // 不能发货的提示信息 - String errorMsg = "[" + tousseName + "]生物监测结果为不合格,不能发货"; + String errorMsg = barcode + "[" + tousseName + "]生物监测结果为不合格,不能发货"; // 没有生物监测结果的提示信息 - String noResultsMsg = "[" + tousseName + String noResultsMsg = barcode + "[" + tousseName + "]生物监测结果为无,确定要发货吗?"; long nowTime = System.currentTimeMillis(); @@ -10110,8 +10121,6 @@ if (SterilizationRecord.MONITOR_RESULT_NO .equals(biologyResult)) { - - if (StringUtils .isNotBlank(biologicalMonitoringEndDate)) { // 填了生物监测的结束时间,这种情况就相当于,进行中 try {