Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r32645 -r32651 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 32645) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 32651) @@ -59,6 +59,7 @@ import com.forgon.disinfectsystem.basedatamanager.urgent.vo.UrgentLevelVo; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.common.CssdUtils; +import com.forgon.disinfectsystem.entity.basedatamanager.bioreader.Bioreader; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.deviceinterface.DeviceInterface; import com.forgon.disinfectsystem.entity.basedatamanager.expirationdateinfo.ExpirationDateInfo; @@ -7110,4 +7111,152 @@ } objectDao.saveOrUpdate(sterilizationRecord); } + @Override + public JSONObject saveMonitorResult(String bioreaderId, String recordID, + String physicsResult, String chemistryResult, String biologyResult, + long cycleCounter, String biologicalObserveDateString, + String biologicalMonitoringStartDateString, + String biologicalMonitoringEndDateString, String monitorUser, + String monitorChecker, String monitorAuditor, String remark, + String cardPosition, String monitoringTubeResult, + String monitoringBatchNum, String monitoringTubeExpiryDate, + String cardPositionOfControlTube, String controlTubeResult, + String controlBatchNum, String controlTubeExpiryDate) { + JSONObject obj = new JSONObject(); + try { + if (StringUtils.isNotBlank(recordID)) { + SterilizationRecord record = 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); + + 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.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 = getSterilerRecordsCount(record.getSterilizer().getDeviceInterfaceId(), + record.getSterilizer().getMachineNumber(), + record.getStartDate()); + }else{ + count = (long)getSterilerRecordsCount(record.getSterilizer().getDeviceInterfaceId(),record.getSterilizer().getMachineNumber(),record.getCycleCounter()); + } + } + record.setSterilizerRecordAmount(count); + tousseInstanceManager.updateIsRoutineAttribute(record.getId(), record.getBiologicalMonitoringEndDate(), record.getBiologyResult()); + saveOrUpdate(record); + boolean enableTheSterilizationResultJudgmentFunction = CssdUtils.getSystemSetConfigByNameBool("enableTheSterilizationResultJudgmentFunction", false); + if(enableTheSterilizationResultJudgmentFunction){ + updateSterilizationResult(record); + obj.put("sterilizationResult", record.getSterilizationResult()); + } + obj.put("success", true); + return obj; + } + } + obj.put("success", false); + } catch (Exception e) { + e.printStackTrace(); + obj.put("success", false); + obj.put("msg", e.getMessage()); + } + return obj; + } } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java =================================================================== diff -u -r32650 -r32651 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 32650) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 32651) @@ -495,142 +495,7 @@ String monitorUser,String monitorChecker,String monitorAuditor,String remark, String cardPosition, String monitoringTubeResult, String monitoringBatchNum, String monitoringTubeExpiryDate, String cardPositionOfControlTube, String controlTubeResult, String controlBatchNum, String controlTubeExpiryDate) { - JSONObject obj = new JSONObject(); - try { - 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); - - 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.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); - tousseInstanceManager.updateIsRoutineAttribute(record.getId(), record.getBiologicalMonitoringEndDate(), record.getBiologyResult()); - sterilizationRecordManager.saveOrUpdate(record); - boolean enableTheSterilizationResultJudgmentFunction = CssdUtils.getSystemSetConfigByNameBool("enableTheSterilizationResultJudgmentFunction", false); - if(enableTheSterilizationResultJudgmentFunction){ - sterilizationRecordManager.updateSterilizationResult(record); - obj.put("sterilizationResult", record.getSterilizationResult()); - } - obj.put("success", true); - return obj; - } - } - obj.put("success", false); - } catch (Exception e) { - e.printStackTrace(); - obj.put("success", false); - obj.put("msg", e.getMessage()); - } - return obj; + return sterilizationRecordManager.saveMonitorResult(bioreaderId, recordID, physicsResult, chemistryResult, biologyResult, cycleCounter, biologicalObserveDateString, biologicalMonitoringStartDateString, biologicalMonitoringEndDateString, monitorUser, monitorChecker, monitorAuditor, remark, cardPosition, monitoringTubeResult, monitoringBatchNum, monitoringTubeExpiryDate, cardPositionOfControlTube, controlTubeResult, controlBatchNum, controlTubeExpiryDate); } /** Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java =================================================================== diff -u -r32621 -r32651 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 32621) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 32651) @@ -592,4 +592,11 @@ * @param sterilizationRecord */ public void updateSterilizationResult(SterilizationRecord sterilizationRecord); + + public JSONObject saveMonitorResult(String bioreaderId, String recordID, String physicsResult, + String chemistryResult, String biologyResult,long cycleCounter, + String biologicalObserveDateString, String biologicalMonitoringStartDateString, String biologicalMonitoringEndDateString, + String monitorUser,String monitorChecker,String monitorAuditor,String remark, + String cardPosition, String monitoringTubeResult, String monitoringBatchNum, String monitoringTubeExpiryDate, + String cardPositionOfControlTube, String controlTubeResult, String controlBatchNum, String controlTubeExpiryDate); }