@
feat: 商品记忆库 — 从OCR结果学习,逐步替代OCR识别 - 扩展 product_db.py: schema迁移(specification/source/confidence/usage_count/last_seen) + 学习逻辑(learn_from_product)、置信度系统、批量查询、导入导出、云端同步 - 注入处理管线: processor.py 在提取产品后调用 _apply_memory() 用记忆补全OCR + _is_spec_suspicious() 检测OCR规格质量,处理完后自动学习 - order_service.py 创建共享 ProductDatabase 实例 - dialog_utils.py 新增商品记忆库云端同步条目 - 新建 memory_editor.py: Treeview查看/编辑/搜索/删除/重新导入 - main_window.py 系统设置区新增"商品记忆库"按钮 - build_exe.py 添加 memory_editor 到 hidden_imports @
This commit is contained in:
@@ -830,6 +830,12 @@ SYNC_FILES = [
|
||||
"local": "templates/银豹-采购单模板.xls",
|
||||
"type": "binary",
|
||||
},
|
||||
{
|
||||
"name": "商品记忆库",
|
||||
"remote": "product_memory.json",
|
||||
"local": "data/product_memory.json",
|
||||
"type": "json",
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
@@ -1068,6 +1074,19 @@ def show_cloud_sync_dialog(parent=None):
|
||||
ProcessorService(ConfigManager()).reload_processors()
|
||||
except Exception:
|
||||
pass
|
||||
elif entry["remote"] == "product_memory.json":
|
||||
try:
|
||||
from app.core.db.product_db import ProductDatabase
|
||||
cfg = ConfigManager()
|
||||
db_path = cfg.get_path('Paths', 'product_db', fallback='data/product_cache.db') if hasattr(cfg, 'get_path') else 'data/product_cache.db'
|
||||
tpl_folder = cfg.get('Paths', 'template_folder', fallback='templates')
|
||||
item_data = cfg.get('Templates', 'item_data', fallback='商品资料.xlsx')
|
||||
tpl_path = os.path.join(tpl_folder, item_data)
|
||||
db = ProductDatabase(db_path, tpl_path)
|
||||
count = db.import_from_sync(data)
|
||||
logger.info(f"从云端导入商品记忆: {count} 条")
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def push_all():
|
||||
ok, fail = 0, 0
|
||||
|
||||
Reference in New Issue
Block a user