ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTagVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/task/HKTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/task/UYTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ycl-pojo/src/main/java/com/ycl/platform/domain/result/BaseResult.java
@@ -17,4 +17,29 @@ */ @CreatedDate private LocalDate mongoCreateTime; /** * 国标码 */ private String no; /** * 省厅 */ private Boolean provinceTag; /** * 部级 */ private Boolean deptTag; /** * 重点 */ private Boolean importantTag; /** * 重点指挥图像 */ private Boolean importantCommandImageTag; } ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckTagVO.java
New file @@ -0,0 +1,37 @@ package com.ycl.platform.domain.vo; import lombok.Data; /** * @author:xp * @date:2024/9/5 12:08 */ @Data public class CheckTagVO { /** * 设备编号 */ private String no; /** * 省厅 */ private Boolean provinceTag; /** * 部级 */ private Boolean deptTag; /** * 重点 */ private Boolean importantTag; /** * 重点指挥图像 */ private Boolean importantCommandImageTag; } ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
@@ -6,6 +6,7 @@ import com.ycl.platform.domain.entity.ReportAuditingRecord; import com.ycl.platform.domain.entity.YwPoint; import com.ycl.platform.domain.query.YwPointQuery; import com.ycl.platform.domain.vo.CheckTagVO; import com.ycl.platform.domain.vo.ReportAuditingRecordVO; import com.ycl.platform.domain.vo.YwPointVO; import com.ycl.platform.domain.excel.PointExport; @@ -104,4 +105,12 @@ * @return */ ReportAuditingRecordVO getReportResult(@Param("serialNumber") String serialNumber, @Param("reportType") String reportType); /** * 通过国标获取标签信息 * * @param gbList * @return */ List<CheckTagVO> getTagsByGB(@Param("gbList") List<String> gbList); } ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -6,6 +6,8 @@ import com.ycl.platform.domain.form.BatchEditPointForm; import com.ycl.platform.domain.form.YwPointForm; import com.ycl.platform.domain.query.YwPointQuery; import com.ycl.platform.domain.result.BaseResult; import com.ycl.platform.domain.vo.CheckTagVO; import com.ycl.platform.domain.vo.ReportAuditingRecordVO; import com.ycl.system.Result; import jakarta.servlet.http.HttpServletResponse; @@ -131,4 +133,12 @@ * @return */ ReportAuditingRecordVO getReportResult(String serialNumber, String reportType); /** * 根据国标获取tag * * @param dataList 数据 * @return */ <T extends BaseResult> void setDeviceTagByGB(List<T> dataList); } ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -13,6 +13,8 @@ import com.ycl.platform.domain.form.BatchEditPointForm; import com.ycl.platform.domain.form.YwPointForm; import com.ycl.platform.domain.query.YwPointQuery; import com.ycl.platform.domain.result.BaseResult; import com.ycl.platform.domain.vo.CheckTagVO; import com.ycl.platform.domain.vo.ReportAuditingRecordVO; import com.ycl.platform.domain.vo.YwPointVO; import com.ycl.platform.mapper.YwPeopleMapper; @@ -310,4 +312,16 @@ log.error("总共耗时:" + (endTime.getTime() - startTime.getTime())); } @Override public <T extends BaseResult> void setDeviceTagByGB(List<T> dataList) { List<String> gbList = dataList.stream().map(BaseResult::getNo).collect(Collectors.toList()); List<CheckTagVO> pointList = baseMapper.getTagsByGB(gbList); Map<String, CheckTagVO> pointMap = pointList.stream().collect(Collectors.toMap(CheckTagVO::getNo, item -> item)); for (BaseResult data : dataList) { CheckTagVO tag = pointMap.get(data.getNo()); if (Objects.nonNull(tag)) { BeanUtils.copyProperties(tag, data); } } } } ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -3,16 +3,11 @@ import com.alibaba.fastjson2.JSONObject; import com.mongodb.client.result.DeleteResult; import com.ycl.feign.HkApiUtil; import com.ycl.feign.HkApiUtil; import com.ycl.platform.domain.param.HK.*; import com.ycl.platform.domain.result.HK.*; import com.ycl.platform.service.ICheckIndexCarService; import com.ycl.platform.service.ICheckIndexFaceService; import com.ycl.platform.service.ICheckIndexVideoService; import com.ycl.platform.service.IYwThresholdService; import com.ycl.platform.service.*; import com.ycl.utils.DateUtils; import constant.ApiConstants; import com.ycl.feign.HKClient; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -24,6 +19,7 @@ import java.util.Date; import java.util.List; import java.util.Objects; //海康对接数据任务 @Slf4j @@ -41,11 +37,7 @@ @Autowired private IYwThresholdService ywThresholdService; @Autowired private ICheckIndexFaceService checkIndexFaceService; @Autowired private ICheckIndexCarService checkIndexCarService; @Autowired private ICheckIndexVideoService checkIndexVideoService; private YwPointService pointService; //车辆设备全检指标监测结果 public void vehicleDeviceInspectionTask() { @@ -60,6 +52,12 @@ //如果存在之前的数据先删除 Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, VehicleDeviceInspectionResult.class); list.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(list); //存放在mongo中 mongoTemplate.insertAll(list); //同步的数据进行工单阈值处理 @@ -83,6 +81,12 @@ //如果存在之前的数据先删除 Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, FaceDeviceInspectionResult.class); list.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(list); //存放在mongo中 mongoTemplate.insertAll(list); //同步的数据进行工单阈值处理 @@ -110,6 +114,12 @@ .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())) .and("dataType").is(ApiConstants.HK_DataType_CAR)); DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class); carList.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(carList); //存放在mongo中 carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR)); mongoTemplate.insertAll(carList); @@ -129,6 +139,12 @@ .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())) .and("dataType").is(ApiConstants.HK_DataType_FACE)); DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class); faceList.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(faceList); //存放在mongo中 faceList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE)); mongoTemplate.insertAll(faceList); @@ -150,6 +166,12 @@ Query query = new Query(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, MonitoringDetailResult.class); faceList.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(faceList); //存放在mongo中 mongoTemplate.insertAll(faceList); } @@ -170,6 +192,12 @@ Query query = new Query(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, CrossDetailResult.class); faceList.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(faceList); //存放在mongo中 mongoTemplate.insertAll(faceList); } @@ -192,6 +220,12 @@ Query query = new Query(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, DataIntegrityMonitoringResult.class); faceList.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(faceList); //存放在mongo中 mongoTemplate.insertAll(faceList); } @@ -214,6 +248,12 @@ Query query = new Query(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, AttrRecognitionMonitorResult.class); faceList.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(faceList); //存放在mongo中 mongoTemplate.insertAll(faceList); } @@ -241,6 +281,12 @@ DeleteResult result = mongoTemplate.remove(query, SnapshotDelayMonitorResult.class); //存放在mongo中 carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR)); carList.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(carList); mongoTemplate.insertAll(carList); } @@ -281,6 +327,12 @@ Query query = new Query(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, PicAccessResult.class); faceList.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(faceList); //存放在mongo中 mongoTemplate.insertAll(faceList); } @@ -303,6 +355,12 @@ Query query = new Query(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, VehicleDeviceSamplingResult.class); faceList.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(faceList); //存放在mongo中 mongoTemplate.insertAll(faceList); } @@ -324,6 +382,12 @@ Query query = new Query(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, FaceDeviceSamplingResult.class); faceList.stream().forEach(item -> { if (Objects.nonNull(item.getExternalIndexCode())) { item.setNo(item.getExternalIndexCode()); } }); pointService.setDeviceTagByGB(faceList); //存放在mongo中 mongoTemplate.insertAll(faceList); } ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -4,49 +4,37 @@ import com.mongodb.client.result.DeleteResult; import com.ycl.feign.UYClient; import com.ycl.platform.domain.param.UY.*; import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult; import com.ycl.platform.domain.result.UY.OneMachineFileResult; import com.ycl.platform.domain.result.UY.OsdMonitorResult; import com.ycl.platform.domain.result.UY.RecordMetaDSumResult; import com.ycl.platform.domain.result.UY.*; import com.ycl.platform.service.ITMonitorService; import com.ycl.platform.service.IYwThresholdService; import com.ycl.platform.service.UYErrorTypeCheckService; import com.ycl.platform.service.YwPointService; import com.ycl.utils.DateUtils; import constant.ApiConstants; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Objects; //优云对接数据任务 @Slf4j @Component("UYTask") @RequiredArgsConstructor public class UYTask { @Autowired private MongoTemplate mongoTemplate; @Autowired private UYClient uyClient; @Autowired private IYwThresholdService ywThresholdService; @Autowired private ITMonitorService monitorService; @Autowired private UYErrorTypeCheckService uyErrorTypeCheckService; private final MongoTemplate mongoTemplate; private final UYClient uyClient; private final UYErrorTypeCheckService uyErrorTypeCheckService; private final YwPointService pointService; @Value("${youYun.tenantId}") private String tenantId; @@ -79,6 +67,12 @@ Query query = new Query(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, ImageDetectionResult.class); records.stream().forEach(item -> { if (Objects.nonNull(item.getDeviceId())) { item.setNo(item.getDeviceId()); } }); pointService.setDeviceTagByGB(records); //存放在mongo中 mongoTemplate.insertAll(records); // 工单生成 @@ -122,6 +116,12 @@ Query query = new Query(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, MonitorQualifyResult.class); records.stream().forEach(item -> { if (Objects.nonNull(item.getSerialNumber())) { item.setNo(item.getSerialNumber().getShowValue()); } }); pointService.setDeviceTagByGB(records); //存放在mongo中 mongoTemplate.insertAll(records); // 工单生成 @@ -207,6 +207,12 @@ Query query = new Query(Criteria .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); DeleteResult result = mongoTemplate.remove(query, RecordMetaDSumResult.class); records.stream().forEach(item -> { if (Objects.nonNull(item.getDeviceId())) { item.setNo(item.getDeviceId()); } }); pointService.setDeviceTagByGB(records); //存放在mongo中 mongoTemplate.insertAll(records); // 工单生成 ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -214,4 +214,15 @@ limit 1 </select> <select id="getTagsByGB" resultType="com.ycl.platform.domain.vo.CheckTagVO"> SELECT serial_number as no, province_tag, important_tag, important_command_image_tag, dept_tag FROM t_yw_point WHERE deleted = 0 AND serial_number in <foreach collection="gbList" open="(" separator="," close=")" item="no">#{no}</foreach> GROUP BY serial_number, province_tag, important_tag, important_command_image_tag, dept_tag </select> </mapper>