编辑 | blame | 历史 | 原始文档

删除 MES 客户和供应商模块 - 进度跟踪

任务概述

删除 MES 模块中独立的客户(MesMdClient)和供应商(MesMdVendor)管理功能,改为复用:
- 客户:使用 CRM 的客户管理(CrmCustomerApi)
- 供应商:使用采购模块的供应商管理(ErpSupplierApi)


已完成 ✅

Step 1: 扩展 CRM 和 ERP API

  • [x] CrmCustomerApi 已有 validateCustomer 方法,可直接使用
  • [x] ErpSupplierApi 已有 validateSupplier 方法(已校验存在+启用),可直接使用

Step 2: 替换 Service 层引用

客户校验替换(4个文件):
- [x] MesWmProductSalesServiceImpl.java
- [x] MesWmSalesNoticeServiceImpl.java
- [x] MesWmReturnSalesServiceImpl.java
- [x] MesQcOqcServiceImpl.java

供应商校验替换(5个文件):
- [x] MesWmReturnVendorServiceImpl.java
- [x] MesWmOutsourceReceiptServiceImpl.java
- [x] MesWmOutsourceIssueServiceImpl.java
- [x] MesQcIqcServiceImpl.java

Step 3: 替换 Controller 层引用

客户信息拼接(已完成):
- [x] MesProTaskController.java
- [x] MesProMpsController.java
- [x] MesQcOqcController.java
- [x] MesQcPendingInspectController.java
- [x] MesWmProductIssueController.java
- [x] MesWmBatchController.java
- [x] MesWmPackageController.java

供应商信息拼接(已完成):
- [x] MesWmMaterialStockController.java
- [x] MesWmBatchController.java
- [x] MesWmReturnVendorController.java
- [x] MesWmOutsourceReceiptController.java
- [x] MesWmOutsourceIssueController.java
- [x] MesQcIqcController.java
- [x] MesQcPendingInspectController.java
- [x] MesProWorkOrderController.java

Step 4: 更新 DO 注释

客户(6个文件):
- [x] MesProWorkOrderDO
- [x] MesProTaskDO
- [x] MesProMpsDO
- [x] MesQcOqcDO
- [x] MesWmBatchDO
- [x] MesWmPackageDO

供应商(7个文件):
- [x] MesWmReturnVendorDO
- [x] MesWmOutsourceReceiptDO
- [x] MesWmOutsourceIssueDO
- [x] MesWmMaterialStockDO
- [x] MesWmBatchDO
- [x] MesQcIqcDO
- [x] MesProWorkOrderDO

其他相关 DO 文件:
- [x] MesWmArrivalNoticeDO
- [x] MesWmItemReceiptDO
- [x] MesWmProductSalesDO
- [x] MesWmSalesNoticeDO

Step 5: 清理无用 import

  • [x] 删除所有 DO 文件中的 MesMdClientDOMesMdVendorDO import 语句

Step 6: 删除 MES 客户/供应商模块文件

待删除目录(需手动执行):
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/client/ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/vendor/ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/client/ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/vendor/ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/client/ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/vendor/ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/client/ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/vendor/

Step 7: 删除数据库表

  • [x] DROP TABLE IF EXISTS mes_md_client; ✅ 已执行
  • [x] DROP TABLE IF EXISTS mes_md_vendor; ✅ 已执行

编译验证

  • [x] mvn compile -pl yudao-module-mes -am -q 编译通过 ✅

Step 8: 客户权限过滤(主查询)

已添加 CRM API 方法:
- [x] CrmCustomerApi.getPermittedCustomerIds() - 获取用户有权限的客户 ID 列表

已添加客户权限过滤的 Mapper 和 Service:
- [x] MesWmSalesNoticeMapper + MesWmSalesNoticeService - 发货通知单
- [x] MesWmReturnSalesMapper + MesWmReturnSalesService - 销售退货单
- [x] MesWmProductSalesMapper + MesWmProductSalesService - 销售出库单
- [x] MesWmPackageMapper + MesWmPackageService - 装箱单
- [x] MesWmBatchMapper + MesWmBatchService - 批次管理
- [x] MesQcOqcMapper + MesQcOqcService - 出货检验单
- [x] MesProWorkOrderMapper + MesProWorkOrderService - 生产工单
- [x] MesProMpsMapper + MesProMpsService - 生产主计划
- [x] ErpSaleOrderMapper + ErpSaleOrderService - ERP 销售订单

编译验证:
- [x] mvn compile -pl yudao-module-mes -am -q 编译通过 ✅
- [x] mvn compile -pl yudao-module-erp -am -q 编译通过 ✅

Step 9: CRM 模块客户权限过滤

已添加客户权限过滤:
- [x] CrmContractMapper + CrmContractService - 合同管理
- [x] CrmSaleQuotationMapper + CrmSaleQuotationService - 销售报价单

编译验证:
- [x] mvn compile -pl yudao-module-crm -am -q 编译通过 ✅


待手动执行

删除模块文件

在 IDE 或终端中执行以下命令删除 MES 客户/供应商模块文件:

rm -rf yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/client
rm -rf yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/vendor
rm -rf yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/client
rm -rf yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/md/vendor
rm -rf yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/client
rm -rf yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/md/vendor
rm -rf yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/client
rm -rf yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/md/vendor

修改规则总结

  • 客户 API 调用
  • clientService.getClientMap(ids)customerApi.getCustomerMap(ids)(直接返回 Map)
  • clientService.validateClientExistsAndEnable(id)customerApi.validateCustomer(id)
  • 供应商 API 调用

  • vendorService.getVendorMap(ids)supplierApi.getSupplierList(ids).getCheckedData()(返回 List,需转 Map)
  • vendorService.validateVendorExistsAndEnable(id)supplierApi.validateSupplier(id)
  • DTO 字段差异

  • CrmCustomerRespDTOcodenickname 字段,只有 name
  • ErpSupplierRespDTOcodenickname 字段,只有 name