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 c05064ae..e1d2b991 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 @@ -111,6 +111,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()) @@ -206,7 +207,7 @@ public class InProduceOrderController extends BaseController { /** * 导出物料条码pdf(逐个) - * @param id 订单ID + * @param id 订单ID * @param type 1:逐个,2:一页 */ @GetMapping("exportMaterialsPdf") @@ -283,6 +284,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()); @@ -423,7 +425,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 0406ec52..ffe20d00 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 @@ -24,6 +24,7 @@ import com.nflg.wms.common.pojo.dto.InventoryForOutDTO; 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; @@ -42,7 +43,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; @@ -500,6 +503,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<>(); @@ -559,6 +563,7 @@ public class OutProduceController extends BaseController { /** * 导出领料出库单 + * @param id 出库单id */ @GetMapping("0/exportTicket") public void exportTicket0(HttpServletResponse response, @Valid @RequestParam @NotNull Long id) throws Exception { @@ -568,6 +573,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<>(); @@ -577,4 +583,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 c2eb3466..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 @@ -1,12 +1,24 @@ package com.nflg.wms.common.pojo.qo; +import jakarta.validation.constraints.NotNull; import lombok.Data; @Data public class OutProduceSearchQO extends SearchBaseQO { /** - * 单号 + * 类型,0:领料;1:补料 + */ + @NotNull + private Integer type; + + /** + * 数据类型,0:半成品;1:成品 + */ + private Integer dataType = 0; + + /** + * 领料单号 */ private String no; 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 7a67cdae..4168fcd5 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 @@ -15,6 +15,11 @@ 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 d942e301..957e2820 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 43ebc98d..959ee457 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsOutProduceTicketMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsOutProduceTicketMapper.xml @@ -24,7 +24,7 @@