Commit Graph

22 Commits

Author SHA1 Message Date
eebb5a849e fix: 会计角色访问报表页面提示无权限
- reports API 两个 GET 接口 require_roles 加入 kuaiji
- 新增 migration 为 kuaiji 角色补上报表统计/报表核对的 sys_role_menu 记录

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-04 14:07:51 +08:00
28024454d4 feat: 为会计角色添加客户对账单菜单权限
在 sys_menu 新增 /reconciliation 菜单记录,并分配给 kuaiji 角色。
部署后会计用户需重新登录以刷新菜单缓存。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-04 14:01:00 +08:00
4d8cc9a21c fix: 自发订单填入快递单号后自动识别并保存快递公司,修复物流签收状态无法自动更新
自发订单(self-delivery)的 tracking_number 存储在 sales_order 表,
但 express_company 字段缺失,导致定时任务查询快递100时缺少 com 参数
而静默失败,订单永远停在"运输中"。

- SalesOrder 模型新增 express_company 字段及数据库迁移
- create_order/update_order 时自动识别并保存快递公司
- update_tracking_number 修改单号时同步更新快递公司
- _load_third_party_traces 回退读取订单表 express_company 并自动回填
- check_delivery_by_tracking 增加详细日志便于排查

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-04 11:10:19 +08:00
1d12d061e0 接入微信服务号模板消息,修复通知链路重复发送和静默失败
小程序订阅消息每订阅一次只能发一条,用户无法持续收到通知。改为接入微信
服务号模板消息,用户关注服务号后可无限次接收推送通知。

新增功能:
- ServiceAccountNotificationService:服务号模板消息发送服务
- 服务号事件回调(subscribe/unsubscribe)+ 手机号验证绑定流程
- PendingServiceBinding 模型:存储关注者的 openid 待绑定记录
- 小程序 bind-service 页面:输入手机号完成绑定
- 三个详情页(审批/任务/发厂)增加"绑定微信通知"入口
- web-sales NotificationBell 增加服务号关注引导
- web-admin SystemPage/ConfigPage 增加服务号绑定状态和模板配置展示

修复问题:
- EventBus 和 _notify_status_change 重复发送微信消息(业务员收到2条)
- EventBus order_status_changed 事件缺少模板映射导致微信通知静默丢失
- 所有微信发送失败被 except Exception: pass 静默吞掉,增加日志
- 定时任务(欠款/沉默客户/物流超时)不触发 WebSocket 实时通知
- reminder_method 配置未生效

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-23 17:17:06 +08:00
33894d329b 新增需求规格字段:订单明细的 demand_specification 全链路打通
前端订单表单已有需求规格输入(demand_specification),但后端从未
存入数据库,导致管理员和业务员的订单详情中无法展示。

- 数据库迁移:sales_order_item 表加 demand_specification VARCHAR(128)
- ORM 模型:SalesOrderItem 加 demand_specification 字段
- Schema:OrderItemPayload 接受 demand_specification
- 后端 Service:get_order 返回时包含 demand_specification
- 管理员/业务员订单详情:产品明细表格新增「需求规格」列

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 23:27:11 +08:00
99e6d05c4e 新增客户需求描述字段:从数据库到前端详情页全链路打通
订单创建/编辑表单已有 customer_demand 字段,但后端从未存入数据库,
导致管理员和业务员的订单详情页无法展示客户需求描述。

- 数据库迁移:sales_order 表加 customer_demand TEXT 列
- ORM 模型:SalesOrder 加 customer_demand 字段
- 后端 Service:create/update/get_order 三处补全
- 管理员详情页:展示并支持编辑客户需求描述
- 业务员详情页:展示客户需求描述(多行文本,pre-line 渲染)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 23:07:57 +08:00
7b12f5dbaa 6-22修复初次提交 2026-06-22 14:59:51 +08:00
3e96aa4c0f 销售金额改为合同金额 2026-06-19 23:57:25 +08:00
24d1867309 简单修复测试 2026-06-19 23:03:14 +08:00
27b0b25f09 添加测试部署功能 2026-06-14 16:20:04 +08:00
039b731e85 fix: logistics_task 补充缺失的 task_no 字段导致司机端 500 错误
ORM 模型和业务逻辑引用了 task_no 但数据库缺少该列,
新增迁移脚本添加 task_no 列并为已有数据填充编号。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 16:00:02 +08:00
b1081ec001 fix: 迁移脚本修复 biz_id INT 溢出和 file_type 长度不足
- biz_id 从 INT 扩展为 BIGINT,避免 14 位时间戳溢出
- file_type 从 VARCHAR(64) 扩展为 VARCHAR(128),兼容 XLSX MIME 类型

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 15:23:13 +08:00
a5edb8be4d feat: 司机端拍照识别物流运单号并支持一对多录入
新增 logistics_waybill 表存储一个任务关联的多个运单号,
司机在揽货时可通过拍照调用快递100 OCR 自动识别运单号,
支持连续拍多张统一提交、手动输入兜底、编辑删除,
揽货时必填至少一个运单号并自动同步到 logistics_task。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 14:03:36 +08:00
89674a6e9d fix: 补充 order_supplier_text_log 表的数据库迁移
该表在模型中定义但从未创建迁移,导致确认发厂文案时数据库插入失败(500)。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-07 11:12:12 +08:00
01f7a38094 fix: 订单明细迁移补全 + 全局异常处理 + Vue 模板修复
- 新增迁移 20260531_0001 补全 sales_order_item 报价快照列(幂等)
- 添加全局未捕获异常处理器,500 错误返回具体异常信息并记录 traceback
- 修复 web-sales LoginPage 和 CustomersPage 中 import 语句误写在 <template> 内的问题

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-31 14:07:28 +08:00
46d56cb6d3 feat: 定价规则支持含税计算,审批详情展示税明细
定价规则新增 tax_rate(税率百分比)和 tax_inclusive(含税方式)字段,
报价引擎自动计算含税/不含税双价格,审批详情页利润计算过程展示税说明和明细行税额。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-30 11:15:55 +08:00
9b32afdbb4 为后端全部 86 个 Python 文件添加中文注释
覆盖所有模块:
- api 层:17 个路由文件,每个接口标注用途、参数、返回值、权限
- services 层:18 个服务文件,每个方法标注作用、参数、返回值、调用方
- repositories 层:13 个仓储文件,每个方法标注查询逻辑和被调用方
- schemas 层:11 个请求/响应体文件,每个字段标注业务含义
- core 层:config、security、exceptions、responses、error_codes
- models 层:19 个 ORM 模型类,每个表标注业务含义和关联关系
- scripts:bootstrap_data、smoke_check
- migrations:env.py 和版本迁移文件

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 07:23:33 +08:00
2d4b3758cf 更新快递100接口对接功能 2026-05-27 14:43:54 +08:00
fe25444955 加入报价引擎模块 2026-05-26 15:24:41 +08:00
7de54a59ad 修复登录功能BUG 2026-05-19 10:37:06 +08:00
9a4938f1ed feat: complete database migrations and bootstrap setup 2026-05-15 12:32:45 +08:00
18fb362474 基础框架搭建 2026-05-14 13:51:06 +08:00