From 7c54e8233ccad83697a84317a4b8194d85d7fd42 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 14 十一月 2024 18:19:16 +0800
Subject: [PATCH] 最新版本541200007

---
 server/system_service/src/main/java/com/doumee/core/utils/Constants.java                                                  |   20 +
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RuleEventSearchDataResponse.java  |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/InMemberDataVO.java                |   42 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TodayParkingDataResponse.java     |   17 +
 server/visits/dmvisit_admin/src/main/resources/bootstrap.yml                                                              |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/ParkingStatisticResponse.java     |   12 +
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventFiledOptionsRequest.java |    7 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TodayCarDataResponse.java         |   12 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java                                   |    5 
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java                                  |  102 ++++-----
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java                                |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/VisitRetentionDataVO.java          |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java                                |   26 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WaningEventDataListVO.java         |   28 ++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Cars.java                                       |    4 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java                                |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WaningEventDataVO.java             |   16 -
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java                     |    1 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/SecurityBoardVO.java               |   33 +-
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/VisitDataVO.java                   |   11 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java                     |    1 
 server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java                                                   |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java                                  |    6 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java            |   49 ++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java                  |  213 ++++++++++++++++---
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventSearchRequest.java       |    2 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java                       |   14 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java                                    |    7 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java                           |    8 
 server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/SortRequest.java                  |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/CarsMapper.java                                       |    3 
 31 files changed, 504 insertions(+), 150 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
index 91918e1..6bedf52 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -139,6 +139,8 @@
     public static final String TMS_INTERFACE_URL_PREFIX ="TMS_INTERFACE_URL_PREFIX" ;
     public static final String MYSQL_BACKUP_CDOE ="MYSQL_BACKUP_CDOE" ;
     public static final String MYSQL_BACKUP_DIR ="MYSQL_BACKUP_DIR" ;
+    public static final String EVENT_FILES_PRIVATE_DOMAIN ="EVENT_FILES_PRIVATE_DOMAIN" ;
+    public static final String EVENT_FILES_PUBLIC_DOMAIN ="EVENT_FILES_PUBLIC_DOMAIN" ;
     public static  boolean DEALING_HK_SYNCPRIVILEGE= false;
     public static  boolean DEALING_HK_SYNCDEVICE = false;
     public static  boolean DEALING_HK_SYNCPLATFORM = false;
@@ -378,6 +380,16 @@
          int invalid =9;
     }
 
+    public interface RetentionCarType{
+        //杞﹁締绫诲瀷 0鍐呴儴杞﹁締 1鐩稿叧鏂硅溅杈� 2璁垮杞﹁締 3鍐呰繍鐗╂祦杞� 4澶栧崗杞﹁締 5甯傚叕鍙稿嵏璐ц溅
+         int internal = 0;
+         int relation = 1;
+         int visitor = 2;
+         int selfTruck = 3;
+         int outTruck = 4;
+         int cityComTruck = 5;
+    }
+
 
     public interface EmpowerStatus{
         //涓�鍗¢�氭巿鏉冧笅鍙戠姸鎬� 0寰呬笅鍙� 1宸蹭笅鍙� 2涓嬪彂鎴愬姛   3宸插彇娑� 4涓嬪彂澶辫触 5浠诲姟涓嬭浇宸茬粨鏉�
@@ -458,6 +470,14 @@
         d = d.setScale(4, BigDecimal.ROUND_HALF_UP);
         return  d;
     }
+    public static BigDecimal formatBigdecimal2Float(BigDecimal d) {
+        if (d == null) {
+            d = new BigDecimal(0.0);
+        }
+        //淇濈暀涓や綅灏忔暟涓斿洓鑸嶄簲鍏�
+        d = d.setScale(2, BigDecimal.ROUND_HALF_UP);
+        return  d;
+    }
 
 
 
diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
index c03cf47..f1d341b 100644
--- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
+++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -460,7 +460,7 @@
      * @return String
      * @throws Exception
      */
