From f76e078237dedfb2755e3a4c0fcc2e5f34e81efc Mon Sep 17 00:00:00 2001 From: funny <834502597@qq.com> Date: Mon, 13 Apr 2026 17:07:59 +0800 Subject: [PATCH] =?UTF-8?q?wms=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/NormalQMController.java | 20 +++++++- .../service/NormalPGIControllerService.java | 51 ++++++++----------- 2 files changed, 39 insertions(+), 32 deletions(-) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java index 5af24075..982b3ba6 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalQMController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.nflg.wms.admin.pojo.dto.*; import com.nflg.wms.admin.pojo.request.UnqualifiedWarehousingRequest; import com.nflg.wms.admin.service.NormalQMControllerService; +import com.nflg.wms.admin.service.SapService; import com.nflg.wms.common.constant.BarCodeProcessStage; import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.PageData; @@ -74,8 +75,11 @@ public class NormalQMController extends BaseController { @Resource private IWmsQrCodeMasterService qrCodeMasterService; + private SapService sapService; + /** * 获取SRM推送过来的质检单信息 + * * @param request * @return */ @@ -87,6 +91,7 @@ public class NormalQMController extends BaseController { /** * 导出质检单 + * * @param request 查询条件 * @return */ @@ -100,6 +105,7 @@ public class NormalQMController extends BaseController { /** * 质检物料上架任务(PDA) + * * @param orderNo 送货单号或任务单号 * @return */ @@ -112,6 +118,7 @@ public class NormalQMController extends BaseController { /** * 质检物料上架物料详情 + * * @param taskId 任务ID **/ @GetMapping("PDA/task/item") @@ -123,6 +130,7 @@ public class NormalQMController extends BaseController { /** * 质检物料上架任务确认 + * * @param request **/ @Transactional @@ -368,6 +376,7 @@ public class NormalQMController extends BaseController { /** * 无码质检任务上架确认 + * * @param request 任务ID * @return */ @@ -478,7 +487,16 @@ public class NormalQMController extends BaseController { WmsSrmQualityInspection inspection = wmsSrmQualityInspectionService.getById(request.getId()); VUtil.trueThrowBusinessError(Objects.isNull(inspection)).throwMessage("无效的质检单"); VUtil.trueThrowBusinessError(!inspection.getInspectionResult().equals("不合格")).throwMessage("该质检单不是不合格单"); - VUtil.trueThrowBusinessError(inspection.getReceiveQty().compareTo(BigDecimal.ZERO) > 0).throwMessage("该质检单已生成上架任务"); + VUtil.trueThrowBusinessError(inspection.getReceiveQty().compareTo(BigDecimal.ZERO) > 0).throwMessage("该质检单已完成冲销"); + List itemDTOs = new ArrayList<>(); + ZWM3A27ItemDTO itemDTO = new ZWM3A27ItemDTO() + .setEbeln(inspection.getPoNum()) + .setEbeln(inspection.getPoNum()). + setEbelp(Integer.valueOf(inspection.getPoLineNumber())). + setMenge(inspection.getDeliveryQty()).setMatDoc(inspection.getMaterialDoc105()) + .setDocYear(inspection.getMaterialDocYear105()); + itemDTOs.add(itemDTO); + sapService.zwm3a27(inspection.getMaterialDoc105(), inspection.getMaterialDocYear105(), itemDTOs); inspection.setReceiveQty(request.getReceiveQty()); wmsSrmQualityInspectionService.updateById(inspection); return ApiResult.success(); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java index 5984b517..87b502fc 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalPGIControllerService.java @@ -619,37 +619,26 @@ public class NormalPGIControllerService { } } - //编码管理 -// if (CollectionUtil.isNotEmpty(dto.getQrCodes())) { -// //同步箱码信息到物料码中 -// List parents = dto.getQrCodes() -// .stream() -// .filter(qrCode -> qrCode.getPackagingType() == 1) -// .toList(); -// if (CollectionUtil.isNotEmpty(parents)) { -// List children = qrCodeMasterService.lambdaQuery() -// .in(WmsQrCodeMaster::getParentBarcodeId, parents -// .stream() -// .map(WmsQrCodeMaster::getId) -// .toList() -// ) -// .list(); -// parents.forEach(p -> { -// children.stream() -// .filter(c -> c.getParentBarcodeId().equals(p.getId())) -// .forEach(c -> { -// c.setProcessStage(p.getProcessStage()); -// c.setLastScanBy(UserUtil.getUserId()); -// c.setLastScanByname(UserUtil.getUserName()); -// c.setLastScanTime(LocalDateTime.now()); -// c.setFactoryCode(p.getFactoryCode()); -// c.setStorageLocation(p.getStorageLocation()); -// c.setBinLocation(p.getBinLocation()); -// c.setReceiptItemId(p.getReceiptItemId()); -// }); -// }); -// dto.getQrCodes().addAll(children); -// } + // 这里需要同步一个信息,就是把箱码的状态也要改为收货状态, + List parentIds = dto.getQrCodes().stream() + .filter(qrCode -> qrCode.getPackagingType() == 0) + .map(WmsQrCodeMaster::getId) + .distinct() + .toList(); + if (CollectionUtil.isNotEmpty(parentIds)) { + // 获取所有的父级物料信息 + List parents2 = qrCodeMasterService.lambdaQuery() + .in(WmsQrCodeMaster::getId, parentIds) + .list(); + for (WmsQrCodeMaster parent : parents2) { + boolean exists = dto.getQrCodes().stream().anyMatch(qrCode -> + qrCode.getBarcodeCode().equals(parent.getBarcodeCode())); + if (!exists) { + dto.getQrCodes().add(parent); + } + } + } + qrCodeMasterService.updateBarCode(dto.getQrCodes()); } }