高
2 天以前 c6a2b472cde9dff4d21b95637ee6d99a412c785c
分支
用户 高 <gao@gaodeMacBook-Pro.local>
星期六, 十月 10, 2026 17:21 +0800
提交者 高 <gao@gaodeMacBook-Pro.local>
星期六, 十月 10, 2026 17:21 +0800
提交c6a2b472cde9dff4d21b95637ee6d99a412c785c
目录 5b544d87528a31125a27d7a723d9f842496581e8 目录 | zip | gz
上一版本 de0202274ed147e89fdbba0a953936a3b9997ec7 查看 | 对比
feat(mes,crm): 新增质检单批量导入、检测结果台账与开票导入

从 dev_business 移植三块能力,并按英泽防锈分支的既有结构做适配,不改动原有逻辑。

MES 质检批量导入(IQC / IPQC / OQC)
- 各列表新增「下载导入模板」与「导入」两个接口,纯新增不做更新覆盖
- 逐行解析、部分成功:失败行进 failureList(含行号与可执行动作),整行留空自动跳过
- 编号留空自动生成;物料/供应商/客户按编码或名称精确匹配;质检方案留空按物料+检验类型自动匹配
- 本次导入内重复行与库内同业务键单据均拦截,提示含具体维度、双方实际值与下一步动作
- IQC 原样移植;IPQC 按批号模型重写(必填批号,去重键=物料+批号+检验类型+检测日期);
OQC 随本分支放宽(客户/出货数量/出货日期可空,客户留空时不校验客户数据权限)

MES 检测结果台账
- 跨 IQC / IPQC / OQC / RQC 统一分页查询与 Excel 导出,一行一个检测项
- 物料与计量单位解析改用 MdmItemApi / MdmUnitMeasureApi,与分支既有写法一致
- IPQC 批次号取批号(原为空),并同步 VO 描述

CRM 开票导入
- 开票列表新增模板下载与导入接口,合同编号匹配已审核合同并自动带入客户
- 同一合同下按「合同+发票号码」或「合同+金额+抬头+日期」判重
- CrmContractService 纯新增 getContractByNo;发票金额校验中的剩余额度计算抽为
getRemainingInvoicePrice 复用,行为等价

菜单与文档
- 新增三个 ID 自适应的幂等菜单脚本(按权限码反查父菜单与角色,可反复执行)
- 新增三份前端联调方案文档;同步更新 docs/project-business 业务可视化增量

Co-Authored-By: Claude Code <noreply@anthropic.com>
已添加21个文件
已修改23个文件
2999 ■■■■■ 文件已修改
docs/crm_invoice_import_integration.md 92 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/mes_qc_import_integration.md 157 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/project-business/data/flows.json 4 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/project-business/data/modules.json 2 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/project-business/data/objects.json 8 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/project-business/index.html 35 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/project-business/mermaid/05-quality-flow.mmd 19 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/qc_inspection_ledger_integration.md 162 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/sql/crm_invoice_import_menu.sql 70 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/sql/mes_qc_import_menu.sql 115 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
docs/sql/qc_inspection_ledger_menu.sql 94 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/CrmInvoiceController.java 24 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/vo/invoice/CrmInvoiceImportExcelVO.java 59 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/vo/invoice/CrmInvoiceImportRespVO.java 26 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/invoice/CrmInvoiceMapper.java 9 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractService.java 8 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java 5 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/invoice/CrmInvoiceService.java 10 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/service/invoice/CrmInvoiceServiceImpl.java 250 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ipqc/MesQcIpqcController.java 28 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ipqc/vo/MesQcIpqcImportExcelVO.java 91 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcController.java 28 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/vo/MesQcIqcImportExcelVO.java 83 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ledger/MesQcInspectionLedgerController.java 113 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ledger/vo/MesQcInspectionLedgerExportVO.java 70 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ledger/vo/MesQcInspectionLedgerPageReqVO.java 41 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ledger/vo/MesQcInspectionLedgerRespVO.java 102 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcController.java 28 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/vo/MesQcOqcImportExcelVO.java 87 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/vo/MesQcImportRespVO.java 26 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/ipqc/MesQcIpqcMapper.java 15 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/iqc/MesQcIqcMapper.java 18 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/ledger/MesQcInspectionLedgerMapper.java 20 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/qc/oqc/MesQcOqcMapper.java 19 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/imports/MesQcImportHelper.java 369 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcService.java 10 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ipqc/MesQcIpqcServiceImpl.java 154 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcService.java 10 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/iqc/MesQcIqcServiceImpl.java 121 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ledger/MesQcInspectionLedgerService.java 22 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/ledger/MesQcInspectionLedgerServiceImpl.java 75 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcService.java 10 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/oqc/MesQcOqcServiceImpl.java 134 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/resources/mapper/qc/ledger/MesQcInspectionLedgerMapper.xml 176 ●●●●● 对比 | 查看 | 原始文档 | blame | 历史