From 9a28e73fb93c850e22ff7ca4024543ca10e9bff4 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Wed, 14 Jan 2026 18:12:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(api):=20=E6=96=B0=E5=A2=9EQMS=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E6=9C=8D=E5=8A=A1API=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 创建InspectionCompleteNotification DTO用于质检完成通知 - 添加RemoteQmsInspectionService Dubbo接口定义质检服务 - 在父pom中注册hwmom-api-qms模块 - 为WMS模块添加QMS API依赖支持质检功能集成 --- ruoyi-api/hwmom-api-qms/pom.xml | 40 +++++++++ .../qms/api/RemoteQmsInspectionService.java | 45 ++++++++++ .../dto/InspectionCompleteNotification.java | 87 +++++++++++++++++++ ruoyi-api/pom.xml | 1 + ruoyi-modules/hwmom-wms/pom.xml | 7 ++ 5 files changed, 180 insertions(+) create mode 100644 ruoyi-api/hwmom-api-qms/pom.xml create mode 100644 ruoyi-api/hwmom-api-qms/src/main/java/org/dromara/qms/api/RemoteQmsInspectionService.java create mode 100644 ruoyi-api/hwmom-api-qms/src/main/java/org/dromara/qms/api/dto/InspectionCompleteNotification.java diff --git a/ruoyi-api/hwmom-api-qms/pom.xml b/ruoyi-api/hwmom-api-qms/pom.xml new file mode 100644 index 00000000..4e5c6c3e --- /dev/null +++ b/ruoyi-api/hwmom-api-qms/pom.xml @@ -0,0 +1,40 @@ + + + + org.dromara + ruoyi-api + ${revision} + + 4.0.0 + + hwmom-api-qms + + + hwmom-api-qms QMS质检服务接口模块 + + + + + + + org.dromara + ruoyi-common-core + + + + + org.dromara + ruoyi-common-excel + + + + org.projectlombok + lombok + provided + + + + + diff --git a/ruoyi-api/hwmom-api-qms/src/main/java/org/dromara/qms/api/RemoteQmsInspectionService.java b/ruoyi-api/hwmom-api-qms/src/main/java/org/dromara/qms/api/RemoteQmsInspectionService.java new file mode 100644 index 00000000..7fd13546 --- /dev/null +++ b/ruoyi-api/hwmom-api-qms/src/main/java/org/dromara/qms/api/RemoteQmsInspectionService.java @@ -0,0 +1,45 @@ +package org.dromara.qms.api; + +import org.dromara.common.core.domain.R; +import org.dromara.qms.api.dto.InspectionCompleteNotification; +import org.dromara.qms.api.dto.WmsInspectionTaskRequest; + +/** + * QMS 质检服务 Dubbo 接口 + *

+ * 提供 WMS 与 QMS 集成的质检相关服务 + * + * @author zch + * @date 2026-1-14 + */ +public interface RemoteQmsInspectionService { + + /** + * 为 WMS 入库单创建质检任务 + *

+ * 业务场景: + * 1. WMS 入库时判断物料是否需要质检(inspectionRequest = "0") + * 2. 调用此接口创建质检任务,触发 8 级模板匹配策略 + * 3. 返回质检单号,WMS 更新入库单状态为"质检中" + *

+ * 说明:租户ID和用户ID从当前调用上下文自动获取(通过 LoginHelper 和 TenantHelper) + * + * @param request 质检任务请求参数 + * @return 质检单号 + */ + String createInspectionTaskForWMS(WmsInspectionTaskRequest request); + + /** + * 通知 WMS 质检完成(预留接口,暂不实现) + *

+ * 说明:质检完成回调采用 REST API 方式实现(POST /wsmApi/notifyInspectionComplete) + * 此 Dubbo 接口作为备用方案,未来如需服务间直接调用可启用 + *

+ * 说明:租户ID和用户ID从当前调用上下文自动获取 + * + * @param notification 质检完成通知参数 + * @return 处理结果 + */ + R notifyInspectionComplete(InspectionCompleteNotification notification); + +} diff --git a/ruoyi-api/hwmom-api-qms/src/main/java/org/dromara/qms/api/dto/InspectionCompleteNotification.java b/ruoyi-api/hwmom-api-qms/src/main/java/org/dromara/qms/api/dto/InspectionCompleteNotification.java new file mode 100644 index 00000000..322aa191 --- /dev/null +++ b/ruoyi-api/hwmom-api-qms/src/main/java/org/dromara/qms/api/dto/InspectionCompleteNotification.java @@ -0,0 +1,87 @@ +package org.dromara.qms.api.dto; + +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 质检完成通知 DTO + *

+ * 用于 QMS 质检完成后通知 WMS 完成入库操作 + *

+ * 传递方式: + * 1. REST API:POST /wsmApi/notifyInspectionComplete(主要方式) + * 2. Dubbo 接口:RemoteQmsInspectionService.notifyInspectionComplete()(备用方式) + * + * @author zch + * @date 2026-1-14 + */ +@Data +@NoArgsConstructor +public class InspectionCompleteNotification implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 质检单号 + *

+ * 必填,用于关联质检单 + */ + private String inspectionNo; + + /** + * 入库单号 + *

+ * 必填,用于 WMS 定位入库记录 + */ + private String instockCode; + + /** + * 质检结果 + *

+ * 必填,0=合格,1=不合格 + * WMS 根据此结果决定是否完成入库 + */ + private String result; + + /** + * 质检状态 + *

+ * 必填,0=未处理,1=已完成 + * 只有状态为"已完成"时才通知 WMS + */ + private String status; + + /** + * 合格数量 + *

+ * 必填,用于 WMS 更新库存 + */ + private BigDecimal qualifiedQty; + + /** + * 不合格数量 + *

+ * 必填,用于 WMS 生成不合格品记录 + */ + private BigDecimal unqualifiedQty; + + /** + * 物料编码 + *

+ * 可选,用于 WMS 校验 + */ + private String materialCode; + + /** + * 质检完成时间 + *

+ * 可选,用于记录日志 + */ + private String inspectionEndTime; + +} diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml index 2e6458b2..1f6c05c4 100644 --- a/ruoyi-api/pom.xml +++ b/ruoyi-api/pom.xml @@ -20,6 +20,7 @@ hwmom-api-dms ruoyi-api-job hwmom-api-wms + hwmom-api-qms hwmom-api-ems diff --git a/ruoyi-modules/hwmom-wms/pom.xml b/ruoyi-modules/hwmom-wms/pom.xml index e5f5ca28..62d6d164 100644 --- a/ruoyi-modules/hwmom-wms/pom.xml +++ b/ruoyi-modules/hwmom-wms/pom.xml @@ -133,6 +133,13 @@ compile + + + org.dromara + hwmom-api-qms + 2.2.2 + compile + org.dromara