Files
T
2026-07-12 12:04:43 +08:00

4.5 KiB
Raw Blame History

Dibang Plan Quantity (地磅月计划量运输联动)

ADDED Requirements

Requirement: 运输联动地磅月计划量累加

当运输计划安排运输且勾选「生成地磅单」(generateDibangPlan=true)时,系统 SHALL 按产品行联动地磅月计划,并按运输计划产品数量更新月计划 planned_quantity(单位:吨)。

贡献量 SHALL 取自 pl_plan_product,优先级为:quantity → inbound_estimate_qty → outbound_estimate_qty → 0。

月计划匹配维度 SHALL 与现有 find_monthly_db_plan 一致:同租户、同业务类型(入库/出库)、同 CRM product_id、同 specification、同 customer_name(往来单位),且计划有效期与运输计划地磅日期所在自然月相交。

Scenario: 首次联动创建月计划

  • GIVEN 当月不存在匹配的地磅月计划
  • WHEN 运输计划 A(往来单位 B、产品 C)勾选生成地磅单且产品数量为 30 吨
  • THEN 系统 SHALL 创建地磅月计划
  • AND db_purchase_plan.planned_quantity SHALL 为 30
  • AND 系统 SHALL 创建出入库单与 pl_transport_db_link
  • AND pl_transport_db_link.contributed_qty SHALL 为 30

Scenario: 后续联动累加月计划

  • GIVEN 当月已存在匹配的地磅月计划且 planned_quantity 为 30
  • WHEN 运输计划 B(同往来单位 B、同产品 C)勾选生成地磅单且产品数量为 31 吨
  • THEN 系统 SHALL 复用该地磅月计划(不新建第二条同维度月计划)
  • AND db_purchase_plan.planned_quantity SHALL 更新为 61
  • AND 系统 SHALL 新建出入库单与 pl_transport_db_link,contributed_qty 为 31

Requirement: 调整运输时地磅月计划量回减与重建

当用户对已安排运输的计划执行「调整运输」且该运输单此前存在地磅联动时,系统 SHALL 在重建联动前作废仍可作废的出入库单与关联,并回减对应月计划贡献量;若本次仍勾选生成地磅单,系统 SHALL 按当前计划产品数量重新累加贡献量。

Scenario: 调整运输变更数量

  • GIVEN 运输计划 A 已联动地磅,月计划 planned_quantity 为 30,pl_transport_db_link.contributed_qty 为 30
  • WHEN 用户对计划 A 执行调整运输,勾选生成地磅单,且产品数量变更为 25 吨
  • THEN 系统 SHALL 作废旧出入库单与关联,并将月计划 planned_quantity 回减为 0
  • AND 系统 SHALL 创建新出入库单与关联,contributed_qty 为 25
  • AND 月计划 planned_quantity SHALL 为 25

Scenario: 调整运输取消勾选地磅

  • GIVEN 运输计划 A 已联动地磅,月计划 planned_quantity 为 30
  • WHEN 用户对计划 A 执行调整运输且未勾选生成地磅单
  • THEN 系统 SHALL 作废旧出入库单与关联,并将月计划 planned_quantity 回减为 0
  • AND 系统 SHALL NOT 创建新的地磅联动记录

Scenario: 调整运输被阻断

  • GIVEN 运输计划 A 的联动出入库单已关联有效地磅磅单,或出入库单状态不在 {待入库, 待出库, 待三方填写, 待处理}
  • WHEN 用户对计划 A 执行调整运输
  • THEN 系统 SHALL 拒绝操作并提示需在地磅管理中先处理
  • AND 月计划 planned_quantity SHALL 保持不变

Requirement: 取消计划时地磅月计划量回减

当用户取消运输计划且该计划关联的运输单存在地磅联动时,系统 SHALL 作废仍可作废的出入库单与关联,并从对应地磅月计划回减贡献量。

Scenario: 取消计划回减月计划量

  • GIVEN 运输计划 A(30 吨)与运输计划 B(31 吨)均已联动同一地磅月计划,planned_quantity 为 61
  • WHEN 用户取消运输计划 A
  • THEN 系统 SHALL 软删计划 A 的出入库单与 pl_transport_db_link
  • AND 地磅月计划 planned_quantity SHALL 更新为 31
  • AND 计划 A 的 follow_status SHALL 为 cancelled

Scenario: 取消计划被阻断

  • GIVEN 运输计划 A 的联动出入库单已关联有效地磅磅单或状态不可作废
  • WHEN 用户取消运输计划 A
  • THEN 系统 SHALL 拒绝取消并提示需在地磅管理中先处理
  • AND 月计划 planned_quantity SHALL 保持不变

Scenario: 取消后月计划量下限

  • GIVEN 仅运输计划 A(30 吨)联动地磅月计划,planned_quantity 为 30
  • WHEN 用户取消运输计划 A
  • THEN 月计划 planned_quantity SHALL 为 0
  • AND 系统 SHALL NOT 物理删除该 db_purchase_plan 记录