Files
shanxia2.0/docs/superpowers/plans/2026-09-10-framework-contract-amount-sum.md
T
2026-09-11 09:41:09 +08:00

1.4 KiB
Raw Blame History

框架合同金额按产品小计汇总 — Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal: 框架销售/采购合同在新建或保存时,按产品行小计汇总合同金额(随行就市/按需行贡献 0)。

Architecture: 后端 _normalize_framework_contract_data 去掉头金额强制 0,改为累加行小计;更新接口将规范化后的 amount 写回 apply 所用 payload。前端去掉 amount = 0 短路,统一 calculateTotalAmount。交付生产备份+回填 SQL。

Tech Stack: FastAPI / pytest;Vue 3 web-admin


Task 1: 后端单测 + 实现

Files:

  • Create: backend/tests/test_crm_framework_contract_amount.py

  • Modify: backend/app/crud/crm/contract.py

  • 写失败用例(固定价合计、混用、全 market)

  • 改 _normalize_framework_contract_data 并同步 update 路径 amount

  • 跑通 pytest

Task 2: 前端

Files:

  • Modify: web-admin/src/views/crm/contract/components/ContractFormDialog.vue

  • Modify: web-admin/src/views/crm/contract/form.vue

  • calculateTotalAmount / 切类型 / 载入产品:框架合同改为累加

Task 3: 生产 SQL

  • 输出备份表 + 按 crm_contract_product.subtotal 回填框架合同金额的语句