Files
ERP/requirements/_xlsx_audit_w7post.json
T
QiufengandClaude Opus 4.8 5e51dc3f56 SNAPSHOT W7 已部署稳定态 — 凯迪ERP+OA一体化平台 (MET 73.3%)
恢复点(restore point)。别人改崩后可 git reset --hard 回到此提交。

== 此快照内容 ==
- 后端 oa-backend: 734 控制器 / 711 实体 (Spring Boot 3.2.5 + SQLite, 端口8091)
- 前端 modern-ui/app: Vue3+Vite, 约700页 (构建产物已在 oa-backend/src/main/resources/static)
- 数据库 oa-backend/data/oa.db: 含全部演示数据 (强制入库, 6.6MB)
- 交接文档 go.md + go-code-reference/endpoints/entities/database.md
- 多代理建设脚本 .claude/wf-*.js

== 状态 ==
- 对 凯迪科技ERP_20260507.xlsx 合规 MET ~73.3% (PARTIAL 75: 34可建+6种子/bug+35外部硬天花板)
- 安全: 5轮红队+5轮复检, default-deny分级鉴权, 连续零可利用
- W3~W7 累计补完436缺口; W8末轮(40缺口)为半成品(源码树可编译但未集成)
- 运行: cd oa-backend; java -jar build/libs/oa-backend-0.1.0.jar --server.port=8091; admin/123456

== 排除(gitignore, 可再生) ==
node_modules / oa-backend/build / .jdks / *.log / Backup-ERP-* / 弃用的OFBiz核心(只保留modern-ui)
完整文件夹备份见同目录 Backup-ERP-20260615-191517/ (含上述全部, 仅缺 node_modules)

时间戳: 20260615-191517

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 19:19:15 +08:00

