Commit Graph

286 Commits

Author SHA1 Message Date
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
DXC
f738b3b3af fix(api): correct specification field name in material search 2026-03-24 15:49:54 +08:00
DXC
321ef8c7bd feat(api): support pagination and keyword search for material base list 2026-03-24 15:46:14 +08:00
DXC
93dc375ba4 perf: replace client-side pagination with server-side pagination in stock selection dialog and fix duplicate variable in semi.vue 2026-03-23 14:52:01 +08:00
DXC
c5974ff05c fix: relax permission requirement on stock list api to unblock outbound operations 2026-03-23 14:22:52 +08:00
DXC
e1006f383a refactor: global import cleanup and stability fix for auth module 2026-03-23 13:43:29 +08:00
DXC
505b8e5a32 fix: add missing get_jwt import to resolve NameError in my-permissions API 2026-03-23 13:41:13 +08:00
DXC
0bdd4c068e fix: add missing db import to resolve NameError in password update API 2026-03-23 13:38:18 +08:00
DXC
61ec906cfb fix: resolve 500 error in password update API by aligning schema and fixing hash logic 2026-03-23 13:32:53 +08:00
DXC
719fe108ba feat: remove old password requirement, fix user info display, and add password change reminder on home page 2026-03-23 11:52:30 +08:00
DXC
ec5331ffb3 feat: fix table alignment in product view and implement self-service password update with role masking 2026-03-23 11:41:09 +08:00
DXC
7c9331d78a perf: implement optimistic UI for scanner, disable auto-camera, and sort excel by SKU 2026-03-23 09:51:59 +08:00
DXC
032479fe38 fix: capture and persist target object names for delete, outbound, and borrow operations in audit logs 2026-03-20 15:47:13 +08:00
DXC
b08bbba718 fix: enforce Beijing Time (UTC+8) globally by replacing datetime.utcnow 2026-03-20 15:23:20 +08:00
DXC
b6e3ea76fa fix: filter out invisible menus and clean up ghost nodes in permission tree 2026-03-20 13:12:16 +08:00
DXC
6c20233d45 fix: handle int type for JWT expires configuration to prevent 500 error on login 2026-03-20 10:43:29 +08:00
DXC
71e5f075d2 feat: implement composite debounced search with prepended select and wipe out duplicate root permission nodes 2026-03-20 10:26:45 +08:00
DXC
3bb3975022 fix: use .c to access SQLAlchemy subquery columns correctly 2026-03-20 10:15:11 +08:00
DXC
34629b432a fix: correct SQLAlchemy join condition to resolve MaterialBase AttributeError 2026-03-20 10:06:22 +08:00
DXC
990399a408 feat: implement cross-table search and debounced dynamic search for borrow and return records 2026-03-20 09:58:42 +08:00
DXC
74089c7d7d fix: clean orphaned permission tree nodes and enhance outbound search with material name/spec model 2026-03-20 09:53:32 +08:00
DXC
6336432a5c refactor: restructure permission list to a tree format matching the sidebar navigation 2026-03-20 09:42:14 +08:00
DXC
1ad57da2a7 chore: remove legacy inventory stocktake menu and permission configs 2026-03-20 09:34:36 +08:00