From c215f6c20445b973ff730dcdf4206426992da81d Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 19 十月 2026 11:30:57 +0800
Subject: [PATCH] feat(mes): 完善质检流程功能

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcController.java |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcController.java
index 279ba1e..e34b23b 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcController.java
@@ -10,11 +10,14 @@
 import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcPageReqVO;
 import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcRespVO;
 import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcSaveReqVO;
-import cn.iocoder.yudao.module.mes.dal.dataobject.md.client.MesMdClientDO;
+import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcRetestReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.qc.oqc.vo.MesQcOqcApprovalReqVO;
+import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
+import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
 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.qc.oqc.MesQcOqcDO;
-import cn.iocoder.yudao.module.mes.service.md.client.MesMdClientService;
+import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
 import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
 import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService;
 import cn.iocoder.yudao.module.mes.service.qc.oqc.MesQcOqcService;
@@ -49,7 +52,7 @@
     @Resource
     private MesQcOqcService oqcService;
     @Resource
-    private MesMdClientService clientService;
+    private CrmCustomerApi customerApi;
     @Resource
     private MesMdItemService itemService;
     @Resource
@@ -80,6 +83,30 @@
     public CommonResult<Boolean> finishOqc(@RequestParam("id") Long id) {
         oqcService.finishOqc(id);
         return success(true);
+    }
+
+    @PostMapping("/retest") @Operation(summary = "閿�鍞川妫�澶嶆")
+    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:retest')")
+    public CommonResult<Boolean> retestOqc(@Valid @RequestBody MesQcOqcRetestReqVO reqVO) {
+        oqcService.retestOqc(reqVO);
+        return success(true);
+    }
+    @PostMapping("/sales-approve") @Operation(summary = "閿�鍞儴瀹℃壒")
+    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:sales-approve')")
+    public CommonResult<Boolean> salesApprove(@Valid @RequestBody MesQcOqcApprovalReqVO reqVO) {
+        oqcService.salesApprove(reqVO.getId(), reqVO.getApproved(), reqVO.getOpinion());
+        return success(true);
+    }
+    @PostMapping("/company-approve") @Operation(summary = "鍏徃璐ㄦ瀹℃壒閿�鍞嚭璐�")
+    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:company-approve')")
+    public CommonResult<Boolean> companyApprove(@Valid @RequestBody MesQcOqcApprovalReqVO reqVO) {
+        oqcService.companyApprove(reqVO.getId(), reqVO.getApproved(), reqVO.getOpinion());
+        return success(true);
+    }
+    @GetMapping("/actions") @Operation(summary = "閿�鍞川妫�娴佺▼璁板綍")
+    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:query')")
+    public CommonResult<List<cn.iocoder.yudao.module.mes.dal.dataobject.qc.oqc.MesQcOqcActionDO>> actions(@RequestParam Long id) {
+        return success(oqcService.getActions(id));
     }
 
     @DeleteMapping("/delete")
@@ -127,7 +154,7 @@
             return Collections.emptyList();
         }
         // 鎵归噺鏌ヨ瀹㈡埛
-        Map<Long, MesMdClientDO> clientMap = clientService.getClientMap(
+        Map<Long, CrmCustomerRespDTO> clientMap = customerApi.getCustomerMap(
                 convertSet(list, MesQcOqcDO::getClientId));
         // 鎵归噺鏌ヨ鐗╂枡
         Map<Long, MesMdItemDO> itemMap = itemService.getItemMap(
@@ -141,7 +168,7 @@
         // 鎷艰 VO
         return BeanUtils.toBean(list, MesQcOqcRespVO.class, vo -> {
             findAndThen(clientMap, vo.getClientId(),
-                    client -> vo.setClientNickname(client.getNickname()));
+                    client -> vo.setClientNickname(client.getName()));
             findAndThen(itemMap, vo.getItemId(), item -> {
                 vo.setItemCode(item.getCode()).setItemName(item.getName()).setItemSpecification(item.getSpecification());
                 findAndThen(unitMeasureMap, item.getUnitMeasureId(),

--
Gitblit v1.9.3