Hermes CI Fix
|
5bcc65b47f
|
fix(kpi): BEP保本KPI阈值按>=85口径修正 + 新增现金口径派生KPI(剔除折旧560213) + bep-card现金读派生单一事实源 (fin-fix-bep-threshold-20260908)
|
2026-09-08 15:57:47 +08:00 |
|
Hermes CI Fix
|
1a5356a2d1
|
feat(kpi): CMA保本点派生KPI F_BEP_REVENUE/COVER/GAP + 每日派生执行器 + 红黄绿静态阈值判定
- kpi_definitions entity1 新增3条派生KPI(456/457/458, formula/threshold/unit齐全)
- 新增 scripts/kpi_bep_deriver.py: 从 voucher_details 按财务口径聚合
(5001销售收入/5602管理费 YTD月均, 渠补率政策84.61%) → 计算保本销售额/
覆盖率/缺口 → upsert kpi_values source_type='derived' 幂等 + 同步yellow/red预警
- cron 06:35 注册(紧随 collector 06:30); 自动选最近完整月(8月未结账自动回退7月)
- kpis.py get_kpi: F_BEP_* 派生KPI按静态阈值文本判红黄绿(66.9→黄), 不走target比率
- 阈值经财务Bot 2026-09-08裁决: COVER >=100绿 50~100黄 <50红; GAP <=0绿 <=50黄 >50红
|
2026-09-08 13:43:20 +08:00 |
|
Hermes CI Fix
|
ebe0962c09
|
feat(frontend): Phase C 固定企业模式 - VITE_FIXED_ENTITY_ID 支持登录无下拉/隐藏切换器
- 新增 src/utils/entity.ts: isFixedEntity/getFixedEntityId/effectiveEntityId
- Login.vue: 固定企业版隐藏企业下拉显示只读徽标, 登录直接带固定 entity_id
- MainLayout.vue: 切换器加 !isFixedEntity() 守卫, 固定版顶部显示企业 tag, logo 带企业名
- ReportCenter.vue: 页内企业切换下拉加守卫, getEntityId 固定版恒取构建锁定值
- .env.example: VITE_FIXED_ENTITY_ID 示例与说明
- 验证脚本 backend/scripts/verify_phase_c_fixed_entity_e2e.py (22项, 双build E2E全过)
|
2026-09-08 11:27:01 +08:00 |
|
Hermes CI Fix
|
616f444564
|
fix(verify): 预算版本UI浏览器验证脚本加 tab 导航等待 (about:blank竞态,复跑必挂修复)
|
2026-09-07 11:34:56 +08:00 |
|
Hermes CI Fix
|
f8018aa471
|
chore(verify): 预算版本管理UI修复验证脚本(API+浏览器双录,可复跑)
|
2026-09-07 11:04:35 +08:00 |
|
Hermes CI Fix
|
d71c7fef67
|
fix(data): 自动归集空汇总不写0 + Excel导入示例文件防线 (DAMA审计20260906代码类)
|
2026-09-06 16:57:03 +08:00 |
|
Hermes CI Fix
|
594bb00a38
|
fix(cash): vouchers-json batch改为纯内容指纹(不含时间戳) — 快照每10分钟重推必须幂等命中
- batch=zxt-{sha1前10},同内容任意时刻重推 → 同一batch → already_imported跳过
- 原带秒级时间戳导致指纹去重失效(靠行级防重兜底,但会产生噪音import_logs)
- 验收脚本补用例4b(三次重发batch不变+already_imported), 13/13 PASS
|
2026-09-06 16:47:25 +08:00 |
|
Hermes CI Fix
|
3db805db4e
|
feat(cash): 智享通凭证JSON直传导入端点 vouchers-json (zxt-cma-import-v1)
- 新端点 POST /api/cma/cash/import/vouchers-json (X-BOT-KEY鉴权, 独立router避开require_role)
- 兼容三种body: 裸rows数组 / {rows} / {datasets[0].rows} 整包
- 凭证级借贷平衡(替代批级, 已知单边30694记异常拒收), 结转行summary识别
- 日期从summary前缀解析, 无日期行pending拒收(不冒充文件时间)
- 科目解析: 行内subject → DB zxt_account_dict → body subject_map, 未命中拒收
- 幂等: 内容指纹batch + import_logs去重 + 行级业务键防重复
- entity默认1(陕西酣客), active校验; 不触发现金流联动(凭证未证实权威)
- 验收脚本 scripts/verify_zxt_vouchers_json.py 12/12 PASS (SQLite本地)
|
2026-09-06 16:45:03 +08:00 |
|
Hermes CI Fix
|
f884fa5a18
|
fix(scripts): E2E验证脚本 actual_costs 无remark列, 存量internal计数改前缀排除 (cma-rd-dimension)
|
2026-09-05 09:11:27 +08:00 |
|
Hermes CI Fix
|
696f8bc934
|
feat(cost): 成本模型加研发归集维度 research_flag/project_type (cma-rd-dimension-20260905)
- StandardCost/ActualCost 增加 research_flag(int,idx)/project_type(varchar30,idx)
project_type: platform_dev平台研发/client_delivery客户交付/internal内部管理
- 生产库两表 ALTER 完成, 存量 29+134 行默认 internal(保守防误归研发)
- API: create/update 支持写入维度, 未传默认 client_delivery(录入默认),
research_flag 未显式传入按 project_type 联动(platform_dev=1);
create/update/delete 绑定 entity_id(token优先, 防跨账套)
- API: standard/actual 列表支持 project_type/research_flag 过滤
- 前端 CostDashboard: 表单加归集类型下拉(默认客户交付+研发提示),
列表加归集类型列(标签), 工具栏按归集类型过滤
- tests: test_cost.py +6 用例(默认值/联动/过滤/更新)
- scripts: verify_cost_research_dimension_e2e.py 生产E2E(标记+清理+回查)
|
2026-09-05 09:10:35 +08:00 |
|
Hermes CI Fix
|
88ec021a58
|
chore: 清理误提交的.bak备份文件(git历史可恢复,源文件均在)
|
2026-09-04 00:09:57 +08:00 |
|
Hermes CI Fix
|
9eab9bb8a1
|
Revert "fix(knowledge): articles共享层语义对齐评审方案——entity_id=0系统共享(替代NULL) (entity-memory-partition 复核对齐)"
This reverts commit 5e96d15888.
|
2026-09-03 23:09:58 +08:00 |
|
Hermes CI Fix
|
5e96d15888
|
fix(knowledge): articles共享层语义对齐评审方案——entity_id=0系统共享(替代NULL) (entity-memory-partition 复核对齐)
|
2026-09-03 23:09:04 +08:00 |
|
Hermes CI Fix
|
96844f0002
|
test(knowledge): 生产E2E越权验证脚本入库 verify_knowledge_partition_e2e.py (entity-memory-partition)
|
2026-09-03 23:01:33 +08:00 |
|
Hermes CI Fix
|
a3111a25f6
|
test(frontend): BUG-001验收脚本 3页面x10连刷无卡加载中 (入库留存,2026-09-03)
|
2026-09-03 18:41:44 +08:00 |
|
Hermes CI Fix
|
9a823e80a6
|
test(bot-tier): UI实证脚本 SuggestionCenter 默认未应用+类型过滤 (P0-②)
CDP登录→/ai-suggestions→待批列表默认unapplied且可见Bot建议卡+过滤芯片DOM全命中
临时建议SUG_ID=300已清理(回查0)
|
2026-09-03 18:19:58 +08:00 |
|
Hermes CI Fix
|
be71c2296e
|
test(bot-tier): M4 生产E2E实证脚本 verify_bot_write_tiering_e2e.py (P0-②)
全PASS: Bot建议→unapplied→人apply→目标生效+apply_detail before/after→低危kpi-result source_batch落库→audit L2留痕→清理回查=0
|
2026-09-03 18:15:47 +08:00 |
|
Hermes CI Fix
|
960cd15268
|
fix(daily-push): 补提交分企业推送 v2——daily-push-split 任务(11:45 .done)漏commit,阻塞CI deploy hook;.gitignore 忽略 *.bak-* (2026-09-03)
|
2026-09-03 18:15:05 +08:00 |
|
Hermes CI Fix
|
5e0b09e6b6
|
feat(cashflow): 按项目任务单复核修正——表名cashflow_statements+DoD兼容路径/菜单C组/角色收敛/术语0+验收脚本入库
- 表名: ORM+生产库 RENAME cash_flow_structure_values → cashflow_statements (DoD SHOW TABLES LIKE 字面验收)
- 兼容端点: /api/cma/cashflow/statements(GET/POST)+analysis 注册 main.py (DoD 验收路径)
- 菜单: 移入 🟡C 监控与评价 组(与杜邦分析/管理报表平级), roles 收敛 ceo/finance (前端 ROLE_ROUTES/MENU_ITEMS/router meta + 后端 require_role 四处同步)
- 术语: docstring 改写, grep 现金流肖像=0
- 验收脚本: backend/scripts/verify_cashflow_structure.py (14项断言全PASS: type6→type1双向/瀑布5步/alias路径/权限/清理)
|
2026-09-03 01:34:13 +08:00 |
|
Hermes CI Fix
|
2241a89fd1
|
chore(scripts): 提交分解弹窗E2E验证辅助脚本(cdp_driver + review)
|
2026-08-31 17:05:21 +08:00 |
|
Hermes CI Fix
|
dc89b14479
|
chore(scripts): 提交工作台隔离验证脚本 verify_dashboard_isolation.py(dashboard-optimize 遗留)
|
2026-08-31 15:57:54 +08:00 |
|
Hermes CI Fix
|
79bc877f31
|
chore(erp): 清理ERP_API_KEY硬编码默认值+任务脚本小调整(与本次待办跳转修复无关,单独成commit)
|
2026-08-31 15:33:07 +08:00 |
|
Hermes CI Fix
|
136fe3811f
|
fix: auto-verify cron残留缺陷修复+第三阶段接入 verify-cron-fix (auto_verify_cron 4项对齐verify.py: entity_id过滤/period过滤/OKR幂等/status completed; action_plan_weekly done->completed; action_plans创建自动生成auto_verify_rule)
|
2026-08-31 07:44:00 +08:00 |
|
Hermes CI Fix
|
6910d90288
|
fix: auto-verify验证引擎4项缺陷修复 verify-fix (OKR幂等防重累加/entity_id多租户回填/period期间过滤/status done->completed)
|
2026-08-30 19:16:19 +08:00 |
|
Hermes CI Fix
|
ad68471b29
|
feat: 路线图R1决策建议一键落地+R2机会推送+R5预算闭环
R1(P0): AI建议一键应用到KPI/预算/行动方案
- 新表 ai_suggestions + AISuggestion 模型(init_db自动建)
- /api/cma/ai/suggestions CRUD + /{id}/apply(复用kpis/budget/action_plans) + dismiss
- 应用写 OperationLog(action=ai_suggestion_apply, detail含suggestion_id/before/after)
- 规则驱动建议生成 generate_rule_suggestions(低执行率/高执行率/预算超支/pending预警)
- 幂等: 同entity+type+target_id+title+unapplied不重复建; applied后拒绝重复应用
- 前端: Dashboard AI面板建议卡(应用到/忽略) + 建议中心页 /ai-suggestions
R2(P1): 数据找人扩大-机会类推送
- scripts/opportunity_detector.py: KPI向好(执行率>110%)/预算余量(<70%且actual>0)/预测上行
- scripts/daily_push.py: 异常+机会 每日9:15推企微(8800/send, --dry-run调试)
- crontab: 15 9 * * * (alert_generator 9:00之后)
R5(P0): 预算闭环加固
- auto-decompose批量幂等: 只取年度行(period=YYYY-00)+同KPI多版本取一行
- scripts/closed_loop_check.py: 预算执行率异常→检查现金流/行动同步→缺失提示+报告
- scripts/verify_decompose_idempotent.py: 幂等验证脚本
测试: test_ai_suggestions(10例)+test_roadmap_r2r5(14例); 修test_budget幂等契约适配年度行
全量: 673 passed
|
2026-08-30 12:05:36 +08:00 |
|
Hermes CI Fix
|
94aeb14e95
|
feat: 预算系统6项技术改进(告警归因/实际值自动归集/真零基/派生规则/告警路径统一/现金流分类)
P1-③ 告警归因: budget_deviation_alerts+alert_type/attribution/scenario_id, 归因引擎alert_attribution.py(子KPI/科目/量价差/趋势), deviation-check统一写归因+场景, GET /deviation-alerts/{id}/attribution详情(旧告警现场组装)
P1-④ 实际值自动归集: kpi_value_sources/kpi_value_collect_logs表+CRUD+试跑+覆盖率, 采集器kpi_value_collector.py(voucher_details/进销存/cash_plans按entity+period汇总, 幂等upsert不覆盖人工), crontab每日06:30
P2-① 真零基: budget_zero_based_items逐项论证表+generate, method-comparison有论证项逐项求和is_demo=false否则fallback
P2-② 派生规则: budget_derivation_rules配置表, apply-method优先读规则rule_source=configured
P2-⑤ 告警双路径合并: deviation_engine.build_deviation_alert统一函数, 方向列表配置化kpi_alert_higher_better+alert-direction接口
P2-⑥ 现金流分类: cash_plan_classify_rules规则表+cash_plan_unclassified待分类队列, sync-cash-plans未命中进队列不静默跳过
新增: GET /kpis/{kpi_id}/values + 前端kpiApi.values(归集标签页数据源), scenario_suggestions幂等seed(init_db)
测试: test_budget_tech_improve.py 15用例, 预算相关96 passed, 全量646 passed
|
2026-08-28 18:03:47 +08:00 |
|
Hermes CI Fix
|
3bc68fa1c6
|
feat: 网银流水导入模板+现金流联动(财务数据通道P1)
|
2026-08-28 09:59:07 +08:00 |
|
Hermes CI Fix
|
1a6ea8afae
|
chore: CI流程加固+Schema检查门禁
- deploy.sh: 提交纪律检查(本地未提交修改→中止) + 冒烟测试(健康/登录/KPI/BOT/Schema)
- .woodpecker: 加前端typecheck+后端pytest测试步骤, backend-deploy加提交纪律检查
- 新增schema_check.py: ORM与数据库表结构一致性检查
- 修复budget_plans表缺3列(source_kpi_id/source_type/calc_logic)
- 附带入库: budget测试+文档
|
2026-08-28 07:18:54 +08:00 |
|
Hermes CI Fix
|
fdc42d443d
|
feat: 因果链三层验证机制(P2) — 数据验证+人工确认+状态机
- kpi_causality 加列: source_type/verify_status/verified_at/verified_by/entity_id(回填)
- 核心服务: app/services/causality_verification.py (Pearson+滞后对齐+状态机)
- 数据验证脚本: scripts/correlation-check.py (月度cron, 输出JSON报告)
- API: create/update支持source_type, GET /verify-status, PUT /{id}/verify(人工确认)
- 全部端点按entity_id账套隔离, kpi/{id}/network/simulate补跨企业校验
- 前端: KPIDetail因果链页显示验证状态徽标(数据证实/存疑/待检)
- 测试: test_causality_verification.py 37用例 + 原因果链测试全过(59个)
- 50条因果链首轮验证: 1数据证实(#37渠补率到净利润lag1 r=-0.89), 4存疑, 45待检(数据不足)
|
2026-08-27 15:51:19 +08:00 |
|
Hermes CI Fix
|
61936302b2
|
feat(KR): KR完整修复 — krs表打通+方向符号operator+权重自由输入
- 后端okr.py: KR读取从ActionPlan改为krs表, 新增KR CRUD API(POST/PUT/DELETE /okr/{objective_id}/krs) + 批量sync
- operator方向符号: krs表加operator/tolerance/weight/sort_order/monthly_milestones列
- progress方向感知计算(>=/>: current/target, <=/<: target/current, =: 容差), 达成→status=achieved
- 关联KPI自动继承方向(threshold_green解析: F_COST_RATIO<=18等)
- maps.py: 保存地图时自动同步objectives+krs表, JSON→krs数据迁移脚本
- 前端: 权重下拉改自由数字输入(可小数33.33) + 方向选择器(≥/≤/>/</=) + 自动平分按钮 + KPI方向继承提示
- pytest: 10个新测试(krs CRUD/方向感知/权重校验/多租户隔离) + 更新旧KR测试
- 迁移: 现有strategic_maps JSON 12条KR已写入krs表
|
2026-08-27 10:59:56 +08:00 |
|
Hermes CI Fix
|
9de6e522a4
|
feat: 波士顿产品矩阵 — 四象限分析(明星/现金牛/问题/瘦狗)
- 数据层: product_sales表+导入脚本(93条, 酣客1-8月商品销售排行榜)
- 后端: GET /api/cma/products/matrix?entity_id&months
横轴=销售趋势(线性回归), 纵轴=加权毛利率, 气泡=销售额
- 前端: ProductMatrix.vue ECharts散点图+象限卡片+明细表, 支持酣客/博海切换
- 验证: API四象限分类正确, 数据联动, 前端路由200, 全部通过
|
2026-08-25 00:25:11 +08:00 |
|
Hermes CI Fix
|
bd9c70ea05
|
本体三支柱: 科目↔KPI↔OKR三层互联 + 追溯链API + OKR详情页签
- 新表 kpi_subject_map(89映射/24KPI) / objective_kpi(3O×5KPI) / krs(3O×3KR)
- GET /api/cma/ontology/trace?objective_id=N O→KPI→科目逐层追溯
- GET /api/cma/ontology/objectives 三层链路概览
- OkrDetail.vue 新增本体追溯链页签(KR目标/当前值 + KPI→科目标签流)
- 含并发已上线未提交的KPI多粒度列(target_monthly/quarterly/yearly)
- 回归: pytest 409 passed
|
2026-08-19 22:58:10 +08:00 |
|
Hermes CI Fix
|
5a196dc105
|
fix: 数据治理P0 规则4前端level过滤+数据清洗
|
2026-08-15 21:26:27 +08:00 |
|
Hermes CI Fix
|
0b191d278e
|
feat: OKR模板库改造 — 弹窗模板库联动+时间分解落库+制造业包6个
|
2026-08-11 00:11:25 +08:00 |
|
Hermes CI Fix
|
32fe3e4d50
|
feat: bot-bridge数据通道 — POST /kpi-result回填KPI+触发预警+MPM自动回填脚本
- 新增 POST /api/cma/bot-bridge/kpi-result: (entity_id,kpi_code)查KPI,
写入KPIValue(source_type=bot, data_status=verified), 复用run_alert_check
触发预警(自动联动行动计划), 返回new_alerts; KPI不存在/缺字段返回错误
- 修复verify引擎_get_kpi_current_value排序: 按calculated_at取最新值,
bot回填值可被auto-verify读到 (修复2026H1字符串排序遮蔽月值问题)
- 新增scripts/bot_bridge_push.py: 财务Bot MPM结果自动回填(MPM字段→KPI
映射), 支持--mpm/--mpm-file/单KPI直推/--ping
|
2026-08-10 23:56:14 +08:00 |
|
Hermes CI Fix
|
f9e20bc9bc
|
fix: KPI历史数据治理批量修复 — 元数据补全321条+编码规范处理222条
- 规则2: 补全321条元数据 (formula 207 / data_source 57 / data_owner 57)
- EXT_科目KPI: formula按财务维度默认'财务指标计算'
- F_/C_/P_/L_经典KPI: 精确公式(6条) + 数据源按维度(财务系统/业务系统)
- data_owner优先取负责部门, 否则默认财务部
- 规则3: 审计规则白名单化EXT_前缀(科目余额表导入, 仅限finance维度),
EXT_编码与dimension保持一致不改动; FB_/BH_ 21条真实前缀冲突
输出人工确认清单 docs/kpi_governance_human_review.md
- 验证: GET /api/cma/kpi/governance/audit → rule_counts {1:0, 2:0, 3:21, 4:0}
未改动任何kpi_code及引用表, 评分/地图/KPI列表接口正常
|
2026-08-10 23:50:14 +08:00 |
|
Hermes CI Fix
|
e1ea5cd14d
|
feat: Auto-Verify闭环 — verify API+定时验证+OKR联动+周报
|
2026-08-10 23:15:19 +08:00 |
|
Hermes CI Fix
|
ac6ea93ed5
|
feat: 多租户联动 — CMA切换企业注入tenant_id + a2a_dispatch分发
|
2026-08-07 17:42:26 +08:00 |
|
Hermes CI Fix
|
f33162b6c9
|
feat: 财务报表助手—对外法定报表(三表合一+Excel导出)
|
2026-08-04 15:35:15 +08:00 |
|
Hermes CI Fix
|
bc02d09520
|
feat: ChatBI自动报告生成—周报/月报/专项
|
2026-07-29 18:16:37 +08:00 |
|
Hermes CI Fix
|
abedf8cb8d
|
feat: Bot KPI管理体系 — bot_source字段 + 11个财务Bot KPI + Bot KPI看板
- 新增 bot_source 字段到 kpi_definitions 表(DB迁移 + 模型字段)
- 创建 bot_kpis.py API(GET /api/cma/bot-kpis + POST .../value)
- 种子脚本 seed_finance_bot_kpis.py 插入11个财务Bot KPI
- BotKpiDashboard.vue 看板组件(三区:核心产出5/质量3/用户反馈3)
- 路由 /bot-kpis + 侧边栏菜单入口
- 复用五档评分引擎
|
2026-07-25 07:44:41 +08:00 |
|
Hermes CI Fix
|
2d0abe3411
|
feat: bot-bridge+verify合并 — API+数据库+验证引擎
|
2026-07-22 17:43:59 +08:00 |
|
Hermes CI Fix
|
748c2da43f
|
feat: 数据治理 — 入库约束+元数据卡片+编码清洗+审计看板
|
2026-07-22 12:06:52 +08:00 |
|
Hermes CI Fix
|
dd105efee3
|
feat: 新30号准则P0 — 利润表五板块重构+费用分类打标
|
2026-07-21 23:41:40 +08:00 |
|
Hermes CI Fix
|
4bc4c32e4f
|
feat(okr): Phase2 - 行业扩展包12个+OKR模板库页面
- 插入12个行业包模板:贸易经销(7)+IT服务(5)
- 后端: name搜索+apply端点
- 前端: OKRTemplates.vue页面(搜索/筛选/三分区/应用弹窗)
- 路由+菜单+权限配置
|
2026-07-21 17:30:50 +08:00 |
|
Hermes CI Fix
|
9c6c1614fb
|
Phase 1: OKR模板 — 两步弹窗(O+KR结构) + 14个CMA模板 + okr_templates表 + API
MapCanvasDialogs.vue:
- 节点编辑弹窗改为两步交互(模板选择→O+KR编辑)
- 第一步:按维度展示对应模板(财务4/客户3/流程4/学习3)
- 第二步:编辑O名称+描述+3个KR(名称/目标值/权重)
- 14个CMA标准模板硬编码在前端
- 支持添加/删除KR、自定义目标跳过模板
MapCanvas.vue:
- 传递 editingLayerKey 到弹窗
- onSaveDialog 适配新 O+KR 数据结构
- onNodeSave 存储 krs 和 template_name 字段
Backend:
- OKRTemplate 模型 (okr_templates 表)
- okr_templates API: GET(按维度筛选) + POST(用户自定义) + increment use_count
- seed_okr_templates.py 迁移脚本(建表+14条种子数据)
- 在 main.py 注册新路由
|
2026-07-21 17:22:43 +08:00 |
|
Hermes CI Fix
|
f2a7e2be95
|
feat: 导入CMA完整文档(14章)到知识库
|
2026-07-18 18:01:45 +08:00 |
|
Hermes CI Fix
|
82919b1616
|
feat: CMA P1+P2 Round1 — 成本法对比+杜邦分析+本量利
|
2026-07-16 17:09:32 +08:00 |
|
Hermes CI Fix
|
4b25f46124
|
feat: CMA P1+P2 Round1 — 成本法对比+杜邦分析+本量利
|
2026-07-16 16:39:24 +08:00 |
|
Hermes CI Fix
|
9afcea8f8d
|
feat: 战略地图收尾 — 自动保存+导出+表迁移+因果链推荐
|
2026-07-14 17:32:22 +08:00 |
|