From f52f34eb66140a1819983aaa9d176e391c8248ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 25 Aug 2025 17:47:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InCostCenterBackController.java | 2 +- .../controller/InProduceBackController.java | 2 +- .../controller/InPurchaseController.java | 6 +- .../admin/controller/InventoryController.java | 1 + .../controller/OutAssistanceController.java | 2 +- .../controller/OutCostCenterController.java | 2 +- .../controller/OutProduceController.java | 2 +- .../StructuralPackageOrderController.java | 10 +- .../controller/TransferCompanyController.java | 126 ++++++------ .../controller/TransferFactoryController.java | 192 +++++++++--------- .../pojo/document/OutMaterialScanRecord.java | 5 + .../OutMaterialScanRecordRespository.java | 2 +- .../wms/common/pojo/dto/TransferOrderDTO.java | 2 +- .../nflg/wms/common/pojo/qo/BomSearchQO.java | 3 - .../common/pojo/qo/OutProduceSubmitQO.java | 6 +- .../qo/PackageDeliverOrderSaveItemQO.java | 8 + .../pojo/vo/InventoryCheckTaskItemVO.java | 5 + .../pojo/vo/TransferCompanyPdaItemVO.java | 36 ++++ .../common/pojo/vo/TransferCompanyPdaVO.java | 43 ++++ .../pojo/vo/TransferCompanyTicketVO.java | 5 + .../pojo/vo/TransferFactoryPdaItemVO.java | 47 +++++ .../common/pojo/vo/TransferFactoryPdaVO.java | 28 +++ .../pojo/vo/TransferFactoryTicketInfoVO.java | 5 + .../entity/WmsTransferCompanyTicket.java | 10 + .../repository/entity/WmsTransferFactory.java | 8 +- .../entity/WmsTransferFactoryItem.java | 5 + .../entity/WmsTransferFactoryTicket.java | 15 ++ .../WmsTransferCompanyTicketMapper.java | 2 + .../WmsTransferFactoryTicketMapper.java | 2 + .../IWmsTransferCompanyTicketService.java | 2 + .../IWmsTransferFactoryTicketService.java | 3 + .../WmsTransferCompanyTicketServiceImpl.java | 5 + .../WmsTransferFactoryTicketServiceImpl.java | 5 + .../mapper/WmsTransferCompanyTicketMapper.xml | 9 +- .../mapper/WmsTransferFactoryTicketMapper.xml | 9 +- 35 files changed, 439 insertions(+), 176 deletions(-) create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaItemVO.java create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaVO.java create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaItemVO.java create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaVO.java diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java index 081bde1c..a9a8c2e8 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InCostCenterBackController.java @@ -180,7 +180,7 @@ public class InCostCenterBackController extends BaseController { @Transactional @PostMapping("pda/submit") public ApiResult submit(@Valid @RequestBody OutProduceSubmitQO request) { - WmsInCostcenterBack order = inCostcenterBackService.getById(request.getId()); + WmsInCostcenterBack order = inCostcenterBackService.lambdaQuery().eq(WmsInCostcenterBack::getNo, request.getNo()).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); WmsInCostcenterBackTicket ticket = new WmsInCostcenterBackTicket() .setNo(NoUtil.getOutProduceTicketNo()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java index f934f445..188876cc 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceBackController.java @@ -170,7 +170,7 @@ public class InProduceBackController extends BaseController { @Transactional @PostMapping("pda/submit") public ApiResult submit(@Valid @RequestBody OutProduceSubmitQO request) { - WmsInProduceBack order = inProduceBackService.getById(request.getId()); + WmsInProduceBack order = inProduceBackService.lambdaQuery().eq(WmsInProduceBack::getNo, request.getNo()).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); WmsInProduceBackTicket ticket = new WmsInProduceBackTicket() .setNo(NoUtil.getOutProduceTicketNo()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InPurchaseController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InPurchaseController.java index ca7a6c68..2e4a8540 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InPurchaseController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InPurchaseController.java @@ -147,9 +147,7 @@ public class InPurchaseController extends BaseController { */ @GetMapping("pda/getInfo") public ApiResult getInfo(@Valid @RequestParam @NotNull String no) { - WmsInPurchase order = inPurchaseService.lambdaQuery() - .eq(WmsInPurchase::getNo, no) - .one(); + WmsInPurchase order = inPurchaseService.lambdaQuery().eq(WmsInPurchase::getNo, no).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("退库单不存在"); List datas = inPurchaseItemService.getList(order.getId()); return ApiResult.success(new OutProduce1VO() @@ -174,7 +172,7 @@ public class InPurchaseController extends BaseController { @Transactional @GetMapping("pda/submitForIn") public ApiResult submitForIn(@Valid @RequestBody OutProduceSubmitQO request) { - WmsInPurchase order = inPurchaseService.getById(request.getId()); + WmsInPurchase order = inPurchaseService.lambdaQuery().eq(WmsInPurchase::getNo, request.getNo()).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("退库单不存在"); List datas = inPurchaseItemService.getList(order.getId()); List records = new ArrayList<>(); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InventoryController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InventoryController.java index 03af33af..f75602bc 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InventoryController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InventoryController.java @@ -101,6 +101,7 @@ public class InventoryController extends BaseController { .setId(Objects.isNull(item) ? null : item.getId()) .setTaskId(id) .setFactoryNo(warehouseVO.getFactoryName()) + .setWarehouseId(warehouseVO.getId()) .setWarehouseNo(warehouseVO.getNo()) .setWarehouseName(warehouseVO.getName()) .setChargeUserId(Objects.isNull(item) ? null : item.getChargeUserId()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java index 1d1dc4b7..1b074158 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java @@ -184,7 +184,7 @@ public class OutAssistanceController extends BaseController { @Transactional @PostMapping("pda/submit") public ApiResult submit(@Valid @RequestBody OutProduceSubmitQO request) { - WmsOutAssistance order = outAssistanceService.getById(request.getId()); + WmsOutAssistance order = outAssistanceService.lambdaQuery().eq(WmsOutAssistance::getNo, request.getNo()).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); WmsOutAssistanceTicket ticket = new WmsOutAssistanceTicket() .setId(IdUtil.getSnowflakeNextId()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java index d02bf226..8c2a55b0 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java @@ -180,7 +180,7 @@ public class OutCostCenterController extends BaseController { @Transactional @PostMapping("pda/submit") public ApiResult submit(@Valid @RequestBody OutProduceSubmitQO request) { - WmsOutCostcenter order = outCostcenterService.getById(request.getId()); + WmsOutCostcenter order = outCostcenterService.lambdaQuery().eq(WmsOutCostcenter::getNo, request.getNo()).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); WmsOutCostcenterTicket ticket = new WmsOutCostcenterTicket() .setId(IdUtil.getSnowflakeNextId()) 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 8993af5b..a61460b1 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 @@ -287,7 +287,7 @@ public class OutProduceController extends BaseController { @Transactional @PostMapping("pda/submit") public ApiResult submit(@Valid @RequestBody OutProduceSubmitQO request) { - WmsOutProduce order = outProduceService.getById(request.getId()); + WmsOutProduce order = outProduceService.lambdaQuery().eq(WmsOutProduce::getNo, request.getNo()).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); WmsOutProduceTicket ticket = new WmsOutProduceTicket() .setNo(NoUtil.getOutProduceTicketNo()) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java index 0dee7c45..776b275e 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/StructuralPackageOrderController.java @@ -135,9 +135,6 @@ public class StructuralPackageOrderController extends BaseController { @Resource private IWmsBinService wmsBinService; - @Resource - private IWmsSrmQualityInspectionService srmQualityInspectionService; - @Resource private BinService binService; @@ -226,6 +223,13 @@ public class StructuralPackageOrderController extends BaseController { @Transactional @PostMapping("save") public ApiResult save(@Valid @RequestBody PackageDeliverOrderSaveQO request) { + VUtil.trueThrowBusinessError(request.getItems() + .stream() + .collect(Collectors.groupingBy(PackageDeliverOrderSaveItemQO::getKey1)) + .values() + .stream() + .anyMatch(it -> it.size() > 1) + ).throwMessage("同一个采购单号下的相同物料不能重复配置"); String orderNo; List ids = request.getItems().stream().map(PackageDeliverOrderSaveItemQO::getId).filter(Objects::nonNull).toList(); if (CollectionUtil.isNotEmpty(ids)) { diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java index ac473785..899125e2 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java @@ -3,6 +3,7 @@ package com.nflg.wms.admin.controller; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Pair; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; @@ -34,6 +35,7 @@ import com.nflg.wms.starter.BaseController; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; +import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.extern.slf4j.Slf4j; @@ -152,23 +154,26 @@ public class TransferCompanyController extends BaseController { } /** - * 获取出库单(PDA使用) + * 获取转储单(PDA使用) */ @GetMapping("pda/getInfoForOut") - public ApiResult getInfoForOut(@Valid @RequestParam @NotNull String no) { + public ApiResult getInfoForOut(@Valid @RequestParam @NotNull String no) { WmsTransferCompany order = transferCompanyService.lambdaQuery().eq(WmsTransferCompany::getNo, no).one(); - VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("转储单不存在"); List datas = transferCompanyItemService.getList(order.getId()); - return ApiResult.success(new OutProduce1VO() - .setId(order.getId()) - .setAufnr("") - .setRsnum("") + return ApiResult.success(new TransferCompanyPdaVO() + .setBukrs(order.getBukrs()) + .setReswk(order.getReswk()) + .setLgfsb1(order.getLgfsb1()) + .setBukrs1(order.getBukrs1()) + .setWerks(order.getWerks()) + .setLgort(order.getLgort()) .setItems(datas.stream() - .map(item -> new OutProduceItemVO() - .setLgort2(order.getLgort()) - .setLgpbe(item.getLgpbe()) - .setMaktx2(item.getMaktx()) + .map(item -> new TransferCompanyPdaItemVO() + .setEbelp(item.getEbelp()) + .setEbeln(order.getEbeln()) .setMatnr(item.getMatnr()) + .setMaktx(item.getMaktx()) .setNum(item.getLeft()) ).toList() ) @@ -181,8 +186,8 @@ public class TransferCompanyController extends BaseController { @Transactional @PostMapping("pda/submitForOut") public ApiResult submitForOut(@Valid @RequestBody OutProduceSubmitQO request) { - WmsTransferCompany order = transferCompanyService.getById(request.getId()); - VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + WmsTransferCompany order = transferCompanyService.lambdaQuery().eq(WmsTransferCompany::getNo, request.getNo()).one(); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("转储单不存在"); List datas = transferCompanyItemService.getList(order.getId()); List records = new ArrayList<>(); List ticketItems = new ArrayList<>(); @@ -196,14 +201,14 @@ public class TransferCompanyController extends BaseController { MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode); String materialNo = qrCodeContent.getMaterialNo(); WmsTransferCompanyItem item = datas.stream().filter(d -> StrUtil.equals(d.getMatnr(), materialNo)).findFirst().orElse(null); - VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要领料"); - BigDecimal num = item.getLeft(); - VUtil.trueThrowBusinessError(num.compareTo(qrCodeContent.getNum()) < 0) - .throwMessage("物料" + materialNo + "的领取数量超出申请限制"); + VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要出库"); + VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0) + .throwMessage("物料" + materialNo + "的出库数量超出申请限制"); records.add(new OutMaterialScanRecord() .setSource(5) .setSourceId(order.getId()) .setSourceItemId(item.getId()) + .setTicketId(ticket.getId()) .setMaterialNo(materialNo) .setUnit(item.getMeins()) .setContent(qrCode) @@ -231,7 +236,16 @@ public class TransferCompanyController extends BaseController { return ti; }); pti.setNum(pti.getNum().add(qrCodeContent.getNum())); + item.setLeft(item.getLeft().subtract(qrCodeContent.getNum())); }); + transferCompanyItemService.updateBatchById(datas); + transferCompanyService.lambdaUpdate() + .set(WmsTransferCompany::getUpdateBy, UserUtil.getUserName()) + .set(WmsTransferCompany::getUpdateTime, LocalDateTime.now()) + .eq(WmsTransferCompany::getId, order.getId()) + .update(); + transferCompanyTicketItemService.saveBatch(ticketItems); + outMaterialScanRecordRespository.saveAll(records); ZWM00_MB116VO vo = sapService.zwm00_mb116(new ZWM00_MB116QO() .setEbeln("") .setUsnam(UserUtil.getUserName()) @@ -260,41 +274,33 @@ public class TransferCompanyController extends BaseController { ticket.setDocYear(vo.getMjahr()); ticket.setMatDoc(vo.getMblnr()); transferCompanyTicketService.save(ticket); - transferCompanyItemService.updateBatchById(datas); - outMaterialScanRecordRespository.saveAll(records); - transferCompanyService.lambdaUpdate() - .set(WmsTransferCompany::getUpdateBy, UserUtil.getUserName()) - .set(WmsTransferCompany::getUpdateTime, LocalDateTime.now()) - .eq(WmsTransferCompany::getId, order.getId()) - .update(); - transferCompanyTicketItemService.saveBatch(ticketItems); return ApiResult.success(); } /** - * 获取入库单(PDA使用) + * 查询出库单信息(PDA使用) + * @param no 出库单单号 */ @GetMapping("pda/getInfoForIn") - public ApiResult getInfoForIn(@Valid @RequestParam @NotNull String no) { - WmsTransferCompanyTicket ticket = transferCompanyTicketService.lambdaQuery() - .eq(WmsTransferCompanyTicket::getState, 0) - .eq(WmsTransferCompanyTicket::getNo, no) - .one(); - VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("入库单不存在"); - WmsTransferCompany order = transferCompanyService.getById(ticket.getOrderId()); - VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("转储单不存在"); - List datas = transferCompanyTicketItemService.getList(order.getId()); - return ApiResult.success(new OutProduce1VO() - .setId(order.getId()) - .setAufnr("") - .setRsnum("") + public ApiResult getInfoForIn(@Valid @RequestParam @NotNull String no) { + TransferCompanyTicketVO ticket = transferCompanyTicketService.getByNo(no); + VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("出库单不存在"); + VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效"); + List datas = transferCompanyTicketItemService.getList(ticket.getId()); + return ApiResult.success(new TransferCompanyPdaVO() + .setBukrs(ticket.getBukrs()) + .setReswk(ticket.getReswk()) + .setLgfsb1(ticket.getLgfsb1()) + .setBukrs1(ticket.getBukrs1()) + .setWerks(ticket.getWerks()) + .setLgort(ticket.getLgort()) .setItems(datas.stream() - .map(item -> new OutProduceItemVO() - .setLgort2(order.getLgort()) - .setLgpbe(item.getLgobe()) - .setMaktx2(item.getMaktx()) + .map(item -> new TransferCompanyPdaItemVO() + .setEbelp(item.getEbelp()) + .setEbeln(ticket.getEbeln()) .setMatnr(item.getMatnr()) - .setNum(item.getSqsl()) + .setMaktx(item.getMaktx()) + .setNum(item.getLeft()) ).toList() ) ); @@ -305,16 +311,14 @@ public class TransferCompanyController extends BaseController { */ @Transactional @GetMapping("pda/submitForIn") - public ApiResult submitForIn(@Valid @RequestParam @NotNull Long id) { - WmsTransferCompanyTicket ticket = transferCompanyTicketService.getById(id); - VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("入库单不存在"); - WmsTransferCompany order = transferCompanyService.getById(ticket.getOrderId()); - VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("转储单不存在"); - List datas = transferCompanyTicketItemService.getList(ticket.getId()); - List records = outMaterialScanRecordRespository.findBySourceId(ticket.getOrderId()); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(datas)).throwMessage("未找到出库扫码记录"); - sapService.zwm3a17(new ZWM3A17DTO() - .setEbeln("") + public ApiResult submitForIn(@Valid @RequestParam @NotBlank String no) { + TransferCompanyTicketVO ticket = transferCompanyTicketService.getByNo(no); + VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("出库单不存在"); + VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效"); + List records = outMaterialScanRecordRespository.findByTicketId(ticket.getId()); + VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(records)).throwMessage("未找到出库扫码记录"); + Pair, Pair> vos = sapService.zwm3a17(new ZWM3A17DTO() + .setEbeln(ticket.getEbeln()) .setUsnam(UserUtil.getUserName()) .setItem1(records.stream().collect(Collectors.groupingBy(OutMaterialScanRecord::getKey4)) .values() @@ -322,9 +326,9 @@ public class TransferCompanyController extends BaseController { .map(ls -> new ZWM3A17Item1DTO() .setMATNR(ls.get(0).getMaterialNo()) .setCHARG(ls.get(0).getBatchNo()) - .setLGORT(order.getLgort()) + .setLGORT(ticket.getLgort()) .setERFMG(ls.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) - .setWERKS(order.getWerks()) + .setWERKS(ticket.getWerks()) .setEBELP(ls.get(0).getEbelp()) .setMEINS(ls.get(0).getUnit()) ).toList() @@ -340,8 +344,14 @@ public class TransferCompanyController extends BaseController { .toList() ) ); - ticket.setState(1); - transferCompanyTicketService.save(ticket); + transferCompanyTicketService.lambdaUpdate() + .set(WmsTransferCompanyTicket::getMatDoc, vos.getKey().getKey()) + .set(WmsTransferCompanyTicket::getDocYear, vos.getKey().getValue()) + .set(WmsTransferCompanyTicket::getUpdateBy, UserUtil.getUserName()) + .set(WmsTransferCompanyTicket::getUpdateTime, LocalDateTime.now()) + .set(WmsTransferCompanyTicket::getState, 1) + .eq(WmsTransferCompanyTicket::getId, ticket.getId()) + .update(); return ApiResult.success(); } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java index abe1e16d..4cda36a8 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java @@ -32,6 +32,7 @@ import com.nflg.wms.starter.BaseController; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; +import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.extern.slf4j.Slf4j; @@ -73,6 +74,9 @@ public class TransferFactoryController extends BaseController { @Resource private IWmsTransferFactoryTicketItemService transferFactoryTicketItemService; + @Resource + private IWmsStorageService storageService; + /** * 查询SAP领料订单数据 */ @@ -109,6 +113,7 @@ public class TransferFactoryController extends BaseController { .throwMessage("物料" + item.getMatnr() + "的申请数量超出库存限制"); WmsTransferFactoryItem data = Convert.convert(WmsTransferFactoryItem.class, item); data.setOrderId(order.getId()); + data.setLeft(data.getNum()); transferFactoryItemService.save(data); }); }); @@ -137,6 +142,17 @@ public class TransferFactoryController extends BaseController { return ApiResult.success(); } + /** + * 删除 + */ + @PostMapping("delete") + public ApiResult delete(@Valid @RequestParam @NotNull Long id) { + VUtil.trueThrowBusinessError(transferFactoryTicketService.lambdaQuery().eq(WmsTransferFactoryTicket::getOrderId, id).exists()) + .throwMessage("已生成出库单,禁止删除!"); + transferFactoryService.removeById(id); + return ApiResult.success(); + } + /** * 获取订单详情 */ @@ -150,24 +166,26 @@ public class TransferFactoryController extends BaseController { } /** - * 获取出库单(PDA使用) + * 获取调拨单(PDA使用) */ @GetMapping("pda/getInfoForOut") - public ApiResult getInfoForOut(@Valid @RequestParam @NotNull String no) { - WmsTransferFactory order = transferFactoryService.lambdaQuery().eq(WmsTransferFactory::getState, 0).eq(WmsTransferFactory::getNo, no).one(); - VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在或已出库"); + public ApiResult getInfoForOut(@Valid @RequestParam @NotNull String no) { + WmsTransferFactory order = transferFactoryService.lambdaQuery().eq(WmsTransferFactory::getNo, no).one(); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("调拨单不存在"); List datas = transferFactoryItemService.getList(order.getId()); - return ApiResult.success(new OutProduce1VO() - .setId(order.getId()) - .setAufnr(order.getMblnr()) + return ApiResult.success(new TransferFactoryPdaVO() .setRsnum(order.getRsnum()) + .setMblnr(order.getMblnr()) + .setBwart(order.getBwart()) .setItems(datas.stream() - .map(item -> new OutProduceItemVO() - .setLgort2(order.getLgort()) - .setLgpbe(item.getLgpbe()) - .setMaktx2(item.getMaktx()) + .map(item -> new TransferFactoryPdaItemVO() .setMatnr(item.getMatnr()) - .setNum(item.getNum()) + .setMaktx(item.getMaktx()) + .setUmlgo(order.getUmlgo()) + .setLgort(order.getLgort()) + .setNum(item.getLeft()) + .setBinIn(storageService.getBinNos(item.getMatnr(), order.getWerks(), order.getUmlgo())) + .setBinOut(storageService.getBinNos(item.getMatnr(), order.getWerks(), order.getLgort())) ).toList() ) ); @@ -179,22 +197,43 @@ public class TransferFactoryController extends BaseController { @Transactional @PostMapping("pda/submitForOut") public ApiResult submitForOut(@Valid @RequestBody OutProduceSubmitQO request) { - WmsTransferFactory order = transferFactoryService.getById(request.getId()); - VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); + WmsTransferFactory order = transferFactoryService.lambdaQuery().eq(WmsTransferFactory::getNo, request.getNo()).one(); + VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("调拨单不存在"); List datas = transferFactoryItemService.getList(order.getId()); List records = new ArrayList<>(); + WmsTransferFactoryTicket ticket = new WmsTransferFactoryTicket() + .setId(IdUtil.getSnowflakeNextId()) + .setNo(NoUtil.getTransferFactoryTicketNo()) + .setOrderId(order.getId()) + .setCreateBy(UserUtil.getUserName()) + .setCreateTime(LocalDateTime.now()); + transferFactoryTicketService.save(ticket); + List ticketItems = new ArrayList<>(); request.getQrCodes().forEach(qrCode -> { MaterialQRCodeContentDTO qrCodeContent = NoUtil.getMaterialQRCodeContent(qrCode); String materialNo = qrCodeContent.getMaterialNo(); WmsTransferFactoryItem item = datas.stream().filter(d -> StrUtil.equals(d.getMatnr(), materialNo)).findFirst().orElse(null); - VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要领料"); - BigDecimal num = item.getNum(); - VUtil.trueThrowBusinessError(num.compareTo(qrCodeContent.getNum()) < 0) - .throwMessage("物料" + materialNo + "的领取数量超出申请限制"); + VUtil.trueThrowBusinessError(Objects.isNull(item)).throwMessage("物料" + materialNo + "不需要出库"); + WmsTransferFactoryTicketItem pti = ticketItems.stream() + .filter(ti -> Objects.equals(ti.getOrderItemId(), item.getId())) + .findFirst() + .orElseGet(() -> { + WmsTransferFactoryTicketItem ti = new WmsTransferFactoryTicketItem() + .setTicketId(ticket.getId()) + .setOrderItemId(item.getId()) + .setNum(BigDecimal.ZERO); + ticketItems.add(ti); + return ti; + }); + pti.setNum(pti.getNum().add(qrCodeContent.getNum())); + item.setLeft(item.getLeft().subtract(qrCodeContent.getNum())); + VUtil.trueThrowBusinessError(item.getLeft().compareTo(BigDecimal.ZERO) < 0) + .throwMessage("物料" + materialNo + "的出库数量超出申请限制"); records.add(new OutMaterialScanRecord() .setSource(4) .setSourceId(order.getId()) .setSourceItemId(item.getId()) + .setTicketId(ticket.getId()) .setMaterialNo(materialNo) .setUnit(item.getMeins()) .setContent(qrCode) @@ -208,20 +247,10 @@ public class TransferFactoryController extends BaseController { .setCreateTime(Instant.now()) ); }); - List materialNos = datas.stream() - .filter(it -> it.getNum().compareTo(records - .stream() - .filter(record -> StrUtil.equals(record.getMaterialNo(), it.getMatnr())) - .map(OutMaterialScanRecord::getNum) - .reduce(BigDecimal.ZERO, BigDecimal::add)) != 0 - ) - .map(WmsTransferFactoryItem::getMatnr) - .toList(); - VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(materialNos)).throwMessage("以下物料的数量与调拨数量不一致:" + StrUtil.join(",", materialNos)); + transferFactoryTicketItemService.saveBatch(ticketItems); transferFactoryItemService.updateBatchById(datas); outMaterialScanRecordRespository.saveAll(records); transferFactoryService.lambdaUpdate() - .set(WmsTransferFactory::getState, 1) .set(WmsTransferFactory::getUpdateBy, UserUtil.getUserName()) .set(WmsTransferFactory::getUpdateTime, LocalDateTime.now()) .eq(WmsTransferFactory::getId, order.getId()) @@ -230,61 +259,41 @@ public class TransferFactoryController extends BaseController { } /** - * 获取入库单(PDA使用) + * 查询出库单信息(PDA使用) + * @param no 出库单单号 */ @GetMapping("pda/getInfoForIn") - public ApiResult getInfoForIn(@Valid @RequestParam @NotNull String no) { - WmsTransferFactory order = transferFactoryService.lambdaQuery().eq(WmsTransferFactory::getState, 1).eq(WmsTransferFactory::getNo, no).one(); - VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在或已入库"); - List datas = transferFactoryItemService.getList(order.getId()); - return ApiResult.success(new OutProduce1VO() - .setId(order.getId()) - .setAufnr(order.getMblnr()) - .setRsnum(order.getRsnum()) - .setItems(datas.stream() - .map(item -> new OutProduceItemVO() - .setLgort2(order.getLgort()) - .setLgpbe(item.getLgpbe()) - .setMaktx2(item.getMaktx()) - .setMatnr(item.getMatnr()) - .setNum(item.getNum()) - ).toList() - ) + public ApiResult getInfoForIn(@Valid @RequestParam @NotBlank String no) { + TransferFactoryTicketInfoVO ticket = transferFactoryTicketService.getByNo(no); + VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("出库单不存在"); + VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效"); + List itemVOS = transferFactoryTicketItemService.getList(ticket.getId()); + return ApiResult.success(new TransferFactoryPdaVO() + .setBwart(ticket.getBwart()) + .setRsnum(ticket.getRsnum()) + .setMblnr(ticket.getMblnr()) + .setItems(itemVOS.stream().map(it -> new TransferFactoryPdaItemVO() + .setMatnr(it.getMatnr()) + .setMaktx(it.getMaktx()) + .setLgort(ticket.getLgort()) + .setUmlgo(ticket.getUmlgo()) + .setNum(it.getNum()) + .setBinIn(storageService.getBinNos(it.getMatnr(), ticket.getWerks(), ticket.getUmlgo())) + .setBinOut(storageService.getBinNos(it.getMatnr(), ticket.getWerks(), ticket.getLgort()))).toList()) ); } /** * 入库(PDA使用) + * @param no 出库单单号 */ @Transactional @PostMapping("pda/submitForIn") - public ApiResult submitForIn(@Valid @RequestParam @NotNull Long id) { - WmsTransferFactory order = transferFactoryService.getById(id); - VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); - List records = outMaterialScanRecordRespository.findBySourceId(id); - VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(records)).throwMessage("未找到出库扫码记录"); - WmsTransferFactoryTicket ticket = new WmsTransferFactoryTicket() - .setId(IdUtil.getSnowflakeNextId()) - .setNo(NoUtil.getTransferFactoryTicketNo()) - .setOrderId(order.getId()) - .setCreateBy(UserUtil.getUserName()) - .setCreateTime(LocalDateTime.now()); - List ticketItems = new ArrayList<>(); - records.forEach(record -> { - WmsTransferFactoryTicketItem pti = ticketItems.stream() - .filter(ti -> Objects.equals(ti.getOrderItemId(), record.getSourceItemId())) - .findFirst() - .orElseGet(() -> { - WmsTransferFactoryTicketItem ti = new WmsTransferFactoryTicketItem() - .setTicketId(ticket.getId()) - .setOrderItemId(record.getSourceItemId()) - .setNum(BigDecimal.ZERO); - ticketItems.add(ti); - return ti; - }); - pti.setNum(pti.getNum().add(record.getNum())); - }); - transferFactoryTicketItemService.saveBatch(ticketItems); + public ApiResult submitForIn(@Valid @RequestParam @NotBlank String no) { + TransferFactoryTicketInfoVO ticket = transferFactoryTicketService.getByNo(no); + VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("出库单不存在"); + VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效"); + List records = outMaterialScanRecordRespository.findByTicketId(ticket.getId()); inventoryService.out(records.stream() .collect(Collectors.groupingBy(OutMaterialScanRecord::getKey)) .values() @@ -292,8 +301,8 @@ public class TransferFactoryController extends BaseController { .map(list -> new InventoryDTO() .setMaterialNo(list.get(0).getMaterialNo()) .setBatchNumber(list.get(0).getBatchNo()) - .setFactoryNo(order.getWerks()) - .setWarehouseNo(order.getLgort()) + .setFactoryNo(ticket.getWerks()) + .setWarehouseNo(ticket.getLgort()) .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() ); @@ -304,22 +313,22 @@ public class TransferFactoryController extends BaseController { .map(list -> new InventoryDTO() .setMaterialNo(list.get(0).getMaterialNo()) .setBatchNumber(list.get(0).getBatchNo()) - .setFactoryNo(order.getWerks()) - .setWarehouseNo(order.getUmlgo()) + .setFactoryNo(ticket.getWerks()) + .setWarehouseNo(ticket.getUmlgo()) .setNum(list.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) ).toList() ); ZWM00MB113DTO vo = sapService.zwm00_mb113(new ZWM00MB113QO() - .setIRsnum(order.getRsnum()) - .setIUmlgo(order.getUmlgo()) + .setIRsnum(ticket.getRsnum()) + .setIUmlgo(ticket.getUmlgo()) .setT_list1(records.stream().collect(Collectors.groupingBy(OutMaterialScanRecord::getKey)) .values().stream().map(its -> new ZWM00MB113LIST1QO() - .setRspos(order.getRsnum()) + .setRspos(ticket.getRsnum()) .setMatnr(its.get(0).getMaterialNo()) .setErfmg(its.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)) .setMeins(its.get(0).getUnit()) - .setWerks(order.getWerks()) - .setLgort(order.getLgort())).toList() + .setWerks(ticket.getWerks()) + .setLgort(ticket.getLgort())).toList() ) .setT_list2(records.stream() .filter(record -> StrUtil.isNotBlank(record.getKey1())) @@ -327,20 +336,19 @@ public class TransferFactoryController extends BaseController { .values() .stream() .map(ls -> new ZWM00MB113LIST2QO() - .setRspos(order.getRsnum()) + .setRspos(ticket.getRsnum()) .setSernr(ls.get(0).getSerialNo()) .setFlag("X") ) .toList()) ); - ticket.setMatDoc(vo.getEMblnr()); - ticket.setDocYear(vo.getEMjahr()); - transferFactoryTicketService.save(ticket); - transferFactoryService.lambdaUpdate() - .set(WmsTransferFactory::getState, 2) - .set(WmsTransferFactory::getSapStatus, true) - .set(WmsTransferFactory::getSapError, "") - .eq(WmsTransferFactory::getId, order.getId()) + transferFactoryTicketService.lambdaUpdate() + .set(WmsTransferFactoryTicket::getMatDoc, vo.getEMblnr()) + .set(WmsTransferFactoryTicket::getDocYear, vo.getEMjahr()) + .set(WmsTransferFactoryTicket::getUpdateBy, UserUtil.getUserName()) + .set(WmsTransferFactoryTicket::getUpdateTime, LocalDateTime.now()) + .set(WmsTransferFactoryTicket::getState, 1) + .eq(WmsTransferFactoryTicket::getId, ticket.getId()) .update(); return ApiResult.success(); } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/document/OutMaterialScanRecord.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/document/OutMaterialScanRecord.java index d3376667..4349c0e1 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/document/OutMaterialScanRecord.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/document/OutMaterialScanRecord.java @@ -77,6 +77,11 @@ public class OutMaterialScanRecord { */ private Long sourceItemId; + /** + * 凭证ID + */ + private Long ticketId; + /** * 采购凭证号 */ diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/OutMaterialScanRecordRespository.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/OutMaterialScanRecordRespository.java index 3c15cb42..61b4244e 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/OutMaterialScanRecordRespository.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/OutMaterialScanRecordRespository.java @@ -9,5 +9,5 @@ import java.util.List; @Repository public interface OutMaterialScanRecordRespository extends MongoRepository { - List findBySourceId(Long sourceId); + List findByTicketId(Long ticketId); } \ No newline at end of file diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/TransferOrderDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/TransferOrderDTO.java index f1f039b7..19961ace 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/TransferOrderDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/TransferOrderDTO.java @@ -135,6 +135,6 @@ public class TransferOrderDTO { private String key; public String getKey() { - return werks + "|" + rsnum + "|" + bwart + "|" + mblnr + "|" + lgort + "|" + umlgo; + return werks + "|" + rsnum + "|" + bwart + "|" + mblnr + "|" + lgort + "|" + umlgo + "|" + bdter; } } \ No newline at end of file diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BomSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BomSearchQO.java index 01050ba9..5297c508 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BomSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BomSearchQO.java @@ -1,6 +1,5 @@ package com.nflg.wms.common.pojo.qo; -import jakarta.validation.constraints.NotBlank; import lombok.Data; @Data @@ -9,12 +8,10 @@ public class BomSearchQO extends PageQO{ /** * SAP料号 */ - @NotBlank private String no; /** * 物料描述 */ - @NotBlank private String describe; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitQO.java index 03876681..e18c3af7 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/OutProduceSubmitQO.java @@ -1,7 +1,7 @@ package com.nflg.wms.common.pojo.qo; +import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; import lombok.Data; import java.util.List; @@ -9,8 +9,8 @@ import java.util.List; @Data public class OutProduceSubmitQO { - @NotNull - private Long id; + @NotBlank + private String no; /** * 二维码列表 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java index 8c4456f4..c9cb27a8 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/PackageDeliverOrderSaveItemQO.java @@ -1,5 +1,6 @@ package com.nflg.wms.common.pojo.qo; +import com.fasterxml.jackson.annotation.JsonIgnore; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import lombok.Data; @@ -72,4 +73,11 @@ public class PackageDeliverOrderSaveItemQO { */ @NotBlank private String unit; + + @JsonIgnore + private String key1; + + public String getKey1() { + return externalOrderNo + "|" + packageId; + } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InventoryCheckTaskItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InventoryCheckTaskItemVO.java index c89f900e..d4d4015d 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InventoryCheckTaskItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InventoryCheckTaskItemVO.java @@ -44,6 +44,11 @@ public class InventoryCheckTaskItemVO { */ private String factoryNo; + /** + * 仓库id + */ + private Long warehouseId; + /** * 仓库编号 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaItemVO.java new file mode 100644 index 00000000..c615568d --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaItemVO.java @@ -0,0 +1,36 @@ +package com.nflg.wms.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; + +@Data +@Accessors(chain = true) +public class TransferCompanyPdaItemVO { + + /** + * 采购凭证号 + */ + private String ebeln; + + /** + * 采购凭证的项目编号 + */ + private String ebelp; + + /** + * 物料号 + */ + private String matnr; + + /** + * 物料描述 + */ + private String maktx; + + /** + * 数量 + */ + private BigDecimal num; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaVO.java new file mode 100644 index 00000000..395a4bf3 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyPdaVO.java @@ -0,0 +1,43 @@ +package com.nflg.wms.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +@Data +@Accessors(chain = true) +public class TransferCompanyPdaVO { + + /** + * 转入工厂 + */ + private String werks; + + /** + * 转入公司 + */ + private String bukrs; + + /** + * 转出工厂 + */ + private String reswk; + + /** + * 转出公司 + */ + private String bukrs1; + + /** + * 转出库位 + */ + private String lgfsb1; + + /** + * 转入库位 + */ + private String lgort; + + private List items; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyTicketVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyTicketVO.java index 53f4c0b9..eaad329f 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyTicketVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferCompanyTicketVO.java @@ -75,5 +75,10 @@ public class TransferCompanyTicketVO { */ private String docYear; + /** + * 状态:0:已出库;1:已入库 + */ + private Integer state; + private List items; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaItemVO.java new file mode 100644 index 00000000..f4fa3721 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaItemVO.java @@ -0,0 +1,47 @@ +package com.nflg.wms.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Set; + +@Data +@Accessors(chain = true) +public class TransferFactoryPdaItemVO { + + /** + * 物料号 + */ + private String matnr; + + /** + * 物料描述 + */ + private String maktx; + + /** + * 调出库位 + */ + private String lgort; + + /** + * 调入库位 + */ + private String umlgo; + + /** + * 调出储位 + */ + private Set binOut; + + /** + * 调入储位 + */ + private Set binIn; + + /** + * 数量 + */ + private BigDecimal num; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaVO.java new file mode 100644 index 00000000..0fe83c21 --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryPdaVO.java @@ -0,0 +1,28 @@ +package com.nflg.wms.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +@Data +@Accessors(chain = true) +public class TransferFactoryPdaVO { + + /** + * 预留/相关需求的编号 + */ + private String rsnum; + + /** + * 物料凭证编号 + */ + private String mblnr; + + /** + * 移动类型(库存管理) + */ + private String bwart; + + private List items; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryTicketInfoVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryTicketInfoVO.java index 3477f264..18b0ff26 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryTicketInfoVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/TransferFactoryTicketInfoVO.java @@ -100,5 +100,10 @@ public class TransferFactoryTicketInfoVO { */ private String docYear; + /** + * 状态:0:已出库;1:已入库 + */ + private Integer state; + private List items; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferCompanyTicket.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferCompanyTicket.java index ecc3e03f..8ebc763d 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferCompanyTicket.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferCompanyTicket.java @@ -64,4 +64,14 @@ public class WmsTransferCompanyTicket implements Serializable { * 状态:0:已出库;1:已入库 */ private Integer state; + + /** + * 入库人 + */ + private String updateBy; + + /** + * 入库时间 + */ + private LocalDateTime updateTime; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactory.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactory.java index 8365c79a..d02b0a6e 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactory.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactory.java @@ -105,8 +105,8 @@ public class WmsTransferFactory implements Serializable { */ private String rsnum; - /** - * 状态,0:待出库,1:已出库;2:已入库 - */ - private Integer state; +// /** +// * 状态,0:待出库,1:已出库;2:已入库 +// */ +// private Integer state; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactoryItem.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactoryItem.java index d8696bf3..3f46d658 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactoryItem.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactoryItem.java @@ -119,4 +119,9 @@ public class WmsTransferFactoryItem implements Serializable { * 调库数量 */ private BigDecimal num; + + /** + * 剩余数量 + */ + private BigDecimal left; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactoryTicket.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactoryTicket.java index 4803ee2e..173599a5 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactoryTicket.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsTransferFactoryTicket.java @@ -59,4 +59,19 @@ public class WmsTransferFactoryTicket implements Serializable { * 物料凭证年度 */ private String docYear; + + /** + * 状态,0:已出库;1:已入库 + */ + private Integer state; + + /** + * 入库人 + */ + private String updateBy; + + /** + * 入库时间 + */ + private LocalDateTime updateTime; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferCompanyTicketMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferCompanyTicketMapper.java index 8722e1d7..69a7532e 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferCompanyTicketMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferCompanyTicketMapper.java @@ -19,4 +19,6 @@ public interface WmsTransferCompanyTicketMapper extends BaseMapper search(TransferCompanySearchQO request, Page objectPage); TransferCompanyTicketVO getInfo(Long id); + + TransferCompanyTicketVO getByNo(String no); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferFactoryTicketMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferFactoryTicketMapper.java index cc02d6b2..9214e4a7 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferFactoryTicketMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsTransferFactoryTicketMapper.java @@ -20,4 +20,6 @@ public interface WmsTransferFactoryTicketMapper extends BaseMapper search(TransferFactorySearchQO request, Page objectPage); TransferFactoryTicketInfoVO getInfo(Long id); + + TransferFactoryTicketInfoVO getByNo(String no); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferCompanyTicketService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferCompanyTicketService.java index 5d35e5de..e12018ee 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferCompanyTicketService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferCompanyTicketService.java @@ -20,4 +20,6 @@ public interface IWmsTransferCompanyTicketService extends IService search(@Valid TransferCompanySearchQO request); TransferCompanyTicketVO getInfo(@Valid @NotNull Long id); + + TransferCompanyTicketVO getByNo(String no); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferFactoryTicketService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferFactoryTicketService.java index bde251c6..6701d09f 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferFactoryTicketService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsTransferFactoryTicketService.java @@ -7,6 +7,7 @@ import com.nflg.wms.common.pojo.vo.TransferFactoryTicketInfoVO; import com.nflg.wms.common.pojo.vo.TransferFactoryTicketVO; import com.nflg.wms.repository.entity.WmsTransferFactoryTicket; import jakarta.validation.Valid; +import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; /** @@ -21,4 +22,6 @@ public interface IWmsTransferFactoryTicketService extends IService search(@Valid TransferFactorySearchQO request); TransferFactoryTicketInfoVO getInfo(@Valid @NotNull Long id); + + TransferFactoryTicketInfoVO getByNo(@Valid @NotBlank String no); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferCompanyTicketServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferCompanyTicketServiceImpl.java index 38c2c4a8..1c0a72c2 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferCompanyTicketServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsTransferCompanyTicketServiceImpl.java @@ -29,4 +29,9 @@ public class WmsTransferCompanyTicketServiceImpl extends ServiceImpl + + diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsTransferFactoryTicketMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsTransferFactoryTicketMapper.xml index e26e7034..50851a91 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsTransferFactoryTicketMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsTransferFactoryTicketMapper.xml @@ -32,9 +32,16 @@ + +