From 419ced6843926331fab49683e014eec6097b4375 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 21 Mar 2024 15:44:34 +0800
Subject: [PATCH] 普查柱状图统计接口

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java
index 2a212fe..4ef71db 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResGeneralInvestigationServiceImpl.java
@@ -5,8 +5,10 @@
 import cn.gistack.sm.sjztmd.mapper.TbResGeneralInvestigationMapper;
 import cn.gistack.sm.sjztmd.service.ITbResGeneralInvestigationService;
 import cn.gistack.sm.sjztmd.service.ITbResGeneralInvestigationStateService;
+import cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar;
 import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams;
 import cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie;
+import cn.gistack.sm.sjztmd.util.CalculateUtils;
 import cn.gistack.sm.sjztmd.vo.TbResGeneralInvestigationParam;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -14,10 +16,13 @@
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.DecimalFormat;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -129,4 +134,59 @@
 	public StatisticsPie statisticsPie(StatisticsParams statisticsParams) {
 		return baseMapper.statisticsPie(statisticsParams);
 	}
+
+
+
+
+	@Override
+	public List<StatisticsBar> statisticsBar(StatisticsParams statisticsParams) {
+		String adCode = statisticsParams.getAdCode();
+		//默认省
+		String adGrad = "1";
+
+		//若行政区划不为空
+		if (StringUtil.isNotBlank(adCode)){
+			if (adCode.substring(0,4).indexOf("00") > -1) {
+				//前四位包含00说明是湖北省      4200/00000000
+				adGrad = "1";
+			} else if (adCode.substring(0,6).indexOf("00") > -1) {
+				//前六位包含00说明是市级    420100/000000
+				adGrad = "2";
+			}else if (adCode.substring(0,8).indexOf("00") > -1){
+				//前8位包含00 说明是区级     42011700/0000
+				adGrad = "3";
+			}
+		}
+		List<StatisticsBar> list = new ArrayList<>();
+
+		if (adGrad.equals("3")){
+			//区级需要展示水库
+			list =  baseMapper.getCountyStatisticsBar(statisticsParams);
+		}else if (adGrad.equals("2")){
+			list =  baseMapper.getCityStatisticsBar(statisticsParams);
+		}else  if (adGrad.equals("1")){
+			statisticsParams.setAdCode("420000000000");
+			list =  baseMapper.getProvinceStatisticsBar(statisticsParams);
+		}
+
+//		if (!adGrad.equals("3")){
+//			//计算有蚁率
+//			DecimalFormat df = new DecimalFormat("0.00");
+//			list.forEach(statisticsBar -> {
+//
+//				//有蚁率 = 危害座数/水库总数   =》dangerRate = dangerNum / resNum
+//				if (statisticsBar.getResNum() == 0){
+//					//如果水库数量为0,有蚁率为0
+//					statisticsBar.setDangerRate("0");
+//				}else{
+//					String percent = CalculateUtils.calculatePercent(statisticsBar.getDangerNum(), statisticsBar.getResNum());
+//
+//					statisticsBar.setDangerRate(percent);
+//
+//				}
+//			});
+//		}
+
+		return list;
+	}
 }

--
Gitblit v1.9.3