From fec1341c1cb8e11cfbe3fa7dfabe447edb72b630 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 27 十月 2026 15:12:43 +0800
Subject: [PATCH] refactor(auth): 移除多个模块中的权限校验注解

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 105 insertions(+), 15 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java
index 415c15d..0902b6e 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java
@@ -6,23 +6,28 @@
 import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchProcessTraceRespVO;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchPurchaseSourceRespVO;
 import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchRespVO;
-import cn.iocoder.yudao.module.mes.dal.dataobject.md.client.MesMdClientDO;
+import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchSalesTargetRespVO;
+import cn.iocoder.yudao.module.crm.api.customer.CrmCustomerApi;
+import cn.iocoder.yudao.module.crm.api.customer.dto.CrmCustomerRespDTO;
+import cn.iocoder.yudao.module.srm.api.supplier.SrmSupplierApi;
+import cn.iocoder.yudao.module.srm.api.supplier.dto.SrmSupplierRespDTO;
 import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
 import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemRespDTO;
 
-import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.tm.tool.MesTmToolDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.batch.MesWmBatchDO;
-import cn.iocoder.yudao.module.mes.service.md.client.MesMdClientService;
 import cn.iocoder.yudao.module.mdm.api.unit.MdmUnitMeasureApi;
 import cn.iocoder.yudao.module.mdm.api.unit.dto.MdmUnitMeasureRespDTO;
 
-import cn.iocoder.yudao.module.mes.service.md.vendor.MesMdVendorService;
 import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationService;
+import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService;
 import cn.iocoder.yudao.module.mes.service.pro.task.MesProTaskService;
 import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService;
 import cn.iocoder.yudao.module.mes.service.tm.tool.MesTmToolService;
@@ -60,9 +65,9 @@
     @Resource
     private MdmUnitMeasureApi mdmUnitMeasureApi;
     @Resource
-    private MesMdVendorService vendorService;
+    private SrmSupplierApi srmSupplierApi;
     @Resource
-    private MesMdClientService clientService;
+    private CrmCustomerApi customerApi;
     @Resource
     private MesProWorkOrderService workOrderService;
     @Resource
@@ -71,11 +76,12 @@
     private MesMdWorkstationService workstationService;
     @Resource
     private MesTmToolService toolService;
+    @Resource
+    private MesProProcessService processService;
 
     @GetMapping("/get")
     @Operation(summary = "鑾峰緱鎵规璇︽儏")
     @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
