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 | 274 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 233 insertions(+), 41 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 f65256e..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,18 +125,122 @@
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;
+ }
+
/**
- * 鑾峰彇缁勭粐涓嬫墍鏈夊簱鍖轰俊鎭�
+ * 鑾峰彇鐢ㄦ埛涓嬫墍鏈夊簱鍖轰俊鎭�
*
- * @param companyId
* @return
*/
- public List<Dept> getAllDept(String companyId) {
- return deptService.listDept(null, companyId, null);
+ public List<Dept> getDeptList() {
+ return deptService.getDeptByUserType(null);
}
/**
* 鑾峰彇搴撳尯灏佽淇℃伅
+ *
* @param companyId
* @return
*/
@@ -134,7 +248,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) {
@@ -152,14 +266,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);
}
}
@@ -175,7 +289,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);
}
@@ -189,6 +303,64 @@
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);
+ }
/**
* 澶у睆棣栭〉缁熻淇℃伅锛氫紒涓氭暟銆佸簱鍖烘暟銆佷粨搴撴暟銆佽川鎶间粨鏁般�佹暎绮強鎴愬搧绮暟銆佸垎鍝佺搴撳瓨鏁�
@@ -205,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());
}
@@ -220,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));
}
}
@@ -259,6 +431,7 @@
/**
* 澶у睆棣栭〉-搴撳尯淇℃伅缁熻
+ *
* @param param
* @return
*/
@@ -266,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) {
@@ -284,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);
}
}
@@ -307,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);
}
@@ -321,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);
}
}
@@ -359,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", "鍏朵粬鍖哄幙");
}
@@ -375,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)));
}
}
@@ -385,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));
@@ -407,6 +589,7 @@
/**
* 澶у睆棣栭〉-鎶撴媿璺熻釜淇℃伅
+ *
* @param param
* @return
*/
@@ -416,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