Index: ssts-web/src/main/webapp/disinfectsystem/print/print.js =================================================================== diff -u -r13741 -r13898 --- ssts-web/src/main/webapp/disinfectsystem/print/print.js (.../print.js) (revision 13741) +++ ssts-web/src/main/webapp/disinfectsystem/print/print.js (.../print.js) (revision 13898) @@ -2706,3 +2706,34 @@ // 加载本地的配置js Ext.onReady(function(){loadLocalJavascript('C:\\forgon\\config\\printConfig.js');}); Ext.onReady(function(){loadLocalJavascript('C:\\forgon\\config\\printerConfig.js');}); + +/** + * 在批量打印发货单之前调用。此处的处理是对消毒物品按名称和规格进行合并 + * 要调用此方法,需要在printConfig中,对batchPrintInvoices的配置中,添加beforeBatchPrintInvoices属性,将此函数名称作为属性值 + * @param invoicesInfo + */ +function beforeBatchPrintInvoices(invoicesInfo){ + if(!invoicesInfo){ + return; + } + var oldGoods = invoicesInfo.disinfectGoods; + // 消毒物品 + if(oldGoods && oldGoods.length > 0){ + var newGoods = new Array(); + for(var i = 0; i < oldGoods.length;++i){ + for(var j = 0; j < newGoods.length;++j){ + if(newGoods[j].name == oldGoods[i].name + && newGoods[j].specification == oldGoods[i].specification + && newGoods[j].expireDate == oldGoods[i].expireDate){ + newGoods[j].amount = parseInt(newGoods[j].amount) + parseInt(oldGoods[i].amount); + break; + } + } + //如果没有找到,则插入原来的数据 + if(j == newGoods.length){ + newGoods.push(oldGoods[i]); + } + } + invoicesInfo.disinfectGoods = newGoods; + } +}