From ae7c4266892b1017ac5cb8a1c937c78fc9a7a6cd Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期二, 20 一月 2026 17:50:31 +0800
Subject: [PATCH] ai事件,智能抓拍,根据登录用户获取公司和库区搜索数据
---
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SuperInventoryReportService.java | 2 +
fzzy-igdss-web/src/main/resources/templates/security/snapRecord.html | 6 +-
fzzy-igdss-web/src/main/java/com/fzzy/common/manager/CommonManager.java | 3 -
fzzy-igdss-web/src/main/resources/templates/security/eventInfo.html | 22 ++++++-----
fzzy-igdss-web/src/main/java/com/fzzy/security/EventInfoController.java | 27 +++++++++++++
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java | 9 +++-
fzzy-igdss-web/src/main/java/com/fzzy/security/SnapRecordController.java | 25 ++++++++++++
7 files changed, 75 insertions(+), 19 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java
index 4c9faf3..ccdd21c 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreCompanyService.java
@@ -11,6 +11,7 @@
import com.ruoyi.common.utils.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -44,8 +45,12 @@
}
if (Constant.USER_TYPE_30.equals(user.getUserType())) {
//搴撳尯鐢ㄦ埛
- return this.listCompany(user.getDeptId()+"",null,null);
-
+ List<Company> companies = new ArrayList<>();
+ if (user.getDeptId() != null && StringUtils.isNotBlank(user.getDeptId().toString())) {
+ String substring = user.getDeptId().toString().substring(0, user.getDeptId().toString().length() - 3);
+ companies = this.listCompany(substring, null, null);
+ }
+ return companies;
}
return this.listCompany(null,user.getCompanyId(),null);
}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SuperInventoryReportService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SuperInventoryReportService.java
index bbbf64b..a44bdfa 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SuperInventoryReportService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SuperInventoryReportService.java
@@ -286,6 +286,8 @@
if (StringUtils.isNotBlank(param.getDeptId())) {
inoutRecordQueryWrapper.likeRight("dept_id", param.getDeptId());
}
+ inoutRecordQueryWrapper.likeRight("progress", Constant.PROGRESS_RECORD); //宸插畬鎴愮殑鍗曟嵁
+ inoutRecordQueryWrapper.ne("record_status", Constant.RECORD_STATUS_DEL); //涓嶆槸鍒犻櫎鐨勫崟瀛愶紝鍗虫甯哥殑鍗曞瓙
inoutRecordQueryWrapper.ge("create_time", param.getStart());
inoutRecordQueryWrapper.le("create_time", param.getEnd());
inoutRecordQueryWrapper.orderByAsc("create_time");
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/common/manager/CommonManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/common/manager/CommonManager.java
index 7b438ae..02c08f7 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/common/manager/CommonManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/common/manager/CommonManager.java
@@ -215,8 +215,7 @@
* @date 2025/12/17
*/
public List<Company> listCompanyData() {
- SysUser user = ContextUtil.getLoginUser();
- return coreCompanyService.listCompany(null, null, user.getDeptId() + "");
+ return coreCompanyService.getCompanyByUserType();
}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/security/EventInfoController.java b/fzzy-igdss-web/src/main/java/com/fzzy/security/EventInfoController.java
index 9001e05..f8ffe38 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/security/EventInfoController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/security/EventInfoController.java
@@ -2,13 +2,17 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzzy.common.manager.CommonManager;
+import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.constant.RespCodeEnum;
import com.fzzy.igds.constant.WarnType;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.data.PageResponse;
import com.fzzy.igds.domain.Company;
+import com.fzzy.igds.domain.Dept;
import com.fzzy.igds.domain.EventInfo;
+import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.security.manager.EventInfoManager;
+import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
@@ -43,15 +47,33 @@
*/
@GetMapping
public String getEventInfo(@RequestParam(value = "viewType", required = false) String viewType, Model model) {
+ //鑾峰彇褰撳墠鐧诲綍浜�
+ SysUser user = ContextUtil.getLoginUser();
+ //鑾峰彇鍏徃鏁版嵁
List<Company> companies = commonManager.listCompanyData();
String defaultCompany = "" ;
if (companies != null && !companies.isEmpty()) {
defaultCompany = companies.get(0).getId();
}
+ //鑾峰彇搴撳尯鏁版嵁
+ List<Dept> depts = new ArrayList<>() ;
+ String defaultDeptId = "" ;
+ if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+ depts=commonManager.listDeptData(null);
+ defaultDeptId=user.getDeptId() + "";
+ }else{
+ depts=commonManager.listDeptData(defaultCompany);
+ //鍦ㄩ浣嶆坊鍔犳墍鏈夐�夐」
+ Dept all = new Dept();
+ all.setId("");
+ all.setKqmc("鎵�鏈�");
+ depts.add(0, all);
+ }
IgdsBaseParam param = new IgdsBaseParam();
param.setPage(1);
param.setLimit(6);
param.setKey(defaultCompany);
+ param.setDeptId(defaultDeptId);
Page<EventInfo> events = eventInfoManager.pageData(param);
model.addAttribute("eventInfoList", events.getRecords());
model.addAttribute("currentPage", events.getCurrent());
@@ -66,7 +88,9 @@
//璁惧鏁版嵁
model.addAttribute("cameraList", commonManager.listCameraData());
//搴撳尯鏁版嵁
- model.addAttribute("deptList", commonManager.listDeptData(defaultCompany));
+ model.addAttribute("deptList", depts);
+ model.addAttribute("defaultDeptId", defaultDeptId);
+
//涓氬姟绫诲瀷鏁版嵁
List<Map<String, String>> bizTypeList = new ArrayList<>();
for (WarnType type : WarnType.values()) {
@@ -78,6 +102,7 @@
model.addAttribute("bizTypeList", bizTypeList);
//鍏徃鏁版嵁
model.addAttribute("companyList", companies);
+ model.addAttribute("defaultCompany", defaultCompany);
return prefix + "/eventInfo";
}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/security/SnapRecordController.java b/fzzy-igdss-web/src/main/java/com/fzzy/security/SnapRecordController.java
index 55e9c3d..deb8b3a 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/security/SnapRecordController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/security/SnapRecordController.java
@@ -2,12 +2,16 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzzy.common.manager.CommonManager;
+import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.constant.RespCodeEnum;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.data.PageResponse;
import com.fzzy.igds.domain.Company;
+import com.fzzy.igds.domain.Dept;
import com.fzzy.igds.domain.SnapRecord;
+import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.security.manager.SnapRecordManager;
+import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
@@ -15,6 +19,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.List;
@@ -36,15 +41,32 @@
*/
@GetMapping
public String getSnapRecord(@RequestParam(value = "viewType", required = false) String viewType, Model model) {
+ //鑾峰彇褰撳墠鐧诲綍浜�
+ SysUser user = ContextUtil.getLoginUser();
List<Company> companies = commonManager.listCompanyData();
String defaultCompany = "" ;
if (companies != null && !companies.isEmpty()) {
defaultCompany = companies.get(0).getId();
}
+ //鑾峰彇搴撳尯鏁版嵁
+ List<Dept> depts = new ArrayList<>() ;
+ String defaultDeptId = "" ;
+ if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+ depts=commonManager.listDeptData(null);
+ defaultDeptId=user.getDeptId() + "";
+ }else{
+ depts=commonManager.listDeptData(defaultCompany);
+ //鍦ㄩ浣嶆坊鍔犳墍鏈夐�夐」
+ Dept all = new Dept();
+ all.setId("");
+ all.setKqmc("鎵�鏈�");
+ depts.add(0, all);
+ }
IgdsBaseParam param = new IgdsBaseParam();
param.setPage(1);
param.setLimit(6);
param.setKey(defaultCompany);
+ param.setDeptId(defaultDeptId);
Page<SnapRecord> images = snapRecordManager.pageData(param);
model.addAttribute("snapRecordList", images.getRecords());
model.addAttribute("currentPage", images.getCurrent());
@@ -59,7 +81,8 @@
//璁惧鏁版嵁
model.addAttribute("cameraList", commonManager.listCameraData());
//搴撳尯鏁版嵁
- model.addAttribute("deptList", commonManager.listDeptData(defaultCompany));
+ model.addAttribute("deptList", depts);
+ model.addAttribute("defaultDeptId", defaultDeptId);
//鍏徃鏁版嵁
model.addAttribute("companyList", companies);
//榛樿鏌ヨ鍏徃鏁版嵁
diff --git a/fzzy-igdss-web/src/main/resources/templates/security/eventInfo.html b/fzzy-igdss-web/src/main/resources/templates/security/eventInfo.html
index fcc1aec..bd7d5b6 100644
--- a/fzzy-igdss-web/src/main/resources/templates/security/eventInfo.html
+++ b/fzzy-igdss-web/src/main/resources/templates/security/eventInfo.html
@@ -8,10 +8,10 @@
<th:block th:include="include :: header('AI浜嬩欢绠$悊')"/>
<link rel="stylesheet" type="text/css" th:href="@{/ajax/libs/layui/css/layui.css}"/>
<link rel="stylesheet" th:href="@{/security/eventInfo/eventInfo-style.css}">
- <th:block th:include="include :: select2-css" />
+ <th:block th:include="include :: select2-css"/>
<style>
.select-list .select2-container--bootstrap {
- width: 280px!important;
+ width: 280px !important;
display: inline-block;
}
</style>
@@ -25,7 +25,7 @@
<div class="select-list">
<ul>
<li>
- 鏀跺偍鍏徃锛�<select class="form-control" name="key">
+ 鏀跺偍鍏徃锛�<select class="form-control" name="key">
<option th:each="company : ${companyList}" th:value="${company.id}"
th:text="${company.dwmc}"
th:selected="${company.id == defaultCompany}">
@@ -33,21 +33,23 @@
</select>
</li>
<li>
- 鎵�閫夊簱鍖猴細<select class="form-control" name="deptId">
- <option value="">鎵�鏈�</option>
- <option th:each="dept : ${deptList}" th:value="${dept.id}" th:text="${dept.kqmc}">
+ 鎵�閫夊簱鍖猴細<select class="form-control" name="deptId" >
+ <option th:each="dept : ${deptList}" th:value="${dept.id}" th:text="${dept.kqmc}"
+ th:selected="${dept.id == defaultDeptId}">
</option>
</select>
</li>
<li th:if="${viewType == '1'}" style="display: flex">
<label>浜嬩欢鍚嶇О锛�</label>
- <input class="form-control" type="text" name="name" placeholder="璇疯緭鍏ヤ簨浠跺悕绉�">
+ <input class="form-control" type="text" name="name" placeholder="璇疯緭鍏ヤ簨浠跺悕绉�">
</li>
<li class="select-time">
<label style="width: 100px">浜嬩欢鏃堕棿锛� </label>
- <input type="text" class="time-input" style="width: 140px;" id="start" placeholder="寮�濮嬫椂闂�" name="start"/>
+ <input type="text" class="time-input" style="width: 140px;" id="start"
+ placeholder="寮�濮嬫椂闂�" name="start"/>
<span>-</span>
- <input type="text" class="time-input" style="width: 140px;" id="end" placeholder="缁撴潫鏃堕棿" name="end"/>
+ <input type="text" class="time-input" style="width: 140px;" id="end" placeholder="缁撴潫鏃堕棿"
+ name="end"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="searchRecord()"><i
@@ -141,7 +143,7 @@
</div>
<th:block th:include="include :: footer"/>
<script th:src="@{/ajax/libs/layui/layui.js}"></script>
-<th:block th:include="include :: select2-js" />
+<th:block th:include="include :: select2-js"/>
<script th:src="@{/security/eventInfo/eventInfo.js}"></script>
<script th:inline="javascript">
var cameraList = [[${cameraList}]];
diff --git a/fzzy-igdss-web/src/main/resources/templates/security/snapRecord.html b/fzzy-igdss-web/src/main/resources/templates/security/snapRecord.html
index 75aad2a..d0f430b 100644
--- a/fzzy-igdss-web/src/main/resources/templates/security/snapRecord.html
+++ b/fzzy-igdss-web/src/main/resources/templates/security/snapRecord.html
@@ -11,7 +11,7 @@
<th:block th:include="include :: select2-css"/>
<style>
.select-list .select2-container--bootstrap {
- width: 280px!important;
+ width: 280px !important;
display: inline-block;
}
</style>
@@ -34,8 +34,8 @@
</li>
<li>
鎵�閫夊簱鍖猴細<select class="form-control" name="deptId">
- <option value="">鎵�鏈�</option>
- <option th:each="dept : ${deptList}" th:value="${dept.id}" th:text="${dept.kqmc}">
+ <option th:each="dept : ${deptList}" th:value="${dept.id}" th:text="${dept.kqmc}"
+ th:selected="${dept.id == defaultDeptId}">
</option>
</select>
</li>
--
Gitblit v1.9.3