面向 S0 内容迁移持续使用。当前目标已明确为 复刻原平台业务语义,但仍需避免把“纯查询结果”误建成业务实体表。后续每次新增一个原平台列表,先识别该列表属于 实体模型、聚合模型 还是 查询模型,再决定目标实现方式并登记。
| 项 | 约定 |
|---|---|
| 使用场景 | 原平台为低代码平台,列表可能直接绑定 SQL;目标平台为 Admin.NET + SqlSugar + 前后端分离 |
| 当前问题 | AI 容易把“列表查询结果”误识别成“独立实体表” |
| 当前迁移目标 | 以复刻原平台对象语义为优先,不以沿用现有抽象命名为优先 |
| 本文目标 | 建立统一判定标准,避免误建模;同时明确在“复刻优先”前提下该如何落地 |
| 执行方式 | 每次只处理一个列表;先判定归类,再决定是否建表 / 建聚合 / 建查询接口 |
| 与现有 S0 的关系 | 已落地的 Batch2 产销建模、Batch3 制造建模 作为参考边界;但当其与源平台语义冲突时,优先服从“复刻目标” |
S0迁移.mdBatch2-产销建模迁移方案.mdBatch3-制造建模迁移方案.md原平台为低代码平台,很多页面列表直接绑定 SQL 查询,页面本身不一定对应真实业务实体。迁移到 AiDOPWarehouse 后,目标系统不再是“页面直接查 SQL”,而是“数据库实体 + 后端接口 + 前端页面”的结构。
当前迁移目标已经明确:
因此,后续判断标准不再是“尽量贴现有代码抽象”,而是:
join、统计、过滤后的结果,不具备独立生命周期。为 S0 列表迁移建立一套稳定的修正规则,确保低代码平台中的“列表”在“复刻原平台”的目标下:
Batch2、Batch3 与源平台冲突时,能明确写出是否回切到源模型。ItemNum、ParentItem、WorkCtr 这类直接裸露的英文字段名,除非业务明确要求双语。以下边界以仓库当前实现为参考,但不是绝对约束。后续所有新列表优先按“源平台语义”判断,再决定是否复用现有模式。
| 模块 | 典型对象 | 归类 | 原因 |
|---|---|---|---|
| 产销建模 | Customer / Material / OrderPriorityRule | 实体模型 | 具备新增、编辑、删除、启停、编码、组织归属等独立生命周期 |
| 制造建模 | ProductionLine / WorkCenter / PersonSkill 等 | 实体模型 | 标准主数据维护页,对应真实业务表 |
| 制造建模 | BOM / Routing / LinePost / PreprocessElement | 聚合模型 | 不是单表 CRUD,而是头表 + 子表整体保存 |
| 模块 | 典型对象 | 归类 | 原因 |
|---|---|---|---|
| 看板 / KPI | AidopKanbanController 下各类指标、告警、模块明细 |
查询模型 | 直接 SQL 查询,面向展示,无独立业务写入 |
| 纯展示聚合页 | 文档中明确“不迁移纯展示类聚合大屏” | 查询模型 | 只读,不形成业务主数据 |
现有 S0 的经验不是“一个列表一个表”,但在当前“复刻优先”目标下,需要补充下面的覆盖规则:
当原平台信息足够明确时,按以下优先级决策:
CustMaster、ItemMaster、LineMaster、StdOpMaster 这类明确主表,目标方案应优先向这些主表语义收敛。当方案进入开发执行时,前端必须额外满足以下规则:
xxx-new、xxxV2、xxxLegacyCopy 之类的新页面。每次收到一个列表,先回答下面几个问题。
满足越多,越偏向实体或聚合:
如果这些都不明显,通常不是实体。
补充:
LEFT JOIN 就降级成查询模型。满足越多,越偏向查询模型:
join满足以下特征时,不应简单建成“一个列表一个实体”:
这类应参照 BOM、工艺路线、线体岗位、前处理要素。
每个列表最终只落到以下 6 类中的 1 类。
| 分类 | 名称 | 说明 | 目标实现 |
|---|---|---|---|
| A | 实体主表 | 真实业务对象,具备独立生命周期 | 建实体表 + DTO + Controller + 页面 |
| B | 聚合头表 | 头表本身独立,但必须带子项整体保存 | 建头表/子表 + 聚合接口 + 聚合页面 |
| C | 聚合子表 | 子项不单独成资源,只依附头表存在 | 不单独建菜单和资源,纳入聚合保存 |
| D | 实体查询页 | 基于已有实体的列表视图 | 不新增表;补查询 DTO / 筛选接口 / 前端页 |
| E | 查询模型 | 纯 SQL/拼装/统计结果 | 建只读接口、DTO、必要时视图或查询服务,不建业务实体表 |
| F | 待确认 | 信息不足,无法安全判断 | 先登记,待补 SQL / 页面操作 / 业务规则 |
执行方式:
InitTables适用前提:
执行方式:
适用前提:
执行方式:
适用前提:
执行方式:
适用前提:
执行方式:
适用前提:
执行方式:
最少补充信息:
后续每个列表统一按以下顺序处理:
接收列表信息
至少包含:列表名称、页面用途、字段、按钮操作、原 SQL 或来源说明。
先判断源平台背后是不是明确主表/主对象
若是,优先按“复刻该主表语义”思考;若否,再继续判断是否只是查询结果。
判断是否有独立生命周期
若有,继续判断是单实体还是聚合;若无,优先判断为查询模型。
判断是否多表拼装 / 统计 / 计算结果
若是,优先归入查询模型,不默认建表。
若现有 S0 模型与源平台冲突,判断是否需要路线决策
例如 BOM、工艺路线这类“现有是聚合,源平台是行级”的对象。
输出初判结论
结论格式统一为:分类 + 理由 + 建议落地方式 + 待确认项。
登记到本文台账
后续开发、复盘、回看统一以台账为准。
若进入开发执行,默认补充三项实现要求
页面中文化、接管旧路由、删除旧页面/旧入口。
以下要求适用于所有已确认进入开发的列表:
信息越完整,判定越快;但不是必须一次全齐。
后续每次识别,统一按下面格式输出并登记:
### [列表名称]
- 初判分类:
- 判断依据:
- 建议落地:
- 是否需要新表:
- 是否需要聚合:
- 是否改为查询接口:
- 待确认项:
- 当前结论状态:待确认 / 已确认 / 已落地
| 序号 | 模块 | 列表名称 | 原平台特征 | 初判分类 | 建议落地方式 | 结论状态 | 备注 |
|---|---|---|---|---|---|---|---|
| 1 | 供应 | 供应商维护列表 | 主表 SuppMaster + 左联 LocationMaster 补展示字段 + 表单维护 + 按 Domain 过滤 |
D | 保留供应商模块边界,但整体向 SuppMaster 语义收敛;查询层补展示字段 |
待确认 | 本质是供应商主数据,不是查询模型;对账周期字段在列表中是格式化展示值 |
| 2 | 供应 | 货源清单列表 | 主表 srm_purchase + 左联 ic_item 补物料字段 + 列表维护/导入 |
D | 保留货源清单模块边界,但整体向 srm_purchase 语义收敛;查询层补物料展示字段 |
待确认 | 本质是供应来源/采购报价维护表,不是查询模型;多表关联主要用于展示 |
| 3 | 仓储 | 库位维护列表 | 主表 LocationMaster + 表单维护 + 页面内生成货架明细 |
B | 按聚合头表处理;主表向 LocationMaster 语义收敛,货架明细纳入整体维护 |
待确认 | 这条不是普通单表页;截图已出现“货架明细”与“生成货架明细”区域 |
| 4 | 仓储 | 成本中心列表 | 单表 CostCtrMaster + 主键 RecID + 表单维护 + 按 Domain 过滤 |
D | 保留成本中心模块边界,但整体向 CostCtrMaster 语义收敛 |
待确认 | 本质是成本中心主数据,不是查询模型 |
| 5 | 仓储 | 条码规则列表 | 单表 BarCodeNbr + 主键 RecID + 大字段表单维护 |
D | 保留条码规则模块边界,但整体向 BarCodeNbr 语义收敛 |
待确认 | 本质是条码规则主数据,不是查询模型;左联供应商仅补展示字段 |
| 6 | 仓储 | 标签格式列表 | 主表 BarCodeType + 页面含标签元素明细子表 |
B | 按聚合头表处理;主表向 BarCodeType 语义收敛,标签元素纳入整体保存 |
待确认 | 这条不是普通单表页;截图已出现标签元素明细编辑区 |
| 7 | 仓储 | 货架列表 | 主表 LocationShelfMaster + 左联 LocationMaster 补库位名称 |
C | 按聚合子表处理;作为库位维护下的货架明细资源复刻,保留独立查询视图 | 待确认 | 本质是库位下属货架明细,不建议升级为独立主数据模型 |
| 8 | 仓储 | 部门维护列表 | 单表 DepartmentMaster + 主键 RecID + 表单维护 + 按 Domain 过滤 |
D | 保留部门模块边界,但整体向 DepartmentMaster 语义收敛 |
待确认 | 本质是部门主数据,不是查询模型 |
| 9 | 仓储 | 雇员列表 | 主表 EmployeeMaster + 左联 DepartmentMaster / GeneralizedCodeMaster 补展示 + 表单维护 |
D | 保留雇员模块边界,但整体向 EmployeeMaster 语义收敛;查询层补部门与岗位展示字段 |
待确认 | 本质是雇员主数据,不是查询模型;多表关联主要用于展示 |
| 10 | 仓储 | 单号类型列表 | 主表 NbrTypeMaster + 左联 DepartmentMaster 补部门描述 |
D | 保留单号类型模块边界,但整体向 NbrTypeMaster 语义收敛;查询层补部门展示字段 |
待确认 | 本质是单号类型主数据,不是查询模型 |
| 11 | 仓储 | 单号规则维护列表 | 单表 NbrControl + 主键 RecID + 表单维护 |
D | 保留单号规则模块边界,但整体向 NbrControl 语义收敛 |
待确认 | 本质是单号规则主数据,不是查询模型 |
| 12 | 仓储 | 物料状态任务指派 | 主表 wms_rwzp + 页面含头信息和子表明细区 + 流程动作 |
B | 按聚合头表处理;保持任务指派单据语义,头信息和物料明细整体提交 | 待确认 | 虽然表单属性指向单表,但页面明显是主子结构和流程单据,不宜降级成普通单表列表 |
| 13 | 仓储 | 物料职责维护 | 主表 EmpWorkDutyMaster + 左联 EmployeeMaster / LocationMaster / LineMaster 补展示 + 区间物料编码职责维护 |
D | 保留物料职责模块边界,但整体向 EmpWorkDutyMaster 语义收敛;查询层补雇员/库位/产线/职责展示字段 |
待确认 | 本质是职责分配维护表,不是查询模型;多表关联主要用于展示 |
| 14 | 仓储 | 零件包装规格列表 | 主表 ItemPackMaster + 左联 ItemMaster 补物料名称型号 |
D | 保留零件包装规格模块边界,但整体向 ItemPackMaster 语义收敛;查询层补物料展示字段 |
待确认 | 本质是包装规格主数据,不是查询模型;多表关联主要用于展示 |
| 15 | 质量 | 原材料检验规范 | 主表 qms_jygf + 页面含附件与子表明细 |
B | 按聚合头表处理;主表向 qms_jygf 语义收敛,检验明细纳入整体保存 |
待确认 | 页面存在附件导入和子表区,不应按普通单表页处理 |
| 16 | 质量 | 原材料白名单 | 单表 qms_lymjbmd + 主键 id + 表单维护 |
D | 保留原材料白名单模块边界,但整体向 qms_lymjbmd 语义收敛 |
待确认 | 本质是免检白名单主数据,不是查询模型 |
| 17 | 质量 | 抽样方案 | 单表 qms_sampscheme + 主键 id + 表单维护 |
D | 保留抽样方案模块边界,但整体向 qms_sampscheme 语义收敛 |
待确认 | 本质是抽样方案主数据,不是查询模型 |
| 18 | 质量 | 检验仪器 | 单表 qms_inspectioninstru + 主键 id + 表单维护 |
D | 保留检验仪器模块边界,但整体向 qms_inspectioninstru 语义收敛 |
待确认 | 本质是检验仪器主数据,不是查询模型 |
| 19 | 质量 | 检验依据 | 主表 qms_inspectioncrit + 页面含技术文档明细子表 |
B | 按聚合头表处理;主表向 qms_inspectioncrit 语义收敛,技术文档纳入整体保存 |
待确认 | 页面存在“技术文档”子表,不应按单表页处理 |
| 20 | 质量 | 检验方案 | 主表 qms_inspectpro + 页面含方案设置子表 |
B | 按聚合头表处理;主表向 qms_inspectpro 语义收敛,方案设置明细纳入整体保存 |
待确认 | 页面存在“检验方案设置”子表,不应按单表页处理 |
| 21 | 质量 | 检验方法 | 单表 qms_inspection_method + 主键 id + 表单维护 |
D | 保留检验方法模块边界,但整体向 qms_inspection_method 语义收敛 |
待确认 | 本质是检验方法主数据,不是查询模型 |
| 22 | 质量 | 检验标准 | 主表 qms_inspectionstd + 页面含检验项目子表 |
B | 按聚合头表处理;主表向 qms_inspectionstd 语义收敛,检验项目明细纳入整体保存 |
待确认 | 页面存在“检验项目”子表,不应按单表页处理 |
| 23 | 质量 | 检验项目 | 单表 qms_inspectionitems + 主键 id + 表单维护 |
D | 保留检验项目模块边界,但整体向 qms_inspectionitems 语义收敛 |
待确认 | 本质是检验项目主数据,不是查询模型 |
| 24 | 质量 | 检验频率 | 单表 qms_inspectionfreq + 主键 id + 表单维护 |
D | 保留检验频率模块边界,但整体向 qms_inspectionfreq 语义收敛 |
待确认 | 本质是检验频率主数据,不是查询模型 |
| 25 | 质量 | 过程检验规范 | 主表 qms_gcjygf + 页面含附件与子表明细 |
B | 按聚合头表处理;主表向 qms_gcjygf 语义收敛,检验明细纳入整体保存 |
待确认 | 页面存在附件导入和子表区,不应按普通单表页处理 |
| 26 | 质量 | 质量字典 | QMS 左侧字典树导航页 + 多类字典入口聚合 | E | 不新建业务实体表;作为质量字典导航页复刻,复用下层字典资源 | 待确认 | 这是导航/入口页,不是单一业务表单 |
供应商维护列表供应商维护表单SuppMasterLocationMasterRecIDSuppMaster - 供应商主数据、主键为 RecID;列表 SQL 以供应商主表为主,左联库位表补“供应商库位”展示,并将对账周期起止日格式化为中文文本实体查询页LocationMaster 和对账周期格式化逻辑只影响展示,不改变其主数据实体归类SuppMaster 语义收敛LocationName、APStartDay1Text、APEndDay1Text、APStartDay2Text、APEndDay2Text 只放查询 DTO,不落主表Supp、SortName、PurContact、CrTerms、Curr、TaxIn、TaxClass、APStartDay1、APEndDay1、APStartDay2、APEndDay2、Remark、Type、IsActive、RecIDLocationName、APStartDay1/APEndDay1/APStartDay2/APEndDay2 的中文格式化文本Domain、CreateTime、CreateUser、UpdateTime、UpdateUserMySQL 版列表 SQL:
SELECT
s.RecID AS id,
s.Supp,
s.SortName,
s.CrTerms,
s.Curr,
s.Type,
s.TaxIn,
s.TaxClass,
TRIM(CONCAT(l.Location, ' ', IFNULL(l.Descr, ''))) AS LocationName,
CASE
WHEN s.APStartDay1 = 0 THEN ''
ELSE CONCAT(
CASE WHEN s.APStartDay1 > 200 THEN '下月' ELSE '每月' END,
REPLACE(RIGHT(CAST(s.APStartDay1 AS CHAR(10)), 2), '31', '最后'),
'日'
)
END AS APStartDay1Text,
CASE
WHEN s.APEndDay1 = 0 THEN ''
ELSE CONCAT(
CASE WHEN s.APEndDay1 > 200 THEN '下月' ELSE '每月' END,
REPLACE(RIGHT(CAST(s.APEndDay1 AS CHAR(10)), 2), '31', '最后'),
'日'
)
END AS APEndDay1Text,
CASE
WHEN s.APStartDay2 = 0 THEN ''
ELSE CONCAT(
CASE WHEN s.APStartDay2 > 200 THEN '下月' ELSE '每月' END,
REPLACE(RIGHT(CAST(s.APStartDay2 AS CHAR(10)), 2), '31', '最后'),
'日'
)
END AS APStartDay2Text,
CASE
WHEN s.APEndDay2 = 0 THEN ''
ELSE CONCAT(
CASE WHEN s.APEndDay2 > 200 THEN '下月' ELSE '每月' END,
REPLACE(RIGHT(CAST(s.APEndDay2 AS CHAR(10)), 2), '31', '最后'),
'日'
)
END AS APEndDay2Text
FROM SuppMaster s
LEFT JOIN LocationMaster l
ON s.Domain = l.Domain
AND s.PurContact = l.Location
WHERE s.Domain = ?;
当前建议映射:
Supp -> 供应商编码SortName -> 简称PurContact -> 供应商库位CrTerms -> 支付方式Curr -> 币别TaxIn -> 含税TaxClass -> 税类型APStartDay1 / APEndDay1 -> 对账周期1开始 / 结束APStartDay2 / APEndDay2 -> 对账周期2开始 / 结束Remark -> 备注Type -> 供应商类型LocationName -> 供应商库位展示字段待确认项:
Type 在当前页面是否要展示或只做隐藏字段PurContact 是否保存库位编码CrTerms、Curr、TaxClass 是否来自统一字典APStartDay* / APEndDay* 的真实输入控件和存储规则当前结论状态:待确认
关联修改方案:供应建模/供应商维护方案.md
货源清单货源清单表单srm_purchaseic_itemidsrm_purchase - 物料采购报价、主键为 Id;列表 SQL 以采购报价主表为主,左联 ic_item 获取物料编码、型号、单位等展示字段实体查询页ic_item 只是补充物料展示信息,不改变主表实体归类srm_purchase 语义收敛number、model、unit、icitem、supplier 只放查询 DTO,不落主表id、tenant_id、factory_id、icitem_id、icitem_name、supplier_type、is_active、supplier_id、supplier_name、supplier_number、order_price、currency_type、taxrate、tariff、freight、price_terms、effective_date、expiring_date、quota_rate、lead_time、qty_min、packaging_qty、order_rector_name、order_rector_num、IsRequireGoodsnumber、model、unit、icitem、suppliercompany_id、create_time、create_by_nameMySQL 版列表 SQL:
SELECT
sp.id,
sp.tenant_id,
sp.factory_id,
sp.icitem_id,
it.number,
sp.icitem_name,
'原材料' AS item_type,
it.model,
it.unit,
sp.supplier_type,
sp.is_active,
sp.supplier_id,
sp.supplier_name,
sp.supplier_number,
sp.order_price,
sp.currency_type,
IFNULL(sp.taxrate, 0) AS taxrate,
IFNULL(sp.tariff, 0) AS tariff,
sp.freight,
sp.price_terms,
sp.effective_date,
sp.expiring_date,
IFNULL(sp.quota_rate, 0) AS quota_rate,
sp.lead_time,
sp.qty_min,
sp.packaging_qty,
sp.order_rector_name,
sp.order_rector_num,
CONCAT(it.number, sp.icitem_name) AS icitem,
CONCAT(sp.supplier_name, sp.supplier_number) AS supplier,
sp.IsRequireGoods
FROM srm_purchase sp
LEFT JOIN ic_item it
ON sp.icitem_id = it.Id;
当前建议映射:
number -> 物料编码icitem_name -> 物料名称item_type -> 物料类别model -> 规格型号unit -> 订货单位supplier_type -> 供应类别is_active -> 是否失效/启用状态IsRequireGoods -> 采购类型supplier_number -> 供应商编码supplier_name -> 供应商名称order_price -> 价格currency_type -> 币种taxrate -> 增值税率(%)tariff -> 关税(%)freight -> 运费price_terms -> 价格条款effective_date / expiring_date -> 生效日期 / 失效日期quota_rate -> 配额比例(%)lead_time -> 采购前置期(天)qty_min -> 最小订货数量packaging_qty -> 每箱包装数量待确认项:
is_active 在页面上实际表达“是否失效”还是“是否启用”IsRequireGoods 的枚举值与中文映射supplier_type、currency_type、price_terms 是否来自字典netpurc、quota_priority 是否真实存在于表结构但未出现在当前 SQL 中当前结论状态:待确认
关联修改方案:供应建模/货源清单列表方案.md
库位维护库位维护LocationMasterLocationShelfMasterRecIDLocationMaster - 仓库主数据、主键为 RecID;表单中已出现“货架明细”区域和“生成货架明细”动作,说明保存语义不是纯单表 CRUD聚合头表LocationMaster 头表 + 货架明细子表的聚合方式复刻Sort 仅作为排序/显示辅助字段,不落主表Location、Descr、Storer、Typed、PhysicalAddressSortUfld2(保管员)Domain、IsActive、RecID、CreateUser、CreateTime、UpdateUser、UpdateTimeMySQL 版列表 SQL:
SELECT
RecID AS id,
Location,
Descr,
Storer,
Typed,
PhysicalAddress,
CASE
WHEN Typed = 'Supp' THEN 2
ELSE 0
END AS Sort
FROM LocationMaster
WHERE Domain = ?
AND IsActive = 1;
待确认项:
LocationShelfMasterStorer、Typed、Ufld2 的中文业务含义当前结论状态:待确认
关联修改方案:仓储方案/库位维护列表方案.md
成本中心CostCtrMasterRecIDCostCtrMaster,按 Domain 过滤,无统计、无复杂拼装实体查询页CostCtrMaster 语义收敛CostCtr、Descr、Ufld1、EffTimeDomain、RecIDMySQL 版列表 SQL:
SELECT
RecID AS id,
Domain,
CostCtr,
Descr,
Ufld1,
EffTime
FROM CostCtrMaster
WHERE Domain = ?;
待确认项:
Ufld1 的业务含义,截图疑似“责任人”IsActive、审计字段等隐藏字段当前结论状态:待确认
关联修改方案:仓储方案/成本中心方案.md
条码规则列表条码规则设置BarCodeNbrSuppMasterRecIDSuppName实体查询页SuppName 只是展示字段,不改变主表归类BarCodeNbr 语义收敛SuppNameCustomer、Type、WaterRules、WaterLen、Separator、FirmLength、FirmString1 至 FirmString12 及对应长度/备注字段SuppNameDomain、RecIDBarCodeNbr 为主表,左联 SuppMaster 取 SortName 作为 SuppName;保留原字段结构迁移FirmString1 至 FirmString12 对应长度字段的完整清单Customer 在本页表达“供应商”还是通用对象编码仓储方案/条码规则列表方案.md标签格式列表标签格式设置BarCodeTypeRecIDBarCodeType - 标签类型;页面中存在标签元素明细表格,可增删明细行聚合头表BarCodeType 头表 + 标签元素子表聚合复刻BarType、Class、InputStringDomain、RecIDMySQL 版列表 SQL:
SELECT
RecID AS id,
BarType,
Class,
InputString
FROM BarCodeType
WHERE Domain = ?;
待确认项:
Class 的中文业务含义和值域当前结论状态:待确认
关联修改方案:仓储方案/标签格式列表方案.md
货架列表LocationShelfMasterLocationMasterRecID聚合子表LocationMaster 只是为了展示库位名称InvShelf、Location、Descr、Areakwhjname、LocationMaster.DescrMySQL 版列表 SQL:
SELECT
s.RecID AS id,
s.InvShelf AS hj,
CONCAT(s.Location, ':', s.InvShelf) AS kwhjname,
s.Location,
l.Descr,
s.Descr AS ShelfDescr,
s.Area
FROM LocationShelfMaster s
LEFT JOIN LocationMaster l
ON s.Domain = l.Domain
AND s.Location = l.Location
WHERE s.Domain = ?;
待确认项:
Area 的业务含义和值域当前结论状态:待确认
关联修改方案:仓储方案/货架列表方案.md
部门维护列表部门信息DepartmentMasterRecIDDepartmentMaster 单表维护,按 Domain 和 IsActive 过滤实体查询页DepartmentMaster 语义收敛Department、DescrIsActive、IsConfirm、Domain、RecID、CreateUser、CreateTime、UpdateUser、UpdateTimeMySQL 版列表 SQL:
SELECT
RecID AS id,
Department,
Descr
FROM DepartmentMaster
WHERE Domain = ?
AND IsActive = 1;
待确认项:
IsConfirmDepartment 是否只是编码,是否另有完整名称字段当前结论状态:待确认
关联修改方案:仓储方案/部门维护列表方案.md
雇员列表雇员信息EmployeeMasterDepartmentMaster、GeneralizedCodeMasterRecIDEmployeeMaster 为主,左联部门和岗位字典补展示字段;表单属性截图显示为雇员主数据维护页实体查询页EmployeeMaster 语义收敛DepartDescr 与 JobTitle 展示字段Employee、Name、Sex、Phone、Email、BirthDate、Department、DateEmployed、EmploymentStatus、MaritalStatus、JobTitle、DateTerminated、WorkCtr、CarId、DefaultWorkLocationDepartDescr、字典翻译后的 JobTitleDomain、RecIDEmployeeMaster 为主表,左联 DepartmentMaster 取部门名称,左联 GeneralizedCodeMaster 按 FldName='JobTitle' 取岗位名称;过滤条件为 Domain = ? 且 IsActive = 1EmploymentStatus、MaritalStatus 是否来自统一字典BusinessPhone、City、Country 等字段是否在实际表结构中存在但未出现在当前 SQL仓储方案/雇员列表方案.md单号类型维护单号类型NbrTypeMasterDepartmentMasterRecIDNbrTypeMaster;列表 SQL 以单号类型主表为主,左联部门表补部门描述实体查询页DeptDescrNbrTypeMaster 语义收敛DeptDescrDept、NbrClass、NbrType、Descr1DeptDescrDomain、RecID、CreateUser、CreateTime、UpdateUser、UpdateTime、IsActive、IsConfirmMySQL 版列表 SQL:
SELECT
n.RecID AS id,
n.Dept,
d.Descr AS DeptDescr,
n.NbrClass,
n.NbrType,
n.Descr1
FROM NbrTypeMaster n
LEFT JOIN DepartmentMaster d
ON n.Domain = d.Domain
AND n.Dept = d.Department
WHERE n.Domain = ?
AND n.IsActive = 1;
待确认项:
NbrClass 的值域与中文映射Descr1 是否就是页面中的“类型描述”当前结论状态:待确认
关联修改方案:仓储方案/单号类型方案.md
单号规则维护单号规则维护表单NbrControlRecIDNbrControl;页面是标准单表规则维护,包含前缀、初始值、最小值、最大值、重置/跳号/手工产生等字段实体查询页NbrControl 语义收敛NbrType、Description、NbrPre1、NbrPre2、NbrPre3、IniValue、MinValue、MaxValue、AllowReset、AllowSkip、AllowManual、DateType、IsDateTypeDomain、CreateUser、CreateTime、UpdateUser、UpdateTime、RecID、IsActive、IsConfirmMySQL 版列表 SQL:
SELECT
NbrType,
Description,
NbrPre1,
NbrPre2,
NbrPre3,
IniValue,
MinValue,
MaxValue,
AllowReset,
AllowSkip,
AllowManual,
DateType,
IsDateType,
RecID AS id
FROM NbrControl
WHERE Domain = ?;
待确认项:
DateType 的枚举值与中文映射NbrType 是否必须关联单号类型表做下拉引用当前结论状态:待确认
关联修改方案:仓储方案/单号规则维护方案.md
物料状态任务指派物料状态任务指派wms_rwzpidwms_rwzp;页面存在头信息区域和下方子表明细区,并带“处理过程 / 保存 / 发送 / 终止”等流程动作聚合头表wms_rwzp 单表,可先按复刻页面行为设计聚合接口,再评估物理拆表tcrq、sqr、rwlx、clr、zt、xqsjwlbm、Descr、sl、rqpc、yskw、mdkw、bzMySQL 版列表 SQL:
SELECT
wp.id,
wp.tcrq,
wp.sqr,
wp.rwlx,
wp.wlbm,
im.Descr,
wp.sl,
wp.rqpc,
wp.yskw,
wp.mdkw,
wp.xqsj,
wp.clr,
wp.bz,
wp.zt
FROM wms_rwzp wp
LEFT JOIN ItemMaster im
ON wp.wlbm = im.ItemNum
AND im.Domain = ?
待确认项:
rwlx、zt 的值域与中文映射当前结论状态:待确认
关联修改方案:仓储方案/物料状态任务指派方案.md
物料职责维护物料职责维护表单EmpWorkDutyMasterRecIDEmpWorkDutyMaster - 员工岗...;页面以雇员、物料编码区间、库位、生产线、职责为核心字段;列表 SQL 以 EmpWorkDutyMaster 为主,左联雇员、库位、产线表补展示字段,并对 Duty 做中文文本转换实体查询页EmpWorkDutyMaster 语义收敛EmployeeName、LocationName、LineName、DutyTextEmployee、ItemNum1、ItemNum2、Location、ProdLine、Ufld2EmployeeName、LocationName、LineName、DutyDomain、CreateUser、CreateTime、UpdateUser、UpdateTime、RecID、Duty、EmpTypeMySQL 版列表 SQL:
SELECT
w.RecID AS id,
w.Employee,
e.Name AS EmployeeName,
w.ItemNum1,
w.ItemNum2,
TRIM(CONCAT(w.Location, ' ', IFNULL(t.Descr, ''))) AS LocationName,
TRIM(CONCAT(w.ProdLine, ' ', IFNULL(l.Describe, ''))) AS LineName,
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(w.Duty, 'iss-po', '采购收货'),
'iss-so', '销售发货'),
'iss-wo', '发料'),
'packing', '退料'),
'rct-unp', '计划外入库'),
'rct-wo', '入库'),
'Up-Shelf', '上架') AS Duty
FROM EmpWorkDutyMaster w
LEFT JOIN LineMaster l
ON w.Domain = l.Domain
AND w.ProdLine = l.Line
LEFT JOIN EmployeeMaster e
ON w.Domain = e.Domain
AND w.Employee = e.Employee
LEFT JOIN LocationMaster t
ON w.Domain = t.Domain
AND w.Location = t.Location
WHERE w.Domain = ?;
待确认项:
Ufld2、Duty、EmpType 的业务含义Duty 是否应拆成原始编码字段和显示文本字段EmployeeName、LocationName、LineName 是否只用于列表展示当前结论状态:待确认
关联修改方案:仓储方案/物料职责维护方案.md
物料包装规格维护零件包装规格表单ItemPackMasterItemMasterRecIDItemPackMaster;列表 SQL 以包装规格主表为主,左联物料主数据补名称和型号实体查询页ItemPackMaster 语义收敛Descr、Descr1ItemNum、PackingQty、SmallPackingQty、PackingType、NetWeight、WeightUM、Length、Width、High、IssSpecific、CustItem、RemarkDescr、Descr1Domain、CreateUser、CreateTime、UpdateUser、UpdateTime、IsActive、IsConfirm、RecIDMySQL 版列表 SQL:
SELECT
p.RecID AS id,
p.ItemNum,
p.PackingQty,
p.SmallPackingQty,
p.PackingType,
p.NetWeight,
p.WeightUM,
p.Length,
p.Width,
p.High,
p.IssSpecific,
p.CustItem,
p.Remark,
i.Descr,
i.Descr1
FROM ItemPackMaster p
LEFT JOIN ItemMaster i
ON p.Domain = i.Domain
AND p.ItemNum = i.ItemNum
WHERE p.Domain = ?
AND p.IsActive = 1;
待确认项:
IssSpecific 的中文业务含义和值域PackingType、WeightUM 是否来自统一字典当前结论状态:待确认
关联修改方案:仓储方案/零件包装规格方案.md
| 1 | 产销 | 客户维护列表 | 单表 CustMaster + 主键 RecID + 表单维护 + 按 Domain 过滤 | D | 保留客户模块边界,但整体向 CustMaster 语义收敛;不新建列表专用表 | 待确认 | 本质是客户主数据,不是查询模型;当前目标是复刻,不再优先迁就 Customer 抽象命名 |
| 2 | 产销 | 物料维护列表 | 主表 ItemMaster + 主键 RecID + 表单维护 + 左联 LocationMaster 补展示字段 | D | 保留物料模块边界,但整体向 ItemMaster 语义收敛;查询层补展示字段 | 待确认 | 本质是物料主数据;LocationDescr 属于查询展示字段,不应单独建表 |
| 3 | 产销 | 订单优先级列表 | 单表 PriorityCode + 主键 RecID + 表单维护 + 按 Domain 与 IsActive 过滤 | D | 保留优先级模块边界,但整体向 PriorityCode 语义收敛 | 待确认 | 本质是优先级配置主数据,不是查询模型;OrderBy 为枚举展示字段 |
| 4 | 制造 | 标准BOM维护列表 | 主表 ProductStructureMaster + 左联 ItemMaster / 聚合 ProductStructureOp + 行级维护 | F | 进入路线决策;在“复刻优先”前提下默认优先评估回到 ProductStructureMaster 行级语义 | 待确认 | 原平台更像 BOM 行表维护,和现有 Batch3 的 BOM 头子聚合模型不一致 |
| 5 | 制造 | 标准工序维护列表 | 单表 StdOpMaster + 主键 RecID + 表单维护 + 按 Domain 过滤 | D | 保留标准工序模块边界,但整体向 StdOpMaster 语义收敛 | 待确认 | 本质是标准工序主数据,不是查询模型;字段较少,适合直接源语义收敛 |
| 6 | 制造 | 生产线维护列表 | 主表 LineMaster + 主键 RecID + 左联 GeneralizedCodeMaster 翻译码值 + 按 Domain 过滤 | D | 保留生产线模块边界,但整体向 LineMaster 语义收敛;查询层补码表展示字段 | 待确认 | 本质是生产线主数据;WorkshopComments/LineCategoryComments 属于码表翻译字段,不应单独建表 |
| 7 | 制造 | 标准工艺流程维护列表 | 主表 RoutingOpDetail + 左联 ItemMaster / WorkCtrMaster + 行级维护 | F | 进入路线决策;在“复刻优先”前提下默认优先评估回到 RoutingOpDetail 行级语义 | 待确认 | 原平台更像工艺路线行表维护,和现有 Batch3 的工艺路线头子聚合模型不一致 |
| 8 | 制造 | 物料替代关系列表 | 单表 ItemSubstituteDetail + 主键 RecID + 表单维护 + 按 Domain 过滤 | D | 保留物料替代关系模块边界,但整体向 ItemSubstituteDetail 语义收敛 | 待确认 | 本质是物料替代关系主数据,不是查询模型;属于关系型明细表但仍是单表维护 |
| 9 | 制造 | 选择替代方案页面 | UNION 常量行 + ic_substitute 查询结果 + 仅查询筛选 | E | 建新查询页与只读接口,不建业务实体表;复刻原页面列与筛选行为 | 待确认 | 这是新页面;本质是选择器/弹窗型读模型,不是主数据维护页 |
| 10 | 制造 | 工单控制参数设置 | 单表 WorkOrdControl + TOP 1 单记录读取 + 表单直接保存 | A | 按单记录参数表处理,整体向 WorkOrdControl 语义收敛;页面按配置表单复刻 | 待确认 | 本质是工单控制参数配置,不是列表查询;同域通常只维护一条记录 |
| 11 | 制造 | 人员技能维护列表 | 单表 EmpSkills + 主键 RecID + 表单维护 | D | 保留人员技能模块边界,但整体向 EmpSkills 语义收敛 | 待确认 | 本质是员工与技能关系维护表,不是查询模型;属于关系型明细表但仍是单表维护 |
| 12 | 制造 | 产线岗位维护列表 | 主表 LineSkillMaster + 左联 LineMaster 补展示 + 页面含“产线岗位技能明细”子表区 | B | 按聚合头表处理;主表向 LineSkillMaster 语义收敛,子表纳入整体保存 | 待确认 | 这条不是普通单表;截图已出现子表区域,应按主子聚合页处理 |
| 13 | 制造 | 工作中心维护列表 | 主表 WorkCtrMaster + 左联 DepartmentMaster 补展示字段 | D | 保留工作中心模块边界,但整体向 WorkCtrMaster 语义收敛;查询层补部门展示字段 | 待确认 | 本质是工作中心主数据;DepartmentName 属于查询展示字段,不应单独建表 |
| 14 | 制造 | 生产线物料维护列表 | 主表 ProdLineDetail + 左联 RoutingOpDetail / rf_dictionary / WorkCtrMaster 补展示字段 | D | 保留生产线物料模块边界,但整体向 ProdLineDetail 语义收敛;查询层补展示字段 | 待确认 | 本质是生产线物料能力维护表,不是查询模型;多表关联主要用于展示 |
| 15 | 制造 | 生产要素参数列表 | 主表 DevMonitor + CodeType='Prod' 条件过滤 | D | 保留生产要素参数模块边界,但整体向 DevMonitor 语义收敛;按 CodeType 固定条件查询 | 待确认 | 本质是生产要素参数主数据,不是查询模型;CodeType='Prod' 是业务分组条件 |
| 16 | 制造 | 物料工序生产要素列表 | 主表 ItemOpCondition + 左联 ItemMaster / RoutingOpDetail / GeneralizedCodeMaster 补展示 | D | 保留物料工序生产要素模块边界,但整体向 ItemOpCondition 语义收敛;按 CodeType='Prod' 固定条件查询 | 待确认 | 本质是物料工序生产要素维护表,不是查询模型;多表关联主要用于展示 |
| 17 | 制造 | 物料前处理要素列表 | 主表 ItemOpCondition + 左联 ItemMaster / GeneralizedCodeMaster 补展示 | D | 保留物料前处理要素模块边界,但整体向 ItemOpCondition 语义收敛;按 CodeType='PrevProcess' 固定条件查询 | 待确认 | 本质是物料前处理要素维护表,不是查询模型;与“物料工序生产要素”共用主表但业务分组不同 |
| 18 | 制造 | 前处理要素参数列表 | 主表 DevMonitor + CodeType='PrevProcess' 条件过滤 | D | 保留前处理要素参数模块边界,但整体向 DevMonitor 语义收敛;按 CodeType 固定条件查询 | 待确认 | 本质是前处理要素参数主数据,不是查询模型;与“生产要素参数”共用主表但业务分组不同 |
| 19 | 制造 | SOP维护列表 | 主表 QualitySegmentImage + 左联 ImageType / LineMaster / RoutingOpDetail 补展示 | D | 保留 SOP 维护模块边界,但整体向 QualitySegmentImage 语义收敛;查询层补展示字段 | 待确认 | 本质是 SOP 文件维护表,不是查询模型;多表关联主要用于展示 |
| 20 | 制造 | SOP文件类型维护列表 | 单表 ImageType + 主键 RecID | D | 保留 SOP 文件类型模块边界,但整体向 ImageType 语义收敛 | 待确认 | 本质是 SOP 文件类型主数据,不是查询模型 |
| 字段 | 说明 |
|---|---|
| 模块 | 如产销、制造、仓储、质量、供应等 |
| 列表名称 | 原平台页面名称或用户约定名称 |
| 原平台特征 | 例如“SQL 直查”“主子表保存”“单表 CRUD”“统计报表” |
| 初判分类 | A/B/C/D/E/F |
| 建议落地方式 | 实体、聚合、查询接口、视图、DTO 等 |
| 结论状态 | 待确认 / 已确认 / 已落地 |
| 备注 | 缺失信息、风险点、业务确认结果 |
CustMasterRecIDCustMaster - 客户主数据”,主键为“RecID - 自增列”;列表 SQL 仅来自单表,并按 Domain 做工厂过滤实体查询页AdoS0Customer,因此不建议再新建一张“客户维护列表实体表”AdoS0Customer 不一致,则补字段映射或补充字段,而不是新建独立表RecID、Cust、SortName、Curr、Slspsn1、Slspsn2、ShipTo、RemarksCust、SortName、Curr、ShipTo、TaxClass、TaxIn、Slspsn1、Class、RemarksIsActive、IsConfirm、Domain、RecID、CreateUser、CreateTime、UpdateUser、UpdateTimeMySQL 版列表 SQL:
SELECT
c.RecID AS id,
c.Cust,
c.SortName,
c.Curr,
c.Slspsn1,
c.Slspsn2,
c.ShipTo,
c.Remarks
FROM CustMaster c
WHERE c.Domain = ?;
当前建议映射:
RecID -> IdDomain -> 待确认映射到 FactoryRefId 还是工厂编码字段Cust -> 倾向客户编码SortName -> 待确认映射到 Name 还是 ShortNameCurr -> CurrencySlspsn1 / Slspsn2 -> PrimarySales / BackupSalesShipTo -> 当前目标缺失,建议补字段评估TaxClass -> 当前目标缺失,建议补字段评估TaxIn -> 可映射 IsTaxIncludedClass -> 可映射 CustomerLevel,但需确认类型和值域Remarks -> Remark待确认项:
Cust 是否只是编码,是否另有客户名称字段SortName 是否应进入 Name、ShortName,还是保留为独立字段Domain 在原系统中是工厂编码、工厂主键还是租户域值ShipTo、TaxClass 是否属于客户主数据必须字段,是否需要回补到现有 AdoS0CustomerIsActive、IsConfirm 是否需要映射到现有 IsEnabled / 审核状态当前结论状态:待确认
关联修改方案:字段映射修改/客户维护字段映射修改方案.md
ItemMasterRecIDItemMaster,主键为 RecID;列表 SQL 以 ItemMaster 为主表,左联 LocationMaster 仅补充库位描述字段实体查询页LocationMaster 仅用于展示 LocationDescr,不改变其“物料主数据”本质AdoS0Material,因此不建议再新建一张“物料维护列表实体表”ItemMaster 语义收敛,而不是继续沿用抽象的 Material 字段体系LocationDescr 作为查询展示字段处理,不进入独立业务表RecID、ItemNum、Descr、PkgCode、Descr1、CreateTime、UM、PurMfg、Drawing、ItemType、Location、DefaultShelf、KeyItem、NetWeight、NetWeightUM、Inspect、PurLT、InsLT、MfgLT、Length、Size、SizeUM、IssuePolicy、IsMainMas、LocationType、CommodityCode、Rev、MaxOrd、MinOrd、OrdMult、MinOrdSales、AutoLotNums、Install、SafetyStk、DaysBetweenPM、LotSerialControl、AllocateSingleLot、Status、Planner、Remark、LocationDescr、IsActiveItemNum、Descr、Descr1、UM、PurMfg、Drawing、ItemType、Location、DefaultShelf、KeyItem、NetWeight、NetWeightUM、Inspect、InsLT、PurLT、Length、Size、SizeUM、IssuePolicy、MFGMTTR、LocationType、CommodityCode、Rev、MaxOrd、MinOrd、OrdMult、MinOrdSales、AutoLotNums、Install、SafetyStk、DaysBetweenPM、ExpireAlarmDay、StockTurnOver、LotSerialControl、AllocateSingleLot、Status、TraceDetail、IsMainMas、Remark、EMTType、IsActive、PkgCode、OwnerApplication、BOMDesign、RoutingDesDomain、RecID、CreateUser、CreateTime、UpdateUser、UpdateTime、IsConfirmMySQL 版列表 SQL:
SELECT
i.RecID AS id,
i.ItemNum,
i.Descr,
i.PkgCode,
i.Descr1,
i.CreateTime,
i.UM,
i.PurMfg,
i.Drawing,
i.ItemType,
i.Location,
i.DefaultShelf,
i.KeyItem,
i.NetWeight,
i.NetWeightUM,
i.Inspect,
i.PurLT,
i.InsLT,
i.MfgLT,
i.Length,
i.Size,
i.SizeUM,
i.IssuePolicy,
i.IsMainMas,
i.LocationType,
i.CommodityCode,
i.Rev,
i.MaxOrd,
i.MinOrd,
i.OrdMult,
i.MinOrdSales,
i.AutoLotNums,
i.Install,
i.SafetyStk,
i.DaysBetweenPM,
i.LotSerialControl,
i.AllocateSingleLot,
i.Status,
i.Planner,
i.Remark,
TRIM(CONCAT(i.Location, ' ', IFNULL(l.Descr, ''))) AS LocationDescr,
i.IsActive
FROM ItemMaster i
LEFT JOIN LocationMaster l
ON i.Domain = l.Domain
AND i.Location = l.Location;
当前建议映射:
RecID -> IdDomain -> 待确认映射为 DomainCode 或与 FactoryRefId 的转换依据ItemNum -> 倾向物料编码主字段Descr -> 倾向物料名称主字段Descr1 -> 倾向规格型号UM -> 单位PurMfg -> P/L 件或采购制造属性Drawing -> 图号Location / DefaultShelf -> 默认库位 / 默认货架Inspect / InsLT -> 检验标记 / 检验天数PurLT / MfgLT -> 供应提前期 / 备料提前期IssuePolicy -> 是否前处理LocationDescr -> 只读查询展示字段IsActive -> 启用字段待确认项:
PurMfg、IssuePolicy、EMTType 等字段的业务枚举值定义KeyItem、TraceDetail、OwnerApplication 是否属于本期必须落地字段MFGMTTR、ExpireAlarmDay、BOMDesign、RoutingDes 是否已有现有模块等价字段,还是应新增Location / DefaultShelf 当前是直接存编码、ID,还是需接批次仓储模块后重构IsConfirm 是否需要单独审核语义,不应混入启用字段当前结论状态:待确认
关联修改方案:字段映射修改/物料维护字段映射修改方案.md
PriorityCodeRecIDPriorityCode - 优先级配置表,主键为 RecID;列表 SQL 来自单表,并按 Domain、IsActive=1 过滤实体查询页AdoS0OrderPriorityRule,因此不建议再新建一张“订单优先级列表实体表”PriorityCode 语义收敛,而不是继续沿用抽象的 OrderPriorityRule 字段体系OrderBy 的“倒序/正序”只作为列表展示映射;底层仍应保留源值Descr、Value、Priority、RecID、SourceTable、IsActive、CreateUser、UpdateUser、CreateTime、UpdateTime、OrderBy、Domain、SourceColumn、SourceID、ValueID、SourceType、ValueTypeDescr、Priority、OrderBy、SourceTable、SourceColumn、SourceType、SourceID、Value、ValueType、ValueIDMySQL 版列表 SQL:
SELECT
`Descr`,
`Value`,
`Priority`,
`RecID` AS id,
`SourceTable`,
`IsActive`,
`CreateUser`,
`UpdateUser`,
`CreateTime`,
`UpdateTime`,
CASE WHEN `OrderBy` = 0 THEN '倒序' ELSE '正序' END AS `OrderBy`,
`Domain`,
`SourceColumn`,
`SourceID`,
`ValueID`,
`SourceType`,
`ValueType`
FROM `PriorityCode`
WHERE `Domain` = ?
AND `IsActive` = 1;
当前建议映射:
RecID -> IdDomain -> 待确认映射为 DomainCode 或与 FactoryRefId 的转换依据Descr -> 倾向规则名称主字段Value -> 倾向工单表字段Priority -> 优先级OrderBy -> 排序方式源值SourceTable / SourceColumn / SourceType / SourceID -> 来源表相关字段ValueType / ValueID -> 工单表字段类型 / 关联字段IsActive -> 启用字段待确认项:
OrderBy 在源库中是 0=倒序,1=正序 还是反向定义Value 是否就是“工单表字段”,还是表达式/字段名混合SourceID、ValueID 是关联字段名、字段编码,还是主键列含义SourceType、ValueType 的取值域和业务枚举定义IsConfirm、审核流等隐藏字段,只是当前列表未给出当前结论状态:待确认
关联修改方案:字段映射修改/订单优先级字段映射修改方案.md
标准BOM维护表单ProductStructureMasterItemMaster、ProductStructureOpRecIDProductStructureMaster、主键为 RecID;列表 SQL 以 BOM 行表为主,左联物料主数据取子项名称,并将 ProductStructureOp 聚合为工序显示值待确认mfg_bom + mfg_bom_item 头子聚合模型AdoS0MfgBom 方案认定为已对齐ProductStructureMaster 为主模型重建BOM 头 + BOM 行聚合,并额外做源字段映射转换ParentItem、ComponentItem、UM、StartEff、EndEff、Qty、Op、Refs、Remark、Scrap、QtyConsumed、RecIDDescr、preStructureType、StructureTypeDomain、IsActive、CreateUser、CreateTime、UpdateUser、UpdateTime标准BOM维护表单、数据表 ProductStructureMaster、主键 RecIDMySQL 版列表 SQL:
SELECT
pm.ParentItem,
pm.ComponentItem,
im.Descr,
IFNULL(UPPER(ppm.StructureType), '') AS preStructureType,
CASE WHEN UPPER(pm.StructureType) = 'X' THEN '是' ELSE '' END AS StructureType,
pm.UM,
pm.StartEff,
pm.EndEff,
pm.Qty,
CASE
WHEN UPPER(ppm.StructureType) = 'X' AND UPPER(pm.StructureType) <> 'X' THEN IFNULL(ps.Op, '')
ELSE CAST(pm.Op AS CHAR(20))
END AS Op,
pm.Refs,
pm.Remark,
pm.Scrap,
pm.QtyConsumed,
pm.RecID AS id
FROM ProductStructureMaster pm
LEFT JOIN ItemMaster im
ON pm.Domain = im.Domain
AND pm.ComponentItem = im.ItemNum
LEFT JOIN (
SELECT Domain, ComponentItem, StructureType
FROM ProductStructureMaster
WHERE UPPER(StructureType) = 'X'
GROUP BY Domain, ComponentItem, StructureType
) ppm
ON pm.Domain = ppm.Domain
AND pm.ParentItem = ppm.ComponentItem
LEFT JOIN (
SELECT
pp.Domain,
pp.ParentItem,
pp.ComponentItem,
GROUP_CONCAT(CAST(p.Op AS CHAR(20)) ORDER BY p.Op SEPARATOR ',') AS Op
FROM ProductStructureOp pp
LEFT JOIN ProductStructureOp p
ON p.Domain = pp.Domain
AND p.ComponentItem = pp.ComponentItem
AND p.ParentItem = pp.ParentItem
GROUP BY pp.Domain, pp.ParentItem, pp.ComponentItem
) ps
ON pm.Domain = ps.Domain
AND pm.ParentItem = ps.ParentItem
AND pm.ComponentItem = ps.ComponentItem
WHERE pm.Domain = ?;
当前建议映射:
ParentItem -> 父级物料ComponentItem -> 子级物料Descr -> 子级物料名称展示字段Qty -> 标准用量UM -> 单位Scrap -> 损耗率QtyConsumed -> 固定损耗量Op -> 工序;可能来自主表单值,也可能来自 ProductStructureOp 聚合值StructureType / preStructureType -> 结构类型衍生展示字段StartEff / EndEff -> 生效区间Refs / Remark -> 附加字段待确认项:
ProductStructureMaster 是否可直接视为 BOM 行表,是否还存在独立 BOM 头信息ProductStructureOp 在源系统里是子表,还是只是工序展开表StructureType='X' 的业务意义是什么,是否代表虚拟件/预结构ParentItem、ComponentItem、Op 应如何映射到 mfg_bom / mfg_bom_item当前结论状态:待确认
关联修改方案:字段映射修改/标准BOM字段映射修改方案.md
标准工序表单StdOpMasterRecIDRecIDStdOpMaster、主键为 RecID、标题字段为 RecID;列表 SQL 为单表全字段查询,并按 Domain 做工厂过滤实体查询页StdOpMaster 语义收敛StdOp、MilestoneOp、RecIDDomain、CreateUser、CreateTime、UpdateUser、UpdateTime标准工序表单、数据表 StdOpMaster、主键 RecID、标题字段 RecIDMySQL 版列表 SQL:
SELECT
*,
RecID AS id
FROM StdOpMaster
WHERE Domain = ?;
当前建议映射:
StdOp -> 标准工序名称MilestoneOp -> 是否关键工序Domain -> 工厂域编码RecID -> 主键CreateUser / CreateTime / UpdateUser / UpdateTime -> 审计字段待确认项:
MilestoneOp 在源系统里是布尔值、字符枚举,还是数字枚举StdOpMaster 是否还存在 IsActive、IsConfirm 等隐藏字段,只是当前表单未展示StdOpMaster 的差异范围有多大当前结论状态:待确认
关联修改方案:字段映射修改/标准工序字段映射修改方案.md
生产线维护表单LineMasterGeneralizedCodeMasterRecIDLineMaster、主键为 RecID;列表 SQL 以生产线主表为主,左联 GeneralizedCodeMaster 获取车间与产线类别的中文说明,并按 Domain 做工厂过滤实体查询页LineMaster 语义收敛GeneralizedCodeMaster 的说明字段仅作为查询 DTO 展示字段补充Line、Location、Workshop、Describe、LineType、LineCategory、VLocation、Location2、Location3、PickingLocation、MidLocation、IsActive、RecIDc.Comments AS LineCategoryComments、b.Comments AS WorkshopCommentsDomain、CreateUser、CreateTime、UpdateUser、UpdateTime生产线维护表单、数据表 LineMaster、主键 RecIDMySQL 版列表 SQL:
SELECT
a.RecID AS id,
a.Line,
a.Location,
a.Workshop,
a.`Describe`,
a.LineType,
c.Comments AS LineCategoryComments,
a.VLocation,
a.Location2,
a.Location3,
a.PickingLocation,
a.MidLocation,
b.Comments AS WorkshopComments
FROM LineMaster a
LEFT JOIN GeneralizedCodeMaster b
ON a.Workshop = b.Val
AND b.FldName = 'workshop'
AND b.Domain = ?
LEFT JOIN GeneralizedCodeMaster c
ON a.Domain = c.Domain
AND c.FldName = 'LineCategory'
AND a.LineCategory = c.Val
WHERE a.Domain = ?;
当前建议映射:
Line -> 生产线编码/名称主字段Describe -> 生产线描述LineType -> 产线类型LineCategory -> 产线类别源值Location -> 库位Workshop -> 车间源值VLocation / Location2 / Location3 / PickingLocation / MidLocation -> 辅助库位类字段LineCategoryComments -> 产线类别名称展示字段WorkshopComments -> 车间名称展示字段IsActive -> 启用状态待确认项:
Line 在源系统里是编码、名称,还是编码兼名称Describe 是否就是正式描述主字段,还是备注型字段LineType、LineCategory、Workshop 的取值域和码表定义VLocation、Location2、Location3、PickingLocation、MidLocation 的业务边界和是否都需要落正式字段当前结论状态:待确认
关联修改方案:字段映射修改/生产线字段映射修改方案.md
标准工艺流程维护表单标准工艺路线维护RoutingOpDetailItemMaster、WorkCtrMasterRecIDRoutingOpDetail - 工序流转、主键为 RecID;列表 SQL 以工艺路线工序行表为主,左联物料主数据与工作中心主数据取展示名称,并按 IsActive=1 过滤待确认mfg_routing + mfg_routing_operation 头子聚合模型AdoS0MfgRouting 方案认定为已对齐RoutingOpDetail 为主模型重建工艺路线头 + 工序行聚合,并额外做源字段映射转换Ufld11、Ufld12、IsActive、RoutingCode、Op、Descr、WorkCtr、MilestoneOp、Ufld1、Ufld2、UDeci1、Ufld3、Ufld4、Ufld5、UDeci2、Ufld6、Ufld7、Ufld8、UDeci3、Ufld9、UDeci4、RecIDItemName、Model、WorkCtrNameDomain、IsConfirm、CreateUser、CreateTime、UpdateUser、UpdateTime、CommentIndex标准工艺流程维护表单、页面标题 标准工艺路线维护、数据表 RoutingOpDetail、主键 RecIDMySQL 版列表 SQL:
SELECT
a.RecID AS id,
a.Domain,
a.Ufld11,
a.Ufld12,
a.IsActive,
a.RoutingCode,
b.Descr AS ItemName,
b.Descr1 AS Model,
a.Op,
a.Descr,
a.WorkCtr,
m.Descr AS WorkCtrName,
a.MilestoneOp,
a.Ufld1,
a.Ufld2,
a.UDeci1,
a.Ufld3,
a.Ufld4,
a.Ufld5,
a.UDeci2,
a.Ufld6,
a.Ufld7,
a.Ufld8,
a.UDeci3,
a.Ufld9,
a.UDeci4
FROM RoutingOpDetail a
LEFT JOIN ItemMaster b
ON a.RoutingCode = b.ItemNum
AND b.Domain = a.Domain
LEFT JOIN WorkCtrMaster m
ON m.Domain = a.Domain
AND m.WorkCtr = a.WorkCtr
WHERE a.IsActive = 1;
当前建议映射:
Ufld11 -> 工艺路线编码Ufld12 -> 工艺路线名称RoutingCode -> 物料编码ItemName / Model -> 物料名称 / 规格型号展示字段Op -> 工序编码Descr -> 工序名称WorkCtr / WorkCtrName -> 工作中心编码 / 名称MilestoneOp -> 报工工序Ufld2/UDeci1/Ufld3、Ufld5/UDeci2/Ufld6、Ufld8/UDeci3/Ufld9 -> 活动一/二/三及数量/单位UDeci4 -> 基本批量Ufld5 或 Ufld7 之外的工序委外/供应商字段需结合表单再次确认待确认项:
RoutingOpDetail 是否可直接视为工艺路线工序行表,是否还存在独立工艺路线头信息Ufld1~Ufld12、UDeci1~UDeci4 的完整业务含义及数据类型边界MilestoneOp、IsConfirm、CommentIndex 的取值规则Ufld11/Ufld12/RoutingCode/Op/WorkCtr 应如何映射到 mfg_routing / mfg_routing_operation当前结论状态:待确认
关联修改方案:字段映射修改/标准工艺流程字段映射修改方案.md
物料替代关系表单ItemSubstituteDetailRecIDItemSubstituteDetail、主键为 RecID;列表 SQL 为单表全字段查询,并按 Domain 做工厂过滤实体查询页ItemSubstituteDetail 语义收敛ParentItem、ItemNum、SubstituteItem、SubstituteQty、Remark、RecIDDomain、CreateUser、CreateTime、UpdateUser、UpdateTime物料替代关系表单、数据表 ItemSubstituteDetail、主键 RecIDMySQL 版列表 SQL:
SELECT
*,
RecID AS id
FROM ItemSubstituteDetail
WHERE Domain = ?;
当前建议映射:
ParentItem -> 父级物料ItemNum -> 物料编码SubstituteItem -> 替代物料SubstituteQty -> 替代数量Remark -> 备注Domain -> 工厂域编码RecID -> 主键CreateUser / CreateTime / UpdateUser / UpdateTime -> 审计字段待确认项:
ParentItem 和 ItemNum 的业务边界是否分别表示父项物料与被替代物料SubstituteQty 的单位是否默认继承 ItemNum 对应物料单位IsActive、IsConfirm 等隐藏字段,只是当前表单未展示当前结论状态:待确认
关联修改方案:字段映射修改/物料替代关系字段映射修改方案.md
选择替代方案ic_substitute 查询结果 UNION 组成,并按 company_id、factory_id、IsDeleted=0 过滤查询模型SubstituteScheme 之类的新主表ic_substitute 已存在业务表,则接口直接查询该表并补默认行substitute_code、substitute_strategy、substitute_mode、create_timeid = 1000000000000000001 的默认空白行company_id、factory_id、IsDeletedMySQL 版列表 SQL:
SELECT
1000000000000000001 AS id,
'' AS substitute_code,
NULL AS substitute_strategy,
NULL AS substitute_mode,
NULL AS create_time
UNION
SELECT
id,
substitute_code,
substitute_strategy,
substitute_mode,
create_time
FROM ic_substitute
WHERE company_id = ?
AND factory_id = ?
AND IsDeleted = 0;
当前建议映射:
substitute_code -> 替代方案substitute_strategy -> 替代策略substitute_mode -> 替代方式create_time -> 创建时间待确认项:
substitute_strategy、substitute_mode 的中文枚举映射当前结论状态:待确认
关联修改方案:字段映射修改/选择替代方案页面方案.md
工单控制参数设置WorkOrdControlRecIDDomain 执行 TOP 1 查询,读取单条 WorkOrdControl 记录回填表单;若无记录则按当前用户和时间准备新增所需审计字段实体主表Domain 通常只维护一条记录,属于“单例配置实体”,不是聚合WorkOrdControl 单表配置对象复刻PaintingPer、EnteringPer、IssuedInterval、PostVarsatSFC、IsIssued、IsPrintRejectBarcode、IsPrintScrapBarcode、IsQualityConfirm、RecIDIsActive、IsConfirm、CreateUser、CreateTime、UpdateUser、UpdateTime、DomainDomain 取 TOP 1;无记录时自动准备新增;有记录时按 RecID 回填MySQL 版查询 SQL:
SELECT
PaintingPer,
EnteringPer,
IssuedInterval,
PostVarsatSFC,
IsIssued,
IsPrintRejectBarcode,
IsPrintScrapBarcode,
IsQualityConfirm,
RecID
FROM WorkOrdControl
WHERE Domain = ?
ORDER BY RecID
LIMIT 1;
当前建议映射:
EnteringPer -> 工单超报百分比(%)PaintingPer -> 计划超报百分比(%)IssuedInterval -> 领料间隔时间(H)PostVarsatSFC -> 完成数量是否包含不良IsIssued -> 是否发料出库模式IsPrintRejectBarcode -> 是否产生不良品标签IsPrintScrapBarcode -> 是否产生废品标签IsQualityConfirm -> 不良品需要品保人员确认RecID -> 主键待确认项:
Domain 是否严格只能有一条 WorkOrdControl 记录IsActive、IsConfirm 是否参与页面逻辑,还是仅做审计/状态保留btn1 原意是什么,是否代表不允许新增多条当前结论状态:待确认
关联修改方案:字段映射修改/工单控制参数设置方案.md
人员技能维护EmpSkillsRecIDEmpSkills - 员工技能、主键为 RecID;列表 SQL 为单表查询,页面用于维护员工与技能、等级、效率等关系信息实体查询页EmpSkills 语义收敛Employee、Site、SkillNo、SkillLevel、EfficiencyCoefficient、DATESKILL、SkillDescription、EmployeeName、EmployeeID、RecIDDomain、CreateUser、CreateTime、UpdateUser、UpdateTime人员技能维护、数据表 EmpSkills、主键 RecIDMySQL 版列表 SQL:
SELECT
RecID AS id,
Domain,
EmployeeName,
SkillNo,
Site,
DATESKILL,
CreateUser,
UpdateUser,
CreateTime,
UpdateTime,
EmployeeID,
SkillDescription,
SkillLevel,
EfficiencyCoefficient,
Employee
FROM EmpSkills;
当前建议映射:
Employee -> 人员编号EmployeeName -> 人员名称EmployeeID -> 人员内部 IDSite -> 工作组SkillNo -> 技能编码SkillDescription -> 技能描述SkillLevel -> 技能等级EfficiencyCoefficient -> 生产效率DATESKILL -> 取得技能日期/技能日期RecID -> 主键待确认项:
Employee、EmployeeID、EmployeeName 三者的边界定义Site 是工作组、工位组,还是班组DATESKILL 的真实业务含义与日期格式EfficiencyCoefficient 的取值范围和精度规则当前结论状态:待确认
关联修改方案:字段映射修改/人员技能维护方案.md
产线岗位维护产线岗位维护表单LineSkillMasterLineMasterRecIDLineSkillMaster - 产线技能要...、主键为 RecID;页面除主表字段外,还存在“产线岗位技能明细”子表区;列表 SQL 以主表为主,左联 LineMaster 补生产线描述聚合头表LineSkillMaster 语义收敛LineMaster 得到的生产线描述字段只作为查询展示字段ProdLine、JOBNo、JOBDescr、RecIDProdLine + Describe 组合展示生产线Domain、CreateUser、CreateTime、UpdateUser、UpdateTimeMySQL 版列表 SQL:
SELECT
ls.RecID AS id,
ls.Domain,
CONCAT(ls.ProdLine, ' ', lm.`Describe`) AS ProdLine,
ls.JOBNo,
ls.JOBDescr
FROM LineSkillMaster ls
LEFT JOIN LineMaster lm
ON ls.ProdLine = lm.Line
AND ls.Domain = lm.Domain
WHERE ls.Domain = ?;
当前建议映射:
ProdLine -> 生产线编码ProdLine + Describe -> 生产线展示字段JOBNo -> 岗位编码JOBDescr -> 岗位描述Domain -> 工厂编码待确认项:
ProdLine 在页面上是保存编码还是保存“编码+描述”组合值LineSkillMaster 是否仅是头表命名,还是本身包含部分技能字段当前结论状态:待确认
关联修改方案:字段映射修改/产线岗位维护方案.md
工作中心维护工作中心表单WorkCtrMasterDepartmentMasterRecIDWorkCtrMaster、主键为 RecID;列表 SQL 以工作中心主表为主,左联 DepartmentMaster 取部门展示名称实体查询页WorkCtrMaster 语义收敛DepartmentName 只作为查询展示字段,不落主表WorkCtr、Descr、Department、IsActive、RecIDDepartmentNameDomain、CreateUser、CreateTime、UpdateUser、UpdateTime工作中心表单、数据表 WorkCtrMaster、主键 RecID、标题字段 RecIDMySQL 版列表 SQL:
SELECT
a.RecID AS id,
a.WorkCtr,
a.Descr,
a.Department,
CONCAT(b.Department, ' ', b.Descr) AS DepartmentName,
a.IsActive,
a.CreateUser,
a.CreateTime,
a.UpdateUser,
a.UpdateTime
FROM WorkCtrMaster a
LEFT JOIN DepartmentMaster b
ON b.Department = a.Department
AND b.Domain = ?;
当前建议映射:
WorkCtr -> 工作中心编码Descr -> 工作中心描述Department -> 所属部门编码DepartmentName -> 所属部门展示字段IsActive -> 状态待确认项:
IsActive 的真实取值范围Department 是否保存部门编码DepartmentMaster 是否仅用于展示,不参与保存校验当前结论状态:待确认
关联修改方案:字段映射修改2/工作中心维护方案.md
生产线物料维护生产线物料维护表单ProdLineDetailRoutingOpDetail、rf_dictionary、WorkCtrMasterRecIDProdLineDetail、主键为 RecID;列表 SQL 以生产线物料主表为主,左联工艺工序、字典和工作中心表补展示字段实体查询页ProdLineDetail 单表维护对象,具备独立表单维护形态ProdLineDetail 语义收敛Line、Part、Site、Op、Rate、SetupTime、SkillNo、InternalEquipmentTypeCode、MoldTypeCode、StandardStaffCount、Start、IsActive、IsConfirm、RecIDDescribe、OpStdOp、time1Domain、CreateUser、CreateTime、UpdateUser、UpdateTime生产线物料维护表单、数据表 ProdLineDetail、主键 RecIDMySQL 版列表 SQL:
SELECT
pl.RecID AS id,
pl.Line,
rd.title AS `Describe`,
CONCAT(pl.Site, ' ', wm.Descr) AS Site,
pl.Part,
pl.Rate,
pl.SetupTime,
pl.SkillNo,
IFNULL(pl.SetupTime, 0) * 60 AS time1,
CONCAT(CAST(a.Op AS CHAR(10)), ' ', a.Descr) AS OpStdOp
FROM ProdLineDetail pl
LEFT JOIN RoutingOpDetail a
ON pl.Op = a.Op
AND pl.Part = a.RoutingCode
AND pl.Domain = a.Domain
LEFT JOIN rf_dictionary rd
ON pl.Line = rd.code
AND pl.Line IS NOT NULL
AND pl.Line <> ''
AND TRIM(pl.Line) <> ''
LEFT JOIN WorkCtrMaster wm
ON pl.Domain = wm.Domain
AND pl.Site = wm.WorkCtr
WHERE pl.IsActive = 1;
当前建议映射:
Part -> 物料编码Op -> 工序编码Site -> 工作中心编码Line -> 设备/生产线编码Rate -> 单位标准产能(小时)SetupTime -> 换模时间(小时)SkillNo -> 员工技能编码InternalEquipmentTypeCode -> 厂内设备类型编码MoldTypeCode -> 模具类型编码StandardStaffCount -> 标准人数Describe / OpStdOp / time1 -> 展示派生字段待确认项:
ProdLineDetail 的完整字段结构,尤其 InternalEquipmentTypeCode、MoldTypeCode、StandardStaffCountLine 在此表中表示设备还是生产线Site 是否严格对应 WorkCtrrf_dictionary 中 title 的字典类型约束当前结论状态:待确认
关联修改方案:字段映射修改2/生产线物料维护方案.md
生产要素参数生产要素参数表单DevMonitorRecIDDevMonitor - 生产设备信息...、主键为 RecID;列表 SQL 为单表查询,并固定按 CodeType='Prod' 与 Domain 过滤实体查询页CodeType='Prod' 只是从同一主表中切出“生产要素参数”这一业务子集,不改变其单表维护本质DevMonitor 语义收敛CodeType='Prod' 输出当前页面数据CodeType='Prod'DeviceNumber、DeviceDescr、MessageCode、CodeDescr、ValueType、StdValue、TopLimit、LowLimit、Ufld1、UM、RecIDDomain、CreateUser、CreateTime、UpdateUser、UpdateTime、CodeType生产要素参数表单、数据表 DevMonitor、主键 RecIDMySQL 版列表 SQL:
SELECT
m.RecID AS id,
m.DeviceNumber,
m.DeviceDescr,
m.MessageCode,
m.CodeDescr,
m.ValueType,
m.StdValue,
m.TopLimit,
m.LowLimit,
m.Ufld1,
m.UM
FROM DevMonitor m
WHERE m.Domain = ?
AND m.CodeType = 'Prod';
当前建议映射:
DeviceNumber -> 要素编码DeviceDescr -> 要素描述MessageCode -> 参数编码CodeDescr -> 参数描述ValueType -> 值类型StdValue -> 标准值TopLimit -> 上限值LowLimit -> 下限值Ufld1 -> 值选择数据UM -> 单位CodeType -> 参数分组类型,当前固定为 Prod待确认项:
DevMonitor 是否还有其它 CodeType 页面共用同一张表Ufld1 的真实业务含义和存储格式ValueType 的枚举范围StdValue、TopLimit、LowLimit 的精度规则当前结论状态:待确认
关联修改方案:字段映射修改2/生产要素参数方案.md
物料工序生产要素物料工序生产要素表单ItemOpConditionItemMaster、RoutingOpDetail、GeneralizedCodeMasterRecIDItemOpCondition、主键为 RecID;列表 SQL 以主表为主,左联物料、工序和码表获取展示字段,并固定按 CodeType='Prod' 和 Domain 过滤实体查询页ItemOpCondition 单表维护对象,具备独立表单维护形态ItemOpCondition 语义收敛CodeType='Prod'CodeType='Prod'ItemNum、Op、Line、Typed、ItemCode、Descr、IsMain、RecIDItemDescr、OpDescr、TypedDescrDomain、CreateUser、CreateTime、UpdateUser、UpdateTime、CodeType物料工序生产要素表单、数据表 ItemOpCondition、主键 RecIDMySQL 版列表 SQL:
SELECT
c.RecID AS id,
c.ItemNum,
i.Descr AS ItemDescr,
c.Op,
r.Descr AS OpDescr,
c.Line,
c.Typed,
g.Comments AS TypedDescr,
c.ItemCode,
c.Descr,
c.IsMain
FROM ItemOpCondition c
LEFT JOIN ItemMaster i
ON c.Domain = i.Domain
AND c.ItemNum = i.ItemNum
LEFT JOIN RoutingOpDetail r
ON c.Domain = r.Domain
AND c.ItemNum = r.RoutingCode
AND c.Op = r.Op
LEFT JOIN GeneralizedCodeMaster g
ON c.Domain = g.Domain
AND c.Typed = g.Val
AND g.FldName = 'OpConditionType'
WHERE c.Domain = ?
AND c.CodeType = 'Prod';
当前建议映射:
ItemNum -> 物料编码ItemDescr -> 物料名称展示字段Op -> 工序编码OpDescr -> 工序名称展示字段Line -> 生产线Typed -> 类型编码TypedDescr -> 类型名称展示字段ItemCode -> 要素编码Descr -> 描述IsMain -> 是否关键CodeType -> 当前固定为 Prod待确认项:
ItemCode 的真实业务含义,是生产要素编码还是条件编码Typed 的码表取值范围与业务含义IsMain 的取值范围Line 是否保存生产线编码当前结论状态:待确认
关联修改方案:字段映射修改2/物料工序生产要素方案.md
物料前处理要素维护物料前处理要素ItemOpConditionItemMaster、GeneralizedCodeMasterRecIDItemOpCondition - 物料工序加...、主键为 RecID;列表 SQL 以主表为主,左联物料与码表获取展示字段,并固定按 CodeType='PrevProcess' 与 Domain 过滤实体查询页ItemOpCondition 单表维护对象,具备独立表单维护形态CodeType='PrevProcess' 切出“前处理要素”业务子集ItemOpCondition 语义收敛CodeType='PrevProcess'CodeType='PrevProcess'ItemNum、Op、ItemCode、Descr、IsMain、RecIDItemDescr、OpDescrDomain、CreateUser、CreateTime、UpdateUser、UpdateTime、CodeType物料前处理要素、数据表 ItemOpCondition、主键 RecIDMySQL 版列表 SQL:
SELECT
c.RecID AS id,
c.ItemNum,
i.Descr AS ItemDescr,
c.Op,
r.Comments AS OpDescr,
c.ItemCode,
c.Descr,
c.IsMain
FROM ItemOpCondition c
LEFT JOIN ItemMaster i
ON c.Domain = i.Domain
AND c.ItemNum = i.ItemNum
LEFT JOIN GeneralizedCodeMaster r
ON c.Domain = r.Domain
AND r.FldName = 'PrevProcessOp'
AND c.Op = r.Val
WHERE c.Domain = ?
AND c.CodeType = 'PrevProcess';
当前建议映射:
ItemNum -> 物料编码ItemDescr -> 物料名称展示字段Op -> 工序/前处理工序编码OpDescr -> 工序名称展示字段ItemCode -> 要素编码Descr -> 要素描述IsMain -> 是否关键CodeType -> 当前固定为 PrevProcess待确认项:
ItemCode 的真实业务含义PrevProcessOp 字典的取值范围IsMain 的取值规则Typed / TypedDescr 字段业务要求当前结论状态:待确认
关联修改方案:字段映射修改2/物料前处理要素方案.md
前处理要素参数维护前处理要素参数表单DevMonitorRecIDDevMonitor - 生产设备信息...、主键为 RecID;列表 SQL 为单表查询,并固定按 CodeType='PrevProcess' 与 Domain 过滤实体查询页CodeType='PrevProcess' 只是从同一主表中切出“前处理要素参数”这一业务子集DevMonitor 语义收敛CodeType='PrevProcess' 输出当前页面数据CodeType='PrevProcess'DeviceNumber、Descr、MessageCode、CodeDescr、ValueType、StdValue、TopLimit、LowLimit、Ufld1、UM、RecIDDomain、CreateUser、CreateTime、UpdateUser、UpdateTime、CodeType前处理要素参数表单、数据表 DevMonitor、主键 RecIDMySQL 版列表 SQL:
SELECT
m.RecID AS id,
m.DeviceNumber,
m.DeviceDescr AS Descr,
m.MessageCode,
m.CodeDescr,
m.ValueType,
m.StdValue,
m.TopLimit,
m.LowLimit,
m.Ufld1,
m.UM
FROM DevMonitor m
WHERE m.Domain = ?
AND m.CodeType = 'PrevProcess';
当前建议映射:
DeviceNumber -> 要素编码Descr/DeviceDescr -> 要素描述MessageCode -> 参数编码CodeDescr -> 参数描述ValueType -> 值类型StdValue -> 标准值TopLimit -> 上限值LowLimit -> 下限值Ufld1 -> 值选择数据UM -> 单位CodeType -> 当前固定为 PrevProcess待确认项:
DeviceDescr 与 Descr 在源表中的真实字段名Ufld1 的真实业务含义和输入形式ValueType 的枚举范围当前结论状态:待确认
关联修改方案:字段映射修改2/前处理要素参数方案.md
SOP维护SOP维护表单QualitySegmentImageImageType、LineMaster、RoutingOpDetailRecIDQualitySegmentImage - 质检...、主键为 RecID;列表 SQL 以主表为主,左联文件类型、产线、工序补展示字段实体查询页QualitySegmentImage 语义收敛Line、ItemNum、Op、Path、Descr、ImageTypeID、Rev、SortID、RecIDLine + Describe、Op 组合显示、imgTypeDomain、CreateUser、CreateTime、UpdateUser、UpdateTimeSOP维护表单、数据表 QualitySegmentImage、主键 RecIDMySQL 版列表 SQL:
SELECT
q.RecID AS id,
CONCAT(l.Line, ' ', l.`Describe`) AS Line,
q.ItemNum,
CONCAT(CAST(r.Op AS CHAR(10)), ' ', IFNULL(r.Descr, '')) AS Op,
i.Descr AS imgType,
q.Path,
q.Descr,
q.Rev,
q.SortID
FROM QualitySegmentImage q
LEFT JOIN ImageType i
ON q.ImageTypeID = i.ImageTypeID
AND q.Domain = i.Domain
LEFT JOIN LineMaster l
ON q.Line = l.Line
AND q.Domain = l.Domain
LEFT JOIN RoutingOpDetail r
ON q.Op = r.Op
AND q.Domain = r.Domain
AND r.RoutingCode = q.ItemNum
WHERE q.Domain = ?;
当前建议映射:
Line -> 生产线ItemNum -> 物料编码Op -> 工序ImageTypeID / imgType -> 文件类型编码 / 描述Path -> 文件路径Descr -> 文件名称Rev -> 文件版本SortID -> 排序待确认项:
Path 是物理路径、相对路径还是文件服务地址SortID 的排序规则Rev 的版本规则当前结论状态:待确认
关联修改方案:字段映射修改2/SOP维护方案.md
SOP文件类型维护SOP文件类型表单维护ImageTypeRecIDImageType、主键为 RecID;列表 SQL 为单表查询,按 Domain 过滤实体查询页ImageType 语义收敛ImageTypeID、Descr、RecIDDomain、CreateUser、CreateTime、UpdateUser、UpdateTimeSOP文件类型表单维护、数据表 ImageType、主键 RecIDMySQL 版列表 SQL:
SELECT
RecID AS id,
ImageTypeID,
Descr
FROM ImageType
WHERE Domain = ?;
当前建议映射:
ImageTypeID -> 文件类型编码Descr -> 文件类型描述RecID -> 主键待确认项:
ImageTypeID 是否允许自定义编码Descr 是否需要唯一当前结论状态:待确认
关联修改方案:字段映射修改2/SOP文件类型维护方案.md
从本文启用后,后续每收到一个列表,默认执行以下动作:
对后续协作方式的理解如下:
如果后续你直接发 SQL、字段截图文字版、页面按钮、详情保存逻辑中的任意一种,我都可以开始判定,不要求你一次把信息补全。
qms_jygfid聚合头表qms_jygf 复刻,附件和检验明细纳入整体保存select * from qms_jygf质量方案/原材料检验规范方案.mdqms_lymjbmdid实体查询页qms_lymjbmd 语义收敛select * from qms_lymjbmd质量方案/原材料白名单方案.mdqms_sampschemeid实体查询页qms_sampscheme 语义收敛select * from qms_sampscheme质量方案/抽样方案方案.mdqms_inspectioninstruid实体查询页qms_inspectioninstru 语义收敛select * from qms_inspectioninstru质量方案/检验仪器方案.mdqms_inspectioncritid聚合头表qms_inspectioncrit 复刻,技术文档作为子表整体保存select * from qms_inspectioncrit质量方案/检验依据方案.mdqms_inspectproid聚合头表qms_inspectpro 复刻,方案设置明细纳入整体保存质量方案/检验方案方案.mdqms_inspection_methodid实体查询页qms_inspection_method 语义收敛select * from qms_inspection_method质量方案/检验方法方案.mdqms_inspectionstdid聚合头表qms_inspectionstd 复刻,检验项目明细纳入整体保存select * from qms_inspectionstd质量方案/检验标准方案.mdqms_inspectionitemsid实体查询页qms_inspectionitems 语义收敛select * from qms_inspectionitems质量方案/检验项目方案.mdqms_inspectionfreqid实体查询页qms_inspectionfreq 语义收敛select * from qms_inspectionfreq质量方案/检验频率方案.mdqms_gcjygfid聚合头表qms_gcjygf 复刻,附件和检验明细纳入整体保存select * from qms_gcjygf质量方案/过程检验规范方案.md质量基础查询模型单据类型、业务类型、客诉、检验优先级、产品不合格联络单、8D、NCR、项目管理、生化、CAPA、生产记录清单、检验状态、AQL接受水平、AQL值质量方案/质量字典方案.md