refactor: 清理MES端本地product_type冗余代码,对齐WMS主数据架构

1.  移除MES端本地product_type实体、schema及相关CRUD代码,改为通过WMS内部API代理获取物料主数据
2.  更新物料管理粒度逻辑,新增"其他"类型(3)支持,同步更新入库校验规则
3.  修复前端物料选择、库存筛选等页面的类型判断逻辑,统一使用manage_mode区分管理类型
4.  清理静态资源文件冗余的样式代码,调整前端页面展示逻辑
5.  更新帮助文档,修正物料类型的说明描述
This commit is contained in:
SunYF
2026-09-22 07:41:40 +08:00
parent 12ca493c61
commit 932700ca65
84 changed files with 698 additions and 3955 deletions
+8 -4
View File
@@ -22,6 +22,10 @@ import (
// 物料品类:4=其他(辅料/工装/试验设备),与 schema/material.go 的 item_type 保持一致
const invItemOther = 4
// 类型(管理粒度)第三值:3=其他(辅料/工装/试验设备),与结构件(1)/电气件(2) 同级。
// 客户裁决(2026-09-21):结构件/电气件/其他 同属「类型」维度,独立于「品类」,编号 1/2/3。
const invManageOther = 3
// nextDailyNo 生成日期+流水号,格式:IB/OB + YYYYMMDD + -NNN(如 IB20260921-001)。
// 同一天内流水号递增,跨天重置为 001。并发冲突时自动重试最多 5 次。
// 注意:历史旧单号(IB+UUID 片段)不受影响,仅新生成的用新格式。
@@ -189,8 +193,8 @@ func createInboundHandler(ctx *svc.ServiceContext) http.HandlerFunc {
return
}
// 其他类物料(item_type=4:辅料/工装/试验设备):规格强制必填(客户诉求 问题记录 L50)
if m.ItemType == invItemOther {
// 其他类物料(类型 manage_mode=3:辅料/工装/试验设备):规格强制必填(客户诉求 问题记录 L50)
if m.ManageMode == invManageOther {
if strings.TrimSpace(m.Spec) == "" {
fail(w, http.StatusBadRequest, "其他类物料必须填写规格型号,请先在物料档案补全")
return
@@ -273,8 +277,8 @@ func createInboundHandler(ctx *svc.ServiceContext) http.HandlerFunc {
totalQty := 0
// 结构件(批次管理)
if m.ManageMode == 1 {
// 结构件(批次管理)+ 其他(辅料/工装/试验设备,同为数量/批次管理)
if m.ManageMode == 1 || m.ManageMode == invManageOther {
// 结构件走批次入库,不允许携带 SN 清单
if len(req.SnList) > 0 {
fail(w, http.StatusBadRequest, "该物料为结构件(按批次管理),不应提交 SN 清单,请使用『结构件入库』")