|
@ -1119,6 +1119,8 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor |
|
|
public void exportShippingInformOrder(String outOrderCode, HttpServletResponse response) { |
|
|
public void exportShippingInformOrder(String outOrderCode, HttpServletResponse response) { |
|
|
|
|
|
|
|
|
String fileName = "出货通知单.xlsx"; |
|
|
String fileName = "出货通知单.xlsx"; |
|
|
|
|
|
//出货单号:CTD年月日+001三位数流水号
|
|
|
|
|
|
String shippingInformOrderCode = redisCache.generateBillNo("CTD"); |
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
String fileAbsolutePath = FileDownloadUtils.getFileAbsolutePath(fileName); |
|
|
String fileAbsolutePath = FileDownloadUtils.getFileAbsolutePath(fileName); |
|
@ -1135,21 +1137,52 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor |
|
|
insertShippingInformation(outOrderCode,shippingInformationType,shippingTemplateType,sysSalesShippingInform); |
|
|
insertShippingInformation(outOrderCode,shippingInformationType,shippingTemplateType,sysSalesShippingInform); |
|
|
|
|
|
|
|
|
String salesOrderCode = sysSalesShippingInform.getSalesOrderCode(); |
|
|
String salesOrderCode = sysSalesShippingInform.getSalesOrderCode(); |
|
|
SysMakeOrder sysMakeOrder = sysMakeOrderMapper.selectMakeOrderBySaleNo(salesOrderCode); |
|
|
|
|
|
|
|
|
List<String> salesOrderCodes = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotEmpty(salesOrderCode)){ |
|
|
|
|
|
String[] splitSalesOrderCode = salesOrderCode.split(","); |
|
|
|
|
|
salesOrderCodes = Arrays.asList(splitSalesOrderCode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//生产订主表的数据
|
|
|
|
|
|
List<SysMakeOrder> sysMakeOrders = sysMakeOrderMapper.selectMakeOrderListBySalesOrderCodes(salesOrderCodes); |
|
|
|
|
|
|
|
|
|
|
|
//获取销售订单的明细
|
|
|
|
|
|
List<SysSalesOrderChild> sysSalesOrderChildren = salesOrderChildMapper.selectBatchOrderChildListBySalesOrderCode(salesOrderCodes); |
|
|
|
|
|
|
|
|
String realFileName = sysSalesShippingInform.getSalesOrderCode() +"-"+ fileName.substring(0, fileName.lastIndexOf("."))+ ".xlsx"; |
|
|
String realFileName = sysSalesShippingInform.getSalesOrderCode() +"-"+ fileName.substring(0, fileName.lastIndexOf("."))+ ".xlsx"; |
|
|
// 设置响应头,指定文件名和文件类型
|
|
|
// 设置响应头,指定文件名和文件类型
|
|
|
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(realFileName, "UTF-8")); |
|
|
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(realFileName, "UTF-8")); |
|
|
response.setContentType("application/octet-stream"); |
|
|
response.setContentType("application/octet-stream"); |
|
|
|
|
|
|
|
|
List<AfterSalesShippingDevice> salesShippingDeviceList = salesShippingDeviceMapper.selectShippingDeviceBySalesOrderCode(salesOrderCode); |
|
|
|
|
|
|
|
|
Map<String, SysMakeOrder> makeOrderMap = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
for (SysMakeOrder sysMakeOrder : sysMakeOrders) { |
|
|
|
|
|
makeOrderMap.put(sysMakeOrder.getSaleNo(),sysMakeOrder); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ArrayList<ExportShippingInformOrderDto> shippingInformOrderDtos = new ArrayList<>(); |
|
|
ArrayList<ExportShippingInformOrderDto> shippingInformOrderDtos = new ArrayList<>(); |
|
|
for (AfterSalesShippingDevice afterSalesShippingDevice : salesShippingDeviceList) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (SysSalesOrderChild sysSalesOrderChild : sysSalesOrderChildren) { |
|
|
|
|
|
|
|
|
ExportShippingInformOrderDto shippingInformOrderDto = new ExportShippingInformOrderDto(); |
|
|
ExportShippingInformOrderDto shippingInformOrderDto = new ExportShippingInformOrderDto(); |
|
|
shippingInformOrderDto.setDeviceModelCode(afterSalesShippingDevice.getDeviceModelCode()); |
|
|
SysMakeOrder sysMakeOrder = makeOrderMap.get(sysSalesOrderChild.getQuoteId()); |
|
|
shippingInformOrderDto.setMaterialName(afterSalesShippingDevice.getMaterialName()); |
|
|
shippingInformOrderDto.setCustomerOrderCode(sysMakeOrder.getCustomerOderCode()); |
|
|
|
|
|
shippingInformOrderDto.setMakeNo(sysMakeOrder.getMakeNo()); |
|
|
|
|
|
shippingInformOrderDto.setSalesOrderCode(sysMakeOrder.getSaleNo()); |
|
|
|
|
|
|
|
|
|
|
|
shippingInformOrderDto.setMaterialName(sysSalesOrderChild.getMaterialName()); |
|
|
|
|
|
shippingInformOrderDto.setMaterialModel(sysSalesOrderChild.getMaterialModel()); |
|
|
|
|
|
shippingInformOrderDto.setMaterialNum(sysSalesOrderChild.getMaterialNum()); |
|
|
|
|
|
shippingInformOrderDto.setLogo(null); |
|
|
|
|
|
shippingInformOrderDto.setRemark(null); |
|
|
|
|
|
shippingInformOrderDto.setTrackingCode(null); |
|
|
|
|
|
|
|
|
shippingInformOrderDtos.add(shippingInformOrderDto); |
|
|
shippingInformOrderDtos.add(shippingInformOrderDto); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -1158,12 +1191,9 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor |
|
|
|
|
|
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
String shippingDate = dateFormat.format(new Date()); |
|
|
String shippingDate = dateFormat.format(new Date()); |
|
|
map.put("makeNo",sysMakeOrder.getMakeNo()); |
|
|
map.put("shippingInformOrderCode",shippingInformOrderCode); |
|
|
map.put("salesOrderNumber",sysSalesShippingInform.getSalesOrderNumber()); |
|
|
|
|
|
map.put("customerContactAddress",sysSalesShippingInform.getCustomerContactAddress()); |
|
|
|
|
|
map.put("shippingDate",shippingDate); |
|
|
map.put("shippingDate",shippingDate); |
|
|
map.put("customerName",sysSalesShippingInform.getCustomerName()); |
|
|
map.put("customerName",sysSalesShippingInform.getCustomerName()); |
|
|
map.put("businessMembers",sysSalesShippingInform.getBusinessMembers()); |
|
|
|
|
|
|
|
|
|
|
|
ExcelWriter workBook = EasyExcel.write(response.getOutputStream()).withTemplate(fileAbsolutePath).build(); |
|
|
ExcelWriter workBook = EasyExcel.write(response.getOutputStream()).withTemplate(fileAbsolutePath).build(); |
|
|
WriteSheet sheet = EasyExcel.writerSheet().build(); |
|
|
WriteSheet sheet = EasyExcel.writerSheet().build(); |
|
|