Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/SterilizerRecordManager.java =================================================================== diff -u -r22552 -r35443 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/SterilizerRecordManager.java (.../SterilizerRecordManager.java) (revision 22552) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/SterilizerRecordManager.java (.../SterilizerRecordManager.java) (revision 35443) @@ -2,6 +2,9 @@ import java.util.List; +import net.sf.json.JSONObject; + +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.SterilizerRecord; import com.forgon.tools.hibernate.BasePoManager; @@ -15,5 +18,12 @@ * @return */ public List getSterilizerRecord(String sterilizationRecordId); + /** + * 获取灭菌参数图数据 + * @param sterilizationRecord + * @param queryTable 是否显示表格 目前只有洁定通用型在用 + * @return + */ + public JSONObject createEChartData(SterilizationRecord sterilizationRecord, boolean queryTable); } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r35379 -r35443 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 35379) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 35443) @@ -100,8 +100,13 @@ import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationInterruptRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecordPic; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.BelimedStageDetails; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.BelimedSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CaspStageDetails; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CaspSterilizerRecord; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CommonSterilizerRecord; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.GtCommonStageDetails; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.GtCommonSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.HighTempSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.LowTempForJohnsonRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.LowTempSterilizerRecord; @@ -8825,4 +8830,113 @@ } return objectDao.getALongNum(queryString, "amount"); } + @Override + public List getSterilizaerRecords( + SterilizationRecord sterilizationRecord, Map infoMap) { + List result = null; + String lastSlrProcStartTime = null; + String firstSlrProcStartTime = null; + List sterilizerRecords = null; + if(sterilizationRecord.getSterilizationParaType() != null){ + if(SterilizationRecord.STERILIZATIONPARATYPE_TYPE_COMMON == sterilizationRecord.getSterilizationParaType()){ + CommonSterilizerRecord record = (CommonSterilizerRecord)objectDao.getByProperty(CommonSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", sterilizationRecord.getId()); + if(record != null){ + List detailsList = record.getCommonStageDetailsList(); + lastSlrProcStartTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(detailsList.get(detailsList.size() - 1).getTime()); + firstSlrProcStartTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(record.getStartDate()); + sterilizerRecords = new ArrayList(); + for (CommonStageDetails detail : detailsList) { + SterilizerRecord sterilizerRecord = new SterilizerRecord(); + sterilizerRecord.setP1Mbar(detail.getP1Mbar()); + sterilizerRecord.setT1Temp(detail.getT1Temp()); + sterilizerRecord.setTime(Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(detail.getTime())); + sterilizerRecord.setPhase(detail.getStageName()); + sterilizerRecords.add(sterilizerRecord); + } + } + } else if(SterilizationRecord.STERILIZATIONPARATYPE_TYPE_GETINGE_COMMON == sterilizationRecord.getSterilizationParaType()){ + GtCommonSterilizerRecord record = (GtCommonSterilizerRecord)objectDao.getByProperty(GtCommonSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", sterilizationRecord.getId()); + if(record != null){ + List detailsList = record.getGtCommonStageDetailsList(); + lastSlrProcStartTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(record.getEndDate()); + firstSlrProcStartTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(record.getStartDate()); + sterilizerRecords = new ArrayList(); + for (GtCommonStageDetails detail : detailsList) { + SterilizerRecord sterilizerRecord = new SterilizerRecord(); + if(detail.getP1Mbar() != null){ + sterilizerRecord.setP1Mbar(detail.getP1Mbar() + ""); + } + if(detail.getT1Temp() != null){ + sterilizerRecord.setT1Temp(detail.getT1Temp() + ""); + } + sterilizerRecord.setTime(Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(detail.getTime())); + sterilizerRecord.setPhase(detail.getStageNo()); + sterilizerRecords.add(sterilizerRecord); + } + } + }else if(SterilizationRecord.STERILIZATIONPARATYPE_BELIMED == sterilizationRecord.getSterilizationParaType()){ + BelimedSterilizerRecord record = (BelimedSterilizerRecord)objectDao.getByProperty(BelimedSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", sterilizationRecord.getId()); + if(record != null){ + List detailsList = record.getBelimedStageDetailsList(); + lastSlrProcStartTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(detailsList.get(detailsList.size() - 1).getTime()); + firstSlrProcStartTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(record.getStartDate()); + sterilizerRecords = new ArrayList(); + for (BelimedStageDetails detail : detailsList) { + SterilizerRecord sterilizerRecord = new SterilizerRecord(); + if(detail.getP1Mbar() != null){ + sterilizerRecord.setP1Mbar(detail.getP1Mbar() + ""); + } + if(detail.getT1Temp() != null){ + sterilizerRecord.setT1Temp(detail.getT1Temp() + ""); + } + sterilizerRecord.setTime(Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(detail.getTime())); + sterilizerRecord.setPhase(detail.getStageName()); + sterilizerRecords.add(sterilizerRecord); + } + } + } + }else{ + result = getSterilizaerRecordsById(sterilizationRecord.getId()); + if(CollectionUtils.isNotEmpty(sterilizerRecords)){ + lastSlrProcStartTime = sterilizerRecords.get(sterilizerRecords.size()-1).getTime(); + firstSlrProcStartTime = sterilizerRecords.get(0).getTime(); + SterilizerRecord lastSlr = sterilizerRecords.get(sterilizerRecords.size()-1);//最后一条灭菌炉信息 + SterilizerRecord firstSlr = sterilizerRecords.get(0);//第一条灭菌炉信息 + //开始灭菌时间 + if(firstSlr.getProcStartTime() != null){ + firstSlrProcStartTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(firstSlr.getProcStartTime()); + }else{ + firstSlrProcStartTime = firstSlr.getTime(); + } + //结束灭菌时间 + if(lastSlr.getProcStartTime() != null){ + lastSlrProcStartTime = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS.format(lastSlr.getProcStartTime()); + }else{ + lastSlrProcStartTime = lastSlr.getTime(); + } + } + } + infoMap.put("lastSlrProcStartTime", lastSlrProcStartTime); + infoMap.put("firstSlrProcStartTime", firstSlrProcStartTime); + return result; + } + @Override + public void autoFinishSterilizerRecord(Long sterilizationRecordId, + Long devInterfaceId, String machineNo) { + Session session = objectDao.getHibernateSession(); + String queryString = "select s.orgUnitCoding from Sterilizer s" + + " where s.deviceInterface.id = :devInterfaceId" + + " and s.machineNumber = :machineNumber"; + Query query = session.createQuery(queryString); + query.setParameter("devInterfaceId", devInterfaceId); + query.setParameter("machineNumber", machineNo); + List orgUnitCodes = query.list(); + if (CollectionUtils.isNotEmpty(orgUnitCodes)) { + Collection ids = new ArrayList(); + ids.add(sterilizationRecordId); + completeSterilization(ids,orgUnitCodes.get(0), "自动完成"); + } + } + + } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/BelimedSterilizerRecordManagerImpl.java =================================================================== diff -u -r35092 -r35443 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/BelimedSterilizerRecordManagerImpl.java (.../BelimedSterilizerRecordManagerImpl.java) (revision 35092) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/service/BelimedSterilizerRecordManagerImpl.java (.../BelimedSterilizerRecordManagerImpl.java) (revision 35443) @@ -10,6 +10,9 @@ import java.util.Date; import java.util.List; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.hibernate.Query; @@ -23,9 +26,16 @@ import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.basedatamanager.deviceinterface.DeviceInterface; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.BelimedStageDetails; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.BelimedSterilizerRecord; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CommonStageDetails; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CommonSterilizerRecord; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.GtCommonStageDetails; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.GtCommonSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.SterilizerGrossRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.SterilizerRecord; import com.forgon.disinfectsystem.sterilizationmanager.sterilizationrecord.service.SterilizationRecordManager; +import com.forgon.tools.date.DateTools; import com.forgon.tools.hibernate.BasePoManagerImpl; import com.forgon.tools.util.ForgonDateUtils; /** @@ -197,5 +207,116 @@ } return null; } - + /** + * 创建通用型数据 + * @param timeArray 时间 + * @param t1TempArray 温度 + * @param p1MbarArray 压力 + * @return + */ + private JSONObject createEChartData(JSONArray sterilizerRecordArr, JSONArray timeArray, JSONArray t1TempArray, JSONArray p1MbarArray){ + JSONObject rueslt = new JSONObject(); + rueslt.put("timeData", timeArray); + rueslt.put("sterilizerRecordArr", sterilizerRecordArr); + rueslt.put("t1TempData", t1TempArray); + rueslt.put("p1MbarData", p1MbarArray); + return rueslt; + } + @Override + public JSONObject createEChartData(SterilizationRecord sterilizationRecord, boolean queryTable) { + JSONObject rueslt = null; + if(SterilizationRecord.STERILIZATIONPARATYPE_TYPE_COMMON == sterilizationRecord.getSterilizationParaType()){ + CommonSterilizerRecord record = (CommonSterilizerRecord)objectDao.getByProperty(CommonSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", sterilizationRecord.getId()); + if(record != null){ + List detailsList = record.getCommonStageDetailsList(); + JSONArray timeArray = new JSONArray(); + JSONArray t1TempArray = new JSONArray(); + JSONArray p1MbarArray = new JSONArray(); + for (CommonStageDetails detail : detailsList) { + String time = DateTools.getFormatDateStr(detail.getTime(), DateTools.COMMON_DATE_HMS); + timeArray.add(time); + t1TempArray.add(detail.getT1Temp());//温度1 + p1MbarArray.add(detail.getP1Mbar());//压力1 + } + rueslt = createEChartData(new JSONArray(),timeArray, t1TempArray, p1MbarArray); + } + }else if(SterilizationRecord.STERILIZATIONPARATYPE_TYPE_GETINGE_COMMON == sterilizationRecord.getSterilizationParaType()){ + GtCommonSterilizerRecord record = (GtCommonSterilizerRecord)objectDao.getByProperty(GtCommonSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", sterilizationRecord.getId()); + String lastName = null; + if(record != null){ + List detailsList = record.getGtCommonStageDetailsList(); + JSONArray timeArray = new JSONArray(); + JSONArray t1TempArray = new JSONArray(); + JSONArray p1MbarArray = new JSONArray(); + JSONArray sterilizerRecordArr = new JSONArray(); + for (GtCommonStageDetails detail : detailsList) { + String time = DateTools.getFormatDateStr(detail.getTime(), DateTools.COMMON_DATE_HMS); + timeArray.add(time); + t1TempArray.add(detail.getT1Temp());//温度1 + p1MbarArray.add(detail.getP1Mbar());//压力1 + if(queryTable){ + JSONObject sterilizerRecordObj = new JSONObject(); + if(StringUtils.isNotBlank(detail.getStageNo()) && (!detail.getStageNo().equals(lastName) || lastName == null)){ + lastName = detail.getStageNo(); + JSONObject phaseObj = new JSONObject(); + phaseObj.put("phase", detail.getStageNo() + getPhaseStr(detail.getStageNo())); + sterilizerRecordArr.add(phaseObj); + lastName = detail.getStageNo(); + } + sterilizerRecordObj.put("time", time); + sterilizerRecordObj.put("T1Temp", detail.getT1Temp()); + sterilizerRecordObj.put("P1Mbar", detail.getP1Mbar()); + sterilizerRecordArr.add(sterilizerRecordObj); + } + } + rueslt = createEChartData(sterilizerRecordArr, timeArray, t1TempArray, p1MbarArray); + } + }else if(SterilizationRecord.STERILIZATIONPARATYPE_BELIMED == sterilizationRecord.getSterilizationParaType()){ + BelimedSterilizerRecord record = (BelimedSterilizerRecord)objectDao.getByProperty(BelimedSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", sterilizationRecord.getId()); + if(record != null){ + List detailsList = record.getBelimedStageDetailsList(); + JSONArray timeArray = new JSONArray(); + JSONArray t1TempArray = new JSONArray(); + JSONArray p1MbarArray = new JSONArray(); + for (BelimedStageDetails detail : detailsList) { + String time = DateTools.getFormatDateStr(detail.getTime(), DateTools.COMMON_DATE_HMS); + timeArray.add(time); + t1TempArray.add(detail.getT1Temp());//温度1 + p1MbarArray.add(detail.getP1Mbar());//压力1 + } + rueslt = createEChartData(new JSONArray(),timeArray, t1TempArray, p1MbarArray); + } + } + return rueslt; + } + /** + * 获取阶段对应的中文名字 + * @param phase 阶段英文名 + * @return + */ + private String getPhaseStr(String phase){ + if("PROCESS COMPLETE".equals(phase)){ + return "(过程完成)"; + }else if("HEAT UP".equals(phase)){ + return "(加热)"; + }else if("STERILIZING".equals(phase)){ + return "(灭菌)"; + }else if("NEG PULSING".equals(phase)){ + return "(负脉冲)"; + }else if("START".equals(phase)){ + return "(开始)"; + }else if("POS PULSING".equals(phase)){ + return "(正脉冲)"; + }else if("POSTTREATMENT".equals(phase)){ + return "(脉冲)"; + }else if("DRYING".equals(phase)){ + return "(干燥)"; + }else if("DRYING AIRPULS".equals(phase)){ + return ""; + }else if("EQUALIZATION".equals(phase)){ + return "(气压平衡)"; + }else{ + return ""; + } + } } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/action/SterilizerRecordLineChartAction.java =================================================================== diff -u -r35387 -r35443 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/action/SterilizerRecordLineChartAction.java (.../SterilizerRecordLineChartAction.java) (revision 35387) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/action/SterilizerRecordLineChartAction.java (.../SterilizerRecordLineChartAction.java) (revision 35443) @@ -1,8 +1,9 @@ package com.forgon.disinfectsystem.sterilizationmanager.sterilizerrecord.action; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -26,14 +27,12 @@ import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.OneOfGetingeStageDetails; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.OneOfGetingeSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.SterilizerRecord; -import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CommonStageDetails; -import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CommonSterilizerRecord; import com.forgon.disinfectsystem.sterilizationmanager.sterilizationrecord.service.SterilizationRecordManager; +import com.forgon.disinfectsystem.sterilizationmanager.sterilizerrecord.service.SterilizerRecordManager; import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.StrutsResponseUtils; import com.forgon.tools.date.DateTools; import com.forgon.tools.db.DatabaseUtil; -import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.util.ForgonDateUtils; @@ -44,10 +43,11 @@ private SterilizationRecordManager sterilizationRecordManager; - private ObjectDao objectDao; + private SterilizerRecordManager sterilizerRecordManager; - public void setObjectDao(ObjectDao objectDao) { - this.objectDao = objectDao; + public void setSterilizerRecordManager( + SterilizerRecordManager sterilizerRecordManager) { + this.sterilizerRecordManager = sterilizerRecordManager; } public void setSterilizationRecordManager( SterilizationRecordManager sterilizationRecordManager) { @@ -98,12 +98,9 @@ try { SterilizationRecord sterilizationRecord = sterilizationRecordManager.getSterilizationRecordById(Long.valueOf(sterilizationRecordId)); List sterilizerRecords = null; - if(SterilizationRecord.STERILIZATIONPARATYPE_TYPE_COMMON.equals(sterilizationRecord.getSterilizationParaType())){ - CommonSterilizerRecord commonSterilizerRecord = (CommonSterilizerRecord)objectDao.getByProperty(CommonSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", Long.valueOf(sterilizationRecordId)); - if(commonSterilizerRecord != null){ - List commonStageDetailsList = commonSterilizerRecord.getCommonStageDetailsList(); - rueslt = createEChartDataForCommon(sterilizationRecord, commonStageDetailsList); - } + Integer sterilizationParaType = sterilizationRecord.getSterilizationParaType(); + if(sterilizationParaType != null){ + rueslt = sterilizerRecordManager.createEChartData(sterilizationRecord, queryTable); StrutsResponseUtils.output(true, rueslt); }else{ sterilizerRecords = sterilizationRecordManager.getSterilizaerRecordsById(sterilizationRecord.getId()); @@ -114,7 +111,6 @@ DeviceInterface deviceInterface = sterilizationRecord.getSterilizer().getDeviceInterface(); String brand = deviceInterface.getDeviceBrand(); JSONArray sterilizerRecordArr = new JSONArray(); - String lastName = null; for (SterilizerRecord record : sterilizerRecords) { String time = ""; //时间 //某些品牌(非新华非洁定非倍力曼)此处可能有问题 理论上要直接进else,不进if. 可能会导致曲线图下标时间不准确.未验证。 @@ -132,21 +128,6 @@ timeArray.add(time); t1TempArray.add(record.getT1Temp());//温度1 p1MbarArray.add(record.getP1Mbar());//压力1 - - if(queryTable && DeviceInterface.GETINGE.equals(brand)){ - JSONObject sterilizerRecordObj = new JSONObject(); - if(StringUtils.isNotBlank(record.getPhase()) && (!record.getPhase().equals(lastName) || lastName == null)){ - lastName = record.getPhase(); - JSONObject phaseObj = new JSONObject(); - phaseObj.put("phase", record.getPhase() + getPhaseStr(record.getPhase())); - sterilizerRecordArr.add(phaseObj); - lastName = record.getPhase(); - } - sterilizerRecordObj.put("time", time); - sterilizerRecordObj.put("T1Temp", record.getT1Temp()); - sterilizerRecordObj.put("P1Mbar", record.getP1Mbar()); - sterilizerRecordArr.add(sterilizerRecordObj); - } } rueslt.put("timeData", timeArray); rueslt.put("sterilizerRecordArr", sterilizerRecordArr); @@ -163,60 +144,6 @@ } } /** - * 创建新华通用型数据 - * @param sterilizationRecord - * @param commonStageDetailsList - * @return - */ - private JSONObject createEChartDataForCommon(SterilizationRecord sterilizationRecord, List commonStageDetailsList){ - JSONArray timeArray = new JSONArray(); - JSONArray t1TempArray = new JSONArray(); - JSONArray p1MbarArray = new JSONArray(); - JSONArray sterilizerRecordArr = new JSONArray(); - JSONObject rueslt = new JSONObject(); - for (CommonStageDetails record : commonStageDetailsList) { - String time = DateTools.getFormatDateStr(record.getTime(), DateTools.COMMON_DATE_HMS); - timeArray.add(time); - t1TempArray.add(record.getT1Temp());//温度1 - p1MbarArray.add(record.getP1Mbar());//压力1 - } - rueslt.put("timeData", timeArray); - rueslt.put("sterilizerRecordArr", sterilizerRecordArr); - rueslt.put("t1TempData", t1TempArray); - rueslt.put("p1MbarData", p1MbarArray); - return rueslt; - } - /** - * 获取阶段对应的中文名字 - * @param phase 阶段英文名 - * @return - */ - private String getPhaseStr(String phase){ - if("PROCESS COMPLETE".equals(phase)){ - return "(过程完成)"; - }else if("HEAT UP".equals(phase)){ - return "(加热)"; - }else if("STERILIZING".equals(phase)){ - return "(灭菌)"; - }else if("NEG PULSING".equals(phase)){ - return "(负脉冲)"; - }else if("START".equals(phase)){ - return "(开始)"; - }else if("POS PULSING".equals(phase)){ - return "(正脉冲)"; - }else if("POSTTREATMENT".equals(phase)){ - return "(脉冲)"; - }else if("DRYING".equals(phase)){ - return "(干燥)"; - }else if("DRYING AIRPULS".equals(phase)){ - return ""; - }else if("EQUALIZATION".equals(phase)){ - return "(气压平衡)"; - }else{ - return ""; - } - } - /** * 返回低温灭菌echart曲线数据 */ public void createLowTemperatureEChartData() { @@ -323,50 +250,13 @@ return; } try { - List sterilizerRecords = null; + Map infoMap = new HashMap(); + List sterilizerRecords = sterilizationRecordManager.getSterilizaerRecords(sterilizationRecord, infoMap); //开始灭菌时间 - String firstSlrProcStartTime = null; + String firstSlrProcStartTime = infoMap.get("firstSlrProcStartTime"); //结束灭菌时间 - String lastSlrProcStartTime = null; + String lastSlrProcStartTime = infoMap.get("lastSlrProcStartTime");; JSONObject sterilizerRecordsPrintTable = null; - SimpleDateFormat sdf = Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS; - if(SterilizationRecord.STERILIZATIONPARATYPE_TYPE_COMMON.equals(sterilizationRecord.getSterilizationParaType())){ - CommonSterilizerRecord commonSterilizerRecord = (CommonSterilizerRecord)objectDao.getByProperty(CommonSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", Long.valueOf(sterilizationRecordId)); - if(commonSterilizerRecord != null){ - List commonStageDetailsList = commonSterilizerRecord.getCommonStageDetailsList(); - lastSlrProcStartTime = sdf.format(commonStageDetailsList.get(commonStageDetailsList.size() - 1).getTime()); - firstSlrProcStartTime = sdf.format(commonSterilizerRecord.getStartDate()); - sterilizerRecords = new ArrayList(); - for (CommonStageDetails detail : commonStageDetailsList) { - SterilizerRecord sterilizerRecord = new SterilizerRecord(); - sterilizerRecord.setP1Mbar(detail.getP1Mbar()); - sterilizerRecord.setT1Temp(detail.getT1Temp()); - sterilizerRecord.setTime(sdf.format(detail.getTime())); - sterilizerRecord.setPhase(detail.getStageName()); - sterilizerRecords.add(sterilizerRecord); - } - } - }else{ - sterilizerRecords = sterilizationRecordManager.getSterilizaerRecordsById(sterilizationRecord.getId()); - if(sterilizerRecords != null){ - lastSlrProcStartTime = sterilizerRecords.get(sterilizerRecords.size()-1).getTime(); - firstSlrProcStartTime = sterilizerRecords.get(0).getTime(); - SterilizerRecord lastSlr = sterilizerRecords.get(sterilizerRecords.size()-1);//最后一条灭菌炉信息 - SterilizerRecord firstSlr = sterilizerRecords.get(0);//第一条灭菌炉信息 - //开始灭菌时间 - if(firstSlr.getProcStartTime() != null){ - firstSlrProcStartTime = sdf.format(firstSlr.getProcStartTime()); - }else{ - firstSlrProcStartTime = firstSlr.getTime(); - } - //结束灭菌时间 - if(lastSlr.getProcStartTime() != null){ - lastSlrProcStartTime = sdf.format(lastSlr.getProcStartTime()); - }else{ - lastSlrProcStartTime = lastSlr.getTime(); - } - } - } //打印表格数据(经过过滤) sterilizerRecordsPrintTable = sterilizationRecordManager.getPrintSterilizaerRecordsById(sterilizerRecords, sterilizationRecord.getId()); //1、打印曲线图数据(曲线打印已改成打印页面的echart曲线图) Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java =================================================================== diff -u -r35379 -r35443 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 35379) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 35443) @@ -24,7 +24,6 @@ import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.LowTempSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.OneOfGetingeSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.SterilizerRecord; -import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CommonStageDetails; import com.forgon.disinfectsystem.entity.systemwarning.SystemWarningVo; import com.forgon.disinfectsystem.sterilizationmanager.sterilizationrecord.vo.SterilizationRecordPrintTousseItem; import com.forgon.disinfectsystem.vo.SimpleInfoVo; @@ -724,4 +723,18 @@ * @return */ public Long findMatchingSterilizationRecordId(String beginStartTimeStr, String endStartTimeStr, Long devInterfaceId,String cycleCounter,String machineNo); + /** + * 通过灭菌记录获取对应的灭菌参数数据 + * @param sterilizationRecord + * @return + */ + public List getSterilizaerRecords(SterilizationRecord sterilizationRecord, Map infoMap); + /** + * 读取灭菌参数后自动完成灭菌 + * @param sterilizationRecordId 灭菌记录id + * @param devInterfaceId 设备接口id + * @param machineNo 机器号 + */ + public void autoFinishSterilizerRecord(Long sterilizationRecordId, Long devInterfaceId, String machineNo); + } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java =================================================================== diff -u -r35164 -r35443 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 35164) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 35443) @@ -15,12 +15,10 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; -import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import com.forgon.Constants; import com.forgon.component.grid.GridManager; import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; @@ -29,8 +27,6 @@ import com.forgon.disinfectsystem.basedatamanager.sterilisation.service.SterilisationManager; import com.forgon.disinfectsystem.basedatamanager.sterilizer.service.SterilizerManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; -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.sterilisation.Sterilisation; @@ -39,15 +35,13 @@ import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.packing.ReviewedBasket; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; -import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecordPic; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.BelimedSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CommonSterilizerRecord; +import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.GtCommonSterilizerRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.SterilizerRecord; -import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CommonStageDetails; -import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.CommonSterilizerRecord; import com.forgon.disinfectsystem.sterilizationmanager.sterilizationrecord.service.SterilizationRecordManager; import com.forgon.disinfectsystem.sterilizationmanager.sterilizationunload.service.SterileUnloadScanTousseManager; import com.forgon.disinfectsystem.sterilizationmanager.sterilizerrecord.service.SterilizerRecordManager; -import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; import com.forgon.security.model.User; import com.forgon.security.service.UserManager; import com.forgon.systemsetting.model.HttpOption; @@ -57,7 +51,6 @@ import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.string.StringTools; import com.forgon.tools.util.ForgonDateUtils; -import com.forgon.tools.util.SqlUtils; /** * @author WangYi 2012-2-24 @@ -87,8 +80,6 @@ private ObjectDao objectDao; - private TousseInstanceManager tousseInstanceManager; - private SterilizerRecordManager sterilizerRecordManager; @@ -103,10 +94,6 @@ this.sterileUnloadScanTousseManager = sterileUnloadScanTousseManager; } - public void setTousseInstanceManager(TousseInstanceManager tousseInstanceManager) { - this.tousseInstanceManager = tousseInstanceManager; - } - public void setObjectDao(ObjectDao objectDao) { this.objectDao = objectDao; } @@ -760,7 +747,6 @@ */ public String getSterilizationCompleteByBarcode(String barcode,Long sterilizationRecordId){ JSONObject json = new JSONObject(); - String msg = ""; try { json = sterileUnloadScanTousseManager.scanBarcode(sterilizationRecordId, barcode); json.put("success", true); @@ -842,11 +828,25 @@ //结束灭菌时间 String lastSlrProcStartTime = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - if(SterilizationRecord.STERILIZATIONPARATYPE_TYPE_COMMON.equals(sterilizationRecord.getSterilizationParaType())){ - CommonSterilizerRecord commonSterilizerRecord = (CommonSterilizerRecord)objectDao.getByProperty(CommonSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", Long.valueOf(sterilizationRecordId)); - if(commonSterilizerRecord != null){ - lastSlrProcStartTime = sdf.format(commonSterilizerRecord.getEndDate()); - firstSlrProcStartTime = sdf.format(commonSterilizerRecord.getStartDate()); + if(sterilizationRecord.getSterilizationParaType() != null){ + if(SterilizationRecord.STERILIZATIONPARATYPE_TYPE_COMMON == sterilizationRecord.getSterilizationParaType()){ + CommonSterilizerRecord commonSterilizerRecord = (CommonSterilizerRecord)objectDao.getByProperty(CommonSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", sterilizationRecord.getId()); + if(commonSterilizerRecord != null){ + lastSlrProcStartTime = sdf.format(commonSterilizerRecord.getEndDate()); + firstSlrProcStartTime = sdf.format(commonSterilizerRecord.getStartDate()); + } + }else if(SterilizationRecord.STERILIZATIONPARATYPE_TYPE_GETINGE_COMMON == sterilizationRecord.getSterilizationParaType()){ + GtCommonSterilizerRecord record = (GtCommonSterilizerRecord)objectDao.getByProperty(GtCommonSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", sterilizationRecord.getId()); + if(record != null){ + lastSlrProcStartTime = sdf.format(record.getEndDate()); + firstSlrProcStartTime = sdf.format(record.getStartDate()); + } + }else if(SterilizationRecord.STERILIZATIONPARATYPE_BELIMED == sterilizationRecord.getSterilizationParaType()){ + BelimedSterilizerRecord record = (BelimedSterilizerRecord)objectDao.getByProperty(BelimedSterilizerRecord.class.getSimpleName(), "sterilizationRecord.id", sterilizationRecord.getId()); + if(record != null){ + lastSlrProcStartTime = sdf.format(record.getEndDate()); + firstSlrProcStartTime = sdf.format(record.getStartDate()); + } } }else{ sterilizerRecords = sterilizerRecordManager.getSterilizerRecord(sterilizationRecordId);