Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r20189 -r20219 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 20189) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 20219) @@ -2168,9 +2168,23 @@ */ Invoice invoice = invoiceList.get(0); //如果产生的发货单超过一张时,回写的单号为本次发货的开始单号-末尾单号 - String writeBackSerialNo = "INVOICE_" + invoice.getSerialNumber(); + String writeBackSerialNo = "INV_"; + if(invoice != null && StringUtils.isNotBlank(invoice.getSerialNumber())){ + if(invoice.getSerialNumber().length() > 6){ + writeBackSerialNo += invoice.getSerialNumber().substring(6); + }else{ + writeBackSerialNo += invoice.getSerialNumber(); + } + } if(invoiceList.size() > 1){ - writeBackSerialNo += "-" + invoiceList.get(invoiceList.size() - 1).getSerialNumber(); + Invoice endInvoice = invoiceList.get(invoiceList.size() - 1); + if(endInvoice != null && StringUtils.isNotBlank(endInvoice.getSerialNumber())){ + if(endInvoice.getSerialNumber().length() > 6){ + writeBackSerialNo += endInvoice.getSerialNumber().substring(6); + }else{ + writeBackSerialNo += endInvoice.getSerialNumber(); + } + } } //发货单的发货科室-供应室 OrgUnit invoiceCssdOrgUnit = (OrgUnit)objectDao.getByProperty(OrgUnit.class.getSimpleName(), "orgUnitCoding", invoice.getOrgUnitCoding());