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