From f12b7fd8a4a5dc6c7db814f5879defa77f1b1ab7 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期三, 17 十二月 2025 17:28:15 +0800
Subject: [PATCH] 巡检监管逻辑
---
fzzy-igdss-web/src/main/resources/templates/security/patrol-count.html | 19 ++-------
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java | 5 ++
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PatrolSuperData.java | 8 ++++
fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SecManager.java | 59 +++++++++++++++++++++++++++++
fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolPR.java | 13 ++++++
5 files changed, 89 insertions(+), 15 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PatrolSuperData.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PatrolSuperData.java
index 23b81c5..e07b9dc 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PatrolSuperData.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PatrolSuperData.java
@@ -14,6 +14,7 @@
@Data
public class PatrolSuperData implements Serializable {
+ /*----------------鍒楄〃浣跨敤--------------------*/
private String companyId; //缁勭粐缂栫爜
@@ -31,6 +32,13 @@
private Date updateTime;
+
+ /*----------------缁熻浣跨敤--------------------*/
+ private Integer isDeptNum = 0; //宸插贰妫�搴撳尯鏁�;
+ private Integer noDeptNum = 0; //鏈贰妫�搴撳尯鏁�;
+ private Integer yesterdaySum = 0; //鏄ㄥぉ宸℃浜烘;
+ private Integer weekSum = 0; //杩�7澶╁贰妫�浜烘;
+
public PatrolSuperData() {
super();
}
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolPR.java
index ef412a6..e5dcdc8 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PatrolPR.java
@@ -58,6 +58,19 @@
for (Patrol patrol : weekList) {
patrolSuperData = map.get(patrol.getDeptId());
+ //7澶╁唴缁熻
+ patrolSuperData.setWeekNum(patrolSuperData.getWeekNum() + 1);
+
+ //褰撳ぉ缁熻
+ if(patrol.getCreateTime().after(end)){
+ patrolSuperData.setCurNum(patrolSuperData.getCurNum() + 1);
+ patrolSuperData.setIsPatrol("Y");
+ }
+
+ //鏄ㄥぉ缁熻
+ if(patrol.getCreateTime().after(start) && patrol.getCreateTime().before(end)){
+ patrolSuperData.setWeekNum(patrolSuperData.getWeekNum() + 1);
+ }
}
}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java
index 6423a53..7504a74 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/security/SecurityController.java
@@ -5,6 +5,7 @@
import com.fzzy.igds.constant.CameraPlayType;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.data.PatrolSuperData;
import com.fzzy.igds.domain.Camera;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.SystemUtil;
@@ -205,6 +206,10 @@
String deptId = ContextUtil.subDeptId(user);
view.put("deptId", deptId);
+
+ PatrolSuperData patrolSuperData = secManager.patrolTrack();
+ view.put("patrolSuperData", patrolSuperData);
+
return prefix + "/patrol-count";
}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SecManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SecManager.java
index e873102..e4a03d4 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SecManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/security/SecManager.java
@@ -5,14 +5,23 @@
import com.fzzy.igds.camera.data.ApiCameraResp;
import com.fzzy.igds.constant.RespCodeEnum;
import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.data.PatrolSuperData;
import com.fzzy.igds.domain.Camera;
+import com.fzzy.igds.domain.Dept;
+import com.fzzy.igds.domain.Patrol;
+import com.fzzy.igds.service.CoreDeptService;
+import com.fzzy.igds.service.PatrolService;
import com.fzzy.igds.service.SecCameraService;
import com.fzzy.igds.utils.ContextUtil;
+import com.fzzy.igds.utils.DateUtil;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
+import java.util.Date;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* @Description
@@ -27,6 +36,10 @@
private SecCameraService secCameraService;
@Resource
private ApiCameraManager apiCameraManager;
+ @Resource
+ private PatrolService patrolService;
+ @Resource
+ private CoreDeptService coreDeptService;
/**
*
@@ -147,4 +160,50 @@
secCameraService.refreshCache(ContextUtil.getCompanyId());
return new PageResponse<>(RespCodeEnum.CODE_0000, "鎵ц鎴愬姛锛侊紒");
}
+
+ /**
+ * 宸℃缁熻
+ * @return
+ */
+ public PatrolSuperData patrolTrack() {
+ PatrolSuperData patrolSuperData = new PatrolSuperData();
+
+ List<Dept> deptList = coreDeptService.getDeptData();
+ if(null == deptList || deptList.isEmpty()){
+ return patrolSuperData;
+ }
+
+ //搴撳尯杞崲
+ Map<String, Integer> map = new HashMap<>();
+ for (Dept dept : deptList) {
+ map.put(dept.getId(), 0);
+ }
+
+ List<Patrol> weekList = patrolService.getWeekList();
+
+ if(null != weekList && weekList.size() > 0){
+ Date start = DateUtil.getCurZero(DateUtil.getNewByDay(new Date(), -1)); //鏄ㄥぉ闆剁偣闆跺垎
+ Date end = DateUtil.getCurZero(new Date()); //浠婂ぉ闆剁偣闆跺垎
+ for (Patrol patrol : weekList) {
+ //7澶╁唴浜烘
+ patrolSuperData.setWeekSum(patrolSuperData.getWeekSum() + 1);
+
+ //鏄ㄥぉ浜烘
+ if(patrol.getCreateTime().after(start) && patrol.getCreateTime().before(end)){
+ patrolSuperData.setYesterdaySum(patrolSuperData.getYesterdaySum() + 1);
+ }
+
+ //褰撳ぉ缁熻
+ if(patrol.getCreateTime().after(end)){
+ if(map.get(patrol.getDeptId()) == 0){
+ patrolSuperData.setIsDeptNum(patrolSuperData.getIsDeptNum() + 1);
+ map.put(patrol.getDeptId(), map.get(patrol.getDeptId()) + 1);
+ }
+ }
+ }
+ }
+ patrolSuperData.setNoDeptNum(deptList.size() - patrolSuperData.getIsDeptNum());
+
+ return patrolSuperData;
+ }
}
diff --git a/fzzy-igdss-web/src/main/resources/templates/security/patrol-count.html b/fzzy-igdss-web/src/main/resources/templates/security/patrol-count.html
index c401146..dd9e34d 100644
--- a/fzzy-igdss-web/src/main/resources/templates/security/patrol-count.html
+++ b/fzzy-igdss-web/src/main/resources/templates/security/patrol-count.html
@@ -94,28 +94,28 @@
<div class="layui-row layui-col-space15" style="background: #FFFFFF;margin: 10px">
<div class="layui-col-sm3 layui-col-xs6">
<div class="console-link-block">
- <div class="console-link-block-num">0</div>
+ <div class="console-link-block-num" th:text="${patrolSuperData.isDeptNum}">0</div>
<div class="console-link-block-text">宸插贰妫�搴撳尯鏁�(褰撳ぉ)</div>
<i class="console-link-block-icon layui-icon layui-icon-form"></i>
</div>
</div>
<div class="layui-col-sm3 layui-col-xs6">
<div class="console-link-block">
- <div class="console-link-block-num">0</div>
+ <div class="console-link-block-num" th:text="${patrolSuperData.noDeptNum}">0</div>
<div class="console-link-block-text">鏈贰妫�搴撳尯鏁�(褰撳ぉ)</div>
<i class="console-link-block-icon layui-icon layui-icon-survey"></i>
</div>
</div>
<div class="layui-col-sm3 layui-col-xs6">
<div class="console-link-block">
- <div class="console-link-block-num">0</div>
+ <div class="console-link-block-num" th:text="${patrolSuperData.yesterdaySum}">0</div>
<div class="console-link-block-text">宸℃浜烘(鏄ㄥぉ)</div>
<i class="console-link-block-icon layui-icon layui-icon-chart"></i>
</div>
</div>
<div class="layui-col-sm3 layui-col-xs6">
<div class="console-link-block">
- <div class="console-link-block-num">0</div>
+ <div class="console-link-block-num" th:text="${patrolSuperData.weekSum}">0</div>
<div class="console-link-block-text">宸℃浜烘(杩�7澶�)</div>
<i class="console-link-block-icon layui-icon layui-icon-chart"></i>
</div>
@@ -125,17 +125,6 @@
</div>
<!-- js閮ㄥ垎 -->
<script th:src="@{/ajax/libs/layui-ruoyi/layui.js}"></script>
-<!--<script src="${ctxPath}/assets/js/common.js"></script>-->
-<script th:src="@{/ajax/libs/echarts/echarts.min.js}"></script>
-<script th:src="@{/ajax/libs/echarts/china.js}"></script>
-<script th:src="@{/ajax/libs/echarts/echarts-wordcloud.min.js}"></script>
-<script>
- layui.use(['layer'], function () {
- var $ = layui.jquery;
- var layer = layui.layer;
-
- });
-</script>
</body>
</html>
\ No newline at end of file
--
Gitblit v1.9.3