Commit Graph

306 Commits

Author SHA1 Message Date
DXC
381d1fa675 feat(audit): 平滑升级-监听器+装饰器共存,装饰器自动检测并跳过已处理日志 2026-04-20 13:15:25 +08:00
dxc
becd3cb010 审计日志修改完善 2026-04-20 11:39:28 +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
772f3f45f4 feat(profile): implement independent email update dialog to prevent accidental password resets during partial updates 2026-04-17 12:48:30 +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
ae05f3bb75 fix-security-field-permission-matching 2026-04-14 15:09:15 +08:00
DXC
ae1fd1afd4 fix-security-permission-codes 2026-04-14 14:49:53 +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
e23e8c6a9e fix(scrap): resolve material names, specs and operator names in list query 2026-04-09 17:49:51 +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
ec468b266d refactor(repair): upgrade TransRepair model with base_id, status, and SN for independent operation 2026-04-08 18:23:22 +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
0d8f697df4 fix(stocktake): enforce session_id in resume, make missing generation idempotent, update UI to show SN, and fix excel time offset 2026-04-03 09:42:51 +08:00
DXC
43e1d0aa55 fix(stocktake): strictly isolate stocktake drafts by session_id in list and finish generation to prevent historical data mixing 2026-04-03 09:25:52 +08:00
DXC
6aec571775 fix(stocktake): resolve 500 error caused by missing batch or sn attributes using strict getattr fallback 2026-04-03 09:05:48 +08:00
DXC
c361d25ea0 fix(stocktake): display batch number in scanning dialog and fix empty uncounted items in Excel export 2026-04-02 19:06:19 +08:00
DXC
dbcb7d0d92 perf(system): optimize large data rendering in stocktake, fix N+1 in warehouse, and add upload size limits 2026-04-02 18:51:13 +08:00
DXC
a52ced0375 fix(backend): resolve DetachedInstanceError in audit_log, add pessimistic locks for stock adjustments, and eliminate N+1 queries with eager loading 2026-04-02 18:44:12 +08:00
DXC
b614a7c8f5 fix(warehouse): fix tree path generation logic and integrity error causing 500 in batch generation 2026-04-02 11:05:41 +08:00
DXC
e28326b2e4 feat(warehouse): implement bulk delete and multi-level rule-based batch generation for locations 2026-04-02 10:55:17 +08:00
DXC
84e615baf6 fix(warehouse): fix AttributeError by safely extracting existing attribute from SysWarehouseLocation 2026-04-02 10:44:33 +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
b2ce9d31f8 fix(stocktake): replace hardcoded 'admin' with actual current user in excel export 2026-03-27 09:04:13 +08:00
DXC
2a27f2e0df feat(stocktake): implement strict blind stocktake logic with hidden system qty, editable count and status filters 2026-03-26 17:42:51 +08:00
DXC
db0444cc13 fix(scrap): completely refactor scan API return dict with safe getattr to prevent attribute errors 2026-03-26 17:20:43 +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
d58b002340 chore(api): expose real 500 error stack trace for scrap scan API 2026-03-26 16:59:14 +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
DXC
ac7774e0e3 fix(api): gracefully handle integrity error on inbound record deletion 2026-03-25 10:48:43 +08:00