Commit Graph

323 Commits

Author SHA1 Message Date
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
DXC
b375cbfe25 fix: add stocktake and adjustment modules to role permission assignment UI 2026-03-20 09:31:33 +08:00
DXC
4223a95f10 feat: generate permission sql for stocktake modules and implement single-device login restriction 2026-03-20 09:11:54 +08:00
DXC
faea0379da refactor: replace transfer outbound type with production outbound across frontend and backend 2026-03-19 17:13:24 +08:00
DXC
53c198f363 feat: fix stocktake deletion bug, and add pagination, search, sorting to stocktake lists 2026-03-19 16:21:09 +08:00
DXC
fa8b113f9d fix: implement sequential order_no generation and enforce UTC+8 Beijing time for adjustments 2026-03-19 15:42:36 +08:00
DXC
b37049a4d7 feat: add generate-missing logic to identify unscanned stock as inventory loss 2026-03-19 15:34:54 +08:00
DXC
6cc3d1b6e0 feat: upgrade adjustment workflow to require explicit inbound SKU or outbound tracking number and fix UTC timezone issue 2026-03-19 15:26:40 +08:00
DXC
ae63748060 feat: refactor stocktake import flow to use a preview-and-select dialog 2026-03-19 15:16:20 +08:00
DXC
50cf63414f feat: fix 401 auth error and bridge stocktake discrepancies to adjustment module 2026-03-19 14:36:56 +08:00
DXC
09869667c8 fix: add extend_existing=True to StockAdjustment model to resolve MetaData conflict 2026-03-19 14:25:43 +08:00
DXC
c55eed0d75 fix: remove duplicate StockAdjustment model from stocktake.py to fix SQLAlchemy MetaData conflict 2026-03-19 14:20:27 +08:00