From ec826d21dbae7d8248f5c2e86c5898259e9b0d8c Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期日, 01 九月 2024 17:56:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml                    |   28 +++++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/PlatformQuery.java          |    6 +
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   15 ++-
 ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml                     |    3 
 ycl-server/src/main/java/com/ycl/task/UYTask.java                                |  126 +++++++++++++++---------------
 ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java            |    8 ++
 6 files changed, 117 insertions(+), 69 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/PlatformQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/PlatformQuery.java
index 39b05f8..acd3ae0 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/PlatformQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/PlatformQuery.java
@@ -13,5 +13,11 @@
 @Data
 @ApiModel(value = "Platform鏌ヨ", description = "骞冲彴杩愯鐩戞帶鏌ヨ")
 public class PlatformQuery extends AbsQuery {
+
+    /**
+     * 鍏抽敭瀛楁悳绱�
+     */
+    private String keyword;
+
 }
 
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
index 517232c..1625fb5 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
@@ -84,4 +84,12 @@
      * @return
      */
     int updateMany(List<WorkOrder> workOrderList);
+
+    /**
+     * 鑾峰彇鏈畬鎴愮殑宸ュ崟
+     *
+     * @param serialNumberList
+     * @return
+     */
+    List<WorkOrder> getNotFinishedWorkOrders(@Param("list") List<String> serialNumberList);
 }
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 b7b68f1..767691e 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
@@ -118,11 +118,14 @@
                 )).values().stream().collect(Collectors.toList());
         List<String> serialNumberList = workOrderList.stream().map(WorkOrder::getSerialNumber).collect(Collectors.toList());
         // 鏌ュ嚭鏁版嵁搴撲腑鍥芥爣鐮佸搴旂殑鏈畬鎴愮殑宸ュ崟
-        List<WorkOrder> inDatabaseWorkOrderList = new LambdaQueryChainWrapper<>(baseMapper)
-                .select(WorkOrder::getId, WorkOrder::getSerialNumber, WorkOrder::getStatus, WorkOrder::getWorkOrderNo)
-                .in(WorkOrder::getSerialNumber, serialNumberList)
-                .ne(WorkOrder::getStatus, WorkOrderStatusEnum.AUDITING_SUCCESS)
-                .list();
+        List<WorkOrder> inDatabaseWorkOrderList = baseMapper.getNotFinishedWorkOrders(serialNumberList);
+        inDatabaseWorkOrderList.stream().forEach(item -> {
+            if (StringUtils.hasText(item.getErrorType())) {
+                item.setErrorTypeList(List.of(item.getErrorType().split(",")));
+            } else {
+                item.setErrorTypeList(new ArrayList<>(1));
+            }
+        });
         Map<String, WorkOrder> mapping = inDatabaseWorkOrderList.stream().collect((Collectors.toMap(WorkOrder::getSerialNumber, workOrder -> workOrder)));
         List<WorkOrder> waitAddList = new ArrayList<>(48);
         List<WorkOrderErrorType> waitAddErrorTypeList = new ArrayList<>(48);
