35 lines
4.2 KiB
Markdown
35 lines
4.2 KiB
Markdown
# 第87轮 W2:主数据一致性与日历
|
||
|
||
## 实现
|
||
|
||
- 新增 `server/aps_domain/masterdata_sync.py`,以项目内物料编码、产品/工序/顺序、产品/材料及设备编码建立稳定映射。`masterId/masterStepId/masterRoutingId/masterItemId/masterBomId` 关联实际可编辑行;重复导入不再删除重建 BOM 和工艺。
|
||
- `reconcile_imported_masterdata(world, *, source="flex-import", refresh=True)` 是批准导入后的唯一兼容入口;原 `sync_flex_to_classic_master` 委托它。只写实际提供字段,来源与损耗/关键料/在途保留。手工修改字段进入 `masterOverrides`,再次导入时保留这些字段并投影到柔性消费表。
|
||
- `master_overview` 与确认卡在副本上补齐旧项目的导入对象,P0 不写状态;实际批准后通过 `apply_master_action` 的同步包装器原子应用,校验失败不留下半成品对象。
|
||
- 普通库存修改、导入工艺工时、BOM用量/关键性和设备停用反映到对应柔性记录。已关联物料/设备不允许直接修改编码,避免关系断裂;设备支持仅提交 `id/status`。
|
||
- 仅把本次动作修改的产品投影到柔性路线/BOM,不扫描重写其他产品。发布快照与排产版本不回写;回滚保留归档版本明细,并把恢复的默认版本投影给新排产。
|
||
- 周模板不再无条件跳过周末。按设备/日期生成 `flexCalendarOverrides`;`shifts=[]` 表示该设备当日休息,W3负责实际引擎消费。
|
||
- 原始工厂/车间可由 `flexFactoryResources` 投影;原表区域直接挂工厂,未给车间关联,因此兼容容器明确叫“生产区域(车间关联待确认)”,不猜厂内关系。已有设备工位关系保持。
|
||
- SQLite纳入人员、在制、维护、来源、沙盒订单、参数、日历模板、主数据版本等新对象;读取空表会清除上个项目残留,避免切项目串数据。
|
||
|
||
## 验证
|
||
|
||
最终组合回归:`66 passed, 8 skipped`(7.79秒)。范围包含新增主数据一致性、普通主数据、主数据API、DB投影/检查点、generic/SQL/MOM导入和来源分解。
|
||
|
||
新增专项13项覆盖:库存同步且保留在途来源;旧flex-only只读稳定ID与编辑;失败修改原子性;关联编码防断链;重复同步与编辑保留;部分库存输入不覆盖档案;设备停用;BOM关键料/损耗;BOM/工艺发布-编辑-回滚及历史快照;周六周日+设备日期覆盖;真实锐扬行原地改工时;真实SQLite跨项目与重载。
|
||
|
||
8项跳过为原有外部数据用例:2个DXF文件、2个现场Excel、4个未配置MOM目录;没有把它们当通过。新增真实锐扬工作簿测试必须存在指定文件,没有skip。
|
||
|
||
指定源文件SHA-256仍为 `c0598c422567a35029d32504d2020780bf6b0417e0887a9749fc86584a5aa687`,没有修改原表、main、真实数据库或用户服务。
|
||
|
||
## 影响与边界
|
||
|
||
改前GitNexus:apply_master_action HIGH;旧sync与确认卡入口/物料校验为CRITICAL(共享导入、主数据、Agent调用范围),均已报告主控。限定字段级投影与相邻回归降低兼容风险。新增本树索引已运行,提交前执行detect_changes。
|
||
|
||
本片完成主数据层验证;完整真实工作簿导入由W1提供,库存/工时/设备/日历影响实际计划的端到端验证由W3和主控整合后执行。不会把本片单测等同于整轮完成。人员资格、WIP剩余事实与现场确认仍由事实校验决定,不能自动填成可信数据。
|
||
|
||
## W1整合补验
|
||
|
||
获主控授权加入W1后,真实全表导入与本片专项27项通过。隔离脚本证实经典模型45物料、15设备、3路线/15步、3BOM/42行、1维护;真实工厂BU4及BJCJ/HJCJ/PTCJ/ZZCJ四车间;在途420、关键料12。普通库存改123、工时改11、设备停用同步到柔性表,同SHA重复导入保持整个world不变。
|
||
|
||
与W3互查发现日历覆盖需要携带班次身份,且原导入只有flexCalendar导致周模板页面没有可选班次。已增加稳定经典班次投影,保留D启用/N关闭、休息与来源;设备日期覆盖明确携带shiftCode供人员班次约束消费。追加真实全表班次用例后,真实导入+主数据/API/数据库组合47项全部通过,无跳过。
|