Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java =================================================================== diff -u -r32611 -r32641 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 32611) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 32641) @@ -496,134 +496,139 @@ String cardPosition, String monitoringTubeResult, String monitoringBatchNum, String monitoringTubeExpiryDate, String cardPositionOfControlTube, String controlTubeResult, String controlBatchNum, String controlTubeExpiryDate) { JSONObject obj = new JSONObject(); - if (StringUtils.isNotBlank(recordID)) { - SterilizationRecord record = sterilizationRecordManager.getSterilizationRecordById(Long.valueOf(recordID)); - if (record != null) { - record.setBiologyResult(biologyResult); - -// if (SterilizationRecord.MONITOR_RESULT_NO.equals(biologyResult)) { //生物监测结果为“无”则清除“监测员”、“监测核对员”和“监测审核员” -// record.setMonitorUser(null); -// record.setMonitorChecker(null); -// record.setMonitorAuditor(null); -// } else { -// record.setMonitorUser(monitorUser); -// record.setMonitorChecker(monitorChecker); -// record.setMonitorAuditor(monitorAuditor); -// } - //不存''到数据库 - if("".equals(cardPosition)){ - cardPosition = null; - } - if("".equals(monitoringTubeResult)){ - monitoringTubeResult = null; - } - if("".equals(monitoringBatchNum)){ - monitoringBatchNum = null; - } - if("".equals(monitoringTubeExpiryDate)){ - monitoringTubeExpiryDate = null; - } - if("".equals(cardPositionOfControlTube)){ - cardPositionOfControlTube = null; - } - if("".equals(controlTubeResult)){ - controlTubeResult = null; - } - if("".equals(controlBatchNum)){ - controlBatchNum = null; - } - if("".equals(controlTubeExpiryDate)){ - controlTubeExpiryDate = null; - } - //解决:ASSLQYQRZ-26 监测核对员未录入,生物监测状态变成已确认 - if("".equals(monitorUser)){ - monitorUser = null; - } - if("".equals(monitorChecker)){ - monitorChecker = null; - } - if("".equals(monitorAuditor)){ - monitorAuditor = null; - } - if(DatabaseUtil.isPoIdValid(bioreaderId)){ - Bioreader bioreader = new Bioreader(); - bioreader.setId(Long.valueOf(bioreaderId)); - record.setBioreader(bioreader); - } - record.setCardPosition(cardPosition); - record.setMonitoringTubeResult(monitoringTubeResult); - record.setMonitoringBatchNum(monitoringBatchNum); - record.setMonitoringTubeExpiryDate(monitoringTubeExpiryDate); - record.setCardPositionOfControlTube(cardPositionOfControlTube); - record.setControlTubeResult(controlTubeResult); - record.setControlBatchNum(controlBatchNum); - record.setControlTubeExpiryDate(controlTubeExpiryDate); - record.setMonitorUser(monitorUser); - record.setMonitorChecker(monitorChecker); - record.setMonitorAuditor(monitorAuditor); - - try { //处理生物监测观察时间 - Date biologicalObserveDate = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(biologicalObserveDateString); - record.setBiologicalObserveDate(biologicalObserveDate); - } catch (Exception e) { - record.setBiologicalObserveDate(null); - } - try { //处理生物监测开始时间 - Date biologicalMonitoringStartDate = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(biologicalMonitoringStartDateString); - record.setBiologicalMonitoringStartDate(biologicalMonitoringStartDate); - } catch (Exception e) { - record.setBiologicalMonitoringStartDate(null); - } - try { //处理生物监测结束时间 - Date biologicalMonitoringEndDate = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(biologicalMonitoringEndDateString); + try { + if (StringUtils.isNotBlank(recordID)) { + SterilizationRecord record = sterilizationRecordManager.getSterilizationRecordById(Long.valueOf(recordID)); + if (record != null) { + record.setBiologyResult(biologyResult); - if (biologicalMonitoringEndDate.after(new Date())) { //进行中 - record.setBiologicalMonitoringStatus(SterilizationRecord.BIOLOGICALMONITORING_STATUS_BEGIN); - } else if (biologicalMonitoringEndDate.before(new Date())) { //已结束 - if (StringUtils.isNotBlank(record.getMonitorChecker())) { //如果填写了“监测核对员”,并且生物结果不为“无”,则把状态改为已确认(顺便在BiologyMonitorWarning清掉该记录) - record.setBiologicalMonitoringStatus(SterilizationRecord.BIOLOGICALMONITORING_STATUS_CHECK); - objectDao.excuteSQL("delete from BiologyMonitorWarning where sterilizationRecordId=" + recordID); - } else { - record.setBiologicalMonitoringStatus(SterilizationRecord.BIOLOGICALMONITORING_STATUS_END); +// if (SterilizationRecord.MONITOR_RESULT_NO.equals(biologyResult)) { //生物监测结果为“无”则清除“监测员”、“监测核对员”和“监测审核员” +// record.setMonitorUser(null); +// record.setMonitorChecker(null); +// record.setMonitorAuditor(null); +// } else { +// record.setMonitorUser(monitorUser); +// record.setMonitorChecker(monitorChecker); +// record.setMonitorAuditor(monitorAuditor); +// } + //不存''到数据库 + if("".equals(cardPosition)){ + cardPosition = null; + } + if("".equals(monitoringTubeResult)){ + monitoringTubeResult = null; + } + if("".equals(monitoringBatchNum)){ + monitoringBatchNum = null; + } + if("".equals(monitoringTubeExpiryDate)){ + monitoringTubeExpiryDate = null; + } + if("".equals(cardPositionOfControlTube)){ + cardPositionOfControlTube = null; + } + if("".equals(controlTubeResult)){ + controlTubeResult = null; + } + if("".equals(controlBatchNum)){ + controlBatchNum = null; + } + if("".equals(controlTubeExpiryDate)){ + controlTubeExpiryDate = null; + } + //解决:ASSLQYQRZ-26 监测核对员未录入,生物监测状态变成已确认 + if("".equals(monitorUser)){ + monitorUser = null; + } + if("".equals(monitorChecker)){ + monitorChecker = null; + } + if("".equals(monitorAuditor)){ + monitorAuditor = null; + } + if(DatabaseUtil.isPoIdValid(bioreaderId)){ + Bioreader bioreader = new Bioreader(); + bioreader.setId(Long.valueOf(bioreaderId)); + record.setBioreader(bioreader); + } + record.setCardPosition(cardPosition); + record.setMonitoringTubeResult(monitoringTubeResult); + record.setMonitoringBatchNum(monitoringBatchNum); + record.setMonitoringTubeExpiryDate(monitoringTubeExpiryDate); + record.setCardPositionOfControlTube(cardPositionOfControlTube); + record.setControlTubeResult(controlTubeResult); + record.setControlBatchNum(controlBatchNum); + record.setControlTubeExpiryDate(controlTubeExpiryDate); + record.setMonitorUser(monitorUser); + record.setMonitorChecker(monitorChecker); + record.setMonitorAuditor(monitorAuditor); + + try { //处理生物监测观察时间 + Date biologicalObserveDate = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(biologicalObserveDateString); + record.setBiologicalObserveDate(biologicalObserveDate); + } catch (Exception e) { + record.setBiologicalObserveDate(null); + } + try { //处理生物监测开始时间 + Date biologicalMonitoringStartDate = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(biologicalMonitoringStartDateString); + record.setBiologicalMonitoringStartDate(biologicalMonitoringStartDate); + } catch (Exception e) { + record.setBiologicalMonitoringStartDate(null); + } + try { //处理生物监测结束时间 + Date biologicalMonitoringEndDate = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(biologicalMonitoringEndDateString); + + if (biologicalMonitoringEndDate.after(new Date())) { //进行中 + record.setBiologicalMonitoringStatus(SterilizationRecord.BIOLOGICALMONITORING_STATUS_BEGIN); + } else if (biologicalMonitoringEndDate.before(new Date())) { //已结束 + if (StringUtils.isNotBlank(record.getMonitorChecker())) { //如果填写了“监测核对员”,并且生物结果不为“无”,则把状态改为已确认(顺便在BiologyMonitorWarning清掉该记录) + record.setBiologicalMonitoringStatus(SterilizationRecord.BIOLOGICALMONITORING_STATUS_CHECK); + objectDao.excuteSQL("delete from BiologyMonitorWarning where sterilizationRecordId=" + recordID); + } else { + record.setBiologicalMonitoringStatus(SterilizationRecord.BIOLOGICALMONITORING_STATUS_END); + } } + record.setBiologicalMonitoringEndDate(biologicalMonitoringEndDate); + } catch (Exception e) { //如果结束时间为空或者时间格式有误 + record.setBiologicalMonitoringEndDate(null); } - record.setBiologicalMonitoringEndDate(biologicalMonitoringEndDate); - } catch (Exception e) { //如果结束时间为空或者时间格式有误 - record.setBiologicalMonitoringEndDate(null); + + record.setPhysicsResult(physicsResult); + record.setChemistryResult(chemistryResult); + record.setCycleCounter(cycleCounter); + record.setRemark(remark); + // 灭菌记录的的温度压力数据条数 + DeviceInterface devInterface = record.getSterilizer().getDeviceInterface(); + long count = 0L; + if(devInterface != null){ + boolean sterilizaMatchPatternForDate = CssdUtils.getSystemSetConfigByNameBool("sterilizaMatchPatternForDate", false); + if(DeviceInterface.BELIMED.equals(devInterface.getDeviceBrand()) + && !DeviceInterface.PARAMATCHINGMETHOD_CYCLECOUNTER.equals(devInterface.getParaMatchingMethod()) + || sterilizaMatchPatternForDate && DeviceInterface.GETINGE.equals(devInterface.getDeviceBrand())){ + count = sterilizationRecordManager.getSterilerRecordsCount(record.getSterilizer().getDeviceInterfaceId(), + record.getSterilizer().getMachineNumber(), + record.getStartDate()); + }else{ + count = (long)getSterilerRecordsCount(record.getSterilizer().getDeviceInterfaceId(),record.getSterilizer().getMachineNumber(),record.getCycleCounter()); + } + } + record.setSterilizerRecordAmount(count); + boolean enableTheSterilizationResultJudgmentFunction = CssdUtils.getSystemSetConfigByNameBool("enableTheSterilizationResultJudgmentFunction", false); + if(enableTheSterilizationResultJudgmentFunction){ + sterilizationRecordManager.updateSterilizationResult(record); + obj.put("sterilizationResult", record.getSterilizationResult()); + } + tousseInstanceManager.updateIsRoutineAttribute(record.getId(), record.getBiologicalMonitoringEndDate(), record.getBiologyResult()); + sterilizationRecordManager.saveOrUpdate(record); + obj.put("success", true); + return obj; } - - record.setPhysicsResult(physicsResult); - record.setChemistryResult(chemistryResult); - record.setCycleCounter(cycleCounter); - record.setRemark(remark); - // 灭菌记录的的温度压力数据条数 - DeviceInterface devInterface = record.getSterilizer().getDeviceInterface(); - long count = 0L; - if(devInterface != null){ - boolean sterilizaMatchPatternForDate = CssdUtils.getSystemSetConfigByNameBool("sterilizaMatchPatternForDate", false); - if(DeviceInterface.BELIMED.equals(devInterface.getDeviceBrand()) - && !DeviceInterface.PARAMATCHINGMETHOD_CYCLECOUNTER.equals(devInterface.getParaMatchingMethod()) - || sterilizaMatchPatternForDate && DeviceInterface.GETINGE.equals(devInterface.getDeviceBrand())){ - count = sterilizationRecordManager.getSterilerRecordsCount(record.getSterilizer().getDeviceInterfaceId(), - record.getSterilizer().getMachineNumber(), - record.getStartDate()); - }else{ - count = (long)getSterilerRecordsCount(record.getSterilizer().getDeviceInterfaceId(),record.getSterilizer().getMachineNumber(),record.getCycleCounter()); - } - } - record.setSterilizerRecordAmount(count); - boolean enableTheSterilizationResultJudgmentFunction = CssdUtils.getSystemSetConfigByNameBool("enableTheSterilizationResultJudgmentFunction", false); - if(enableTheSterilizationResultJudgmentFunction){ - sterilizationRecordManager.updateSterilizationResult(record); - obj.put("sterilizationResult", record.getSterilizationResult()); - } - tousseInstanceManager.updateIsRoutineAttribute(record.getId(), record.getBiologicalMonitoringEndDate(), record.getBiologyResult()); - sterilizationRecordManager.saveOrUpdate(record); - obj.put("success", true); - return obj; } + obj.put("success", false); + } catch (Exception e) { + e.printStackTrace(); + obj.put("success", false); } - obj.put("success", false); return obj; } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r32629 -r32641 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 32629) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 32641) @@ -7088,7 +7088,14 @@ } @Override public void updateSterilizationResult(SterilizationRecord sterilizationRecord) { - sterilizationRecord.setSterilizationResult(calcSterilizationResult(sterilizationRecordIncludeImplant(sterilizationRecord.getId()), sterilizationRecord.getPhysicsResult(), sterilizationRecord.getChemistryResult(), sterilizationRecord.getBiologyResult())); + String calcResult = calcSterilizationResult(sterilizationRecordIncludeImplant(sterilizationRecord.getId()), sterilizationRecord.getPhysicsResult(), sterilizationRecord.getChemistryResult(), sterilizationRecord.getBiologyResult()); + if(StringUtils.isNotBlank(calcResult) && calcResult.equals(sterilizationRecord.getSterilizationResult())){ + return; + } + if(SterilizationRecord.STERILIZATIONRESULT_UNQUALIFIED.equals(sterilizationRecord.getSterilizationResult()) && SterilizationRecord.STERILIZATIONRESULT_QUALIFIED.equals(calcResult)){ + throw new RuntimeException("不允许由灭菌不合格改为灭菌合格"); + } + sterilizationRecord.setSterilizationResult(calcResult); //灭菌不合格 要做灭菌不合格的的处理 if(SterilizationRecord.STERILIZATIONRESULT_UNQUALIFIED.equals(sterilizationRecord.getSterilizationResult())){ updateFailureAndUnqualifiedSterilizedRecordStatus(null, SterilizationRecord.STERILIZATIONRESULT_UNQUALIFIED, sterilizationRecord);