Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r13689 -r13709 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 13689) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 13709) @@ -3216,7 +3216,7 @@ "t.invoicePlanID", invoicePlanIDSet)); List materialsMD5List = objectDao.findByHql(sql2); sql = String - .format(" where %s and (%s and po.tousseFixedBarcode=false and po.tousseDefinition.materialsMD5 in(%s))", + .format(" where %s and (%s and po.tousseFixedBarcode=false and %s )", SqlUtils.getStringFieldPredicate("po.status", TousseInstance.STATUS_DISINFECTED), SqlUtils.getStringFieldPredicate("po.tousseName", tousseDefinitionName), Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js =================================================================== diff -u -r13080 -r13709 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 13080) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 13709) @@ -1362,6 +1362,13 @@ batchPrintInvoices_CurrentProject(result, printType); return; } + /** + * 在默认打印之前调用的方法,可以对结果数据进行一些处理,如合并,排序 + */ + var beforeBatchPrintInvoicesFunction = typeof(beforeBatchPrintInvoices) + if(beforeBatchPrintInvoicesFunction != undefined && beforeBatchPrintInvoicesFunction != 'undefined'){ + beforeBatchPrintInvoices(result); + } batchPrintInvoices_result_default(result, printType); } function batchPrintInvoices_result_default(result, printType) { Index: ssts-web/src/main/webapp/disinfectsystem/config/gzfdzl/print/printConfig.js =================================================================== diff -u -r13295 -r13709 --- ssts-web/src/main/webapp/disinfectsystem/config/gzfdzl/print/printConfig.js (.../printConfig.js) (revision 13295) +++ ssts-web/src/main/webapp/disinfectsystem/config/gzfdzl/print/printConfig.js (.../printConfig.js) (revision 13709) @@ -1240,6 +1240,35 @@ LODOP.SET_PRINT_STYLEA(0,"Angle",90); LODOP.PRINT(); } +/** + * 在批量打印发货单之前调用。此处的处理是对消毒物品按名称和规格进行合并 + * @param printData + */ +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; + } +} var printConfig = { //发货计划单 invoicePlan : invoicePlanPrintConfig,