@@ -137,7 +140,7 @@
         for (WorkOrder workOrder : workOrderList) {
             WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber());
             if (Objects.nonNull(databaseWorkOrder)) {
-                List<String> errorNameList = workOrderErrorTypeService.getBaseMapper().getNotFinishWorkOrderErrors(databaseWorkOrder.getWorkOrderNo());
+                List<String> errorNameList = databaseWorkOrder.getErrorTypeList();
                 List<String> errorTypes = workOrder.getErrorTypeList();
                 if (errorNameList.containsAll(errorTypes)) {
                     // 濡傛灉锛屽浗鏍囩爜銆佹晠闅滅被鍨嬮兘涓�鏍凤紝鍒欒烦杩囦笉澶勭悊
diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java
index 0554404..fcae41b 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -62,42 +62,42 @@
     // 鍥惧儚妫�娴�
     public void imageDetection() {
         log.info("寮�濮嬫墽琛屽浘鍍忔娴嬫暟鎹悓姝�");
-        ImageDetectionParam param = new ImageDetectionParam();
-        param.setPageNum(ApiConstants.PageNo);
-        param.setPageSize(ApiConstants.PageSize);
-        param.setArealayerno(ApiConstants.AreaNo);
-        JSONObject jsonObject = uyClient.imageDetection(param);
-        if (jsonObject != null) {
-            log.info("鏁版嵁鏍煎紡" + jsonObject);
-            Integer statusCode = jsonObject.getInteger("statusCode");
-            if (ApiConstants.UYSuccessCode.equals(statusCode)) {
-                JSONObject data = jsonObject.getJSONObject("data");
-                if (data != null) {
-                    List<ImageDetectionResult> records = data.getList("records", ImageDetectionResult.class);
-                    if (!CollectionUtils.isEmpty(records)) {
-                        //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
-                        Query query = new Query(Criteria
-                                .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
-                        DeleteResult result = mongoTemplate.remove(query, ImageDetectionResult.class);
-                        //瀛樻斁鍦╩ongo涓�
-                        mongoTemplate.insertAll(records);
-                        // 宸ュ崟鐢熸垚
-                        uyErrorTypeCheckService.imageDetectionCheck(records);
-                    } else {
-                        log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖{}", data);
-                    }
-                } else {
-                    log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖{}", jsonObject);
-                }
-            } else {
-                log.error("鍥惧儚鐩戞祴璇锋眰澶辫触{}", jsonObject);
-            }
-        } else {
-            log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖");
-        }
+//        ImageDetectionParam param = new ImageDetectionParam();
+//        param.setPageNum(ApiConstants.PageNo);
+//        param.setPageSize(ApiConstants.PageSize);
+//        param.setArealayerno(ApiConstants.AreaNo);
+//        JSONObject jsonObject = uyClient.imageDetection(param);
+//        if (jsonObject != null) {
+//            log.info("鏁版嵁鏍煎紡" + jsonObject);
+//            Integer statusCode = jsonObject.getInteger("statusCode");
+//            if (ApiConstants.UYSuccessCode.equals(statusCode)) {
+//                JSONObject data = jsonObject.getJSONObject("data");
+//                if (data != null) {
+//                    List<ImageDetectionResult> records = data.getList("records", ImageDetectionResult.class);
+//                    if (!CollectionUtils.isEmpty(records)) {
+//                        //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
+//                        Query query = new Query(Criteria
+//                                .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+//                        DeleteResult result = mongoTemplate.remove(query, ImageDetectionResult.class);
+//                        //瀛樻斁鍦╩ongo涓�
+//                        mongoTemplate.insertAll(records);
+//                        // 宸ュ崟鐢熸垚
+//                        uyErrorTypeCheckService.imageDetectionCheck(records);
+//                    } else {
+//                        log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖{}", data);
+//                    }
+//                } else {
+//                    log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖{}", jsonObject);
+//                }
+//            } else {
+//                log.error("鍥惧儚鐩戞祴璇锋眰澶辫触{}", jsonObject);
+//            }
+//        } else {
+//            log.error("鍥惧儚鐩戞祴鏁版嵁涓虹┖");
+//        }
         // 鏈湴娴嬭瘯
-//        Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
-//        uyErrorTypeCheckService.imageDetectionCheck(mongoTemplate.find(query, ImageDetectionResult.class));
+        Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
+        uyErrorTypeCheckService.imageDetectionCheck(mongoTemplate.find(query, ImageDetectionResult.class));
         log.info("缁撴潫鎵ц鍥惧儚鐩戞祴鏁版嵁鍚屾");
     }
 
@@ -190,35 +190,35 @@
     public void recordMetaDSumTask() {
         //褰曞儚鍙敤鐜�
         log.info("寮�濮嬫墽琛屽綍鍍忓彲鐢ㄦ暟鎹悓姝�");
-        RecordMetaDSumParam param = new RecordMetaDSumParam();
-        param.setTenantId(tenantId);
-        Calendar instance = Calendar.getInstance();
-        instance.setTime(new Date());
-        instance.add(Calendar.DAY_OF_MONTH, -1);
-        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
-        String yesterday = format.format(instance.getTime());
-        param.setStatTime(yesterday);
-        JSONObject jsonObject = uyClient.recordMetaDSumList(param);
-        if (jsonObject != null) {
-            if (ApiConstants.UYSuccessCodeStr.equals(jsonObject.getString("code"))) {
-                List<RecordMetaDSumResult> records = jsonObject.getList("data", RecordMetaDSumResult.class);
-                if (!CollectionUtils.isEmpty(records)) {
-                    //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
-                    Query query = new Query(Criteria
-                            .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
-                    DeleteResult result = mongoTemplate.remove(query, RecordMetaDSumResult.class);
-                    //瀛樻斁鍦╩ongo涓�
-                    mongoTemplate.insertAll(records);
-                    // 宸ュ崟鐢熸垚
-                    uyErrorTypeCheckService.recordMetaDSumCheck(records);
-                }
-            } else {
-                log.error("褰曞儚鍙敤鏁版嵁涓虹┖{}", jsonObject);
-            }
-        }
+//        RecordMetaDSumParam param = new RecordMetaDSumParam();
+//        param.setTenantId(tenantId);
+//        Calendar instance = Calendar.getInstance();
+//        instance.setTime(new Date());
+//        instance.add(Calendar.DAY_OF_MONTH, -1);
+//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+//        String yesterday = format.format(instance.getTime());
+//        param.setStatTime(yesterday);
+//        JSONObject jsonObject = uyClient.recordMetaDSumList(param);
+//        if (jsonObject != null) {
+//            if (ApiConstants.UYSuccessCodeStr.equals(jsonObject.getString("code"))) {
+//                List<RecordMetaDSumResult> records = jsonObject.getList("data", RecordMetaDSumResult.class);
+//                if (!CollectionUtils.isEmpty(records)) {
+//                    //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
+//                    Query query = new Query(Criteria
+//                            .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+//                    DeleteResult result = mongoTemplate.remove(query, RecordMetaDSumResult.class);
+//                    //瀛樻斁鍦╩ongo涓�
+//                    mongoTemplate.insertAll(records);
+//                    // 宸ュ崟鐢熸垚
+//                    uyErrorTypeCheckService.recordMetaDSumCheck(records);
+//                }
+//            } else {
+//                log.error("褰曞儚鍙敤鏁版嵁涓虹┖{}", jsonObject);
+//            }
+//        }
         // 鏈湴娴嬭瘯
-//        Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
-//        uyErrorTypeCheckService.recordMetaDSumCheck(mongoTemplate.find(query, RecordMetaDSumResult.class));
+        Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
+        uyErrorTypeCheckService.recordMetaDSumCheck(mongoTemplate.find(query, RecordMetaDSumResult.class));
         log.info("缁撴潫鎵ц褰曞儚鍙敤鏁版嵁鍚屾");
     }
 
diff --git a/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml
index 962b43a..f2a3daf 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/PlatformMapper.xml
@@ -52,6 +52,9 @@
             t_platform TP
         WHERE
             TP.deleted = 0
+            <if test="query.keyword != null and query.keyword != ''">
+                AND (TP.platform_name like concat('%', #{query.keyword}, '%') or TP.platform_ip like concat('%', #{query.keyword}, '%'))
+            </if>
     </select>
 
 </mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
index f57cebe..a487fd4 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -254,4 +254,32 @@
             WHERE id = #{item.id}
         </foreach>
     </update>
+
+
+    <select id="getNotFinishedWorkOrders" resultMap="GenWorkOrderMap">
+        SELECT
+            wo.id,
+            wo.serial_number,
+            wo.status,
+            wo.work_order_no,
+            GROUP_CONCAT(DISTINCT et.error_name SEPARATOR ',') AS error_names
+        FROM
+             t_work_order wo
+                LEFT JOIN t_work_order_error_type et ON et.work_order_no = wo.work_order_no
+        WHERE
+            wo.status != 'AUDITING_SUCCESS'
+            AND wo.deleted = 0
+            AND wo.serial_number in <foreach collection="list" open="(" separator="," close=")" item="serialNumber">
+                #{serialNumber}
+            </foreach>
+        GROUP BY
+            wo.id, wo.serial_number, wo.status, wo.work_order_no
+    </select>
+
+    <resultMap id="GenWorkOrderMap" type="com.ycl.platform.domain.entity.WorkOrder">
+        <id column="id" property="id"/>
+        <result column="serial_number" property="serialNumber"/>
+        <result column="status" property="status" typeHandler="com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler"/>
+        <result column="error_names" property="errorType"/>
+    </resultMap>
 </mapper>

--
Gitblit v1.8.0