| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | 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; |
| | | } |
| | | } |