-    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
     public CommonResult<MesWmBatchRespVO> getBatch(@RequestParam("id") Long id) {
         MesWmBatchDO batch = batchService.getBatch(id);
         return success(buildBatchRespVO(batch));
@@ -83,7 +89,6 @@
 
     @GetMapping("/page")
     @Operation(summary = "鑾峰緱鎵规鍒嗛〉")
-    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
     public CommonResult<PageResult<MesWmBatchRespVO>> getBatchPage(@Valid MesWmBatchPageReqVO pageReqVO) {
         PageResult<MesWmBatchDO> pageResult = batchService.getBatchPage(pageReqVO);
         return success(new PageResult<>(buildBatchRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -92,7 +97,6 @@
     @GetMapping("/forward-list")
     @Operation(summary = "鎵规鍚戝墠杩芥函")
     @Parameter(name = "code", description = "鎵规缂栫爜", required = true, example = "BATCH20250314001")
-    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
     public CommonResult<List<MesWmBatchRespVO>> getForwardList(@RequestParam("code") @Valid String code) {
         List<MesWmBatchDO> list = batchService.getForwardBatchList(code);
         return success(buildBatchRespVOList(list));
@@ -101,10 +105,41 @@
     @GetMapping("/backward-list")
     @Operation(summary = "鎵规鍚戝悗杩芥函")
     @Parameter(name = "code", description = "鎵规缂栫爜", required = true, example = "BATCH20250314001")
-    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
     public CommonResult<List<MesWmBatchRespVO>> getBackwardList(@RequestParam("code") @Valid String code) {
         List<MesWmBatchDO> list = batchService.getBackwardBatchList(code);
         return success(buildBatchRespVOList(list));
+    }
+
+    @GetMapping("/purchase-sources")
+    @Operation(summary = "鎵规閲囪喘鏉ユ簮锛堥噰璐叆搴撳崟 + IQC锛�")
+    @Parameter(name = "code", description = "鎵规缂栫爜", required = true, example = "BATCH20250314001")
+    public CommonResult<List<MesWmBatchPurchaseSourceRespVO>> getPurchaseSourceList(@RequestParam("code") @Valid String code) {
+        List<MesWmBatchPurchaseSourceRespVO> list = batchService.getPurchaseSourceList(code);
+        return success(buildPurchaseSourceRespVOList(list));
+    }
+
+    @GetMapping("/sales-targets")
+    @Operation(summary = "鎵规閿�鍞幓鍚戯紙閿�鍞嚭搴撳崟 + OQC锛�")
+    @Parameter(name = "code", description = "鎵规缂栫爜", required = true, example = "BATCH20250314001")
+    public CommonResult<List<MesWmBatchSalesTargetRespVO>> getSalesTargetList(@RequestParam("code") @Valid String code) {
+        List<MesWmBatchSalesTargetRespVO> list = batchService.getSalesTargetList(code);
+        return success(buildSalesTargetRespVOList(list));
+    }
+
+    @GetMapping("/process-trace")
+    @Operation(summary = "鎵规宸ュ簭娴佽浆锛堜骇鍑�/鎶曞叆浜嬩欢锛�")
+    @Parameter(name = "code", description = "鎵规缂栫爜", required = true, example = "BATCH20250314001")
+    public CommonResult<List<MesWmBatchProcessTraceRespVO>> getProcessTraceList(@RequestParam("code") @Valid String code) {
+        List<MesWmBatchProcessTraceRespVO> list = batchService.getProcessTraceList(code);
+        return success(buildProcessTraceRespVOList(list));
+    }
+
+    @GetMapping("/get-by-sn")
+    @Operation(summary = "鏍规嵁 SN 鐮佸弽鏌ユ壒娆�")
+    @Parameter(name = "sn", description = "SN 搴忓垪鍙�", required = true, example = "SN20250314001")
+    public CommonResult<MesWmBatchRespVO> getBatchBySn(@RequestParam("sn") @Valid String sn) {
+        MesWmBatchDO batch = batchService.getBatchBySn(sn);
+        return success(buildBatchRespVO(batch));
     }
 
     // ==================== 鎷兼帴 VO ====================
@@ -116,9 +151,10 @@
         // 1. 鑾峰緱鍏宠仈鏁版嵁
         Map<Long, MdmItemRespDTO> itemMap = mdmItemApi.getItemMap(
                 convertSet(list, MesWmBatchDO::getItemId));
-        Map<Long, MesMdVendorDO> vendorMap = vendorService.getVendorMap(
-                convertSet(list, MesWmBatchDO::getVendorId));
-        Map<Long, MesMdClientDO> clientMap = clientService.getClientMap(
+        Map<Long, SrmSupplierRespDTO> vendorMap = srmSupplierApi.getSupplierList(
+                convertSet(list, MesWmBatchDO::getVendorId)).getCheckedData().stream()
+                .collect(Collectors.toMap(SrmSupplierRespDTO::getId, s -> s));
+        Map<Long, CrmCustomerRespDTO> clientMap = customerApi.getCustomerMap(
                 convertSet(list, MesWmBatchDO::getClientId));
         Map<Long, MesProWorkOrderDO> workOrderMap = workOrderService.getWorkOrderMap(
                 convertSet(list, MesWmBatchDO::getWorkOrderId));
@@ -140,9 +176,9 @@
                         unitMeasure -> vo.setUnitName(unitMeasure.getName()));
             });
             MapUtils.findAndThen(vendorMap, vo.getVendorId(),
-                    vendor -> vo.setVendorCode(vendor.getCode()).setVendorName(vendor.getName()));
+                    vendor -> vo.setVendorName(vendor.getName()));
             MapUtils.findAndThen(clientMap, vo.getClientId(),
-                    client -> vo.setClientCode(client.getCode()).setClientName(client.getName()));
+                    client -> vo.setClientName(client.getName()));
             MapUtils.findAndThen(workOrderMap, vo.getWorkOrderId(),
                     workOrder -> vo.setWorkOrderCode(workOrder.getCode()));
             MapUtils.findAndThen(taskMap, vo.getTaskId(),
@@ -161,4 +197,58 @@
         return buildBatchRespVOList(Collections.singletonList(batch)).get(0);
     }
 
+    private List<MesWmBatchPurchaseSourceRespVO> buildPurchaseSourceRespVOList(List<MesWmBatchPurchaseSourceRespVO> list) {
+        if (CollUtil.isEmpty(list)) {
+            return Collections.emptyList();
+        }
+        Map<Long, MdmItemRespDTO> itemMap = mdmItemApi.getItemMap(
+                convertSet(list, MesWmBatchPurchaseSourceRespVO::getItemId));
+        Map<Long, SrmSupplierRespDTO> vendorMap = srmSupplierApi.getSupplierList(
+                convertSet(list, MesWmBatchPurchaseSourceRespVO::getVendorId)).getCheckedData().stream()
+                .collect(Collectors.toMap(SrmSupplierRespDTO::getId, s -> s));
+        list.forEach(vo -> {
+            MapUtils.findAndThen(itemMap, vo.getItemId(), item -> {
+                vo.setItemCode(item.getCode()).setItemName(item.getName());
+            });
+            MapUtils.findAndThen(vendorMap, vo.getVendorId(),
+                    vendor -> vo.setVendorCode(vendor.getCode()).setVendorName(vendor.getName()));
+        });
+        return list;
+    }
+
+    private List<MesWmBatchSalesTargetRespVO> buildSalesTargetRespVOList(List<MesWmBatchSalesTargetRespVO> list) {
+        if (CollUtil.isEmpty(list)) {
+            return Collections.emptyList();
+        }
+        Map<Long, MdmItemRespDTO> itemMap = mdmItemApi.getItemMap(
+                convertSet(list, MesWmBatchSalesTargetRespVO::getItemId));
+        Map<Long, CrmCustomerRespDTO> clientMap = customerApi.getCustomerMap(
+                convertSet(list, MesWmBatchSalesTargetRespVO::getClientId));
+        list.forEach(vo -> {
+            MapUtils.findAndThen(itemMap, vo.getItemId(), item -> {
+                vo.setItemCode(item.getCode()).setItemName(item.getName());
+            });
+            MapUtils.findAndThen(clientMap, vo.getClientId(),
+                    client -> vo.setClientName(client.getName()));
+        });
+        return list;
+    }
+
+    private List<MesWmBatchProcessTraceRespVO> buildProcessTraceRespVOList(List<MesWmBatchProcessTraceRespVO> list) {
+        if (CollUtil.isEmpty(list)) {
+            return Collections.emptyList();
+        }
+        Map<Long, MesProWorkOrderDO> workOrderMap = workOrderService.getWorkOrderMap(
+                convertSet(list, MesWmBatchProcessTraceRespVO::getWorkOrderId));
+        Map<Long, MesProProcessDO> processMap = processService.getProcessMap(
+                convertSet(list, MesWmBatchProcessTraceRespVO::getProcessId));
+        list.forEach(vo -> {
+            MapUtils.findAndThen(workOrderMap, vo.getWorkOrderId(),
+                    workOrder -> vo.setWorkOrderCode(workOrder.getCode()));
+            MapUtils.findAndThen(processMap, vo.getProcessId(),
+                    process -> vo.setProcessCode(process.getCode()).setProcessName(process.getName()));
+        });
+        return list;
+    }
+
 }

--
Gitblit v1.9.3