From 06b549813b755203748ee3c2530868a94e35ccf6 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期五, 25 四月 2025 10:38:41 +0800
Subject: [PATCH] art: 设备管理-点检/周保-批量审批接口

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 1 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
index c549b7e..61eaea9 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.eam.controller;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.parser.Feature;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -9,16 +10,23 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.beanutils.BeanMap;
+import org.apache.commons.beanutils.BeanUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.util.TranslateDictTextUtils;
 import org.jeecg.modules.eam.constant.BusinessCodeConst;
+import org.jeecg.modules.eam.constant.InspectionStatus;
 import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
 import org.jeecg.modules.eam.entity.EamInspectionOrder;
+import org.jeecg.modules.eam.entity.EamInspectionOrderDetail;
+import org.jeecg.modules.eam.request.EamInspectionBatchApprovalRequest;
 import org.jeecg.modules.eam.request.EamInspectionOrderQuery;
 import org.jeecg.modules.eam.request.EamInspectionOrderRequest;
+import org.jeecg.modules.eam.service.IEamInspectionOrderDetailService;
 import org.jeecg.modules.eam.service.IEamInspectionOrderService;
+import org.jeecg.modules.flowable.domain.vo.WorkTaskDataVo;
 import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -26,7 +34,9 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.util.*;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Arrays;
+import java.util.List;
 
 /**
  * @Description: 鐐规宸ュ崟
@@ -47,6 +57,8 @@
     private ObjectMapper objectMapper;
     @Autowired
     private TranslateDictTextUtils translateDictTextUtils;
+    @Autowired
+    private IEamInspectionOrderDetailService eamInspectionOrderDetailService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -172,6 +184,67 @@
         return Result.OK("鎿嶄綔鎴愬姛");
     }
 
+    @ApiOperation(value = "鐐规宸ュ崟-鎵归噺瀹℃壒娴佺▼", notes = "鐐规宸ュ崟-鎵归噺瀹℃壒娴佺▼")
+    @PostMapping("/batchApproval")
+    public Result<?> batchApproval(@RequestBody EamInspectionBatchApprovalRequest request) {
+        if(request == null || CollectionUtil.isEmpty(request.getTastList())) {
+            return Result.error("娌℃湁闇�瑕佸鎵圭殑鏁版嵁锛�");
+        }
+        int n = 0;
+        StringBuilder errorMsg = new StringBuilder();
+        List<WorkTaskDataVo> tastList = request.getTastList();
+        for(WorkTaskDataVo workTaskDataVo : tastList) {
+            EamInspectionOrderRequest orderRequest = new EamInspectionOrderRequest();
+            EamInspectionOrder order = eamInspectionOrderService.getById(workTaskDataVo.getDataId());
+            if(order == null) {
+                errorMsg.append("宸ュ崟ID锛�");
+                errorMsg.append(workTaskDataVo.getDataId());
+                errorMsg.append(",涓嶅瓨鍦ㄦ垨宸茶鍒犻櫎!\r\n");
+                continue;
+            }
+            if(!InspectionStatus.WAIT_CONFIRM.name().equals(order.getInspectionStatus())) {
+                errorMsg.append("宸ュ崟鍙凤細");
+                errorMsg.append(order.getOrderNum());
+                errorMsg.append(",鐘舵�佹棤娉曟壒閲忓鎵�!\r\n");
+                continue;
+            }
+            List<EamInspectionOrderDetail> tableDetailList = eamInspectionOrderDetailService.queryListByOrderId(order.getId());
+            try {
+                BeanUtils.copyProperties(orderRequest, order);
+                //瀹℃壒淇℃伅
+                orderRequest.setConfirmComment(request.getConfirmComment());
+                orderRequest.setConfirmDealType(request.getConfirmDealType());
+                //浠诲姟淇℃伅
+                orderRequest.setDataId(workTaskDataVo.getDataId());
+                orderRequest.setTaskId(workTaskDataVo.getId());
+                orderRequest.setUserId(workTaskDataVo.getAssignee());
+                orderRequest.setInstanceId(workTaskDataVo.getProcInstId());
+                orderRequest.setValues(workTaskDataVo.getVariables());
+                orderRequest.setTableDetailList(tableDetailList);
+                EamInspectionOrder result = eamInspectionOrderService.inspectionProcess(orderRequest);
+                if(result == null) {
+                    errorMsg.append("宸ュ崟鍙凤細");
+                    errorMsg.append(order.getOrderNum());
+                    errorMsg.append(",瀹℃壒澶辫触!\r\n");
+                    continue;
+                }
+                n++;
+
+            } catch (Exception e) {
+                errorMsg.append("宸ュ崟鍙凤細");
+                errorMsg.append(order.getOrderNum());
+                errorMsg.append(",瀹℃壒澶辫触,閿欒鍘熷洜:");
+                errorMsg.append(e.getMessage() + "\r\n");
+            }
+
+        }
+        if(n > 0) {
+            String message = "鎴愬姛瀹℃壒閫氳繃" + n + "鏉¤褰曪紒\r\n" + errorMsg;
+            return Result.OK(message);
+        }
+        return Result.error(errorMsg.toString());
+    }
+
     /**
      * 閫氳繃id鍒犻櫎
      *

--
Gitblit v1.9.3