-- 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';
