From 7b73755e320f1bec9254b86a0f078c5f7969880d Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 19 十二月 2024 10:06:47 +0800
Subject: [PATCH] 接入海康成绩

---
 ycl-server/src/main/java/com/ycl/task/HKTask.java                                 |  260 +++++++++---
 ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml                     |   13 
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java                |   28 +
 ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java                             |   53 --
 ycl-server/src/main/resources/application-dev.yml                                 |    4 
 ycl-server/src/main/java/com/ycl/feign/HKFeignConfig.java                         |   41 +
 ycl-server/src/main/java/com/ycl/feign/HKClient.java                              |  471 ++++++++++++-----------
 ycl-common/src/main/java/constant/ApiConstants.java                               |    4 
 ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/HKScoreResult.java       |  102 ++++-
 ycl-server/src/main/java/com/ycl/utils/DateUtils.java                             |    1 
 ycl-server/src/main/resources/application-prod.yml                                |    8 
 ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java                         |    6 
 ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java |    5 
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java  |   12 
 ycl-server/src/main/java/com/ycl/task/MonitorTask.java                            |  118 +++---
 ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml                      |    2 
 16 files changed, 667 insertions(+), 461 deletions(-)

diff --git a/ycl-common/src/main/java/constant/ApiConstants.java b/ycl-common/src/main/java/constant/ApiConstants.java
index e1eb920..4da7af9 100644
--- a/ycl-common/src/main/java/constant/ApiConstants.java
+++ b/ycl-common/src/main/java/constant/ApiConstants.java
@@ -80,6 +80,10 @@
     //娴峰悍璁块棶鏃堕棿璺緞
     public final static String HK_OSD_TIME = "/ISAPI/System/time";
 
+    //娴峰悍鎴愮哗閲嶇偣鏍囩
+    public final static Integer HK_FOCUS_FLAG_ALL = 0;
+    public final static Integer HK_FOCUS_FLAG_Important = 1;
+
     //鍥芥爣鐮侀�氶亾绱㈠紩
     public final static Integer SerialNumber_Channel = 13;
     //鍥芥爣鐮佽澶囩被鍨嬬储寮�
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/HKScoreResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/HKScoreResult.java
index 0a610da..535c58e 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/HKScoreResult.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/HKScoreResult.java
@@ -1,32 +1,88 @@
 package com.ycl.platform.domain.result.HK;
 
-import com.ycl.platform.domain.result.BaseResult;
 import lombok.Data;
-
-import java.util.Date;
-import java.util.List;
 
 //鑰冩牳鎴愮哗
 @Data
