Index: ssts-web/src/main/webapp/disinfectsystem/config/zjjsrmyy/print/printConfig.js =================================================================== diff -u -r28914 -r29093 --- ssts-web/src/main/webapp/disinfectsystem/config/zjjsrmyy/print/printConfig.js (.../printConfig.js) (revision 28914) +++ ssts-web/src/main/webapp/disinfectsystem/config/zjjsrmyy/print/printConfig.js (.../printConfig.js) (revision 29093) @@ -1250,6 +1250,180 @@ LODOP.ADD_PRINT_HTM(0,0,"95%","100%",""+tableHtml+""); } +function printrecyclingItems_ggsrmyy(obj){ + //按物品名称分组 + var groupGoods = []; + //所有科室 + var departs = []; + function groupGoodsItems(goodsArray){ + for(var i = 0; i < goodsArray.length;++i){ + var goods = goodsArray[i]; + if('手术室'==goods.applicationDepart){ + //过滤掉手术室的物品 + continue; + } + var group = null; + for(var index = 0; index < groupGoods.length;++index){ + if(groupGoods[index].goodsName == goods.goodsName){ + group = groupGoods[index]; + break; + } + } + if(!group){ + group = {}; + group.goodsName = goods.goodsName; + group.totalAmount = 0; + group.goods = []; + groupGoods.push(group) + } + var gds = null; + for(var index = 0; index < group.goods.length;++index){ + if(group.goods[index].applicationDepart == goods.applicationDepart){ + gds = group.goods[index]; + } + } + if(gds){ + gds.goodsAmount += parseInt(goods.goodsAmount); + }else{ + group.goods.push(goods); + } + group.totalAmount += parseInt(goods.goodsAmount); + var containsDepart = false; + for(var index = 0; index < departs.length;++index){ + if(departs[index] == goods.applicationDepart){ + containsDepart = true; + break; + } + } + if(!containsDepart){ + departs.push(goods.applicationDepart); + } + } + } + if(obj.goods){ + groupGoodsItems(obj.goods); + } + if(obj.tousses){ + groupGoodsItems(obj.tousses); + } + //一页打印的物品数量 + var goodsAmountPerPage = 20; + //一页打印的科室数量 + var departAmoutPerPage = 10; + var allPages = []; + + var tdAlign = "center"; + var departPages = (departs.length % departAmoutPerPage == 0)?(departs.length/departAmoutPerPage):(departs.length/departAmoutPerPage + 1); + var goodsPages = (groupGoods.length % goodsAmountPerPage == 0)?(groupGoods.length/goodsAmountPerPage):(groupGoods.length/goodsAmountPerPage + 1); + var first = true; + var goodsColWidth = 70; + var totalColWidth = 40; + for(var i = 0; i < parseInt(departPages);++i){ + for(var j = 0; j < parseInt(goodsPages);++j){ + if(!first){ + //不是第一页,需要重新打开一页 + LODOP.NEWPAGE(); + } + + LODOP.SET_PRINT_STYLE("FontSize",17); + LODOP.ADD_PRINT_TEXT(5,300,"100%",5,"CSSD每日回收登记表"); + LODOP.SET_PRINT_STYLE("FontSize",11); + LODOP.ADD_PRINT_TEXT(35,30,"100%",5,"制单人:" + obj.printUser); + LODOP.ADD_PRINT_TEXT(35,230,"100%",5,"开始时间:" + obj.fromTime.substring(0,16)); + LODOP.ADD_PRINT_TEXT(35,480,"100%",5,"结束时间:"+ obj.toTime.substring(0,16)); + + first = false; + var htmlTable =""; + htmlTable += ""; + //表头 + htmlTable += ""; + htmlTable += ""; + for(var col = 0; col < departAmoutPerPage;++col){ + var dpt = departs[i*departAmoutPerPage + col]; + if(dpt){ + htmlTable += ""; + }else{ + break; + } + } + htmlTable += ""; + for(var row = 0; row < goodsAmountPerPage;++row){ + htmlTable += ""; + var group = groupGoods[j*goodsAmountPerPage + row]; + if(!group){ + //打印完了 + break; + } + htmlTable += ""; + htmlTable += ""; + for(var col = 0; col < departAmoutPerPage;++col){ + var dpt = departs[i*departAmoutPerPage + col]; + if(dpt){ + var gds = null; + for(var k = 0; k < group.goods.length;++k){ + if(group.goods[k].applicationDepart == dpt){ + gds = group.goods[k]; + break; + } + } + if(gds){ + htmlTable += ""; + }else{ + htmlTable += ""; + } + }else{ + break; + } + } + htmlTable += ""; + } + htmlTable += "
 合计" + dpt + "
"+group.goodsName+""+group.totalAmount+"" + gds.goodsAmount + " 
"; + + htmlContent = "" + htmlTable + ""; + LODOP.ADD_PRINT_HTM(55,5,"100%","100%",htmlContent); + } + } +} +//打印回收清单配置 +var recyclingItemsPrintConfig = { + customPrint:printrecyclingItems_ggsrmyy, + isPrintTousse : true, + isPrintDisinfectGoods : true, + isPrintDisposableGoods : false, + isMergePrintTousseAndDisposable : false, // 器械包和一次性物品是否合并打印 + printByOriginalApplications : false, //不合并打印情况下是否按原始单据逐份打印 + printApplyInfo : false, + printOrder : 2, // 1:优先打印一次性物品, 2:优先打印器械包 + // 在器械包和一次性物品不合并打印的情况下,消毒物品打印方式: + // 1:优先与一次性物品合并打印,如果无一次性物品则与器械包合并打印, 2:优先与器械包一起合并打印,如果没有器械包则与一次性物品合并打印 ,3:单独打印 + disinfectGoodsPrintMode : 3, + sortDisinfcetGoodsByDepartShift : true, + headerFooter : [ + // 标题 + {label : "张家界市人民医院", dataIndex : 'header', fontSize : 17, position : ["20","60mm","99%",22]}, + {label : "统计时间: ", dataIndex : 'fromTime', fontSize : 11, position : ["70","20mm","90%",5]}, + {label : " 至 ", dataIndex : 'toTime', fontSize : 11, position : ["70","95mm","90%",5]}, + {label : "制 单 人: ", dataIndex : 'printUser', fontSize : 11, position : ["90","20mm","90%",5]}, + {label : "打印时间: ", dataIndex : 'printTime', fontSize : 11, position : ["90","95mm","90%",5]} + + ], + currentPageNumber : {label : "第#页", fontSize : 11, position : ["27.5cm","75%","90%",5]}, + totalPageAmount : {label : "共&页", fontSize : 11, position : ["27.5cm","81%","90%",5]}, + goodsTable :{ + rowHeight : 25, + position : ["117","3%","97%","23cm"], + headRepeat : true, + columns : [ + {header : "序号", dataIndex : 'serialNumber', width : 40, align : 'center', fontSize : 11}, + {header : "科室分类", dataIndex : 'departShift', width : 90, align : 'left', fontSize : 11}, + {header : "科室名称", dataIndex : 'applicationDepart', width : 100, align : 'left', fontSize : 11}, + {header : "项目名称", dataIndex : 'goodsName', width : 100, align : 'left', fontSize : 11}, + {header : "数量", dataIndex : 'goodsAmount', width : 45, align : 'right', fontSize : 11}, + {header : "单位", dataIndex : 'unit', width : 45, align : 'left', fontSize : 11}, + {header : "规格", dataIndex : 'sp', width : 100, align : 'left', fontSize : 11} + ] + } +} var printConfig = { //发货计划单 invoicePlan : customPrintinvoicePlanPrintConfig, @@ -1316,7 +1490,9 @@ //打印器械包明细单 tousseDefinitionMaterials:tousseDefinitionMaterialsConfig_qifuyy, //待回收申请单,是否打印回收汇总单 - recyclingInvoiceTotal:recyclingInvoiceTotalConfig_bjdxzlyy + recyclingInvoiceTotal:recyclingInvoiceTotalConfig_bjdxzlyy, + //打印回收清单 + recyclingItems : recyclingItemsPrintConfig }; var printerNameMapping = { '模板-外来器械标签' : 'ZDesigner GK888t (EPL)',