From a249695911e6e6b3e318dd4dd14812994e2eb3a9 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 06 八月 2024 09:52:56 +0800
Subject: [PATCH] 工单绑定设备编号

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 7 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 39f6dff..3555f70 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
@@ -9,11 +9,17 @@
 import com.ycl.platform.domain.entity.*;
 import com.ycl.platform.domain.form.*;
 import com.ycl.platform.domain.query.DistributeWorkOrderQuery;
+import com.ycl.platform.domain.query.HomeQuery;
+import com.ycl.platform.domain.query.ScreenQuery;
 import com.ycl.platform.domain.query.WorkOrderQuery;
 import com.ycl.platform.domain.vo.DistributeWorkOrderVO;
 import com.ycl.platform.domain.vo.WorkOrderVO;
 import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO;
-import com.ycl.platform.mapper.*;
+import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO;
+import com.ycl.platform.mapper.WorkOrderAuditingRecordMapper;
+import com.ycl.platform.mapper.WorkOrderDistributeRecordMapper;
+import com.ycl.platform.mapper.WorkOrderMapper;
+import com.ycl.platform.mapper.WorkOrderYwConditionRecordMapper;
 import com.ycl.platform.service.NotifyService;
 import com.ycl.platform.service.WorkOrderAuditingRecordService;
 import com.ycl.platform.service.WorkOrderService;
@@ -30,6 +36,7 @@
 import enumeration.general.WorkOrderDistributeWayEnum;
 import enumeration.general.WorkOrderStatusEnum;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -65,6 +72,12 @@
 
     @Autowired
     private RedisCache redisCache;
+
+    @Override
+    public Result innerAdd(WorkOrder workOrder) {
+
+        return null;
+    }
 
     /**
      * 娣诲姞
@@ -125,7 +138,7 @@
         notifyService.save(notify);
         // 鍚屾鐐逛綅鐘舵��
         if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) {
-            ywPointService.updateRecovery(Collections.singletonList(workOrder.getPointId()), 0);
+            ywPointService.updateRecovery(Arrays.asList(workOrder.getSerialNumber()), 0);
         }
         return Result.ok("鎿嶄綔鎴愬姛");
     }
@@ -292,7 +305,7 @@
 
         // 鏌ヨ绗﹀悎鏉′欢鐨勫伐鍗�
         List<WorkOrder> list = new LambdaQueryChainWrapper<>(baseMapper)
-                .select(WorkOrder::getId, WorkOrder::getPointId)
+                .select(WorkOrder::getSerialNumber, WorkOrder::getSerialNumber)
                 .eq(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
                 .eq(Objects.nonNull(data.getUnitId()), WorkOrder::getUnitId, data.getUnitId())
                 .eq(WorkOrder::getErrorType, data.getErrorType())
@@ -301,7 +314,7 @@
                 .last("limit " + data.getFastNumLimit())
                 .list();
         List<Integer> ids = list.stream().map(WorkOrder::getId).toList();
-        List<Integer> pointIds = list.stream().map(WorkOrder::getPointId).toList();
+        List<String> serialNumberList = list.stream().map(WorkOrder::getSerialNumber).toList();
 
         if (ids.isEmpty()) { return Result.error("娌℃湁绗﹀悎鏉′欢鐨勫伐鍗�"); }
         if (!getDistributeLock()) { return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); }
@@ -312,7 +325,7 @@
                     .update();
             addDistributeRecord(ids, WorkOrderDistributeWayEnum.FAST_DISTRIBUTE);
             // 鍚屾鐐逛綅鐘舵��
-            ywPointService.updateRecovery(pointIds, 1);
+            ywPointService.updateRecovery(serialNumberList, 1);
             return Result.ok("鎴愬姛涓嬪彂" + ids.size() + "鏉″伐鍗�");
         } catch (Exception e) {
             return Result.error("鎿嶄綔澶辫触");
@@ -345,8 +358,8 @@
                     .update();
             addDistributeRecord(query.getIds(), distributeWayEnum);
             // 鍚屾鐐逛綅鐘舵��
-            List<Integer> pointIds = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getPointId).in(WorkOrder::getId, query.getIds()).list().stream().map(WorkOrder::getPointId).toList();
-            ywPointService.updateRecovery(pointIds, 1);
+            List<String> serialNumberList = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getSerialNumber).in(WorkOrder::getId, query.getIds()).list().stream().map(WorkOrder::getSerialNumber).toList();
+            ywPointService.updateRecovery(serialNumberList, 1);
             return Result.ok("鎴愬姛涓嬪彂" + query.getIds().size() + "鏉″伐鍗�");
         } catch (Exception e) {
             return Result.error("鎿嶄綔澶辫触");
@@ -416,4 +429,33 @@
                 .collect(Collectors.toList());
         return Result.ok().data(vos);
     }
+
+    @Override
+    public Result screenWorkOrder(ScreenQuery query) {
+        ScreenWorkOrderVO screen = baseMapper.screenWorkOrder(query);
+        return Result.ok().data(screen);
+    }
+
+    @Override
+    public Map<String, Object> home(HomeQuery monitorQuery) {
+        Map<String, Object> dataMap = new HashMap<>();
+        Map<String, Object> data1 = new HashMap<>();
+        Map<String, Object> data2 = new HashMap<>();
+        Map<String, Object> data3 = new HashMap<>();
+        List<Map<String, Object>> home = baseMapper.home(monitorQuery);
+        if (ObjectUtils.isNotEmpty(home)) {
+            for (Map<String, Object> map : home) {
+                if (Objects.nonNull(map.get("dateType")) && StringUtils.hasText(map.get("dateType").toString())) {
+                    data1.put(map.get("dateType").toString(), map.get("num1"));
+                    data2.put(map.get("dateType").toString(), map.get("num2"));
+                    data3.put(map.get("dateType").toString(), map.get("num3"));
+                }
+            }
+            dataMap.put("name", home.get(0).get("name"));
+        }
+        dataMap.put("complete", data1);
+        dataMap.put("waiting", data2);
+        dataMap.put("pending", data3);
+        return dataMap;
+    }
 }

--
Gitblit v1.8.0