From cf9b6f3763fdee539d9d9919b148394d8b08ec20 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期五, 25 四月 2025 15:57:31 +0800
Subject: [PATCH] art: 设备管理-点检-BeanUtils问题

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java |   78 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java
index 30b42ec..5ead1e6 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamWeekMaintenanceOrderController.java
@@ -19,9 +19,13 @@
 import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
 import org.jeecg.modules.eam.constant.WeekMaintenanceStatusEnum;
 import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder;
+import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail;
+import org.jeecg.modules.eam.request.EamWeekMaintenanceBatchApprovalRequest;
 import org.jeecg.modules.eam.request.EamWeekMaintenanceQuery;
 import org.jeecg.modules.eam.request.EamWeekMaintenanceRequest;
+import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderDetailService;
 import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService;
+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.*;
@@ -50,6 +54,8 @@
     private ObjectMapper objectMapper;
     @Autowired
     private TranslateDictTextUtils translateDictTextUtils;
+    @Autowired
+    private IEamWeekMaintenanceOrderDetailService weekMaintenanceOrderDetailService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -291,4 +297,76 @@
         }
         return Result.ok("鎿嶄綔鎴愬姛锛�");
     }
+
+    @ApiOperation(value = "鍛ㄤ繚宸ュ崟-鎵归噺瀹℃壒娴佺▼", notes = "鍛ㄤ繚宸ュ崟-鎵归噺瀹℃壒娴佺▼")
+    @PostMapping("/batchApproval")
+    public Result<?> batchApproval(@RequestBody EamWeekMaintenanceBatchApprovalRequest request) {
+        if (request == null || CollectionUtil.isEmpty(request.getTaskList())) {
+            return Result.error("娌℃湁闇�瑕佸鎵圭殑鏁版嵁锛�");
+        }
+        int n = 0;
+        StringBuilder errorMsg = new StringBuilder();
+        List<WorkTaskDataVo> tastList = request.getTaskList();
+        for (WorkTaskDataVo workTaskDataVo : tastList) {
+            EamWeekMaintenanceRequest orderRequest = new EamWeekMaintenanceRequest();
+            EamWeekMaintenanceOrder order = eamWeekMaintenanceOrderService.getById(workTaskDataVo.getDataId());
+            if (order == null) {
+                errorMsg.append("宸ュ崟ID锛�");
+                errorMsg.append(workTaskDataVo.getDataId());
+                errorMsg.append(",涓嶅瓨鍦ㄦ垨宸茶鍒犻櫎!\n");
+                continue;
+            }
+            if (!(WeekMaintenanceStatusEnum.WAIT_CONFIRM.name().equals(order.getMaintenanceStatus())
+                    || WeekMaintenanceStatusEnum.WAIT_INITIAL_ACCEPTANCE.name().equals(order.getMaintenanceStatus())
+                    || WeekMaintenanceStatusEnum.WAIT_FINAL_ACCEPTANCE.name().equals(order.getMaintenanceStatus()))) {
+                errorMsg.append("宸ュ崟鍙凤細");
+                errorMsg.append(order.getOrderNum());
+                errorMsg.append(",鐘舵�佹棤娉曟壒閲忓鎵�!\n");
+                continue;
+            }
+            List<EamWeekMaintenanceOrderDetail> tableDetailList = weekMaintenanceOrderDetailService.queryListByOrderId(order.getId());
+            try {
+                orderRequest.setId(order.getId());
+                orderRequest.setEquipmentId(order.getEquipmentId());
+                //瀹℃壒淇℃伅
+                if (WeekMaintenanceStatusEnum.WAIT_CONFIRM.name().equals(order.getMaintenanceStatus())) {
+                    orderRequest.setConfirmComment(request.getConfirmComment());
+                    orderRequest.setConfirmDealType(request.getConfirmDealType());
+                } else if (WeekMaintenanceStatusEnum.WAIT_INITIAL_ACCEPTANCE.name().equals(order.getMaintenanceStatus())) {
+                    orderRequest.setInitialAcceptanceComment(request.getInitialAcceptanceComment());
+                    orderRequest.setInitialAcceptanceFilesResult(request.getInitialAcceptanceFilesResult());
+                } else if (WeekMaintenanceStatusEnum.WAIT_FINAL_ACCEPTANCE.name().equals(order.getMaintenanceStatus())) {
+                    orderRequest.setFinalAcceptanceComment(request.getFinalAcceptanceComment());
+                    orderRequest.setFinalAcceptanceFilesResult(request.getFinalAcceptanceFilesResult());
+                }
+                //浠诲姟淇℃伅
+                orderRequest.setDataId(workTaskDataVo.getDataId());
+                orderRequest.setTaskId(workTaskDataVo.getId());
+                orderRequest.setUserId(workTaskDataVo.getAssignee());
+                orderRequest.setInstanceId(workTaskDataVo.getProcInstId());
+                orderRequest.setValues(workTaskDataVo.getVariables());
+                orderRequest.setTableDetailList(tableDetailList);
+                EamWeekMaintenanceOrder result = eamWeekMaintenanceOrderService.approval(orderRequest);
+                if (result == null) {
+                    errorMsg.append("宸ュ崟鍙凤細");
+                    errorMsg.append(order.getOrderNum());
+                    errorMsg.append(",瀹℃壒澶辫触!\n");
+                    continue;
+                }
+                n++;
+
+            } catch (Exception e) {
+                errorMsg.append("宸ュ崟鍙凤細");
+                errorMsg.append(order.getOrderNum());
+                errorMsg.append(",瀹℃壒澶辫触,閿欒鍘熷洜:");
+                errorMsg.append(e.getMessage() + "\n");
+            }
+
+        }
+        if (n > 0) {
+            String message = "鎴愬姛瀹℃壒閫氳繃" + n + "鏉¤褰曪紒\n" + errorMsg;
+            return Result.OK(message);
+        }
+        return Result.error(errorMsg.toString());
+    }
 }

--
Gitblit v1.9.3