fuliqi
2024-09-03 088bc1e162261a91a8779d8079bef9d6a5d6d3e9
Merge remote-tracking branch 'origin/master'
17个文件已修改
331 ■■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/query/ReportQuery.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/PlatformOnlineVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/PlatformOnlineServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/ReportServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/utils/SecurityUtils.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
        }
    }
}
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;
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;
    /** 今日离线时长/秒 */
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));
    }
}
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);
    }
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();
}
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查找运维单位
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);
    }
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;
    }
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());
    }
}
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));
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
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)
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>
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>
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>
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">