Index: ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java =================================================================== diff -u -r29556 -r29561 --- ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 29556) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 29561) @@ -47,6 +47,7 @@ import com.forgon.disinfectsystem.jasperreports.service.dataindex.DataIndex; import com.forgon.disinfectsystem.sterilizationmanager.sterilizationrecord.service.SterilizationRecordManager; import com.forgon.keyvalue.service.KeyValueManager; +import com.forgon.log.model.Log; import com.forgon.log.service.LogManager; import com.forgon.security.model.UserAttribute; import com.forgon.security.service.OperationManager; @@ -573,16 +574,15 @@ if(CollectionUtils.isEmpty(sterilizerList)){ return null; } - String message = "请做生物监测!"; List systemWarningItemVOs = new ArrayList(); for (Sterilizer sterilizer : sterilizerList) { - if(sterilizationRecordManager.sterilizerBioMonitoringIntervalReminder(sterilizer)){ + String message = sterilizationRecordManager.sterilizerBioMonitoringIntervalReminder(sterilizer, Log.MODEL_SYSTEMWARNING, false); + if(StringUtils.isNotBlank(message)){ //提示信息为:"【1号灭菌器】已超过6天未做生物监测,请做生物监测!" - String warningItemType = "【" + sterilizer.getName() + "】已超过" + sterilizer.getBioMonitoringInterval() + "天未做生物监测," + message; SystemWarningItemVO waiteSignWarningVO = new SystemWarningItemVO(); - waiteSignWarningVO.setRemark(warningItemType); + waiteSignWarningVO.setRemark(message); waiteSignWarningVO.setWarningAmount(1); - waiteSignWarningVO.setWarningItemType(warningItemType); + waiteSignWarningVO.setWarningItemType(message); systemWarningItemVOs.add(waiteSignWarningVO); } } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java =================================================================== diff -u -r29544 -r29561 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 29544) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 29561) @@ -487,10 +487,12 @@ /** * 灭菌炉提示做生物监测的间隔时间(DGSDBZXYY-61) - * @param sterilizer - * @return true:需要提示 + * @param sterilizer 灭菌炉 + * @param model 模块名称(灭菌模块、系统告警) + * @param isSaveSterilizeRecord 是否保存灭菌记录时调用 + * @return 灭菌炉提示做生物监测 */ - public boolean sterilizerBioMonitoringIntervalReminder(Sterilizer sterilizer); + public String sterilizerBioMonitoringIntervalReminder(Sterilizer sterilizer, String model, boolean isSaveSterilizeRecord); /** * 查找灭菌记录的是否包含植入物 Index: forgon-core/src/main/java/com/forgon/log/model/Log.java =================================================================== diff -u -r27697 -r29561 --- forgon-core/src/main/java/com/forgon/log/model/Log.java (.../Log.java) (revision 27697) +++ forgon-core/src/main/java/com/forgon/log/model/Log.java (.../Log.java) (revision 29561) @@ -74,6 +74,7 @@ public static final String MODEL_REPORT = "报表"; public static final String MODEL_QUALITYMONITORING = "质量监测"; public static final String MODEL_ROUTINEMONITORING = "定期监测"; + public static final String MODEL_SYSTEMWARNING = "系统告警"; public static final String TYPE_ADD = "A";//添加 public static final String TYPE_UPDATE = "U";//修改 Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r29509 -r29561 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 29509) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 29561) @@ -2097,14 +2097,7 @@ List sterilizers = objectDao.findByProperty(Sterilizer.class.getSimpleName(), "name", sterilizerName); if(CollectionUtils.isNotEmpty(sterilizers)){ Sterilizer sterilizer = sterilizers.get(0); - if(sterilizationRecordManager.sterilizerBioMonitoringIntervalReminder(sterilizer)){ - message = "【" + sterilizer.getName() + "】已超过" + sterilizer.getBioMonitoringInterval() + "天未做生物监测,请做生物监测!"; - boolean enableScanSterilizationMonitoringPackage = ConfigUtils.getSystemSetConfigByNameBool("enableScanSterilizationMonitoringPackage", false); - if(enableScanSterilizationMonitoringPackage && isSave){ - message = "请扫描生物监测包条码:已超过" + sterilizer.getBioMonitoringInterval() + "天未做生物监测!"; - } - - } + message = sterilizationRecordManager.sterilizerBioMonitoringIntervalReminder(sterilizer, Log.MODEL_STERILIZATION, isSave); } } StrutsResponseUtils.output(true, message); Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r29556 -r29561 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 29556) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 29561) @@ -5954,21 +5954,21 @@ @SuppressWarnings("unchecked") @Override - public boolean sterilizerBioMonitoringIntervalReminder(Sterilizer sterilizer) { + public String sterilizerBioMonitoringIntervalReminder(Sterilizer sterilizer, String model, boolean isSaveSterilizeRecord) { if(sterilizer == null){ - return false; + return ""; } String interval = sterilizer.getBioMonitoringInterval(); if(StringUtils.isBlank(interval) || !DatabaseUtil.isPoIdValid(interval) || Integer.parseInt(interval) < 0){ - return false; + return ""; } //查询最近一次生物监测的完成时间 String hql = String.format(" from %s po where po.sterilizer.id = %s " + " and po.biologicalMonitoringEndDate is not null order by po.biologicalMonitoringEndDate desc", SterilizationRecord.class.getSimpleName(), sterilizer.getId()); List sterilizationRecords = objectDao.findByHql(hql, 0, 1); if(CollectionUtils.isEmpty(sterilizationRecords)){ - return true; + return ""; } SterilizationRecord sterilizationRecord = sterilizationRecords.get(0); //灭菌炉最后一次做生物监测的结束时间 @@ -5979,7 +5979,17 @@ Date lastBiologicalMonitoringTime = new Date(); lastBiologicalMonitoringTime.setTime(calendar.getTimeInMillis() - intervalDays * 24 * 60 * 60 * 1000); int result = lastBiologicalMonitoringTime.compareTo(biologicalMonitoringEndDate); - return result > 0; + String message = ""; + if(result>0){ + message = "【" + sterilizer.getName() + "】已超过" + sterilizer.getBioMonitoringInterval() + "天未做生物监测,请做生物监测!"; + if(StringUtils.equals(Log.MODEL_STERILIZATION, model)){ + boolean enableScanSterilizationMonitoringPackage = ConfigUtils.getSystemSetConfigByNameBool("enableScanSterilizationMonitoringPackage", false); + if(enableScanSterilizationMonitoringPackage && isSaveSterilizeRecord){ + message = "请扫描生物监测包条码:已超过" + sterilizer.getBioMonitoringInterval() + "天未做生物监测!"; + } + } + } + return message; } @Override