From 8e4be3c0e5577fddae3ae30b0ca00f8b7a6c490e Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期四, 05 三月 2026 17:41:18 +0800
Subject: [PATCH] 建模gis监管页面修改

---
 fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java |  326 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 291 insertions(+), 35 deletions(-)

diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java
index b985e36..1a14c23 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java
@@ -17,7 +17,10 @@
 
 import javax.annotation.Resource;
 import java.text.DecimalFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.LinkedHashMap;
+import java.util.List;
 
 /**
  * @Description
@@ -44,6 +47,13 @@
     private EventInfoService eventInfoService;
     @Resource
     private SnapRecordService snapRecordService;
+    @Resource
+    private SecCameraService cameraService;
+    @Resource
+    private BankService bankService;
+
+    @Resource
+    private PledgeContractService pledgeContractService;
 
     /**
      * 鑾峰彇鐪佸強涓嬪睘甯傚窞闆嗗悎
@@ -115,16 +125,242 @@
         return list;
     }
 
+
+    public List<DicArea> getBankAndChildDept(String areaCode) {
+
+        DicArea area = dicAreaService.listDicAreaByCode(areaCode);
+        if (null == area) {
+            return null;
+        }
+        List<DicArea> areaChildren =  new ArrayList<>();
+
+        List<DicArea> list = new ArrayList<>();
+        if (Constant.AREA_TYPE_1.equals(area.getType())) {
+           //鏌ヨ鎵�鏈夌殑璐ㄦ娂鍚堝悓
+            List<PledgeContract> pledgeContractList = pledgeContractService.listAll(null);
+            //鏌ヨ鎵�鏈夌殑搴撳尯
+            List<Dept> depotList = deptService.listDept(null, ContextUtil.getCompanyId(), null);
+            //鏌ヨ鎵�鏈夌殑閾惰
+            List<Bank> bankList = bankService.listAll(null);
+            DicArea defaultBank = new DicArea();
+            defaultBank.setCode("-1");
+            defaultBank.setName("鏃犺川鎶奸摱琛�");
+            defaultBank.setChildren(new ArrayList<>());
+
+            for (Dept dept : depotList) {
+                Boolean isPledge = false;
+                for (PledgeContract pledgeContract : pledgeContractList) {
+                    if( dept.getId().equals(pledgeContract.getPledgeDept())){
+                        //浠巐ist涓壘鍒板綋鍓嶈川鎶奸摱琛岀殑鏁版嵁
+                        DicArea pledgeBank = null;
+                        int indexBank = -1;
+                        for (DicArea item : areaChildren) {
+                            if (pledgeContract.getPledgeBank().equals(item.getCode())) {
+                                pledgeBank = item;
+                                indexBank = areaChildren.indexOf(pledgeBank);
+                                break;
+                            }
+                        }
+                        if( null == pledgeBank){
+                            //鏈壘鍒拌川鎶奸摱琛屾暟鎹垯鏂板缓
+                            pledgeBank = new DicArea();
+                            pledgeBank.setCode(pledgeContract.getPledgeBank());
+                            pledgeBank.setName("璐ㄦ娂閾惰_"+pledgeContract.getPledgeBank());
+                            //浠庨摱琛屾暟鎹腑鎵惧埌璐ㄦ娂閾惰鐨勪俊鎭�
+                            for (Bank bank : bankList) {
+                                if (pledgeContract.getPledgeBank().equals(bank.getId())) {
+                                    pledgeBank.setName(bank.getName());
+                                }
+                            }
+                            //娣诲姞璐ㄦ娂閾惰涓嬬殑搴撳尯鏁版嵁
+                            DicArea deptDic = new DicArea();
+                            deptDic.setCode(dept.getId());
+                            deptDic.setName(dept.getKqmc());
+
+                            List<DicArea> children = pledgeBank.getChildren();
+                            if (null == children) {
+                                pledgeBank.setChildren(new ArrayList<>());
+                            }
+                            pledgeBank.getChildren().add(deptDic);
+                            //鏂板璐ㄦ娂閾惰鏁版嵁鍒發ist涓�
+                            areaChildren.add(pledgeBank);
+                            isPledge=true;
+                            break;
+                        }else{
+                            //娣诲姞璐ㄦ娂閾惰涓嬬殑搴撳尯鏁版嵁
+                            DicArea deptDic = new DicArea();
+                            deptDic.setCode(dept.getId());
+                            deptDic.setName(dept.getKqmc());
+
+                            List<DicArea> children = pledgeBank.getChildren();
+                            if (null == children) {
+                                pledgeBank.setChildren(new ArrayList<>());
+                            }
+                            pledgeBank.getChildren().add(deptDic);
+                            //鏇存柊list涓殑璐ㄦ娂閾惰鏁版嵁
+                            areaChildren.set(indexBank,pledgeBank);
+                            isPledge=true;
+                            break;
+
+                        }
+
+
+                    }
+                }
+                if(!isPledge){
+                    DicArea deptDic = new DicArea();
+                    deptDic.setCode(dept.getId());
+                    deptDic.setName(dept.getKqmc());
+
+                    List<DicArea> children = defaultBank.getChildren();
+                    if (null == children) {
+                        defaultBank.setChildren(new ArrayList<>());
+                    }
+                    defaultBank.getChildren().add(deptDic);
+                }
+            }
+            List<DicArea> defaultBankChildren = defaultBank.getChildren();
+            if (defaultBankChildren.size()>0) {
+                areaChildren.add(defaultBank);
+            }
+            area.setChildren(areaChildren);
+        }
+        list.add(area);
+        return list;
+    }
+
     /**
-     * 鑾峰彇缁勭粐涓嬫墍鏈夊簱鍖轰俊鎭�
+     * 鑾峰彇鐢ㄦ埛涓嬫墍鏈夊簱鍖轰俊鎭�
+     *
+     * @return
+     */
+    public List<Dept> getDeptList() {
+        return deptService.getDeptByUserType(null);
+    }
+
+    /**
+     * 鑾峰彇搴撳尯灏佽淇℃伅
      *
      * @param companyId
      * @return
      */
