diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java index 74b60134..1b86e8ad 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysSalesShippingInformServiceImpl.java @@ -695,7 +695,7 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor //totalMakeNum - String totalMakeNum = String.valueOf(salesShippingInformDetails.stream().mapToInt(SysSalesShippingInformDetail::getMakeNum).sum()); + String totalMakeNum = String.valueOf(sysSalesOrderChildren.stream().mapToInt(SysSalesOrderChild::getMaterialNum).sum()); ExcelWriter workBook = EasyExcel.write(response.getOutputStream()).withTemplate(fileAbsolutePath).build(); @@ -732,7 +732,7 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor public void exportShippingOrderTwo(String outOrderCode, HttpServletResponse response) { String fileName = "销售出货单2.xlsx"; - + String shippingOrderCode = redisCache.generateBillNo("shd"); try { String fileAbsolutePath = FileDownloadUtils.getFileAbsolutePath(fileName); @@ -746,6 +746,22 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor SysSalesShippingInform salesShippingInform = sysSalesShippingInformMapper.selectSysSalesShippingInformByCode(outOrderCode); + String salesOrderCode = salesShippingInform.getSalesOrderCode(); + + List salesOrderCodes = new ArrayList<>(); + + if (StringUtils.isNotEmpty(salesOrderCode)){ + String[] splitSalesOrderCode = salesOrderCode.split(","); + salesOrderCodes = Arrays.asList(splitSalesOrderCode); + } + + + List sysSalesOrders = sysSalesOrderMapper.selectSysSalesOrderListByCodeList(salesOrderCodes); + HashMap salesOrderHashMap = new HashMap<>(); + for (SysSalesOrder sysSalesOrder : sysSalesOrders) { + salesOrderHashMap.put(sysSalesOrder.getSalesOrderCode(),sysSalesOrder); + } + //销售出货单 String shippingInformationType = "2"; String shippingTemplateType = "销售出货单2"; @@ -753,33 +769,42 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor insertShippingInformation(outOrderCode,shippingInformationType,shippingTemplateType,salesShippingInform); List salesShippingInformDetails = shippingInformDetailMapper.selectSysSalesShippingInformDetailByCode(outOrderCode); - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - String deliverTime = dateFormat.format(salesShippingInform.getDeliverTime()); + + String realFileName = salesShippingInform.getSalesOrderCode() +"-"+ fileName.substring(0, fileName.lastIndexOf("."))+ ".xlsx"; // 设置响应头,指定文件名和文件类型 response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(realFileName, "UTF-8")); response.setContentType("application/octet-stream"); + + List sysSalesOrderChildren = salesOrderChildMapper.selectBatchOrderChildListBySalesOrderCode(salesOrderCodes); + + AtomicInteger index = new AtomicInteger(1); //处理物料数据 List exportShippingOrderDtos = new ArrayList<>(); - for (SysSalesShippingInformDetail salesShippingInformDetail : salesShippingInformDetails) { + for (SysSalesOrderChild sysSalesOrderChild : sysSalesOrderChildren) { + SysSalesOrder sysSalesOrder = salesOrderHashMap.get(sysSalesOrderChild.getQuoteId()); + ExportShippingOrderDto exportShippingOrderDto = new ExportShippingOrderDto(); exportShippingOrderDto.setIndex(index.getAndIncrement()); - exportShippingOrderDto.setMaterialName(salesShippingInformDetail.getMaterialName()); - exportShippingOrderDto.setMaterialUnit(salesShippingInformDetail.getMaterialUnit()); - exportShippingOrderDto.setMakeNum(salesShippingInformDetail.getMakeNum()); - exportShippingOrderDto.setSalesOrderNumber(salesShippingInform.getSalesOrderNumber()); - exportShippingOrderDto.setRemark(salesShippingInform.getRemark()); + exportShippingOrderDto.setMaterialName(sysSalesOrderChild.getMaterialName()); + exportShippingOrderDto.setMaterialModel(sysSalesOrderChild.getMaterialModel()); + exportShippingOrderDto.setMaterialUnit(sysSalesOrderChild.getUnit()); + exportShippingOrderDto.setMakeNum(sysSalesOrderChild.getMaterialNum()); + exportShippingOrderDto.setSalesOrderNumber(sysSalesOrder.getSalesOrderNumber()); + exportShippingOrderDto.setRemark(sysSalesOrder.getRemark()); + exportShippingOrderDto.setEnterpriseMaterialNo(sysSalesOrder.getEnterpriseMaterialNo()); exportShippingOrderDtos.add(exportShippingOrderDto); } + //totalMakeNum - String totalMakeNum = String.valueOf(salesShippingInformDetails.stream().mapToInt(SysSalesShippingInformDetail::getMakeNum).sum()); + String totalMakeNum = String.valueOf(sysSalesOrderChildren.stream().mapToInt(SysSalesOrderChild::getMaterialNum).sum()); ExcelWriter workBook = EasyExcel.write(response.getOutputStream()).withTemplate(fileAbsolutePath).build(); @@ -789,10 +814,14 @@ public class SysSalesShippingInformServiceImpl implements ISysSalesShippingInfor FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build(); HashMap map = MapUtils.newHashMap(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + String shippingDate = dateFormat.format(new Date()); + + map.put("customerId",salesShippingInform.getCustomerId()); - map.put("deliverTime",deliverTime); - map.put("businessMembers",salesShippingInform.getBusinessMembers()); + map.put("shippingDate",shippingDate); map.put("totalMakeNum",totalMakeNum); + map.put("shippingOrderCode",shippingOrderCode); // 写入数据 workBook.fill(map, sheet); diff --git a/ruoyi-admin/src/main/resources/static/attachments/销售出货单1.xlsx b/ruoyi-admin/src/main/resources/static/attachments/销售出货单1.xlsx index f7f8a848..263bf01c 100644 Binary files a/ruoyi-admin/src/main/resources/static/attachments/销售出货单1.xlsx and b/ruoyi-admin/src/main/resources/static/attachments/销售出货单1.xlsx differ diff --git a/ruoyi-admin/src/main/resources/static/attachments/销售出货单2.xlsx b/ruoyi-admin/src/main/resources/static/attachments/销售出货单2.xlsx index 5fbf35b5..4b9c888c 100644 Binary files a/ruoyi-admin/src/main/resources/static/attachments/销售出货单2.xlsx and b/ruoyi-admin/src/main/resources/static/attachments/销售出货单2.xlsx differ