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 = "
温度(C) | ";
+ var chartTablePHtml = "
压力(Kpa) | ";
+ for(var i = 0;i < printChar.length;i++){
+ var chartRow = printChar[i];
+ chartTableLabelHtml += ""+ chartRow["time"] +" | ";
+ chartTableTHtml += ""+ chartRow["t1Temp"] +" | ";
+ chartTablePHtml += ""+ chartRow["p1Mbar"] +" | ";
+ }
+ chartTableLabelHtml += "
";
+ chartTableTHtml += "";
+ chartTablePHtml += "";
+ chartTableHtml += chartTableLabelHtml + chartTableTHtml + chartTablePHtml;
+ chartTableHtml += "
";
+
+ //2、基础表格数据
+ var srData = data['srData'];
+ var srDataHtml = "";
+ srDataHtml += "" +
+ "" +
+ "炉号:"+srData["machineNo"]+" "+
+ "炉次:"+srData["frequency"]+" | " +
+ "机器名称:"+srData["machName"]+" | " +
+ "启动时间:"+srData["procStartTime"]+" |
"
+ srDataHtml += "" +
+ "循环次数:"+srData["cycleCounter"]+" | " +
+ "结束时间:"+srData["endDate"]+" |
"
+ srDataHtml += "" +
+ "程序:"+srData["sterilizationType"]+" |
"
+ srDataHtml += "" +
+ "灭菌: | "+
+ "核对: |
"
+ srDataHtml += "
";
+
+ //3、过滤后的详细表格数据
+ var dataTableHtml = "";
+ dataTableHtml += "时间(年/月/日 时:分:秒) | 温度(C) | 压力(Kpa) |
";
+ var printTable = data['table'];
+ //按灭菌阶段填充表格
+ for(var key in printTable){
+ var tableRows = printTable[key];
+ dataTableHtml += ""
+ +""+key+" |
"
+ for(var i = 0;i < tableRows.length;i++){
+ var tableData = tableRows[i];
+ dataTableHtml += ""
+ +""+ tableData["time"]+" | "
+ +""+ tableData["t1Temp"]+" | "//温度1
+ +""+ tableData["p1Mbar"] +" |
";//压力1
+ }
+ }
+ //详细表格页眉
+ dataTableHtml += "" +
+ ""+
+ srData["printUser"]+",zhujiang hospital,"+srData["sterilizationTime"] + ",Page ##"+
+ ""+
+ " |
";
+ dataTableHtml += "
";
+ //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 @@
+