-    public List<Dept> getAllDept(String companyId) {
-        return deptService.listDept(null, companyId, null);
+    public List<GroupDeptData> getDeptData(String companyId) {
+
+        List<GroupDeptData> list = new ArrayList<>();
+        GroupDeptData deptData;
+        List<Dept> deptList = deptService.getDeptByUserType(null);
+        if (null != deptList && !deptList.isEmpty()) {
+            List<Depot> depotList;
+            for (Dept dept : deptList) {
+                deptData = new GroupDeptData();
+                deptData.setDeptId(dept.getId());
+                deptData.setDeptName(dept.getKqmc());
+                deptData.setCode(dept.getXzqhdm());
+                deptData.setCounty(dept.getXzqhmc());
+                deptData.setJd(dept.getJd());
+                deptData.setWd(dept.getWd());
+
+                //缁熻浠撳簱鏁�
+                depotList = depotService.getCacheDepotList(dept.getCompanyId(), dept.getId());
+                if (null != depotList && !depotList.isEmpty()) {
+                    for (Depot depot : depotList) {
+                        deptData.setDepotNumber(deptData.getDepotNumber() + 1);
+
+                        if (StringUtils.isNotBlank(depot.getPledgeBank())) {
+                            deptData.setDepotBankNumber(deptData.getDepotBankNumber() + 1);
+                        }
+
+                        if (null == depot.getStorageReal()) {
+                            depot.setStorageReal(0.0);
+                        }
+                        deptData.setStorageNum(deptData.getStorageNum() + depot.getStorageReal() / 1000);
+                    }
+                }
+
+                //缁熻鍑哄叆搴撴暟閲�
+                InoutParam inoutParam = new InoutParam();
+                inoutParam.setDeptId(dept.getId());
+                inoutParam.setCompanyId(companyId);
+                inoutParam.setStart(DateUtil.getCurZero(new Date()));
+                inoutParam.setEnd(DateUtil.getNextZero(new Date()));
+                List<InoutRecord> inoutRecords = inoutRecordService.listInout(inoutParam);
+                if (null != inoutRecords && !inoutRecords.isEmpty()) {
+                    for (InoutRecord inoutRecord : inoutRecords) {
+                        if (Constant.TYPE_IN.equals(inoutRecord.getType())) {
+                            deptData.setInNum(deptData.getInNum() + 1);
+                        }
+                        if (Constant.TYPE_OUT.equals(inoutRecord.getType())) {
+                            deptData.setOutNum(deptData.getOutNum() + 1);
+
+                        }
+                    }
+                }
+
+                list.add(deptData);
+            }
+        }
+
+        return list;
     }
 
+
+    /**
+     * 鑾峰彇搴撳尯灏佽淇℃伅
+     *
+     * @param companyId
+     * @return
+     */
+    public List<GroupDepotData> getDepotData(String companyId) {
+
+        List<GroupDepotData> list = new ArrayList<>();
+        GroupDepotData depotData;
+        List<Dept> deptList = deptService.getDeptByUserType(null);
+        if (null != deptList && !deptList.isEmpty()) {
+            List<Depot> depotList;
+            for (Dept dept : deptList) {
+                //缁熻浠撳簱鏁�
+                depotList = depotService.getCacheDepotList(dept.getCompanyId(), dept.getId());
+                if (null != depotList && !depotList.isEmpty()) {
+                    for (Depot depot : depotList) {
+                        depotData = new GroupDepotData();
+                        depotData.setDeptId(dept.getId());
+                        depotData.setDeptName(dept.getKqmc());
+                        depotData.setCode(dept.getXzqhdm());
+                        depotData.setCounty(dept.getXzqhmc());
+                        depotData.setDepotId(depot.getId());
+                        depotData.setDepotName(depot.getName());
+                        if (null == depot.getStorageReal()) {
+                            depot.setStorageReal(0.0);
+                        }
+                        depotData.setStorageNum(depot.getStorageReal() / 1000);
+                        list.add(depotData);
+                    }
+                }
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 鑾峰彇搴撳尯涓嬬洃鎺т俊鎭�
+     *
+     * @param param
+     * @return
+     */
+    public PageResponse<List<Camera>> cameraList(IgdsBaseParam param) {
+
+        if (StringUtils.isBlank(param.getDeptId())) {
+            return new PageResponse<>(RespCodeEnum.CODE_2000, null);
+        }
+
+        if (StringUtils.isBlank(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+
+        List<Camera> listCamera = cameraService.getCameraByDeptId(param.getCompanyId(), param.getDeptId());
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000, listCamera);
+    }
 
     /**
      * 澶у睆棣栭〉缁熻淇℃伅锛氫紒涓氭暟銆佸簱鍖烘暟銆佷粨搴撴暟銆佽川鎶间粨鏁般�佹暎绮強鎴愬搧绮暟銆佸垎鍝佺搴撳瓨鏁�
@@ -141,7 +377,7 @@
         indexData.setCompanyNum(companyNum);
 
         //搴撳尯鏁�
-        List<Dept> deptList = deptService.listDept(null, param.getCompanyId(), null);
+        List<Dept> deptList = deptService.getDeptByUserType(null);
         if (null != deptList) {
             indexData.setDeptNum(deptList.size());
         }
@@ -156,26 +392,26 @@
             //鐢ㄤ簬缁熻鍒嗗搧绉嶅簱瀛�
             LinkedHashMap<String, Double> varietyMap = new LinkedHashMap<>();
             for (Depot depot : depotList) {
-                if(StringUtils.isNotBlank(depot.getPledgeBank())){
+                if (StringUtils.isNotBlank(depot.getPledgeBank())) {
                     indexData.setDepotBankNum(indexData.getDepotBankNum() + 1);
                 }
-                if(null == depot.getStorageReal()){
+                if (null == depot.getStorageReal()) {
                     depot.setStorageReal(0.0);
                 }
-                if(StringUtils.isNotBlank(depot.getStoreType()) && "2".equals(depot.getStoreType())){
-                    packFoodSum += depot.getStorageReal()/1000;
-                }else {
-                    foodSum += depot.getStorageReal()/1000;
+                if (StringUtils.isNotBlank(depot.getStoreType()) && "2".equals(depot.getStoreType())) {
+                    packFoodSum += depot.getStorageReal() / 1000;
+                } else {
+                    foodSum += depot.getStorageReal() / 1000;
                 }
 
-                if(depot.getStorageReal() > 0){
-                    if(StringUtils.isBlank(depot.getFoodVariety())){
+                if (depot.getStorageReal() > 0) {
+                    if (StringUtils.isBlank(depot.getFoodVariety())) {
                         //璁剧疆涓哄叾浠栧搧绫�
                         depot.setFoodVariety("9999000");
                     }
 
                     varietyMap.putIfAbsent(depot.getFoodVariety(), 0.000);
-                    varietyMap.put(depot.getFoodVariety(), varietyMap.get(depot.getFoodVariety()) + NumberUtil.keepPrecision(depot.getStorageReal()/1000, 3));
+                    varietyMap.put(depot.getFoodVariety(), varietyMap.get(depot.getFoodVariety()) + NumberUtil.keepPrecision(depot.getStorageReal() / 1000, 3));
                 }
             }
 
@@ -195,6 +431,7 @@
 
     /**
      * 澶у睆棣栭〉-搴撳尯淇℃伅缁熻
+     *
      * @param param
      * @return
      */
@@ -202,7 +439,7 @@
 
         List<GroupDeptData> list = new ArrayList<>();
         GroupDeptData deptData;
-        List<Dept> deptList = deptService.getDeptData();
+        List<Dept> deptList = deptService.getDeptByUserType(null);
         if (null != deptList && !deptList.isEmpty()) {
             List<Depot> depotList;
             for (Dept dept : deptList) {
@@ -220,14 +457,14 @@
                     for (Depot depot : depotList) {
                         deptData.setDepotNumber(deptData.getDepotNumber() + 1);
 
-                        if(StringUtils.isNotBlank(depot.getPledgeBank())){
+                        if (StringUtils.isNotBlank(depot.getPledgeBank())) {
                             deptData.setDepotBankNumber(deptData.getDepotBankNumber() + 1);
                         }
 
-                        if(null == depot.getStorageReal()){
+                        if (null == depot.getStorageReal()) {
                             depot.setStorageReal(0.0);
                         }
-                        deptData.setStorageNum(deptData.getStorageNum() + depot.getStorageReal()/1000);
+                        deptData.setStorageNum(deptData.getStorageNum() + depot.getStorageReal() / 1000);
                     }
                 }
 
@@ -243,7 +480,7 @@
                         if (Constant.TYPE_IN.equals(inoutRecord.getType())) {
                             deptData.setInNum(deptData.getInNum() + 1);
                         }
-                        if (Constant.TYPE_OUT.equals(inoutRecord.getType())){
+                        if (Constant.TYPE_OUT.equals(inoutRecord.getType())) {
                             deptData.setOutNum(deptData.getOutNum() + 1);
 
                         }
@@ -257,10 +494,19 @@
                 igdsParam.setStart(DateUtil.getNewByDay(new Date(), -6));
                 igdsParam.setEnd(DateUtil.getNextZero(new Date()));
                 List<EventInfo> enevtList = eventInfoService.getListByParam(igdsParam);
-                if (null != enevtList && !enevtList.isEmpty()) {
-                    deptData.setWarnNum7(enevtList.size());
-                    for (EventInfo eventInfo : enevtList) {
-                        if(DateFormatUtils.format(new Date(), "yyyyMMdd").equals(DateFormatUtils.format(eventInfo.getTime(), "yyyyMMdd"))){
+                List<EventInfo> resultEnevtList = new ArrayList<>();
+                for (EventInfo info : enevtList) {
+                    //褰撴爣绛惧寘鍚� 鍗¤溅锛� 鎴栬�呭寘鍚ぇ鍐欑殑鑻辨枃瀛楁瘝锛堜唬琛ㄦ湁杞︾墝锛夋椂锛屾坊鍔犺繘result
+                    if (StringUtils.isNotBlank(info.getTags())) {
+                        if (info.getTags().contains("鍗¤溅") || info.getTags().matches(".*[A-Z].*")) {
+                            resultEnevtList.add(info);
+                        }
+                    }
+                }
+                if (null != resultEnevtList && !resultEnevtList.isEmpty()) {
+                    deptData.setWarnNum7(resultEnevtList.size());
+                    for (EventInfo eventInfo : resultEnevtList) {
+                        if (DateFormatUtils.format(new Date(), "yyyyMMdd").equals(DateFormatUtils.format(eventInfo.getTime(), "yyyyMMdd"))) {
                             deptData.setDailyTotal(deptData.getDailyTotal() + 1);
                         }
                     }
@@ -295,13 +541,13 @@
                 namePieChart.put(dicArea.getCode(), dicArea.getName());
             }
         }
-        List<Dept> deptList = deptService.getDeptData();
+        List<Dept> deptList = deptService.getDeptByUserType(null);
         if (null != deptList && !deptList.isEmpty()) {
             //搴撳尯鎬绘暟
             groupGisData.setDeptNum(deptList.size());
             for (Dept dept : deptList) {
                 if (StringUtils.isBlank(dept.getXzqhdm()) || null == valuePieChart.get(dept.getXzqhdm())) {
-                    if(null == valuePieChart.get("999999")){
+                    if (null == valuePieChart.get("999999")) {
                         valuePieChart.put("999999", 0);
                         namePieChart.put("999999", "鍏朵粬鍖哄幙");
                     }
@@ -311,9 +557,9 @@
             }
         }
 
-        if(groupGisData.getDeptNum() > 0){
+        if (groupGisData.getDeptNum() > 0) {
             for (String mapKey : valuePieChart.keySet()) {
-                groupGisData.getDeptList().add(new ChartPie(valuePieChart.get(mapKey) + "", namePieChart.get(mapKey), new DecimalFormat("0.0").format((double)valuePieChart.get(mapKey) / groupGisData.getDeptNum() * 100)));
+                groupGisData.getDeptList().add(new ChartPie(valuePieChart.get(mapKey) + "", namePieChart.get(mapKey), new DecimalFormat("0.0").format((double) valuePieChart.get(mapKey) / groupGisData.getDeptNum() * 100)));
             }
         }
 
@@ -321,18 +567,18 @@
         List<Depot> depotList = depotService.getData(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), false);
         if (null != depotList && !depotList.isEmpty()) {
             for (Depot depot : depotList) {
-                if(null == depot.getStorageReal()){
+                if (null == depot.getStorageReal()) {
                     depot.setStorageReal(0.0);
                 }
                 groupGisData.setSum(groupGisData.getSum() + depot.getStorageReal());
-                if(StringUtils.isNotBlank(depot.getPledgeBank())){
+                if (StringUtils.isNotBlank(depot.getPledgeBank())) {
                     groupGisData.setBankSum(groupGisData.getBankSum() + depot.getStorageReal());
-                }else{
+                } else {
                     groupGisData.setNormalSum(groupGisData.getNormalSum() + depot.getStorageReal());
                 }
             }
         }
-        if(groupGisData.getSum() > 0){
+        if (groupGisData.getSum() > 0) {
             groupGisData.setSumPer(new DecimalFormat("0.00").format(groupGisData.getSum() / groupGisData.getSum() * 100L));
             groupGisData.setBankSumPer(new DecimalFormat("0.00").format(groupGisData.getBankSum() / groupGisData.getSum() * 100L));
             groupGisData.setNormalSumPer(new DecimalFormat("0.00").format(groupGisData.getNormalSum() / groupGisData.getSum() * 100L));
@@ -343,6 +589,7 @@
 
     /**
      * 澶у睆棣栭〉-鎶撴媿璺熻釜淇℃伅
+     *
      * @param param
      * @return
      */
@@ -352,13 +599,22 @@
         param.setEnd(new Date());
         List<SnapRecord> listSnap = snapRecordService.getListByParam(param);
 
-        if (null != listSnap && !listSnap.isEmpty()) {
+        List<SnapRecord> resultListSnap = new ArrayList<>();
+        for (SnapRecord info : listSnap) {
+            //褰撴爣绛惧寘鍚� 鍗¤溅锛� 鎴栬�呭寘鍚ぇ鍐欑殑鑻辨枃瀛楁瘝锛堜唬琛ㄦ湁杞︾墝锛夋椂锛屾坊鍔犺繘result
+            if (StringUtils.isNotBlank(info.getTags())) {
+                if (info.getTags().contains("鍗¤溅") || info.getTags().matches(".*[A-Z].*")) {
+                    resultListSnap.add(info);
+                }
+            }
+        }
+        if (null != resultListSnap && !resultListSnap.isEmpty()) {
             //鍒ゆ柇鏂囦欢鏄惁瀛樺湪
-            for (SnapRecord record : listSnap) {
-                record.setImgName(commonManager.isImgExit( record.getImgName(), null));
+            for (SnapRecord record : resultListSnap) {
+                record.setImgName(commonManager.isImgExit(record.getImgName(), null));
             }
         }
 
-        return new PageResponse<>(RespCodeEnum.CODE_0000, listSnap);
+        return new PageResponse<>(RespCodeEnum.CODE_0000, resultListSnap);
     }
 }

--
Gitblit v1.9.3