From 425e3bdee94d374ca423e59fdfc69bfbc9e26a67 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 16 八月 2024 16:54:13 +0800
Subject: [PATCH] 指标计算bug处理

---
 ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml          |    2 
 ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java       |    2 
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java |   27 ++++++
 ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml         |    2 
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java  |   14 +++
 ycl-server/src/main/java/com/ycl/factory/IndexCalculationFactory.java      |   60 +++++++++-----
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java   |   56 ++++++++-----
 ycl-server/src/main/java/com/ycl/utils/DateUtils.java                      |   13 +++
 ycl-server/src/main/java/com/ycl/task/VideoTask.java                       |    7 +
 ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java               |   11 ++
 ycl-server/src/main/java/com/ycl/task/MonitorTask.java                     |   11 --
 ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml        |    2 
 ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java      |   12 --
 13 files changed, 144 insertions(+), 75 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java b/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java
index 55c23d9..694cf78 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java
@@ -1,29 +1,36 @@
 package com.ycl.platform.base;
 
 import annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 
 import java.util.Date;
 import java.util.List;
 
 public abstract class CheckIndex {
+    @TableField("id")
     public Long id;
     //鏌ヨ鏉′欢锛屾湀浠�
+    @TableField(exist = false)
     public String date;
     //鏌ヨ鏉′欢锛屾棩鏈�
+    @TableField(exist = false)
     public String day;
 
     @Excel(name = "鏃ユ湡",dateFormat = "yyyy-MM-dd")
+    @TableField("create_time")
     public Date createTime;
-
+    @TableField("dept_id")
     public Long deptId;
     @Excel(name = "鍖哄幙")
+    @TableField(exist = false)
     public String deptName;
 
     /** 鑰冩牳鏍囩锛堢渷鍘�/甯傚眬锛� */
     @Excel(name = "鑰冩牳鏍囩", dictType = "platform_examine_tag")
+    @TableField("examine_tag")
     public Short examineTag;
-
+    @TableField(exist = false)
     public List<Integer> deptIds;
     public Long getId() {
         return id;
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java
index 4f81312..5155291 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java
@@ -2,6 +2,8 @@
 
 import annotation.Excel;
 import com.alibaba.excel.annotation.ExcelIgnore;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.ycl.platform.base.CheckIndex;
 
 import java.math.BigDecimal;
@@ -10,57 +12,67 @@
 
 /**
  * 杞﹁締鎸囨爣姒傜巼鏁版嵁瀵硅薄 t_check_index_car
- * 
+ *
  * @author ruoyi
  * @date 2024-04-29
  */
-
+@TableName("check_index_car")
 public class CheckIndexCar extends CheckIndex
 {
     private static final long serialVersionUID = 1L;
 
-
     /** 瑙嗗浘搴撳鎺ョǔ瀹氭�� */
     @Excel(name = "瑙嗗浘搴撳鎺ョǔ瀹氭��")
+    @TableField("view_connect_stability")
     private BigDecimal viewConnectStability;
 
     /** 鐐逛綅鍦ㄧ嚎鐜� */
     @Excel(name = "鐐逛綅鍦ㄧ嚎鐜�")
+    @TableField("site_online")
     private BigDecimal siteOnline;
 
     /** 鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼 */
     @Excel(name = "鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼",width = 25)
+    @TableField("device_directory_consistent")
     private BigDecimal deviceDirectoryConsistent;
 
     /** 杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� */
     @Excel(name = "杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�",width = 25)
+    @TableField("vehicle_information_collection_accuracy")
     private BigDecimal vehicleInformationCollectionAccuracy;
 
     /** 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬� */
     @Excel(name = "杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁瀹屾暣鎬�",width = 25)
+    @TableField("vehicle_capture_integrity")
     private BigDecimal vehicleCaptureIntegrity;
 
     /** 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁鍑嗙‘鎬� */
     @Excel(name = "杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁鍑嗙‘鎬�",width = 25)
+    @TableField("vehicle_capture_accuracy")
     private BigDecimal vehicleCaptureAccuracy;
 
     /** 杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬� */
     @Excel(name = "杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬�",width = 25)
+    @TableField("vehicle_timing_accuracy")
     private BigDecimal vehicleTimingAccuracy;
 
     /** 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬� */
     @Excel(name = "杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬�",width = 25)
+    @TableField("vehicle_upload_timeliness")
     private BigDecimal vehicleUploadTimeliness;
 
     /** 杞﹁締鍗″彛璁惧url鍙敤鎬� */
     @Excel(name = "杞﹁締鍗″彛璁惧url鍙敤鎬�",width = 25)
+    @TableField("vehicle_url_availability")
     private BigDecimal vehicleUrlAvailability;
 
     /** 杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬� */
     @Excel(name = "杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬�",width = 25)
+    @TableField("vehicle_picture_availability")
     private BigDecimal vehiclePictureAvailability;
 
     @ExcelIgnore
+    @TableField(exist = false)
     private List<String> quarter;
 
     public List<String> getQuarter() {
@@ -130,88 +142,88 @@
     public void setExamineTag(Short examineTag) {
         super.setExamineTag(examineTag);
     }
-    public void setViewConnectStability(BigDecimal viewConnectStability) 
+    public void setViewConnectStability(BigDecimal viewConnectStability)
     {
         this.viewConnectStability = viewConnectStability;
     }
 
-    public BigDecimal getViewConnectStability() 
+    public BigDecimal getViewConnectStability()
     {
         return viewConnectStability;
     }
-    public void setSiteOnline(BigDecimal siteOnline) 
+    public void setSiteOnline(BigDecimal siteOnline)
     {
         this.siteOnline = siteOnline;
     }
 
-    public BigDecimal getSiteOnline() 
+    public BigDecimal getSiteOnline()
     {
         return siteOnline;
     }
-    public void setDeviceDirectoryConsistent(BigDecimal deviceDirectoryConsistent) 
+    public void setDeviceDirectoryConsistent(BigDecimal deviceDirectoryConsistent)
     {
         this.deviceDirectoryConsistent = deviceDirectoryConsistent;
     }
 
-    public BigDecimal getDeviceDirectoryConsistent() 
+    public BigDecimal getDeviceDirectoryConsistent()
     {
         return deviceDirectoryConsistent;
     }
-    public void setVehicleInformationCollectionAccuracy(BigDecimal vehicleInformationCollectionAccuracy) 
+    public void setVehicleInformationCollectionAccuracy(BigDecimal vehicleInformationCollectionAccuracy)
     {
         this.vehicleInformationCollectionAccuracy = vehicleInformationCollectionAccuracy;
     }
 
-    public BigDecimal getVehicleInformationCollectionAccuracy() 
+    public BigDecimal getVehicleInformationCollectionAccuracy()
     {
         return vehicleInformationCollectionAccuracy;
     }
-    public void setVehicleCaptureIntegrity(BigDecimal vehicleCaptureIntegrity) 
+    public void setVehicleCaptureIntegrity(BigDecimal vehicleCaptureIntegrity)
     {
         this.vehicleCaptureIntegrity = vehicleCaptureIntegrity;
     }
 
-    public BigDecimal getVehicleCaptureIntegrity() 
+    public BigDecimal getVehicleCaptureIntegrity()
     {
         return vehicleCaptureIntegrity;
     }
-    public void setVehicleCaptureAccuracy(BigDecimal vehicleCaptureAccuracy) 
+    public void setVehicleCaptureAccuracy(BigDecimal vehicleCaptureAccuracy)
     {
         this.vehicleCaptureAccuracy = vehicleCaptureAccuracy;
     }
 
-    public BigDecimal getVehicleCaptureAccuracy() 
+    public BigDecimal getVehicleCaptureAccuracy()
     {
         return vehicleCaptureAccuracy;
     }
-    public void setVehicleTimingAccuracy(BigDecimal vehicleTimingAccuracy) 
+    public void setVehicleTimingAccuracy(BigDecimal vehicleTimingAccuracy)
     {
         this.vehicleTimingAccuracy = vehicleTimingAccuracy;
     }
 
-    public BigDecimal getVehicleTimingAccuracy() 
+    public BigDecimal getVehicleTimingAccuracy()
     {
         return vehicleTimingAccuracy;
     }
-    public void setVehicleUploadTimeliness(BigDecimal vehicleUploadTimeliness) 
+    public void setVehicleUploadTimeliness(BigDecimal vehicleUploadTimeliness)
     {
         this.vehicleUploadTimeliness = vehicleUploadTimeliness;
     }
 
-    public BigDecimal getVehicleUploadTimeliness() 
+    public BigDecimal getVehicleUploadTimeliness()
     {
         return vehicleUploadTimeliness;
     }
-    public void setVehicleUrlAvailability(BigDecimal vehicleUrlAvailability) 
+    public void setVehicleUrlAvailability(BigDecimal vehicleUrlAvailability)
     {
         this.vehicleUrlAvailability = vehicleUrlAvailability;
     }
 
-    public BigDecimal getVehicleUrlAvailability() 
+    public BigDecimal getVehicleUrlAvailability()
     {
         return vehicleUrlAvailability;
     }
-    public void setVehiclePictureAvailability(BigDecimal vehiclePictureAvailability) 
+    public void setVehiclePictureAvailability(BigDecimal vehiclePictureAvailability)
     {
         this.vehiclePictureAvailability = vehiclePictureAvailability;
     }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java
index 761475d..a573c31 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java
@@ -2,6 +2,8 @@
 
 import annotation.Excel;
 import com.alibaba.excel.annotation.ExcelIgnore;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.ycl.platform.base.CheckIndex;
 
 import java.math.BigDecimal;
@@ -10,47 +12,57 @@
 
 /**
  * 浜鸿劯鎸囨爣姒傜巼鏁版嵁瀵硅薄 t_check_index_face
- * 
+ *
  * @author ruoyi
  * @date 2024-04-29
  */
+@TableName("t_check_index_face")
 public class CheckIndexFace extends CheckIndex
 {
     private static final long serialVersionUID = 1L;
 
     /** 瑙嗗浘搴撳鎺ョǔ瀹氭�� */
     @Excel(name = "瑙嗗浘搴撳鎺ョǔ瀹氭��")
+    @TableField("view_connect_stability")
     private BigDecimal viewConnectStability;
 
     /** 鐐逛綅鍦ㄧ嚎鐜� */
     @Excel(name = "鐐逛綅鍦ㄧ嚎鐜�")
+    @TableField("site_online")
     private BigDecimal siteOnline;
 
     /**  璁惧鐩綍涓�鑷寸巼 */
     @Excel(name = " 璁惧鐩綍涓�鑷寸巼")
+    @TableField("device_directory_consistent")
     private BigDecimal deviceDirectoryConsistent;
 
     /** 浜鸿劯鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� */
     @Excel(name = "浜鸿劯鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�",width = 25)
+    @TableField("face_information_collection_accuracy")
     private BigDecimal faceInformationCollectionAccuracy;
 
     /** 璁惧鎶撴媿鍥剧墖鍚堟牸鎬� */
     @Excel(name = "璁惧鎶撴媿鍥剧墖鍚堟牸鎬�")
+    @TableField("face_picture_qualification")
     private BigDecimal facePictureQualification;
 
     /** 璁惧鎶撴媿鍥剧墖鏃堕挓鍑嗙‘鎬� */
     @Excel(name = "璁惧鎶撴媿鍥剧墖鏃堕挓鍑嗙‘鎬�",width = 25)
+    @TableField("face_timing_accuracy")
     private BigDecimal faceTimingAccuracy;
 
     /** 鎶撴媿浜鸿劯鏁版嵁涓婁紶鍙婃椂鎬� */
     @Excel(name = "鎶撴媿浜鸿劯鏁版嵁涓婁紶鍙婃椂鎬�",width = 25)
+    @TableField("face_upload_timeliness")
     private BigDecimal faceUploadTimeliness;
 
     /** 浜鸿劯鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬� */
     @Excel(name = "浜鸿劯鍗″彛璁惧鎶撴媿鏁版嵁澶у浘鍙敤鎬�",width = 25)
+    @TableField("face_picture_availability")
     private BigDecimal facePictureAvailability;
 
     @ExcelIgnore
+    @TableField(exist = false)
     private List<String> quarter;
 
     public List<String> getQuarter() {
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
index 5f1d164..5a90295 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java
@@ -2,6 +2,8 @@
 
 import annotation.Excel;
 import com.alibaba.excel.annotation.ExcelIgnore;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.ycl.platform.base.CheckIndex;
 
 import java.math.BigDecimal;
@@ -10,98 +12,121 @@
 
 /**
  * 瑙嗛鎸囨爣姒傜巼鏁版嵁瀵硅薄 t_check_index_video
- * 
+ *
  * @author ruoyi
  * @date 2024-04-29
  */
+@TableName("t_check_index_video")
 public class CheckIndexVideo extends CheckIndex
 {
     private static final long serialVersionUID = 1L;
 
     /** 骞冲彴鍦ㄧ嚎鐜� */
     @Excel(name = "骞冲彴鍦ㄧ嚎鐜�")
+    @TableField("platform_online")
     private BigDecimal platformOnline;
 
     /** 涓�鏈轰竴妗e悎鏍肩巼 */
     @Excel(name = "涓�鏈轰竴妗e悎鏍肩巼")
+    @TableField("monitor_qualification")
     private BigDecimal monitorQualification;
 
     /** 妗f鑰冩牳姣� */
     @Excel(name = "涓�鏈轰竴妗f敞鍐岀巼")
+    @TableField("monitor_registration")
     private BigDecimal monitorRegistration;
 
     /** 妗f鑰冩牳姣� */
     @Excel(name = "妗f鑰冩牳姣�")
+    @TableField("archives_rate")
     private BigDecimal archivesRate;
 
     /** 鐐逛綅鍦ㄧ嚎鐜� */
     @Excel(name = "鐐逛綅鍦ㄧ嚎鐜�")
+    @TableField("site_online")
     private BigDecimal siteOnline;
 
     /** 褰曡薄鍙敤鐜� */
     @Excel(name = "褰曡薄鍙敤鐜�")
+    @TableField("video_available")
     private BigDecimal videoAvailable;
 
     /** 鏍囨敞姝g‘鐜� */
     @Excel(name = "鏍囨敞姝g‘鐜�")
+    @TableField("annotation_accuracy")
     private BigDecimal annotationAccuracy;
 
     /** 鏍℃椂鍑嗙‘鐜� */
     @Excel(name = "鏍℃椂鍑嗙‘鐜�")
+    @TableField("timing_accuracy")
     private BigDecimal timingAccuracy;
 
     /** 閲嶇偣鐐逛綅鍦ㄧ嚎鐜� */
     @Excel(name = "閲嶇偣鐐逛綅鍦ㄧ嚎鐜�")
+    @TableField("key_site_online")
     private BigDecimal keySiteOnline;
 
     /** 閲嶇偣鐐逛綅褰曡薄鍙敤鐜� */
     @Excel(name = "閲嶇偣鐐逛綅褰曡薄鍙敤鐜�",width = 25)
+    @TableField("key_video_available")
     private BigDecimal keyVideoAvailable;
 
     /** 閲嶇偣鐐逛綅鏍囨敞姝g‘鐜� */
     @Excel(name = "閲嶇偣鐐逛綅鏍囨敞姝g‘鐜�",width = 25)
+    @TableField("key_annotation_accuracy")
     private BigDecimal keyAnnotationAccuracy;
 
     /** 閲嶇偣鐐逛綅鎸夋椂姝g‘鐜� */
     @Excel(name = "閲嶇偣鐐逛綅鎸夋椂姝g‘鐜�",width = 25)
+    @TableField("key_timing_accuracy")
     private BigDecimal keyTimingAccuracy;
 
     /** 閲嶇偣鎸囨尌鍥惧儚鍏畨閮ㄥ贰妫�缁撴灉 */
     @Excel(name = "閲嶇偣鎸囨尌鍥惧儚鍏畨閮ㄥ贰妫�缁撴灉",width = 25)
+    @TableField("key_command_image_inspection")
     private BigDecimal keyCommandImageInspection;
 
     /** 閲嶇偣鎸囨尌鍥惧儚鐩綍鏍� */
     @Excel(name = "閲嶇偣鎸囨尌鍥惧儚鐩綍鏍�",width = 25)
+    @TableField("key_command_image_directory_tree")
     private BigDecimal keyCommandImageDirectoryTree;
 
     /** 鍦ㄧ嚎妫�鏌ュ钩鍙伴儴缃插強杩愯鐜� */
     @Excel(name = "鍦ㄧ嚎妫�鏌ュ钩鍙伴儴缃插強杩愯鐜�",width = 25)
+    @TableField("online_inspection_platform")
     private BigDecimal onlineInspectionPlatform;
 
     /** 瑙嗛浼犺緭缃戣祫浜у噯纭巼 */
     @Excel(name = "瑙嗛浼犺緭缃戣祫浜у噯纭巼",width = 25)
+    @TableField("video_transmission_assets_accuracy")
     private BigDecimal videoTransmissionAssetsAccuracy;
 
     /** 瑙嗛浼犺緭缃戣祫浜у急鍙d护寰楀垎姣旂巼 */
     @Excel(name = "瑙嗛浼犺緭缃戣祫浜у急鍙d护寰楀垎姣旂巼",width = 25)
+    @TableField("video_transmission_assets_weak_password_score")
     private BigDecimal videoTransmissionAssetsWeakPasswordScore;
 
     /** 瑙嗛浼犺緭缃戝嵄闄╄祫浜у緱鍒嗘瘮閲� */
     @Excel(name = "瑙嗛浼犺緭缃戝嵄闄╄祫浜у緱鍒嗘瘮閲�",width = 25)
+    @TableField("video_transmission_dangerous_assetsScore")
     private BigDecimal videoTransmissionDangerousAssetsScore;
 
     /** 瑙嗛浼犺緭缃戣竟鐣屽畬鏁存�ф娴嬫墸鍒嗛」 */
     @Excel(name = "瑙嗛浼犺緭缃戣竟鐣屽畬鏁存�ф娴嬫墸鍒嗛」",width = 25)
+    @TableField("video_transmission_boundary_integrity_detection")
     private BigDecimal videoTransmissionBoundaryIntegrityDetection;
 
     /** 瑙嗛浼犺緭缃戣竟鐣屽畬鏁存�ф娴嬫墸鍒嗛」 */
     @Excel(name = "閲嶇偣鎸囨尌鍥惧儚鍦ㄧ嚎鐜�",width = 25)
+    @TableField("key_command_image_online")
     private BigDecimal keyCommandImageOnline;
     /** 鏈堣繍琛岀巼 */
     @Excel(name = "鏈堣繍琛岀巼")
+    @TableField("operating_rate")
     private BigDecimal operatingRate;
 
     @ExcelIgnore
+    @TableField(exist = false)
     private List<String> quarter;
 
     public List<String> getQuarter() {
diff --git a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
index 28f72a2..e1f2f1f 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
@@ -194,17 +194,9 @@
         return CollectionUtils.isEmpty(commandImages) ? new ArrayList<>() : commandImages.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList());
     }
     //杩斿洖monitor
+    //TODO:鏃堕棿鍐欐浜�
     public List<String> getMonitorFromMongo() {
-        // 鑾峰彇Calendar瀹炰緥锛岄粯璁や娇鐢ㄥ綋鍓嶆椂鍖哄拰璇█鐜
-        Calendar calendar = Calendar.getInstance();
-        // 娓呴櫎Calendar涓殑鎵�鏈夊瓧娈靛�硷紝浠ラ伩鍏嶅畠浠褰撳墠鏃ユ湡鏃堕棿鏈夊奖鍝�
-        calendar.clear();
-        // 璁剧疆骞翠唤銆佹湀浠斤紙娉ㄦ剰锛氭湀浠芥槸浠�0寮�濮嬬殑锛屾墍浠�8鏈堟槸7锛夈�佹棩鏈�
-        calendar.set(Calendar.YEAR, 2024);
-        calendar.set(Calendar.MONTH, Calendar.AUGUST);
-        calendar.set(Calendar.DAY_OF_MONTH, 13);
-        // Calendar.getTime()鏂规硶杩斿洖涓�涓〃绀烘Calendar鏃堕棿鍊肩殑Date瀵硅薄
-        Date date = calendar.getTime();
+        Date date = DateUtils.getDay(2024,7,13);
         Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date)));
 //        Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
         List<MonitorQualifyResult> oneMachineFileResults = mongoTemplate.find(query, MonitorQualifyResult.class);
diff --git a/ycl-server/src/main/java/com/ycl/factory/IndexCalculationFactory.java b/ycl-server/src/main/java/com/ycl/factory/IndexCalculationFactory.java
index 7813b7d..07375b4 100644
--- a/ycl-server/src/main/java/com/ycl/factory/IndexCalculationFactory.java
+++ b/ycl-server/src/main/java/com/ycl/factory/IndexCalculationFactory.java
@@ -3,57 +3,71 @@
 import com.ycl.calculate.*;
 import com.ycl.platform.domain.result.UY.VideoQualityResult;
 import constant.CalculationStrategyConstants;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.BeanFactory;
+import org.springframework.beans.factory.BeanFactoryAware;
+import org.springframework.stereotype.Component;
 
 import java.util.HashMap;
 import java.util.Map;
-
-public class IndexCalculationFactory {
-    private static final Map<String, CalculationStrategy> calculators = new HashMap<>();
+@Component
+public class IndexCalculationFactory implements BeanFactoryAware {
+    private static BeanFactory beanFactory;
+    private static final Map<String, Class<? extends CalculationStrategy>> calculatorClasses = new HashMap<>();
 
     static {
         //杞﹁締鐐逛綅鍦ㄧ嚎銆佽鍥惧簱瀵规帴绋冲畾鎬�
-        calculators.put(CalculationStrategyConstants.Car_SiteOnline_ViewStability, new CarSnapshopDataCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Car_SiteOnline_ViewStability, CarSnapshopDataCalculation.class);
         //杞﹁締淇℃伅鍑嗙‘鐜�
-        calculators.put(CalculationStrategyConstants.Car_InfoAccuracy, new CarInFoAccuracyCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Car_InfoAccuracy, CarInFoAccuracyCalculation.class);
         //杞﹁締鎶撴媿鏁版嵁涓婁紶寤惰繜
-        calculators.put(CalculationStrategyConstants.Car_SnapshotDelay, new CarSnapshotDelayCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Car_SnapshotDelay, CarSnapshotDelayCalculation.class);
         //杞﹁締鏁版嵁鎶撴媿瀹屾暣鎬�
-        calculators.put(CalculationStrategyConstants.Car_DataIntegrity, new CarDataIntegrityCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Car_DataIntegrity, CarDataIntegrityCalculation.class);
         //杞﹁締鏁版嵁鎶撴媿鍑嗙‘鎬с�乽rl銆佸ぇ鍥惧彲鐢�
-        calculators.put(CalculationStrategyConstants.Car_DataAccuracy_Url_PicUsability, new CarDeviceSampleCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Car_DataAccuracy_Url_PicUsability, CarDeviceSampleCalculation.class);
         //杞﹁締鏃堕挓鍑嗙‘鎬�
-        calculators.put(CalculationStrategyConstants.Car_ClockAccuracy, new CarClockAccuracyCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Car_ClockAccuracy, CarClockAccuracyCalculation.class);
         //杞﹁締鐩綍涓�鑷�
-        calculators.put(CalculationStrategyConstants.Car_DirectConsistent, new CarConsistentCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Car_DirectConsistent, CarConsistentCalculation.class);
 
         //浜鸿劯鐐逛綅鍦ㄧ嚎銆佽鍥惧簱瀵规帴绋冲畾
-        calculators.put(CalculationStrategyConstants.Face_SiteOnline_ViewStability, new FaceSnapshotDataCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Face_SiteOnline_ViewStability, FaceSnapshotDataCalculation.class);
         //浜鸿劯淇℃伅鍑嗙‘鐜�
-        calculators.put(CalculationStrategyConstants.Face_InfoAccuracy, new FaceInFoAccuracyCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Face_InfoAccuracy, FaceInFoAccuracyCalculation.class);
         //浜鸿劯鎶撴媿鏁版嵁寤惰繜
-        calculators.put(CalculationStrategyConstants.Face_SnapshotDelay, new FaceSnapshotDelayCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Face_SnapshotDelay, FaceSnapshotDelayCalculation.class);
         //浜鸿劯鍥剧墖鍚堟牸銆佸ぇ鍥惧彲鐢�
-        calculators.put(CalculationStrategyConstants.Face_DataAccuracy_PicUsability, new FaceDeviceSampleCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Face_DataAccuracy_PicUsability, FaceDeviceSampleCalculation.class);
         //浜鸿劯鏃堕挓鍑嗙‘鎬�
-        calculators.put(CalculationStrategyConstants.Face_ClockAccuracy, new FaceClockAccuracyCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Face_ClockAccuracy, FaceClockAccuracyCalculation.class);
         //浜鸿劯鐩綍涓�鑷�
-        calculators.put(CalculationStrategyConstants.Face_DirectConsistent, new FaceConsistentCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Face_DirectConsistent, FaceConsistentCalculation.class);
 
         //涓�鏈轰竴妗f敞鍐岀巼銆佹。妗堣�冩牳姣�
-        calculators.put(CalculationStrategyConstants.Video_MonitorRegis_ArchiveRate,new MonitorRegistrationCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Video_MonitorRegis_ArchiveRate,MonitorRegistrationCalculation.class);
         //涓�鏈轰竴妗e悎鏍肩巼
-        calculators.put(CalculationStrategyConstants.Video_MonitorQualify, new MonitorQualifyCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Video_MonitorQualify, MonitorQualifyCalculation.class);
         //瑙嗛鐐逛綅鍦ㄧ嚎鐜�
-        calculators.put(CalculationStrategyConstants.Video_SiteOnline, new VideoOnlineCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Video_SiteOnline, VideoOnlineCalculation.class);
         //瑙嗛褰曞儚鍙敤鐜�
-        calculators.put(CalculationStrategyConstants.Video_Usability, new VideoUsabilityCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Video_Usability, VideoUsabilityCalculation.class);
         //骞冲彴鍦ㄧ嚎鐜�
-        calculators.put(CalculationStrategyConstants.Video_PlatformOnline,new PlatformOnlineCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Video_PlatformOnline,PlatformOnlineCalculation.class);
         //Osd鍑嗙‘鐜囧拰鏃堕棿鏍囨敞鍑嗙‘鐜�
-        calculators.put(CalculationStrategyConstants.Video_OsdTime,new VideoOsdCalculation());
+        calculatorClasses.put(CalculationStrategyConstants.Video_OsdTime,VideoOsdCalculation.class);
     }
 
     public static CalculationStrategy getCalculator(String indexName) {
-        return calculators.get(indexName);
+        Class<? extends CalculationStrategy> clazz = calculatorClasses.get(indexName);
+        if (clazz != null) {
+            return beanFactory.getBean(clazz);
+        }
+        return null;
+    }
+
+    @Override
+    public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
+        IndexCalculationFactory.beanFactory = beanFactory;
     }
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
index 15fe311..5bc6c34 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java
@@ -9,6 +9,7 @@
 import com.ycl.platform.domain.vo.TMonitorVO;
 import com.ycl.platform.domain.vo.screen.MonitorRateVO;
 import com.ycl.platform.domain.vo.screen.MonitorTotalVO;
+import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -20,6 +21,7 @@
  * @author ruoyi
  * @date 2024-03-04
  */
+@Mapper
 public interface TMonitorMapper extends BaseMapper<TMonitor>
 {
     /**
diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
index 5676db1..bc08a68 100644
--- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
@@ -58,16 +58,7 @@
     //鍚屾mongodb涓�鏈轰竴妗e埌鏁版嵁搴�
     @Transactional(rollbackFor = Exception.class)
     public void synchronize() {
-        // 鑾峰彇Calendar瀹炰緥锛岄粯璁や娇鐢ㄥ綋鍓嶆椂鍖哄拰璇█鐜
-        Calendar calendar = Calendar.getInstance();
-        // 娓呴櫎Calendar涓殑鎵�鏈夊瓧娈靛�硷紝浠ラ伩鍏嶅畠浠褰撳墠鏃ユ湡鏃堕棿鏈夊奖鍝�
-        calendar.clear();
-        // 璁剧疆骞翠唤銆佹湀浠斤紙娉ㄦ剰锛氭湀浠芥槸浠�0寮�濮嬬殑锛屾墍浠�8鏈堟槸7锛夈�佹棩鏈�
-        calendar.set(Calendar.YEAR, 2024);
-        calendar.set(Calendar.MONTH, Calendar.AUGUST);
-        calendar.set(Calendar.DAY_OF_MONTH, 13);
-        // Calendar.getTime()鏂规硶杩斿洖涓�涓〃绀烘Calendar鏃堕棿鍊肩殑Date瀵硅薄
-        Date date = calendar.getTime();
+        Date date = DateUtils.getDay(2024,7,13);
         Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date)));
 //        Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
         List<MonitorQualifyResult> oneMachineFileResults = mongoTemplate.find(query, MonitorQualifyResult.class);
diff --git a/ycl-server/src/main/java/com/ycl/task/VideoTask.java b/ycl-server/src/main/java/com/ycl/task/VideoTask.java
index 4dc6072..1d212aa 100644
--- a/ycl-server/src/main/java/com/ycl/task/VideoTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/VideoTask.java
@@ -79,13 +79,14 @@
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Video_Usability);
         calculator.calculate(tMonitorVOS);
     }
-
+    //TODO:鏃堕棿鍐欐浜�
     public void oneMonitorQualifyTask(){
         //璁$畻涓�鏈轰竴妗e悎鏍肩巼
-        Date yesterday = DateUtils.addDays(new Date(), -1);
+//        Date yesterday = DateUtils.addDays(new Date(), -1);
+        Date date = DateUtils.getDay(2024,7,13);
         Query query = new Query();
         query.addCriteria(Criteria
-                .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
+                .where("mongoCreateTime").gte(DateUtils.getDayStart(date)).lt(DateUtils.getDayEnd(date)));
         List<MonitorQualifyResult> results = mongoTemplate.find(query, MonitorQualifyResult.class);
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Video_MonitorQualify);
         calculator.calculate(results);
diff --git a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
index 9988e85..b685b27 100644
--- a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
+++ b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
@@ -278,4 +278,17 @@
     }
 
 
+    public static Date getDay(int year,int month,int day) {
+        // 鑾峰彇Calendar瀹炰緥锛岄粯璁や娇鐢ㄥ綋鍓嶆椂鍖哄拰璇█鐜
+        Calendar calendar = Calendar.getInstance();
+        // 娓呴櫎Calendar涓殑鎵�鏈夊瓧娈靛�硷紝浠ラ伩鍏嶅畠浠褰撳墠鏃ユ湡鏃堕棿鏈夊奖鍝�
+        calendar.clear();
+        // 璁剧疆骞翠唤銆佹湀浠斤紙娉ㄦ剰锛氭湀浠芥槸浠�0寮�濮嬬殑锛屾墍浠�8鏈堟槸7锛夈�佹棩鏈�
+        calendar.set(Calendar.YEAR, year);
+        calendar.set(Calendar.MONTH, month);
+        calendar.set(Calendar.DAY_OF_MONTH, day);
+        // Calendar.getTime()鏂规硶杩斿洖涓�涓〃绀烘Calendar鏃堕棿鍊肩殑Date瀵硅薄
+        Date date = calendar.getTime();
+        return date;
+    }
 }
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
index b28ab74..ccf2eb8 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml
@@ -121,7 +121,7 @@
         </foreach>
     </delete>
 
-    <select id="selectToday">
+    <select id="selectToday" resultType="com.ycl.platform.domain.entity.CheckIndexCar">
         select * from t_check_index_car where DATE(create_time) = #{today}
     </select>
 
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml
index b2a65f5..1fb3bc2 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml
@@ -111,7 +111,7 @@
         </foreach>
     </delete>
 
-    <select id="selectToday">
+    <select id="selectToday" resultType="com.ycl.platform.domain.entity.CheckIndexFace">
         select * from t_check_index_car where DATE(create_time) = #{today}
     </select>
 
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
index ee8c4a0..c5f1d1c 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
@@ -172,7 +172,7 @@
         </foreach>
     </delete>
 
-    <select id="selectToday">
+    <select id="selectToday" resultType="com.ycl.platform.domain.entity.CheckIndexVideo">
         select * from t_check_index_video where DATE(create_time) = #{today}
     </select>
 

--
Gitblit v1.8.0