Index: ssts-web/src/main/webapp/disinfectsystem/config/cdlqyq1yy/print/printConfig.js
===================================================================
diff -u -r18200 -r18205
--- ssts-web/src/main/webapp/disinfectsystem/config/cdlqyq1yy/print/printConfig.js (.../printConfig.js) (revision 18200)
+++ ssts-web/src/main/webapp/disinfectsystem/config/cdlqyq1yy/print/printConfig.js (.../printConfig.js) (revision 18205)
@@ -1219,7 +1219,7 @@
}
var foreignTousseMiddleLableConfig = {
- customPrint:printForeignTousseMiddleLable_gyey
+ customPrint:printForeignTousseMiddleLable_cdlqyq1yy
}
//function printForeignTousseMiddleLable_gyey(printSummaryObj){
@@ -1302,74 +1302,171 @@
// LODOP.ADD_PRINT_HTM(0,0,"100%","100%","
"+tableHtml+"");
// LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT","Full-Page");
//}
-
-function printForeignTousseMiddleLable_gyey(obj){
- doGetLodop();
+/**
+ * 获取中标签中材料的字体大小。需要根据记录数计算大小,同时要考虑材料的名称,如果当前字体下,名称太长导致换行,则认为行数增加
+ * @param materials 所有需要打印的材料
+ * @param cols 材料的列数 如:名称 数量 名称 数量,这种情况下,cols为2,指一行的记录数
+ */
+function getMaterialsFontSize_middleLabel(materials,cols){
+ /**
+ * 计算材料名称列的行数(包括名称和规格)
+ */
+ var nameRows = function(material){
+ var temp = material.name;
+ // 不打印材料
+ if (material.specification != null && material.specification != ""){
+ temp += "[" + material.specification + "]";
+ }
+
+ var nameMaxLenthPerLine = 8;
+ return Math.ceil(temp.length / nameMaxLenthPerLine) ; // 向上取整
+ }
- // 划线
- if(obj.markTousse){
- LODOP.ADD_PRINT_LINE('14mm','0mm','14mm','60mm',0,1);
- LODOP.ADD_PRINT_LINE('40mm','0mm','40mm','60mm',0,1);
+ var materialsAmount = materials.length;
+ var fontSize = 10;
+ var rows = Math.ceil(materialsAmount / cols) ; // 向上取整
+ var addTotalRow = 0;
+ for(var row = 0; row < rows;++row){
+ var addRow = 0;
+ var index = cols * row;
+ while(index < cols*(row + 1)){
+ if(index < materialsAmount){
+ var addRow2 = nameRows(materials[index]);
+ addRow = (addRow > addRow2)?addRow:addRow2;
+ }
+ ++index;
+ }
+ addRow = addRow < 1?1:addRow; //至少有一行
+ addTotalRow += (addRow - 1);
}
- // 设置默认字体
- setDefaultFontNameSizeBold('宋体',15,1);
- // 默认条码属性
- LODOP.SET_PRINT_STYLE('ShowBarText', true);
- LODOP.SET_PRINT_STYLE('FontSize', 6);
- LODOP.SET_PRINT_STYLE('NotOnlyHighPrecision', true);
+ rows += addTotalRow;
+ if ( rows > 15){
+ fontSize = 5;
+ }else if(rows > 13){
+ fontSize = 6;
+ }
+ else if (rows > 12){
+ fontSize = 7;
+ }
+ else if (rows > 10){
+ fontSize = 8;
+ }else if (rows > 8){
+ fontSize = 9;
+ }else if (rows > 6){
+ fontSize = 10;
+ }else if (rows >= 4){
+ fontSize = 12;
+ }else{
+ fontSize = 13;
+ }
+ return fontSize;
+}
+//构造表格
+function getMaterialsTabHtml_foreignTousseMiddleLable(tousse){
+ //绘制材料明细表格
+ var markTousse = tousse['markTousse'];
+ var materials = tousse.materials;
+ // 打印材料明细
+ var materialsTab = "";
+ var borderSize = 0;
- var fontSize = getFontSizeByStr(obj.name,[
- {maxLen:10,fontSize:14},
- {maxLen:15,fontSize:12},
- {maxLen:20,fontSize:10},
- {maxLen:30,fontSize:9},
- {maxLen:40,fontSize:7},
- {maxLen:1000,fontSize:5}
- ]);
- LODOP.ADD_PRINT_TEXT("2mm","0mm","RightMargin:0mm","12mm", obj.name);
+ if(markTousse){
+ //borderSize = 1;
+ }
+
+ var materialsAmount = materials.length;
+ if(materials != null && materialsAmount > 0){
+ var materialStr = "";
+ var fontSize = getMaterialsFontSize_middleLabel(materials,2);
+// alert(fontSize)
+ materialStr += "名称 | ";
+ materialStr += "数量 | ";
+ materialStr += "名称 | ";
+ materialStr += "数量 | ";
+ materialStr += "#;";
+ for (var i=0;i" + temp + "";
+ materialStr += "" + material.count + " | ";
+ }
+ if (materialsAmount % 2 != 0) {
+ for (var i = 0; i < (2 - materialsAmount % 2); i++) {
+ materialStr += (" | ");
+ }
+ }
+
+ if (materialStr.length > 0) {
+ materialsTab += "";
+ var materialArray = materialStr.split("#;");
+ for (var i=0; i"
+ + materialArray[i] + "";
+ }
+ materialsTab += "
";
+ }
+
+ }
+ //alert(materialsTab)
+ return materialsTab;
+}
+//打印外来器械包中标签 70cmx48cm
+function printForeignTousseMiddleLable_cdlqyq1yy(tousse){
+ doGetLodop();
+ var name = StringUtils.defaultIfEmpty(tousse.nameWithoutPartInfo,"");
+ var splitPackagesAmount = StringUtils.defaultIfEmpty(tousse.splitPackagesAmount,"");
+ var packageNumber = StringUtils.defaultIfEmpty(tousse.packageNumber,"");
+ if(!isUndefinedOrNullOrEmpty(packageNumber) && !isUndefinedOrNullOrEmpty(splitPackagesAmount) && splitPackagesAmount > 1){
+ name = name + "(" + packageNumber + "/" + splitPackagesAmount + ")";
+ }
+
+ var fontSize = getFontSizeByStr(name,[{maxLen:10,fontSize:14},
+ {maxLen:20,fontSize:11},
+ {maxLen:30,fontSize:8},
+ {maxLen:1000,fontSize:8}
+ ]);
+ LODOP.ADD_PRINT_TEXT("1mm","0mm","RightMargin:0mm","6mm", name);
setFontSizeBold(fontSize,1);// 设置字体
setAlignment('center');// 对齐
- LODOP.ADD_PRINT_TEXT("15mm","1mm","34mm","7mm", "灭菌:"+obj.sterilizationDate);
- setFontSizeBold(11,0);// 设置字体
- LODOP.ADD_PRINT_TEXT("15mm","33mm","30mm","7mm", "装配员:"+obj.operator);
- setFontSizeBold(11,0);// 设置字体
- LODOP.ADD_PRINT_TEXT("20mm","1mm","34mm","7mm", "失效:"+obj.validDate);
- setFontSizeBold(11,0);// 设置字体
- LODOP.ADD_PRINT_TEXT("20mm","33mm","30mm","7mm", "审核员:"+obj.reviewer);
- setFontSizeBold(11,0);// 设置字体
+ LODOP.SET_PRINT_STYLE("FontSize",9);
+ LODOP.SET_PRINT_STYLE("Bold",0);
+ LODOP.ADD_PRINT_TEXT("8mm","4mm","30mm","3mm", "灭菌期:" + StringUtils.defaultIfEmpty(tousse.sterilizationDate,""));
+ setAlignment('left');// 对齐
- LODOP.ADD_PRINT_TEXT("25mm","1mm","34mm","7mm", "病人:"+obj.patient);
- setFontSizeBold(11,0);// 设置字体
+ LODOP.SET_PRINT_STYLE("FontSize",9);
+ LODOP.SET_PRINT_STYLE("Bold",0);
+ LODOP.ADD_PRINT_TEXT("8mm","36mm","30mm","3mm", "失效期:" + StringUtils.defaultIfEmpty(tousse.validDate,""));
+ setAlignment('left');// 对齐
- LODOP.ADD_PRINT_TEXT("30mm","0mm","60mm","7mm", obj.total);
- setFontSizeBold(11,0);// 设置字体
- setAlignment('center');// 对齐
+ LODOP.SET_PRINT_STYLE("FontSize",9);
+ LODOP.SET_PRINT_STYLE("Bold",0);
+ LODOP.ADD_PRINT_TEXT("11mm","4mm","30mm","4mm", "医生:" + StringUtils.defaultIfEmpty(tousse.doctor,""));
+ setAlignment('left');// 对齐
- var sterilizer = obj.sterilizer;
- if(sterilizer == null || sterilizer.length == 0){
- sterilizer = obj.hospitalName;
- }else{
- sterilizer = "【"+sterilizer + "】第" + obj.frequency +"炉";
- }
- LODOP.ADD_PRINT_TEXT("35mm","0mm","60mm","7mm", sterilizer);// 炉次
- setFontSizeBold(11,0);// 设置字体
- setAlignment('center');// 对齐
+ LODOP.SET_PRINT_STYLE("FontSize",9);
+ LODOP.SET_PRINT_STYLE("Bold",0);
+ LODOP.ADD_PRINT_TEXT("11mm","36mm","30mm","4mm", "备注:" + StringUtils.defaultIfEmpty(tousse.remark,""));
+ setAlignment('left');// 对齐
- LODOP.ADD_PRINT_BARCODE("41mm","10mm","40mm","18mm","128Auto", obj.barcode);// 条码1
- setAlignment('center');// 对齐
+ var tableStr = getMaterialsTabHtml_foreignTousseMiddleLable(tousse);
+ addPrintTable(tableStr,"15mm","2mm","RightMargin:1mm","21mm");
+ setAlignment('center');// 居中对齐
- var fontSize = getFontSizeByStr(obj.name,[
- {maxLen:10,fontSize:10},
- {maxLen:20,fontSize:8},
- {maxLen:1000,fontSize:6}
- ]);
- LODOP.ADD_PRINT_TEXT("64mm","0mm","RightMargin:0mm","3mm", obj.name);
- setFontSizeBold(fontSize,1);// 设置字体
- setAlignment('center');// 对齐
-
- LODOP.ADD_PRINT_BARCODE("69mm","10mm","40mm","10mm","128Auto", obj.barcode);// 条码2
- setAlignment('center');// 对齐
+ // 打印条码信息
+ LODOP.ADD_PRINT_BARCODE("36mm","19mm","32mm","10mm","128Auto", tousse.barcode);
+ LODOP.SET_PRINT_STYLEA(0, 'ShowBarText', true);
+ LODOP.SET_PRINT_STYLEA(0, 'FontSize', 6);
+ LODOP.SET_PRINT_STYLEA(0, 'NotOnlyHighPrecision', true);
}
//小标签配置,50x30mm
var smallLabelConfig = {
@@ -1655,7 +1752,7 @@
//打印回收清单配置
var recyclingItemsPrintConfig = {
customPrint:printrecyclingItems_cdlqyq1yy,
- isPrintTousse : false,
+ isPrintTousse : true,
isPrintDisinfectGoods : true,
isPrintDisposableGoods : false,
isMergePrintTousseAndDisposable : false, // 器械包和一次性物品是否合并打印
@@ -1734,7 +1831,8 @@
// 中标签:80x60规格
middleLable : middleLableConfig,
middleLable2 : middleLable2Config,
- foreignTousseMiddleLable:foreignTousseMiddleLableConfig,// 外来器械中标签
+ // 外来器械中标签 70cmx48cm
+ foreignTousseMiddleLable:foreignTousseMiddleLableConfig,
// 大标签:100x80规格
largeLabel : exLargeLabelConfig,
// 加大标签:100x100规格
Index: ssts-web/src/main/webapp/disinfectsystem/common/cssdUtils.js
===================================================================
diff -u -r17979 -r18205
--- ssts-web/src/main/webapp/disinfectsystem/common/cssdUtils.js (.../cssdUtils.js) (revision 17979)
+++ ssts-web/src/main/webapp/disinfectsystem/common/cssdUtils.js (.../cssdUtils.js) (revision 18205)
@@ -175,7 +175,8 @@
pageType:tousseObj.pageType,'labelType':tousseObj.pageType,'doctor':foreignTousseAppInfo.doctor,'patient':foreignTousseAppInfo.patient,'surgery':foreignTousseAppInfo.surgery,'operationTime':foreignTousseAppInfo.operationTime,
'implantAmount':implantAmount,'supplierName':foreignTousseAppInfo.supplierName,'splitPackagesAmount':foreignTousseAppInfo.splitPackagesAmount,'patientArea':foreignTousseAppInfo.patientArea,
'bedNumber':foreignTousseAppInfo.bedNumber,'depart':foreignTousseAppInfo.ascriptionDepartment,'hospitalNumber': foreignTousseAppInfo.hospitalNumber,'clinicNumber': foreignTousseAppInfo.clinicNumber,'ascriptionDepartment':foreignTousseAppInfo.ascriptionDepartment,
- 'packageTypeAbbreviation':packageTypeAbbreviation,'applicationItemTotal':foreignTousseAppInfo.applicationItemTotal,'operationRoom':foreignTousseAppInfo.operationRoom
+ 'packageTypeAbbreviation':packageTypeAbbreviation,'applicationItemTotal':foreignTousseAppInfo.applicationItemTotal,'operationRoom':foreignTousseAppInfo.operationRoom,
+ 'remark':foreignTousseAppInfo.remark
};
printSummaryObj.washOperator = tousseObj.washOperator;
printSummaryObj.tousseType = tousseObj.tousseType;
Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java
===================================================================
diff -u -r18137 -r18205
--- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 18137)
+++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 18205)
@@ -214,6 +214,7 @@
obj.put("surgery", app.getSurgery());
obj.put("operationTime", app.getOperationTimeString());
obj.put("operationRoom", app.getOperationRoom());
+ obj.put("remark", app.getRemark());
obj.put("toolsAmount", toolsAmount);
obj.put("patientArea", patientArea);
obj.put("bedNumber", bedNumber);