From 381e02b9eccbe953b31d09f2af1c2ce77c816140 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期六, 07 十一月 2026 14:51:05 +0800
Subject: [PATCH] fix(mes): 隔离设备物料并支持销售产品映射

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairController.java |   35 +++++++++++++++++++++++++++++++++--
 1 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairController.java
index 2f7287d..cf6b7f4 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairController.java
@@ -39,6 +39,9 @@
 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
 import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSetByFlatMap;
 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
+import org.springframework.web.multipart.MultipartFile;
+import cn.iocoder.yudao.module.mes.controller.admin.dv.repair.vo.MesDvRepairImportExcelVO;
+import cn.iocoder.yudao.module.mes.controller.admin.dv.repair.vo.MesDvRepairImportRespVO;
 
 @Tag(name = "绠$悊鍚庡彴 - MES 缁翠慨宸ュ崟")
 @RestController
@@ -81,7 +84,6 @@
     @GetMapping("/get")
     @Operation(summary = "鑾峰緱缁翠慨宸ュ崟")
     @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
-    @PreAuthorize("@ss.hasPermission('mes:dv-repair:query')")
     public CommonResult<MesDvRepairRespVO> getRepair(@RequestParam("id") Long id) {
         MesDvRepairDO repair = repairService.getRepair(id);
         if (repair == null) {
@@ -92,7 +94,6 @@
 
     @GetMapping("/page")
     @Operation(summary = "鑾峰緱缁翠慨宸ュ崟鍒嗛〉")
-    @PreAuthorize("@ss.hasPermission('mes:dv-repair:query')")
     public CommonResult<PageResult<MesDvRepairRespVO>> getRepairPage(@Valid MesDvRepairPageReqVO pageReqVO) {
         PageResult<MesDvRepairDO> pageResult = repairService.getRepairPage(pageReqVO);
         return success(new PageResult<>(buildRepairRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -167,4 +168,34 @@
         });
     }
 
+
+    @GetMapping("/get-import-template")
+    @Operation(summary = "鑾峰緱缁翠慨宸ュ崟瀵煎叆妯℃澘")
+    public void importTemplate(HttpServletResponse response) throws IOException {
+        // 鎵嬪姩鍒涘缓瀵煎嚭 demo
+        List<MesDvRepairImportExcelVO> list = Collections.singletonList(
+                MesDvRepairImportExcelVO.builder()
+                        .code("RP-001").name("娉ㄥ鏈烘恫鍘嬬郴缁熺淮淇�").machineryCode("MC-001")
+                        .requireDate(java.time.LocalDateTime.of(2026, 12, 31, 8, 0))
+                        .remark("")
+                        .build()
+        );
+        // 杈撳嚭
+        ExcelUtils.writeTemplate(response, "缁翠慨宸ュ崟瀵煎叆妯℃澘.xls", "缁翠慨宸ュ崟鍒楄〃", MesDvRepairImportExcelVO.class, list);
+    }
+
+    @PostMapping("/import")
+    @Operation(summary = "瀵煎叆缁翠慨宸ュ崟")
+    @Parameters({
+            @Parameter(name = "file", description = "Excel 鏂囦欢", required = true),
+            @Parameter(name = "updateSupport", description = "鏄惁鏀寔鏇存柊锛岄粯璁や负 false", example = "true")
+    })
+    @PreAuthorize("@ss.hasPermission('mes:dv-repair:import')")
+    public CommonResult<MesDvRepairImportRespVO> importExcel(@RequestParam("file") MultipartFile file,
+                                                           @RequestParam(value = "updateSupport", required = false,
+                                                                   defaultValue = "false") Boolean updateSupport) throws Exception {
+        List<MesDvRepairImportExcelVO> list = ExcelUtils.read(file, MesDvRepairImportExcelVO.class);
+        return success(repairService.importRepairList(list, updateSupport));
+    }
+
 }

--
Gitblit v1.9.3