1.0.121.sql 2.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. -- 1.0.121.sql
  2. -- S8-ORDER-EXECUTION-ORDER-REVIEW-SUBSTEP-PERSIST-1
  3. -- 为 20 单 ORDER_REVIEW_PLAN_CALC 阶段重写 L2 / L3 落库数据:让 5 个 L2 子节点 + 各自 L3 责任单元的
  4. -- piHours / actualHours 合计严格回卷到主节点 plannedDays × 8 / actualDays × 8。
  5. -- 老库现有的 L2 / L3 行(substep 100 条 + unit 80 条)由旧 seed 写入,piHours/actualHours 与新回卷规则
  6. -- 不一致;本脚本按 substep 集合先删 unit 再删 substep,给下次启动的 [IncreSeed] 让位重新插入新值。
  7. -- 执行入口:AutoVersionUpdate.UseAutoVersionUpdate(),csproj Version=1.0.121 主节点首次启动时触发。
  8. -- 幂等性:
  9. -- * 两条 DELETE 语句按 order_flow_code='ORDER_REVIEW_PLAN_CALC' 范围删除;重复执行删 0 行不报错。
  10. -- * 不依赖固定 Id 段(不写死 1329909120001..1329909120100 等区间),避免 L3 总行数从 80 扩展到 300
  11. -- 之后旧固定 Id 段不全的问题。
  12. -- * 不依赖临时表,不读写其它任何表。
  13. -- 安全边界:
  14. -- * 仅清理 order_flow_code='ORDER_REVIEW_PLAN_CALC' 的 substep 与对应 unit;
  15. -- * 不动 ado_s8_order_flow_stage(主节点真值)、ado_s8_order_flow_order(订单主档);
  16. -- * 不动其它 4 个一级阶段(PRODUCT_DESIGN / MATERIAL_PURCHASE / BODY_PRODUCTION /
  17. -- FINAL_ASSEMBLY_DELIVERY),它们当前无 substep / unit 数据,本脚本也不会扩散到它们;
  18. -- * 无 ALTER;无 schema 变更;无全表 UPDATE / DELETE。
  19. -- 关联前置:
  20. -- * S8OrderFlowSubstepSeedData.cs 同提交内重写为按 BuildL2Rows 回卷生成 100 行;
  21. -- * S8OrderFlowSubstepUnitSeedData.cs 同提交内重写为 5 L2 × 部门权重 = 300 行。
  22. -- Rollback: 不可逆(旧 Ppt001L2 / Ppt001L3 / L2Buckets / L3Buckets 派生值已被新 seed 取代);
  23. -- 如需回滚,需 git revert 同提交并重新跑 IncreSeed。
  24. -- 2026-05-21
  25. -- 1) 先按 substep 集合删除其下所有 unit(含旧 80 行 OPINION_REVIEW unit 与未来扩展的其它 L2 unit)
  26. DELETE u
  27. FROM ado_s8_order_flow_substep_unit u
  28. INNER JOIN ado_s8_order_flow_substep s
  29. ON u.substep_id = s.id
  30. WHERE s.order_flow_code = 'ORDER_REVIEW_PLAN_CALC';
  31. -- 2) 再删除目标 substep(旧 100 行 ORDER_REVIEW_PLAN_CALC 子节点)
  32. DELETE FROM ado_s8_order_flow_substep
  33. WHERE order_flow_code = 'ORDER_REVIEW_PLAN_CALC';