From 9b81ed8ec15cc4b3f46c7a630512a268b3a74d74 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 07 八月 2024 16:37:34 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorTotalVO.java | 48 +++++ ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java | 8 pom.xml | 2 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorRateVO.java | 62 ++++++ ycl-server/src/main/java/com/ycl/platform/service/ICheckScoreService.java | 6 ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java | 6 ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 6 ycl-server/src/main/java/com/ycl/system/service/ISysDeptService.java | 7 ycl-pojo/src/main/java/com/ycl/platform/domain/query/DashboardQuery.java | 22 ++ ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 13 + ycl-server/src/main/java/com/ycl/system/mapper/SysDeptMapper.java | 7 ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java | 19 + ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 95 ++++++++++ ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml | 4 ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml | 13 + ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java | 10 + ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java | 17 + ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java | 17 + ycl-server/src/main/java/com/ycl/platform/controller/ContractController.java | 9 ycl-server/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java | 6 ycl-common/src/main/java/enumeration/Trend.java | 11 + ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java | 16 + ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java | 17 + ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java | 50 +++++ ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/DeptAreaVO.java | 22 ++ ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml | 15 + ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java | 4 ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java | 6 28 files changed, 500 insertions(+), 18 deletions(-) diff --git a/pom.xml b/pom.xml index 614ed78..903f2e4 100644 --- a/pom.xml +++ b/pom.xml @@ -256,7 +256,7 @@ <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> - <version>${spring-boot.version}</version> + <version>4.1.3</version> </dependency> diff --git a/ycl-common/src/main/java/enumeration/Trend.java b/ycl-common/src/main/java/enumeration/Trend.java new file mode 100644 index 0000000..10ae191 --- /dev/null +++ b/ycl-common/src/main/java/enumeration/Trend.java @@ -0,0 +1,11 @@ +package enumeration; + +/** + * @author gonghl + * @since 2024-8-7 + */ + +public enum Trend { + RISING, FALLING, STABLE + +} \ No newline at end of file diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DashboardQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DashboardQuery.java new file mode 100644 index 0000000..4cbcd38 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DashboardQuery.java @@ -0,0 +1,22 @@ +package com.ycl.platform.domain.query; + +import lombok.Data; + +/** + * @author gonghl + * @since 2024/8/6 涓嬪崍 3:01 + */ +@Data +public class DashboardQuery { + + /** + * 鏁版嵁鏉冮檺锛�1鐪佸巺锛�2甯傚眬锛�3鍏朵粬 + */ + private Integer dataScope; + + /** + * 閮ㄩ棬id + */ + private Integer deptId; + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/DeptAreaVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/DeptAreaVO.java new file mode 100644 index 0000000..9c21631 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/DeptAreaVO.java @@ -0,0 +1,22 @@ +package com.ycl.platform.domain.vo.screen; + +import lombok.Data; + +/** + * @author gonghl + * @since 2024/8/7 涓婂崍 10:06 + */ +@Data +public class DeptAreaVO { + + /** + * 閮ㄩ棬id + */ + private Integer deptId; + + /** + * 閮ㄩ棬鍖哄煙 + */ + private String area; + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorRateVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorRateVO.java new file mode 100644 index 0000000..753b712 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorRateVO.java @@ -0,0 +1,62 @@ +package com.ycl.platform.domain.vo.screen; + +import lombok.Data; + +/** + * @author gonghl + * @since 2024/8/7 涓婂崍 10:06 + */ +@Data +public class MonitorRateVO { + + /** + * 鍦板尯 + */ + private String area; + + /** + * 浜鸿劯璁惧 + */ + private Double faceRate; + + /** + * 浜鸿劯姝e父鏁� + */ + private Integer faceNormalNum; + + /** + * 浜鸿劯寮傚父鏁� + */ + private Integer faceErrorNum; + + /** + * 杞﹁締璁惧 + */ + private Double carRate; + + /** + * 杞﹁締姝e父鏁� + */ + private Integer carNormalNum; + + /** + * 杞﹁締寮傚父鏁� + */ + private Integer carErrorNum; + + /** + * 瑙嗛璁惧 + */ + private Double videoRate; + + /** + * 瑙嗛姝e父鏁� + */ + private Integer videoNormalNum; + + /** + * 瑙嗛寮傚父鏁� + */ + private Integer videoErrorNum; + +} diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorTotalVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorTotalVO.java new file mode 100644 index 0000000..d675fe7 --- /dev/null +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/MonitorTotalVO.java @@ -0,0 +1,48 @@ +package com.ycl.platform.domain.vo.screen; + +import enumeration.Trend; +import lombok.Data; + +/** + * @author gonghl + * @since 2024/8/7 涓婂崍 10:06 + */ +@Data +public class MonitorTotalVO { + + /** + * 璁惧绫诲瀷 + */ + private String type; + + /** + * 璁惧鎬绘暟 + */ + private Integer totalNum; + + /** + * 璁惧鎬绘暟瓒嬪娍 + */ + private Trend totalTrend; + + /** + * 璁惧姝e父鏁� + */ + private Integer normalNum; + + /** + * 璁惧姝e父鏁拌秼鍔� + */ + private Trend normalTrend; + + /** + * 璁惧寮傚父鏁� + */ + private Integer errorNum; + + /** + * 璁惧寮傚父鏁拌秼鍔� + */ + private Trend errorTrend; + +} diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/TContractController.java b/ycl-server/src/main/java/com/ycl/platform/controller/ContractController.java similarity index 91% rename from ycl-server/src/main/java/com/ycl/platform/controller/TContractController.java rename to ycl-server/src/main/java/com/ycl/platform/controller/ContractController.java index 824b018..fedc6b1 100644 --- a/ycl-server/src/main/java/com/ycl/platform/controller/TContractController.java +++ b/ycl-server/src/main/java/com/ycl/platform/controller/ContractController.java @@ -32,10 +32,17 @@ @RestController @RequestMapping("/system/contract") @AllArgsConstructor -public class TContractController extends BaseController { +public class ContractController extends BaseController { private final ITContractService tContractService; + @PreAuthorize("@ss.hasPermi('system:contract:time')") + @GetMapping("/time/{unitId}") + @ApiOperation("鑾峰彇璇ュ崟浣嶇殑鍚堝悓鏃堕棿鑼冨洿") + public Result timeRange(@PathVariable("unitId") Integer unitId) { + return tContractService.timeRange(unitId); + } + @PreAuthorize("@ss.hasPermi('system:contract:list')") @GetMapping("/list") public Result page(ContractQuery query) { diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java new file mode 100644 index 0000000..fa4ec5a --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/platform/controller/DashboardController.java @@ -0,0 +1,50 @@ +package com.ycl.platform.controller; + +import com.ycl.platform.domain.query.DashboardQuery; +import com.ycl.platform.service.ITMonitorService; +import com.ycl.platform.service.WorkOrderService; +import com.ycl.system.service.ISysDeptService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import pojo.AjaxResult; + +/** + * 杩愮淮鑰冩牳澶у睆 + * + * @author gonghl + * @since 2024/8/6 涓嬪崍 2:35 + */ + +@RestController +@RequiredArgsConstructor +@RequestMapping("/dashboard") +public class DashboardController { + + private final WorkOrderService workOrderService; + private final ITMonitorService monitorService; + private final ISysDeptService deptService; + + @GetMapping("/department") + public AjaxResult department() { + return AjaxResult.success(deptService.dashboard()); + } + + @GetMapping("/workOrder") + public AjaxResult workOrder(DashboardQuery dashboardQuery) { + return AjaxResult.success(workOrderService.dashboard(dashboardQuery)); + } + + @GetMapping("/monitor/total") + public AjaxResult monitorTotal(DashboardQuery dashboardQuery) { + return AjaxResult.success(monitorService.monitorTotal(dashboardQuery)); + } + + @GetMapping("/monitor/rate") + public AjaxResult monitorRate(DashboardQuery dashboardQuery) { + return AjaxResult.success(monitorService.monitorRate(dashboardQuery)); + } + + +} diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java b/ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java index ab3c6ce..d0406b8 100644 --- a/ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java +++ b/ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java @@ -23,6 +23,7 @@ private final WorkOrderService workOrderService; private final YwPointService ywPointService; private final IContractScoreService contractScoreService; + private final ICheckScoreService checkScoreService; @GetMapping("/ywUnitList") public AjaxResult ywUnitList() { @@ -49,6 +50,11 @@ return AjaxResult.success(ywUnitService.ywUnitCount()); } + @GetMapping("/checkScore") + public AjaxResult checkScore() { + return AjaxResult.success(checkScoreService.home()); + } + @GetMapping("/calculate") public AjaxResult calculate() { return AjaxResult.success(contractScoreService.calculate()); diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java index aaf2b40..a62f559 100644 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckScoreMapper.java @@ -74,4 +74,10 @@ void saveBatch(List<CheckScore> scoreList); List<CheckScore> selectCheckScoreMap(CheckScore checkScore); + + /** + * 棣栭〉鑰冩牳棰勮 + * @return 鏁版嵁 + */ + List<Map<String, Object>> home(); } diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java index 433d542..ee883de 100644 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/TMonitorMapper.java @@ -2,8 +2,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.platform.domain.entity.TMonitor; +import com.ycl.platform.domain.query.DashboardQuery; import com.ycl.platform.domain.query.HomeQuery; import com.ycl.platform.domain.vo.TMonitorVO; +import com.ycl.platform.domain.vo.screen.MonitorRateVO; +import com.ycl.platform.domain.vo.screen.MonitorTotalVO; import java.util.List; import java.util.Map; @@ -92,4 +95,18 @@ List<Map<String, Object>> home(HomeQuery monitorQuery); List<TMonitorVO> selectListByIds(List<String> list); + + /** + * 澶у睆璁惧鎬绘暟 + * @param dashboardQuery 鏌ヨ鏉′欢 + * @return 鏁版嵁 + */ + List<MonitorTotalVO> monitorTotal(DashboardQuery dashboardQuery); + + /** + * 澶у睆璁惧姝e父鐜� + * @return 鏁版嵁 + */ + List<MonitorRateVO> monitorRate(DashboardQuery dashboardQuery); + } diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java index 603fb4f..2517f55 100644 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java @@ -3,10 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.platform.domain.entity.WorkOrder; -import com.ycl.platform.domain.query.DistributeWorkOrderQuery; -import com.ycl.platform.domain.query.HomeQuery; -import com.ycl.platform.domain.query.ScreenQuery; -import com.ycl.platform.domain.query.WorkOrderQuery; +import com.ycl.platform.domain.query.*; import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.domain.vo.YwPointJobVO; import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO; @@ -50,4 +47,18 @@ * @return 鏁版嵁 */ List<Map<String, Object>> home(HomeQuery monitorQuery); + + /** + * 澶у睆宸ュ崟鎬绘暟 + * @param dashboardQuery 鏌ヨ鏉′欢 + * @return 鏁版嵁 + */ + Map<String, Object> workOrderTotal(DashboardQuery dashboardQuery); + + /** + * 澶у睆宸ュ崟鍒嗗尯 + * @param dashboardQuery 鏌ヨ鏉′欢 + * @return 鏁版嵁 + */ + Map<String, Object> workOrderRegion(DashboardQuery dashboardQuery); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ICheckScoreService.java b/ycl-server/src/main/java/com/ycl/platform/service/ICheckScoreService.java index 32112e0..7302032 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/ICheckScoreService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/ICheckScoreService.java @@ -49,6 +49,12 @@ List<CheckScore> page(CheckScore checkScore); void exportIndex(HttpServletResponse response,CheckScore checkScore) throws IOException; + + /** + * 棣栭〉鑰冩牳棰勮 + * @return 鏁版嵁 + */ + List<Map<String, Object>> home(); // /** // * 鏂板鑰冩牳绉垎鏄庣粏 // * diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java b/ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java index aaf5b80..b1b8e6f 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java @@ -53,4 +53,12 @@ * @return 鏁版嵁 */ List<TContract> selectUsingContract(); + + /** + * 鑾峰彇杩愮淮鍗曚綅鐨勫悎鍚屾椂闂磋寖鍥� + * + * @param unitId + * @return + */ + Result timeRange(Integer unitId); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java index c73a2d4..16a323d 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/ITMonitorService.java @@ -2,8 +2,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.platform.domain.entity.TMonitor; +import com.ycl.platform.domain.query.DashboardQuery; import com.ycl.platform.domain.query.HomeQuery; import com.ycl.platform.domain.vo.TMonitorVO; +import com.ycl.platform.domain.vo.screen.MonitorRateVO; +import com.ycl.platform.domain.vo.screen.MonitorTotalVO; import java.util.List; import java.util.Map; @@ -84,4 +87,18 @@ * @return 鏁版嵁 */ Map<String, Object> home(HomeQuery monitorQuery); + + /** + * 澶у睆璁惧鏁版嵁 + * @param dashboardQuery 鏌ヨ鏉′欢 + * @return 鏁版嵁 + */ + List<MonitorTotalVO> monitorTotal(DashboardQuery dashboardQuery); + + /** + * 澶у睆璁惧姝e父鐜� + * @return 鏁版嵁 + */ + List<MonitorRateVO> monitorRate(DashboardQuery dashboardQuery); + } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java index 73c3a31..9e7d512 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java @@ -1,14 +1,12 @@ package com.ycl.platform.service; -import com.ycl.platform.domain.entity.WorkOrder; import com.baomidou.mybatisplus.extension.service.IService; +import com.ycl.platform.domain.entity.WorkOrder; import com.ycl.platform.domain.form.*; -import com.ycl.platform.domain.query.DistributeWorkOrderQuery; -import com.ycl.platform.domain.query.HomeQuery; -import com.ycl.platform.domain.query.ScreenQuery; +import com.ycl.platform.domain.query.*; import com.ycl.platform.domain.vo.DistributeWorkOrderVO; import com.ycl.system.Result; -import com.ycl.platform.domain.query.WorkOrderQuery; + import java.util.List; import java.util.Map; @@ -159,4 +157,12 @@ * @return 鏁版嵁 */ Map<String, Object> home(HomeQuery monitorQuery); + + /** + * 澶у睆宸ュ崟 + * @param dashboardQuery 鏌ヨ鏉′欢 + * @return 鏁版嵁 + */ + Map<String, Object> dashboard(DashboardQuery dashboardQuery); + } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java index 21d675d..e9503ef 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java @@ -290,6 +290,10 @@ } } + @Override + public List<Map<String, Object>> home() { + return baseMapper.home(); + } // /** // * 鏂板鑰冩牳绉垎 diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java index 346b141..747dd0e 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java @@ -216,4 +216,14 @@ .ge(TContract::getEndTime, DateUtils.getDate()) .list(); } + + @Override + public Result timeRange(Integer unitId) { + List<TContract> unitContractList = new LambdaQueryChainWrapper<>(baseMapper) + .select(TContract::getId, TContract::getName, TContract::getStartTime, TContract::getEndTime) + .eq(TContract::getUnitId, unitId) + .ge(TContract::getEndTime, new Date()) + .list(); + return Result.ok().data(unitContractList); + } } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java index 57ea6e8..9aa15a8 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java @@ -3,12 +3,16 @@ import annotation.DataScope; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.platform.domain.entity.TMonitor; +import com.ycl.platform.domain.query.DashboardQuery; import com.ycl.platform.domain.query.HomeQuery; import com.ycl.platform.domain.vo.TMonitorVO; +import com.ycl.platform.domain.vo.screen.MonitorRateVO; +import com.ycl.platform.domain.vo.screen.MonitorTotalVO; import com.ycl.platform.mapper.TMonitorMapper; import com.ycl.platform.service.ITMonitorService; import com.ycl.system.service.ISysConfigService; import com.ycl.utils.StringUtils; +import com.ycl.utils.redis.RedisCache; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -31,6 +35,8 @@ private TMonitorMapper tMonitorMapper; @Autowired private ISysConfigService configService; + @Autowired + private RedisCache redisCache; /** * 鏌ヨ璁惧璧勪骇 @@ -143,4 +149,15 @@ } return dataMap; } + + @Override + public List<MonitorTotalVO> monitorTotal(DashboardQuery dashboardQuery) { + List<MonitorTotalVO> list = baseMapper.monitorTotal(dashboardQuery); + return list; + } + + @Override + public List<MonitorRateVO> monitorRate(DashboardQuery dashboardQuery) { + return baseMapper.monitorRate(dashboardQuery); + } } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index 415f927..0178d13 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java @@ -8,10 +8,7 @@ import com.ycl.exception.ServiceException; import com.ycl.platform.domain.entity.*; import com.ycl.platform.domain.form.*; -import com.ycl.platform.domain.query.DistributeWorkOrderQuery; -import com.ycl.platform.domain.query.HomeQuery; -import com.ycl.platform.domain.query.ScreenQuery; -import com.ycl.platform.domain.query.WorkOrderQuery; +import com.ycl.platform.domain.query.*; import com.ycl.platform.domain.vo.DistributeWorkOrderVO; import com.ycl.platform.domain.vo.WorkOrderVO; import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO; @@ -465,4 +462,12 @@ dataMap.put("pending", data3); return dataMap; } + + @Override + public Map<String, Object> dashboard(DashboardQuery dashboardQuery) { + HashMap<String, Object> map = new HashMap<>(); + map.put("workOrderTotal", baseMapper.workOrderTotal(dashboardQuery)); + map.put("workOrderRegion", baseMapper.workOrderRegion(dashboardQuery)); + return map; + } } diff --git a/ycl-server/src/main/java/com/ycl/system/mapper/SysDeptMapper.java b/ycl-server/src/main/java/com/ycl/system/mapper/SysDeptMapper.java index b95a5b5..6b55c74 100644 --- a/ycl-server/src/main/java/com/ycl/system/mapper/SysDeptMapper.java +++ b/ycl-server/src/main/java/com/ycl/system/mapper/SysDeptMapper.java @@ -1,6 +1,7 @@ package com.ycl.system.mapper; import com.ycl.platform.base.Cascader; +import com.ycl.platform.domain.vo.screen.DeptAreaVO; import com.ycl.system.entity.SysDept; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -142,4 +143,10 @@ * @return */ List<Long> selectByParentId(@Param("id") Long deptId); + + /** + * 澶у睆鍦板尯 + * @return 鍦板尯 + */ + List<DeptAreaVO> dashboard(); } diff --git a/ycl-server/src/main/java/com/ycl/system/service/ISysDeptService.java b/ycl-server/src/main/java/com/ycl/system/service/ISysDeptService.java index ad7deb7..346d9f0 100644 --- a/ycl-server/src/main/java/com/ycl/system/service/ISysDeptService.java +++ b/ycl-server/src/main/java/com/ycl/system/service/ISysDeptService.java @@ -1,5 +1,6 @@ package com.ycl.system.service; +import com.ycl.platform.domain.vo.screen.DeptAreaVO; import com.ycl.system.Result; import com.ycl.system.domain.TreeSelect; import com.ycl.system.entity.SysDept; @@ -141,4 +142,10 @@ * @return */ Result cascader(); + + /** + * 澶у睆鍦板尯 + * @return 鍦板尯 + */ + List<DeptAreaVO> dashboard(); } diff --git a/ycl-server/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java b/ycl-server/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java index 0025f7a..cb0621d 100644 --- a/ycl-server/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java @@ -4,6 +4,7 @@ import com.ycl.exception.ServiceException; import com.ycl.platform.base.BaseSelect; import com.ycl.platform.base.Cascader; +import com.ycl.platform.domain.vo.screen.DeptAreaVO; import com.ycl.system.Result; import com.ycl.system.domain.TreeSelect; import com.ycl.system.entity.SysDept; @@ -405,4 +406,9 @@ { return getChildList(list, t).size() > 0; } + + @Override + public List<DeptAreaVO> dashboard() { + return deptMapper.dashboard(); + } } diff --git a/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml b/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml index 18a67f9..1f42286 100644 --- a/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/ycl-server/src/main/resources/mapper/system/SysDeptMapper.xml @@ -183,4 +183,8 @@ level DESC </select> + <select id="dashboard" resultType="com.ycl.platform.domain.vo.screen.DeptAreaVO"> + SELECT dept_id, area FROM sys_dept WHERE status = '0' AND del_flag = 0 AND area IS NOT NULL + </select> + </mapper> diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml index ae68b76..6c5fa75 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml @@ -136,4 +136,19 @@ AND DATE_FORMAT(tcs.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m') AND DATE_FORMAT(#{endDate}, '%Y-%m') </select> + <select id="home" resultType="java.util.Map"> + SELECT + DATE_FORMAT(cs.create_time, '%Y-%m-%d %h:%i:%s') AS createTime, + d.area, + CASE WHEN cs.examine_tag = '0' THEN '鐪佸巺' WHEN cs.examine_tag = '1' THEN '甯傚眬' WHEN cs.examine_tag = '2' THEN '' END AS examineTag, + ct.template_name AS templateName, + cs.score + FROM + t_check_score cs + LEFT JOIN t_check_template ct ON cs.template_id = ct.id + LEFT JOIN sys_dept d ON cs.dept_id = d.dept_id + WHERE cs.score > ct.alarm_score + ORDER BY cs.create_time DESC + </select> + </mapper> \ No newline at end of file diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml index 62acb31..33e3d5f 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml @@ -346,7 +346,102 @@ <if test="dateRange != null and dateRange.size > 0"> AND DATE_FORMAT(w.create_time, '%Y-%m') BETWEEN #{dateRange[0]} AND #{dateRange[1]} </if> + GROUP BY months ORDER BY months </select> + <select id="monitorTotal" resultType="com.ycl.platform.domain.vo.screen.MonitorTotalVO"> + SELECT + '瑙嗛' as type, + COUNT(p1.id) AS totalNum, + COUNT(p2.id) AS errorNum, + COUNT(p1.id) - COUNT(p2.id) AS normalNum + FROM t_monitor + LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 'province' </if> + LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if> + WHERE INSTR(camera_fun_type, 1) + <if test="deptId != null"> AND p1.dept_id = #{deptId} AND p2.dept_id = #{deptId} </if> + UNION ALL + SELECT + '杞﹁締' as type, + COUNT(p1.id) AS totalNum, + COUNT(p2.id) AS errorNum, + COUNT(p1.id) - COUNT(p2.id) AS normalNum + FROM t_monitor + LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 'province' </if> + LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if> + WHERE INSTR(camera_fun_type, 2) + <if test="deptId != null"> AND p1.dept_id = #{deptId} AND p2.dept_id = #{deptId} </if> + UNION ALL + SELECT + '浜鸿劯' as type, + COUNT(p1.id) AS totalNum, + COUNT(p2.id) AS errorNum, + COUNT(p1.id) - COUNT(p2.id) AS normalNum + FROM t_monitor + LEFT JOIN t_yw_point p1 ON t_monitor.serial_number = p1.serial_number <if test="dataScope == 1"> AND p1.province_tag = 'province' </if> + LEFT JOIN t_yw_point p2 ON t_monitor.serial_number = p2.serial_number AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if> + WHERE INSTR(camera_fun_type, 3) + <if test="deptId != null"> AND p1.dept_id = #{deptId} AND p2.dept_id = #{deptId} </if> + </select> + + <select id="monitorRate" resultType="com.ycl.platform.domain.vo.screen.MonitorRateVO"> + SELECT + * + FROM + -- 浜鸿劯璁惧 + ( + SELECT + d.area, + IFNULL(ROUND((COUNT(m.id) - COUNT(m2.id)) / COUNT(m.id) * 100, 2), 0) AS faceRate, + COUNT(m.id) - COUNT(m2.id) AS faceNormalNum, + COUNT(m2.id) AS faceErrorNum + FROM + sys_dept d + LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 'province' </if> + LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if> + LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 1) + LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 1) + WHERE d.del_flag = 0 AND d.area IS NOT NULL + GROUP BY d.area, d.dept_id + ORDER BY d.dept_id + ) a + INNER JOIN + -- 杞﹁締璁惧 + ( + SELECT + d.area, + IFNULL(ROUND((COUNT(m.id) - COUNT(m2.id)) / COUNT(m.id) * 100, 2), 0) AS carRate, + COUNT(m.id) - COUNT(m2.id) AS carNormalNum, + COUNT(m2.id) AS carErrorNum + FROM + sys_dept d + LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 'province' </if> + LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if> + LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 2) + LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 2) + WHERE d.del_flag = 0 AND d.area IS NOT NULL + GROUP BY d.area, d.dept_id + ORDER BY d.dept_id + ) b ON a.area = b.area + INNER JOIN + -- 瑙嗛璁惧 + ( + SELECT + d.area, + IFNULL(ROUND((COUNT(m.id) - COUNT(m2.id)) / COUNT(m.id) * 100, 2), 0) AS videoRate, + COUNT(m.id) - COUNT(m2.id) AS videoNormalNum, + COUNT(m2.id) AS videoErrorNum + FROM + sys_dept d + LEFT JOIN t_yw_point p ON p.dept_id = d.dept_id AND p.deleted = 0 <if test="dataScope == 1"> AND p.province_tag = 'province' </if> + LEFT JOIN t_yw_point p2 ON p2.dept_id = d.dept_id AND p2.deleted = 0 AND p2.recovery = 1 <if test="dataScope == 1"> AND p2.province_tag = 'province' </if> + LEFT JOIN t_monitor m ON m.serial_number = p.serial_number AND INSTR(m.camera_fun_type, 3) + LEFT JOIN t_monitor m2 ON m2.serial_number = p2.serial_number AND INSTR(m2.camera_fun_type, 3) + WHERE d.del_flag = 0 AND d.area IS NOT NULL + GROUP BY d.area, d.dept_id + ORDER BY d.dept_id + ) c ON a.area = c.area + </select> + </mapper> diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml index fa34221..f07833f 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml @@ -139,4 +139,17 @@ </if> </select> + <select id="workOrderTotal" resultType="java.util.Map"> + SELECT + COUNT(*) AS totalNum, + COUNT(IF(status = 'DISTRIBUTED', 1, NULL)) + COUNT(IF(status = 'AUDITING_FAIL', 1, NULL)) + COUNT(IF(status = 'WAIT_DISTRIBUTE', 1, NULL)) AS todoNum, + COUNT(IF(status = 'YW_HANDLE', 1, NULL)) + COUNT(IF(status = 'AUDITING_SUCCESS', 1, NULL)) + COUNT(IF(status = 'AUDITING', 1, NULL)) AS doneNum + FROM t_work_order w + WHERE w.deleted = 0 + </select> + + <select id="workOrderRegion" resultType="java.util.Map"> + SELECT * FROM t_work_order limit 1 + </select> + </mapper> diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml index c57534a..56539c4 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml @@ -53,10 +53,10 @@ <select id="home" resultType="com.ycl.platform.domain.entity.YwPoint"> <![CDATA[ - SELECT id, point_name, start_time, end_time, status + SELECT t_yw_point.id, point_name, start_time, end_time, status, unit_name AS remark FROM t_yw_point - WHERE - deleted = 0 + LEFT JOIN t_yw_unit ON t_yw_unit.id = t_yw_point.unit_id AND t_yw_point.deleted = 0 + WHERE t_yw_point.deleted = 0 AND TIMESTAMPDIFF(MONTH, NOW(), end_time) <= (SELECT config_value FROM sys_config WHERE config_key = 'operation.and.maintenance.expiration.warning.time') ORDER BY end_time ]]> -- Gitblit v1.8.0