From d40773b5938a78da62de28db598eb62e25f43838 Mon Sep 17 00:00:00 2001 From: zhangke Date: Mon, 8 Sep 2025 11:51:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E6=94=B6=E8=B4=A8=E6=A3=80=E7=89=A9?= =?UTF-8?q?=E6=96=99=E7=9A=84=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/NormalPGIController.java | 14 +++++++++----- .../document/SrmMaterialReceiptScanCodes.java | 5 +++++ .../SrmMaterialReceiptScanCodesRepository.java | 8 ++++++++ .../service/NormalPGIControllerService.java | 11 ++++++++++- .../service/NormalQMControllerService.java | 18 ++++++++++++++++++ .../nflg/wms/common/pojo/qo/ConfigAddQO.java | 1 - .../common/pojo/qo/QCReceiveTaskConfirmQO.java | 2 +- .../nflg/wms/common/pojo/vo/QCReceiptVO.java | 6 +++--- .../mapper/WmsQcReceiveItemMapper.java | 2 ++ .../service/IWmsQcReceiveItemService.java | 2 ++ .../service/impl/DepartmentServiceImpl.java | 2 +- .../impl/WmsQcReceiveItemServiceImpl.java | 5 +++++ .../mapper/WmsQcReceiveItemMapper.xml | 8 +++++++- .../resources/mapper/WmsQcReceiveMapper.xml | 5 +++-- 14 files changed, 74 insertions(+), 15 deletions(-) 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 b1bd5875..0c22fbf9 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 @@ -57,8 +57,6 @@ public class NormalPGIController extends BaseController { @Resource private NormalPGIControllerService normalPGIControllerService; - @Resource - private IWmsSrmMaterialReceiptItemService wmsSrmMaterialReceiptItemService; @Resource private SrmMaterialReceiptScanCodesRepository srmMaterialReceiptCanCodesRepository; @@ -259,7 +257,6 @@ public class NormalPGIController extends BaseController { @PostMapping("PDA/task/confirm") @ApiMark(moduleName = "送货单管理", apiName = "普通物料任务上架确认") public ApiResult takeDeliveryConfirm(@Valid @RequestBody PoReceiveTaskConfirmQO request) { - //首先判断是否已经确认 WmsPoReceipt wmsPoReceipt = wmsPoReceiptService.getById(request.getTaskId()); VUtil.trueThrowBusinessError(Objects.isNull(wmsPoReceipt)).throwMessage("收货单不存在"); @@ -277,7 +274,7 @@ public class NormalPGIController extends BaseController { List storageLocationDTOS = new ArrayList<>(); List inventories = new ArrayList<>(); List zwm3A17DTOS = new ArrayList<>(); - + List scanCodes = new ArrayList<>(); for (WmsPoReceiptItem item : wmsPoReceiptItems) { PoReceiveTaskItemConfirmQO qo = request.getItems().stream() .filter(q -> q.getId().equals(item.getId())) @@ -322,6 +319,11 @@ public class NormalPGIController extends BaseController { List item2 = zwm3A17DTO.getItem2(); List scanCode = srmMaterialReceiptScanCodesRepository.findByOrderItemId(item.getOrderItemId()); + if (CollectionUtil.isNotEmpty(scanCode)) { + scanCode = scanCode.stream().filter(code -> code.getIsIntoStorage() == false) + .toList(); + } + if (CollectionUtil.isNotEmpty(scanCode)) { scanCode.forEach(code -> { // 库存 @@ -371,6 +373,8 @@ public class NormalPGIController extends BaseController { .setEBELP(item.getPoLineNumber()) .setFLAG("") .setSERNR(code.getSerialNumbers())); + + scanCodes.add(code); }); } else { // 库存 @@ -394,7 +398,7 @@ public class NormalPGIController extends BaseController { ); } } - normalPGIControllerService.takeDeliveryConfirm(receiptItems, storageLocationDTOS, inventories, zwm3A17DTOS, request.getTaskId()); + normalPGIControllerService.takeDeliveryConfirm(receiptItems, storageLocationDTOS, inventories, zwm3A17DTOS, request.getTaskId(), scanCodes); return ApiResult.success(); } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/document/SrmMaterialReceiptScanCodes.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/document/SrmMaterialReceiptScanCodes.java index 77b2eb0e..5d0d6b32 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/document/SrmMaterialReceiptScanCodes.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/pojo/document/SrmMaterialReceiptScanCodes.java @@ -57,4 +57,9 @@ public class SrmMaterialReceiptScanCodes { public String getKey() { return this.batchNumber + ";" + this.serialNumbers; } + + /** + * 是否在 + */ + private Boolean IsIntoStorage; } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/SrmMaterialReceiptScanCodesRepository.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/SrmMaterialReceiptScanCodesRepository.java index 042ae735..dd0bf70a 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/SrmMaterialReceiptScanCodesRepository.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/repository/SrmMaterialReceiptScanCodesRepository.java @@ -2,6 +2,8 @@ package com.nflg.wms.admin.repository; import com.nflg.wms.admin.pojo.document.SrmMaterialReceiptScanCodes; import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.data.mongodb.repository.Query; +import org.springframework.data.mongodb.repository.Update; import org.springframework.stereotype.Repository; import java.util.List; @@ -11,4 +13,10 @@ public interface SrmMaterialReceiptScanCodesRepository extends MongoRepository findByOrderItemId(Long orderItemId); List findByCodeIdIn(List attr0); + +@Query("{ 'codeId' : { $in : ?0 } }") +@Update("{ $set : { 'isIntoStorage' : ?1 } }") +void updateIsIntoStorage(List codeIds, boolean isIntoStorage); + + } 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 f92dcdca..91666d5a 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 @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import static cn.dev33.satoken.SaManager.log; @@ -195,6 +196,7 @@ public class NormalPGIControllerService { .setCodeNum(scanCode.getCodeNum()) .setBatchNumber(scanCode.getBatchNumber()) .setSerialNumbers(scanCode.getSerialNumbers()) + .setIsIntoStorage(false) .setCodeContent(scanCode.getCodeContent())); } //查看是否有重复的条码 @@ -276,7 +278,8 @@ public class NormalPGIControllerService { List storageLocationDTOS, List inventories, List zwm3A17DTOS, - Long taskId + Long taskId, + List scanCodes ) { if (CollectionUtil.isNotEmpty(wmsPoReceiptItems)) { wmsPoReceiptItemService.updateBatchById(wmsPoReceiptItems); @@ -317,6 +320,12 @@ public class NormalPGIControllerService { .update(); } } + //修改二维码的入库状态 + if (CollectionUtil.isNotEmpty(scanCodes)) { + List codeIds = scanCodes.stream().map(SrmMaterialReceiptScanCodes::getId).toList(); + srmMaterialReceiptCanCodesRepository.updateIsIntoStorage(codeIds, true); + } + } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java index f4b85190..f9ea8069 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/NormalQMControllerService.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil; import com.nflg.wms.admin.pojo.dto.QCReceiveDTO; import com.nflg.wms.common.pojo.vo.QCTaskItemScanCodesVO; import com.nflg.wms.common.pojo.vo.QCTaskItemVO; +import com.nflg.wms.repository.entity.WmsQcReceive; import com.nflg.wms.repository.entity.WmsQcReceiveItem; import com.nflg.wms.repository.entity.WmsSrmQualityInspection; import com.nflg.wms.repository.service.IWmsInventoryService; @@ -106,6 +107,23 @@ public class NormalQMControllerService { qcReceiveDTO.getWaitModifyItems().forEach(item -> { wmsQcReceiveItemService.updateInQty(item.getId(), item.getInQty(), item.getUnqualifiedQty(), item.getQualifiedQty()); }); + // 修改表头的状态 + Long id = qcReceiveDTO.getWaitModifyItems().get(0).getId(); + WmsQcReceiveItem wmsQcReceiveItem = wmsQcReceiveItemService.getById(id); + Long receiveId = wmsQcReceiveItem.getReceiveId(); + List ids = wmsQcReceiveItemService.getUnReceivedItems(receiveId); +//判断是否全部完成 + if (CollectionUtil.isEmpty(ids)) { + iWmsQcReceiveService.lambdaUpdate() + .eq(WmsQcReceive::getId, receiveId) + .set(WmsQcReceive::getIsCompleted, 2) + .update(); + } else { + iWmsQcReceiveService.lambdaUpdate() + .eq(WmsQcReceive::getId, receiveId) + .set(WmsQcReceive::getIsCompleted, 1) + .update(); + } } // 上传SAP if (Objects.nonNull(qcReceiveDTO.getZwm3a18DTO())) { diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ConfigAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ConfigAddQO.java index 5f716c81..3c40c728 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ConfigAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ConfigAddQO.java @@ -11,7 +11,6 @@ public class ConfigAddQO { /** * 所属组别 */ - @NotBlank private String groupName; //名称 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QCReceiveTaskConfirmQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QCReceiveTaskConfirmQO.java index 750cfa60..b337b012 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QCReceiveTaskConfirmQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QCReceiveTaskConfirmQO.java @@ -48,5 +48,5 @@ public class QCReceiveTaskConfirmQO { /** * 质检单ID */ - private List QcIdList; + private List qcIdList; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QCReceiptVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QCReceiptVO.java index 4b97ada7..65e2019e 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QCReceiptVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QCReceiptVO.java @@ -59,9 +59,9 @@ public class QCReceiptVO { private String supplierName; /** - * 是否已入库,true 是;false 否 + * 是否已入库,0 未完成,1 部分入库,2 已完成 */ - private Boolean isCompleted; + private Integer isCompleted; /** * 收货时间 */ @@ -74,5 +74,5 @@ public class QCReceiptVO { /** * 是否已开检 */ - private Boolean isCheck; + private Boolean isCheck; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsQcReceiveItemMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsQcReceiveItemMapper.java index 9da25288..a6cd214b 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsQcReceiveItemMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/WmsQcReceiveItemMapper.java @@ -22,4 +22,6 @@ public interface WmsQcReceiveItemMapper extends BaseMapper { void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc); void updateInQty(Long id, BigDecimal inQty, BigDecimal unqualifiedQty, BigDecimal qualifiedQty); + + List getUnReceivedItems(Long receiveId); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsQcReceiveItemService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsQcReceiveItemService.java index 94ff3189..8c6b83ed 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsQcReceiveItemService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsQcReceiveItemService.java @@ -24,4 +24,6 @@ public interface IWmsQcReceiveItemService extends IService { void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode,String materialDoc); void updateInQty(Long id, BigDecimal inQty,BigDecimal unqualifiedQty,BigDecimal qualifiedQty); + + List getUnReceivedItems(Long receiveId); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/DepartmentServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/DepartmentServiceImpl.java index 3ab92b73..e5c9c5af 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/DepartmentServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/DepartmentServiceImpl.java @@ -81,7 +81,7 @@ public class DepartmentServiceImpl extends ServiceImpl getUnReceivedItems(Long receiveId) { + return baseMapper.getUnReceivedItems(receiveId); + } } diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsQcReceiveItemMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsQcReceiveItemMapper.xml index 83c73ac2..dfcd8612 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsQcReceiveItemMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsQcReceiveItemMapper.xml @@ -1,7 +1,6 @@ - + select id + from wms_qc_receive_item + where receive_id = #{receiveId} + and receipt_num > in_qty + diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsQcReceiveMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsQcReceiveMapper.xml index cec15159..b29124a3 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsQcReceiveMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsQcReceiveMapper.xml @@ -9,7 +9,7 @@ create_time, factory_code from wms_qc_receive - where is_completed = 0 and is_check = true + where is_completed !=2 and is_check = true and ( in_no like concat( '%',#{orderNo},'%') or order_no like concat( '%',#{orderNo},'%') ) @@ -31,7 +31,8 @@ a.create_time as receive_time, a.update_time as in_time, a.create_user_name as receive_user_name, - a.update_user_name as in_user_name + a.update_user_name as in_user_name, + a.is_check from wms_qc_receive a left join wms_srm_order b on a.order_no = b.note_num