285 lines
18 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"buildable": [
{
"area": "创新研发中心/实验室",
"module": "6. 质量管理与合规",
"verdict": "PARTIAL",
"gap": "AuditLogInterceptor 仅覆盖写方法(WRITE_METHODS),GET/读请求、登录、导出操作无系统级留痕(需求明确「所有操作含登录/数据录入/修改/删除/审批/导出记录操作人+时间+IP」);读操作审计只在 ArchiveAccessLogController 局部补充,实验室域的 ELN 读取/报告查看/导出无专项审计轨迹覆盖。",
"severity": "low"
},
{
"area": "设计研究中心 / 工程监理部/工程监理部",
"module": "5. 投资控制(工程计量与支付)",
"verdict": "PARTIAL",
"gap": "索赔(索赔意向→事件经过→工期/费用影响评估→监理意见)与变更签证共用SvChangeClaim实体,无独立状态机;工期索赔影响评估字段仅durationImpact整数,无关键线路影响分析逻辑。",
"severity": "low"
},
{
"area": "设计研究中心 / 工程监理部/工程监理部",
"module": "7. 监理文件与报告自动化",
"verdict": "PARTIAL",
"gap": "MeetingMinute实体无supervisionProjectId字段,无法按监理项目过滤例会纪要;纪要中待办任务(actionItem)无独立结构化字段,无法自动分发责任人和设定截止时间。",
"severity": "low"
},
{
"area": "制造管理中心/环保设备制造中心",
"module": "1. 销售与合同管理",
"verdict": "PARTIAL",
"gap": "合同变更走 /change 直接改状态,未接入 TriggerRuleEngine 审批流(需求「合同变更需经评审流程」),无 WorkflowInstance 留痕;采购侧联动仅推进 salesStage,未自动触发采购申请重算(需手动 MRP)。",
"severity": "low"
},
{
"area": "制造管理中心/环保设备制造中心",
"module": "6. 库存管理",
"verdict": "PARTIAL",
"gap": "InventoryItemController 仅有 safetyStock 字段,缺 minStock/maxStock 显式字段及「低于最低库存自动生成补货建议单」的结构化推送端点(需求「最低/最高库存+补货建议」),当前仅靠 MRP shortage-summary 间接覆盖。",
"severity": "low"
},
{
"area": "制造管理中心/环保设备制造中心",
"module": "10. 成本核算与财务集成",
"verdict": "PARTIAL",
"gap": "财务凭证写入本模块本地 voucher 表,未与财务总账(VoucherController/FinLedger)双写联动(skippedExternal 业财一体化深度集成);标准成本料工费实际归集来源为手填框架,未从生产报工/领料单自动拉取成本分摊。",
"severity": "low"
},
{
"area": "工程管理中心/专利工法办",
"module": "10. 与其他部门的接口要求",
"verdict": "PARTIAL",
"gap": "申报服务部无专属工法证书/专利证书自动推送端点;HR联动依赖displayName文本匹配(非userId外键,存在命名冲突风险);专利许可合同与法务合同模块无双向关联",
"severity": "low"
},
{
"area": "运营管理中心/城镇污水运营中心",
"module": "8. 绩效与成本分析",
"verdict": "PARTIAL",
"gap": "成本对标仅与本厂历史最优值比较,需求明确要求'同区域同类水厂'外部横向对标,无跨厂/跨区域对标数据模型;降本增效项目跟踪缺独立台账(节能技改项目立项+改造前基期+实际节约额计算),当前仅KPI聚合文字建议无项目级对账。",
"severity": "low"
},
{
"area": "市场部 / 经营部/市场部__经营部",
"module": "3. 招投标管理",
"verdict": "PARTIAL",
"gap": "招标文件专属下载管理(澄清文件/答疑文件/购买标书费用台账)无独立控制器,仅有文件上传通用接口;投标文件在线协同编制(版本控制/在线批注/多人协同)未实现,BidController中无docCollab/版本链接;用印流程需走通用SealUseController但无投标专属触发联动;与资质库/业绩库自动插入证明材料的逻辑联动缺少:BidDecisionController任务清单未自动从MarketQualificationController/QualAchievementController拉取并锁定证书。",
"severity": "med"
},
{
"area": "市场部/办事处",
"module": "3. 招投标与合同管理",
"verdict": "PARTIAL",
"gap": "Bid实体无招标文件附件字段(tenderFileId缺失), 不能'上传招标文件'直接关联投标记录; 需通过FileController分开上传后手动引用. 标书协作(本地价格/资质提供给总部)流程在系统中无专属协同工单/任务链.",
"severity": "low"
},
{
"area": "支付中心 / 财务部/财务管理",
"module": "1. 总账与会计凭证管理",
"verdict": "PARTIAL",
"gap": "自定义结转(研发/制造费用按比例分摊)无独立引擎仅靠凭证模板替代;期末调汇(外币)无专属端点;外币调汇/结转未分配利润/计提所得税的期末处理集成不完整;业务模块(采购/销售/生产)自动触发凭证生成联动仅部分落地(FinArApAutoController 有收款联动,但生产/采购侧无全自动)。",
"severity": "low"
},
{
"area": "支付中心 / 财务部/财务管理",
"module": "3. 应付账款管理",
"verdict": "PARTIAL",
"gap": "手工录入其他应付款(如质保金押金)在界面上未与标准应付单明确区分;发票状态(认证/未认证)字段与进项税抵扣的联动逻辑未在应付模块显式体现;缺少到期付款提醒/供应商对账单自动生成。",
"severity": "low"
},
{
"area": "支付中心 / 财务部/财务管理",
"module": "8. 成本核算与管理",
"verdict": "PARTIAL",
"gap": "分步法完工品-半成品成本结转的真实逐步结转逻辑简化为字段标记;月末自动成本分摊规则引擎(多动因:工时/产量/收入/人数/面积)落地为单动因计算,多动因配置化执行尚缺;从采购/生产/费用报销跨模块自动归集到成本中心的实时联动(非月末批处理)不完整。",
"severity": "low"
},
{
"area": "支付中心 / 财务部/财务管理",
"module": "11. 预算管理(财务预算)",
"verdict": "PARTIAL",
"gap": "资本预算和现金流预算的编制数据来源归集规则未配置化(仅录入,无自动从投资/现金模块汇总);多版本预算(初稿/修订/批准版本号管理)未建专属版本字段;滚动预算仅按历史均值填充,未实现真正的基于业务预测的动态滚动。",
"severity": "low"
},
{
"area": "支付中心 / 财务部/财务管理",
"module": "12. 财务报表与合并报表",
"verdict": "PARTIAL",
"gap": "合并报表内部交易抵消(内部销售/往来/投资)基于模拟数据而非真实多公司实体架构;无多公司主体管理模块,consolidated端点将所有数据视为一家公司汇总;不同会计准则(CAS/IFRS)切换后的报表格式自动调整未完整实现(FinAccountStandardController仅管准则配置,报表生成未按准则切换逻辑分支);报表附注中应交税费明细依赖TaxFiling数据,仅1条种子数据时附注不完整。",
"severity": "low"
},
{
"area": "内控部 / 法务风险部/法务风险部",
"module": "1. 合同全生命周期管理",
"verdict": "PARTIAL",
"gap": "1) Office在线集成+多人协同编辑+修订痕迹完全缺失(仅占位符填充静态草稿,无WOPI/OnlyOffice对接); 2) 合同档案库查阅权限管控(敏感合同仅法务/高管可见)缺对象级过滤逻辑,注释明确'附件扫描件全文需ES'; 3) 合同终止时违约责任处理字段存在但无独立终止审批流。",
"severity": "med"
},
{
"area": "内控部 / 法务风险部/法务风险部",
"module": "2. 合规管理",
"verdict": "PARTIAL",
"gap": "1) 匿名举报通道(外部链接)缺独立端点/无鉴权绕过路径,现有举报仅内嵌在complianceViolation sourceOptions中,无真正匿名外部通道; 2) 合规检查清单-「外规内化」映射为内部制度/控制措施的结构化工作流不完整(仅internalMapping文本字段); 3) compliance.vue主合规视图仍用settingListStore mock数据。",
"severity": "med"
},
{
"area": "内控部 / 法务风险部/法务风险部",
"module": "5. 诉讼与仲裁管理",
"verdict": "PARTIAL",
"gap": "1) litigation.vue(诉讼仲裁台账入口页)仍用settingListStore mock数据,与真实LitigationCaseController脱节; 2) 案件费用与财务模块联动/预算控制缺失(expenses仅按案件汇总,无与FinBudget挂钩); 3) 举证期限/开庭日期系统自动提醒缺(仅存字段无提醒调度)。",
"severity": "low"
},
{
"area": "内控部 / 法务风险部/法务风险部",
"module": "8. 制度与授权管理",
"verdict": "PARTIAL",
"gap": "1) 超授权行为硬拦截逻辑:/legal-auth-limits/check存在但contractAuthCheck.vue注释明确'业务流程未主动调用该接口做超授权硬拦截',仅预警非强制拦截; 2) 制度修订审批流接入OA引擎不完整(仅submit/revise状态机,无FormInstance联动); 3) 电子印章与物理印章统一管控缺电子印章CA证书对接。",
"severity": "med"
},
{
"area": "内控部 / 法务风险部/法务风险部",
"module": "9. 与其他部门的接口要求",
"verdict": "PARTIAL",
"gap": "1) 申报服务部接口(项目申报合规审查/知识产权证明提供)仅有IpSciCredArchiveController但无专项法务合规证明出具流程; 2) 财务部-合同付款条件校验未实现主动联动(合同milestone存在但未在付款触发时自动推法务); 3) 销售部客户涉诉信息预警(litigation-cases/opponent-alert存在但未推送到销售CRM视图)。",
"severity": "med"
},
{
"area": "内控部 / 法务风险部/法务风险部",
"module": "10. 外部数据接口",
"verdict": "PARTIAL",
"gap": "所有外部数据对接均为内部数据聚合或手动录入占位,无真实API调用:1) 企查查/天眼查/国家信息公示系统无HTTP client调用(grep确认无第三方credit API代码); 2) 裁判文书网定期检索完全缺失; 3) 北大法宝/威科先行法规数据库无对接(法规靠人工录入ExternalRegulation); 4) 征信系统对接(人行/第三方)无实现。ExternalSystemConfig仅是配置存储,无实际调用执行逻辑。",
"severity": "high"
},
{
"area": "内控部 / 审计监察部/审计监察部",
"module": "5. 经济责任审计(离任审计)",
"verdict": "PARTIAL",
"gap": "指标体系仅5个手动评分维度,缺少真正内置的经济责任审计评价指标库(KPI benchmark对比)auto-fill自动从ERP采集数据虽有实现但仅覆盖合同收入/固定资产/诉讼,缺薪酬/绩效/生产等多维度指标自动取数;出具报告功能需手动调用,无自动报告生成入口。severity为低,核心逻辑已建。",
"severity": "low"
},
{
"area": "内控部 / 审计监察部/审计监察部",
"module": "8. 审计数据分析(CAATs",
"verdict": "PARTIAL",
"gap": "散点图/柱状图/热力图可视化分析仅为后端API聚合数据,前端caats.vue页面需核查是否有图表渲染组件(前端层面);自定义取数条件(考勤记录vs门禁记录/差旅vs行程单比对)在fraud-alert data-anomaly中部分覆盖,但审计专属自定义比对模型接口能力有限,依赖内置规则类型。",
"severity": "low"
},
{
"area": "内控部 / 审计监察部/审计监察部",
"module": "11. 与其他部门接口要求",
"verdict": "PARTIAL",
"gap": "缺少销售部订单出库单专属只读聚合视图(当前仅合同/付款,无出库单SalesOrder明细);票据台账(商业汇票/银票)无专用审计只读端点,仅有内部拆借台账;内控自评问卷汇总只返回checklist状态统计,无法按部门查看自评答卷明细供审计人员取证。",
"severity": "low"
},
{
"area": "品牌推广部/宣传部",
"module": "7. 内部宣传与文化",
"verdict": "PARTIAL",
"gap": "员工可用宣传素材(企业简介PPT/宣传视频链接/标准照片)的专属员工素材库无独立入口——CultureMaterialController定位是项目施工素材(开工/施工/竣工照片),与需求中「提供员工对外转发用标准素材」场景不完全重叠;无专门的员工素材下载中心控制器",
"severity": "low"
},
{
"area": "品牌推广部/宣传部",
"module": "8. 协同与接口",
"verdict": "PARTIAL",
"gap": "缺少经营部(展会信息/客户活动需求/物料支持)、法务风险部(文案合规审核/危机法律支持)、财务部(宣传费用预算/报销/供应商付款联动通知)三条协同接口——BrandCollabController未实现push-ops/push-legal/push-finance端点",
"severity": "med"
},
{
"area": "品牌推广部/项目文化",
"module": "2. 项目宣传与故事挖掘",
"verdict": "PARTIAL",
"gap": "项目简报/月刊「自动推送至公司全员及相关客户」缺推送/分发机制;/publicity-tasks/briefing 只生成摘要数据,无实际邮件/消息推送触发器,满意度联动故事奖励已做但月刊电子版生成未做。",
"severity": "low"
},
{
"area": "品牌推广部/项目文化",
"module": "5. 项目文化评估与反馈",
"verdict": "PARTIAL",
"gap": "KPI 回写预览端点只输出待确认数据,无实际写回 HR 年度绩效触发器;「项目文化考核纳入项目经理年度考核」缺系统级自动同步到 HrPerformance 的落地动作。",
"severity": "low"
},
{
"area": "行政/综合部",
"module": "6. 资质使用与投标支持",
"verdict": "PARTIAL",
"gap": "真伪验证为本地台账模拟桩,未真正对接全国建筑市场监管公共服务平台;qr-list GET 端点 404。",
"severity": "low"
},
{
"area": "行政/综合部",
"module": "17. 电子劳动合同",
"verdict": "PARTIAL",
"gap": "劳动合同专属模板管理缺失;第三方电子签实名认证/签署平台仅字段桩,未实际集成。",
"severity": "low"
},
{
"area": "行政/信息部",
"module": "4. 网络与信息安全",
"verdict": "PARTIAL",
"gap": "敏感数据实际加密(字段级runtime加密/脱敏引擎)未落地,DLP策略为台账规则管理不含实际拦截引擎,上网行为管理/防病毒服务器日志集成缺实际API对接",
"severity": "med"
},
{
"area": "行政/信息部",
"module": "6. 与其他部门接口要求",
"verdict": "PARTIAL",
"gap": "法务风险部接口(信息安全合规/数据隐私/合同审核)无专属IT-法务联动端点,仅通用合同/法务模块无IT侧挂钩",
"severity": "low"
},
{
"area": "行政/办公室",
"module": "4. 车辆管理(通勤/公务车)",
"verdict": "PARTIAL",
"gap": "维修/保养/保险/年检/加油(油卡)等专项费用无独立录入表单——到期日有档但费用发生无专属expense entry;班车实时位置共享明确标注为可选但无实现占位;日常加油报销与维修费用仅通过LogisticsExpense侧录而非本模块内直写。",
"severity": "low"
},
{
"area": "行政 / 后勤/行政后勤中心",
"module": "4. 报表与看板",
"verdict": "PARTIAL",
"gap": "宿舍入住率缺按楼栋维度分组报表(当前仅全局汇总,未按building分组输出各楼入住率/空置房间数);dashboard仅聚合到看板数值,缺独立满意度趋势图表页(虽然/trends端点存在但前端logistics-report页未集成趋势图)。",
"severity": "low"
},
{
"area": "工程管理中心/质安部",
"module": "9. 与其他部门的接口要求",
"verdict": "PARTIAL",
"gap": "QhseCrossDeptSyncController已部署但活体404(路径不通);需求要求从生产/实验室/售后模块自动采集数据到质量目标,当前仅有objectiveSync展示dataSource字段但无实际跨模块自动写入逻辑——目标actualValue仍需手动录入/collect端点触发;法务风险部合规义务库共享无正式API接口;申报服务部证书共享无推送机制。",
"severity": "med"
},
{
"area": "工程管理中心/资料室",
"module": "8. 与其它部门的接口要求",
"verdict": "PARTIAL",
"gap": "integration-dashboard显示activeChains=4/10,说明6个模块链路在当前数据中尚无归档记录(诉讼/财务/知识产权/质安/监理图纸/在线归档申请链路端点存在但尚无实际业务数据触发);自动归档接口需业务模块主动调用此跨域端点(无TriggerRuleEngine rule托管contract.toArchive等,需人工或前端触发)",
"severity": "med"
},
{
"area": "工程管理中心/成本控制部",
"module": "3. 物料清单(BOM)差异自动核算",
"verdict": "PARTIAL",
"gap": "BomVarianceDetail当前无种子数据,drill下钻endpoint在有数据时才可验证(404当前无数据); 五维差异与OA审批流审批结合不完整(差异原因标记后无触发采购/生产部门审批流的工作流); 中标清单量vs合同量的联动统计(需求条款1/2)仅在cost-ctrl-ext/bid-list/compare中实现但页面未专门显示该比对报告.",
"severity": "med"
},
{
"area": "工程管理中心/成本控制部",
"module": "4. 项目成本控制(针对工程/项目型企业)",
"verdict": "PARTIAL",
"gap": "EVM端点参数不一致: 后端GET/{project}/evm期望path variable但前端用?project=name query param, 需要项目名→ID映射(活体400); 一对多进度款(§4.6)可建但multi-payment-batches count=0无实测流程; 老项目数据迁移(§4.1)无批量导入接口; 同一供应商多合同类型联动(§4.3)需要通过cost-audit/by-supplier查看但跨流程联动不完整.",
"severity": "med"
},
{
"area": "工程管理中心/成本控制部",
"module": "8. 与其他部门的接口要求",
"verdict": "PARTIAL",
"gap": "ebom-to-bom-signoff活体400(rd-eboms count=0, 无EBOM数据触发); HR工时费率联动依赖HrLaborContract实际数据(当前0条); 生产工单报工工时→成本归集的自动事件驱动(@Scheduled每天凌晨2点)仅在有ProductionReport数据时生效; 进度款审核流程需工程中心核实现场进度(§8.3)无专门接口,仅靠in-flight监控页提供可见性.",
"severity": "med"
},
{
"area": "支付中心 / 财务部/财务管理",
"module": "2. 应收账款管理",
"verdict": "PARTIAL",
"gap": "超额收款场景(收款>应收)全额核销后的溢出处理逻辑未显式校验;坏账个别认定法需手工逐条操作,无批量个别认定工作流;所得税收入和增值税收入的区分确认规则尚无内置配置项。",
"severity": "low"
}
],
"external": []
}