Index: ssts-web/src/main/webapp/disinfectsystem/print/print.js
===================================================================
diff -u -r13669 -r13690
--- ssts-web/src/main/webapp/disinfectsystem/print/print.js (.../print.js) (revision 13669)
+++ ssts-web/src/main/webapp/disinfectsystem/print/print.js (.../print.js) (revision 13690)
@@ -840,34 +840,57 @@
var newDate = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
return newDate;
}
+//根据标签纸类型设置打印页面类型
+function setFormTypeOfPrintedByPageType(tousseType,pageType){
+ var formType = pageTypeToFormTypeOfPrinted(tousseType,pageType);
+ if(formType == ''){
+ formType = "smallLabel";
+ }
+ formTypeOfPrinted = formType;
+}
+function pageTypeToFormTypeOfPrinted(tousseType,pageType){
+ var formType = '';
+ if(pageType == "加大标签"){
+ formType = "exLargeLabel";
+ }
+ else if(pageType == "大标签"){
+ formType = "largeLabel";
+ }else if(pageType == "中标签"){ //需要改造,调用print(obj)进行打印
+ formType = "middleLable";
+ }else if(pageType == "中标签2"){ //需要改造,调用print(obj)进行打印
+ formType = "middleLable2";
+ }else if(pageType == "小标签2"){
+ formType = "smallLabel2";
+ }
+ if(formType != ''){
+ if(tousseType=='消毒物品'){
+ formType = formType + '_disinfect';
+ }
+ }
+ return formType;
+}
+function isPageTypeConfigured(tousseType,pageType){
+ var formType = pageTypeToFormTypeOfPrinted(tousseType,pageType);
+ if(formType == ''){
+ return false;
+ }
+ return isFormTypeConfigured(formType);
+}
+function isFormTypeConfigured(formType){
+ var myObj = printConfig[formType];
+ if(isUndefinedOrNullOrEmpty(myObj)){
+ return false;
+ }
+ return true;
+}
//打印装配包
function defaultPrintPackage(obj) {
var pageType = obj.pageType;
if (!isUndefinedOrNullOrEmpty(obj.barcode)) {
- if(pageType == "加大标签"){
- formTypeOfPrinted = "exLargeLabel";
- print(obj);
- }
- else if(pageType == "大标签"){
- formTypeOfPrinted = "largeLabel";
- print(obj);
- }else if(pageType == "中标签"){ //需要改造,调用print(obj)进行打印
- formTypeOfPrinted = "middleLable";
- print(obj);
-// printPackage_60x80(barcode,name,material,operator,reviewer,sterilizationDate,validDate,hospitalName,sterilizer,frequency,markTousse,sterilingType);
- }else if(pageType == "中标签2"){ //需要改造,调用print(obj)进行打印
- formTypeOfPrinted = "middleLable2";
- print(obj);
-// printPackage_60x80(barcode,name,material,operator,reviewer,sterilizationDate,validDate,hospitalName,sterilizer,frequency,markTousse,sterilingType);
- }else if(pageType == "小标签2"){
- formTypeOfPrinted = "smallLabel2";
- print(obj);
- }else{
- formTypeOfPrinted = "smallLabel";
- print(obj);
- }
+ setFormTypeOfPrintedByPageType(obj.tousseType,pageType);
+ print(obj);
// jeff li 2015/6/26,增加选择打印机的功能,会从C:\forgon\config\printConfig.ini本地文件
// 读取配置,如果没有获取到对应的打印机,则会用默认打印机打印。
var printerName = getPrinterNameByType(formTypeOfPrinted);
@@ -885,6 +908,111 @@
alert("打印内容为空");
}
}
+// 打印消毒物品
+function defaultPrintDisinfection(tousseObj) {
+ var barcodes = tousseObj.barcodes;
+ var validDate = tousseObj.validDate;
+ var packageType = tousseObj.packageType;
+
+ if (typeof(validDate) == undefined || typeof(validDate) == "undefined"){
+ alert("包装类型【" + packageType + "】的有效期未定义,请检查系统参数设置!");
+ return;
+ }
+
+ var isTraceable = tousseObj.isTraceable;
+ var fixedBarcode = tousseObj.fixedBarcode;
+
+ var tousseName = tousseObj.tousseName;
+
+ var packTime = tousseObj.packTime;
+ var sterilizationDate = tousseObj.sterilizationDate; // 灭菌日期,高水平消毒的消毒物品,采用该值作为消毒日期
+ var materialsJsonArray = tousseObj.materialsJsonArray;
+ var department = tousseObj.department;
+ var isSterile = tousseObj.isSterile;
+
+ var operatorToPrint = tousseObj.operatorToPrint;
+ var reviewerToPrint = tousseObj.reviewerToPrint;
+
+ if(barcodes != null && barcodes.length > 0){
+ if(department != null && department != ""){
+ // 消毒物品如果追溯,则在物品名字前面打印科室名称,不追溯就不打印科室名称
+ /*if (isTraceable){
+ tousseName = "(" + department + ")" + tousseName;
+ }*/
+ //调整为消毒物品的器械包定义是否打印科室如果为是,则打印科室名称
+ if(tousseObj.isPrintOrg == true){
+ tousseName = "(" + department + ")" + tousseName;
+ }
+ }
+ for ( var j = 0; j < barcodes.length; j++) {
+ var printBarcodeStr = barcodes[j];
+ if(!isTraceable){
+ printBarcodeStr = fixedBarcode;
+ }
+ if (printBarcodeStr != null && printBarcodeStr != '') {
+
+ LODOP = getLodop(document.getElementById('LODOP'), document
+ .getElementById('LODOP_EM'));
+ var position = tousseName.indexOf("_");
+ if (position > 0){
+ tousseName = tousseName.substring(0, position);
+ }
+
+ var tableHtml ="
";
+ tableHtml += "";
+ tableHtml += ""+tousseName+"";
+ tableHtml += " | ";
+ tableHtml += "
";
+
+ var dateStr = packTime;
+ // 如果该消毒物品需要灭菌,并且灭菌日期不为空,则消毒日期取灭菌日期的值
+ if (tousseObj.isSterile == '是' && sterilizationDate != "" && sterilizationDate != 'undefined'){
+ dateStr = sterilizationDate;
+ }
+
+ if (dateStr.length > 10){
+ dateStr = dateStr.substring(0,10);
+ }
+
+ tableHtml += "";
+ tableHtml += "消毒日期:" + dateStr + "";
+ tableHtml += " |
";
+
+ //打印材料明细
+ if(materialsJsonArray && materialsJsonArray.length>0){
+ tableHtml += "";
+ tableHtml += "";
+
+ var materialHtml = "";
+// materialHtml += "物品名称 | 数量 | ";
+ for ( var i = 0; i < materialsJsonArray.length; i++) {
+ materialHtml += ""+materialsJsonArray[i].name+" | "+materialsJsonArray[i].count+" | ";
+
+ }
+ materialHtml += " ";
+
+
+ tableHtml += (materialHtml + " |
");
+ }
+
+ tableHtml += "";
+ tableHtml += "";
+ tableHtml += tousseObj.packageTypeAbbreviation+" ";
+ tableHtml += ""+printBarcodeStr;
+ tableHtml += " |
";
+
+
+ tableHtml += "
";
+ LODOP.ADD_PRINT_HTM(0,0,"100%","100%",""+tableHtml+"");
+ LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT","Full-Page");
+
+ LODOP.PRINT();
+ } else {
+ alert("打印的物品没有条码,无法打印");
+ }
+ }
+ }
+}
function printObjByConfig(printSummaryObj) {
formTypeOfPrinted = printSummaryObj.formTypeOfPrinted;
print(printSummaryObj);
@@ -1868,6 +1996,31 @@
var idCardLargeLabelConfig_default = {
customPrint:printIDCardLargeLabel_default
}
+//将一次性物品材料设置到材料属性里面
+function setDisposableGoodsItemsToMaterialInstances(idCardInstance){
+ if(isUndefinedOrNullOrEmpty(idCardInstance.tousseDefinition)){
+ return;
+ }
+ var diposableGoodsItems = idCardInstance.tousseDefinition.diposableGoodsItems;
+ if(isUndefinedOrNullOrEmpty(diposableGoodsItems)){
+ return;
+ }
+ if(isUndefinedOrNullOrEmpty(idCardInstance.tousseDefinition.materialInstances)){
+ idCardInstance.tousseDefinition.materialInstances = [];
+ }
+ var materialInstances = idCardInstance.tousseDefinition.materialInstances;
+ for(var i=0;i