Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r31077 -r31214 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 31077) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 31214) @@ -9194,6 +9194,12 @@ tempVo.setSterilizerName(sterilizerName); tempVo.setTotalPrice(MathTools.mul(tempVo.getAmount(), tempVo.getPrice()).doubleValue()); tempVo.setSupplierName(tousseDefinition.getSupplierName()); + Set invoiceIds = new HashSet(); + InvoiceItem invoiceItem = (InvoiceItem) tousseItemInvoiceItemMap.get(tousseItem); + if(invoiceItem != null){ + invoiceIds.add(invoiceItem.getInvoiceID()); + } + tempVo.setInvoiceIds(invoiceIds); voList.add(tempVo); } } @@ -9498,6 +9504,10 @@ tempVo.setSupplierName(tousseDefinition.getSupplierName()); voList.add(tempVo); } + Set invoiceIds = tempVo.getInvoiceIds(); + invoiceIds = (invoiceIds == null ? new HashSet() : invoiceIds); + invoiceIds.add(invoice.getId()); + tempVo.setInvoiceIds(invoiceIds); if(invoice.getInvoicePlan() != null && StringUtils.isBlank(tempVo.getApplicationDate())){ tempVo.setApplicationDate(invoice.getInvoicePlan().getApplicationTime()); } @@ -9976,6 +9986,10 @@ if(invoice.getInvoicePlan() != null && StringUtils.isBlank(invoicePrintVo.getApplicationDate())){ invoicePrintVo.setApplicationDate(invoice.getInvoicePlan().getApplicationTime()); } + Set invoiceIds = invoicePrintVo.getInvoiceIds(); + invoiceIds = (invoiceIds == null ? new HashSet() : invoiceIds); + invoiceIds.add(invoice.getId()); + invoicePrintVo.setInvoiceIds(invoiceIds); // List materialList = tousseDefinition.getMaterialInstances(); // for (MaterialInstance materialInstance : materialList) { // String materialName = materialInstance.getMaterialName(); @@ -10404,6 +10418,10 @@ } voList.add(tempVo); } + Set invoiceIds = tempVo.getInvoiceIds(); + invoiceIds = (invoiceIds == null ? new HashSet() : invoiceIds); + invoiceIds.add(invoice.getId()); + tempVo.setInvoiceIds(invoiceIds); if(invoice.getInvoicePlan() != null && StringUtils.isBlank(tempVo.getApplicationDate())){ tempVo.setApplicationDate(invoice.getInvoicePlan().getApplicationTime()); } @@ -10948,6 +10966,24 @@ }else{ batchPrintInvoiceVo.setTousse(goodsVo); } + Set invoiceIdSet = new HashSet(); + for (InvoicePrintVo vo : goodsVo) { + invoiceIdSet.addAll(vo.getInvoiceIds()); + } + // 修改发货单的打印格式,如果发货单的物品来源于多张申请单,需要把所有申请单的单号条码都打印出来,给手麻系统进行扫描(SZYK-37) + String invoiceSerialNumbers = ""; + for (Invoice invoice : invoices) { + if(!invoiceIdSet.contains(invoice.getId())){ + continue; + } + String serialNumber = invoice.getSerialNumber(); + if (StringUtils.isBlank(invoiceSerialNumbers)) { + invoiceSerialNumbers = serialNumber; + } else { + invoiceSerialNumbers += ";" + serialNumber; + } + } + batchPrintInvoiceVo.setInvoiceSerialNumbers(invoiceSerialNumbers); retList.add(batchPrintInvoiceVo); } } Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/InvoicePrintVo.java =================================================================== diff -u -r26359 -r31214 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/InvoicePrintVo.java (.../InvoicePrintVo.java) (revision 26359) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/InvoicePrintVo.java (.../InvoicePrintVo.java) (revision 31214) @@ -4,6 +4,8 @@ package com.forgon.disinfectsystem.invoicemanager.vo; import java.util.Date; +import java.util.HashSet; +import java.util.Set; import com.forgon.Constants; import com.forgon.tools.string.StringTools; @@ -84,6 +86,11 @@ private String expensiveGoodsUnit = ""; private String expensiveGoodsModelName = ""; private String expensiveGoodsType = ""; + + /** + * 物品对应的发货单ID + */ + private Set invoiceIds = new HashSet(); public Long getTousseDefinitionId() { return tousseDefinitionId; @@ -425,5 +432,14 @@ public void setExpensiveGoodsTotalPrice(Double expensiveGoodsTotalPrice) { this.expensiveGoodsTotalPrice = expensiveGoodsTotalPrice; } + + public Set getInvoiceIds() { + return invoiceIds; + } + public void setInvoiceIds(Set invoiceIds) { + this.invoiceIds = invoiceIds; + } + + } Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/BatchPrintInvoiceVo.java =================================================================== diff -u -r23015 -r31214 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/BatchPrintInvoiceVo.java (.../BatchPrintInvoiceVo.java) (revision 23015) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/BatchPrintInvoiceVo.java (.../BatchPrintInvoiceVo.java) (revision 31214) @@ -22,7 +22,13 @@ private String submitTime; private String sender; private String serialNumber2; + /** + * 发货单流水号,多个流水号用";"分割(多个发货单合并打印时,需要把所有申请单的单号条码都打印出来,给手麻系统进行扫描SZYK-37) + */ + private String invoiceSerialNumbers; + + /** * 申请单编号 */ private String applicationSerialNumber; @@ -92,6 +98,12 @@ public void setSerialNumber2(String serialNumber2) { this.serialNumber2 = StringTools.defaultString(serialNumber2); } + public String getInvoiceSerialNumbers() { + return invoiceSerialNumbers; + } + public void setInvoiceSerialNumbers(String invoiceSerialNumbers) { + this.invoiceSerialNumbers = invoiceSerialNumbers; + } public String getApplicationSerialNumber() { return applicationSerialNumber; }