From 2ade8a95ed3a9a870a620369bda58a35d37f0508 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期二, 24 三月 2026 17:52:49 +0800
Subject: [PATCH] feat: 工序增加设备绑定功能

---
 src/main/java/com/ruoyi/production/controller/ProductProcessController.java |   47 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 40 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductProcessController.java b/src/main/java/com/ruoyi/production/controller/ProductProcessController.java
index 77920b2..f16fd73 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductProcessController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductProcessController.java
@@ -3,12 +3,10 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.device.pojo.DeviceRepair;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.oA.pojo.OaProject;
 import com.ruoyi.production.dto.ProductProcessDto;
 import com.ruoyi.production.pojo.ProductProcess;
 import com.ruoyi.production.service.impl.ProductProcessServiceImpl;
@@ -16,9 +14,10 @@
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 @RestController
@@ -56,15 +55,49 @@
     @DeleteMapping("/batchDelete")
     @Log(title = "鍒犻櫎", businessType = BusinessType.DELETE)
     public AjaxResult batchDelete(@RequestBody List<Integer> ids) {
-        if(CollectionUtils.isEmpty(ids)){
-            return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
-        }
-        return AjaxResult.success(productProcessService.removeBatchByIds(ids));
+        return AjaxResult.success(productProcessService.batchDelete(ids));
     }
 
     @ApiOperation("鏌ヨ鎵�鏈夊伐搴�")
     @GetMapping("/list")
     public AjaxResult list() {
         return AjaxResult.success(productProcessService.list());
+        }
+
+    /**
+     * 瀵煎叆宸ュ簭
+     */
+    @Log(title = "宸ュ簭", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file) throws Exception {
+        return productProcessService.importData(file);
+    }
+
+    @PostMapping("/downloadTemplate")
+    @Log(title = "宸ュ簭-涓嬭浇妯℃澘", businessType = BusinessType.EXPORT)
+    public void downloadTemplate(HttpServletResponse response) {
+        ExcelUtil<ProductProcess> util = new ExcelUtil<ProductProcess>(ProductProcess.class);
+        util.importTemplateExcel(response, "宸ュ簭妯℃澘");
+    }
+
+    @PostMapping("/bindDevices")
+    @Log(title = "宸ュ簭-缁戝畾璁惧", businessType = BusinessType.UPDATE)
+    @ApiOperation("宸ュ簭-缁戝畾璁惧")
+    public AjaxResult bindDevices(@RequestParam Long processId, @RequestBody List<Long> deviceIds) {
+        return productProcessService.bindDevices(processId, deviceIds);
+    }
+
+    @GetMapping("/getBindDevices")
+    @Log(title = "宸ュ簭-鏌ヨ缁戝畾鐨勮澶�", businessType = BusinessType.OTHER)
+    @ApiOperation("宸ュ簭-鏌ヨ缁戝畾鐨勮澶�")
+    public AjaxResult getBindDevices(@RequestParam Long processId) {
+        return AjaxResult.success(productProcessService.getBindDevices(processId));
+    }
+
+    @DeleteMapping("/unbindDevice")
+    @Log(title = "宸ュ簭-瑙i櫎璁惧缁戝畾", businessType = BusinessType.DELETE)
+    @ApiOperation("宸ュ簭-瑙i櫎璁惧缁戝畾")
+    public AjaxResult unbindDevice(@RequestParam Long processId, @RequestParam Long deviceId) {
+        return productProcessService.unbindDevice(processId, deviceId);
     }
 }

--
Gitblit v1.9.3