23 lines
1.3 KiB
Markdown
23 lines
1.3 KiB
Markdown
# 框架合同金额按产品小计汇总
|
|
|
|
## 背景
|
|
|
|
框架销售/采购合同(`framework_sale` / `framework_purchase` / 历史 `framework`)在前后端均强制将合同头 `amount` / `amountWithTax` 置为 0,导致产品行已有固定数量与单价时,列表与详情仍显示合同金额为 0。
|
|
|
|
## 需求
|
|
|
|
1. 有小计就累加:各行 `subtotal`(或 数量×单价×折扣)之和写入合同金额;`customer_demand` / `market` 行贡献 0。
|
|
2. 运行时仅新建/再次保存生效;不做应用内批量迁移。
|
|
3. 代码完成后提供生产库「先备份、再回填」SQL,由人工执行。
|
|
|
|
## 设计
|
|
|
|
- 后端 `_normalize_framework_contract_data`:保留行级 market/demand 清零;删除头金额强制 0;规范化后按行累加写回 `amount`(及 `amountWithTax` 与现有销售合同口径一致)。
|
|
- 前端 `calculateTotalAmount` 及切类型/载入产品处:去掉框架合同 `amount = 0`,与销售合同相同累加。
|
|
- 更新路径保证规范化后的 `amount` 写入实体(`update_contract` 当前对 `work_data` 规范化但对 `data` 做 apply,需同步金额字段)。
|
|
- 测试覆盖:全固定价、混用、全随行就市。
|
|
|
|
## 非目标
|
|
|
|
不改审批流、调价区间、计划超量提醒;不在启动时跑迁移。
|