From f3b2acf58a68420591e9e4fac48056fa9af9ccc0 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期六, 24 八月 2024 16:50:09 +0800
Subject: [PATCH] feat:工单批量审核同步点位状态

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   24 ++++++++++++++++++------
 1 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index 7b5fac5..908915b 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -37,7 +37,10 @@
 import com.ycl.utils.http.HttpUtils;
 import com.ycl.utils.redis.RedisCache;
 import com.ycl.utils.uuid.IdUtils;
-import enumeration.general.*;
+import enumeration.general.NotifyTypeEnum;
+import enumeration.general.UrgentLevelEnum;
+import enumeration.general.WorkOrderDistributeWayEnum;
+import enumeration.general.WorkOrderStatusEnum;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
@@ -211,7 +214,9 @@
         }
         // 濡傛灉鏄洿鎺ヤ笅鍙戯紝娣诲姞涓嬪彂璁板綍
         if (WorkOrderStatusEnum.DISTRIBUTED.equals(waitAddList.get(0).getStatus())) {
+            ArrayList<String> list = new ArrayList<>();
             List<WorkOrderDistributeRecord> distributedRecordList = waitAddList.stream().map(item -> {
+                list.add(item.getSerialNumber());
                 WorkOrderDistributeRecord workOrderDistributeRecord = new WorkOrderDistributeRecord();
                 workOrderDistributeRecord.setWorkOrderNo(item.getWorkOrderNo());
                 workOrderDistributeRecord.setDistributeWay(WorkOrderDistributeWayEnum.DIRECT_DISTRIBUTE);
@@ -221,6 +226,8 @@
                 return workOrderDistributeRecord;
             }).collect(Collectors.toList());
             workOrderDistributeRecordMapper.insertBatch(distributedRecordList);
+            // 鍚屾鐐逛綅鐘舵��
+            ywPointService.updateRecovery(list, 1);
         }
         log.info("浼犲叆宸ュ崟鎬绘暟: {}锛屽疄闄呮坊鍔犲伐鍗曟暟锛歿}, 瀹為檯淇敼宸ュ崟鏁帮細{}", total, waitAddList.size(), updateNum);
         return Boolean.TRUE;
@@ -292,7 +299,7 @@
         notifyService.save(notify);
         // 鍚屾鐐逛綅鐘舵��
         if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) {
-            ywPointService.updateRecovery(Arrays.asList(workOrder.getSerialNumber()), 0);
+            ywPointService.updateRecovery(Collections.singletonList(workOrder.getSerialNumber()), 0);
         }
         return Result.ok("鎿嶄綔鎴愬姛");
     }
@@ -304,12 +311,13 @@
         List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper)
                 .in(WorkOrder::getStatus, WorkOrderStatusEnum.YW_HANDLE.getValue())
                 .in(WorkOrder::getErrorType, form.getErrorTypes())
-                .select(WorkOrder::getId, WorkOrder::getUnitId, WorkOrder::getWorkOrderNo)
+                .select(WorkOrder::getId, WorkOrder::getUnitId, WorkOrder::getWorkOrderNo, WorkOrder::getSerialNumber)
                 .list();
         if (list.isEmpty()) {
             return Result.error("娌℃湁宸ュ崟鍙互瀹℃牳");
         }
         List<Integer> ids = list.stream().map(WorkOrder::getId).collect(Collectors.toList());
+        List<String> serialNumbers = list.stream().map(WorkOrder::getSerialNumber).toList();
         // 宸ュ崟鐘舵��
         LambdaUpdateWrapper<WorkOrder> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
         lambdaUpdateWrapper.in(WorkOrder::getId, ids);
@@ -335,6 +343,10 @@
                     UrgentLevelEnum.WARNING,
                     workOrder.getWorkOrderNo());
             notifies.add(notify);
+        }
+        // 鍚屾鐐逛綅鐘舵��
+        if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) {
+            ywPointService.updateRecovery(serialNumbers, 0);
         }
         notifyService.saveBatch(notifies);
         return Result.ok("鎿嶄綔鎴愬姛");
@@ -467,7 +479,7 @@
 
         // 鏌ヨ绗﹀悎鏉′欢鐨勫伐鍗�
         List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper)
-                .select(WorkOrder::getSerialNumber, WorkOrder::getSerialNumber)
+                .select(WorkOrder::getSerialNumber, WorkOrder::getWorkOrderNo)
                 .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
                 .eq(Objects.nonNull(data.getUnitId()), WorkOrder::getUnitId, data.getUnitId())
                 .eq(WorkOrder::getErrorType, data.getErrorType())
@@ -506,7 +518,7 @@
                 query.setWorkOrderNOList(new LambdaQueryChainWrapper<>(baseMapper)
                         .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
                         .eq(Objects.nonNull(query.getUnitId()), WorkOrder::getUnitId, query.getUnitId())
-                        .select(WorkOrder::getId)
+                        .select(WorkOrder::getWorkOrderNo)
                         .list()
                         .stream()
                         .map(WorkOrder::getWorkOrderNo)
@@ -520,7 +532,7 @@
                     .update();
             addDistributeRecord(query.getWorkOrderNOList(), distributeWayEnum);
             // 鍚屾鐐逛綅鐘舵��
-            List<String> serialNumberList = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getSerialNumber).in(WorkOrder::getId, query.getWorkOrderNOList()).list().stream().map(WorkOrder::getSerialNumber).toList();
+            List<String> serialNumberList = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getSerialNumber).in(WorkOrder::getWorkOrderNo, query.getWorkOrderNOList()).list().stream().map(WorkOrder::getSerialNumber).toList();
             ywPointService.updateRecovery(serialNumberList, 1);
             return Result.ok("鎴愬姛涓嬪彂" + query.getWorkOrderNOList().size() + "鏉″伐鍗�");
         } catch (Exception e) {

--
Gitblit v1.8.0