Index: ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/dao/szslgzxyy/TousseInstancePushDaoImpl.java =================================================================== diff -u -r37346 -r37720 --- ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/dao/szslgzxyy/TousseInstancePushDaoImpl.java (.../TousseInstancePushDaoImpl.java) (revision 37346) +++ ssts-datasync-default-impl/src/main/java/com/forgon/disinfectsystem/datasynchronization/dao/szslgzxyy/TousseInstancePushDaoImpl.java (.../TousseInstancePushDaoImpl.java) (revision 37720) @@ -199,11 +199,17 @@ } //复核/装载/审核 - String reviewDisinSupplyStatus = buildReviewDisinSupplyStatus(ti, pointCodePointNameMap); - if(StringUtils.isNotBlank(reviewDisinSupplyStatus)){ - tiDisinSupplyStatus.add(reviewDisinSupplyStatus); + String reviewDisinSupplyStatus1 = buildReviewDisinSupplyStatus(ti, "disinsupply_valid", pointCodePointNameMap); + if(StringUtils.isNotBlank(reviewDisinSupplyStatus1)){ + tiDisinSupplyStatus.add(reviewDisinSupplyStatus1); } + //审核 + String reviewDisinSupplyStatus2 = buildReviewDisinSupplyStatus(ti, "disinsupply_process", pointCodePointNameMap); + if(StringUtils.isNotBlank(reviewDisinSupplyStatus2)){ + tiDisinSupplyStatus.add(reviewDisinSupplyStatus2); + } + //灭菌开始 //灭菌结束 List sterilizationDisinSupplyStatus = buildSterilizationDisinSupplyStatus(ti, pointCodePointNameMap); @@ -416,22 +422,103 @@ execDeptCode, execDeptName, execTime); tiDisinSupplyStatus.add(disinSupplyStatus); + //生物监测 + String biologicalMonitoringStatus = sterilizationRecord.getBiologicalMonitoringStatus(); + if(StringUtils.equals(biologicalMonitoringStatus, SterilizationRecord.MONITOR_RESULT_QUALIFIED) + || StringUtils.equals(biologicalMonitoringStatus, SterilizationRecord.MONITOR_RESULT_UNQUALIFIED)){ + String monitorUserName = sterilizationRecord.getMonitorUser(); + String monitorUserCode = searchUserCode(monitorUserName, orgUnitCode); + pointCode = "disinsupply_biomonitoring"; + execId = buildTousseInstanceExecIdByPointCode(ti, pointCode , bussId); + orgCode = ti.getOrgUnitCoding(); + cycleIndexId = ti.getId(); + pointName = pointCodePointNameMap.get(pointCode); + execUserCode = monitorUserCode; + execUserName = monitorUserName; + execDeptCode = orgUnitCode; + execDeptName = orgUnitName; + execTime = sterilizationEndTimeStr; + String execStatus = returnExecStatus(biologicalMonitoringStatus); + disinSupplyStatus = buildDisinSupplyStatus(execId, orgCode, + bussId, cycleIndexId, + pointCode, pointName, + execUserCode, execUserName, + execDeptCode, execDeptName, execTime, execStatus); + tiDisinSupplyStatus.add(disinSupplyStatus); + } + + + //物理监测 + String physicsResult = sterilizationRecord.getPhysicsResult(); + if(StringUtils.equals(physicsResult, SterilizationRecord.MONITOR_RESULT_QUALIFIED) + || StringUtils.equals(physicsResult, SterilizationRecord.MONITOR_RESULT_UNQUALIFIED)){ + pointCode = "disinsupply_physicalmonitoring"; + execId = buildTousseInstanceExecIdByPointCode(ti, pointCode , bussId); + orgCode = ti.getOrgUnitCoding(); + cycleIndexId = ti.getId(); + pointName = pointCodePointNameMap.get(pointCode); + execUserCode = sterilizationOperatorCode; + execUserName = sterilizationOperatorName; + execDeptCode = orgUnitCode; + execDeptName = orgUnitName; + execTime = sterilizationEndTimeStr; + String execStatus = returnExecStatus(biologicalMonitoringStatus); + disinSupplyStatus = buildDisinSupplyStatus(execId, orgCode, + bussId, cycleIndexId, + pointCode, pointName, + execUserCode, execUserName, + execDeptCode, execDeptName, execTime, execStatus); + tiDisinSupplyStatus.add(disinSupplyStatus); + } + + + //化学监测 + String chemistryResult = sterilizationRecord.getChemistryResult(); + if(StringUtils.equals(chemistryResult, SterilizationRecord.MONITOR_RESULT_QUALIFIED) + || StringUtils.equals(chemistryResult, SterilizationRecord.MONITOR_RESULT_UNQUALIFIED)){ + pointCode = "disinsupply_chemicalmonitoring"; + execId = buildTousseInstanceExecIdByPointCode(ti, pointCode , bussId); + orgCode = ti.getOrgUnitCoding(); + cycleIndexId = ti.getId(); + pointName = pointCodePointNameMap.get(pointCode); + execUserCode = sterilizationOperatorCode; + execUserName = sterilizationOperatorName; + execDeptCode = orgUnitCode; + execDeptName = orgUnitName; + execTime = sterilizationEndTimeStr; + String execStatus = returnExecStatus(chemistryResult); + disinSupplyStatus = buildDisinSupplyStatus(execId, orgCode, + bussId, cycleIndexId, + pointCode, pointName, + execUserCode, execUserName, + execDeptCode, execDeptName, execTime, execStatus); + tiDisinSupplyStatus.add(disinSupplyStatus); + } + return tiDisinSupplyStatus; } return null; } + + /** + * 根据监测结果返回操作状态代码,1通过、成功;2不通过、失败 + * @return + */ + private String returnExecStatus(String monitoringStatus){ + return (StringUtils.equals(monitoringStatus, SterilizationRecord.MONITOR_RESULT_QUALIFIED)) ? + "1" : "2"; + } /** * 审核 * @param ti * @param pointCodePointNameMap * @return */ - private String buildReviewDisinSupplyStatus(TousseInstance ti, Map pointCodePointNameMap) { + private String buildReviewDisinSupplyStatus(TousseInstance ti, String pointCode, Map pointCodePointNameMap) { if(StringUtils.isNotBlank(ti.getReviewerCode())){ Long bussId = ti.getPackingRecord_id(); - String pointCode = "disinsupply_valid"; String execId = buildTousseInstanceExecIdByPointCode(ti, pointCode , bussId); String orgCode = ti.getOrgUnitCoding(); Long cycleIndexId = ti.getId(); @@ -578,6 +665,27 @@ */ private String buildDisinSupplyStatus(String execId, String orgCode, Long bussId, Long cycleIndexId, String pointCode, String pointName, String execUserCode, String execUserName, String execDeptCode, String execDeptName, String execTime) { + return buildDisinSupplyStatus(execId, orgCode, bussId, cycleIndexId, pointCode, pointName, execUserCode, execUserName, execDeptCode, execDeptName, execTime, "1"); + } + + /** + * 器械包的闭环信息 + * @param execId + * @param orgCode + * @param bussId + * @param cycleIndexId + * @param pointCode + * @param pointName + * @param execUserCode + * @param execUserName + * @param execDeptCode + * @param execDeptName + * @param execTime + * @param execStatus + * @return + */ + private String buildDisinSupplyStatus(String execId, String orgCode, Long bussId, Long cycleIndexId, String pointCode, String pointName, + String execUserCode, String execUserName, String execDeptCode, String execDeptName, String execTime, String execStatus) { StringBuffer messageBuffer = new StringBuffer(); messageBuffer.append(""); messageBuffer.append("" + StringUtils.defaultString(execId) + ""); @@ -598,7 +706,7 @@ messageBuffer.append("" + StringUtils.defaultString(execUserName) + ""); messageBuffer.append("" + StringUtils.defaultString(execDeptCode) + ""); messageBuffer.append("" + StringUtils.defaultString(execDeptName) + ""); - messageBuffer.append("1"); + messageBuffer.append("" + StringUtils.defaultString(execStatus,"1") + ""); messageBuffer.append("" + StringUtils.defaultString(execTime) + ""); messageBuffer.append("消毒供应链管理系统"); messageBuffer.append(""); @@ -642,6 +750,11 @@ pointCodePointNameMap.put("disinsupply_begin", "灭菌开始"); pointCodePointNameMap.put("disinsupply_end", "灭菌结束"); + pointCodePointNameMap.put("disinsupply_process", "审核"); + pointCodePointNameMap.put("disinsupply_biomonitoring", "生物监测"); + pointCodePointNameMap.put("disinsupply_physicalmonitoring", "物理监测"); + pointCodePointNameMap.put("disinsupply_chemicalmonitoring", "化学监测"); + pointCodePointNameMap.put("disinsupply_check", "效果监测"); pointCodePointNameMap.put("disinsupply_get", "科室接收"); return pointCodePointNameMap;