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