From 3b6d708fc1beb4e753b1d39abc4074d68ea1ee85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 11 Nov 2025 13:48:17 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20bug-890=20=E6=88=90=E5=93=81=E5=87=BA?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E7=9B=B8=E5=85=B3=E4=B8=9A=E5=8A=A1=E5=8D=95?= =?UTF-8?q?=E6=8D=AE=E6=8B=86=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InProduceOrderController.java | 12 ++++--- .../controller/OutProduceController.java | 32 +++++++++++++++++++ .../resources/template/生产入库单.html | 2 +- .../template/生产领料出库单.html | 2 +- .../resources/template/生产领料单.html | 2 +- .../common/pojo/qo/InProduceOrderSaveQO.java | 7 +++- .../pojo/qo/InProduceOrderSearchQO.java | 7 +++- .../common/pojo/qo/OutProduceSearchQO.java | 5 +++ .../common/pojo/vo/OutProduceTicketVO.java | 5 +++ .../nflg/wms/common/pojo/vo/Zwm3a07VO.java | 5 +++ .../repository/entity/WmsInProduceOrder.java | 7 ++++ .../wms/repository/entity/WmsOutProduce.java | 7 ++++ .../impl/WmsInProduceOrderServiceImpl.java | 1 + .../resources/mapper/WmsOutProduceMapper.xml | 3 ++ .../mapper/WmsOutProduceTicketMapper.xml | 2 +- 15 files changed, 88 insertions(+), 11 deletions(-) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java index 38143f84..4f9943dd 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java @@ -114,6 +114,7 @@ public class InProduceOrderController extends BaseController { public ApiResult save(@Valid @RequestBody InProduceOrderSaveQO request) { if (Objects.isNull(request.getId())) { WmsInProduceOrder order = new WmsInProduceOrder() + .setDataType(request.getDataType()) .setNo(serialNumberControllerService.generateSerialNumber(8)) .setOrderNo(request.getAufnr()) .setList(request.getList()) @@ -209,7 +210,7 @@ public class InProduceOrderController extends BaseController { /** * 导出物料条码pdf(逐个) - * @param id 订单ID + * @param id 订单ID * @param type 1:逐个,2:一页 */ @GetMapping("exportMaterialsPdf") @@ -255,11 +256,11 @@ public class InProduceOrderController extends BaseController { } } - private String generateQRContent(DeliverNormalOrderItemDTO order,String indexNo){ + private String generateQRContent(DeliverNormalOrderItemDTO order, String indexNo) { String content = StrUtil.format("{}${}${}${}${}${}${}${}${}" - , order.getPrintNo(), order.getExternalOrderNo(),order.getRowNo(),order.getMaterialNo(),order.getPrintNum() + , order.getPrintNo(), order.getExternalOrderNo(), order.getRowNo(), order.getMaterialNo(), order.getPrintNum() , order.getMaterialDesc(), order.getSupplierCode(), order.getBatchNo(), Optional.ofNullable(indexNo).orElse("")); - log.debug("二维码内容:"+ content); + log.debug("二维码内容:" + content); return content; } @@ -294,6 +295,7 @@ public class InProduceOrderController extends BaseController { } InProduceOrderItemVO first = list.get(0); Map base = new HashMap<>(); + base.put("title", order.getDataType() == 0 ? "半成品入库单" : "成品入库单"); base.put("date", DateUtil.format(LocalDateTime.now(), "yyyy-MM-dd")); base.put("factoryNo", first.getFactoryNo()); base.put("warehouseNo", first.getWarehouseNo()); @@ -434,7 +436,7 @@ public class InProduceOrderController extends BaseController { } private void syncStorage(InProduceOrderItemVO it, Collection binNos) { - if(CollectionUtil.isEmpty(binNos)) + if (CollectionUtil.isEmpty(binNos)) return; produceOrderItemService.lambdaUpdate() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java index d6a75672..aa2e021a 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java @@ -22,6 +22,7 @@ import com.nflg.wms.common.pojo.dto.InventoryDTO; import com.nflg.wms.common.pojo.dto.MaterialQRCodeContentDTO; import com.nflg.wms.common.pojo.qo.*; import com.nflg.wms.common.pojo.vo.*; +import com.nflg.wms.common.util.EecExcelUtil; import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.WmsOutProduce; @@ -40,7 +41,9 @@ import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import org.ttzero.excel.entity.ListMapSheet; +import java.io.IOException; import java.math.BigDecimal; import java.time.Instant; import java.time.LocalDateTime; @@ -430,6 +433,7 @@ public class OutProduceController extends BaseController { // list.add(new WmsOutProduceItem().setMatnr(RandomUtil.randomNumbers(10))); // } Map base = new HashMap<>(); + base.put("title", order.getDataType() == 0 ? "生产订单领料单" : "成品发货领料单"); base.put("date", DateUtil.format(LocalDateTime.now(), "yyyy-MM-dd")); base.put("qrcode", QRCodeUtil.generateQRCodeBase64(order.getNo(), 100, 100)); Map variables = new HashMap<>(); @@ -488,6 +492,7 @@ public class OutProduceController extends BaseController { /** * 导出领料出库单 + * @param id 出库单id */ @GetMapping("0/exportTicket") public void exportTicket0(HttpServletResponse response, @Valid @RequestParam @NotNull Long id) throws Exception { @@ -496,6 +501,7 @@ public class OutProduceController extends BaseController { List list = outProduceTicketItemService.getList(id); list.forEach(it -> it.setAufnr(order.getAufnr())); Map base = new HashMap<>(); + base.put("title", order.getDataType() == 0 ? "生产订单发料单" : "成品发货出库单"); base.put("createDate", DateUtil.format(order.getCreateTime(), "yyyy-MM-dd")); base.put("date", DateUtil.format(LocalDateTime.now(), "yyyy-MM-dd")); Map variables = new HashMap<>(); @@ -505,4 +511,30 @@ public class OutProduceController extends BaseController { String html = ThymeleafUtil.generator("/template/", "生产领料出库单", ".html", variables); PdfGeneratorUtil.generatePdf("生产领料出库单" + order.getNo(), html, response); } + + /** + * 导出领料出库单EXCEL + * @param id 出库单id + */ + @GetMapping("exportTicket") + public void exportTicket(HttpServletResponse response, @RequestParam @NotNull Long id) throws IOException { + OutProduceTicketVO order = outProduceTicketService.getInfo(id); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("领料出库单不存在"); + List> datas = new ArrayList<>(); + List list = outProduceTicketItemService.getList(id); + list.forEach(it -> { + Map map = new LinkedHashMap<>(); + map.put("物料编码", it.getMatnr()); + map.put("物料描述", it.getMaktx2()); + map.put("单位", it.getMeins()); + map.put("预留/相关需求的项目编号", it.getRspos()); + map.put("需求日期", it.getBdter()); + map.put("申请数量", it.getNum()); + map.put("工厂", order.getDwerk()); + map.put("仓库", it.getLgort2()); + datas.add(map); + }); + EecExcelUtil.eecExcel((order.getDataType() == 0 ? "生产订单发料单" : "成品发货出库单") + order.getTicketNo() + , new ListMapSheet<>(datas), response); + } } diff --git a/nflg-wms-admin/src/main/resources/template/生产入库单.html b/nflg-wms-admin/src/main/resources/template/生产入库单.html index 5b8e46be..14df30b9 100644 --- a/nflg-wms-admin/src/main/resources/template/生产入库单.html +++ b/nflg-wms-admin/src/main/resources/template/生产入库单.html @@ -141,7 +141,7 @@
福建南方路面机械股份有限公司
-
成品/半成品入库单
+
成品/半成品入库单
diff --git a/nflg-wms-admin/src/main/resources/template/生产领料出库单.html b/nflg-wms-admin/src/main/resources/template/生产领料出库单.html index 242c7b05..88403a91 100644 --- a/nflg-wms-admin/src/main/resources/template/生产领料出库单.html +++ b/nflg-wms-admin/src/main/resources/template/生产领料出库单.html @@ -127,7 +127,7 @@
福建南方路面机械股份有限公司
-
生产订单发料单
+
生产订单发料单
diff --git a/nflg-wms-admin/src/main/resources/template/生产领料单.html b/nflg-wms-admin/src/main/resources/template/生产领料单.html index 2658b335..1277d765 100644 --- a/nflg-wms-admin/src/main/resources/template/生产领料单.html +++ b/nflg-wms-admin/src/main/resources/template/生产领料单.html @@ -166,7 +166,7 @@
福建南方路面机械股份有限公司
-
生产订单领料单
+
生产订单领料单
diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderSaveQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderSaveQO.java index 4aecff63..15a112ed 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderSaveQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderSaveQO.java @@ -3,7 +3,12 @@ package com.nflg.wms.common.pojo.qo; import lombok.Data; @Data -public class InProduceOrderSaveQO extends InProduceOrderGenerateMaterialsQO{ +public class InProduceOrderSaveQO extends InProduceOrderGenerateMaterialsQO { private Long id; + + /** + * 类型,0:半成品;1:成品 + */ + private Integer dataType = 0; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderSearchQO.java index 95b6f466..5fb704d1 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderSearchQO.java @@ -3,10 +3,15 @@ package com.nflg.wms.common.pojo.qo; import lombok.Data; @Data -public class InProduceOrderSearchQO extends SearchBaseQO{ +public class InProduceOrderSearchQO extends SearchBaseQO { /** * 报工单号或生产订单号 */ private String no; + + /** + * 类型,0:半成品;1:成品 + */ + private Integer dataType = 0; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSearchQO.java index a66c8344..5d0bc86d 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSearchQO.java @@ -12,6 +12,11 @@ public class OutProduceSearchQO extends SearchBaseQO { @NotNull private Integer type; + /** + * 数据类型,0:半成品;1:成品 + */ + private Integer dataType = 0; + /** * 领料单号 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/OutProduceTicketVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/OutProduceTicketVO.java index f874ac7c..d0309a90 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/OutProduceTicketVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/OutProduceTicketVO.java @@ -11,4 +11,9 @@ public class OutProduceTicketVO extends OutProduceVO { * 出库单号 */ private String ticketNo; + + /** + * 数据类型,0:半成品;1:成品 + */ + private Integer dataType; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/Zwm3a07VO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/Zwm3a07VO.java index 3b61985d..3374eb03 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/Zwm3a07VO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/Zwm3a07VO.java @@ -130,6 +130,11 @@ public class Zwm3a07VO { */ private BigDecimal leftNum; + /** + * 数据类型,0:半成品;1:成品 + */ + private Integer dataType = 0; + @JsonIgnore private String key1; diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInProduceOrder.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInProduceOrder.java index df5a1827..2157ca50 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInProduceOrder.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInProduceOrder.java @@ -1,6 +1,7 @@ package com.nflg.wms.repository.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Getter; @@ -51,6 +52,12 @@ public class WmsInProduceOrder implements Serializable { */ private Short state; + /** + * 数据类型,0:半成品;1:成品 + */ + @TableField("data_type") + private Integer dataType; + /** * 物料凭证编号 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsOutProduce.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsOutProduce.java index 30080b28..5a58224e 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsOutProduce.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsOutProduce.java @@ -1,6 +1,7 @@ package com.nflg.wms.repository.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Getter; @@ -129,4 +130,10 @@ public class WmsOutProduce implements Serializable { * 类型,0:领料;1:补料 */ private Integer type; + + /** + * 数据类型,0:半成品;1:成品 + */ + @TableField("data_type") + private Integer dataType; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInProduceOrderServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInProduceOrderServiceImpl.java index ae61dfd4..6f389653 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInProduceOrderServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInProduceOrderServiceImpl.java @@ -26,6 +26,7 @@ public class WmsInProduceOrderServiceImpl extends ServiceImpl search(InProduceOrderSearchQO request) { return lambdaQuery() + .eq(WmsInProduceOrder::getDataType, request.getDataType()) .and(StrUtil.isNotBlank(request.getNo()),wrapper -> wrapper.like(WmsInProduceOrder::getNo, request.getNo()) .or() diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsOutProduceMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsOutProduceMapper.xml index 444666a3..e545c90c 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsOutProduceMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsOutProduceMapper.xml @@ -15,6 +15,9 @@ SELECT * FROM wms_out_produce where "type"=#{request.type} + + and data_type = #{request.dataType} + and "no" ilike concat('%', #{request.no}, '%') diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsOutProduceTicketMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsOutProduceTicketMapper.xml index ca0f8a5a..63699189 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsOutProduceTicketMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsOutProduceTicketMapper.xml @@ -23,7 +23,7 @@