-public class HKScoreResult extends BaseResult {
-   private List<HkScore> list;
+public class HKScoreResult{
+    //鍖哄煙鍚�
+    private String areaName;
+    //鍖哄煙缂栫爜
+    private String areaCode;
+    //鎺掑悕
+    private Integer ranking;
+    //鎵�鏈夋寚鏍囧緱鍒�
+    private String totalScore;
+    private String fullScore;
+    //ZDR鍔ㄥ悜鍑嗙‘鏂�(鏆傛椂娌$敤)
+    private String downCrossZdrAccuracyQualityScoreString;
+    /** 杞﹁締
+     * url鍙敤鎬�
+     * 淇℃伅閲囬泦鍑嗙‘鎬�
+     * */
+    //鎵归噺鏌ヨ杞﹁締
+    private String downCarQueryInterfaceQualityScoreString;
+    //杞﹁締鏁版嵁涓婁紶绋冲畾鎬у緱鍒�(瑙嗗浘搴撳鎺ョǔ瀹氭��)
+    private String downCarDataUploadScoreString;
+    //杞﹁締娉ㄥ唽鐜�
+    private String downCrossCarSignUpScoreString;
+    //杞﹁締鍗″彛鏁伴噺鎺ㄩ��(璁惧鐩綍涓�鑷寸巼)
+    private String downCrossNumPushCarScoreString;
+    //杞﹁締鍗″彛杩愯璐ㄩ噺(鐐逛綅鍦ㄧ嚎鐜�)
+    private String downCrossQualityCarScoreString;
+    //杞﹁締鏁版嵁瀹屾暣鎬�(鎶撴媿鏁版嵁瀹屾暣鎬�)
+    private String downCrossAllCarDataIntegrityScoreString;
+    //杞﹁締杩囪溅鏁版嵁涓昏灞炴�у噯纭��(鎶撴媿鏁版嵁鍑嗙‘鎬�)
+    private String downCrossAccuracyCarScoreString;
+    //杞﹁締杩囪溅鏁版嵁閲嶈灞炴�у噯纭��(鎶撴媿鏁版嵁鍑嗙‘鎬�)
+    private String downCrossDataTypeAccuracyCarScoreString;
+    //杞﹁締鍗″彛鏃堕挓鍑嗙‘鎬�(鏃堕挓鍑嗙‘鎬�)
+    private String downCrossCarInvertScoreString;
+    //杞﹁締鍗″彛涓婁紶鍙婃椂鎬�(鏁版嵁涓婁紶鍙婃椂鎬�)
+    private String downCrossAllCarDelayScoreString;
+    //杞﹁締鍗″彛澶у浘鍙敤鎬�(澶у浘鍙敤鎬�)
+    private String downCrossPictureQualityCarScoreString;
 
-    /**
-     * 鑰冩牳鎴愮哗
-     */
-    @Data
-    public static class HkScore {
-        //鍖哄煙鍚�
-        private String areaName;
-        //鍖哄煙缂栫爜
-        private String areaCode;
-        //鎺掑悕
-        private Integer ranking;
-        //鎬诲垎
-        private String totalScore;
-        //focusFlag涓�0娑夊強鍒扮殑鍏ㄩ噺鎸囨爣
-        private String downCarDataUploadScoreString;
-        private Date dCreateTime;
+    //閲嶇偣杞﹁締鍗″彛鏁版嵁涓婁紶鍙婃椂鎬�
+    private String downCrossFocusCarDelayScoreString;
+    //閲嶇偣杞﹁締鍗″彛澶у浘鍙敤鎬�
+    private String downCrossFocusPictureQualityCarScoreString;
+    //閲嶇偣杞﹁締鎶撴媿鏁版嵁瀹屾暣鎬�
+    private String downCrossFocusCarDataIntegrityScoreString;
+    //閲嶇偣杞﹁締杩囪溅鏁版嵁涓昏灞炴�у噯纭��
+    private String downCrossFocusAccuracyCarScoreString;
+    //閲嶇偣杞﹁締杩囪溅鏁版嵁閲嶈灞炴�у噯纭��
+    private String downCrossFocusDataTypeAccuracyCarScoreString;
+    /** 浜鸿劯
+     *
+     * 鐩綍涓�鑷寸巼
+     * 浜鸿劯淇℃伅閲囬泦鍑嗙‘鏂�
+     * 璁惧鎶撴媿鍥剧墖鍚堟牸鎬�
+     *
+     * */
+    //鎵归噺鏌ヨ浜鸿劯
+    private String downFaceQueryInterfaceQualityScoreString;
+    //鎼滃浘寰楀垎
+    private String downDrawFaceInterfaceQualityScoreString;
+    //浜鸿劯鏁版嵁涓婁紶绋冲畾鎬у緱鍒�(瑙嗗浘搴撳鎺ョǔ瀹氭��)
+    private String downFaceDataUploadScoreString;
+    //浜鸿劯娉ㄥ唽鐜�
+    private String downCrossFaceSignUpScoreString;
+    //浜鸿劯鍗″彛鏁伴噺鎺ㄩ��(璁惧鐩綍涓�鑷寸巼)
+    private String downCrossNumPushFaceScoreString;
+    //浜鸿劯鍗″彛杩愯璐ㄩ噺(鐐逛綅鍦ㄧ嚎鐜�)
+    private String downCrossQualityFaceScoreString;
+    //浜鸿劯鍗″彛灏忓浘鍙敤鎬�
+    private String downCrossFaceBuildRateScoreString;
+    //浜鸿劯鍗″彛涓婁紶鍙婃椂鎬�(鏁版嵁涓婁紶鍙婃椂鎬�)
+    private String downCrossAllFaceDelayScoreString;
+    //浜鸿劯鍗″彛鏃堕挓鍑嗙‘鎬�(鏃堕挓鍑嗙‘鎬�)
+    private String downCrossFaceInvertScoreString;
+    //浜鸿劯鍗″彛澶у浘鍙敤鎬�(澶у浘鍙敤鎬�)
+    private String downCrossPictureQualityFaceScoreString;
 
-    }
+    //閲嶇偣浜鸿劯鍗″彛涓婁紶鍙婃椂鎬�
+    private String downCrossFocusFaceDelayScoreString;
+    //閲嶇偣浜鸿劯鍗″彛澶у浘鍙敤鎬�
+    private String downCrossFocusPictureQualityFaceScoreString;
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
index 821a478..0db8edb 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderVO.java
@@ -31,7 +31,7 @@
     private String workOrderNo;
     private Integer id;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "鏁呴殰鏃堕棿",sort = 6,dateFormat = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "鏁呴殰鏃堕棿",sort = 7,dateFormat = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
@@ -40,7 +40,7 @@
 
     /** 杩愮淮鍗曚綅 */
     private Integer unitId;
-    @Excel(name = "杩愮淮鍗曚綅",sort = 5)
+    @Excel(name = "杩愮淮鍗曚綅",sort = 6)
     private String unitName;
     private String unitContact;
     private String unitContactPhone;
@@ -49,28 +49,37 @@
     @Excel(name = "璁惧鍚嶇О",sort = 3)
     private String source;
     /** ip */
-    @Excel(name = "IP",sort = 4)
+    @Excel(name = "IP",sort = 5)
     private String ip;
     /**
      * 璁惧缂栧彿
      */
     @Excel(name = "璁惧缂栧彿",sort = 2)
     private String serialNumber;
-
-    private Boolean importantTag;
-
-    private Boolean importantCommandImageTag;
+    /**
+     * 鏍囩
+     * @param entity
+     * @param vo
+     * @return
+     */
+    @Excel(name = "鏍囩",sort = 4)
+    private String tag;
 
     /**
      * 鏄惁閲嶇偣鐐逛綅
      */
-    private Boolean important;
+    private Boolean importantTag;
+    private Boolean importantCommandImageTag;
+    private Boolean deptTag;
+    private Boolean provinceTagVideo;
+    private Boolean provinceTagCar;
+    private Boolean provinceTagFace;
 
     /** 鏁呴殰绫诲瀷 */
     private List<String> errorTypeList;
 
     /** 鏁呴殰绫诲瀷 */
-    @Excel(name = "鏁呴殰绫诲瀷")
+    @Excel(name = "鏁呴殰绫诲瀷",sort = 8)
     private String errorType;
 
     /** 宸ュ崟妫�娴嬪浘鐗� */
@@ -112,6 +121,7 @@
      */
     private Boolean deduct;
 
+
     public static WorkOrderVO getVoByEntity(@NonNull WorkOrder entity, WorkOrderVO vo) {
         if(vo == null) {
             vo = new WorkOrderVO();
diff --git a/ycl-server/src/main/java/com/ycl/feign/HKClient.java b/ycl-server/src/main/java/com/ycl/feign/HKClient.java
index ecb06bb..92b19bf 100644
--- a/ycl-server/src/main/java/com/ycl/feign/HKClient.java
+++ b/ycl-server/src/main/java/com/ycl/feign/HKClient.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson2.JSONObject;
 import com.ycl.platform.domain.param.HK.*;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.cloud.openfeign.SpringQueryMap;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -16,236 +17,252 @@
 @Component
 @FeignClient(name = "HKClient", url = "${request.haiKangDomain}", configuration = HKFeignConfig.class)
 public interface HKClient {
+    /**
+     * 鑾峰彇娴峰悍鑰冩牳涓氬姟鏍�
+     * 鑾峰彇娴峰悍鑰冩牳涓氬姟鏍�
+     * @return 涓氬姟鏍�
+     */
+    @GetMapping("/aaoo/api/third/timeTree")
+    JSONObject getTree(@SpringQueryMap TreeParam param);
 
     /**
-     * 鎸夊尯鍩熺粺璁$粡绾害寮傚父璁惧鎴栧崱鍙�
-     * 1銆佹牴鎹粍缁囧尯鍩熸瘡10鍒嗛挓姹囨�婚噰闆嗚澶�/鍗″彛缁忕含搴﹀紓甯告暟閲忋��
-     * 2銆佸紓甯稿寘鎷細
-     * (1)绮惧害杩囦綆锛氱粡绾害灏忔暟鐐瑰悗涓嶈冻6浣嶃��
-     * (2)缁忕含搴︾己澶憋細缁忓害鎴栫含搴﹀瓨鍦ㄧ己澶�
-     * (3)涓嶅湪杈栧尯锛氱粡绾害瓒呭嚭鎵�灞炶鏀垮尯鍒掕寖鍥�
-     * 3銆佸綋鏃ユ暟鎹洿鏂伴鐜囦负姣�10鍒嗛挓涓�娆°�傚巻鍙叉暟鎹繚鐣欎竴涓湀锛屾瘡鏃ュ噷鏅ㄧ敓鎴愭槰鏃ヤ竴鏁村ぉ鍖哄煙姹囨�荤粨鏋溿��
-     * @param param 璇锋眰鍙傛暟
-     * @return 鎸夊尯鍩熺粺璁$粡绾害寮傚父璁惧鎴栧崱鍙�
+     * 鑾峰彇娴峰悍鑰冩牳鎴愮哗
+     * 鑾峰彇娴峰悍鑰冩牳鎴愮哗
+     * @return 鑰冩牳鎴愮哗
      */
-    @PostMapping("/dqd/service/rs/v1/device/coordinateExpInfo/query")
-    JSONObject coordinateByArea(@RequestBody CoordinateByAreaParam param);
+    @GetMapping("/aaoo/api/third/score/get")
+    JSONObject getScore(@SpringQueryMap ScoreParam param);
+//    /**
+//     * 鎸夊尯鍩熺粺璁$粡绾害寮傚父璁惧鎴栧崱鍙�
+//     * 1銆佹牴鎹粍缁囧尯鍩熸瘡10鍒嗛挓姹囨�婚噰闆嗚澶�/鍗″彛缁忕含搴﹀紓甯告暟閲忋��
+//     * 2銆佸紓甯稿寘鎷細
+//     * (1)绮惧害杩囦綆锛氱粡绾害灏忔暟鐐瑰悗涓嶈冻6浣嶃��
+//     * (2)缁忕含搴︾己澶憋細缁忓害鎴栫含搴﹀瓨鍦ㄧ己澶�
+//     * (3)涓嶅湪杈栧尯锛氱粡绾害瓒呭嚭鎵�灞炶鏀垮尯鍒掕寖鍥�
+//     * 3銆佸綋鏃ユ暟鎹洿鏂伴鐜囦负姣�10鍒嗛挓涓�娆°�傚巻鍙叉暟鎹繚鐣欎竴涓湀锛屾瘡鏃ュ噷鏅ㄧ敓鎴愭槰鏃ヤ竴鏁村ぉ鍖哄煙姹囨�荤粨鏋溿��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 鎸夊尯鍩熺粺璁$粡绾害寮傚父璁惧鎴栧崱鍙�
+//     */
+//    @PostMapping("/dqd/service/rs/v1/device/coordinateExpInfo/query")
+//    JSONObject coordinateByArea(@RequestBody CoordinateByAreaParam param);
+//
+//    /**
+//     * 鎸夊尯鍩熺粺璁$紪鐮佸紓甯歌澶囨垨鍗″彛
+//     * 1銆佹牴鎹粍缁囧尯鍩熸瘡10鍒嗛挓缁熻閲囬泦璁惧鍜屽崱鍙e浗鏍囩紪鐮佸紓甯搁噺銆�
+//     * 2銆佸紓甯稿寘鎷細
+//     * (1)鍓�6浣嶄笉绗﹀悎鏍囧噯锛氬浗鏍囩紪鐮佸墠鍏綅涓庣粍缁囩紪鍙峰墠鍏綅姣旇緝
+//     * (2)11-13浣嶇鍚堟爣鍑嗭細鏍规嵁鐜板満瀹為檯鎯呭喌鍦╥dad鏁版嵁閰嶇疆鐣岄潰閰嶇疆鎵�寰�,鍙�氳繃鎸囨爣閰嶇疆淇℃伅鎺ュ彛鑾峰彇閰嶇疆鍙傛暟
+//     * (3)缂栫爜闀垮害涓嶆槸20浣�
+//     * 3銆佸綋鏃ユ暟鎹洿鏂伴鐜囦负姣�10鍒嗛挓涓�娆°�傚巻鍙叉暟鎹繚鐣欎竴涓湀锛屾瘡鏃ュ噷鏅ㄧ敓鎴愭槰鏃ヤ竴鏁村ぉ鍖哄煙姹囨�荤粨鏋溿��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 鎸夊尯鍩熺粺璁$紪鐮佸紓甯歌澶囨垨鍗″彛
+//     */
+//    @PostMapping("/dqd/service/rs/v1/device/gbCodeExpInfo/query")
+//    JSONObject codeByArea(@RequestBody CodeByAreaParam param);
+//
+//    /**
+//     * 鎸夊尯鍩熺粺璁′汉鑴告暟鎹洃娴嬫寚鏍囬」
+//     * 1銆佹牴鎹尯鍩熸瘡10鍒嗛挓姹囨�诲尯鍩熷唴浠ヤ笅鐩戞祴缁撴灉锛�
+//     * (1)璁惧娲昏穬鎬э細鏃犳姄鎷嶃�佹姄鎷嶈繃灏戙�佹姄鎷嶇獊闄嶃��
+//     * (2)鏃堕挓鍑嗙‘鎬э細鏃堕挓鍑嗙‘鐜囥�佷笉鍑嗙‘閲忋�佽澶囧悎鏍肩巼绛夈��
+//     * (3)涓婁紶鍙婃椂鎬э細涓婁紶鍙婃椂鐜囥�佸欢杩熷悇鍖洪棿鏁版嵁閲忋�佽澶囧悎鏍肩巼銆�
+//     * (4)澶у浘鍙敤鎬э細澶у浘鍙敤閲忋�佽闂紓甯搁噺銆佹爣娉ㄥ紓甯搁噺銆佸ぇ灏忓浘涓嶄竴鑷撮噺銆�
+//     * (5)鍥剧墖鍚堟牸鎬э細浜鸿劯鍞竴閲忋�佷笉鍞竴閲忕瓑銆�
+//     * (6)鍥剧墖鏈夋晥鎬э細寤烘ā澶辫触閲忋�佷綆璇勫垎閲忕瓑銆�
+//     * (7)鍥剧墖鍏宠仈鎬э細鏈笂鎶ヨ澶囨暟銆佹湭涓婃姤鎶撴媿閲忋��
+//     * (8)鏁版嵁鍞竴鎬э細涓嶅敮涓�鏁版嵁銆佷笉鍞竴鏁版嵁閲忋��
+//     * 2銆佸彲鏌ヨ杩�30澶╁唴鐨勬暟鎹紓甯告儏鍐点��
+//     * 3銆佷粖鏃ユ暟鎹洿鏂伴鐜囦负姣�10鍒嗛挓涓�娆°�傚巻鍙叉暟鎹繚鐣欎竴涓湀锛屾瘡鏃ュ噷鏅ㄧ敓鎴愭槰鏃ヤ竴鏁村ぉ鍖哄煙姹囨�荤粨鏋溿��
+//     *
+//     * 娉細浠婃棩鏁版嵁鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦�傛暟鎹獊闄嶇粨璁烘棤娉曠粰鍑恒�傛晠锛屾暟鎹獊闄嶅紓甯告槸鍙拡瀵规埅姝㈠巻鍙茬殑鏁版嵁寮傚父鐩戞祴銆�
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 鎸夊尯鍩熺粺璁′汉鑴告暟鎹洃娴嬫寚鏍囬」
+//     */
+//    @PostMapping("/dqd/service/rs/v2/data/faceDetect/query")
+//    JSONObject faceDetectByArea(@RequestBody FaceDetectParam param);
+//
+//    /**
+//     * 鎸夊尯鍩熺粺璁¤溅杈嗘暟鎹洃娴嬫寚鏍囬」
+//     * 1銆佹牴鎹尯鍩熸瘡10鍒嗛挓姹囨�诲尯鍩熷唴浠ヤ笅鐩戞祴缁撴灉锛�
+//     * (1)璁惧娲昏穬鎬э細鏃犳姄鎷嶃�佹姄鎷嶈繃灏戙�佹姄鎷嶇獊闄嶇殑鍗″彛/璁惧鎯呭喌銆�
+//     * (2)鏃堕挓鍑嗙‘鎬э細杞﹁締鏁版嵁鏃堕挓鍑嗙‘鐜囥�佸崱鍙�/璁惧鍚堟牸鐜囩瓑銆�
+//     * (3)涓婁紶鍙婃椂鎬э細杞﹁締鏁版嵁涓婁紶鍙婃椂鐜囥�佸崱鍙�/璁惧鍚堟牸鐜囩瓑銆�
+//     * (4)澶у浘鍙敤鎬э細杞﹁締鑳屾櫙澶у浘鍙敤鐜囥�佷笉鍙敤閲忕瓑銆�
+//     * (5)杞︾墝鍚堣鎬э細杞︾墝鏈瘑鍒噺銆佽溅鐗岃瘑鍒巼浣庡拰鏄煎璇嗗埆绐佸彉鍗″彛/閲囬泦璁惧鏁伴噺鐏��
+//     * (6)鏁版嵁鍑嗙‘鎬э細杞﹁締鏁版嵁涓昏灞炴�т竴鑷撮噺銆侀噸瑕佸睘鎬т竴鑷撮噺銆�
+//     * (7)鏁版嵁瀹屾暣鎬э細涓嬬骇涓婁紶鐨勮溅杈嗘暟鎹紝鍏」灞炴�т笉瀹屾暣閲忋�佷袱椤瑰睘鎬т笉瀹屾暣閲忋��
+//     * (8)鏁版嵁鍏宠仈鎬э細鏈笂鎶ヨ澶囨暟銆佹湭涓婃姤鎶撴媿閲忋��
+//     * (9)鏁版嵁鍞竴鎬э細杞﹁締鏁版嵁涓嶅敮涓�鏁版嵁銆佷笉鍞竴鏁版嵁閲忋��
+//     * 2銆佸彲鏌ヨ杩�30澶╁唴鐨勬暟鎹紓甯告儏鍐点��
+//     * 3銆佷粖鏃ユ暟鎹洿鏂伴鐜囦负姣�10鍒嗛挓涓�娆°�傚巻鍙叉暟鎹繚鐣欎竴涓湀锛屾瘡鏃ュ噷鏅ㄧ敓鎴愭槰鏃ヤ竴鏁村ぉ鍖哄煙姹囨�荤粨鏋溿��
+//     *
+//     * 娉細浠婃棩鏁版嵁鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦�傛暟鎹獊闄嶇粨璁烘棤娉曠粰鍑恒�傛晠锛屾暟鎹獊闄嶅紓甯告槸鍙拡瀵规埅姝㈠巻鍙茬殑鏁版嵁寮傚父鐩戞祴銆�
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 鎸夊尯鍩熺粺璁¤溅杈嗘暟鎹洃娴嬫寚鏍囬」
+//     */
+//    @PostMapping("/dqd/service/rs/v2/data/passDetect/query")
+//    JSONObject carDetectByArea(@RequestBody CarDetectParam param);
+//
+//    /**
+//     * 閲囬泦璁惧灞炴�х洃娴嬬粨鏋�
+//     * 1銆佹瘡10鍒嗛挓鍚屾璐ㄩ噺璁$畻鏈嶅姟鐨勮祫婧愭暟鎹紝杩涜閲囬泦璁惧灞炴�у紓甯哥洃娴嬨��
+//     * 2銆佷富瑕佸寘鍚細閲囬泦璁惧鍩烘湰淇℃伅浠ュ強缁忕含搴︺�佸浗鏍囩紪鐮佸拰鏃堕棿宸洃娴嬬粨鏋溿�傚彲鏍规嵁缁勭粐銆佺粡绾害鍜屽浗鏍囩紪鐮佺洃娴嬬粨鏋滆繘琛岃繃婊ゃ��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 閲囬泦璁惧灞炴�х洃娴嬬粨鏋�
+//     */
+//    @PostMapping("/dqd/service/rs/v1/device/cameraExpDetailInfo/query")
+//    JSONObject monitorDetail(@RequestBody MonitoringDetailParam param);
+//
+//    /**
+//     * 鍗″彛灞炴�х洃娴嬬粨鏋�
+//     * 1銆佹瘡10鍒嗛挓鍚屾璐ㄩ噺璁$畻鏈嶅姟鐨勮祫婧愭暟鎹紝杩涜鍗″彛灞炴�у紓甯哥洃娴嬨��
+//     * 2銆佷富瑕佸寘鍚細鍗″彛鍩烘湰淇℃伅浠ュ強缁忕含搴︺�佸浗鏍囩紪鐮佺洃娴嬬粨鏋溿�傚彲鏍规嵁缁勭粐銆佺粡绾害鍜屽浗鏍囩紪鐮佺洃娴嬬粨鏋滆繘琛岃繃婊ゃ��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 鍗″彛灞炴�х洃娴嬬粨鏋�
+//     */
+//    @PostMapping("/dqd/service/rs/v1/device/crossExpDetailInfo/query")
+//    JSONObject crossDetail(@RequestBody CrossDetailParam param);
+//
+//    /**
+//     * 鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋�
+//     * 1銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勭偣浣嶄汉鑴告暟閲忥紝瀵规暟鎹噺杩涜鐩戞祴銆�
+//     * 2銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勫崱鍙h繃杞︽暟閲忥紝瀵硅繃杞﹂噺杩涜鐩戞祴.
+//     * 3銆佷汉鑴告暟鎹噺鐩戞祴缁撴灉涓昏鍖呮嫭锛氭甯搞�佹棤鎶撴媿銆佹姄鎷嶈繃灏戙�佹姄鎷嶇獊闄�
+//     * (1)鏃犳姄鎷嶏細鐐逛綅浜鸿劯鏁版嵁閲忎负0
+//     * (2)鎶撴媿杩囧皯锛氱偣浣嶄汉鑴告暟鎹噺灏戜簬鏌愪竴鏁版嵁閲忥紙閰嶇疆锛夈�傚彲閫氳繃鎺ュ彛2.3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細lowFaceCriteria锛夎幏鍙栭厤缃�
+//     * (3)鎶撴媿绐侀檷锛氾紙骞冲潎鎶撴媿閲�-褰撳ぉ鎶撴媿鏁版嵁閲忥級/骞冲潎鎶撴媿閲�>=鏌愪竴姣斾緥锛堥厤缃級銆傚彲閫氳繃鎺ュ彛3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細faceDropCriteriaPercent锛夎幏鍙栭厤缃�
+//     * 4.鍗″彛/璁惧杩囪溅閲忕洃娴嬬粨鏋滀富瑕佸寘鎷細姝e父銆佹棤鎶撴媿銆佹姄鎷嶈繃灏戙�佹姄鎷嶇獊闄�
+//     * (1)鏃犳姄鎷嶏細鍗″彛杩囪溅鏁版嵁閲忎负0
+//     * (2)鎶撴媿杩囧皯锛氬崱鍙h繃杞︽暟鎹噺灏戜簬鏌愪竴鏁版嵁閲忥紙閰嶇疆锛夈�傚彲閫氳繃鎺ュ彛2.3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細lowVelCriteria锛夎幏鍙栭厤缃�
+//     * (3)鎶撴媿绐侀檷锛氾紙骞冲潎鎶撴媿閲�-褰撳ぉ鎶撴媿鏁版嵁閲忥級/骞冲潎鎶撴媿閲�>=鏌愪竴姣斾緥锛堥厤缃級銆傚彲閫氳繃鎺ュ彛3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細velDropCriteriaPercent锛夎幏鍙栭厤缃�
+//     * 5銆佹暟鎹瘡灏忔椂鏇存柊锛屽彧鏀寔鏄ㄦ棩鍜屼粖鏃ョ殑鏌ヨ銆�
+//     *
+//     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦�傛暟鎹獊闄嶄笌鎸佺画鏃犳暟鎹ぉ鏁板畾璁烘棤娉曠粰鍑恒�傛晠锛屾暟鎹獊闄嶅紓甯稿拰鎸佺画鏃犳暟鎹ぉ鏁版槸鍙拡瀵瑰巻鍙茬殑鏁版嵁寮傚父鐩戞祴銆�
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋�
+//     */
+//    @PostMapping("/dqd/service/rs/v1/data/snapCountDetail/query")
+//    JSONObject snapshotDataMonitor(@RequestBody SnapshotDataMonitorParam param);
+//
+//    /**
+//     * 鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉
+//     * 1銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勭偣浣嶄汉鑴告暟閲忓拰寤惰繜鍊掓寕鏁版嵁閲忥紝瀵规椂鏁堟�ц繘琛岀洃娴嬨��
+//     * 2銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勫崱鍙�/璁惧杩囪溅鏁伴噺鍜屽欢杩熷�掓寕鏁版嵁閲忥紝瀵硅繃杞︽椂鏁堟�ц繘琛岀洃娴�.
+//     * 3銆佸垽鏂暟鎹欢杩熷�掓寕渚濇嵁锛�
+//     * (1)寤惰繜锛氭暟鎹帴鏀舵椂闂�-鎶撴媿鏃堕棿 >13s锛堥厤缃級銆傚彲閫氳繃鎺ュ彛3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細faceDelayCriteria 鍜寁elDelayCriteria 锛夎幏鍙栭厤缃�
+//     * (2)鍊掓寕锛氭姄鎷嶆椂闂�-鏁版嵁鎺ユ敹鏃堕棿>5s锛堥厤缃級銆傚彲閫氳繃鎺ュ彛3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細faceHangCriteria鍜寁elHangCriteria锛夎幏鍙栭厤缃�
+//     * 4銆佹暟鎹瘡灏忔椂鏇存柊锛屽彧鏀寔鏄ㄦ棩鍜屼粖鏃ョ殑鏌ヨ銆�
+//     *
+//     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉
+//     */
+//    @PostMapping("/dqd/service/rs/v1/data/snapAgingDetail/query")
+//    JSONObject snapshotDelayMonitor(@RequestBody SnapshotDelayMonitorParam param);
+//
+//    /**
+//     * 鍥剧墖璁块棶鐩戞祴缁撴灉
+//     * 1銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勭偣浣嶄汉鑴告暟鎹腑鍥剧墖鎶芥璁块棶鎯呭喌銆�
+//     * 2銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勫崱鍙�/璁惧杩囪溅鏁版嵁涓浘鐗囨娊妫�璁块棶鎯呭喌銆�
+//     * 3銆佹暟鎹瘡10鍒嗛挓鏇存柊锛屾敮鎸佽繎涓�涓湀鏁版嵁缁撴灉鐨勬煡璇€�備粖鏃ユ暟鎹彉鍖栬緝澶э紝鍥犺�屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰�
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 鍥剧墖璁块棶鐩戞祴缁撴灉
+//     */
+//    @PostMapping("/dqd/service/rs/v1/data/picAccessDetail/query")
+//    JSONObject picAccessMonitor(@RequestBody PicAccessParam param);
+//
+//    /**
+//     * 灞炴�ц瘑鍒噯纭洃娴嬬粨鏋�
+//     * 1銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勫崱鍙�/璁惧杩囪溅鏁版嵁灞炴�ц瘑鍒噯纭�х粨鏋溿��
+//     * 2銆佸彧鏀寔杩戜竴涓湀鐨勫巻鍙茬洃娴嬬粨鏋滄煡璇€��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 灞炴�ц瘑鍒噯纭洃娴嬬粨鏋�
+//     */
+//    @PostMapping("/dqd/service/rs/v1/data/attributeRecognition/query")
+//    JSONObject attrRecognitionMonitor(@RequestBody AttrRecognitionParam param);
+//
+//    /**
+//     * 鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋�
+//     * 1銆� 姣�10鍒嗛挓缁熻浠婃棩鍚勫崱鍙�/璁惧杩囪溅鏁版嵁涓細
+//     * (1)鏁版嵁涓嶅畬鏁存暟閲忓強瀵瑰簲鍚勫睘鎬у瓧娈典笉瀹屾暣鐨勬暟閲忋��
+//     * (2)瀵逛簬涓昏灞炴�т細鍙﹀鍗曠嫭缁熻涓嶅畬鏁撮噺銆�
+//     * 2銆� 鎶撴媿鏁版嵁瀹屾暣锛氳溅杈嗗崱鍙h澶囨姄鎷嶈溅杈嗘暟鎹寘鍚鍚圙A/T 1400.3鏍囧噯鐨勮溅鐗屽彿鐮併�佽溅鐗岄鑹层�佽溅杈嗙被鍨嬨�佽溅杈嗗搧鐗屻�佽溅韬鑹层�佽溅杈嗗瀷鍙峰睘鎬у瓧娈点�傚叾涓紝涓昏灞炴�у寘鎷細杞︾墝鍙风爜銆佽溅鐗岄
+//     * 3銆佷粖鏃ユ暟鎹瘡10鍒嗛挓鏇存柊锛屾敮鎸佽繎涓�涓湀鐨勫睘鎬ц瘑鍒洃娴嬬粨鏋滄煡璇€��
+//     * 娉細浠婃棩鏁版嵁瀹炴椂鍦ㄥ彉锛�10鍒嗛挓鏇存柊涓�娆$殑缁撴灉浠呬緵鍙傝�冦��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋�
+//     */
+//    @PostMapping("/dqd/service/rs/v1/data/attributeIntegrity/query")
+//    JSONObject dataIntegrityMonitoring(@RequestBody DataIntegrityMonitoringParam param);
+//
+//    /**
+//     * 浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
+//     * 1銆佹眹鎬讳汉鑴歌澶囨椿璺冩�с�佹暟鎹強鏃舵�с�佹椂閽熷噯纭�с�佸浘鐗囨湁鏁堟�с�佷汉鑴稿敮涓�鎬у叏妫�鎸囨爣鐩戞祴缁撴灉
+//     * 2銆佸彧鏀寔杩戜竴涓湀鐨勭洃娴嬬粨鏋滄煡璇€��
+//     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
+//     */
+//    @PostMapping("/dqd/service/rs/v2/data/faceFullAmount/query")
+//    JSONObject faceDeviceInspection(@RequestBody FaceDeviceInspectionParam param);
+//
+//    /**
+//     * 浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
+//     * 1銆佹眹鎬讳汉鑴歌澶囧ぇ鍥惧彲鐢ㄦ�с�佸浘鐗囧悎鏍兼�ф娊妫�鎸囨爣鐩戞祴缁撴灉
+//     * 2銆佸彧鏀寔杩戜竴涓湀鐨勭洃娴嬬粨鏋滄煡璇€��
+//     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
+//     */
+//    @PostMapping("/dqd/service/rs/v2/data/faceSampleAmount/query")
+//    JSONObject faceDeviceSampling(@RequestBody FaceDeviceSamplingParam param);
+//
+//    /**
+//     * 杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
+//     * 1銆佹眹鎬昏溅杈嗚澶囨椿璺冩�с�佹暟鎹強鏃舵�с�佹椂閽熷噯纭�с�佹暟鎹畬鏁存�с�佹暟鎹敮涓�鎬у叏妫�鎸囨爣鐩戞祴缁撴灉
+//     * 2銆佸彧鏀寔杩戜竴涓湀鐨勭洃娴嬬粨鏋滄煡璇€��
+//     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
+//     */
+//    @PostMapping("/dqd/service/rs/v2/data/vehFullAmount/query")
+//    JSONObject vehicleDeviceInspection(@RequestBody VehicleDeviceInspectionParam param);
+//
+//    /**
+//     * 杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
+//     * 1銆佹眹鎬昏溅杈嗚澶囧ぇ鍥惧彲鐢ㄦ�с�佹暟鎹噯纭�ф娊妫�鎸囨爣鐩戞祴缁撴灉
+//     * 2銆佸彧鏀寔杩戜竴涓湀鐨勭洃娴嬬粨鏋滄煡璇€��
+//     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦��
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
+//     */
+//    @PostMapping("/dqd/service/rs/v2/data/vehSampleAmount/query")
+//    JSONObject vehicleDeviceSampling(@RequestBody VehicleDeviceSamplingParam param);
+//
+//    /**
+//     * 鍏虫敞鐩戞祴璧勬簮鏌ヨ
+//     * 1銆佹牴鎹渶姹傚彲鍦╥dad閰嶇疆鍚勫尯鍩熷叧娉ㄧ偣浣嶆垨鍗″彛淇℃伅銆侷dad瀵硅繖鎵圭偣浣嶆垨鍗″彛杩涜寮傚父鐩戞祴銆傛鎺ュ彛鍙煡璇㈠叧娉ㄧ殑璧勬簮淇℃伅銆�
+//     * @param param 璇锋眰鍙傛暟
+//     * @return 鍏虫敞鐩戞祴璧勬簮鏌ヨ
+//     */
+//    @PostMapping("/dqd/service/rs/v1/alarm/monitorResource/query")
+//    JSONObject monitorResource(@RequestBody MonitorResourceParam param);
+//
+//    /**
+//     * 鎸囨爣閰嶇疆淇℃伅鏌ヨ
+//     * 鏌ヨ鍚勭被鏁版嵁寮傚父鏍囧噯銆備緥濡傦細鎶撴媿鏁版嵁閲忎綆浜庡灏戣涓烘暟鎹噺杩囧皯
+//     * @return 鎸囨爣閰嶇疆淇℃伅鏌ヨ
+//     */
+//    @GetMapping("/dqd/service/rs/v1/statistics/criteria/query")
+//    JSONObject criteria();
+//
+//    /**
+//     * 缁勭粐鏍戞煡璇�
+//     * 鏀寔鍥芥爣缁勭粐鏍戝拰涓氬姟缁勭粐鏍戜俊鎭煡璇€��
+//     * @return 缁勭粐鏍戞煡璇�
+//     */
+//    @PostMapping("/dqd/service/rs/v1/orgInfo/standard/query")
+//    JSONObject organizationTree(@RequestBody OrganizationTreeParam param);
 
-    /**
-     * 鎸夊尯鍩熺粺璁$紪鐮佸紓甯歌澶囨垨鍗″彛
-     * 1銆佹牴鎹粍缁囧尯鍩熸瘡10鍒嗛挓缁熻閲囬泦璁惧鍜屽崱鍙e浗鏍囩紪鐮佸紓甯搁噺銆�
-     * 2銆佸紓甯稿寘鎷細
-     * (1)鍓�6浣嶄笉绗﹀悎鏍囧噯锛氬浗鏍囩紪鐮佸墠鍏綅涓庣粍缁囩紪鍙峰墠鍏綅姣旇緝
-     * (2)11-13浣嶇鍚堟爣鍑嗭細鏍规嵁鐜板満瀹為檯鎯呭喌鍦╥dad鏁版嵁閰嶇疆鐣岄潰閰嶇疆鎵�寰�,鍙�氳繃鎸囨爣閰嶇疆淇℃伅鎺ュ彛鑾峰彇閰嶇疆鍙傛暟
-     * (3)缂栫爜闀垮害涓嶆槸20浣�
-     * 3銆佸綋鏃ユ暟鎹洿鏂伴鐜囦负姣�10鍒嗛挓涓�娆°�傚巻鍙叉暟鎹繚鐣欎竴涓湀锛屾瘡鏃ュ噷鏅ㄧ敓鎴愭槰鏃ヤ竴鏁村ぉ鍖哄煙姹囨�荤粨鏋溿��
-     * @param param 璇锋眰鍙傛暟
-     * @return 鎸夊尯鍩熺粺璁$紪鐮佸紓甯歌澶囨垨鍗″彛
-     */
-    @PostMapping("/dqd/service/rs/v1/device/gbCodeExpInfo/query")
-    JSONObject codeByArea(@RequestBody CodeByAreaParam param);
 
-    /**
-     * 鎸夊尯鍩熺粺璁′汉鑴告暟鎹洃娴嬫寚鏍囬」
-     * 1銆佹牴鎹尯鍩熸瘡10鍒嗛挓姹囨�诲尯鍩熷唴浠ヤ笅鐩戞祴缁撴灉锛�
-     * (1)璁惧娲昏穬鎬э細鏃犳姄鎷嶃�佹姄鎷嶈繃灏戙�佹姄鎷嶇獊闄嶃��
-     * (2)鏃堕挓鍑嗙‘鎬э細鏃堕挓鍑嗙‘鐜囥�佷笉鍑嗙‘閲忋�佽澶囧悎鏍肩巼绛夈��
-     * (3)涓婁紶鍙婃椂鎬э細涓婁紶鍙婃椂鐜囥�佸欢杩熷悇鍖洪棿鏁版嵁閲忋�佽澶囧悎鏍肩巼銆�
-     * (4)澶у浘鍙敤鎬э細澶у浘鍙敤閲忋�佽闂紓甯搁噺銆佹爣娉ㄥ紓甯搁噺銆佸ぇ灏忓浘涓嶄竴鑷撮噺銆�
-     * (5)鍥剧墖鍚堟牸鎬э細浜鸿劯鍞竴閲忋�佷笉鍞竴閲忕瓑銆�
-     * (6)鍥剧墖鏈夋晥鎬э細寤烘ā澶辫触閲忋�佷綆璇勫垎閲忕瓑銆�
-     * (7)鍥剧墖鍏宠仈鎬э細鏈笂鎶ヨ澶囨暟銆佹湭涓婃姤鎶撴媿閲忋��
-     * (8)鏁版嵁鍞竴鎬э細涓嶅敮涓�鏁版嵁銆佷笉鍞竴鏁版嵁閲忋��
-     * 2銆佸彲鏌ヨ杩�30澶╁唴鐨勬暟鎹紓甯告儏鍐点��
-     * 3銆佷粖鏃ユ暟鎹洿鏂伴鐜囦负姣�10鍒嗛挓涓�娆°�傚巻鍙叉暟鎹繚鐣欎竴涓湀锛屾瘡鏃ュ噷鏅ㄧ敓鎴愭槰鏃ヤ竴鏁村ぉ鍖哄煙姹囨�荤粨鏋溿��
-     *
-     * 娉細浠婃棩鏁版嵁鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦�傛暟鎹獊闄嶇粨璁烘棤娉曠粰鍑恒�傛晠锛屾暟鎹獊闄嶅紓甯告槸鍙拡瀵规埅姝㈠巻鍙茬殑鏁版嵁寮傚父鐩戞祴銆�
-     * @param param 璇锋眰鍙傛暟
-     * @return 鎸夊尯鍩熺粺璁′汉鑴告暟鎹洃娴嬫寚鏍囬」
-     */
-    @PostMapping("/dqd/service/rs/v2/data/faceDetect/query")
-    JSONObject faceDetectByArea(@RequestBody FaceDetectParam param);
-
-    /**
-     * 鎸夊尯鍩熺粺璁¤溅杈嗘暟鎹洃娴嬫寚鏍囬」
-     * 1銆佹牴鎹尯鍩熸瘡10鍒嗛挓姹囨�诲尯鍩熷唴浠ヤ笅鐩戞祴缁撴灉锛�
-     * (1)璁惧娲昏穬鎬э細鏃犳姄鎷嶃�佹姄鎷嶈繃灏戙�佹姄鎷嶇獊闄嶇殑鍗″彛/璁惧鎯呭喌銆�
-     * (2)鏃堕挓鍑嗙‘鎬э細杞﹁締鏁版嵁鏃堕挓鍑嗙‘鐜囥�佸崱鍙�/璁惧鍚堟牸鐜囩瓑銆�
-     * (3)涓婁紶鍙婃椂鎬э細杞﹁締鏁版嵁涓婁紶鍙婃椂鐜囥�佸崱鍙�/璁惧鍚堟牸鐜囩瓑銆�
-     * (4)澶у浘鍙敤鎬э細杞﹁締鑳屾櫙澶у浘鍙敤鐜囥�佷笉鍙敤閲忕瓑銆�
-     * (5)杞︾墝鍚堣鎬э細杞︾墝鏈瘑鍒噺銆佽溅鐗岃瘑鍒巼浣庡拰鏄煎璇嗗埆绐佸彉鍗″彛/閲囬泦璁惧鏁伴噺鐏��
-     * (6)鏁版嵁鍑嗙‘鎬э細杞﹁締鏁版嵁涓昏灞炴�т竴鑷撮噺銆侀噸瑕佸睘鎬т竴鑷撮噺銆�
-     * (7)鏁版嵁瀹屾暣鎬э細涓嬬骇涓婁紶鐨勮溅杈嗘暟鎹紝鍏」灞炴�т笉瀹屾暣閲忋�佷袱椤瑰睘鎬т笉瀹屾暣閲忋��
-     * (8)鏁版嵁鍏宠仈鎬э細鏈笂鎶ヨ澶囨暟銆佹湭涓婃姤鎶撴媿閲忋��
-     * (9)鏁版嵁鍞竴鎬э細杞﹁締鏁版嵁涓嶅敮涓�鏁版嵁銆佷笉鍞竴鏁版嵁閲忋��
-     * 2銆佸彲鏌ヨ杩�30澶╁唴鐨勬暟鎹紓甯告儏鍐点��
-     * 3銆佷粖鏃ユ暟鎹洿鏂伴鐜囦负姣�10鍒嗛挓涓�娆°�傚巻鍙叉暟鎹繚鐣欎竴涓湀锛屾瘡鏃ュ噷鏅ㄧ敓鎴愭槰鏃ヤ竴鏁村ぉ鍖哄煙姹囨�荤粨鏋溿��
-     *
-     * 娉細浠婃棩鏁版嵁鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦�傛暟鎹獊闄嶇粨璁烘棤娉曠粰鍑恒�傛晠锛屾暟鎹獊闄嶅紓甯告槸鍙拡瀵规埅姝㈠巻鍙茬殑鏁版嵁寮傚父鐩戞祴銆�
-     * @param param 璇锋眰鍙傛暟
-     * @return 鎸夊尯鍩熺粺璁¤溅杈嗘暟鎹洃娴嬫寚鏍囬」
-     */
-    @PostMapping("/dqd/service/rs/v2/data/passDetect/query")
-    JSONObject carDetectByArea(@RequestBody CarDetectParam param);
-
-    /**
-     * 閲囬泦璁惧灞炴�х洃娴嬬粨鏋�
-     * 1銆佹瘡10鍒嗛挓鍚屾璐ㄩ噺璁$畻鏈嶅姟鐨勮祫婧愭暟鎹紝杩涜閲囬泦璁惧灞炴�у紓甯哥洃娴嬨��
-     * 2銆佷富瑕佸寘鍚細閲囬泦璁惧鍩烘湰淇℃伅浠ュ強缁忕含搴︺�佸浗鏍囩紪鐮佸拰鏃堕棿宸洃娴嬬粨鏋溿�傚彲鏍规嵁缁勭粐銆佺粡绾害鍜屽浗鏍囩紪鐮佺洃娴嬬粨鏋滆繘琛岃繃婊ゃ��
-     * @param param 璇锋眰鍙傛暟
-     * @return 閲囬泦璁惧灞炴�х洃娴嬬粨鏋�
-     */
-    @PostMapping("/dqd/service/rs/v1/device/cameraExpDetailInfo/query")
-    JSONObject monitorDetail(@RequestBody MonitoringDetailParam param);
-
-    /**
-     * 鍗″彛灞炴�х洃娴嬬粨鏋�
-     * 1銆佹瘡10鍒嗛挓鍚屾璐ㄩ噺璁$畻鏈嶅姟鐨勮祫婧愭暟鎹紝杩涜鍗″彛灞炴�у紓甯哥洃娴嬨��
-     * 2銆佷富瑕佸寘鍚細鍗″彛鍩烘湰淇℃伅浠ュ強缁忕含搴︺�佸浗鏍囩紪鐮佺洃娴嬬粨鏋溿�傚彲鏍规嵁缁勭粐銆佺粡绾害鍜屽浗鏍囩紪鐮佺洃娴嬬粨鏋滆繘琛岃繃婊ゃ��
-     * @param param 璇锋眰鍙傛暟
-     * @return 鍗″彛灞炴�х洃娴嬬粨鏋�
-     */
-    @PostMapping("/dqd/service/rs/v1/device/crossExpDetailInfo/query")
-    JSONObject crossDetail(@RequestBody CrossDetailParam param);
-
-    /**
-     * 鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋�
-     * 1銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勭偣浣嶄汉鑴告暟閲忥紝瀵规暟鎹噺杩涜鐩戞祴銆�
-     * 2銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勫崱鍙h繃杞︽暟閲忥紝瀵硅繃杞﹂噺杩涜鐩戞祴.
-     * 3銆佷汉鑴告暟鎹噺鐩戞祴缁撴灉涓昏鍖呮嫭锛氭甯搞�佹棤鎶撴媿銆佹姄鎷嶈繃灏戙�佹姄鎷嶇獊闄�
-     * (1)鏃犳姄鎷嶏細鐐逛綅浜鸿劯鏁版嵁閲忎负0
-     * (2)鎶撴媿杩囧皯锛氱偣浣嶄汉鑴告暟鎹噺灏戜簬鏌愪竴鏁版嵁閲忥紙閰嶇疆锛夈�傚彲閫氳繃鎺ュ彛2.3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細lowFaceCriteria锛夎幏鍙栭厤缃�
-     * (3)鎶撴媿绐侀檷锛氾紙骞冲潎鎶撴媿閲�-褰撳ぉ鎶撴媿鏁版嵁閲忥級/骞冲潎鎶撴媿閲�>=鏌愪竴姣斾緥锛堥厤缃級銆傚彲閫氳繃鎺ュ彛3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細faceDropCriteriaPercent锛夎幏鍙栭厤缃�
-     * 4.鍗″彛/璁惧杩囪溅閲忕洃娴嬬粨鏋滀富瑕佸寘鎷細姝e父銆佹棤鎶撴媿銆佹姄鎷嶈繃灏戙�佹姄鎷嶇獊闄�
-     * (1)鏃犳姄鎷嶏細鍗″彛杩囪溅鏁版嵁閲忎负0
-     * (2)鎶撴媿杩囧皯锛氬崱鍙h繃杞︽暟鎹噺灏戜簬鏌愪竴鏁版嵁閲忥紙閰嶇疆锛夈�傚彲閫氳繃鎺ュ彛2.3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細lowVelCriteria锛夎幏鍙栭厤缃�
-     * (3)鎶撴媿绐侀檷锛氾紙骞冲潎鎶撴媿閲�-褰撳ぉ鎶撴媿鏁版嵁閲忥級/骞冲潎鎶撴媿閲�>=鏌愪竴姣斾緥锛堥厤缃級銆傚彲閫氳繃鎺ュ彛3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細velDropCriteriaPercent锛夎幏鍙栭厤缃�
-     * 5銆佹暟鎹瘡灏忔椂鏇存柊锛屽彧鏀寔鏄ㄦ棩鍜屼粖鏃ョ殑鏌ヨ銆�
-     *
-     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦�傛暟鎹獊闄嶄笌鎸佺画鏃犳暟鎹ぉ鏁板畾璁烘棤娉曠粰鍑恒�傛晠锛屾暟鎹獊闄嶅紓甯稿拰鎸佺画鏃犳暟鎹ぉ鏁版槸鍙拡瀵瑰巻鍙茬殑鏁版嵁寮傚父鐩戞祴銆�
-     * @param param 璇锋眰鍙傛暟
-     * @return 鎶撴媿鏁版嵁閲忕洃娴嬬粨鏋�
-     */
-    @PostMapping("/dqd/service/rs/v1/data/snapCountDetail/query")
-    JSONObject snapshotDataMonitor(@RequestBody SnapshotDataMonitorParam param);
-
-    /**
-     * 鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉
-     * 1銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勭偣浣嶄汉鑴告暟閲忓拰寤惰繜鍊掓寕鏁版嵁閲忥紝瀵规椂鏁堟�ц繘琛岀洃娴嬨��
-     * 2銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勫崱鍙�/璁惧杩囪溅鏁伴噺鍜屽欢杩熷�掓寕鏁版嵁閲忥紝瀵硅繃杞︽椂鏁堟�ц繘琛岀洃娴�.
-     * 3銆佸垽鏂暟鎹欢杩熷�掓寕渚濇嵁锛�
-     * (1)寤惰繜锛氭暟鎹帴鏀舵椂闂�-鎶撴媿鏃堕棿 >13s锛堥厤缃級銆傚彲閫氳繃鎺ュ彛3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細faceDelayCriteria 鍜寁elDelayCriteria 锛夎幏鍙栭厤缃�
-     * (2)鍊掓寕锛氭姄鎷嶆椂闂�-鏁版嵁鎺ユ敹鏃堕棿>5s锛堥厤缃級銆傚彲閫氳繃鎺ュ彛3.2 鎸囨爣閰嶇疆淇℃伅鏌ヨ锛堣繑鍥炲弬鏁帮細faceHangCriteria鍜寁elHangCriteria锛夎幏鍙栭厤缃�
-     * 4銆佹暟鎹瘡灏忔椂鏇存柊锛屽彧鏀寔鏄ㄦ棩鍜屼粖鏃ョ殑鏌ヨ銆�
-     *
-     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦��
-     * @param param 璇锋眰鍙傛暟
-     * @return 鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉
-     */
-    @PostMapping("/dqd/service/rs/v1/data/snapAgingDetail/query")
-    JSONObject snapshotDelayMonitor(@RequestBody SnapshotDelayMonitorParam param);
-
-    /**
-     * 鍥剧墖璁块棶鐩戞祴缁撴灉
-     * 1銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勭偣浣嶄汉鑴告暟鎹腑鍥剧墖鎶芥璁块棶鎯呭喌銆�
-     * 2銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勫崱鍙�/璁惧杩囪溅鏁版嵁涓浘鐗囨娊妫�璁块棶鎯呭喌銆�
-     * 3銆佹暟鎹瘡10鍒嗛挓鏇存柊锛屾敮鎸佽繎涓�涓湀鏁版嵁缁撴灉鐨勬煡璇€�備粖鏃ユ暟鎹彉鍖栬緝澶э紝鍥犺�屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰�
-     * @param param 璇锋眰鍙傛暟
-     * @return 鍥剧墖璁块棶鐩戞祴缁撴灉
-     */
-    @PostMapping("/dqd/service/rs/v1/data/picAccessDetail/query")
-    JSONObject picAccessMonitor(@RequestBody PicAccessParam param);
-
-    /**
-     * 灞炴�ц瘑鍒噯纭洃娴嬬粨鏋�
-     * 1銆佹瘡10鍒嗛挓缁熻浠婃棩鍚勫崱鍙�/璁惧杩囪溅鏁版嵁灞炴�ц瘑鍒噯纭�х粨鏋溿��
-     * 2銆佸彧鏀寔杩戜竴涓湀鐨勫巻鍙茬洃娴嬬粨鏋滄煡璇€��
-     * @param param 璇锋眰鍙傛暟
-     * @return 灞炴�ц瘑鍒噯纭洃娴嬬粨鏋�
-     */
-    @PostMapping("/dqd/service/rs/v1/data/attributeRecognition/query")
-    JSONObject attrRecognitionMonitor(@RequestBody AttrRecognitionParam param);
-
-    /**
-     * 鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋�
-     * 1銆� 姣�10鍒嗛挓缁熻浠婃棩鍚勫崱鍙�/璁惧杩囪溅鏁版嵁涓細
-     * (1)鏁版嵁涓嶅畬鏁存暟閲忓強瀵瑰簲鍚勫睘鎬у瓧娈典笉瀹屾暣鐨勬暟閲忋��
-     * (2)瀵逛簬涓昏灞炴�т細鍙﹀鍗曠嫭缁熻涓嶅畬鏁撮噺銆�
-     * 2銆� 鎶撴媿鏁版嵁瀹屾暣锛氳溅杈嗗崱鍙h澶囨姄鎷嶈溅杈嗘暟鎹寘鍚鍚圙A/T 1400.3鏍囧噯鐨勮溅鐗屽彿鐮併�佽溅鐗岄鑹层�佽溅杈嗙被鍨嬨�佽溅杈嗗搧鐗屻�佽溅韬鑹层�佽溅杈嗗瀷鍙峰睘鎬у瓧娈点�傚叾涓紝涓昏灞炴�у寘鎷細杞︾墝鍙风爜銆佽溅鐗岄
-     * 3銆佷粖鏃ユ暟鎹瘡10鍒嗛挓鏇存柊锛屾敮鎸佽繎涓�涓湀鐨勫睘鎬ц瘑鍒洃娴嬬粨鏋滄煡璇€��
-     * 娉細浠婃棩鏁版嵁瀹炴椂鍦ㄥ彉锛�10鍒嗛挓鏇存柊涓�娆$殑缁撴灉浠呬緵鍙傝�冦��
-     * @param param 璇锋眰鍙傛暟
-     * @return 鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋�
-     */
-    @PostMapping("/dqd/service/rs/v1/data/attributeIntegrity/query")
-    JSONObject dataIntegrityMonitoring(@RequestBody DataIntegrityMonitoringParam param);
-
-    /**
-     * 浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
-     * 1銆佹眹鎬讳汉鑴歌澶囨椿璺冩�с�佹暟鎹強鏃舵�с�佹椂閽熷噯纭�с�佸浘鐗囨湁鏁堟�с�佷汉鑴稿敮涓�鎬у叏妫�鎸囨爣鐩戞祴缁撴灉
-     * 2銆佸彧鏀寔杩戜竴涓湀鐨勭洃娴嬬粨鏋滄煡璇€��
-     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦��
-     * @param param 璇锋眰鍙傛暟
-     * @return 浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
-     */
-    @PostMapping("/dqd/service/rs/v2/data/faceFullAmount/query")
-    JSONObject faceDeviceInspection(@RequestBody FaceDeviceInspectionParam param);
-
-    /**
-     * 浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
-     * 1銆佹眹鎬讳汉鑴歌澶囧ぇ鍥惧彲鐢ㄦ�с�佸浘鐗囧悎鏍兼�ф娊妫�鎸囨爣鐩戞祴缁撴灉
-     * 2銆佸彧鏀寔杩戜竴涓湀鐨勭洃娴嬬粨鏋滄煡璇€��
-     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦��
-     * @param param 璇锋眰鍙傛暟
-     * @return 浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
-     */
-    @PostMapping("/dqd/service/rs/v2/data/faceSampleAmount/query")
-    JSONObject faceDeviceSampling(@RequestBody FaceDeviceSamplingParam param);
-
-    /**
-     * 杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
-     * 1銆佹眹鎬昏溅杈嗚澶囨椿璺冩�с�佹暟鎹強鏃舵�с�佹椂閽熷噯纭�с�佹暟鎹畬鏁存�с�佹暟鎹敮涓�鎬у叏妫�鎸囨爣鐩戞祴缁撴灉
-     * 2銆佸彧鏀寔杩戜竴涓湀鐨勭洃娴嬬粨鏋滄煡璇€��
-     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦��
-     * @param param 璇锋眰鍙傛暟
-     * @return 杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
-     */
-    @PostMapping("/dqd/service/rs/v2/data/vehFullAmount/query")
-    JSONObject vehicleDeviceInspection(@RequestBody VehicleDeviceInspectionParam param);
-
-    /**
-     * 杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
-     * 1銆佹眹鎬昏溅杈嗚澶囧ぇ鍥惧彲鐢ㄦ�с�佹暟鎹噯纭�ф娊妫�鎸囨爣鐩戞祴缁撴灉
-     * 2銆佸彧鏀寔杩戜竴涓湀鐨勭洃娴嬬粨鏋滄煡璇€��
-     * 娉細浠婃棩鏁版嵁姣�10鍒嗛挓鍙樺寲杈冨ぇ锛屽洜鑰屼粖鏃ユ姄鎷嶅紓甯哥粺璁℃儏鍐典粎渚涘弬鑰冦��
-     * @param param 璇锋眰鍙傛暟
-     * @return 杞﹁締璁惧鎶芥鎸囨爣鐩戞祴缁撴灉
-     */
-    @PostMapping("/dqd/service/rs/v2/data/vehSampleAmount/query")
-    JSONObject vehicleDeviceSampling(@RequestBody VehicleDeviceSamplingParam param);
-
-    /**
-     * 鍏虫敞鐩戞祴璧勬簮鏌ヨ
-     * 1銆佹牴鎹渶姹傚彲鍦╥dad閰嶇疆鍚勫尯鍩熷叧娉ㄧ偣浣嶆垨鍗″彛淇℃伅銆侷dad瀵硅繖鎵圭偣浣嶆垨鍗″彛杩涜寮傚父鐩戞祴銆傛鎺ュ彛鍙煡璇㈠叧娉ㄧ殑璧勬簮淇℃伅銆�
-     * @param param 璇锋眰鍙傛暟
-     * @return 鍏虫敞鐩戞祴璧勬簮鏌ヨ
-     */
-    @PostMapping("/dqd/service/rs/v1/alarm/monitorResource/query")
-    JSONObject monitorResource(@RequestBody MonitorResourceParam param);
-
-    /**
-     * 鎸囨爣閰嶇疆淇℃伅鏌ヨ
-     * 鏌ヨ鍚勭被鏁版嵁寮傚父鏍囧噯銆備緥濡傦細鎶撴媿鏁版嵁閲忎綆浜庡灏戣涓烘暟鎹噺杩囧皯
-     * @return 鎸囨爣閰嶇疆淇℃伅鏌ヨ
-     */
-    @GetMapping("/dqd/service/rs/v1/statistics/criteria/query")
-    JSONObject criteria();
-
-    /**
-     * 缁勭粐鏍戞煡璇�
-     * 鏀寔鍥芥爣缁勭粐鏍戝拰涓氬姟缁勭粐鏍戜俊鎭煡璇€��
-     * @return 缁勭粐鏍戞煡璇�
-     */
-    @PostMapping("/dqd/service/rs/v1/orgInfo/standard/query")
-    JSONObject organizationTree(@RequestBody OrganizationTreeParam param);
 }
diff --git a/ycl-server/src/main/java/com/ycl/feign/HKFeignConfig.java b/ycl-server/src/main/java/com/ycl/feign/HKFeignConfig.java
index d0b40ba..3612b8a 100644
--- a/ycl-server/src/main/java/com/ycl/feign/HKFeignConfig.java
+++ b/ycl-server/src/main/java/com/ycl/feign/HKFeignConfig.java
@@ -1,24 +1,48 @@
 package com.ycl.feign;
 
 import com.ycl.interceptor.HKFeignInterceptor;
+import feign.Client;
+import feign.Logger;
 import feign.RequestInterceptor;
 import feign.codec.ErrorDecoder;
+import org.springframework.cloud.configuration.SSLContextFactory;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
 
 /**
  *娴峰悍鎺ュ彛閰嶇疆
  */
 @Configuration
 public class HKFeignConfig {
-    /**
-     * 娉ㄥ叆鎷︽埅鍣�
-     */
+    //璺宠繃ssl楠岃瘉
     @Bean
-    public RequestInterceptor requestInterceptor(){
-        return new HKFeignInterceptor();
+    public Client generateClient() {
+        try {
+            SSLContext ctx = SSLContext.getInstance("SSL");
+            X509TrustManager tm = new X509TrustManager() {
+                @Override
+                public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+                }
+                @Override
+                public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+                }
+                @Override
+                public X509Certificate[] getAcceptedIssuers() {
+                    return null;
+                }
+            };
+            ctx.init(null, new TrustManager[]{tm}, null);
+            return new Client.Default(ctx.getSocketFactory(), (hostname, session) -> true);
+        } catch (Exception e) {
+            return null;
+        }
     }
-
     /**
      * 璋冪敤寮傚父澶勭悊
      * @return
@@ -27,4 +51,9 @@
     public ErrorDecoder errorDecoder() {
         return new FeignErrorDecoder();
     }
+
+    @Bean
+    Logger.Level feignLoggerLevel(){
+        return Logger.Level.FULL;
+    }
 }
diff --git a/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java b/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java
index 46d442f..32685ba 100644
--- a/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java
+++ b/ycl-server/src/main/java/com/ycl/feign/HkApiUtil.java
@@ -85,59 +85,6 @@
     }
 
 
-    /**
-     * 璋冪敤娴峰悍鎺ュ彛 鍩虹鏁版嵁骞冲彴 Get璇锋眰
-     *
-     * @param apiUrl 鎺ュ彛鍦板潃锛�
-     * @param params 璇锋眰鍙傛暟
-     * @param resultType 鍝嶅簲缁撴灉鎺ユ敹绫�
-     * @return 璋冪敤缁撴灉
-     */
-    public static <T> List<T> sendGetAPI(String host,String appKey,String appSecret,String apiUrl, BaseParam params, Class<T> resultType) {
-        // STEP1锛氳缃钩鍙板弬鏁帮紝鏍规嵁瀹為檯鎯呭喌,璁剧疆host appkey appsecret 涓変釜鍙傛暟.
-        ArtemisConfig.host = host; // 骞冲彴鐨刬p绔彛
-        ArtemisConfig.appKey = appKey;  // 瀵嗛挜appkey
-        ArtemisConfig.appSecret = appSecret;// 瀵嗛挜appSecret
-
-        // STEP2锛氳缃甇penAPI鎺ュ彛鐨勪笂涓嬫枃
-        final String ARTEMIS_PATH = "/artemis/aaoo";
-
-        // STEP3锛氳缃帴鍙g殑URI鍦板潃
-        final String previewURLsApi = ARTEMIS_PATH + apiUrl;
-        Map<String, String> path = new HashMap<String, String>(2) {
-            {
-                put("https://", previewURLsApi);
-            }
-        };
-
-        // STEP4锛氳缃弬鏁版彁浜ゆ柟寮�
-        // STEP5锛氱粍瑁呰姹傚弬鏁�
-        Map<String, String> queryMap = object2Map(params);
-        log.info("璇锋眰鍙傛暟"+queryMap);
-        // STEP6锛氳皟鐢ㄦ帴鍙�
-        String result = null;
-        List<T> dataList = new ArrayList<>();
-        for (int i = 0; i < 10; i++) {
-            result = ArtemisHttpUtil.doGetArtemis(path, queryMap, null,  null , null);
-            JSONObject jsonObject = JSONObject.parseObject(result);
-            log.info("璇锋眰缁撴灉"+jsonObject);
-            if(jsonObject.getString("code") == null || !ApiConstants.HKSuccessCode.equals(jsonObject.getString("code"))){
-                log.error("璇锋眰澶辫触{}",result);
-                dataList = null;
-                break;
-            }
-            List<T> resultList = HkApiUtil.getDataList(JSONObject.parseObject(result), resultType);
-            if(CollectionUtils.isEmpty(resultList) || resultList.size()<ApiConstants.HKPageSize) {
-                dataList.addAll(resultList);
-                break;
-            }else {
-                dataList.addAll(resultList);
-                params.setPageNo(params.getPageNo()+1);
-            }
-        }
-
-        return dataList;
-    }
 
     //瑙f瀽鏁版嵁
     private static <T> List<T> getDataList(JSONObject jsonObject, Class<T> resultClass) {
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
index 1a7ea32..e649db4 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
@@ -539,8 +539,9 @@
     @Override
     public Map<String, Map<String, Object>> dashboard(DashboardQuery dashboardQuery) {
         Date now = new Date();
-        dashboardQuery.setStartTime(DateUtils.getMouthStart(now));
-        dashboardQuery.setEndTime(DateUtils.getMouthEnd(now));
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        dashboardQuery.setStartTime(format.format(DateUtils.getDayStart(now)));
+        dashboardQuery.setEndTime(format.format(DateUtils.getDayEnd(now)));
         List<CheckScore> dashboard = scoreMapper.dashboard(dashboardQuery);
         //鍒濆鍖栧悇涓尯鍘挎暟鎹�
         Map<String, Map<String, Object>> resultMap = new HashMap<>();
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 9fe4dc9..a8ee2ee 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
@@ -1120,8 +1120,16 @@
         }
         if (query.getStart() != null) query.setStart(query.getStart() + " 00:00:00");
         if (query.getEnd() != null) query.setEnd(query.getEnd() + " 23:59:59");
-
-        return baseMapper.export(query);
+        List<WorkOrderVO> export = baseMapper.export(query);
+        export.forEach(result->{
+           StringBuilder tag = new StringBuilder("" + (result.getProvinceTagVideo() ? "鐪佸巺瑙嗛銆�" : "")+(result.getProvinceTagCar() ? "鐪佸巺杞﹁締銆�" : "")+(result.getProvinceTagFace() ? "鐪佸巺浜鸿劯銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : ""));
+            // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲��
+            if (tag.toString().endsWith("銆�")) {
+                tag = new StringBuilder(tag.substring(0, tag.length() - 1));
+            }
+            result.setTag(tag.toString());
+        });
+        return export;
     }
 
     /**
diff --git a/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java b/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java
index 4c575fb..9cd10d1 100644
--- a/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/CheckScoreTask.java
@@ -151,10 +151,12 @@
         String adjustWay = checkTemplate.getAdjustWay();
         BigDecimal adjustCoefficient = checkTemplate.getAdjustCoefficient();
         if (CheckConstants.Multiply.equals(adjustWay)) {
-            scoreFinal = adjustCoefficient.multiply(scoreFinal).multiply(new BigDecimal(100));
+//            scoreFinal = adjustCoefficient.multiply(scoreFinal).multiply(new BigDecimal(100));
+            scoreFinal = adjustCoefficient.multiply(scoreFinal);
         } else if (CheckConstants.Divided.equals(adjustWay)) {
             //鍥涜垗浜斿叆淇濈暀灏忔暟鍚庡洓浣�
-            scoreFinal = scoreFinal.divide(adjustCoefficient, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
+//            scoreFinal = scoreFinal.divide(adjustCoefficient, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
+            scoreFinal = scoreFinal.divide(adjustCoefficient, 4, RoundingMode.HALF_UP);
         }
         checkScore.setCreateTime(new Date());
         checkScore.setExamineTag(Integer.parseInt(examineTag + ""));
diff --git a/ycl-server/src/main/java/com/ycl/task/HKTask.java b/ycl-server/src/main/java/com/ycl/task/HKTask.java
index 784d9cf..759cf0e 100644
--- a/ycl-server/src/main/java/com/ycl/task/HKTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java
@@ -3,18 +3,27 @@
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.mongodb.client.result.DeleteResult;
+import com.ycl.feign.HKClient;
 import com.ycl.feign.HkApiUtil;
+import com.ycl.feign.UYClient;
+import com.ycl.platform.domain.entity.CheckIndexCar;
+import com.ycl.platform.domain.entity.CheckIndexFace;
 import com.ycl.platform.domain.entity.TMonitor;
 import com.ycl.platform.domain.param.HK.*;
 import com.ycl.platform.domain.result.HK.*;
+import com.ycl.platform.domain.result.UY.MonitorQualifyResult;
 import com.ycl.platform.domain.result.UY.VideoOnlineResult;
 import com.ycl.platform.domain.vo.UpdateOnlineVO;
+import com.ycl.platform.mapper.CheckIndexCarMapper;
+import com.ycl.platform.mapper.CheckIndexFaceMapper;
 import com.ycl.platform.mapper.TMonitorMapper;
 import com.ycl.platform.mapper.WorkOrderMapper;
 import com.ycl.platform.service.*;
 import com.ycl.utils.DateUtils;
 import constant.ApiConstants;
 import constant.CheckConstants;
+import enumeration.general.AreaDeptEnum;
+import enumeration.general.PublishType;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -24,6 +33,8 @@
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
@@ -39,6 +50,14 @@
     public String appKey;
     @Value("${HK.appSecret}")
     public String appSecret;
+    @Value("${HK.carCode}")
+    public String carCode;
+    @Value("${HK.faceCode}")
+    public String faceCode;
+    @Value("${HK.carProvinceCode}")
+    public String carProvinceCode;
+    @Value("${HK.faceProvinceCode}")
+    public String faceProvinceCode;
     @Autowired
     private MongoTemplate mongoTemplate;
     @Autowired
@@ -49,6 +68,17 @@
     private TMonitorMapper monitorMapper;
     @Autowired
     private UYErrorTypeCheckService uyErrorTypeCheckService;
+    @Autowired
+    private HKClient hkClient;
+    @Autowired
+    private ICheckIndexCarService carService;
+    @Autowired
+    private CheckIndexCarMapper carMapper;
+    @Autowired
+    private ICheckIndexFaceService faceService;
+    @Autowired
+    private CheckIndexFaceMapper faceMapper;
+
     //杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉
     public void vehicleDeviceInspectionTask() {
         log.info("寮�濮嬫墽琛岃溅杈嗚澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
@@ -57,7 +87,7 @@
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
         param.setDataType(ApiConstants.HK_DataType_CAR);
-        List<VehicleDeviceInspectionResult> list = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v2/data/vehFullAmount/query", param, VehicleDeviceInspectionResult.class);
+        List<VehicleDeviceInspectionResult> list = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v2/data/vehFullAmount/query", param, VehicleDeviceInspectionResult.class);
         if (!CollectionUtils.isEmpty(list)) {
             //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
@@ -86,7 +116,7 @@
         param.setPageNo(ApiConstants.PageNo);
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
-        List<FaceDeviceInspectionResult> list = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v2/data/faceFullAmount/query", param, FaceDeviceInspectionResult.class);
+        List<FaceDeviceInspectionResult> list = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v2/data/faceFullAmount/query", param, FaceDeviceInspectionResult.class);
         if (!CollectionUtils.isEmpty(list)) {
             //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
@@ -96,7 +126,7 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(list,CheckConstants.Rule_Category_Face);
+            pointService.setDeviceTagByGB(list, CheckConstants.Rule_Category_Face);
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insertAll(list);
             //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞�
@@ -117,7 +147,7 @@
         carParam.setPageSize(ApiConstants.HKPageSize);
         carParam.setDate(DateUtils.getDate());
         carParam.setDataType(ApiConstants.HK_DataType_CAR);
-        List<SnapshotDataMonitorResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/snapCountDetail/query", carParam, SnapshotDataMonitorResult.class);
+        List<SnapshotDataMonitorResult> carList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v1/data/snapCountDetail/query", carParam, SnapshotDataMonitorResult.class);
         if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
@@ -129,7 +159,7 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
+            pointService.setDeviceTagByGB(carList, CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
             carList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_CAR));
             mongoTemplate.insertAll(carList);
@@ -141,9 +171,9 @@
         faceParam.setPageSize(ApiConstants.HKPageSize);
         faceParam.setDate(DateUtils.getDate());
         faceParam.setDataType(ApiConstants.HK_DataType_FACE);
-        List<SnapshotDataMonitorResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/snapCountDetail/query", faceParam, SnapshotDataMonitorResult.class);
+        List<SnapshotDataMonitorResult> faceList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v1/data/snapCountDetail/query", faceParam, SnapshotDataMonitorResult.class);
         if (!CollectionUtils.isEmpty(faceList)) {
-            log.info("缁撴灉鏁版嵁澶у皬锛歿}",faceList.size());
+            log.info("缁撴灉鏁版嵁澶у皬锛歿}", faceList.size());
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
                     .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))
@@ -154,29 +184,29 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(faceList,CheckConstants.Rule_Category_Face);
+            pointService.setDeviceTagByGB(faceList, CheckConstants.Rule_Category_Face);
             //瀛樻斁鍦╩ongo涓�
             faceList.forEach(item -> item.setDataType(ApiConstants.HK_DataType_FACE));
             mongoTemplate.insertAll(faceList);
         }
         //淇敼online鐘舵�佷互鍙婄敓鎴愬伐鍗�
-        List<SnapshotDataMonitorResult> totalResult =new ArrayList<>();
+        List<SnapshotDataMonitorResult> totalResult = new ArrayList<>();
         totalResult.addAll(carList);
         totalResult.addAll(faceList);
-        if(!CollectionUtils.isEmpty(totalResult)) {
+        if (!CollectionUtils.isEmpty(totalResult)) {
             List<String> numbers = totalResult.stream().map(SnapshotDataMonitorResult::getExternalIndexCode).collect(Collectors.toList());
             Map<String, TMonitor> map = monitorMapper.selectList(new QueryWrapper<TMonitor>().in("serial_number", numbers))
                     .stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity()));
             Date now = new Date();
             //杩囨护
             totalResult = totalResult.stream().filter(item -> map.get(item.getExternalIndexCode()) != null).collect(Collectors.toList());
-            totalResult.forEach(item->{
+            totalResult.forEach(item -> {
                 TMonitor monitor = map.get(item.getExternalIndexCode());
                 item.setIp(monitor.getIp());
             });
             List<UpdateOnlineVO> willUpdateList = totalResult.stream().map(item -> {
                 UpdateOnlineVO vo = new UpdateOnlineVO();
-                vo.setOnline(item.getDataCount()>0?1:-1);
+                vo.setOnline(item.getDataCount() > 0 ? 1 : -1);
                 vo.setIp(map.get(item.getExternalIndexCode()).getIp());
                 vo.setUpdateTime(now);
                 return vo;
@@ -184,7 +214,7 @@
             monitorMapper.updateOnlineFromUyOrHk(willUpdateList);
             //绂荤嚎鐢熸垚宸ュ崟,涓�涓猧p鍙敓鎴愪竴涓伐鍗�
             List<SnapshotDataMonitorResult> workOrders = new ArrayList<>(totalResult.stream()
-                    .filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getDataCount()>0?1:-1))
+                    .filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getDataCount() > 0 ? 1 : -1))
                     .collect(Collectors.toMap(
                             SnapshotDataMonitorResult::getIp,
                             Function.identity(),
@@ -203,7 +233,7 @@
         param.setPageNo(ApiConstants.PageNo);
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
-        List<MonitoringDetailResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/device/cameraExpDetailInfo/query", param, MonitoringDetailResult.class);
+        List<MonitoringDetailResult> faceList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v1/device/cameraExpDetailInfo/query", param, MonitoringDetailResult.class);
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
@@ -214,7 +244,7 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(faceList,CheckConstants.Rule_Category_Face);
+            pointService.setDeviceTagByGB(faceList, CheckConstants.Rule_Category_Face);
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insertAll(faceList);
         }
@@ -229,7 +259,7 @@
         param.setPageNo(ApiConstants.PageNo);
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
-        List<CrossDetailResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/device/crossExpDetailInfo/query", param, CrossDetailResult.class);
+        List<CrossDetailResult> carList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v1/device/crossExpDetailInfo/query", param, CrossDetailResult.class);
         if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
             Query query = new Query(Criteria
@@ -240,7 +270,7 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
+            pointService.setDeviceTagByGB(carList, CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insertAll(carList);
         }
@@ -256,7 +286,7 @@
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
         param.setDataType(ApiConstants.HK_DataType_CAR);
-        List<DataIntegrityMonitoringResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/attributeIntegrity/query", param, DataIntegrityMonitoringResult.class);
+        List<DataIntegrityMonitoringResult> carList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v1/data/attributeIntegrity/query", param, DataIntegrityMonitoringResult.class);
 
         if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
@@ -268,7 +298,7 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
+            pointService.setDeviceTagByGB(carList, CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insertAll(carList);
         }
@@ -284,7 +314,7 @@
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
         param.setDataType(ApiConstants.HK_DataType_CAR);
-        List<AttrRecognitionMonitorResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/attributeRecognition/query", param, AttrRecognitionMonitorResult.class);
+        List<AttrRecognitionMonitorResult> carList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v1/data/attributeRecognition/query", param, AttrRecognitionMonitorResult.class);
 
         if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
@@ -296,7 +326,7 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
+            pointService.setDeviceTagByGB(carList, CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insertAll(carList);
         }
@@ -314,7 +344,7 @@
         carParam.setPageSize(ApiConstants.HKPageSize);
         carParam.setDate(DateUtils.getDate());
         carParam.setDataType(ApiConstants.HK_DataType_CAR);
-        List<SnapshotDelayMonitorResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/snapAgingDetail/query", carParam, SnapshotDelayMonitorResult.class);
+        List<SnapshotDelayMonitorResult> carList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v1/data/snapAgingDetail/query", carParam, SnapshotDelayMonitorResult.class);
 
         if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
@@ -329,7 +359,7 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
+            pointService.setDeviceTagByGB(carList, CheckConstants.Rule_Category_Car);
             mongoTemplate.insertAll(carList);
         }
 
@@ -339,7 +369,7 @@
         faceParam.setPageSize(ApiConstants.HKPageSize);
         faceParam.setDate(DateUtils.getDate());
         faceParam.setDataType(ApiConstants.HK_DataType_FACE);
-        List<SnapshotDelayMonitorResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/snapAgingDetail/query", faceParam, SnapshotDelayMonitorResult.class);
+        List<SnapshotDelayMonitorResult> faceList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v1/data/snapAgingDetail/query", faceParam, SnapshotDelayMonitorResult.class);
 
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
@@ -354,7 +384,7 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(faceList,CheckConstants.Rule_Category_Face);
+            pointService.setDeviceTagByGB(faceList, CheckConstants.Rule_Category_Face);
             mongoTemplate.insertAll(faceList);
         }
         log.info("缁撴潫鎶撴媿鏁版嵁鏃跺欢鐩戞祴缁撴灉鏁版嵁鍚屾");
@@ -369,7 +399,7 @@
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
         param.setDataType(ApiConstants.HK_DataType_CAR);
-        List<PicAccessResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v1/data/picAccessDetail/query", param, PicAccessResult.class);
+        List<PicAccessResult> carList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v1/data/picAccessDetail/query", param, PicAccessResult.class);
 
         if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
@@ -381,7 +411,7 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
+            pointService.setDeviceTagByGB(carList, CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insertAll(carList);
         }
@@ -397,7 +427,7 @@
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
         param.setDataType(ApiConstants.HK_DataType_CAR);
-        List<VehicleDeviceSamplingResult> carList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v2/data/vehSampleAmount/query", param, VehicleDeviceSamplingResult.class);
+        List<VehicleDeviceSamplingResult> carList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v2/data/vehSampleAmount/query", param, VehicleDeviceSamplingResult.class);
 
         if (!CollectionUtils.isEmpty(carList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
@@ -409,7 +439,7 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(carList,CheckConstants.Rule_Category_Car);
+            pointService.setDeviceTagByGB(carList, CheckConstants.Rule_Category_Car);
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insertAll(carList);
         }
@@ -424,7 +454,7 @@
         param.setPageNo(ApiConstants.PageNo);
         param.setPageSize(ApiConstants.HKPageSize);
         param.setDate(DateUtils.getDate());
-        List<FaceDeviceSamplingResult> faceList = HkApiUtil.sendAPI(host,appKey,appSecret,"/api/dqd/service/rs/v2/data/faceSampleAmount/query", param, FaceDeviceSamplingResult.class);
+        List<FaceDeviceSamplingResult> faceList = HkApiUtil.sendAPI(host, appKey, appSecret, "/api/dqd/service/rs/v2/data/faceSampleAmount/query", param, FaceDeviceSamplingResult.class);
 
         if (!CollectionUtils.isEmpty(faceList)) {
             //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
@@ -436,65 +466,149 @@
                     item.setNo(item.getExternalIndexCode());
                 }
             });
-            pointService.setDeviceTagByGB(faceList,CheckConstants.Rule_Category_Face);
+            pointService.setDeviceTagByGB(faceList, CheckConstants.Rule_Category_Face);
             //瀛樻斁鍦╩ongo涓�
             mongoTemplate.insertAll(faceList);
         }
         log.info("缁撴潫浜鸿劯璁惧鎶芥鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾");
     }
 
-    //涓氬姟鏍�
-    public void TreeTask() {
-        log.info("寮�濮嬫墽琛屼笟鍔℃爲鏁版嵁");
-        TreeParam param = new TreeParam();
-        param.setStartDate("2024-12-06");
-        param.setEndDate("2024-12-06");
-        List<HKTreeResult> faceList = HkApiUtil.sendGetAPI(host,appKey,appSecret,"/api/third/timeTree", param, HKTreeResult.class);
-//        if (!CollectionUtils.isEmpty(faceList)) {
-//            //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
-//            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,CheckConstants.Rule_Category_Face);
-//            //瀛樻斁鍦╩ongo涓�
-//            mongoTemplate.insertAll(faceList);
-//        }
-        log.info("缁撴潫涓氬姟鏍戞暟鎹�");
-    }
-
     //鑰冩牳鎴愮哗
     public void HkScoreTask() {
         log.info("寮�濮嬫墽琛屾捣搴疯�冩牳鎴愮哗鏁版嵁");
+        //鍑嗗鏂板鎴栦慨鏀圭殑鏁版嵁
+        List<CheckIndexCar> cars = new ArrayList<>();
+        List<CheckIndexFace> faces = new ArrayList<>();
+        // 鏌ヨ鏄惁index琛ㄥ凡缁忓瓨鍦ㄤ粖鏃ユ暟鎹�
+        List<CheckIndexFace> checkIndexFaceList = faceMapper.selectToday(utils.DateUtils.getDate());
+        List<CheckIndexCar> checkIndexCarList = carMapper.selectToday(utils.DateUtils.getDate());
+
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        // 鑾峰彇褰撳墠鏃堕棿鐨凜alendar瀹炰緥
+        Calendar calendar = Calendar.getInstance();
+        // 璁剧疆鏃堕棿涓哄墠涓�澶�
+        calendar.add(Calendar.DATE, -1);
+        // 鑾峰彇鍓嶄竴澶╃殑Date瀵硅薄
+        Date yesterday = calendar.getTime();
+        //鍏堣姹傚叏閲忔暟鎹�
         ScoreParam param = new ScoreParam();
-        param.setStartDate("2024-12-06");
-        param.setEndDate("2024-12-06");
-        List<HKScoreResult> dataList = HkApiUtil.sendGetAPI(host,appKey,appSecret,"/api/third/score/get", param, HKScoreResult.class);
-//        if (!CollectionUtils.isEmpty(faceList)) {
-//            //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎
-//            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,CheckConstants.Rule_Category_Face);
-//            //瀛樻斁鍦╩ongo涓�
-//            mongoTemplate.insertAll(faceList);
-//        }
+        param.setStartDate(format.format(yesterday));
+        param.setEndDate(format.format(yesterday));
+        param.setFocusFlag(ApiConstants.HK_FOCUS_FLAG_ALL);
+        param.setCarTree(carCode);
+        param.setFaceTree(faceCode);
+        JSONObject scoreJson = hkClient.getScore(param);
+        if (scoreJson != null) {
+            String code = scoreJson.getString("code");
+            if (ApiConstants.HKSuccessCode.equals(code)) {
+                List<HKScoreResult> data = scoreJson.getList("data", HKScoreResult.class);
+                //鏍规嵁鏁版嵁杞崲涓篿ndex瀵硅薄
+                data.forEach(score -> {
+                    CheckIndexCar car = new CheckIndexCar();
+                    CheckIndexFace face = new CheckIndexFace();
+                    score2Index(score, car, face);
+                    car.setExamineTag(CheckConstants.Examine_Tag_County);
+                    face.setExamineTag(CheckConstants.Examine_Tag_County);
+                    Optional<CheckIndexCar> carFirst = checkIndexCarList.stream()
+                            .filter(index -> CheckConstants.Examine_Tag_County.equals(index.getExamineTag()) && car.getDeptId().equals(index.getDeptId()))
+                            .findFirst();
+                    Optional<CheckIndexFace> faceFirst = checkIndexFaceList.stream()
+                            .filter(index -> CheckConstants.Examine_Tag_County.equals(index.getExamineTag()) && face.getDeptId().equals(index.getDeptId()))
+                            .findFirst();
+                    if (carFirst.isPresent()) {
+                        car.setId(carFirst.get().getId());
+                    }
+                    if (faceFirst.isPresent()) {
+                        face.setId(faceFirst.get().getId());
+                    }
+                    cars.add(car);
+                    faces.add(face);
+                });
+            }
+        }
+
+        //鍏堣姹傜渷鍘呮暟鎹�
+        ScoreParam provinceParam = new ScoreParam();
+        provinceParam.setStartDate(format.format(yesterday));
+        provinceParam.setEndDate(format.format(yesterday));
+        provinceParam.setFocusFlag(ApiConstants.HK_FOCUS_FLAG_ALL);
+        provinceParam.setCarTree(carProvinceCode);
+        provinceParam.setFaceTree(faceProvinceCode);
+        JSONObject scoreProvinceJson = hkClient.getScore(provinceParam);
+        if (scoreProvinceJson != null) {
+            String code = scoreProvinceJson.getString("code");
+            if (ApiConstants.HKSuccessCode.equals(code)) {
+                List<HKScoreResult> data = scoreProvinceJson.getList("data", HKScoreResult.class);
+
+                //鏍规嵁鏁版嵁杞崲涓篿ndex瀵硅薄
+                data.forEach(score -> {
+                    CheckIndexCar car = new CheckIndexCar();
+                    CheckIndexFace face = new CheckIndexFace();
+                    score2Index(score, car, face);
+                    car.setExamineTag(CheckConstants.Examine_Tag_Province);
+                    face.setExamineTag(CheckConstants.Examine_Tag_Province);
+                    Optional<CheckIndexCar> carFirst = checkIndexCarList.stream()
+                            .filter(index -> CheckConstants.Examine_Tag_Province.equals(index.getExamineTag()) && car.getDeptId().equals(index.getDeptId()))
+                            .findFirst();
+                    Optional<CheckIndexFace> faceFirst = checkIndexFaceList.stream()
+                            .filter(index -> CheckConstants.Examine_Tag_Province.equals(index.getExamineTag()) && face.getDeptId().equals(index.getDeptId()))
+                            .findFirst();
+                    if (carFirst.isPresent()) {
+                        car.setId(carFirst.get().getId());
+                    }
+                    if (faceFirst.isPresent()) {
+                        face.setId(faceFirst.get().getId());
+                    }
+                    cars.add(car);
+                    faces.add(face);
+                });
+            }
+        }
+        //瀛樻斁鎴愮哗鍒癿ysql锛屽鏋滃瓨鍦ㄥ垯鏇挎崲涓嶅瓨鍦ㄥ氨鏂板銆�
+        if (!CollectionUtils.isEmpty(cars)) carService.saveOrUpdateBatch(cars);
+        if (!CollectionUtils.isEmpty(faces)) faceService.saveOrUpdateBatch(faces);
         log.info("缁撴潫娴峰悍鑰冩牳鎴愮哗鏁版嵁");
+    }
+
+    private void score2Index(HKScoreResult score, CheckIndexCar car, CheckIndexFace face) {
+        car.setDeptId(Long.parseLong(AreaDeptEnum.fromCode(score.getAreaCode()).getDeptId() + ""));
+        car.setCreateTime(new Date());
+        car.setPublish(PublishType.PUBLISHED.getCode());
+        face.setDeptId(Long.parseLong(AreaDeptEnum.fromCode(score.getAreaCode()).getDeptId() + ""));
+        face.setCreateTime(new Date());
+        face.setPublish(PublishType.PUBLISHED.getCode());
+
+        car.setViewConnectStability(new BigDecimal(score.getDownCarDataUploadScoreString() == null ? "1" : score.getDownCarDataUploadScoreString()));
+        car.setSiteOnline(new BigDecimal(score.getDownCrossQualityCarScoreString() == null ? "1" : score.getDownCrossQualityCarScoreString()));
+        car.setDeviceDirectoryConsistent(new BigDecimal(score.getDownCrossNumPushCarScoreString() == null ? "1" : score.getDownCrossNumPushCarScoreString()));
+        //TODO:寰呭畬鍠�
+        car.setVehicleInformationCollectionAccuracy(new BigDecimal("1"));
+        //TODO:寰呭畬鍠� 閲嶇偣鎬庝箞鍔犺繘鍘�
+        car.setVehicleCaptureIntegrity(new BigDecimal(score.getDownCrossAllCarDataIntegrityScoreString() == null ? "1" : score.getDownCrossAllCarDataIntegrityScoreString()));
+        //TODO:寰呭畬鍠� 涓や釜椤瑰悎鎴愪竴涓�
+        car.setVehicleCaptureAccuracy(new BigDecimal("1"));
+        car.setVehicleTimingAccuracy(new BigDecimal(score.getDownCrossCarInvertScoreString() == null ? "1" : score.getDownCrossCarInvertScoreString()));
+        car.setVehicleUploadTimeliness(new BigDecimal(score.getDownCrossAllCarDelayScoreString() == null ? "1" : score.getDownCrossAllCarDelayScoreString()));
+        //TODO:寰呭畬鍠�
+        car.setVehicleUrlAvailability(new BigDecimal("1"));
+        car.setVehiclePictureAvailability(new BigDecimal(score.getDownCrossPictureQualityCarScoreString() == null ? "1" : score.getDownCrossPictureQualityCarScoreString()));
+
+        face.setViewConnectStability(new BigDecimal(score.getDownFaceDataUploadScoreString() == null ? "1" : score.getDownFaceDataUploadScoreString()));
+        face.setSiteOnline(new BigDecimal(score.getDownFaceDataUploadScoreString() == null ? "1" : score.getDownFaceDataUploadScoreString()));
+        face.setDeviceDirectoryConsistent(new BigDecimal(score.getDownCrossNumPushCarScoreString() == null ? "1" : score.getDownCrossNumPushCarScoreString()));
+        //TODO:寰呭畬鍠�
+        face.setFaceInformationCollectionAccuracy(new BigDecimal("1"));
+        //TODO:寰呭畬鍠�
+        face.setFacePictureQualification(new BigDecimal("1"));
+        face.setFaceTimingAccuracy(new BigDecimal(score.getDownCrossFaceInvertScoreString() == null ? "1" : score.getDownCrossFaceInvertScoreString()));
+        face.setFaceUploadTimeliness(new BigDecimal(score.getDownCrossAllFaceDelayScoreString() == null ? "1" : score.getDownCrossAllFaceDelayScoreString()));
+        face.setFacePictureAvailability(new BigDecimal(score.getDownCrossPictureQualityFaceScoreString() == null ? "1" : score.getDownCrossPictureQualityFaceScoreString()));
     }
 
     //瑙f瀽鏁版嵁
     private <T> List<T> getDataList(JSONObject jsonObject, Class<T> resultClass, String message) {
         if (jsonObject != null && ApiConstants.HKSuccessCode.equals(jsonObject.getString("code"))) {
-            log.info("鏁版嵁鏍煎紡"+jsonObject);
+            log.info("鏁版嵁鏍煎紡" + jsonObject);
             JSONObject data = jsonObject.getJSONObject("data");
             if (data == null) {
                 log.error(message, jsonObject);
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 c7b3be9..b57ea36 100644
--- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java
@@ -83,72 +83,74 @@
 //        Date yesterday = DateUtils.addDays(new Date(), -1);
         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);
-        //mongo鍝佺墝鏁版嵁
-        Query OSDQuery = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
-        Map<String, OsdCheckResult> osdMap = mongoTemplate.find(query, OsdCheckResult.class).stream().collect(Collectors.toMap(OsdCheckResult::getDeviceNo, Function.identity()));
-        //鏁版嵁搴搈onitor琛ㄦ暟鎹�
-        Map<String, TMonitorVO> monitorVOMap = monitorMapper.selectMonitorVOList().stream().collect(Collectors.toMap(TMonitorVO::getSerialNumber, Function.identity()));
-        //鐐逛綅鏁版嵁
-        Map<String, YwPoint> pointMap = ywPointService.list(new QueryWrapper<YwPoint>()).stream().collect(Collectors.toMap(YwPoint::getSerialNumber, Function.identity()));
+        if(!CollectionUtils.isEmpty(oneMachineFileResults)) {
+            //mongo鍝佺墝鏁版嵁
+            Query OSDQuery = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
+            Map<String, OsdCheckResult> osdMap = mongoTemplate.find(query, OsdCheckResult.class).stream().collect(Collectors.toMap(OsdCheckResult::getDeviceNo, Function.identity()));
+            //鏁版嵁搴搈onitor琛ㄦ暟鎹�
+            Map<String, TMonitorVO> monitorVOMap = monitorMapper.selectMonitorVOList().stream().collect(Collectors.toMap(TMonitorVO::getSerialNumber, Function.identity()));
+            //鐐逛綅鏁版嵁
+            Map<String, YwPoint> pointMap = ywPointService.list(new QueryWrapper<YwPoint>()).stream().collect(Collectors.toMap(YwPoint::getSerialNumber, Function.identity()));
 
-        //閲嶇偣鐐逛綅闆嗗悎瀛楀吀(瑙f瀽SXJCJQY瀛楁)
-        SysDictData sysDictData = new SysDictData();
-        sysDictData.setDictType("platform_important_site");
-        List<SysDictData> DictDataList = dictDataService.selectDictDataList(sysDictData);
-        //閲囬泦鍖哄煙涓洪噸鐐圭偣浣嶇殑闆嗗悎
-        List<String> importantSite = DictDataList.stream().map(SysDictData::getDictValue).collect(Collectors.toList());
+            //閲嶇偣鐐逛綅闆嗗悎瀛楀吀(瑙f瀽SXJCJQY瀛楁)
+            SysDictData sysDictData = new SysDictData();
+            sysDictData.setDictType("platform_important_site");
+            List<SysDictData> DictDataList = dictDataService.selectDictDataList(sysDictData);
+            //閲囬泦鍖哄煙涓洪噸鐐圭偣浣嶇殑闆嗗悎
+            List<String> importantSite = DictDataList.stream().map(SysDictData::getDictValue).collect(Collectors.toList());
 
-        //鍑嗗鎻掑叆璁惧琛ㄧ殑鏁版嵁
-        List<TMonitor> monitorList = new ArrayList<>();
-        //鍑嗗鎻掑叆鐐逛綅琛ㄧ殑鏁版嵁
-        List<YwPoint> ywPointList = new ArrayList<>();
+            //鍑嗗鎻掑叆璁惧琛ㄧ殑鏁版嵁
+            List<TMonitor> monitorList = new ArrayList<>();
+            //鍑嗗鎻掑叆鐐逛綅琛ㄧ殑鏁版嵁
+            List<YwPoint> ywPointList = new ArrayList<>();
 
 
-        //鍏ㄥ勾鐣欏瓨
-        for (MonitorQualifyResult result : oneMachineFileResults) {
-            TMonitor monitor = getMonitor(result, monitorVOMap, osdMap);
-            YwPoint point = getPoint(result, pointMap, importantSite);
-            monitorList.add(monitor);
-            ywPointList.add(point);
-        }
-        //娣诲姞鑰佹暟鎹�
-        List<String> numbers = CollectionUtils.isEmpty(monitorList) ? new ArrayList<>() : monitorList.stream().map(TMonitor::getSerialNumber).collect(Collectors.toList());
-        monitorVOMap.forEach((key, value) -> {
-            if (!numbers.contains(key)) {
-                TMonitor monitor = new TMonitor();
-                BeanUtils.copyProperties(value, monitor);
-                //濉ˉ鍝佺墝
-                OsdCheckResult osdCheckResult = osdMap.get(key);
-                if (osdCheckResult != null) {
-                    monitor.setDeviceType(osdCheckResult.getDeviceBrand());
-                }
-
+            //鍏ㄥ勾鐣欏瓨
+            for (MonitorQualifyResult result : oneMachineFileResults) {
+                TMonitor monitor = getMonitor(result, monitorVOMap, osdMap);
+                YwPoint point = getPoint(result, pointMap, importantSite);
                 monitorList.add(monitor);
+                ywPointList.add(point);
             }
-        });
-        List<String> points = CollectionUtils.isEmpty(ywPointList) ? new ArrayList<>() : ywPointList.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList());
-        pointMap.forEach((key, value) -> {
-            //鑰佽澶囩姸鎬佹敼涓轰笉鍙備笌鑰冩牳
-            if (!points.contains(key)) {
-                value.setExamineStatus(Boolean.FALSE);
-                //鍗曚綅璁剧疆涓虹┖
-                value.setUnitId(null);
-                ywPointList.add(value);
-            }
-        });
+            //娣诲姞鑰佹暟鎹�
+            List<String> numbers = CollectionUtils.isEmpty(monitorList) ? new ArrayList<>() : monitorList.stream().map(TMonitor::getSerialNumber).collect(Collectors.toList());
+            monitorVOMap.forEach((key, value) -> {
+                if (!numbers.contains(key)) {
+                    TMonitor monitor = new TMonitor();
+                    BeanUtils.copyProperties(value, monitor);
+                    //濉ˉ鍝佺墝
+                    OsdCheckResult osdCheckResult = osdMap.get(key);
+                    if (osdCheckResult != null) {
+                        monitor.setDeviceType(osdCheckResult.getDeviceBrand());
+                    }
 
-        log.info("result闆嗗悎{},璁惧闆嗗悎{},鐐逛綅闆嗗悎{}", oneMachineFileResults.size(), monitorList.size(), ywPointList.size());
-        //鎻掑叆鏁版嵁搴�
-        if (!CollectionUtils.isEmpty(monitorList)) {
-            monitorMapper.deleteAll();
-            monitorService.saveBatch(monitorList);
-        }
-        if (!CollectionUtils.isEmpty(ywPointList)) {
-            ywPointMapper.deleteAll();
-            ywPointService.saveBatch(ywPointList);
-        }
-        //鏂扮殑鏁版嵁鏀惧叆Redis涓瓑寰呰�冩牳鎸囨爣浠诲姟浣跨敤(寮冪敤锛屾敼涓烘爣绛惧舰寮�)
+                    monitorList.add(monitor);
+                }
+            });
+            List<String> points = CollectionUtils.isEmpty(ywPointList) ? new ArrayList<>() : ywPointList.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList());
+            pointMap.forEach((key, value) -> {
+                //鑰佽澶囩姸鎬佹敼涓轰笉鍙備笌鑰冩牳
+                if (!points.contains(key)) {
+                    value.setExamineStatus(Boolean.FALSE);
+                    //鍗曚綅璁剧疆涓虹┖锛圱ODO锛氫负鍟ワ級
+                    value.setUnitId(null);
+                    ywPointList.add(value);
+                }
+            });
+
+            log.info("result闆嗗悎{},璁惧闆嗗悎{},鐐逛綅闆嗗悎{}", oneMachineFileResults.size(), monitorList.size(), ywPointList.size());
+            //鎻掑叆鏁版嵁搴�
+            if (!CollectionUtils.isEmpty(monitorList)) {
+                monitorMapper.deleteAll();
+                monitorService.saveBatch(monitorList);
+            }
+            if (!CollectionUtils.isEmpty(ywPointList)) {
+                ywPointMapper.deleteAll();
+                ywPointService.saveBatch(ywPointList);
+            }
+            //鏂扮殑鏁版嵁鏀惧叆Redis涓瓑寰呰�冩牳鎸囨爣浠诲姟浣跨敤(寮冪敤锛屾敼涓烘爣绛惧舰寮�)
 //        redisTemplate.opsForValue().set(RedisConstant.New_Monitor_Set, JSONArray.toJSONString(newMonitorList));
+        }
         log.info("缁撴潫鍚屾mongodb涓�鏈轰竴妗e埌鏁版嵁搴�");
     }
 
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 2c78faf..faa53de 100644
--- a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
+++ b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
@@ -233,7 +233,6 @@
     /**
      * 鑾峰彇鏌愭湀寮�濮嬫棩鏈�
      */
-    //TODO:鏍¢獙閫昏緫鏄惁姝g‘
     public static String getMouthStart(@Nullable Date date) {
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
         Calendar c = Calendar.getInstance();
diff --git a/ycl-server/src/main/resources/application-dev.yml b/ycl-server/src/main/resources/application-dev.yml
index c1636bd..c6fcd80 100644
--- a/ycl-server/src/main/resources/application-dev.yml
+++ b/ycl-server/src/main/resources/application-dev.yml
@@ -151,6 +151,10 @@
   host: 51.92.65.49
   appKey: 29555942
   appSecret: t9U7tCplCyYHzQPPL7cH
+  carCode: gb
+  faceCode: gb
+  carProvinceCode: 2_car
+  faceProvinceCode: 3_face
 
 DH:
   userName: admin
diff --git a/ycl-server/src/main/resources/application-prod.yml b/ycl-server/src/main/resources/application-prod.yml
index a9f9a62..52c87cd 100644
--- a/ycl-server/src/main/resources/application-prod.yml
+++ b/ycl-server/src/main/resources/application-prod.yml
@@ -110,7 +110,7 @@
 request:
   retry: 4 # 鏈�澶ч噸璇曟鏁�
   youYunDomain: http://51.92.65.56 # 浼樹簯鍦板潃
-#  haiKangDomain: 51.92.65.48 # 娴峰悍鍦板潃
+  haiKangDomain: http://51.92.65.49 # 娴峰悍鍦板潃
 youYun:
   tenantId: e10adc3949ba59abbe56e057f20f88dd
   email: yunwei-app
@@ -125,7 +125,13 @@
   host: 51.92.65.49
   appKey: 29555942
   appSecret: t9U7tCplCyYHzQPPL7cH
+  carCode: gb
+  faceCode: gb
+  carProvinceCode: 2_car
+  faceProvinceCode: 3_face
   1111: Hik12345+
+
+
 DH:
   userName: admin
   password: zg@2024dx
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 57197dc..d403d91 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -95,7 +95,7 @@
             #{number}
         </foreach>
     </select>
-
+    <!-- TODO:寮傚父鎭㈠鐩戞帶鍜屾槸鍚︿骇鐢熷伐鍗曞瓧娈�-->
     <select id="selectTMonitorList" resultType="com.ycl.platform.domain.vo.TMonitorVO">
         select m.id, m.serial_number, name, site_type, mac_addr, ip, camera_fun_type, longitude, latitude,
         camera_capture_area,
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
index 783bf1f..4f2c8b9 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -92,7 +92,7 @@
         ORDER BY wo.work_order_no DESC
     </select>
 
-    <select id="export" resultMap="BaseResultMap">
+    <select id="export" resultType = "com.ycl.platform.domain.vo.WorkOrderVO">
         SELECT
         wo.id,wo.status,
         wo.work_order_no,
@@ -111,11 +111,18 @@
         p.yw_person_name,
         tm.name as source,
         tm.ip as ip,
+        yp.province_tag_video,
+        yp.province_tag_car,
+        yp.province_tag_face,
+        yp.important_tag,
+        yp.important_command_image_tag,
+        yp.dept_tag,
         GROUP_CONCAT(DISTINCT da.dict_label ORDER BY da.dict_label SEPARATOR ',') AS errorType,
         GROUP_CONCAT(DISTINCT ci.img_url ORDER BY ci.create_time DESC SEPARATOR ',') AS imgListStr
         FROM
         t_work_order wo
         INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number
+        INNER JOIN t_yw_point yp ON wo.serial_number = yp.serial_number
         INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no
         INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type'
         INNER JOIN t_yw_unit u ON wo.unit_id = u.id AND u.deleted = 0
@@ -212,9 +219,9 @@
     <select id="getOfflineWorkOrder" resultType="java.lang.String">
         select tm.ip
         FROM t_work_order wo
-                 INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number
+        INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number
         where wo.status != 'AUDITING_SUCCESS' and wo.deleted = 0
-          AND (EXISTS(
+        AND (EXISTS (
                 SELECT 1
                 FROM t_work_order_error_type twoet
                 WHERE twoet.work_order_no = wo.work_order_no

--
Gitblit v1.8.0