Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java =================================================================== diff -u -r32555 -r32595 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 32555) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 32595) @@ -570,4 +570,13 @@ * @return */ public boolean sterilizationRecordIncludeImplant(Long sterilizationRecordId); + /** + * 判断指定时间内,是否灭菌炉的第一炉(frequency<>1 不一定是当天第一炉) HBSXKYY-49 灭菌炉设置里隔天重置炉次的值为“否”,生物监测的结果默认值勾上了每天第一炉合格,每天的第一炉对应的灭菌记录的生物监测结果可以自动赋值为合格。 + * @param sterilizationRecordId 验证的灭菌记录id + * @param sterilizerId 灭菌炉id + * @param startDateStr 开始时间 + * @param endDateStr 结束时间 + * @return + */ + public boolean firstSterilizerPerDay(Long sterilizationRecordId,Long sterilizerId, Date startDateStr, Date endDateStr); } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r32555 -r32595 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 32555) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 32595) @@ -474,6 +474,16 @@ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); List goodsStockList = new ArrayList(); try{ + //获取当天开始时间 + SupplyRoomConfig systemParamsObj = supplyRoomConfigManager.getSystemParamsObj(); + String todayStr = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); + if(systemParamsObj != null && StringUtils.isNotBlank(systemParamsObj.getDayStartTime())){ + todayStr += " " + systemParamsObj.getDayStartTime() + ":00"; + }else{ + todayStr += " 00:00:00"; + } + Date startDate = sdf.parse(todayStr); + boolean enableTheSterilizationResultJudgmentFunction = CssdUtils.getSystemSetConfigByNameBool("enableTheSterilizationResultJudgmentFunction", false); for (SterilizationRecord sterilizationRecord : records) { if (sterilizationRecord == null @@ -616,9 +626,14 @@ if (StringUtils.isNotBlank(biologicalMonitoringDisplay)) { String flag = SterilizationRecord.MONITOR_RESULT_NO; biologicalMonitoringDisplay = String.format(";%s;", biologicalMonitoringDisplay); - + boolean isFirst = false;//HBSXKYY-49 灭菌炉设置里隔天重置炉次的值为“否”,生物监测的结果默认值勾上了每天第一炉合格,每天的第一炉对应的灭菌记录的生物监测结果可以自动赋值为合格。 + if(frequency == 1){ + isFirst = true; + }else if(!Constants.STR_YES.equals(sterilizer.getIsEveryDayReset())){ + isFirst = firstSterilizerPerDay(sterilizationRecord.getId(), sterilizer.getId(), startDate, sterilizationRecord.getStartDate()); + } if ((StringUtils.contains(biologicalMonitoringDisplay, String.format(";%s;", Sterilizer.BIOLOGICALMONITORINGDISPLAY_FIRSTQUALIFIED)) - && frequency == 1) + && isFirst) || (StringUtils.contains(biologicalMonitoringDisplay, String.format(";%s;", Sterilizer.BIOLOGICALMONITORINGDISPLAY_IMPLANT_QUALIFIED)) && checkIncludeImplant(sterilizationRecord)) ||(StringUtils.contains(biologicalMonitoringDisplay, String.format(";%s;", Sterilizer.BIOLOGICALMONITORINGDISPLAY_FOREIGN_TOUSSE_QUALIFIED)) @@ -6991,4 +7006,10 @@ sterilizationRecordId); return objectDao.countBySql(sql)>0?true:false; } + @Override + public boolean firstSterilizerPerDay(Long sterilizationRecordId, + Long sterilizerId, Date startDateStr, Date endDateStr) { + int count = objectDao.countBySql("select count(*) from SterilizationRecord where sterilizer_id="+ sterilizerId +" and id<>"+ sterilizationRecordId +" and startDate between "+ dateQueryAdapter.dateAdapter(startDateStr) +" and "+ dateQueryAdapter.dateAdapter(endDateStr)); + return count>0?false:true; + } }