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