From 8bb88ec2ed80687858d0aa9f53b78f407f4045dd Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期三, 25 三月 2026 10:26:30 +0800
Subject: [PATCH] gis树桩菜单修复
---
fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java | 83 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 79 insertions(+), 4 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 1a14c23..48e673a 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
@@ -21,6 +21,7 @@
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
+import java.util.stream.Collectors;
/**
* @Description
@@ -54,6 +55,10 @@
@Resource
private PledgeContractService pledgeContractService;
+
+
+ @Resource
+ private PledgeContractDepotService pledgeContractDepotService;
/**
* 鑾峰彇鐪佸強涓嬪睘甯傚窞闆嗗悎
@@ -150,7 +155,15 @@
for (Dept dept : depotList) {
Boolean isPledge = false;
for (PledgeContract pledgeContract : pledgeContractList) {
- if( dept.getId().equals(pledgeContract.getPledgeDept())){
+ IgdsBaseParam param = new IgdsBaseParam();
+ param.setParentId(pledgeContract.getId());
+ List<PledgeContractDepot> pledgeContractDepots = pledgeContractDepotService.listAll(param);
+ if (null == pledgeContractDepots || pledgeContractDepots.isEmpty()){
+ continue;
+ }
+ //鎵惧埌pledgeContractDepots涓殑deptId闆嗗悎锛屽苟鍘婚噸
+ List<String> deptIdList = pledgeContractDepots.stream().map(PledgeContractDepot::getPledgeDept).distinct().collect(Collectors.toList());
+ if( deptIdList.contains(dept.getId())){
//浠巐ist涓壘鍒板綋鍓嶈川鎶奸摱琛岀殑鏁版嵁
DicArea pledgeBank = null;
int indexBank = -1;
@@ -201,11 +214,9 @@
areaChildren.set(indexBank,pledgeBank);
isPledge=true;
break;
-
}
-
-
}
+
}
if(!isPledge){
DicArea deptDic = new DicArea();
@@ -587,6 +598,70 @@
return groupGisData;
}
+
+
+ public GroupGisData getGisDataByCompanyId() {
+
+ GroupGisData groupGisData = new GroupGisData();
+
+ //鏌ヨ浼婄妬涓嬪睘鍖哄幙
+ //鍖哄幙
+ List<DicArea> dicAreaList = dicAreaService.listData("654000", null, null);
+
+ //缁熻鍖哄幙涓嬪簱鍖烘暟
+ LinkedHashMap<String, Integer> valuePieChart = new LinkedHashMap<>();
+ LinkedHashMap<String, String> namePieChart = new LinkedHashMap<>();
+ if (null != dicAreaList && !dicAreaList.isEmpty()) {
+ for (DicArea dicArea : dicAreaList) {
+ valuePieChart.put(dicArea.getCode(), 0);
+ namePieChart.put(dicArea.getCode(), dicArea.getName());
+ }
+ }
+ 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")) {
+ valuePieChart.put("999999", 0);
+ namePieChart.put("999999", "鍏朵粬鍖哄幙");
+ }
+ dept.setXzqhdm("999999");
+ }
+ valuePieChart.put(dept.getXzqhdm(), valuePieChart.get(dept.getXzqhdm()) + 1);
+ }
+ }
+
+ 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)));
+ }
+ }
+
+ //缁熻閲嶉噺
+ List<Depot> depotList = depotService.getCacheDepotList(ContextUtil.getCompanyId());
+ if (null != depotList && !depotList.isEmpty()) {
+ for (Depot depot : depotList) {
+ if (null == depot.getStorageReal()) {
+ depot.setStorageReal(0.0);
+ }
+ groupGisData.setSum(groupGisData.getSum() + depot.getStorageReal());
+ if (StringUtils.isNotBlank(depot.getPledgeBank())) {
+ groupGisData.setBankSum(groupGisData.getBankSum() + depot.getStorageReal());
+ } else {
+ groupGisData.setNormalSum(groupGisData.getNormalSum() + depot.getStorageReal());
+ }
+ }
+ }
+ 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));
+ }
+
+ return groupGisData;
+ }
/**
* 澶у睆棣栭〉-鎶撴媿璺熻釜淇℃伅
*
--
Gitblit v1.9.3