From 1901a22a3b2d7a2a076b69ecd78d24ec55d5a3e8 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 22 八月 2024 18:26:25 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   39 +++++++++++++++++++++++++++++----------
 1 files changed, 29 insertions(+), 10 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 b4aa6bb..c298405 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
@@ -28,7 +28,10 @@
 import com.ycl.platform.wvp.WVPResult;
 import com.ycl.system.Result;
 import com.ycl.system.domain.SysConfig;
+import com.ycl.system.entity.SysDictData;
 import com.ycl.system.mapper.SysConfigMapper;
+import com.ycl.system.mapper.SysDictDataMapper;
+import com.ycl.system.mapper.SysDictTypeMapper;
 import com.ycl.system.model.LoginUser;
 import com.ycl.system.page.PageUtil;
 import com.ycl.utils.DateUtils;
@@ -84,6 +87,7 @@
     private final SysConfigMapper configMapper;
     private final ServerConfig serverConfig;
     private final ReportMapper reportMapper;
+    private final SysDictDataMapper dictDataMapper;
 
     @Value("${rtsp.server:http://127.0.0.1:7788}")
     private String rtspServer;
@@ -118,16 +122,31 @@
         for (WorkOrder workOrder : workOrderList) {
             WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber());
             if (Objects.nonNull(databaseWorkOrder)) {
+                List<WorkOrderErrorType> workOrderErrorTypeList = new LambdaQueryChainWrapper<>(workOrderErrorTypeMapper)
+                        .select(WorkOrderErrorType::getErrorName)
+                        .eq(WorkOrderErrorType::getWorkOrderNo, workOrder.getWorkOrderNo())
+                        .list();
+                List<String> errorNameList = workOrderErrorTypeList.stream().map(WorkOrderErrorType::getErrorName).collect(Collectors.toList());
                 String errorType = databaseWorkOrder.getErrorType();
-                if (workOrder.getErrorType().equals(errorType)) {
+                if (errorNameList.contains(errorType)) {
                     // 濡傛灉锛屽浗鏍囩爜銆佹晠闅滅被鍨嬮兘涓�鏍凤紝鍒欒烦杩囦笉澶勭悊
                     continue;
                 } else {
-                    // 閿欒绫诲瀷涓嶄竴鏍凤紝灏辨洿鏂伴敊璇被鍨嬶紝骞朵笖閲嶇疆宸ュ崟鐘舵�佷负寰呭鐞�
-                    errorType = errorType + "," + workOrder.getErrorType();
-                    databaseWorkOrder.setErrorType(errorType);
-                    databaseWorkOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
+                    // 閿欒绫诲瀷涓嶄竴鏍凤紝灏辨柊澧炰竴涓敊璇被鍨嬶紝骞朵笖閲嶇疆宸ュ崟鐘舵�佷负寰呭鐞�
+                    List<SysDictData> errorTypeDictList = dictDataMapper.selectDictDataByType("error_type");
+                    String finalErrorType = errorType;
+                    List<SysDictData> targetErrorTypes = errorTypeDictList.stream().filter(item -> finalErrorType.equals(item.getDictValue())).collect(Collectors.toList());
+                    if (! CollectionUtils.isEmpty(targetErrorTypes)) {
+                        errorType = targetErrorTypes.get(0).getDictValue();
+                    }
+                    WorkOrderErrorType workOrderErrorType = new WorkOrderErrorType();
+                    workOrderErrorType.setWorkOrderNo(databaseWorkOrder.getWorkOrderNo());
                     Date now = new Date();
+                    workOrderErrorType.setCreateTime(now);
+                    workOrderErrorType.setUpdateTime(now);
+                    workOrderErrorTypeMapper.insert(workOrderErrorType);
+
+                    databaseWorkOrder.setStatus(WorkOrderStatusEnum.DISTRIBUTED);
                     databaseWorkOrder.setUpdateTime(now);
                     baseMapper.updateById(databaseWorkOrder);
                     updateNum++;
@@ -142,11 +161,11 @@
             } else {
                 workOrder.setCreateTime(new Date());
                 workOrder.setUpdateTime(new Date());
-                // 濡傛灉鎶ュ杩囷紝浣跨敤鏈�鏂版姤澶囩殑閿欒绫诲瀷
-                Report report = reportMapper.checkPointReported(workOrder.getSerialNumber());
-                if (Objects.nonNull(report)) {
-                    workOrder.setErrorType(report.getErrorType());
-                }
+//                // 濡傛灉鎶ュ杩囷紝浣跨敤鏈�鏂版姤澶囩殑閿欒绫诲瀷
+//                Report report = reportMapper.checkPointReported(workOrder.getSerialNumber());
+//                if (Objects.nonNull(report)) {
+//                    workOrder.setErrorType(report.getErrorType());
+//                }
                 waitAddList.add(workOrder);
             }
         }

--
Gitblit v1.8.0