系统 SHALL 在 shanxia2.0 Python 后端提供 db 子域 API,并在 app/main.py 与 app/api/__init__.py 注册路由。所有业务接口 SHALL 经过门户鉴权中间件,且查询与写入 SHALL 按当前用户 tenant_no 隔离。
{ code: 0, data: ... } 且仅含当前租户数据系统 SHALL 提供 db_vehicle 的列表(分页)、详情、新增、修改、软删除 API。车牌号在同一租户下 SHALL 唯一(未删除记录)。
del_flag=0系统 SHALL 提供计划的分页列表、详情、新增、修改、软删除 API。新增计划时 SHALL 自动生成 plan_no(格式与原系统一致:SX- + 时间戳序号)。计划 SHALL 支持 auto_generate_enabled 等自动生成相关字段的读写。
plan_no 并持久化,execution_status 为初始待执行状态系统 SHALL 提供出入库单的分页列表、详情、新增、修改、软删除 API,字段语义与原 inbound_outbound 一致(含 partner_company、quantity 吨、status 等)。
create_time DESC 排序系统 SHALL 提供地磅单的列表、详情、新增、修改、作废 API。保存地磅单时 SHALL 在同一数据库事务内:更新关联计划的 executed_quantity 与 execution_status;创建或更新关联 db_inbound_outbound 记录;回写 purchase_plan_id 与 inbound_outbound_id。作废地磅单 SHALL 设置 is_voided=1 并回滚已计入计划的执行量(若适用)。
executed_quantity 增加,last_weighing_slip_id 更新为当前地磅单 idis_voided=1,计划执行量相应回滚,列表默认不展示作废单(或按原系统规则过滤)系统 SHALL 提供仪表盘聚合 API,至少包含与原系统对等的统计维度(如计划/地磅/出入库数量概览、近期趋势),数据 SHALL 按 tenant_no 过滤。
系统 SHALL 提供定时任务,每月对 auto_generate_enabled=1 且未过 auto_generate_end_month 的计划复制生成新月计划,并更新 auto_generate_last_month 以防重复,逻辑与原 auto-create-plan 脚本等价。
auto_generate_last_month 更新为当前月计划/地磅/出入库表单所需产品、客户选项 SHALL 通过已有 CRM API 获取;后端 SHALL NOT 新建 cargos/companies 表或对应 CRUD 路由。
product_name 写入地磅业务字段