From acdac8e11d143351feb359e4ee18b4f500ff024f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 9 Mar 2026 11:35:46 +0800 Subject: [PATCH] =?UTF-8?q?refactor(delivery):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=8F=91=E8=B4=A7=E6=B8=85=E5=8D=95=E5=AF=BC=E5=87=BA=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除手动序号生成逻辑 - 使用服务层方法替代流式处理转换 - 简化数据获取流程 - 提高代码可读性 - 减少内存占用 - 提升性能表现 --- .../controller/DeliveryController.java | 22 +++++++++--------- .../template/发货清单模版.xlsx | Bin 12006 -> 12054 bytes .../template/装箱清单模版.xlsx | Bin 12043 -> 12051 bytes 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/DeliveryController.java b/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/DeliveryController.java index 2daf0255..5cafb83e 100644 --- a/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/DeliveryController.java +++ b/nflg-wms-shipment/src/main/java/com/nflg/wms/shipment/controller/DeliveryController.java @@ -202,17 +202,17 @@ public class DeliveryController extends BaseController { public void exportItemToExcel(HttpServletResponse response, @RequestParam Long id) throws IOException { WmsShipmentDelivery delivery = deliveryService.getById(id); VUtil.trueThrowBusinessError(Objects.isNull(delivery)).throwMessage("清单不存在"); - AtomicInteger index = new AtomicInteger(1); - List list = deliveryItemService.lambdaQuery() - .eq(WmsShipmentDeliveryItem::getDeliveryId, id) - .orderByAsc(WmsShipmentDeliveryItem::getId) - .list() - .stream().map(item -> { - ShipmentMaterialCodeItemVO vo = Convert.convert(ShipmentMaterialCodeItemVO.class, item); - vo.setIndex(index.getAndIncrement()); - return vo; - }).toList(); -// List list = deliveryItemService.getItemsVO(id); +// AtomicInteger index = new AtomicInteger(1); +// List list = deliveryItemService.lambdaQuery() +// .eq(WmsShipmentDeliveryItem::getDeliveryId, id) +// .orderByAsc(WmsShipmentDeliveryItem::getId) +// .list() +// .stream().map(item -> { +// ShipmentMaterialCodeItemVO vo = Convert.convert(ShipmentMaterialCodeItemVO.class, item); +// vo.setIndex(index.getAndIncrement()); +// return vo; +// }).toList(); + List list = deliveryItemService.getItemsVO(id); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("发货清单-" + delivery.getNo() + ".xlsx", StandardCharsets.UTF_8)); new Workbook() diff --git a/nflg-wms-shipment/src/main/resources/template/发货清单模版.xlsx b/nflg-wms-shipment/src/main/resources/template/发货清单模版.xlsx index b646b7451d3d4eda634eb0893f61be5d1a125364..2c7a81606cb343c52e66da4dda33c0dfcbc124d6 100644 GIT binary patch delta 6865 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 aj?V-Fk>5MrJ^%8XLLhm$9-MRDYyKZC$KK%p delta 6818 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