4.5 KiB
4.5 KiB
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_quantitySHALL 为30 - AND 系统 SHALL 创建出入库单与
pl_transport_db_link - AND
pl_transport_db_link.contributed_qtySHALL 为30
Scenario: 后续联动累加月计划
- GIVEN 当月已存在匹配的地磅月计划且
planned_quantity为30 - WHEN 运输计划 B(同往来单位 B、同产品 C)勾选生成地磅单且产品数量为 31 吨
- THEN 系统 SHALL 复用该地磅月计划(不新建第二条同维度月计划)
- AND
db_purchase_plan.planned_quantitySHALL 更新为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_quantitySHALL 为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_quantitySHALL 保持不变
Requirement: 取消计划时地磅月计划量回减
当用户取消运输计划且该计划关联的运输单存在地磅联动时,系统 SHALL 作废仍可作废的出入库单与关联,并从对应地磅月计划回减贡献量。
Scenario: 取消计划回减月计划量
- GIVEN 运输计划 A(30 吨)与运输计划 B(31 吨)均已联动同一地磅月计划,
planned_quantity为61 - WHEN 用户取消运输计划 A
- THEN 系统 SHALL 软删计划 A 的出入库单与
pl_transport_db_link - AND 地磅月计划
planned_quantitySHALL 更新为31 - AND 计划 A 的
follow_statusSHALL 为cancelled
Scenario: 取消计划被阻断
- GIVEN 运输计划 A 的联动出入库单已关联有效地磅磅单或状态不可作废
- WHEN 用户取消运输计划 A
- THEN 系统 SHALL 拒绝取消并提示需在地磅管理中先处理
- AND 月计划
planned_quantitySHALL 保持不变
Scenario: 取消后月计划量下限
- GIVEN 仅运输计划 A(30 吨)联动地磅月计划,
planned_quantity为30 - WHEN 用户取消运输计划 A
- THEN 月计划
planned_quantitySHALL 为0 - AND 系统 SHALL NOT 物理删除该
db_purchase_plan记录