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