From 2753ad7aee272a5a5a8a0124b1feea5a1e4cc83e Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期五, 20 六月 2025 22:40:52 +0800
Subject: [PATCH] 电源告警参数返回

---
 src/main/java/com/whyc/service/WorkflowLinkService.java |   64 +++++++++++++++++++++++++++-----
 1 files changed, 54 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/whyc/service/WorkflowLinkService.java b/src/main/java/com/whyc/service/WorkflowLinkService.java
index 86b2328..d7b1737 100644
--- a/src/main/java/com/whyc/service/WorkflowLinkService.java
+++ b/src/main/java/com/whyc/service/WorkflowLinkService.java
@@ -6,10 +6,9 @@
 import com.whyc.dto.Response;
 import com.whyc.mapper.*;
 import com.whyc.pojo.db_user.User;
-import com.whyc.pojo.web_site.WorkflowDevice;
-import com.whyc.pojo.web_site.WorkflowLink;
-import com.whyc.pojo.web_site.WorkflowMain;
+import com.whyc.pojo.web_site.*;
 import com.whyc.util.CommonUtil;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
@@ -31,6 +30,11 @@
 
     @Autowired
     private WorkflowDeviceService deviceService;
+
+    @Autowired
+    private DeviceSpareService deviceSpareService;
+    @Autowired
+    private DeviceScrapService deviceScrapService;
 
 
     public void addBatch(List<WorkflowLink> links) {
@@ -77,6 +81,39 @@
                     mainInDB.setEndTime(now);
                     mainInDB.setEndReason(link.getDealReason());
                     mainService.updateById(mainInDB);
+
+                    List<WorkflowDevice> deviceListInDB = deviceService.getByMainId(mainInDB.getId());
+                    //鍏ュ簱
+                    if(mainInDB.getType() == 2){
+                        List<DeviceSpare> spareList = new ArrayList<>();
+                        deviceListInDB.forEach(device -> {
+                            DeviceSpare spare = new DeviceSpare();
+                            /*spare.setName(device.getName());
+                            spare.setModel(device.getModel());
+                            spare.setVersion(device.getVersion());
+                            spare.setQuantity(device.getQuantity());
+                            spare.setBrand(device.getBrand());
+                            spare.setType(device.getType());
+                            spare.setSupplier(device.getSupplier());*/
+                            BeanUtils.copyProperties(device,spare);
+
+                            spareList.add(spare);
+                        });
+                        deviceSpareService.addOrUpdate(spareList);
+                    }else{ //杩涘叆鎶ュ簾搴�
+                        List<DeviceScrap> scrapList = new ArrayList<>();
+                        deviceListInDB.forEach(device -> {
+                            DeviceScrap deviceScrap = new DeviceScrap();
+                            BeanUtils.copyProperties(device,deviceScrap);
+                            deviceScrap.setApplyUserId(mainInDB.getCreateUserId());
+                            deviceScrap.setApplyUserName(mainInDB.getCreateUserName());
+                            deviceScrap.setCreateTime(now);
+                            deviceScrap.setMainId(mainInDB.getId());
+                            scrapList.add(deviceScrap);
+                        });
+                        deviceScrapService.add(scrapList);
+
+                    }
                 }else if(link.getStatus() == WorkflowEnum.LINK_STATUS_REJECT.getValue().intValue()){
                     mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_END_REJECT.getValue());
                     mainInDB.setEndReason(link.getDealRejectReason());
@@ -112,19 +149,26 @@
                     link.setDealAndClose(1);
                 }
             }break;
-            case 4:{ //TODO 鍑哄簱鐢宠
+            case 4:{ // 鍑哄簱鐢宠
                 if(link.getStatus() == WorkflowEnum.LINK_STATUS_PASS.getValue().intValue()){
-                    mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_WAIT_FOR_DEALING.getValue());
+                    mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_END_PASS.getValue());
+                    mainInDB.setEndTime(now);
+                    mainInDB.setEndReason(link.getDealReason());
                     mainService.updateById(mainInDB);
+                    //鑾峰彇鍑哄簱鐢宠鍗曡澶�
+                    List<WorkflowDevice> deviceListInDB = deviceService.getByMainId(mainInDB.getId());
+                    List<DeviceSpare> spareList = new ArrayList<>();
+                    deviceListInDB.forEach(device -> {
+                        DeviceSpare spare = new DeviceSpare();
+                        BeanUtils.copyProperties(device,spare);
+                        spareList.add(spare);
+                    });
+                    //鏇存柊搴撳瓨
+                    deviceSpareService.outBound(spareList);
                 }else if(link.getStatus() == WorkflowEnum.LINK_STATUS_REJECT.getValue().intValue()){
                     mainInDB.setStatus(WorkflowEnum.MAIN_STATUS_END_REJECT.getValue());
                     mainInDB.setEndReason(link.getDealRejectReason());
                     mainInDB.setEndTime(now);
-                    //妫�鏌ユ槸鍚︽湁鍏宠仈宸ュ崟.濡傛灉鏈夊叧鑱斿伐鍗�,鍏宠仈宸ュ崟鐘舵�侀噸缃负瀹岀粨寰呭鐞�,瀹屾垚鏃堕棿閲嶇疆涓虹┖
-                    if(mainInDB.getRelatedId() != null){
-                        Integer relatedId = mainInDB.getRelatedId();
-                        //mainService.resetRepairStatus(relatedId,mainInDB.getQuantity());
-                    }
                     mainService.updateById(mainInDB);
                     link.setDealAndClose(1);
                 }

--
Gitblit v1.9.1