Commit Graph

207 Commits

Author SHA1 Message Date
DXC
4d81056075 feat: 实现异步导出骨架(Threading + Redis 状态流转),支持 POST 提交/轮询状态/下载文件 2026-05-19 10:35:33 +08:00
DXC
c60112f5f8 perf: 引入 Redis Cache-Aside 模式优化 BOM 读取,TTL=12h,写操作后主动失效缓存 2026-05-19 10:14:55 +08:00
DXC
48651ffd01 perf: 消除出库列表和还库操作的 N+1 查询,改用批量 IN + joinedload 2026-05-19 09:49:30 +08:00
DXC
d60e1c5188 perf: 修复 get_bom_with_stock_by_bom_no N+1 查询问题,改为批量 IN + 内存字典匹配 2026-05-19 09:33:54 +08:00
DXC
3cb31c2b67 fix: 修复 JWT 幽灵令牌漏洞,新增 Dify 权限过滤服务 2026-05-18 16:16:50 +08:00
DXC
950b8dd671 fix: BOM列表搜索去除外层 % 通配符,改为小写忽略大小写匹配 2026-05-15 09:37:21 +08:00
DXC
1a76c4853e feat(purchase): 物料搜索分页+价格半联动+图片必填校验 2026-05-12 17:48:29 +08:00
dxc
9dfcb93146 feat(purchase): 新增采购申请模块后端(模型+Service+API路由) 2026-05-12 16:33:18 +08:00
DXC
1edd471208 feat(bom): BOM列表按物料类别分组展示,支持折叠展开与数量统计 2026-05-12 15:27:47 +08:00
DXC
e88de1d408 feat(warning): 库存预警邮件表格增加缺少数量列(当前库存 | 缺少数量) 2026-05-12 15:15:46 +08:00
DXC
d4bf7c5e99 feat(material): 物料列表接口返回预警邮箱字段,弹窗打开时可正确回显 2026-05-12 14:59:31 +08:00
DXC
8356774a8a feat(warning): 库存预警邮件支持顺延发送,前端物料列表新增预警状态展示列 2026-05-12 14:44:23 +08:00
DXC
3dae206828 feat(outbound): 完善出库审批邮件通知逻辑,支持申请人与审批人同时收到邮件(带物料明细),审批通过后申请人和库管均收到带物料明细的通知 2026-05-12 13:42:15 +08:00
DXC
c86da38a70 chore(pre-change): 准备修改出库审批邮件通知逻辑与自审批能力 2026-05-12 13:36:18 +08:00
dxc
259f3a7e0d 4.29扫码获取库位小工具接口 2026-04-29 15:40:43 +08:00
dxc
00839863f5 4.29出库审批流程完善,通知申请人以及库管邮件功能 2026-04-29 09:11:37 +08:00
DXC
8276597a67 fix(email): 审批通知逻辑重构 - 通过时同时通知库管和申请人,驳回仅通知申请人;精简 DEBUG 日志 2026-04-29 09:10:34 +08:00
DXC
ccbce82c2e fix(email): 审批通过后库管通知增加明细+DEBUG日志,修复MAIL_DEFAULT_SENDER格式问题 2026-04-28 16:46:12 +08:00
DXC
62c0e3738e fix(outbound+trans): 修复POST接口错误数据清洗导致的sku/quantity字段被清除Bug,并新增出库审批工作流全链路 2026-04-28 16:02:34 +08:00
DXC
3c9cb06dbc fix: save_bom add db.session.flush() to fix unique constraint conflict 2026-04-23 13:34:41 +08:00
DXC
a849e14b2c refactor(orm): 将所有的批量 delete/update 重构为对象级操作,以确保触发 SQLAlchemy 审计事件 2026-04-20 15:43:48 +08:00
DXC
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
DXC
d651d19e86 feat(system): implement robust batch user creation integrating existing pinyin logic and backend duplication prevention 2026-04-17 12:16:45 +08:00
DXC
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
DXC
bd93a3d70b feat: implement clean global cross-organization permission node and backend service isolation logic 2026-04-17 08:59:55 +08:00
DXC
477da7c434 fix-security-correct-field-permission-mapping-and-403-denial 2026-04-14 15:37:39 +08:00
DXC
db077a6033 fix(security): resolve incorrect field-level desensitization causing null values for authorized columns 2026-04-14 09:28:46 +08:00
DXC
c91f8ec693 fix(auth): prevent AttributeError when querying permissions for users with no role 2026-04-14 08:56:47 +08:00
DXC
0e8ddd0851 feat(security): implement strict row-level data isolation based on user company 2026-04-14 08:38:50 +08:00
DXC
6aa2142f01 refactor(material): implement contiguous sequence grouping for specs with count-based descending sort 2026-04-13 09:14:59 +08:00
DXC
c7ac092be4 feat(material): add global floating helper to track latest specification codes with smart grouping 2026-04-13 08:28:27 +08:00
DXC
454f9b1184 feat(scrap): integrate repair items into physical scrap scanning flow and lock manual status 2026-04-09 09:53:20 +08:00
DXC
f4d14f718d refactor(repair): strictly gate 'Already Outbound' status to system-only trigger 2026-04-09 09:12:42 +08:00
DXC
48efbed46b feat(repair): add quick status filters, mandatory validations, FIFO sorting, and hide actions on finished orders 2026-04-09 09:04:05 +08:00
DXC
0a9c8cd39c fix(repair): add edit action, mandatory validations, default date, and fix outbound SN mapping 2026-04-09 08:49:50 +08:00
DXC
09936cb045 fix(outbound): integrate TransRepair into global barcode scanning and outbound checkout flow 2026-04-09 08:38:48 +08:00
DXC
3085d9f447 feat(repair): decouple material base, sync global sku sequence and add scan/print features 2026-04-08 19:36:14 +08:00
DXC
41b5118ecd feat(repair): implement backend CRUD services and API routes with RBAC permissions for repair module 2026-04-08 18:34:48 +08:00
DXC
4df471add2 fix(inbound): correct date attributes for StockProduct and StockSemi in history location query 2026-04-08 17:45:29 +08:00
DXC
4a4baa2f8f fix: sort warehouse tree by name, fix tree batch delete cascade, and implement safe history location autofill 2026-04-08 17:32:00 +08:00
DXC
f612c47143 fix(filter): append 23:59:59 to end_date to resolve midnight truncation bug in date range queries 2026-04-07 17:39:14 +08:00
DXC
5ea2be58ae fix(filter): globally apply not_contains operator parsing to all stock and inbound queries 2026-04-07 17:32:27 +08:00
DXC
6d80c90b66 feat: add 'not contains' operator, implement inbound record export, and verify export filter rules 2026-04-07 17:23:00 +08:00
DXC
30ab1c186c fix: filter zero quantity items in inventory export and add batch/sn traceability to outbound record details 2026-04-07 16:41:53 +08:00
dxc
875de73a3a 4.7更改打印标签代码,去掉序列号以及批号 2026-04-07 16:11:04 +08:00
DXC
457e222632 fix(warehouse): fix 500 error on delete by extracting attributes before db commit 2026-04-02 10:31:53 +08:00
DXC
c8810891d8 fix(api): globally replace invalid material_base/material_name attributes with correct base relationship 2026-03-26 17:14:26 +08:00
DXC
46dd8f1c3a fix(auth,audit): ensure display_name persists in token refresh and add fallback in audit log 2026-03-25 11:16:13 +08:00
DXC
f9edb5f1f7 fix(api): fix AttributeError on inbound deletion by accessing base.name instead of material_name 2026-03-25 11:02:32 +08:00
DXC
7421ef3231 fix(api): expose real 500 error stack trace and fix missing func import 2026-03-25 10:56:31 +08:00