From 4f1980eb0f56bcd50972a9d2aaed4e2ff48ebc42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Wed, 3 Jun 2026 14:55:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=94=AF=E6=8C=81=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E8=AE=A2=E5=8D=95=E5=8F=B7=E6=9F=A5=E8=AF=A2=E6=97=A0?= =?UTF-8?q?=E7=A0=81=E6=93=8D=E4=BD=9C=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在多个控制器的 getListForNoScan 方法中添加订单号参数支持 - 修改数据库查询逻辑从 getById 改为 lambdaQuery 条件查询 - 新增 NoScanningRequest 类添加订单号字段 - 更新 Service 层接口和实现类添加订单号查询方法 - 完善 SRMController 中的日志记录和错误处理 - 修复转储和调拨相关的无码操作查询逻辑 --- .../ComponentOutboundController.java | 14 +++++++--- .../InCostCenterBackController.java | 14 +++++++--- .../controller/InProduceBackController.java | 14 +++++++--- .../controller/InProduceOrderController.java | 14 +++++++--- .../InProduceOrderSurplusController.java | 27 +++++++++++-------- .../admin/controller/NormalPGIController.java | 16 ++++++++--- .../controller/OutAssistanceController.java | 14 +++++++--- .../controller/OutCostCenterController.java | 14 +++++++--- .../controller/OutProduceController.java | 14 +++++++--- .../controller/OutPurchaseController.java | 14 +++++++--- .../controller/TransferCompanyController.java | 25 ++++++++++++----- .../controller/TransferFactoryController.java | 24 ++++++++++++----- .../admin/pojo/request/NoScanningRequest.java | 6 ++++- .../WmsTransferCompanyTicketMapper.java | 2 ++ .../WmsTransferFactoryTicketMapper.java | 2 ++ .../IWmsTransferCompanyTicketService.java | 2 ++ .../IWmsTransferFactoryTicketService.java | 10 ++++--- .../WmsTransferCompanyTicketServiceImpl.java | 5 ++++ .../WmsTransferFactoryTicketServiceImpl.java | 5 ++++ .../mapper/WmsTransferCompanyTicketMapper.xml | 8 ++++++ .../mapper/WmsTransferFactoryTicketMapper.xml | 16 +++++++++++ .../srm/receive/controller/SRMController.java | 24 ++++++++++++++--- 22 files changed, 223 insertions(+), 61 deletions(-) diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java index a7cf28b1..30fc6949 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentOutboundController.java @@ -407,10 +407,15 @@ public class ComponentOutboundController extends BaseController { /** * 获取可无码发货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScan") - public ApiResult> getListForNoScan(@RequestParam Long orderId) { - WmsComponentPacking order = wmscomponentPackingService.getById(orderId); + public ApiResult> getListForNoScan(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsComponentPacking order = wmscomponentPackingService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsComponentPacking::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsComponentPacking::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = wmsComponentPackingItemService.lambdaQuery() .eq(WmsComponentPackingItem::getPackingId, orderId) @@ -439,7 +444,10 @@ public class ComponentOutboundController extends BaseController { @Transactional @PostMapping("pda/confirmNoScanning") public ApiResult confirmPdaNoScanning(@Valid @RequestBody NoScanningRequest request) { - WmsComponentPacking packing = wmscomponentPackingService.getById(request.getId()); + WmsComponentPacking packing = wmscomponentPackingService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsComponentPacking::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsComponentPacking::getNo, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(packing)).throwMessage("此装箱单不存在"); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request.getItems())).throwMessage("无发货详情信息"); 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 98e434f1..f1b9faca 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 @@ -206,10 +206,15 @@ public class InCostCenterBackController extends BaseController { /** * 获取可无码收货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScan") - public ApiResult> getListForNoScan(@RequestParam Long orderId) { - WmsInCostcenterBack order = inCostcenterBackService.getById(orderId); + public ApiResult> getListForNoScan(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsInCostcenterBack order = inCostcenterBackService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsInCostcenterBack::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsInCostcenterBack::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = inCostcenterBackItemService.lambdaQuery() .eq(WmsInCostcenterBackItem::getOrderId, orderId) @@ -241,7 +246,10 @@ public class InCostCenterBackController extends BaseController { VUtil.trueThrowBusinessError(noScanningBaseControllerService.existsQrCode(data.getMaterialNo())) .throwMessage("物料" + data.getMaterialNo() + "已生成二维码不支持无码收货") ); - WmsInCostcenterBack order = inCostcenterBackService.getById(request.getId()); + WmsInCostcenterBack order = inCostcenterBackService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsInCostcenterBack::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsInCostcenterBack::getNo, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); VUtil.trueThrowBusinessError(Objects.equals(order.getState(), 2)).throwMessage("该订单已完成"); WmsInCostcenterBackTicket ticket = new WmsInCostcenterBackTicket() 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 fb116ba8..4353c8bf 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 @@ -215,10 +215,15 @@ public class InProduceBackController extends BaseController { /** * 获取可无码收货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScan") - public ApiResult> getListForNoScan(@RequestParam Long orderId) { - WmsInProduceBack order = inProduceBackService.getById(orderId); + public ApiResult> getListForNoScan(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsInProduceBack order = inProduceBackService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsInProduceBack::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsInProduceBack::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = inProduceBackItemService.lambdaQuery() .eq(WmsInProduceBackItem::getOrderId, orderId) @@ -250,7 +255,10 @@ public class InProduceBackController extends BaseController { VUtil.trueThrowBusinessError(noScanningBaseControllerService.existsQrCode(data.getMaterialNo())) .throwMessage("物料" + data.getMaterialNo() + "已生成二维码不支持无码收货") ); - WmsInProduceBack order = inProduceBackService.getById(request.getId()); + WmsInProduceBack order = inProduceBackService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsInProduceBack::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsInProduceBack::getNo, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); WmsInProduceBackTicket ticket = new WmsInProduceBackTicket() .setNo(serialNumberControllerService.generateSerialNumber(13)) 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 390d8598..9c4f7c75 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 @@ -421,10 +421,15 @@ public class InProduceOrderController extends BaseController { /** * 获取可无码收货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScan") - public ApiResult> getListForNoScan(@RequestParam Long orderId) { - WmsInProduceOrder order = produceOrderService.getById(orderId); + public ApiResult> getListForNoScan(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsInProduceOrder order = produceOrderService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsInProduceOrder::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsInProduceOrder::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = produceOrderItemService.lambdaQuery() .eq(WmsInProduceOrderItem::getOrderId, orderId) @@ -457,7 +462,10 @@ public class InProduceOrderController extends BaseController { VUtil.trueThrowBusinessError(noScanningBaseControllerService.existsQrCode(data.getMaterialNo())) .throwMessage("物料" + data.getMaterialNo() + "已生成二维码不支持无码收货") ); - WmsInProduceOrder order = produceOrderService.getById(request.getId()); + WmsInProduceOrder order = produceOrderService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsInProduceOrder::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsInProduceOrder::getNo, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); VUtil.trueThrowBusinessError(!Objects.equals(order.getState(), (short) 0)) .throwMessage("该订单非待收货状态"); diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java index bdb14140..5ea224ba 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderSurplusController.java @@ -480,25 +480,30 @@ public class InProduceOrderSurplusController extends BaseController { /** * 获取可无码收货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScan") - public ApiResult> getListForNoScan(@RequestParam Long orderId) { - WmsInProduceOrder order = produceOrderService.getById(orderId); + public ApiResult> getListForNoScan(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsInProduceOrderSurplus order = inProduceOrderSurplusService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsInProduceOrderSurplus::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsInProduceOrderSurplus::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); - List items = produceOrderItemService.lambdaQuery() - .eq(WmsInProduceOrderItem::getOrderId, orderId) + List items = inProduceOrderSurplusItemService.lambdaQuery() + .eq(WmsInProduceOrderSurplusItem::getOrderId, orderId) .list(); - items.removeIf(item -> item.getNum().compareTo(BigDecimal.ZERO) <= 0 - || noScanningBaseControllerService.existsQrCode(item.getMaterialNo())); + items.removeIf(item -> item.getLeftNum().compareTo(BigDecimal.ZERO) <= 0 + || noScanningBaseControllerService.existsQrCode(item.getMatnr())); return ApiResult.success( items.stream() .map(item -> new NoScanItemVO() - .setRowNo("") + .setRowNo(item.getRspos()) .setOrderItemId(item.getId()) - .setMaterialNo(item.getMaterialNo()) - .setMaterialDesc(item.getMaterialDesc()) - .setFactoryNo(item.getFactoryNo()) - .setWarehouseNo(item.getWarehouseNo()) + .setMaterialNo(item.getMatnr()) + .setMaterialDesc(item.getMaktx2()) + .setFactoryNo(order.getDwerk()) + .setWarehouseNo(order.getLgort2()) .setNum(item.getNum()) ) .toList() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java index cd483c19..e3b8eb5d 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/NormalPGIController.java @@ -190,10 +190,15 @@ public class NormalPGIController extends BaseController { /** * 获取可无码收货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScan") - public ApiResult> getListForNoScan(@RequestParam Long orderId) { - WmsSrmOrder order = wmsSrmOrderService.getById(orderId); + public ApiResult> getListForNoScan(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsSrmOrder order = wmsSrmOrderService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsSrmOrder::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsSrmOrder::getNoteNum, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在"); List items = wmsSrmOrderItemService.lambdaQuery() .eq(WmsSrmOrderItem::getOrderId, orderId) @@ -225,7 +230,10 @@ public class NormalPGIController extends BaseController { @PostMapping("noScanSubmit") @ApiMark(moduleName = "送货单管理", apiName = "无码收货确认") public ApiResult noScanSubmit(@Valid @RequestBody @NotNull NoScanningRequest request) { - WmsSrmOrder order = wmsSrmOrderService.getById(request.getId()); + WmsSrmOrder order = wmsSrmOrderService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsSrmOrder::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsSrmOrder::getNoteNum, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("收货单不存在"); WmsPoReceipt wmsPoReceipt = new WmsPoReceipt() @@ -343,7 +351,7 @@ public class NormalPGIController extends BaseController { .setItem2(new ArrayList<>()); SRMInspectionInputDTO srmDto = new SRMInspectionInputDTO(); - srmDto.setCode("SCAN_RCV_RECEIVE_TO_SRM"); + srmDto.setCode("WMS_RCV_RECEIVE_TO_SRM"); SRMInspectionContentDTO content = new SRMInspectionContentDTO(); content.setSupplierName(order.getSupplierName()); content.setSupplierNum(order.getSupplierNum()); 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 bf56cde6..4f3cc717 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 @@ -284,10 +284,15 @@ public class OutAssistanceController extends BaseController { /** * 获取可无码发货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScan") - public ApiResult> getListForNoScan(@RequestParam Long orderId) { - WmsOutAssistance order = outAssistanceService.getById(orderId); + public ApiResult> getListForNoScan(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsOutAssistance order = outAssistanceService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsOutAssistance::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsOutAssistance::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = outAssistanceItemService.lambdaQuery() .eq(WmsOutAssistanceItem::getOrderId, orderId) @@ -315,7 +320,10 @@ public class OutAssistanceController extends BaseController { @Transactional @PostMapping("noScanSubmit") public ApiResult noScanSubmit(@Valid @RequestBody @NotNull NoScanningRequest request) { - WmsOutAssistance order = outAssistanceService.getById(request.getId()); + WmsOutAssistance order = outAssistanceService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsOutAssistance::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsOutAssistance::getNo, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); request.getItems() .forEach(data -> 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 cc647795..f94f6c85 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 @@ -285,10 +285,15 @@ public class OutCostCenterController extends BaseController { /** * 获取可无码发货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScan") - public ApiResult> getListForNoScan(@RequestParam Long orderId) { - WmsOutCostcenter order = outCostcenterService.getById(orderId); + public ApiResult> getListForNoScan(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsOutCostcenter order = outCostcenterService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsOutCostcenter::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsOutCostcenter::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = outCostcenterItemService.lambdaQuery() .eq(WmsOutCostcenterItem::getOrderId, orderId) @@ -316,7 +321,10 @@ public class OutCostCenterController extends BaseController { @Transactional @PostMapping("noScanSubmit") public ApiResult noScanSubmit(@Valid @RequestBody @NotNull NoScanningRequest request) { - WmsOutCostcenter order = outCostcenterService.getById(request.getId()); + WmsOutCostcenter order = outCostcenterService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsOutCostcenter::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsOutCostcenter::getNo, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); request.getItems() .forEach(data -> 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 70455970..68d11067 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 @@ -412,10 +412,15 @@ public class OutProduceController extends BaseController { /** * 获取可无码发货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScan") - public ApiResult> getListForNoScan(@RequestParam Long orderId) { - WmsOutProduce order = outProduceService.getById(orderId); + public ApiResult> getListForNoScan(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsOutProduce order = outProduceService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsOutProduce::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsOutProduce::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = outProduceItemService.lambdaQuery() .eq(WmsOutProduceItem::getOrderId, orderId) @@ -443,7 +448,10 @@ public class OutProduceController extends BaseController { @Transactional @PostMapping("noScanSubmit") public ApiResult noScanSubmit(@Valid @RequestBody @NotNull NoScanningRequest request) { - WmsOutProduce order = outProduceService.getById(request.getId()); + WmsOutProduce order = outProduceService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsOutProduce::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsOutProduce::getNo, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); request.getItems() .forEach(data -> diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java index 8861d481..93b025c7 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutPurchaseController.java @@ -143,10 +143,15 @@ public class OutPurchaseController extends BaseController { /** * 获取可无码发货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScan") - public ApiResult> getListForNoScan(@RequestParam Long orderId) { - WmsReturnRequest order = returnRequestService.getById(orderId); + public ApiResult> getListForNoScan(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsReturnRequest order = returnRequestService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsReturnRequest::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsReturnRequest::getApplicationNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = returnRequestItemService.lambdaQuery() .eq(WmsReturnRequestItem::getApplicationId, orderId) @@ -174,7 +179,10 @@ public class OutPurchaseController extends BaseController { @Transactional @PostMapping("noScanSubmit") public ApiResult noScanSubmit(@Valid @RequestBody @NotNull NoScanningRequest request) { - WmsReturnRequest returnRequest = returnRequestService.getById(request.getId()); + WmsReturnRequest returnRequest = returnRequestService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsReturnRequest::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsReturnRequest::getApplicationNo, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(returnRequest)).throwMessage("申请单不存在"); VUtil.trueThrowBusinessError(returnRequest.getApprovalStatus() != 1) .throwMessage("申请单未审批"); 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 4017f177..3116d8e1 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 @@ -493,10 +493,15 @@ public class TransferCompanyController extends BaseController { /** * 获取可无码发货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScanOut") - public ApiResult> getListForNoScanOut(@RequestParam Long orderId) { - WmsTransferCompany order = transferCompanyService.getById(orderId); + public ApiResult> getListForNoScanOut(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsTransferCompany order = transferCompanyService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsTransferCompany::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsTransferCompany::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = transferCompanyItemService.lambdaQuery() .eq(WmsTransferCompanyItem::getOrderId, orderId) @@ -524,7 +529,10 @@ public class TransferCompanyController extends BaseController { @Transactional @PostMapping("pda/submitForOutNoScanning") public ApiResult submitForOutNoScanning(@Valid @RequestBody NoScanningRequest request) { - WmsTransferCompany order = transferCompanyService.getById(request.getId()); + WmsTransferCompany order = transferCompanyService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsTransferCompany::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsTransferCompany::getNo, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("转储单不存在"); List datas = transferCompanyItemService.getList(order.getId()); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(datas)).throwMessage("转储单明细不存在"); @@ -950,10 +958,15 @@ public class TransferCompanyController extends BaseController { /** * 获取可无码收货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScanIn") - public ApiResult> getListForNoScanIn(@RequestParam Long orderId) { - WmsTransferCompanyTicket order = transferCompanyTicketService.getById(orderId); + public ApiResult> getListForNoScanIn(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsTransferCompanyTicket order = transferCompanyTicketService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsTransferCompanyTicket::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsTransferCompanyTicket::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = transferCompanyTicketItemService.getList(orderId); items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0 @@ -979,7 +992,7 @@ public class TransferCompanyController extends BaseController { @Transactional @PostMapping("pda/submitForInNoScanning") public ApiResult submitForInNoScanning(@Valid @RequestBody NoScanningRequest request) { - TransferCompanyTicketVO ticket = transferCompanyTicketService.getInfo(request.getId()); + TransferCompanyTicketVO ticket = transferCompanyTicketService.getInfo(request.getId(),request.getNo()); VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("出库单不存在"); VUtil.trueThrowBusinessError(!Objects.equals(ticket.getState(), 0)).throwMessage("出库单无效"); 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 d418b32c..ff591acd 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 @@ -519,10 +519,15 @@ public class TransferFactoryController extends BaseController { /** * 获取可无码发货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScanOut") - public ApiResult> getListForNoScanOut(@RequestParam Long orderId) { - WmsTransferFactory order = transferFactoryService.getById(orderId); + public ApiResult> getListForNoScanOut(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + WmsTransferFactory order = transferFactoryService.lambdaQuery() + .eq(Objects.nonNull(orderId), WmsTransferFactory::getId, orderId) + .eq(StrUtil.isNotBlank(no), WmsTransferFactory::getNo, no) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = transferFactoryItemService.lambdaQuery() .eq(WmsTransferFactoryItem::getOrderId, orderId) @@ -550,7 +555,10 @@ public class TransferFactoryController extends BaseController { @Transactional @PostMapping("pda/submitForOutNoScanning") public ApiResult submitForOutNoScanning(@Valid @RequestBody NoScanningRequest request) { - WmsTransferFactory order = transferFactoryService.getById(request.getId()); + WmsTransferFactory order = transferFactoryService.lambdaQuery() + .eq(Objects.nonNull(request.getId()), WmsTransferFactory::getId, request.getId()) + .eq(StrUtil.isNotBlank(request.getNo()), WmsTransferFactory::getNo, request.getNo()) + .one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("调拨单不存在"); List datas = transferFactoryItemService.getList(order.getId()); VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(datas)).throwMessage("调拨单明细不存在"); @@ -904,7 +912,7 @@ public class TransferFactoryController extends BaseController { ) ); OptRecordDTO optRecordDTO = new OptRecordDTO(); - optRecordDTO.setOperationType((short)1) + optRecordDTO.setOperationType((short) 1) .setOrderId(ticket.getNo()); optRecordService.add(optRecordDTO); transferFactoryTicketService.lambdaUpdate() @@ -923,10 +931,12 @@ public class TransferFactoryController extends BaseController { /** * 获取可无码收货单项列表 * @param orderId 订单ID + * @param no 订单号 */ @GetMapping("getListForNoScanIn") - public ApiResult> getListForNoScanIn(@RequestParam Long orderId) { - TransferFactoryTicketInfoVO order = transferFactoryTicketService.getInfo(orderId); + public ApiResult> getListForNoScanIn(@RequestParam(required = false) Long orderId + , @RequestParam(required = false) String no) { + TransferFactoryTicketInfoVO order = transferFactoryTicketService.getInfo(orderId, no); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List items = transferFactoryTicketItemService.getList(orderId); items.removeIf(item -> item.getLeft().compareTo(BigDecimal.ZERO) <= 0 @@ -1049,7 +1059,7 @@ public class TransferFactoryController extends BaseController { ) ); OptRecordDTO optRecordDTO = new OptRecordDTO(); - optRecordDTO.setOperationType((short)1) + optRecordDTO.setOperationType((short) 1) .setOrderId(ticket.getNo()); optRecordService.add(optRecordDTO); transferFactoryTicketService.lambdaUpdate() diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningRequest.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningRequest.java index 774ec8a3..018c6cec 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningRequest.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/request/NoScanningRequest.java @@ -16,9 +16,13 @@ public class NoScanningRequest { /** * 订单id */ - @NotNull private Long id; + /** + * 订单号 + */ + private String no; + @Valid @NotEmpty private List items; 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 0da4ab11..f6103a88 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 @@ -25,4 +25,6 @@ public interface WmsTransferCompanyTicketMapper extends BaseMapper getVOByOrderNo(String no); + + TransferCompanyTicketVO getInfo1(Long id, 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 188ba364..ce6a2942 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 @@ -26,4 +26,6 @@ public interface WmsTransferFactoryTicketMapper extends BaseMapper getVOByOrderNo(String no); + + TransferFactoryTicketInfoVO getInfo1(Long id, 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 2849a961..8c6011fd 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 @@ -24,6 +24,8 @@ public interface IWmsTransferCompanyTicketService extends IService getVOByOrderNo(@Valid @NotBlank 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 9830fe65..a2c173f7 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 @@ -21,11 +21,13 @@ import java.util.List; */ public interface IWmsTransferFactoryTicketService extends IService { - IPage search(@Valid TransferFactorySearchQO request); + IPage search(TransferFactorySearchQO request); - TransferFactoryTicketInfoVO getInfo(@Valid @NotNull Long id); + TransferFactoryTicketInfoVO getInfo(Long id); - TransferFactoryTicketInfoVO getByNo(@Valid @NotBlank String no); + TransferFactoryTicketInfoVO getInfo(Long id,String no); - List getVOByOrderNo(@Valid @NotBlank String no); + TransferFactoryTicketInfoVO getByNo(String no); + + List getVOByOrderNo(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 d5e98d1d..9e465ff9 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 @@ -32,6 +32,11 @@ 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 2c7d771c..95518339 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsTransferFactoryTicketMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsTransferFactoryTicketMapper.xml @@ -55,4 +55,20 @@ INNER JOIN wms_transfer_factory tf ON tft.order_id=tf."id" WHERE tft.state=0 and tft.finish AND tf."no"= #{no} + + diff --git a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java index f334e9a1..18a84eb9 100644 --- a/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java +++ b/nflg-wms-srm-receive/src/main/java/com/nflg/wms/srm/receive/controller/SRMController.java @@ -134,16 +134,19 @@ public class SRMController extends BaseController { /** * SRM 推送质检单到WMS */ - @PostMapping("/SendNFInspect") @Transactional public Object receiveQualityInspection(@RequestBody SRMQualityInspectionResult request) { + log.info("接收SRM质检单: {}", request.getJsonstring()); SRMQualityInspectionResultDTO data = JSONUtil.toBean(request.getJsonstring(), SRMQualityInspectionResultDTO.class); + log.info("质检单解析完成, 单号: {}, 物料: {}, 结果: {}", data.getInspectionNum(), data.getItemCode(), data.getInspectionResult()); List inspects = srmQualityInspectionService.lambdaQuery() .eq(WmsSrmQualityInspection::getInspectionNum, data.getInspectionNum()) .list(); - if (CollectionUtil.isNotEmpty(inspects)) + if (CollectionUtil.isNotEmpty(inspects)) { + log.warn("质检单已存在, 跳过处理: {}", data.getInspectionNum()); return 2; + } Integer result = 1; // 找到入库的明细 @@ -154,14 +157,17 @@ public class SRMController extends BaseController { .eq(WmsQcReceiveItem::getNoteNum, data.getNoteNum()) .one(); if (Objects.isNull(receiveItem)) { - log.error("接收到无效的质检信息" + data.getInspectionNum()); + log.error("未找到对应收货明细, 质检单号: {}, 物料: {}, 收货单: {}, 行号: {}", + data.getInspectionNum(), data.getItemCode(), data.getReceiveNum(), data.getLineNumber()); return 2; } + log.info("匹配到收货明细, 质检单号: {}, 收货明细ID: {}", data.getInspectionNum(), receiveItem.getId()); // 检查物料是否生成过二维码 boolean hasQrCode = qrCodeMasterService.lambdaQuery() .eq(WmsQrCodeMaster::getMaterialCode, data.getItemCode()) .exists(); + log.info("物料 {} 是否已生成二维码: {}", data.getItemCode(), hasQrCode); WmsSrmQualityInspection inspect = new WmsSrmQualityInspection() .setId(IdUtil.getSnowflakeNextId()) @@ -194,10 +200,12 @@ public class SRMController extends BaseController { if (inspect.getInspectionResult().equals("合格")) { isCheck = 1; inspect.setReceiveQty(inspect.getQualifiedQty()); + log.info("质检合格, 质检单号: {}, 合格数量: {}", data.getInspectionNum(), data.getQualifiedQty()); // 如果物料有二维码,则直接入库(参考NormalPGIController.takeDeliveryConfirm方法) if (hasQrCode) { inspect.setIsIn(true); + log.info("物料有二维码, 执行直接入库, 质检单号: {}", data.getInspectionNum()); // 构建库存入库数据 InventoryInDTO inventoryDTO = new InventoryInDTO() @@ -232,10 +240,13 @@ public class SRMController extends BaseController { } // 执行库存入库 + log.info("开始本地库存入库, 数量: {}", data.getQualifiedQty()); inventoryService.in(inventories); // 推送到SAP + log.info("开始推送SAP入库, PO: {}, 物料: {}", data.getPoNum(), data.getItemCode()); Pair, Pair> returnDto = sapService.zwm3a17(zwm3A17DTO); + log.info("SAP入库返回, 物料凭证: {}, 年份: {}", returnDto.getKey().getKey(), returnDto.getValue().getValue()); // 更新收货明细的物料凭证和入库数量 qcReceiveItemService.lambdaUpdate() .eq(WmsQcReceiveItem::getId, receiveItem.getId()) @@ -255,13 +266,18 @@ public class SRMController extends BaseController { .eq(WmsQcReceive::getId, receiveItem.getReceiveId()) .set(WmsQcReceive::getIsCompleted, (short) 2) .update(); + log.info("收货单全部完成, receiveId: {}", receiveItem.getReceiveId()); } else { qcReceiveService.lambdaUpdate() .eq(WmsQcReceive::getId, receiveItem.getReceiveId()) .set(WmsQcReceive::getIsCompleted, (short) 1) .update(); + log.info("收货单部分完成, receiveId: {}", receiveItem.getReceiveId()); } } + } else { + log.warn("质检不合格, 质检单号: {}, 不合格数量: {}, 原因: {}", + data.getInspectionNum(), data.getUnqualifiedQty(), data.getUnqualifiedReason()); } srmQualityInspectionService.save(inspect); qcReceiveService.lambdaUpdate() @@ -269,7 +285,7 @@ public class SRMController extends BaseController { .set(WmsQcReceive::getIsCheck, isCheck) .update(); qcReceiveItemService.updateCheckNum(inspect.getInspectionQty(), inspect.getNoteNum(), inspect.getLineNumber(), inspect.getItemCode(), inspect.getReceiveNum()); - log.error("质检单生成上架任务成功"); + log.info("质检单处理完成: {}, 结果: {}", data.getInspectionNum(), inspect.getInspectionResult()); return 0; } catch (Exception ex) { log.error("SRM送货单保存失败", ex);