From 088bc1e162261a91a8779d8079bef9d6a5d6d3e9 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 03 九月 2024 10:06:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml                                   |   46 +++----
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java                |   14 ++
 ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java                |    4 
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java                    |   17 ++
 ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java                  |    9 +
 ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java                           |    2 
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java            |   15 ++
 ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformOnlineServiceImpl.java        |    7 +
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformOnlineVO.java                      |    2 
 ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java                |    2 
 ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java |   17 +-
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java                        |    3 
 ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml                                   |    3 
 ycl-server/src/main/java/com/ycl/utils/SecurityUtils.java                                    |    5 
 ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml                          |   12 ++
 ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml                                 |    4 
 ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java               |  169 ++++++++++++++++-----------
 17 files changed, 216 insertions(+), 115 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java
index ed35144..0430254 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java
@@ -1,9 +1,13 @@
 package com.ycl.platform.domain.query;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.platform.base.AbsQuery;
 import lombok.Data;
+import utils.DateUtils;
 
 import java.util.Date;
+import java.util.List;
+import java.util.Objects;
 
 /**
  * 鏁版嵁涓績鏌ヨ
@@ -15,9 +19,11 @@
 public class DataCenterQuery extends AbsQuery {
 
     /** 寮�濮嬫椂闂� */
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date startTime;
 
     /** 缁撴潫鏃堕棿 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date endTime;
 
     /** 鍏抽敭璇� */
@@ -25,4 +31,15 @@
 
     /** 鍔ㄦ�佸垪鐨勮〃鏄庢潯浠� */
     private String tableName = "t_monitor";
+
+
+    public void setTime() {
+        if (Objects.nonNull(this.startTime)) {
+            this.startTime = DateUtils.getDayStart(this.startTime);
+        }
+        if (Objects.nonNull(this.endTime)) {
+            this.endTime = DateUtils.getDayEnd(this.endTime);
+        }
+    }
+
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java
index 6f954c5..2b76634 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java
@@ -35,6 +35,9 @@
 
     private List<Integer> peopleIdList;
 
+    @ApiModelProperty("杩愮淮鍗曚綅")
+    private Integer unitId;
+
     @ApiModelProperty("鐘舵��")
     private Integer status;
 
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformOnlineVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformOnlineVO.java
index 22846cd..a3c5756 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformOnlineVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformOnlineVO.java
@@ -1,5 +1,6 @@
 package com.ycl.platform.domain.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.platform.base.AbsVo;
 import com.ycl.platform.domain.entity.PlatformOnline;
 import org.springframework.lang.NonNull;
@@ -26,6 +27,7 @@
     private String area;
 
     /** 缁熻鐨勬棩鏈� */
+    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date createDate;
 
     /** 浠婃棩绂荤嚎鏃堕暱/绉� */
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
index 78a8c6f..c9bc5b8 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
@@ -8,9 +8,7 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * 鏁版嵁涓績鎺ュ彛
@@ -33,10 +31,11 @@
      * @param query
      * @return
      */
-    @GetMapping("/assetManagement")
+    @PostMapping("/assetManagement")
     @ApiOperation(value = "璧勪骇绠$悊", notes = "璧勪骇绠$悊")
     @PreAuthorize("@ss.hasPermi('assetManagement:page')")
