feat: refresh material names in background every two days
This commit is contained in:
@@ -103,7 +103,8 @@ AR51's direct local request on 2026-10-09 authorizes a Git-synchronized dictiona
|
||||
|
||||
- When a returned shortage has no name, resolve its `缺料物料` code from this local file. Cache contents do not determine shortages or delivery dates.
|
||||
- Feishu processing may read this file, but must not write or refresh it or call Kingdee for name lookup.
|
||||
- AR51 may maintain it outside Feishu using `scripts/refresh_material_names.py`, either importing a verified full `BD_MATERIAL` reference cache or invoking the existing approved read-only `kingdee_query.py` for `FNumber,FName` only, with no material filter.
|
||||
- AR51 may maintain it outside Feishu using `scripts/refresh_material_names.py`, either importing a verified full `BD_MATERIAL` reference cache or invoking the bundled restricted `shared/runtime/kingdee_materials.py` / existing approved read-only `kingdee_query.py` for `FNumber,FName` only, with no material filter.
|
||||
- AR51's direct local request authorizes the native background refresh: check hourly, read ERP when 48 hours have elapsed since the last successful refresh, add new names and update changed names. State and locks live in Git-ignored `logs/`; credentials stay in each computer's environment, Keychain or ignored `configs/material_cache_erp.local`. Feishu processing never triggers this updater.
|
||||
- The dictionary is intended to be tracked in this AM516 Git repository. Keep credentials, full material-master exports, BOMs, specifications, quantities, prices and other raw ERP fields out of it.
|
||||
- Empty, invalid, partial, or conflicting refresh results must preserve the previous file. Missing names must remain explicit unresolved items.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user