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