From 4d15fa8051884869c5b612d0641508874cc71811 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 29 七月 2026 11:04:15 +0800
Subject: [PATCH] feat(erp): 集成SRM供应商服务并优化ERP模块功能

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java
index ac42fac..2cd70bb 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java
@@ -10,12 +10,13 @@
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderProgressRespVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderRespVO;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderSaveReqVO;
 import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
 import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
-import cn.iocoder.yudao.module.erp.api.purchase.ErpSupplierApi;
-import cn.iocoder.yudao.module.erp.api.purchase.dto.ErpSupplierRespDTO;
+import cn.iocoder.yudao.module.srm.api.supplier.SrmSupplierApi;
+import cn.iocoder.yudao.module.srm.api.supplier.dto.SrmSupplierRespDTO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO;
@@ -52,7 +53,7 @@
     @Resource
     private CrmCustomerApi customerApi;
     @Resource
-    private ErpSupplierApi supplierApi;
+    private SrmSupplierApi srmSupplierApi;
     @Resource
     private MesMdUnitMeasureService unitMeasureService;
 
@@ -139,6 +140,22 @@
         return success(true);
     }
 
+    @GetMapping("/progress/{id}")
+    @Operation(summary = "鑾峰彇宸ュ崟杩涘害璇︽儏")
+    @Parameter(name = "id", description = "缂栧彿", required = true)
+    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
+    public CommonResult<MesProWorkOrderProgressRespVO> getWorkOrderProgress(@PathVariable("id") Long id) {
+        return success(workOrderService.getWorkOrderProgress(id));
+    }
+
+    @PostMapping("/check-auto-finish/{id}")
+    @Operation(summary = "妫�鏌ュ苟鑷姩瀹屾垚宸ュ崟")
+    @Parameter(name = "id", description = "缂栧彿", required = true)
+    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:update')")
+    public CommonResult<Boolean> checkAutoFinish(@PathVariable("id") Long id) {
+        return success(workOrderService.checkAndAutoFinishWorkOrder(id));
+    }
+
     // ==================== 鎷兼帴 VO ====================
 
     private List<MesProWorkOrderRespVO> buildWorkOrderRespVOList(List<MesProWorkOrderDO> list) {
@@ -150,9 +167,9 @@
                 convertSet(list, MesProWorkOrderDO::getProductId));
         Map<Long, CrmCustomerRespDTO> customerMap = customerApi.getCustomerMap(
                 convertSet(list, MesProWorkOrderDO::getClientId));
-        Map<Long, ErpSupplierRespDTO> supplierMap = supplierApi.getSupplierList(
+        Map<Long, SrmSupplierRespDTO> supplierMap = srmSupplierApi.getSupplierList(
                 convertSet(list, MesProWorkOrderDO::getVendorId)).getCheckedData().stream()
-                .collect(java.util.stream.Collectors.toMap(ErpSupplierRespDTO::getId, s -> s));
+                .collect(java.util.stream.Collectors.toMap(SrmSupplierRespDTO::getId, s -> s));
         // 鍗曚綅浠庝骇鍝佸叧鑱旂殑 item 鑾峰緱
         Map<Long, MesMdUnitMeasureDO> unitMeasureMap = unitMeasureService.getUnitMeasureMap(
                 convertSet(itemMap.values(), MesMdItemDO::getUnitMeasureId));

--
Gitblit v1.9.3