-    public Result assetManagement(DataCenterQuery query) {
+    public Result assetManagement(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return monitorService.assetManagement(query);
     }
 
@@ -46,10 +45,11 @@
      * @param query
      * @return
      */
-    @GetMapping("/platformOnlineRate")
+    @PostMapping("/platformOnlineRate")
     @ApiOperation(value = "骞冲彴鍦ㄧ嚎鐜�", notes = "骞冲彴鍦ㄧ嚎鐜�")
     @PreAuthorize("@ss.hasPermi('platformOnline:page')")
-    public Result platformOnlineRate(DataCenterQuery query) {
+    public Result platformOnlineRate(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return platformOnlineService.page(query);
     }
 
@@ -59,8 +59,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoOneMachineDocumentRegister")
-    public Result videoOneMachineDocumentRegister(DataCenterQuery query) {
+    @PostMapping("/videoOneMachineDocumentRegister")
+    public Result videoOneMachineDocumentRegister(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoOneMachineDocumentRegister(query);
     }
 
@@ -70,8 +71,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoOneMachineDocumentQualified")
-    public Result videoOneMachineDocumentQualified(DataCenterQuery query) {
+    @PostMapping("/videoOneMachineDocumentQualified")
+    public Result videoOneMachineDocumentQualified(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoOneMachineDocumentQualified(query);
     }
 
@@ -81,8 +83,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoAssessmentFileRatio")
-    public Result videoAssessmentFileRatio(DataCenterQuery query) {
+    @PostMapping("/videoAssessmentFileRatio")
+    public Result videoAssessmentFileRatio(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoAssessmentFileRatio(query);
     }
 
@@ -92,8 +95,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoPointOnlineRate")
-    public Result videoPointOnlineRate(DataCenterQuery query) {
+    @PostMapping("/videoPointOnlineRate")
+    public Result videoPointOnlineRate(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoPointOnlineRate(query);
     }
 
@@ -103,8 +107,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoMinistrySiteOnline")
-    public Result videoMinistrySiteOnline(DataCenterQuery query) {
+    @PostMapping("/videoMinistrySiteOnline")
+    public Result videoMinistrySiteOnline(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoAvailabilityRate(query);
     }
 
@@ -114,8 +119,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoMinistryVideoAvailable")
-    public Result videoMinistryVideoAvailable(DataCenterQuery query) {
+    @PostMapping("/videoMinistryVideoAvailable")
+    public Result videoMinistryVideoAvailable(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoLabelingAccuracy(query);
     }
 
@@ -125,8 +131,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoImportantPointAvailabilityRate")
-    public Result videoImportantPointAvailabilityRate(DataCenterQuery query) {
+    @PostMapping("/videoImportantPointAvailabilityRate")
+    public Result videoImportantPointAvailabilityRate(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoImportantPointAvailabilityRate(query);
     }
 
@@ -136,8 +143,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoImportantPointLabelingAccuracy")
-    public Result videoImportantPointLabelingAccuracy(DataCenterQuery query) {
+    @PostMapping("/videoImportantPointLabelingAccuracy")
+    public Result videoImportantPointLabelingAccuracy(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoImportantPointLabelingAccuracy(query);
     }
 
@@ -147,8 +155,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoCheckTimeAccuracy")
-    public Result videoCheckTimeAccuracy(DataCenterQuery query) {
+    @PostMapping("/videoCheckTimeAccuracy")
+    public Result videoCheckTimeAccuracy(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoCheckTimeAccuracy(query);
     }
 
@@ -158,8 +167,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoImportantPointCheckTimeAccuracy")
-    public Result videoImportantPointCheckTimeAccuracy(DataCenterQuery query) {
+    @PostMapping("/videoImportantPointCheckTimeAccuracy")
+    public Result videoImportantPointCheckTimeAccuracy(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoImportantPointCheckTimeAccuracy(query);
     }
 
@@ -169,8 +179,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoImportantPointOnlineRate")
-    public Result videoImportantPointOnlineRate(DataCenterQuery query) {
+    @PostMapping("/videoImportantPointOnlineRate")
+    public Result videoImportantPointOnlineRate(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoImportantPointOnlineRate(query);
     }
 
@@ -180,8 +191,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoImportantPointImageOnlineRate")
-    public Result videoImportantPointImageOnlineRate(DataCenterQuery query) {
+    @PostMapping("/videoImportantPointImageOnlineRate")
+    public Result videoImportantPointImageOnlineRate(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoImportantPointImageOnlineRate(query);
     }
     /**
@@ -190,8 +202,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/videoImageResourceSecurity")
-    public Result videoImageResourceSecurity(DataCenterQuery query) {
+    @PostMapping("/videoImageResourceSecurity")
+    public Result videoImageResourceSecurity(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.videoImageResourceSecurity(query);
     }
 
@@ -201,8 +214,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/vehicleViewDockStable")
-    public Result vehicleViewDockStable(DataCenterQuery query) {
+    @PostMapping("/vehicleViewDockStable")
+    public Result vehicleViewDockStable(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.vehicleViewDockStable(query);
     }
 
@@ -212,8 +226,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/vehiclePointOnlineRate")
-    public Result vehiclePointOnlineRate(DataCenterQuery query) {
+    @PostMapping("/vehiclePointOnlineRate")
+    public Result vehiclePointOnlineRate(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.vehiclePointOnlineRate(query);
     }
 
@@ -223,8 +238,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/vehicleNetDeviceDirectoryConsistency")
-    public Result vehicleNetDeviceDirectoryConsistency(DataCenterQuery query) {
+    @PostMapping("/vehicleNetDeviceDirectoryConsistency")
+    public Result vehicleNetDeviceDirectoryConsistency(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.vehicleNetDeviceDirectoryConsistency(query);
     }
 
@@ -234,8 +250,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/vehicleCollectionConsistency")
-    public Result vehicleCollectionConsistency(DataCenterQuery query) {
+    @PostMapping("/vehicleCollectionConsistency")
+    public Result vehicleCollectionConsistency(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.vehicleCollectionConsistency(query);
     }
 
@@ -245,8 +262,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/vehicleCollectionDataIntegrity")
-    public Result vehicleCollectionDataIntegrity(DataCenterQuery query) {
+    @PostMapping("/vehicleCollectionDataIntegrity")
+    public Result vehicleCollectionDataIntegrity(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.vehicleCollectionDataIntegrity(query);
     }
 
@@ -256,8 +274,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/vehicleCollectionDataCaptured")
-    public Result vehicleCollectionDataCaptured(DataCenterQuery query) {
+    @PostMapping("/vehicleCollectionDataCaptured")
+    public Result vehicleCollectionDataCaptured(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.vehicleCollectionDataCaptured(query);
     }
 
@@ -267,8 +286,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/vehicleClockAccuracy")
-    public Result vehicleClockAccuracy(DataCenterQuery query) {
+    @PostMapping("/vehicleClockAccuracy")
+    public Result vehicleClockAccuracy(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.vehicleClockAccuracy(query);
     }
 
@@ -278,8 +298,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/vehicleTimelyUploadAccuracy")
-    public Result vehicleTimelyUploadAccuracy(DataCenterQuery query) {
+    @PostMapping("/vehicleTimelyUploadAccuracy")
+    public Result vehicleTimelyUploadAccuracy(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.vehicleTimelyUploadAccuracy(query);
     }
 
@@ -289,8 +310,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/vehicleUrlAccuracy")
-    public Result vehicleUrlAccuracy(DataCenterQuery query) {
+    @PostMapping("/vehicleUrlAccuracy")
+    public Result vehicleUrlAccuracy(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.vehicleUrlAccuracy(query);
     }
 
@@ -300,8 +322,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/vehicleBigImgAccuracy")
-    public Result vehicleBigImgAccuracy(DataCenterQuery query) {
+    @PostMapping("/vehicleBigImgAccuracy")
+    public Result vehicleBigImgAccuracy(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return dataCenterService.vehicleBigImgAccuracy(query);
     }
 
@@ -312,8 +335,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/faceViewDockStable")
-    public Result faceViewDockStable(DataCenterQuery query) {
+    @PostMapping("/faceViewDockStable")
+    public Result faceViewDockStable(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return (dataCenterService.faceViewDockStable(query));
     }
 
@@ -323,8 +347,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/facePointOnlineRate")
-    public Result facePointOnlineRate(DataCenterQuery query) {
+    @PostMapping("/facePointOnlineRate")
+    public Result facePointOnlineRate(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return (dataCenterService.facePointOnlineRate(query));
     }
 
@@ -334,8 +359,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/faceDirectoryConsistency")
-    public Result faceDirectoryConsistency(DataCenterQuery query) {
+    @PostMapping("/faceDirectoryConsistency")
+    public Result faceDirectoryConsistency(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return (dataCenterService.faceDirectoryConsistency(query));
     }
 
@@ -345,8 +371,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/faceCollectionConsistency")
-    public Result faceCollectionConsistency(DataCenterQuery query) {
+    @PostMapping("/faceCollectionConsistency")
+    public Result faceCollectionConsistency(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return (dataCenterService.faceCollectionConsistency(query));
     }
 
@@ -356,8 +383,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/faceImgQualification")
-    public Result faceImgQualification(DataCenterQuery query) {
+    @PostMapping("/faceImgQualification")
+    public Result faceImgQualification(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return (dataCenterService.faceImgQualification(query));
     }
 
@@ -367,8 +395,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/faceCapturesImagesAccuracy")
-    public Result faceCapturesImagesAccuracy(DataCenterQuery query) {
+    @PostMapping("/faceCapturesImagesAccuracy")
+    public Result faceCapturesImagesAccuracy(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return (dataCenterService.faceCapturesImagesAccuracy(query));
     }
 
@@ -378,8 +407,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/faceTimelyUpload")
-    public Result faceTimelyUpload(DataCenterQuery query) {
+    @PostMapping("/faceTimelyUpload")
+    public Result faceTimelyUpload(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return (dataCenterService.faceTimelyUpload(query));
     }
 
@@ -389,8 +419,9 @@
      * @param query
      * @return
      */
-    @GetMapping("/faceAvailabilityOfLargeImg")
-    public Result faceAvailabilityOfLargeImg(DataCenterQuery query) {
+    @PostMapping("/faceAvailabilityOfLargeImg")
+    public Result faceAvailabilityOfLargeImg(@RequestBody DataCenterQuery query) {
+        query.setTime();
         return (dataCenterService.faceAvailabilityOfLargeImg(query));
     }
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
index 33c678f..39216f0 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -111,7 +111,7 @@
 
     @PostMapping("/distribute/page")
     @ApiOperation(value = "涓嬪彂鍒嗛〉", notes = "涓嬪彂鍒嗛〉")
-    @PreAuthorize("@ss.hasPermi('work:order:distribute')")
+    @PreAuthorize("@ss.hasPermi('work:order:distribute:page')")
     public Result distributePage(@RequestBody DistributeWorkOrderQuery query) {
         return workOrderService.distributePage(query);
     }
@@ -132,7 +132,7 @@
 
     @GetMapping("/{id}")
     @ApiOperation(value = "璇︽儏", notes = "璇︽儏")
-    @PreAuthorize("@ss.hasPermi('work:order:query')")
+    @PreAuthorize("@ss.hasPermi('work:order:detail')")
     public Result detail(@PathVariable("id") String id) {
         return workOrderService.detail(id);
     }
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java
index 2743448..407dcb1 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java
@@ -3,8 +3,10 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ycl.platform.domain.entity.CheckIndexVideo;
 import com.ycl.platform.domain.query.DashboardQuery;
+import org.apache.ibatis.annotations.MapKey;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 瑙嗛鎸囨爣姒傜巼鏁版嵁Mapper鎺ュ彛
@@ -76,4 +78,11 @@
      * @return 瑙嗛鎸囨爣姒傜巼鏁版嵁闆嗗悎
      */
     List<CheckIndexVideo> selectAndDeptName();
+
+    /**
+     * 鏌ヨ姣忎釜閮ㄩ棬鏈�鏂版暟鎹�
+     * @return 鏁版嵁Map
+     */
+    @MapKey(value = "deptId")
+    Map<Long, CheckIndexVideo> selectLastOneByDept();
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
index ef28967..28d0f16 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
@@ -25,7 +25,7 @@
      * 杩愮淮鍗曚綅鍒楄〃缁熻
      * @return 鏁版嵁
      */
-    List<YwUnitVO> workList(@Param("query") DistributeWorkOrderQuery query);
+    Integer workList(@Param("query") DistributeWorkOrderQuery query);
 
     /**
      * 閫氳繃鐢ㄦ埛ID鏌ユ壘杩愮淮鍗曚綅
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
index 0385f2c..a653ef3 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
@@ -62,9 +62,20 @@
         long total = mongoTemplate.count(query, VideoOnlineResult.class);
         query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize()));
         List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.class);
-        long count = mongoTemplate.count(new Query(), VideoOnlineResult.class);
+
+        // 缁熻
+        Criteria criteriaCount = new Criteria();
+        // 鏅�氭煡璇�
+        if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) {
+            criteriaCount.andOperator(
+                    Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime())
+            );
+        }
+        Query countQuery = new Query();
+        countQuery.addCriteria(criteriaCount);
+        long count = mongoTemplate.count(countQuery, VideoOnlineResult.class);
         HashMap<String, Object> map = new HashMap<>();
-        map.put("total", count);
+        map.put("count", Arrays.asList(count));
         map.put("list", resultList);
         return Result.ok().data(map).total(total);
     }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java
index e1bc171..562a993 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java
@@ -2,7 +2,6 @@
 
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.read.listener.PageReadListener;
-import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.ycl.handler.ImageResourceHandler;
 import com.ycl.platform.domain.entity.CheckIndexVideo;
 import com.ycl.platform.domain.entity.ImageResourceSecurity;
@@ -20,9 +19,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.*;
 
 /**
  * platformService涓氬姟灞傚鐞�
@@ -47,12 +45,11 @@
     @Override
     public List<ImageResourceSecurity> selectImageResourceSecurityList(ImageResourceSecurity imageResourceSecurity) {
         List<ImageResourceSecurity> list = imageResourceSecurityMapper.selectImageResourceSecurityList(imageResourceSecurity);
-        list.forEach(item -> item.setImageResourceSecurity(new LambdaQueryChainWrapper<>(checkIndexVideoMapper)
-                .eq(CheckIndexVideo::getDeptId, item.getDeptId())
-                .orderByDesc(CheckIndexVideo::getCreateTime, CheckIndexVideo::getImageResourceSecurity)
-                .last("limit 1")
-                .one()
-                .getImageResourceSecurity()));
+        Map<Long, CheckIndexVideo> map = checkIndexVideoMapper.selectLastOneByDept();
+        list.forEach(item -> item.setImageResourceSecurity(
+                Optional.ofNullable(map.get(item.getDeptId()))
+                        .map(CheckIndexVideo::getImageResourceSecurity)
+                        .orElse(BigDecimal.ZERO)));
         return list;
     }
 
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformOnlineServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformOnlineServiceImpl.java
index 94d1a88..43a7df6 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformOnlineServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformOnlineServiceImpl.java
@@ -13,6 +13,8 @@
 import org.springframework.stereotype.Service;
 import lombok.RequiredArgsConstructor;
 
+import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -47,7 +49,10 @@
     public Result page(DataCenterQuery query) {
         Page<PlatformOnlineVO> page = new Page<>(query.getPageNum(), query.getPageSize());
         baseMapper.getPage(page, query);
-        return Result.ok().data(page.getRecords()).total(page.getTotal());
+        HashMap<String, Object> map = new HashMap<>();
+//        map.put("count", Arrays.asList());
+        map.put("list", page.getRecords());
+        return Result.ok().data(map).total(page.getTotal());
     }
 
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
index 99893fb..62fb564 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java
@@ -252,6 +252,7 @@
     @Override
     public Result page(ReportQuery query) {
         IPage<ReportVO> page = PageUtil.getPage(query, ReportVO.class);
+        query.setUnitId(SecurityUtils.getUnitId());
         baseMapper.page(page, query);
         List<SysDictData> errorTypeList = dictTypeService.selectDictDataByType("report_error_type");
         Map<String, String> dictMap = errorTypeList.stream().collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel));
@@ -310,6 +311,7 @@
     public List<ReportVO> export(ReportQuery query) {
         IPage<ReportVO> page = PageUtil.getPage(query, ReportVO.class);
         page.setSize(-1);
+        query.setUnitId(SecurityUtils.getUnitId());
         baseMapper.page(page, query);
         List<SysDictData> errorTypeList = dictTypeService.selectDictDataByType("report_error_type");
         Map<String, String> dictMap = errorTypeList.stream().collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel));
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
index 1b5c7fa..61ebd1f 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
@@ -216,8 +216,18 @@
 
     @Override
     public Result workList(DistributeWorkOrderQuery query) {
-        List<YwUnitVO> entities = baseMapper.workList(query);
-        return Result.ok().data(entities);
+        List<YwUnit> ywUnits = baseMapper.selectList(null);
+        List<YwUnitVO> lists = ywUnits.stream().map(item -> {
+            YwUnitVO vo = new YwUnitVO();
+            BeanUtils.copyProperties(item, vo);
+            return vo;
+        }).collect(Collectors.toList());
+        for (YwUnitVO ywUnit : lists) {
+            query.setUnitId(ywUnit.getId());
+            Integer workOrderNum = baseMapper.workList(query);
+            ywUnit.setWorkOrderCount(workOrderNum);
+        }
+        return Result.ok().data(lists);
     }
 
     @Override
diff --git a/ycl-server/src/main/java/com/ycl/utils/SecurityUtils.java b/ycl-server/src/main/java/com/ycl/utils/SecurityUtils.java
index d3130fd..c1af0d8 100644
--- a/ycl-server/src/main/java/com/ycl/utils/SecurityUtils.java
+++ b/ycl-server/src/main/java/com/ycl/utils/SecurityUtils.java
@@ -44,6 +44,11 @@
      * */
     public static Integer getUnitId() {
         try {
+            if (isAdmin(getUserId())) {
+                return null;
+            } else if (hasRole("yw_admin")) {
+                return null;
+            }
             return getLoginUser().getUser().getUnitId();
         }
         catch (Exception e)
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
index 23921f4..9f137f1 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
@@ -207,4 +207,16 @@
         WHERE
             rn = 1;
     </select>
+
+    <select id="selectLastOneByDept" resultType="java.util.Map">
+        WITH temp AS (
+            SELECT
+                image_resource_security AS imageResourceSecurity,
+                dept_id AS deptId,
+                ROW_NUMBER() OVER(PARTITION BY dept_id ORDER BY create_time DESC, image_resource_security DESC) AS num
+            FROM
+                t_check_index_video
+        )
+        SELECT deptId, imageResourceSecurity FROM temp WHERE num = 1;
+    </select>
 </mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
index 606dabe..1b7816b 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
@@ -41,6 +41,9 @@
         <if test="query.reportType != null and query.reportType != ''">
             AND r.report_type = #{query.reportType}
         </if>
+        <if test="query.unitId != null">
+            AND r.unit_id = #{query.unitId}
+        </if>
         <if test="query.status != null">
             AND r.status = #{query.status}
         </if>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
index 7945b03..c52b4b0 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml
@@ -508,10 +508,14 @@
                #{query.keyword} as keyword
         FROM
             t_monitor tm
+                INNER JOIN t_yw_point yp ON yp.serial_number = tm.serial_number
         <where>
             <if test="query.keyword != null and query.keyword != ''">
                 AND tm.name like concat('%', #{query.keyword}, '%')
             </if>
+            <if test="query.startTIme != null and query.endTime != null">
+                AND yp.create_time between #{query.startTime} and #{query.endTime}
+            </if>
         </where>
     </select>
 
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
index 8c06409..5f3f169 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
@@ -33,36 +33,26 @@
         where id = #{id}
     </select>
 
-    <select id="workList" resultType="com.ycl.platform.domain.vo.YwUnitVO">
+    <select id="workList" resultType="integer">
         SELECT
-               u.id AS id, u.unit_name, count(DISTINCT wot.id) AS work_order_count
+               count(*)
         FROM
-            t_yw_unit u
-                LEFT JOIN
-             (
-                SELECT
-                    wo.id,
-                    wo.unit_id
-                FROM
-                    t_work_order wo
-                    INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number
-                    INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0
-                    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'
-                    <if test="query.errorTypeList != null and query.errorTypeList.size() > 0">AND da.dict_value in <foreach
-                            collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}</foreach>
-                    </if>
-                WHERE
-                    wo.deleted = 0
-                    <if test="query.status != null and query.status != ''">
-                        AND wo.status = #{query.status}
-                    </if>
-                    <if test="query.keyword != null and query.keyword != ''">
-                        AND (tm.name like concat('%', #{query.keyword}, '%') or tm.serial_number like concat('%', #{query.keyword}, '%'))
-                    </if>
-                ) as wot ON wot.unit_id = u.id
-        WHERE u.deleted = 0
-                group by u.id
+            t_work_order wo
+            INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number AND #{query.unitId}
+            INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0
+            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'
+            <if test="query.errorTypeList != null and query.errorTypeList.size() > 0">AND da.dict_value in <foreach
+                    collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}</foreach>
+            </if>
+        WHERE
+            wo.deleted = 0
+            <if test="query.status != null and query.status != ''">
+                AND wo.status = #{query.status}
+            </if>
+            <if test="query.keyword != null and query.keyword != ''">
+                AND (tm.name like concat('%', #{query.keyword}, '%') or tm.serial_number like concat('%', #{query.keyword}, '%'))
+            </if>
     </select>
 
     <insert id="insertYwUnit" parameterType="YwUnit" useGeneratedKeys="true" keyProperty="id">

--
Gitblit v1.8.0