-    public static String getPlusTime(Date date) throws Exception {
+    public static String getPlusTime(Date date)  {
         if (date == null)
             return null;
         try {
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java
index 324108e..64ebdac 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/SecurityController.java
@@ -1,12 +1,18 @@
 package com.doumee.cloud.board;
 
 import com.doumee.api.BaseController;
+import com.doumee.config.annotation.CloudRequiredPermission;
 import com.doumee.config.annotation.LoginNoRequired;
 import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
 import com.doumee.core.haikang.model.param.respose.RuleEventSearchResponse;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.dao.admin.response.PCWorkPlatformDataVO;
+import com.doumee.dao.business.model.Visits;
 import com.doumee.dao.web.response.platformReport.*;
+import com.doumee.service.business.VisitsService;
 import com.doumee.service.business.third.BoardService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -15,10 +21,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -40,32 +43,14 @@
 
     @Autowired
     private BoardService boardService;
+    @Autowired
+    private VisitsService visitsService;
 
     @LoginNoRequired
     @ApiOperation("涓績鏁版嵁")
     @GetMapping("/centerData")
-    public ApiResponse<SecurityBoardVO> centerData() {
-        SecurityBoardVO data = new SecurityBoardVO();
-        Random random = new Random();
-        data.setParkingLotTotal(random.nextInt(200));
-        data.setFreeParkingLot(random.nextInt(data.getParkingLotTotal()));
-
-        data.setInternalCarTotal(random.nextInt(100));
-        data.setRelatedCarTotal(random.nextInt(100));
-        data.setVisitCarTotal(random.nextInt(100));
-        data.setInParkCarTotal(data.getInternalCarTotal() + data.getRelatedCarTotal() + data.getVisitCarTotal());
-
-        data.setInternalTotal(random.nextInt(100));
-        data.setRelatedTotal(random.nextInt(100));
-        data.setVisitTotal(random.nextInt(100));
-        data.setInParkTotal(data.getInternalTotal() + data.getRelatedTotal() + data.getVisitTotal());
-
-        data.setDeviceTotal(random.nextInt(20));
-        data.setErrTotal(random.nextInt(20));
-        data.setInternalJobCarTotal(random.nextInt(20));
-        data.setVisitJobCarTotal(random.nextInt(20));
-        data.setRelatedJobCarTotal(random.nextInt(20));
-
+    public ApiResponse<SecurityBoardVO> centerSecurityData() {
+        SecurityBoardVO data = boardService.centerSecurityData();
         return ApiResponse.success(data);
     }
 
@@ -75,16 +60,6 @@
     @GetMapping("/securityDeviceData")
     public ApiResponse<List<SecurityDeviceDataVO>> securityDeviceData() {
         List<SecurityDeviceDataVO> list = boardService.securityDeviceData();
-        /*
-        Random random = new Random();
-        for (int i = 1; i <= 3; i++) {
-            SecurityDeviceDataVO data = new SecurityDeviceDataVO();
-            data.setDeviceType("璁惧绫诲瀷_"+i);
-            data.setOnlineNum(random.nextInt(10));
-            data.setOfflineDeviceNum(random.nextInt(10));
-            data.setTotalNum(data.getOnlineNum() + data.getOfflineDeviceNum() );
-            list.add(data);
-        }*/
         return ApiResponse.success(list);
     }
     @LoginNoRequired
@@ -93,18 +68,8 @@
             @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type", value = "绫诲瀷 0鍏ㄩ儴 1鍖哄煙鍛婅 2琛屼负鍛婅", required = false)
     })
     @GetMapping("/warningEventData")
-    public ApiResponse<List<WaningEventDataVO>> warningEventData(Integer type) {
-        List<WaningEventDataVO> list = boardService.warningEventData(type);
-        /*
-        Random random = new Random();
-        for (int i = 1; i <= 3; i++) {
-            SecurityDeviceDataVO data = new SecurityDeviceDataVO();
-            data.setDeviceType("璁惧绫诲瀷_"+i);
-            data.setOnlineNum(random.nextInt(10));
-            data.setOfflineDeviceNum(random.nextInt(10));
-            data.setTotalNum(data.getOnlineNum() + data.getOfflineDeviceNum() );
-            list.add(data);
-        }*/
+    public ApiResponse<WaningEventDataVO> warningEventData(Integer type) {
+        WaningEventDataVO list = boardService.warningEventData(type);
         return ApiResponse.success(list);
     }
 
@@ -115,15 +80,24 @@
     @ApiOperation("璁垮婊炵暀鎯呭喌")
     @GetMapping("/visitRetentionData")
     public ApiResponse<List<VisitRetentionDataVO>> visitRetentionData() {
+        PageWrap<Visits> pageWrap = new PageWrap<>();
+        pageWrap.setCapacity(10);
+        pageWrap.setPage(1);
+        pageWrap.setModel(new Visits());
+        pageWrap.getModel().setLevelStatus(Constants.ZERO);
+        pageWrap.getModel().setStatus(Constants.TWO);
+        PageData<Visits>  resut =    visitsService.retentionPage(pageWrap);
         List<VisitRetentionDataVO> list = new ArrayList<>();
-        Random random = new Random();
-        for (int i = 1; i <= 3; i++) {
-            VisitRetentionDataVO data = new VisitRetentionDataVO();
-            data.setName("灏忔槑_"+i);
-            data.setCompanyName("杩愮淮缁刜"+i);
-            data.setTimeOutMinute(Long.valueOf(random.nextInt(200)));
-            list.add(data);
+        if(resut !=null && resut.getRecords() !=null && resut.getRecords().size()>0){
+            for (Visits model : resut.getRecords()) {
+                VisitRetentionDataVO data = new VisitRetentionDataVO();
+                data.setName(model.getName());
+                data.setCompanyName(model.getCompanyName());
+                data.setTimeOutMinute(Constants.formatIntegerNum(model.getTimeOut()));
+                list.add(data);
+            }
         }
+
         return ApiResponse.success(list);
     }
 
@@ -152,11 +126,23 @@
     }
     @LoginNoRequired
     @ApiOperation("骞抽摵缁撴灉鍖哄煙闆嗗悎鎺ュ彛")
-    @GetMapping("/regionList")
-    public ApiResponse<List<PageRegionInfoResponse>> regionList(CarmeraListVO param) {
+    @PostMapping("/regionList")
+    public ApiResponse<List<PageRegionInfoResponse>> regionList(@RequestBody  CarmeraListVO param) {
         return ApiResponse.success(boardService.regionList(param));
     }
 
+    @LoginNoRequired
+    @ApiOperation("鑾峰彇鐩戞帶娴佹挱鏀惧湴鍧�")
+    @GetMapping("/getCarmeraPreviemUrl")
+    public ApiResponse<String> getCarmeraPreviemUrl(CarmeraListVO param) {
+        return ApiResponse.success(boardService.getCarmeraPreviemUrl(param));
+    }
 
-
+    @LoginNoRequired
+    @ApiOperation("浠婃棩璁垮鍒嗘瀽鍜屾粸鐣欒瀹㈡暟鎹泦鍚�")
+    @GetMapping("/visitSecurityData")
+    public ApiResponse<VisitDataVO> visitSecurityData ( ){
+        VisitDataVO data = boardService.visitSecurityData();
+        return ApiResponse.success(data);
+    }
 }
diff --git a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
index 9dc10e9..2df12af 100644
--- a/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
+++ b/server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
 spring:
   profiles:
-    active: dev
+    active: pro
   application:
     name: visitsAdmin
     # 瀹夊叏閰嶇疆
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index abd5eb2..6730e14 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -149,6 +149,7 @@
         String[] ruleEventSearch= new String[]{"/api/v2/ruleEvent/search","瀹夐槻鐪嬫澘-浠婃棩鍛婅浜嬩欢-鏍规嵁eventType瀛楁3"};//瀹夐槻鐪嬫澘-浠婃棩鍛婅浜嬩欢-鏍规嵁eventType瀛楁3[鍥剧墖]
         String[] getSecureDevStatusList= new String[]{"/api/secureDataService/v2/getSecureDevStatusList","瀹夐槻鐪嬫澘-鍥尯瀹夐槻璁惧-鍚勭被鍨嬭澶囩姸鎬佹暟鎹垪琛�"};//瀹夐槻鐪嬫澘-鍥尯瀹夐槻璁惧-鍚勭被鍨嬭澶囩姸鎬佹暟鎹垪琛�
         String[] getSecureDevStatusTotal= new String[]{"/api/secureDataService/v2/getSecureDevStatusTotal","缁熻鍥尯鎬讳綋鐨勫畨闃茶澶囨暟閲忥紝鍦ㄧ嚎鏁般�佸湪绾跨巼銆佺绾挎暟銆佺绾跨巼"};//缁熻鍥尯鎬讳綋鐨勫畨闃茶澶囨暟閲忥紝鍦ㄧ嚎鏁般�佸湪绾跨巼銆佺绾挎暟銆佺绾跨巼
+        String[] getParkingStatistics= new String[]{"/api/dataBoardService/v1/getParkingStatistics","瀹夐槻鐪嬫澘--鍥尯瀹炴椂杞︽暟閲�4"};//瀹夐槻鐪嬫澘--鍥尯瀹炴椂杞︽暟閲�4
     }
     /**
      * 闄勫綍A.55娑堥槻璁惧绫诲瀷
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
index 75523a2..e1fd457 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -783,6 +783,13 @@
 		return startDoPostStringArtemis(HKConstants.InterfacePath.getSecureDevStatusTotal,body);
 	}
 	/**
+	 * 缁熷畨闃茬湅鏉�--鍥尯瀹炴椂杞︽暟閲�4
+	 * @return
+	 */
+	public static String getParkingStatistics() {
+		return startDoGetStringArtemis(HKConstants.InterfacePath.getParkingStatistics,null);
+	}
+	/**
 	 * 鑾峰彇鏈堝彴鐘舵��
 	 * @return
 	 */
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventFiledOptionsRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventFiledOptionsRequest.java
index 9023a20..52073a7 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventFiledOptionsRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventFiledOptionsRequest.java
@@ -1,12 +1,13 @@
 package com.doumee.core.haikang.model.param.request;
 
+import com.doumee.core.haikang.model.param.BaseListPageRequest;
 import lombok.Data;
 
 import java.util.List;
 
 @Data
-public class RuleEventFiledOptionsRequest {
+public class RuleEventFiledOptionsRequest  {
   private String fieldName;//	String	false	瀛楁鍚嶇О
-private String fieldValue	;//String	false	瀛楁鍊�
-private String type;//	String	false	鏌ヨ绫诲瀷锛屽彲閫夎寖鍥达細eq锛堢浉绛夛級銆乶eq(涓嶇浉绛�)銆乴ike锛堢被浼硷級銆乴t锛堝皬浜庯級銆乬t锛堝ぇ浜庯級銆乴te锛堝皬浜庣瓑浜庯級銆乬te锛堝ぇ浜庣瓑浜庯級銆乮n锛堣寖鍥达級銆乶otIn(鑼冨洿涔嬪)銆乮n锛歠ieldValue鐨勫�煎彲浠ュ~澶氫釜锛岀敤鑻辨枃閫楀彿鍒嗛殧銆乶otNull(涓嶄负绌�)銆乮sNull(涓虹┖)銆乺ecently(鏈�杩�)銆�
+  private String fieldValue	;//String	false	瀛楁鍊�
+  private String type;//	String	false	鏌ヨ绫诲瀷锛屽彲閫夎寖鍥达細eq锛堢浉绛夛級銆乶eq(涓嶇浉绛�)銆乴ike锛堢被浼硷級銆乴t锛堝皬浜庯級銆乬t锛堝ぇ浜庯級銆乴te锛堝皬浜庣瓑浜庯級銆乬te锛堝ぇ浜庣瓑浜庯級銆乮n锛堣寖鍥达級銆乶otIn(鑼冨洿涔嬪)銆乮n锛歠ieldValue鐨勫�煎彲浠ュ~澶氫釜锛岀敤鑻辨枃閫楀彿鍒嗛殧銆乶otNull(涓嶄负绌�)銆乮sNull(涓虹┖)銆乺ecently(鏈�杩�)銆�
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventSearchRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventSearchRequest.java
index c0f1075..f0bffd4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventSearchRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/RuleEventSearchRequest.java
@@ -10,4 +10,6 @@
    private String[] regionIds;//	Array	false	鍥尯瀵瑰簲鍖哄煙id淇℃伅,item 绫诲瀷: string锛屼紶绌簂ist鏌ュ叏閮�
     private String includeBool;//	Number	false	鏄惁鍖呭惈涓嬬骇瀛愯妭鐐�,0-涓嶅寘鍚�,1-鍖呭惈
     private List<RuleEventFiledOptionsRequest > filedOptions;//	Array	false	绛涢�夊瓧娈靛垪琛�>
+
+    private List<SortRequest > sorts;//鎺掑簭椁愬
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/SortRequest.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/SortRequest.java
index da9eeec..d69774d 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/SortRequest.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/request/SortRequest.java
@@ -8,5 +8,8 @@
 
     private String  field	;//	string	False	鎺掑簭瀛楁锛屽搴旀煡璇㈢敤鐨勫弬鏁板悕绉�
     private String sort	;//	string	False	鎺掑簭瑙勫垯锛宎sc锛氭搴忥紝    desc锛氬�掑簭
+    private String  sortField	;//	String	false	鎺掑簭瀛楁
+    private String sortType	;//	s	String	false	鎺掑簭绫诲瀷锛氭敮鎸乨esc銆乤sc
+
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/ParkingStatisticResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/ParkingStatisticResponse.java
new file mode 100644
index 0000000..b6725c6
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/ParkingStatisticResponse.java
@@ -0,0 +1,12 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class ParkingStatisticResponse {
+   
+   private TodayCarDataResponse todayCarDataDto;//BigDecimal	Object	false	浠婃棩鍐呭閮ㄨ溅杈嗘暟鎹瓺to
+private TodayParkingDataResponse todayParkingDataDto	;//Object	false	浠婃棩杞︿綅鏁版嵁
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RuleEventSearchDataResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RuleEventSearchDataResponse.java
index 018dfc8..2703f30 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RuleEventSearchDataResponse.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/RuleEventSearchDataResponse.java
@@ -1,5 +1,6 @@
 package com.doumee.core.haikang.model.param.respose;
 
+import com.alibaba.fastjson.annotation.JSONField;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
 
@@ -45,5 +46,6 @@
    private String level_color;//	String	false	level_color
    private String plan_exec_status;//	String	false	plan_exec_status
    @JsonProperty(value = "_image_url")
+   @JSONField(name = "_image_url")
    private String imgurl;//	String	false	鏈夋晥鍥剧墖鍦板潃
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TodayCarDataResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TodayCarDataResponse.java
new file mode 100644
index 0000000..45e6264
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TodayCarDataResponse.java
@@ -0,0 +1,12 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class TodayCarDataResponse {
+   
+private Integer innerCarCount;//	Number	false	鍐呴儴杞﹁締鏁伴噺
+private Integer outerCarCount	;//Number	false	澶栭儴杞﹁締鏁伴噺
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TodayParkingDataResponse.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TodayParkingDataResponse.java
new file mode 100644
index 0000000..320c2cc
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/param/respose/TodayParkingDataResponse.java
@@ -0,0 +1,17 @@
+package com.doumee.core.haikang.model.param.respose;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class TodayParkingDataResponse {
+   
+private Integer leftPlace	;//Number	false	鍓╀綑杞︿綅鏁伴噺
+private Integer totalPlace	;//umber	false	鎬昏溅浣嶆暟閲�
+private String usePlace;//	String	false	宸茬敤杞︿綅鏁伴噺
+private BigDecimal useRate	;//Number	false	杞︿綅浣跨敤鐜�
+private String parkName	;//String	false	鍋滆溅鍦哄悕绉�
+private String parkSyscode	;//String	false	鍋滆溅鍦哄敮涓�鏍囪瘑
+private String statisticsTime	;//String	false	缁熻鏍囪瘑
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
index edd3631..a47eb2e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -1480,7 +1480,7 @@
             TypeReference typeReference =
                     new TypeReference< BaseResponse<BaseListPageResponse<PageCameraInfoResponse>> >(){};
             BaseResponse<BaseListPageResponse<PageCameraInfoResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
-            logResult(result,"娴峰悍鍒嗛〉鑾峰彇鐩戞帶鐐硅祫婧�");
+//            logResult(result,"娴峰悍鍒嗛〉鑾峰彇鐩戞帶鐐硅祫婧�");
             return  result;
         }catch (Exception e){
             log.error("銆愭捣搴峰垎椤佃幏鍙栫洃鎺х偣璧勬簮銆�================澶辫触====锛歕n"+ e.getMessage());
@@ -1527,13 +1527,13 @@
      *瀹夐槻鐪嬫澘-浠婃棩鍛婅浜嬩欢-鏍规嵁eventType瀛楁3
      * @return
      */
-    public  static  BaseResponse< RuleEventSearchResponse>   ruleEventSearch(RuleEventSearchRequest param){
+    public  static  BaseResponse<BaseListPageResponse<RuleEventSearchDataResponse>>   ruleEventSearch(RuleEventSearchRequest param){
         log.info("銆愭捣搴峰畨闃茬湅鏉�-浠婃棩鍛婅浜嬩欢-鏍规嵁eventType瀛楁3銆�================寮�濮�===="+JSONObject.toJSONString(param));
         try {
             String res = HKTools.ruleEventSearch(JSONObject.toJSONString(param));
             TypeReference typeReference =
-                    new TypeReference< BaseResponse<RuleEventSearchResponse> >(){};
-            BaseResponse<RuleEventSearchResponse>   result = JSONObject.parseObject(res, typeReference.getType());
+                    new TypeReference< BaseResponse<BaseListPageResponse<RuleEventSearchDataResponse>> >(){};
+            BaseResponse<BaseListPageResponse<RuleEventSearchDataResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
             logResult(result,"娴峰悍瀹夐槻鐪嬫澘-浠婃棩鍛婅浜嬩欢-鏍规嵁eventType瀛楁3");
             return  result;
         }catch (Exception e){
@@ -1542,6 +1542,24 @@
         return  null;
     }
     /**
+     *缁熻缁熷畨闃茬湅鏉�--鍥尯瀹炴椂杞︽暟閲�4
+     * @return
+     */
+    public  static  BaseResponse<ParkingStatisticResponse>   getParkingStatistics(){
+        log.info("銆愭捣搴峰畨闃茬湅鏉�--鍥尯瀹炴椂杞︽暟閲�4銆�================寮�濮�====");
+        try {
+            String res = HKTools.getParkingStatistics();
+            TypeReference typeReference =
+                    new TypeReference< BaseResponse<ParkingStatisticResponse>>(){};
+            BaseResponse<ParkingStatisticResponse>   result = JSONObject.parseObject(res, typeReference.getType());
+            logResult(result,"娴峰悍瀹夐槻鐪嬫澘--鍥尯瀹炴椂杞︽暟閲�4");
+            return  result;
+        }catch (Exception e){
+            log.error("銆愭捣搴峰畨闃茬湅鏉�--鍥尯瀹炴椂杞︽暟閲�4銆�================澶辫触====锛歕n"+ e.getMessage());
+        }
+        return  null;
+    }
+    /**
      *缁熻鍥尯鎬讳綋鐨勫畨闃茶澶囨暟閲忥紝鍦ㄧ嚎鏁般�佸湪绾跨巼銆佺绾挎暟銆佺绾跨巼
      * @return
      */
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
index 867fe9f..8b2fa0e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarEventDTO.java
@@ -98,6 +98,9 @@
     @ApiModelProperty(value = "缁勭粐绫诲瀷锛�0=鐩稿叧鏂癸紱1=鍐呴儴")
     private String companyType;
 
+    @ApiModelProperty(value = "杞﹁締绫诲瀷 0鍐呴儴杞﹁締 1鐩稿叧鏂硅溅杈� 2璁垮杞﹁締 3鍐呰繍鐗╂祦杞� 4澶栧崗杞﹁締 5甯傚叕鍙稿嵏璐ц溅 ")
+    private String carType;
+
     @ApiModelProperty(value = "濮撳悕")
     @ExcelColumn(name="濮撳悕",index = 7,width = 16)
     private String personName;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/CarsMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/CarsMapper.java
index aedf353..fc73bc2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/CarsMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/CarsMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doumee.dao.business.model.Cars;
+import com.github.yulichang.base.MPJBaseMapper;
 
 import java.util.List;
 
@@ -9,6 +10,6 @@
  * @author 姹熻箘韫�
  * @date 2023/11/30 15:33
  */
-public interface CarsMapper extends BaseMapper<Cars> {
+public interface CarsMapper extends MPJBaseMapper<Cars> {
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java
index 6b81496..690969e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/CarEvent.java
@@ -222,6 +222,11 @@
 
     @ApiModelProperty(value = "浜哄憳缂栫爜 ")
     private Integer memberId  ;
+    @ApiModelProperty(value = "杞﹁締绫诲瀷 0鍐呴儴杞﹁締 1鐩稿叧鏂硅溅杈� 2璁垮杞﹁締 3鍐呰繍鐗╂祦杞� 4澶栧崗杞﹁締 5甯傚叕鍙稿嵏璐ц溅 ")
+    private Integer carType  ;
+    @ApiModelProperty(value = "浜哄憳缂栫爜 ")
+    @TableField(exist = false)
+    private Integer companyId  ;
 
 
     // 鏉′欢鏌ヨ鍙傛暟
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Cars.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Cars.java
index 8147e45..cc60188 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Cars.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Cars.java
@@ -171,6 +171,10 @@
     //@ExcelColumn(name="閮ㄩ棬")
     @TableField(exist = false)
     private String companyName;
+    @ApiModelProperty(value = "閮ㄩ棬绫诲瀷", example = "1")
+    //@ExcelColumn(name="閮ㄩ棬")
+    @TableField(exist = false)
+    private Integer companyType;
     @ApiModelProperty(value = "杞︿富鏄惁鍒犻櫎", example = "1")
     @TableField(exist = false)
     private Integer memberDeleted;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
index 765170e..9cb13d8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Retention.java
@@ -84,7 +84,8 @@
     @ApiModelProperty(value = "娴峰悍闂ㄧ鍚嶇О")
     @ExcelColumn(name="杩涘巶闂ㄧ" ,index = 6,width = 12)
     private String deviceName;
-
+    @ApiModelProperty(value = "杞﹁締绫诲瀷 0鍐呴儴杞﹁締 1鐩稿叧鏂硅溅杈� 2璁垮杞﹁締 3鍐呰繍鐗╂祦杞� 4澶栧崗杞﹁締 5甯傚叕鍙稿嵏璐ц溅 ")
+    private Integer carType  ;
     @ApiModelProperty(value = "娴峰悍闂ㄧ缂栫爜")
     private String deviceIndex;
 
@@ -120,6 +121,9 @@
     @ApiModelProperty(value = "绫诲瀷 0鍔冲姟鍏徃 1鍐呴儴缁勭粐")
     @TableField(exist = false)
     private Integer companyType;
+    @ApiModelProperty(value = "绫诲瀷 0璁垮 1鍐呴儴浜哄憳")
+    @TableField(exist = false)
+    private Integer memberType;
 
     @ApiModelProperty(value = "寮�濮嬫椂闂�")
     @TableField(exist = false)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/InMemberDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/InMemberDataVO.java
new file mode 100644
index 0000000..fd4713e
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/InMemberDataVO.java
@@ -0,0 +1,42 @@
+package com.doumee.dao.web.response.platformReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 璁垮鍒嗘瀽
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class InMemberDataVO {
+
+    @ApiModelProperty(value = "寰呰闂暟閲�")
+    private Integer waitVisitNum;
+
+    @ApiModelProperty(value = "寰呰闂崰姣�")
+    private BigDecimal waitVisitRata;
+
+    @ApiModelProperty(value = "宸茬櫥璁版暟閲�")
+    private Integer registerVisitNum;
+
+    @ApiModelProperty(value = "宸茬櫥璁板崰姣�")
+    private BigDecimal registerVisitRata;
+
+    @ApiModelProperty(value = "宸茬寮�鏁伴噺")
+    private Integer levelNum;
+
+    @ApiModelProperty(value = "宸茬寮�鍗犳瘮")
+    private BigDecimal levelRata;
+
+    @ApiModelProperty(value = "婊炵暀鏁伴噺")
+    private Integer retentionNum;
+
+    @ApiModelProperty(value = "婊炵暀鍗犳瘮")
+    private BigDecimal retentionRata;
+
+
+}
\ No newline at end of file
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/SecurityBoardVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/SecurityBoardVO.java
index 2cbd492..f6a3ad5 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/SecurityBoardVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/SecurityBoardVO.java
@@ -17,49 +17,50 @@
 
 
     @ApiModelProperty(value = "鎬昏溅浣嶆暟閲�")
-    private Integer parkingLotTotal;
+    private int parkingLotTotal;
 
     @ApiModelProperty(value = "鍓╀綑杞︿綅鏁伴噺")
-    private Integer freeParkingLot;
+    private int freeParkingLot;
+    @ApiModelProperty(value = "杞︿綅浣跨敤鐜�")
+    private BigDecimal parkingUseRate;
 
     @ApiModelProperty(value = "鍛樺伐杞﹁締")
-    private Integer internalCarTotal;
+    private int internalCarTotal;
 
     @ApiModelProperty(value = "鐩稿叧鏂硅溅杈�")
-    private Integer relatedCarTotal;
+    private int relatedCarTotal;
 
     @ApiModelProperty(value = "璁垮杞﹁締")
-    private Integer visitCarTotal;
+    private int visitCarTotal;
 
     @ApiModelProperty(value = "褰撳墠鍦ㄥ洯浜烘暟")
-    private Integer inParkTotal;
+    private int inParkTotal;
 
     @ApiModelProperty(value = "鍦ㄥ洯鍐呴儴浜哄憳鏁伴噺")
-    private Integer internalTotal;
+    private int internalTotal;
 
     @ApiModelProperty(value = "鍦ㄥ洯鐩稿叧鏂规暟閲�")
-    private Integer relatedTotal;
+    private int relatedTotal;
 
     @ApiModelProperty(value = "鍦ㄥ洯璁垮鏁伴噺")
-    private Integer visitTotal;
-
+    private int visitTotal;
     @ApiModelProperty(value = "褰撳墠鍦ㄥ洯杞﹁締鎬绘暟")
-    private Integer inParkCarTotal;
+    private int inParkCarTotal;
 
     @ApiModelProperty(value = "褰撳墠璁惧鎬绘暟")
-    private Integer deviceTotal;
+    private int deviceTotal;
 
     @ApiModelProperty(value = "褰撳墠鎶ヨ鎬绘暟")
-    private Integer errTotal;
+    private int errTotal;
 
     @ApiModelProperty(value = "鍐呰繍杞︼紙瀹夋嘲鑷湁杞︼級")
-    private Integer internalJobCarTotal;
+    private int internalJobCarTotal;
 
     @ApiModelProperty(value = "澶栧崗杩愯緭杞﹁締")
-    private Integer relatedJobCarTotal;
+    private int relatedJobCarTotal;
 
     @ApiModelProperty(value = "甯傚叕鍙歌溅杈�")
-    private Integer visitJobCarTotal;
+    private int visitJobCarTotal;
 
     //TODO 瀹夐槻鍛婅
 
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/VisitDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/VisitDataVO.java
index 555677f..0b7b32e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/VisitDataVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/VisitDataVO.java
@@ -4,6 +4,7 @@
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * 璁垮鍒嗘瀽
@@ -15,28 +16,30 @@
 public class VisitDataVO {
 
     @ApiModelProperty(value = "寰呰闂暟閲�")
-    private Integer waitVisitNum;
+    private long waitVisitNum;
 
     @ApiModelProperty(value = "寰呰闂崰姣�")
     private BigDecimal waitVisitRata;
 
     @ApiModelProperty(value = "宸茬櫥璁版暟閲�")
-    private Integer registerVisitNum;
+    private long registerVisitNum;
 
     @ApiModelProperty(value = "宸茬櫥璁板崰姣�")
     private BigDecimal registerVisitRata;
 
     @ApiModelProperty(value = "宸茬寮�鏁伴噺")
-    private Integer levelNum;
+    private long levelNum;
 
     @ApiModelProperty(value = "宸茬寮�鍗犳瘮")
     private BigDecimal levelRata;
 
     @ApiModelProperty(value = "婊炵暀鏁伴噺")
-    private Integer retentionNum;
+    private long retentionNum;
 
     @ApiModelProperty(value = "婊炵暀鍗犳瘮")
     private BigDecimal retentionRata;
 
 
+    @ApiModelProperty(value = "璁垮婊炵暀鎯呭喌")
+    private List<VisitRetentionDataVO> visitRetentionDataList;
 }
\ No newline at end of file
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/VisitRetentionDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/VisitRetentionDataVO.java
index f235177..bd0ffff 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/VisitRetentionDataVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/VisitRetentionDataVO.java
@@ -19,6 +19,6 @@
     private String companyName;
 
     @ApiModelProperty(value = "瓒呮椂鏃堕暱 鍗曚綅锛氬垎閽�")
-    private Long timeOutMinute;
+    private int timeOutMinute;
 
 }
\ No newline at end of file
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WaningEventDataListVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WaningEventDataListVO.java
new file mode 100644
index 0000000..6dbcdd6
--- /dev/null
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WaningEventDataListVO.java
@@ -0,0 +1,28 @@
+package com.doumee.dao.web.response.platformReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 鍥尯瀹夐槻璁惧
+ *
+ * @Author : Rk
+ * @create 2024/10/25 10:59
+ */
+@Data
+public class WaningEventDataListVO {
+
+    @ApiModelProperty(value = "鏍囬")
+    private String title;
+    @ApiModelProperty(value = "鍥剧墖鍦板潃")
+    private String img;
+    @ApiModelProperty(value = "鏃堕棿")
+    private String createDate;
+
+    @ApiModelProperty(value = "鍙戠敓鍦扮偣")
+    private String  addr;
+    @ApiModelProperty(value = "鍐呭")
+    private String  content;
+
+
+}
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WaningEventDataVO.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WaningEventDataVO.java
index a901e61..e6e03b8 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WaningEventDataVO.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WaningEventDataVO.java
@@ -4,6 +4,7 @@
 import lombok.Data;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * 鍥尯瀹夐槻璁惧
@@ -14,17 +15,10 @@
 @Data
 public class WaningEventDataVO {
 
-    @ApiModelProperty(value = "鏍囬")
-    private String title;
-    @ApiModelProperty(value = "鍥剧墖鍦板潃")
-    private String img;
-    @ApiModelProperty(value = "鏃堕棿")
-    private String createDate;
-
-    @ApiModelProperty(value = "鍙戠敓鍦扮偣")
-    private String  addr;
-    @ApiModelProperty(value = "鍐呭")
-    private String  content;
+    @ApiModelProperty(value = "鍛婅鎬绘暟")
+    private int total;
+    @ApiModelProperty(value = "鍛婅鏁伴噺(鏈�杩�10鏉★級")
+    private List<WaningEventDataListVO> list;
 
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
index 0bc1de5..bbb7b8f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarEventServiceImpl.java
@@ -318,7 +318,6 @@
         IPage<CarEvent> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<CarEvent> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-
         queryWrapper
                 .leftJoin(Member.class,Member::getId,CarEvent::getMemberId)
                 .leftJoin(Company.class,Company::getId,Member::getCompanyId);
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
index 168b829..b950337 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformServiceImpl.java
@@ -381,6 +381,7 @@
                 bean.setUseRata(
                         bean.getWorkCountTime().multiply(new BigDecimal(100)).divide(sumTime,BigDecimal.ROUND_HALF_DOWN,2)
                 );
+                bean.setUseRata(Constants.formatBigdecimal2Float(bean.getUseRata()));//寮哄埗淇濈暀涓や綅灏忔暟
             }
         }
         return platformList;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
index 0a86005..f423fd2 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -133,6 +133,8 @@
     @Autowired
     private EmayService emayService;
 
+
+
     @Override
     public Integer create(Visits visits) {
         visitsMapper.insert(visits);
@@ -1262,10 +1264,7 @@
         QueryWrapper<Visits> wrapper = new QueryWrapper<>(visits);
         return visitsMapper.selectCount(wrapper);
     }
-
-
-    @Override
-    public PageData<Visits> retentionPage(PageWrap<Visits> pageWrap) {
+    public static PageData<Visits> retentionPageBiz(PageWrap<Visits> pageWrap, VisitsJoinMapper visitsJoinMapper,SystemDictDataBiz systemDictDataBiz) {
         String code= systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.TIMEOUT_WARNING).getCode();
         IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>();
@@ -1277,9 +1276,7 @@
         queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId);
         queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId);
         queryWrapper.leftJoin(" member m on m.id= t.MEMBER_ID");
-
         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getLevelStatus()),Visits::getStatus,Constants.VisitStatus.signin);
-
         queryWrapper.apply(Objects.nonNull(pageWrap.getModel().getLevelStatus())," TIMESTAMPDIFF( MINUTE, NOW(), t.OUT_DATE) <= "+code+"  ");
 
         queryWrapper.ne("m.type ",Constants.TWO);
@@ -1308,6 +1305,11 @@
         return PageData.from(result);
     }
 
+    @Override
+    public PageData<Visits> retentionPage(PageWrap<Visits> pageWrap) {
+        return  retentionPageBiz(pageWrap,visitsJoinMapper,systemDictDataBiz);
+    }
+
 
 
     @Override
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
index 98a540a..58982cf 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -834,6 +834,44 @@
             event.setPlatePicUrl(getHkImgUrl(request.getData().getPicUrl().getPlatePicUrl()));
         }
         if(StringUtils.isNotBlank(event.getPlateNos())){
+            Cars carModel = carsMapper.selectJoinOne(Cars.class,new MPJLambdaWrapper<Cars>()
+                            .selectAll(Cars.class )
+                            .selectAs(Company::getType,Cars::getCompanyType)
+                            .leftJoin(Company.class,Company::getId,Cars::getGroupId)
+                            .eq(Cars::getCode,event.getPlateNos())
+                            .eq(Cars::getIsdeleted,Constants.ZERO)
+                            .last(" limit 1"));
+            if(carModel!=null){
+                //0瀹夋嘲鍏姟杞� 1瀹夋嘲鑷湁鐗╂祦杞� 2鍏跺畠
+                event.setMemberId(carModel.getMemberId());
+                event.setCompanyId(carModel.getGroupId());
+                if(Constants.equalsInteger(carModel.getType(),Constants.ONE)){
+                    event.setCarType(Constants.RetentionCarType.selfTruck);
+                }else {
+                    if(Constants.equalsInteger(carModel.getCompanyType(),Constants.ONE)){
+                        event.setCarType(Constants.RetentionCarType.internal);//鍐呴儴杞﹁締
+                    }else{
+                        event.setCarType(Constants.RetentionCarType.relation);//鐩稿叧鏂硅溅杈�
+                    }
+                }
+            }
+            PlatformJob carTypeJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
+                            .eq(PlatformJob::getCarCodeFront,event.getPlateNos())
+                            .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+                            .orderByAsc(PlatformJob::getCreateDate)
+                            .last(" limit 1"));
+            if(carTypeJob!=null){
+                //浣滀笟绫诲瀷 0鑷湁杞﹀嵏璐� 1鑷湁杞﹁璐� 2澶栧崗杞﹀嵏璐� 3澶栧崗杞﹁璐� 4甯傚叕鍙稿鍗忚溅鍗歌揣
+                if(Constants.equalsInteger(carTypeJob.getType(),Constants.FOUR)){
+                    event.setCarType(Constants.RetentionCarType.cityComTruck);//甯傚叕鍙歌溅杈�
+                }else if(Constants.equalsInteger(carTypeJob.getType(),Constants.TWO)
+                        || Constants.equalsInteger(carTypeJob.getType(),Constants.THREE)){
+                    event.setCarType(Constants.RetentionCarType.outTruck);//澶栧崗杞�
+                }else{
+                    event.setCarType(Constants.RetentionCarType.selfTruck);//鑷湁杞�
+                }
+            }
+
             ParkBook cars = parkBookMapper.selectOne(new QueryWrapper<ParkBook>().lambda()
                     .eq(ParkBook::getCarCode,event.getPlateNos())
                             .eq(ParkBook::getIsdeleted,Constants.ZERO )
@@ -884,9 +922,6 @@
                         }
                     }
                 };
-
-
-
             }else{
                 Visits visits =  visitsMapper.selectOne(new QueryWrapper<Visits>().lambda()
                         .eq(Visits::getCarNos,event.getPlateNos())
@@ -898,12 +933,13 @@
                 if(visits!=null){
                     //鏈�杩戜娇鐢ㄨ杞︾殑鐢宠浜猴紙宸插埌杈撅級
                     event.setMemberId(visits.getMemberId());
+                    event.setCarType(Constants.RetentionCarType.visitor);
                 }
             }
             if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){
                 //濡傛灉鏄叆鍘傛斁琛�
                 delRetentionList.add(event.getPlateNos());
-                retentionList.add(getRetentionModelByParkRequest(request));
+                retentionList.add(getRetentionModelByParkRequest(request,event));
                 inoutDayCount.setInCarNum(Constants.formatIntegerNum(inoutDayCount.getInCarNum())+1);
             }else if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_OUT.getKey()){
                 //濡傛灉鏄嚭鍦烘斁琛�
@@ -914,12 +950,15 @@
         return event;
     }
 
