Index: ssts-web/src/main/webapp/disinfectsystem/print/print.js =================================================================== diff -u -r25643 -r25788 --- ssts-web/src/main/webapp/disinfectsystem/print/print.js (.../print.js) (revision 25643) +++ ssts-web/src/main/webapp/disinfectsystem/print/print.js (.../print.js) (revision 25788) @@ -1921,6 +1921,20 @@ } } /** + * 打印灭菌详细。 + * @param recyclingPrintDatas + */ +function doPrintSterilizationRecord(printObject){ + if(printObject){ + formTypeOfPrinted = "sterilizationRecordData"; + setPrinterByConfig(); + print2(printObject); + LODOP.PRINT(); +// LODOP.PREVIEW(); + } +} + +/** * 打印签收单。 * @param recyclingPrintDatas */ Index: ssts-web/src/main/webapp/disinfectsystem/config/zjyy/print/printConfig.js =================================================================== diff -u -r23238 -r25788 --- ssts-web/src/main/webapp/disinfectsystem/config/zjyy/print/printConfig.js (.../printConfig.js) (revision 23238) +++ ssts-web/src/main/webapp/disinfectsystem/config/zjyy/print/printConfig.js (.../printConfig.js) (revision 25788) @@ -1,4 +1,4 @@ -var appropriationInListConfig = { +var appropriationInListConfig = { headerFooter : [ // 页眉名称 {label : "珠江医院调拨入库单", dataIndex : '', fontSize : 15, position : ["0.3cm","37%","99%",5]}, @@ -1224,6 +1224,98 @@ ] } +/** + * 自定义灭菌炉打印 + */ +var sterilizationRecordDataConfig = { + customPrint:printsterilizationRecord +} + +function printsterilizationRecord(data){ + + //1、图表数据 + var printChar = data['chart']; + var chartTableHtml = ""; + var chartTableLabelHtml = ""; + var chartTableTHtml = ""; + var chartTablePHtml = ""; + for(var i = 0;i < printChar.length;i++){ + var chartRow = printChar[i]; + chartTableLabelHtml += ""; + chartTableTHtml += ""; + chartTablePHtml += ""; + } + chartTableLabelHtml += ""; + chartTableTHtml += ""; + chartTablePHtml += ""; + chartTableHtml += chartTableLabelHtml + chartTableTHtml + chartTablePHtml; + chartTableHtml += "
温度压力曲线图
温度(C)
压力(Kpa)"+ chartRow["time"] +""+ chartRow["t1Temp"] +""+ chartRow["p1Mbar"] +"
"; + + //2、基础表格数据 + var srData = data['srData']; + var srDataHtml = ""; + srDataHtml += "" + + "" + + "" + + "" + srDataHtml += "" + + "" + + "" + srDataHtml += "" + + "" + srDataHtml += "" + + ""+ + "" + srDataHtml += "
" + + "炉号:"+srData["machineNo"]+"
"+ + "炉次:"+srData["frequency"]+"
机器名称:"+srData["machName"]+"启动时间:"+srData["procStartTime"]+"
循环次数:"+srData["cycleCounter"]+"结束时间:"+srData["endDate"]+"
程序:"+srData["sterilizationType"]+"
灭菌:核对:
"; + + //3、过滤后的详细表格数据 + var dataTableHtml = ""; + dataTableHtml += ""; + var printTable = data['table']; + //按灭菌阶段填充表格 + for(var key in printTable){ + var tableRows = printTable[key]; + dataTableHtml += "" + +"" + for(var i = 0;i < tableRows.length;i++){ + var tableData = tableRows[i]; + dataTableHtml += "" + +"" + +""//温度1 + +"";//压力1 + } + } + //详细表格页眉 + dataTableHtml += ""; + dataTableHtml += "
时间(年/月/日 时:分:秒)温度(C)压力(Kpa)
"+key+"
"+ tableData["time"]+""+ tableData["t1Temp"]+""+ tableData["p1Mbar"] +"
" + + ""+ + srData["printUser"]+",zhujiang hospital,"+srData["sterilizationTime"] + ",Page ##"+ + ""+ + "
"; + //4、顶部 + var headHtml = "
" + + "新华灭菌器炉次记录报告
"; + + //打印设置 + var LODOP = getLodop(document.getElementById('LODOP'), document.getElementById('LODOP_EM')); + //顶部 + LODOP.ADD_PRINT_HTM(10,20,"90%",30,headHtml); + //基础数据 + LODOP.ADD_PRINT_TABLE(55,"10%","90%","200px",srDataHtml); + //图表部分数据 + LODOP.ADD_PRINT_CHART(155,"3%",'100%','7.5cm',6,chartTableHtml); + // + LODOP.ADD_PRINT_TEXT(450,300,"100%",5,"灭菌温度压力数据表"); + LODOP.SET_PRINT_STYLEA(0,"FontSize",17); + //过滤峰值点后的详细表格数据 + LODOP.ADD_PRINT_TABLE(490,10,"100%","100%",dataTableHtml); + LODOP.SET_PRINT_STYLEA(0,"Offset2Top",-450);//设置次页(第一页后)开始的上边距偏移量,0则代表当前(最后加入的那个)数据项 + //LODOP.PREVIEW(); + //LODOP.PRINT(); +} + var printConfig = { //发货计划单 invoicePlan : invoicePlanPrintConfig, @@ -1283,5 +1375,7 @@ //回收物品明细。在回收界面的保存并打印按钮触发 recyclingGoodsDetail : recyclingGoodsDetailConfig, //发货物品统计 - invoiceItemSummary : invoiceItemSummaryConfig + invoiceItemSummary : invoiceItemSummaryConfig, + //灭菌详细 + sterilizationRecordData : sterilizationRecordDataConfig }; \ No newline at end of file Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/action/SterilizerRecordLineChartAction.java =================================================================== diff -u -r25616 -r25788 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/action/SterilizerRecordLineChartAction.java (.../SterilizerRecordLineChartAction.java) (revision 25616) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizerrecord/action/SterilizerRecordLineChartAction.java (.../SterilizerRecordLineChartAction.java) (revision 25788) @@ -1,9 +1,10 @@ package com.forgon.disinfectsystem.sterilizationmanager.sterilizerrecord.action; - +import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.regex.Pattern; +import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.commons.collections.CollectionUtils; @@ -12,6 +13,8 @@ import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; +import com.forgon.Constants; +import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizerrecord.SterilizerRecord; import com.forgon.disinfectsystem.sterilizationmanager.sterilizationrecord.service.SterilizationRecordManager; @@ -46,13 +49,13 @@ if (sourceString == null) { // sourceString = "Date,T1,P1,T3\n"; sourceString = "Date,T1,P1\n"; - sourceString += getTimeDate(record.getTime()) + ","//yy/mm/dd hh:mm:ss 返回给前台曲线图插件会显示时间格式不对 + sourceString += getTimeDateStr(record.getTime(),DateTools.COMMON_DATE_HMS ) + ","//yy/mm/dd hh:mm:ss 返回给前台曲线图插件会显示时间格式不对 + record.getT1Temp() + "," + record.getP1Mbar() + "\n"; // + record.getP1Mbar() + "," // + record.getT3Temp() + "\n"; } else { - sourceString += getTimeDate(record.getTime()) + "," + sourceString += getTimeDateStr(record.getTime(),DateTools.COMMON_DATE_HMS ) + "," + record.getT1Temp() + "," + record.getP1Mbar() + "\n"; // + record.getP1Mbar() + "," @@ -78,6 +81,7 @@ StrutsResponseUtils.output(result); return; } + //灭菌记录 SterilizationRecord sterilizationRecord = sterilizationRecordManager .getSterilizationRecordById(Long.valueOf(sterilizationRecordId)); if(sterilizationRecord == null){ @@ -86,13 +90,48 @@ return; } try { - //打印曲线图数据 - List sterilizerRecordsPrintChart = sterilizationRecordManager.getSterilizaerRecordsById(sterilizationRecord.getId()); - //打印表格数据(经过过滤) + //1、打印曲线图数据 + List sterilizerRecords = sterilizationRecordManager.getSterilizaerRecordsById(sterilizationRecord.getId()); + JSONArray chartDatas = new JSONArray(); + for (SterilizerRecord sr : sterilizerRecords) { + JSONObject chartDataobj = new JSONObject(); + chartDataobj.put("time", getTimeDateStr(sr.getTime(),DateTools.COMMON_TIME_HM));//时间(分) + chartDataobj.put("t1Temp", sr.getT1Temp());//温度1 + chartDataobj.put("p1Mbar", sr.getP1Mbar());//压力1 + chartDatas.add(chartDataobj); + } + //2、打印表格数据(经过过滤) JSONObject sterilizerRecordsPrintTable = sterilizationRecordManager.getPrintSterilizaerRecordsById(sterilizationRecord.getId()); + //3、灭菌炉基础数据 + JSONObject srData = new JSONObject(); + SterilizerRecord endSterilizationr = new SterilizerRecord(); + SterilizerRecord startSterilizationr = new SterilizerRecord(); + if(sterilizerRecords != null){ + endSterilizationr = sterilizerRecords.get(sterilizerRecords.size()-1);//最后一条灭菌炉信息 + startSterilizationr = sterilizerRecords.get(0);//第一条灭菌炉信息 + } + SimpleDateFormat sdf= Constants.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS; + String procStartTime = null; + if(startSterilizationr.getProcStartTime() != null){ + procStartTime = sdf.format(startSterilizationr.getProcStartTime()); //开始灭菌时间 + }else{ + procStartTime = startSterilizationr.getTime(); //开始灭菌时间 + } + srData.put("machineNo",StringUtils.defaultString(endSterilizationr.getMachineNo(), " ")); //炉号 + srData.put("machName",StringUtils.defaultString(sterilizationRecord.getSterilizerName(), " ")); //机器名称 + srData.put("frequency", StringUtils.defaultString(sterilizationRecord.getFrequency().toString(), " ")); //炉次 + srData.put("cycleCounter", StringUtils.defaultString(sterilizationRecord.getCycleCounter().toString(), " ")); //循环次数 + srData.put("sterilizationType", StringUtils.defaultString(sterilizationRecord.getSterilizationType(), " "));//灭菌程序 + srData.put("endDate", StringUtils.defaultString(getTimeDateStr(endSterilizationr.getTime(),DateTools.COMMON_DATE_HMS ), " ")); //结束时间 + srData.put("procStartTime",StringUtils.defaultString(getTimeDateStr(procStartTime,DateTools.COMMON_DATE_HMS ), " ")); //开始时间 + srData.put("sterilizationTime",StringUtils.defaultString(getTimeDateStr(procStartTime, DateTools.COMMON_DATE_PATTEN ))); //灭菌时间(年月日) + srData.put("printUser",AcegiHelper.getLoginUser().getUserName()); //打印用户 + + //4、返回打印数据 JSONUtil.addSuccess(result, true); - JSONUtil.addProperty(data, "chart", JSONUtil.toJsonArrayWithJsonlib(sterilizerRecordsPrintChart, new String[]{"sterilizationRecord"})); + JSONUtil.addProperty(data, "chart", chartDatas); JSONUtil.addProperty(data, "table", sterilizerRecordsPrintTable); + JSONUtil.addProperty(data, "srData", srData); JSONUtil.addDataProperty(result, data); } catch (Exception e) { e.printStackTrace(); @@ -106,7 +145,7 @@ * @param timeStr * @return */ - private String getTimeDate(String timeStr){ + private String getTimeDateStr(String timeStr,String format){ Date timeDate = null; if(StringUtils.isNotBlank(timeStr)){ String timeFormat = "[0-9]{2}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}";//是否为yy/mm/ddd hh:mm:ss @@ -116,7 +155,7 @@ timeDate = ForgonDateUtils.safelyParseDate(timeStr); } } - String dateStr = DateTools.getFormatDateStr(timeDate, DateTools.COMMON_DATE_HMS); + String dateStr = DateTools.getFormatDateStr(timeDate,format); return dateStr; } Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizerRecord/sterilizerLineChart.jsp =================================================================== diff -u -r25616 -r25788 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizerRecord/sterilizerLineChart.jsp (.../sterilizerLineChart.jsp) (revision 25616) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizerRecord/sterilizerLineChart.jsp (.../sterilizerLineChart.jsp) (revision 25788) @@ -46,6 +46,7 @@ +