1.7 KiB
1.7 KiB
Why
多个业务的「作废」仅二次确认即生效,无法留存原因,审计与事后追溯困难。合同/调价函已有独立作废原因字段;本批入口需对齐为可填写并落库的独立字段,便于有原因时清晰展示(原因本身非必填)。
What Changes
- 作废时可填写原因(可选),有则写入独立字段(非拼进
remark);留空仍可作废。 - 覆盖:报价单、运输计划、加油登记、充值/维保/尿素申请、运费结算单、地磅单(含 Web 与对应小程序入口)。
- API:上述 cancel/void 接口接收可选原因 body;空原因不报错,仍记录作废时间与操作人。
- 报价单:停止向
remark追加「【作废原因】」,改为invalid_*字段(原因可空)。 - 加油登记「作废恢复」:清空作废原因三元组。
- 合同、调价函已有完整作废原因流程,不改(其「必填」策略保持不变)。
Capabilities
New Capabilities
void-cancel-reason: 作废/取消可选原因的字段约定、API 契约、Web/小程序交互与查看态展示。
Modified Capabilities
- (无基线
openspec/specs/下既有能力需 delta;本变更为新增能力。)
Impact
- DB:
crm_quote、pl_plan、pl_vehicle_fuel_register、pl_vehicle_recharge_apply、pl_vehicle_maintenance_apply、pl_vehicle_urea_apply、pl_freight_settlement、db_weighing_slip增补字段;docs/sql/迁移 + 模型同步。 - Backend:对应 cancel/void service、Pydantic schema、Read DTO。
- web-admin:列表/详情作废弹窗(原因可选);已作废查看展示原因(有则显示)。
- miniprogram:充值申请、加油登记、地磅作废可填原因。