|
|
75705d31c9
|
fix: 物料修改后级联清除 BOM 树缓存,防止信息不一致
|
2026-05-19 11:40:43 +08:00 |
|
|
|
7d02da2f5c
|
fix: 所有 init_ 方法增加字段级 Dirty Check,相同值不赋值,防止 SQLAlchemy 触发 UPDATE 事件产生冗余审计日志
|
2026-05-19 11:10:41 +08:00 |
|
|
|
2a6e3979e8
|
fix: 审计监听器在非 HTTP 上下文的初始化操作(如 PermissionService)中直接跳过,避免产生大量 system 用户日志
|
2026-05-19 10:58:22 +08:00 |
|
|
|
4d81056075
|
feat: 实现异步导出骨架(Threading + Redis 状态流转),支持 POST 提交/轮询状态/下载文件
|
2026-05-19 10:35:33 +08:00 |
|
|
|
6e1e1aa998
|
perf: 为库存三表/BOM/物料基础表补全高频查询列索引,防止全表扫描
|
2026-05-19 10:21:50 +08:00 |
|
|
|
c60112f5f8
|
perf: 引入 Redis Cache-Aside 模式优化 BOM 读取,TTL=12h,写操作后主动失效缓存
|
2026-05-19 10:14:55 +08:00 |
|
|
|
cf55c94826
|
feat: 库存接口增加 ai_mode=true 极简返回模式,键名压缩为 n/s/c
|
2026-05-19 09:53:06 +08:00 |
|
|
|
48651ffd01
|
perf: 消除出库列表和还库操作的 N+1 查询,改用批量 IN + joinedload
|
2026-05-19 09:49:30 +08:00 |
|
|
|
d60e1c5188
|
perf: 修复 get_bom_with_stock_by_bom_no N+1 查询问题,改为批量 IN + 内存字典匹配
|
2026-05-19 09:33:54 +08:00 |
|
|
|
3cb31c2b67
|
fix: 修复 JWT 幽灵令牌漏洞,新增 Dify 权限过滤服务
|
2026-05-18 16:16:50 +08:00 |
|
|
|
d736d5d4a9
|
fix: 彻底移除 op_records 字段级权限过滤,所有字段对普通角色可见
|
2026-05-15 10:40:53 +08:00 |
|
|
|
27683d2a8b
|
fix: 借用记录列表移除 sku 字段的权限过滤,所有角色均可正常查看
|
2026-05-15 09:57:55 +08:00 |
|
|
|
950b8dd671
|
fix: BOM列表搜索去除外层 % 通配符,改为小写忽略大小写匹配
|
2026-05-15 09:37:21 +08:00 |
|
|
|
1a76c4853e
|
feat(purchase): 物料搜索分页+价格半联动+图片必填校验
|
2026-05-12 17:48:29 +08:00 |
|
|
|
3c9d7a999d
|
fix(purchase): 审批人下拉隐藏角色/物料搜索下拉/价格弹窗确认/图片必填校验
|
2026-05-12 17:27:51 +08:00 |
|
|
|
9dfcb93146
|
feat(purchase): 新增采购申请模块后端(模型+Service+API路由)
|
2026-05-12 16:33:18 +08:00 |
|
|
|
6b4ebfa24f
|
feat(upload): 上传组件删除前需二次确认,支持ZIP/RAR/7Z压缩包上传
|
2026-05-12 15:34:26 +08:00 |
|
|
|
1edd471208
|
feat(bom): BOM列表按物料类别分组展示,支持折叠展开与数量统计
|
2026-05-12 15:27:47 +08:00 |
|
|
|
e88de1d408
|
feat(warning): 库存预警邮件表格增加缺少数量列(当前库存 | 缺少数量)
|
2026-05-12 15:15:46 +08:00 |
|
|
|
d4bf7c5e99
|
feat(material): 物料列表接口返回预警邮箱字段,弹窗打开时可正确回显
|
2026-05-12 14:59:31 +08:00 |
|
|
|
8356774a8a
|
feat(warning): 库存预警邮件支持顺延发送,前端物料列表新增预警状态展示列
|
2026-05-12 14:44:23 +08:00 |
|
|
|
3dae206828
|
feat(outbound): 完善出库审批邮件通知逻辑,支持申请人与审批人同时收到邮件(带物料明细),审批通过后申请人和库管均收到带物料明细的通知
|
2026-05-12 13:42:15 +08:00 |
|
|
|
c86da38a70
|
chore(pre-change): 准备修改出库审批邮件通知逻辑与自审批能力
|
2026-05-12 13:36:18 +08:00 |
|
|
|
259f3a7e0d
|
4.29扫码获取库位小工具接口
|
2026-04-29 15:40:43 +08:00 |
|
|
|
00839863f5
|
4.29出库审批流程完善,通知申请人以及库管邮件功能
|
2026-04-29 09:11:37 +08:00 |
|
|
|
8276597a67
|
fix(email): 审批通知逻辑重构 - 通过时同时通知库管和申请人,驳回仅通知申请人;精简 DEBUG 日志
|
2026-04-29 09:10:34 +08:00 |
|
|
|
ccbce82c2e
|
fix(email): 审批通过后库管通知增加明细+DEBUG日志,修复MAIL_DEFAULT_SENDER格式问题
|
2026-04-28 16:46:12 +08:00 |
|
|
|
183b93012e
|
4.28
|
2026-04-28 16:07:11 +08:00 |
|
|
|
62c0e3738e
|
fix(outbound+trans): 修复POST接口错误数据清洗导致的sku/quantity字段被清除Bug,并新增出库审批工作流全链路
|
2026-04-28 16:02:34 +08:00 |
|
|
|
e08eaff40a
|
feat(outbound): 库存列表按规格+库位聚合 + BOM明细类型修复
|
2026-04-28 09:23:59 +08:00 |
|
|
|
40e405becd
|
4.27
|
2026-04-27 16:33:54 +08:00 |
|
|
|
d6ae9499db
|
feat: 新增首页全局搜索功能,支持跨模块多词搜索
|
2026-04-27 15:57:26 +08:00 |
|
|
|
48f2011a38
|
fix: 盘点草稿已盘数量统计兼容字段名 quantity
|
2026-04-24 13:32:46 +08:00 |
|
|
|
996056d46a
|
fix: 修复库存盘点已盘数量卡在500的问题
|
2026-04-24 13:19:57 +08:00 |
|
|
|
f0c200a15f
|
fix: delete_bom use .all() instead of .first() to delete all child records
|
2026-04-24 11:42:42 +08:00 |
|
|
|
3c9cb06dbc
|
fix: save_bom add db.session.flush() to fix unique constraint conflict
|
2026-04-23 13:34:41 +08:00 |
|
|
|
1205d9c7e8
|
feat(audit): 优化审计日志的人性化展示
|
2026-04-22 10:44:13 +08:00 |
|
|
|
4b794b9bcc
|
feat(audit): 添加全局无侵入审计日志拦截器
|
2026-04-22 10:41:15 +08:00 |
|
|
|
f8f5b05d7d
|
refactor(audit): 废弃装饰器+分离架构,改为监听器单体直写入库
|
2026-04-20 16:04:01 +08:00 |
|
|
|
a849e14b2c
|
refactor(orm): 将所有的批量 delete/update 重构为对象级操作,以确保触发 SQLAlchemy 审计事件
|
2026-04-20 15:43:48 +08:00 |
|
|
|
7e72c12f30
|
fix(audit): 修复 decorators.py 中缺失 has_request_context 导入导致的致命 NameError
|
2026-04-20 15:10:12 +08:00 |
|
|
|
decb7f5e1f
|
debug(audit): 添加X光调试-追踪断点
|
2026-04-20 15:01:20 +08:00 |
|
|
|
1c8def7e6f
|
refactor(audit): 分离架构-监听器计算装饰器入库
|
2026-04-20 14:41:40 +08:00 |
|
|
|
381d1fa675
|
feat(audit): 平滑升级-监听器+装饰器共存,装饰器自动检测并跳过已处理日志
|
2026-04-20 13:15:25 +08:00 |
|
|
|
becd3cb010
|
审计日志修改完善
|
2026-04-20 11:39:28 +08:00 |
|
|
|
7d683f3e65
|
fix: implement strict regex validation (no pure numbers, no special chars) on both frontend user creation form and backend auth service
|
2026-04-17 13:33:51 +08:00 |
|
|
|
772f3f45f4
|
feat(profile): implement independent email update dialog to prevent accidental password resets during partial updates
|
2026-04-17 12:48:30 +08:00 |
|
|
|
d651d19e86
|
feat(system): implement robust batch user creation integrating existing pinyin logic and backend duplication prevention
|
2026-04-17 12:16:45 +08:00 |
|
|
|
8291a89898
|
feat(backend): apply global cross-company data isolation logic across all inbound, outbound, and stock services
|
2026-04-17 09:57:00 +08:00 |
|
|
|
bd93a3d70b
|
feat: implement clean global cross-organization permission node and backend service isolation logic
|
2026-04-17 08:59:55 +08:00 |
|