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