Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r27626 -r27677 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 27626) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 27677) @@ -9895,8 +9895,19 @@ */ private Map> seperateTousseInstanceByInvoiceId(Collection tousseInstances) { Map> invoiceTousseMap = new HashMap>(); + // 根据发货单id分离器械包实例 if(CollectionUtils.isNotEmpty(tousseInstances)){ for(TousseInstance ti : tousseInstances){ + if(DatabaseUtil.isPoIdValid(ti.getInvoice2_id())){ + // 二次发货包实例 + List list = invoiceTousseMap.get(ti.getInvoice2_id()); + if(list == null){ + list = new ArrayList(); + invoiceTousseMap.put(ti.getInvoice2_id(), list); + } + list.add(ti); + } + // 一次发货包实例 List list = invoiceTousseMap.get(ti.getInvoice_id()); if(list == null){ list = new ArrayList(); @@ -10234,7 +10245,7 @@ String mergeType = StringTools.defaultIfBlank(CssdUtils.getSystemSetConfigByName("batchPrintInvoiceMergeType"),PrintInvoiceConfig.MERGE_PRINT_TYPE_DEPART); config.setMergePrintType(mergeType); config.setTousseGroupConfig(json.toString()); - String toussesql = " where po.invoice_id in ( " + ids + " ) "; + String toussesql = " where po.invoice_id in ( " + ids + " ) or po.invoice2_id in ( " + ids + " )"; return mergeLoadPrintData(departCodingInvoiceMap,config,loadInvoiceTousseInstance(toussesql)); }