From 5dffce196f0a240d9dfb9d64ecf2f55a7df86520 Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Fri, 5 Jun 2026 11:49:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BA=93=E5=AD=98=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...IncomingInspectionTaskControllerService.java | 13 +++++++++++++ .../service/QmsQcMaterialControllerService.java | 9 ++++++++- ...msIncomingInspectionTaskCallbackService.java | 17 +++++++++++++++-- .../common/pojo/dto/QmsQcMaterialExportDTO.java | 6 ++++++ .../common/pojo/dto/QmsQcMaterialImportDTO.java | 6 ++++++ .../wms/common/pojo/qo/InventorySearchQO.java | 10 ++++++++++ .../wms/common/pojo/qo/QmsQcMaterialAddQO.java | 5 +++++ .../common/pojo/qo/QmsQcMaterialSearchQO.java | 5 +++++ .../common/pojo/qo/QmsQcMaterialUpdateQO.java | 5 +++++ .../nflg/wms/common/pojo/vo/InventoryVO.java | 10 ++++++++++ .../wms/common/pojo/vo/QmsQcMaterialVO.java | 5 +++++ .../wms/repository/entity/QmsQcMaterial.java | 5 +++++ .../wms/repository/entity/WmsInventory.java | 10 ++++++++++ .../service/impl/WmsInventoryServiceImpl.java | 4 ++++ .../resources/mapper/QmsQcMaterialMapper.xml | 10 ++++++++++ .../resources/mapper/WmsInventoryMapper.xml | 8 +++++++- 16 files changed, 124 insertions(+), 4 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java index 74201f6c..40b8458f 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java @@ -113,6 +113,9 @@ public class IncomingInspectionTaskControllerService { @Resource private List sendMessageServices; + @Resource + private IWmsInventoryService inventoryService; + /** * 来料检验申请(对外接口) * 业务规则: @@ -372,6 +375,16 @@ public class IncomingInspectionTaskControllerService { .eq(QmsIncomingInspectionTask::getId, task.getId()) .update(); + boolean inventoryUpdated = inventoryService.lambdaUpdate() + .set(WmsInventory::getDetectionStatus, (short) 1) + .set(WmsInventory::getDetectionResults, null) + .eq(WmsInventory::getMaterialNo, request.getMaterialNo()) + .eq(WmsInventory::getFactoryNo, request.getFactory()) + .eq(WmsInventory::getWarehouseNo, request.getWarehouse()) + .eq(WmsInventory::getBinLocation, request.getStorageLocation()) + .update(); + VUtil.trueThrowBusinessError(!inventoryUpdated).throwMessage("未找到对应库存,无法更新检测状态"); + QmsTodoItem qmsTodoItem = new QmsTodoItem() .setTitle("新的IQC库存检测任务" + task.getTaskNo()) .setCode(basdeSerialNumberControllerService.generateSerialNumber(32)) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsQcMaterialControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsQcMaterialControllerService.java index 59614215..ad0299ee 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsQcMaterialControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsQcMaterialControllerService.java @@ -161,6 +161,7 @@ public class QmsQcMaterialControllerService { .setMaterialName(request.getMaterialName()) .setMaterialTexture(request.getMaterialTexture()) .setMaterialSpecifications(request.getMaterialSpecifications()) + .setValidityPeriod(request.getValidityPeriod()) .setIsStandardMaintained(request.getIsStandardMaintained() != null ? request.getIsStandardMaintained() : false) .setCreatedType(0) .setCreateBy(userId) @@ -234,6 +235,9 @@ public class QmsQcMaterialControllerService { if (request.getMaterialSpecifications() != null) { updateChain.set(QmsQcMaterial::getMaterialSpecifications, request.getMaterialSpecifications()); } + if (request.getValidityPeriod() != null) { + updateChain.set(QmsQcMaterial::getValidityPeriod, request.getValidityPeriod()); + } // 更新规则是否已维护 if (request.getIsStandardMaintained() != null) { updateChain.set(QmsQcMaterial::getIsStandardMaintained, request.getIsStandardMaintained()); @@ -360,6 +364,7 @@ public class QmsQcMaterialControllerService { .setMaterialName(dto.getMaterialName()) .setMaterialTexture(dto.getMaterialTexture()) .setMaterialSpecifications(dto.getMaterialSpecifications()) + .setValidityPeriod(dto.getValidityPeriod()) .setIsStandardMaintained(false) .setCreatedType(0) .setCreateBy(userId) @@ -380,6 +385,7 @@ public class QmsQcMaterialControllerService { .set(QmsQcMaterial::getMaterialName, dto.getMaterialName()) .set(QmsQcMaterial::getMaterialTexture, dto.getMaterialTexture()) .set(QmsQcMaterial::getMaterialSpecifications, dto.getMaterialSpecifications()) + .set(QmsQcMaterial::getValidityPeriod, dto.getValidityPeriod()) .set(QmsQcMaterial::getUpdateBy, userId) .set(QmsQcMaterial::getUpdateByName, operator) .set(QmsQcMaterial::getUpdateTime, now) @@ -435,7 +441,8 @@ public class QmsQcMaterialControllerService { .setDrawingNoVer("示例版本号") .setMaterialName("示例物料名称") .setMaterialTexture("示例材质") - .setMaterialSpecifications("示例规格"); + .setMaterialSpecifications("示例规格") + .setValidityPeriod((short) 12); EecExcelUtil.export("质检物料导入模板", "质检物料导入模板", List.of(example), response); } diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsIncomingInspectionTaskCallbackService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsIncomingInspectionTaskCallbackService.java index 73c69eb9..94b29cf2 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsIncomingInspectionTaskCallbackService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/WmsIncomingInspectionTaskCallbackService.java @@ -9,9 +9,11 @@ import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.QmsIncomingInspectionTask; import com.nflg.wms.repository.entity.QmsIncomingInspectionTaskRecord; import com.nflg.wms.repository.entity.QmsIssueTicket; +import com.nflg.wms.repository.entity.WmsInventory; import com.nflg.wms.repository.service.IQmsIncomingInspectionTaskRecordService; import com.nflg.wms.repository.service.IQmsIncomingInspectionTaskService; import com.nflg.wms.repository.service.IQmsIssueTicketService; +import com.nflg.wms.repository.service.IWmsInventoryService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; @@ -46,6 +48,9 @@ public class WmsIncomingInspectionTaskCallbackService { @Resource private IQmsIssueTicketService issueTicketService; + @Resource + private IWmsInventoryService inventoryService; + /** * 向WMS系统发送来料检验任务回调 */ @@ -134,6 +139,14 @@ public class WmsIncomingInspectionTaskCallbackService { boolean callbackResult = true; try { wmsApiService.post(inventoryUrl, qo, "库存检验任务回调WMS"); + inventoryService.lambdaUpdate() + .set(WmsInventory::getDetectionStatus, (short) 2) + .set(WmsInventory::getDetectionResults, taskVO.getInspectionResult()) + .eq(WmsInventory::getMaterialNo, taskVO.getMaterialNo()) + .eq(WmsInventory::getFactoryNo, taskVO.getFactory()) + .eq(WmsInventory::getWarehouseNo, taskVO.getWarehouse()) + .eq(WmsInventory::getBinLocation, taskVO.getStorageLocation()) + .update(); } catch (Exception e) { callbackResult = false; throw new NflgException(STATE.BusinessError, "调用WMS接口失败:" + e.getMessage()); @@ -185,10 +198,10 @@ public class WmsIncomingInspectionTaskCallbackService { */ private void process(QmsIncomingInspectionTaskVO taskVO, Short processingResult) { switch (taskVO.getInspectionType()) { - case 1: + case 0: incoming(taskVO,processingResult); break; - case 2: + case 1: inventory(taskVO,processingResult); break; default: diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/QmsQcMaterialExportDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/QmsQcMaterialExportDTO.java index a13972f7..3db74803 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/QmsQcMaterialExportDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/QmsQcMaterialExportDTO.java @@ -65,6 +65,12 @@ public class QmsQcMaterialExportDTO { @ExcelColumn("物料规格") private String materialSpecifications; + /** + * Validity period in months. + */ + @ExcelColumn("有效周期(月)") + private Short validityPeriod; + /** * 规则是否已维护 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/QmsQcMaterialImportDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/QmsQcMaterialImportDTO.java index cade7402..998f42e0 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/QmsQcMaterialImportDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/QmsQcMaterialImportDTO.java @@ -59,6 +59,12 @@ public class QmsQcMaterialImportDTO { @ExcelColumn("物料规格") private String materialSpecifications; + /** + * Validity period in months. + */ + @ExcelColumn("有效周期(月)") + private Short validityPeriod; + /** * 错误信息 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InventorySearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InventorySearchQO.java index 8982548e..c00b1845 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InventorySearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InventorySearchQO.java @@ -24,4 +24,14 @@ public class InventorySearchQO extends PageQO { * 库存地点编号 */ private String warehouseNo; + + /** + * 检测状态:0=未检测,1=检测中,2=已检测 + */ + private Short detectionStatus; + + /** + * 检测结果 + */ + private Boolean detectionResults; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialAddQO.java index c4ad9943..1514decc 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialAddQO.java @@ -56,6 +56,11 @@ public class QmsQcMaterialAddQO { */ private String materialSpecifications; + /** + * Validity period in months. + */ + private Short validityPeriod; + /** * 规则是否已维护:false=未维护,true=已维护 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialSearchQO.java index d0f66397..b0f1d51f 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialSearchQO.java @@ -66,6 +66,11 @@ public class QmsQcMaterialSearchQO extends PageQO { */ private String materialSpecifications; + /** + * Validity period in months. + */ + private Short validityPeriod; + /** * 规则是否已维护(精确匹配):false=未维护,true=已维护 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialUpdateQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialUpdateQO.java index b760cc20..3273912e 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialUpdateQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsQcMaterialUpdateQO.java @@ -61,6 +61,11 @@ public class QmsQcMaterialUpdateQO { */ private String materialSpecifications; + /** + * Validity period in months. + */ + private Short validityPeriod; + /** * 规则是否已维护:false=未维护,true=已维护 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InventoryVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InventoryVO.java index af6e7f11..481353c2 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InventoryVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InventoryVO.java @@ -43,4 +43,14 @@ public class InventoryVO { * 序列号 */ private String serialNo; + + /** + * 检测状态:0=未检测,1=检测中,2=已检测 + */ + private Short detectionStatus; + + /** + * 检测结果:true=合格,false=不合格,null=无结果 + */ + private Boolean detectionResults; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsQcMaterialVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsQcMaterialVO.java index 8138bc6b..9a1874eb 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsQcMaterialVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsQcMaterialVO.java @@ -74,6 +74,11 @@ public class QmsQcMaterialVO { */ private String materialSpecifications; + /** + * Validity period in months. + */ + private Short validityPeriod; + /** * 规则是否已维护:false=未维护,true=已维护 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsQcMaterial.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsQcMaterial.java index 51b082b6..d7808ead 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsQcMaterial.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsQcMaterial.java @@ -81,6 +81,11 @@ public class QmsQcMaterial implements Serializable { */ private String materialSpecifications; + /** + * Validity period in months. + */ + private Short validityPeriod; + /** * 规则是否已维护:false=未维护,true=已维护 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInventory.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInventory.java index 0e086c68..cb8e75f7 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInventory.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsInventory.java @@ -96,4 +96,14 @@ public class WmsInventory implements Serializable { * 储位 */ private String binLocation; + + /** + * 检测状态:0=未检测,1=检测中,2=已检测 + */ + private Short detectionStatus; + + /** + * 检测结果:true=合格,false=不合格 + */ + private Boolean detectionResults; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInventoryServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInventoryServiceImpl.java index b9eb42b3..39d08028 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInventoryServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/WmsInventoryServiceImpl.java @@ -135,12 +135,16 @@ public class WmsInventoryServiceImpl extends ServiceImpl AND material_specifications ilike concat('%', #{request.materialSpecifications}, '%') + + AND validity_period = #{request.validityPeriod} + AND is_standard_maintained = #{request.isStandardMaintained} @@ -109,6 +113,7 @@ material_name material_texture material_specifications + validity_period is_standard_maintained created_type create_by_name @@ -145,6 +150,7 @@ material_name, material_texture, material_specifications, + validity_period, CASE WHEN is_standard_maintained THEN '是' ELSE '否' END AS is_standard_maintained, CASE created_type WHEN 0 THEN '人工操作' WHEN 1 THEN '系统同步' ELSE '未知' END AS created_type, create_by_name, @@ -189,6 +195,9 @@ AND material_specifications ilike concat('%', #{request.materialSpecifications}, '%') + + AND validity_period = #{request.validityPeriod} + AND is_standard_maintained = #{request.isStandardMaintained} @@ -229,6 +238,7 @@ material_name material_texture material_specifications + validity_period is_standard_maintained created_type create_by_name diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsInventoryMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsInventoryMapper.xml index b6a587df..fd173501 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsInventoryMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsInventoryMapper.xml @@ -4,7 +4,7 @@