Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r33234 -r33276 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 33234) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 33276) @@ -11011,8 +11011,9 @@ String personInCharge = getFirstPersonIncharge(invoices.stream().map(p->p.getId().toString()).collect(Collectors.toSet()).toArray(new String[0])); batchPrintInvoiceVo.setPersonInCharge(StringTools.defaultString(personInCharge)); if(invoices.get(0).getInvoicePlan() != null){ - //东莞中医院,按申请单合并,invoices集合中所有发货单,是同一张申请单的 - batchPrintInvoiceVo.setApplicationSerialNumber(invoices.get(0).getInvoicePlan().getSerialNumber()); + //如果打印出来的单据是按照科室合并的,存在多个申请单号,则在打印出来的单据上显示多个申请单号,用逗号分隔;按申请单合并,则只会有一个申请单流水号 + String invoicePlanSerialNumbers = getInvoicePlanSerialNumbersByInvoice(invoices); + batchPrintInvoiceVo.setApplicationSerialNumber(invoicePlanSerialNumbers); batchPrintInvoiceVo.setSubmitTime(invoices.get(0).getInvoicePlan().getSubmitTime()); batchPrintInvoiceVo.setHandleDepart(invoices.get(0).getInvoicePlan().getHandleDepart()); } @@ -11081,7 +11082,26 @@ } return retList; } + /** + * 获取发货单集合关联的申请单流水号 + * @param invoices + * @return + */ + private String getInvoicePlanSerialNumbersByInvoice(List invoices) { + if(CollectionUtils.isEmpty(invoices)){ + return ""; + } + List invoicePlanSerialNumberList = new ArrayList(); + for (Invoice invoice : invoices) { + if(invoice.getInvoicePlan() != null){ + invoicePlanSerialNumberList.add(invoice.getInvoicePlan().getSerialNumber()); + } + } + return StringTools.join(invoicePlanSerialNumberList, ","); + } + + /** * 根据groupTypeArray定义的器械包分组及一次性物品,消毒物品的顺序,来重新组合打印数据的集合 * @param tousseGroupPrintDataMap * @param disposableVos Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java =================================================================== diff -u -r31827 -r33276 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 31827) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 33276) @@ -480,6 +480,7 @@ obj.put("manufacturer", diposableGoodBatch.getManufacturer()); obj.put("certification", certification); obj.put("tousseType", TousseItem.TYPE_DIPOSABLE_GOODS); + obj.put("invoicePlanSerialNumber", invoice.getInvoicePlan().getSerialNumber()); jsonArray.add(obj); @@ -528,6 +529,7 @@ obj.put("certification", ""); obj.put("tousseType", tousseDefinition.getTousseType()); obj.put("urgentLevel", tousseInstance.getUrgentLevel()); + obj.put("invoicePlanSerialNumber", invoice.getInvoicePlan().getSerialNumber()); jsonArray.add(obj); } } @@ -575,6 +577,7 @@ obj.put("manufacturer", ""); obj.put("certification", ""); obj.put("tousseType", ExpensiveGoods.TYPE_NAME); + obj.put("invoicePlanSerialNumber", invoice.getInvoicePlan().getSerialNumber()); jsonArray.add(obj); }