-    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request) {
+    private Retention getRetentionModelByParkRequest(EventParkInfoRequest request,CarEvent event) {
         Retention retention = new Retention();
         retention.setIsdeleted(Constants.ZERO);
         retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
         retention.setCarNo(request.getData().getPlateNo());
         retention.setType(Constants.THREE);
+        retention.setMemberId(event.getMemberId());
+        retention.setCarType(event.getCarType());
+        retention.setCompanyId(event.getCompanyId());
 //        retention.setDeviceName(request.getSrcName());
 //        retention.setDeviceIndex(request.getSrcIndex());
         return retention;
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
index 0be4d8b..2feae0f 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -2,31 +2,35 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
 import com.doumee.core.haikang.model.HKConstants;
 import com.doumee.core.haikang.model.param.BaseListPageResponse;
 import com.doumee.core.haikang.model.param.BaseResponse;
 import com.doumee.core.haikang.model.param.BaseListPageRequest;
-import com.doumee.core.haikang.model.param.request.RuleEventFiledOptionsRequest;
-import com.doumee.core.haikang.model.param.request.RuleEventSearchRequest;
-import com.doumee.core.haikang.model.param.request.SecureDevStatusTotalRequest;
-import com.doumee.core.haikang.model.param.request.SensorStatusListRequest;
+import com.doumee.core.haikang.model.param.request.*;
 import com.doumee.core.haikang.model.param.respose.*;
 import com.doumee.core.haikang.service.HKService;
 import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.*;
+import com.doumee.dao.business.join.VisitsJoinMapper;
 import com.doumee.dao.business.model.*;
+import com.doumee.dao.system.model.SystemDictData;
 import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
 import com.doumee.dao.web.response.platformReport.*;
 import com.doumee.service.business.impl.PlatformJobServiceImpl;
+import com.doumee.service.business.impl.VisitsServiceImpl;
 import com.doumee.service.business.third.BoardService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -45,6 +49,8 @@
     @Autowired
     private PlatformLogMapper platformLogMapper;
     @Autowired
+    private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
     private PlatformWarnEventMapper platformWarnEventMapper;
     @Autowired
     private PlatformJobMapper platformJobMapper;
@@ -52,6 +58,10 @@
     private PlatformWmsDetailMapper platformWmsDetailMapper;
     @Autowired
     private PlatformMapper platformMapper;
+    @Autowired
+    private VisitsJoinMapper visitsJoinMapper;
+    @Autowired
+    private RetentionMapper retentionMapper;
     @Autowired
     private PlatformGroupMapper platformGroupMapper;
     /**
@@ -93,7 +103,9 @@
         return  data;
     }
     private void initReginCameralList(List<PageRegionInfoResponse> allList,String name) {
-        List<CarmeraListVO> carmeraListVOList = cameraList(null);
+        CarmeraListVO re = new CarmeraListVO();
+        re.setName(name);
+        List<CarmeraListVO> carmeraListVOList = cameraList(re);
         if(carmeraListVOList!=null && carmeraListVOList.size()>0){
             for(PageRegionInfoResponse p : allList){
                 for(CarmeraListVO c : carmeraListVOList){
@@ -176,13 +188,15 @@
 
         List<CarmeraListVO> data = new ArrayList<>();
         for(PageCameraInfoResponse p : allList){
-            CarmeraListVO t = new CarmeraListVO();
-            t.setIndexCode(p.getCameraIndexCode());
-            t.setReginCode(p.getRegionIndexCode());
-            t.setName(p.getCameraName());
-            t.setStatus(p.getStatus());
-            t.setStatusName(p.getStatusName());
-            data.add(t);
+            if(StringUtils.isBlank(req.getName()) ||StringUtils.contains(p.getCameraName(),req.getName())){
+                CarmeraListVO t = new CarmeraListVO();
+                t.setIndexCode(p.getCameraIndexCode());
+                t.setReginCode(p.getRegionIndexCode());
+                t.setName(p.getCameraName());
+                t.setStatus(p.getStatus());
+                t.setStatusName(p.getStatusName());
+                data.add(t);
+            }
         }
         return  data;
     }
@@ -299,7 +313,10 @@
     @Override
     public  List<SecurityDeviceDataVO> securityDeviceData(){
         List<SecurityDeviceDataVO> list = new ArrayList<>();
-        BaseResponse<List<SecureDevStatusListResponse>> result = HKService.getSecureDevStatusList(new SecureDevStatusTotalRequest()) ;
+        SecureDevStatusTotalRequest request =new SecureDevStatusTotalRequest();
+        request.setIncludeBool("");
+        request.setRegionIds(new String[]{});
+        BaseResponse<List<SecureDevStatusListResponse>> result = HKService.getSecureDevStatusList(request) ;
         if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
             List<SecureDevStatusListResponse> rlist = result.getData();
             for(SecureDevStatusListResponse r :rlist){
@@ -324,32 +341,172 @@
         return list;
     }
     @Override
-    public  List<WaningEventDataVO> warningEventData(Integer type){
-        List<WaningEventDataVO> list = new ArrayList<>();
+    public  WaningEventDataVO warningEventData(Integer type){
+        WaningEventDataVO lastResult = new WaningEventDataVO();
+        List<WaningEventDataListVO> list = new ArrayList<>();
         RuleEventSearchRequest request = new RuleEventSearchRequest();
+        request.setPageNo(1);
+        request.setPageSize(10);
         request.setFiledOptions(new ArrayList<>());
+        request.setSorts(new ArrayList<>());
         RuleEventFiledOptionsRequest file = new RuleEventFiledOptionsRequest();
         file.setFieldName("event_type");
         file.setFieldValue("131588");//瀹夐槻鍛婅
-        file.setType("eq");
+        file.setType("in");
         request.getFiledOptions().add(file);
-        BaseResponse< RuleEventSearchResponse> result = HKService.ruleEventSearch(request);
+        SortRequest sort = new SortRequest();
+        sort.setSortField("happen_time");
+        sort.setSortType("desc");
+        request.getSorts().add(sort);
+        BaseResponse<BaseListPageResponse< RuleEventSearchDataResponse>> result = HKService.ruleEventSearch(request);
         if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
             List<RuleEventSearchDataResponse> rlist = result.getData().getList();
+            lastResult.setTotal(result.getData().getTotal());
             if(rlist!=null){
+                String privateIp =systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.EVENT_FILES_PRIVATE_DOMAIN).getCode();
+                String publicIp =systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.EVENT_FILES_PUBLIC_DOMAIN).getCode();
                 for(RuleEventSearchDataResponse r :rlist){
-                    WaningEventDataVO data = new WaningEventDataVO();
+                    WaningEventDataListVO data = new WaningEventDataListVO();
                     data.setAddr(r.getSrc_name());
                     data.setImg(r.getImage_url());
+                    if(data.getImg()!=null){
+                        data.setImg(data.getImg().replace(privateIp,publicIp));
+                    }
                     data.setTitle(r.getEvent_type_name());
-                    data.setCreateDate(r.getCreate_time());
+                    data.setCreateDate(DateUtil.getPlusTime(DateUtil.getISO8601DateByStr(r.getHappen_time())));
 //                data.setContent(r.get);
                     list.add(data);
                 }
             }
 
         }
-        return list;
+        lastResult.setList(list);
+        return lastResult;
+    }
+    @Override
+    public  String getCarmeraPreviemUrl(CarmeraListVO param){
+        CameraPreviewURLsRequest request = new CameraPreviewURLsRequest();
+        request.setCameraIndexCode(param.getIndexCode());
+        BaseResponse<CamerasPreviewURLsResponse> result = HKService.cameraPreviewURLs(request);
+        if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
+            return result.getData().getUrl();
+
+        }
+        return null;
+    }
+    @Override
+    public  VisitDataVO visitSecurityData(){
+        //寰呰闂�佸凡鐧昏銆佸凡绂诲紑
+
+        VisitDataVO result = new VisitDataVO();
+        result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>()
+                .eq(Visits::getIsdeleted,Constants.ZERO)
+                .in(Visits::getStatus,Constants.VisitStatus.pass,Constants.VisitStatus.xfSuccess )));//寰呰闂�
+        result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>()
+                .eq(Visits::getIsdeleted,Constants.ZERO)
+                .in(Visits::getStatus,Constants.VisitStatus.signout,Constants.VisitStatus.signin )));//宸茬櫥璁�
+        result.setWaitVisitNum(visitsJoinMapper.selectCount(new MPJLambdaWrapper<Visits>()
+                .eq(Visits::getIsdeleted,Constants.ZERO)
+                .in(Visits::getStatus,Constants.VisitStatus.signout )));//宸茬绂�
+        PageWrap<Visits> pageWrap = new PageWrap<>();
+        pageWrap.setCapacity(10);
+        pageWrap.setPage(1);
+        pageWrap.setModel(new Visits());
+        pageWrap.getModel().setLevelStatus(Constants.ZERO);
+        pageWrap.getModel().setStatus(Constants.TWO);
+        PageData<Visits> visitsPageData =    VisitsServiceImpl.retentionPageBiz(pageWrap,visitsJoinMapper,systemDictDataBiz);
+        List<VisitRetentionDataVO> list = new ArrayList<>();
+        if(visitsPageData !=null && visitsPageData.getRecords() !=null && visitsPageData.getRecords().size()>0){
+            for (Visits model : visitsPageData.getRecords()) {
+                VisitRetentionDataVO data = new VisitRetentionDataVO();
+                data.setName(model.getName());
+                data.setCompanyName(model.getCompanyName());
+                data.setTimeOutMinute(Constants.formatIntegerNum(model.getTimeOut()));
+                list.add(data);
+            }
+            result.setRetentionNum(visitsPageData.getTotal());
+        }
+        result.setVisitRetentionDataList(list);//璁垮婊炵暀鏁版嵁闆嗗悎
+        return result;
+
+    }
+    @Override
+    public  SecurityBoardVO centerSecurityData(){
+
+
+        SecurityBoardVO data = new SecurityBoardVO();
+        getParkingCarsNum(data);//鑾峰彇杞︿綅鏁版嵁
+        Random random = new Random();
+
+        List<Retention> retentionList = retentionMapper.selectJoinList(Retention.class,
+                new MPJLambdaWrapper<Retention>()
+                        .selectAll(Retention.class)
+                        .selectAs(Company::getType,Retention::getCompanyType)
+                        .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
+        );
+
+        //浠婃棩鍦ㄥ洯浜烘暟
+        data.setInParkTotal(
+                (int) retentionList.stream().filter(i->!Constants.equalsInteger(i.getType(),Constants.THREE)).count()
+        );
+        //鍦ㄥ洯闀挎湡鐩稿叧鏂逛汉鏁�
+        data.setInternalTotal(
+                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.TWO) && Constants.equalsInteger(i.getCompanyType(),Constants.ZERO)).count()
+        );
+        //鍦ㄥ洯璁垮鏁伴噺
+        data.setVisitTotal(
+                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)&&Objects.isNull(i.getCompanyType())).count()
+        );
+        //鍦ㄥ洯杞﹁締
+        data.setInternalCarTotal(
+                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)).count()
+        );
+        //鍦ㄥ洯鐩稿叧鏂硅溅杈�
+        data.setRelatedCarTotal(
+                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
+                        &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.relation)).count()
+        );
+        //鍐呴儴杞﹁締
+        data.setInternalCarTotal(
+                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
+                        &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.internal)).count()
+        );
+        //鏉ヨ杞﹁締
+        data.setVisitCarTotal(
+                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
+                        &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.visitor)).count()
+        );
+        //鑷敱鐗╂祦杞︽暟閲�
+        data.setVisitCarTotal(
+                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
+                        &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.selfTruck)).count()
+        );
+        //甯傚叕鍙稿嵏璐ц溅鏁伴噺
+        data.setInternalJobCarTotal(
+                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
+                        &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.cityComTruck)).count()
+        );
+        //澶栧崗杞︽暟閲�
+        data.setRelatedJobCarTotal(
+                (int) retentionList.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.THREE)
+                        &&Constants.equalsInteger(i.getCarType(),Constants.RetentionCarType.outTruck)).count()
+        );
+        return data;
+    }
+
+    private void getParkingCarsNum(SecurityBoardVO data) {
+        try {
+            BaseResponse<ParkingStatisticResponse> response = HKService.getParkingStatistics();
+            if(response == null || !StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE) || response.getData()==null
+            ||response.getData().getTodayParkingDataDto() == null){
+                 return;
+            }
+            data.setParkingLotTotal(Constants.formatIntegerNum(response.getData().getTodayParkingDataDto().getTotalPlace()));//鎬昏溅浣�
+            data.setFreeParkingLot(Constants.formatIntegerNum(response.getData().getTodayParkingDataDto().getLeftPlace()));//鍓╀綑杞︿綅
+            data.setParkingUseRate(Constants.formatBigdecimal(response.getData().getTodayParkingDataDto().getUseRate()));//杞︿綅浣跨敤鐜�
+        }catch (Exception e){
+
+        }
     }
 
     @Override
@@ -361,22 +518,6 @@
                 .eq(Platform::getIsdeleted, Constants.ZERO)
                 .orderByAsc(Platform::getSortnum)
         );
-        /**
-         *    WAIT_CONFIRM(0, "寰呯‘璁�","寰呯‘璁�" ),
-     *         WART_SIGN_IN(1, "寰呯鍒�","寰呯鍒�" ),
-     *         WAIT_CALL(2, "宸茬鍒�","宸茬鍒�"),
-     *         IN_WAIT(3, "鍏ュ洯绛夊緟","鍏ュ洯绛夊緟" ),
-     *         CALLED(4, "宸插彨鍙�","宸插彨鍙�" ),
-     *         WORKING(5, "浣滀笟涓�","浣滀笟涓�" ),
-     *         DONE(6, "浣滀笟瀹屾垚 ","浣滀笟瀹屾垚" ),
-     *         TRANSFERING(7, "杞Щ涓�","杞Щ涓�" ),
-     *         EXCEPTION(8, "寮傚父鎸傝捣","寮傚父鎸傝捣" ),
-     *         AUTHED_LEAVE(9, "宸叉巿鏉冪鍥�","宸叉巿鏉冪鍥�" ),
-     *         LEAVED(10, "宸茬鍥� ","宸茬鍥� " ),
-     *         OVER_NUMBER(11, "宸茶繃鍙�","宸茶繃鍙�" ),
-     *         CANCEL(12, "宸插彇娑�","宸插彇娑�" ),
-         */
-
         if(platformList!=null && platformList.size()>0){
             List<PlatformJob> jobList = platformJobMapper.selectJoinList(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
                     .selectAll( PlatformJob.class)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
index c0597f8..6a061b6 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -51,5 +51,11 @@
 
     List<SecurityDeviceDataVO> securityDeviceData();
 
-    List<WaningEventDataVO> warningEventData(Integer type);
+    WaningEventDataVO warningEventData(Integer type);
+
+    String getCarmeraPreviemUrl(CarmeraListVO param);
+
+    SecurityBoardVO centerSecurityData();
+
+    VisitDataVO visitSecurityData();
 }

--
Gitblit v1.9.3