14 files modified
1 files added
| | |
| | | import cn.gistack.sm.sjztmd.service.IAttResBaseService; |
| | | import cn.gistack.sm.sjztmd.service.ITbDykeInvestigationService; |
| | | import cn.gistack.sm.sjztmd.service.ITbDykeInvestigationStateService; |
| | | 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.vo.AttResBaseGeneralInvestigationVO; |
| | |
| | | return R.data(statisticsPie); |
| | | } |
| | | |
| | | @GetMapping("/statisticsBar") |
| | | public R statisticsBar(StatisticsParams statisticsParams){ |
| | | List<StatisticsBar> list = tbDykeInvestigationService.statisticsBar(statisticsParams); |
| | | return R.data(list); |
| | | } |
| | | |
| | | } |
| | |
| | | import cn.gistack.sm.sjztmd.service.IAttResBaseService; |
| | | 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.vo.AttResBaseGeneralInvestigationVO; |
| | |
| | | return R.data(statisticsPie); |
| | | } |
| | | |
| | | @GetMapping("/statisticsBar") |
| | | public R statisticsBar(StatisticsParams statisticsParams){ |
| | | List<StatisticsBar> list = tbResGeneralInvestigationService.statisticsBar(statisticsParams); |
| | | return R.data(list); |
| | | } |
| | | |
| | | } |
| | |
| | | /** |
| | | * 危害等级 |
| | | */ |
| | | @ApiModelProperty(value = "单元") |
| | | @TableField(value = "\"unit\"") |
| | | private String unit; |
| | | |
| | | /** |
| | | * 危害等级 |
| | | */ |
| | | @ApiModelProperty(value = "是否致险情况") |
| | | @TableField(value = "\"is_danger\"") |
| | | private String isDanger; |
| | |
| | | |
| | | import cn.gistack.sm.sjztmd.entity.TbDykeInvestigation; |
| | | import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigation; |
| | | import cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar; |
| | | import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams; |
| | | import cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | |
| | | |
| | | |
| | | StatisticsPie statisticsPie(@Param("params") StatisticsParams statisticsParams); |
| | | |
| | | List<StatisticsBar> getCountyStatisticsBar(@Param("params") StatisticsParams statisticsParams); |
| | | |
| | | List<StatisticsBar> getCityStatisticsBar(@Param("params") StatisticsParams statisticsParams); |
| | | |
| | | List<StatisticsBar> getProvinceStatisticsBar(@Param("params") StatisticsParams statisticsParams); |
| | | } |
| | |
| | | ) tempNum |
| | | |
| | | </select> |
| | | <select id="getCountyStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar"> |
| | | |
| | | SELECT |
| | | trd."guid" as code, |
| | | trd."name" as name, |
| | | trd."dyke_length", |
| | | CASE WHEN dykeTmp.termiteLength THEN dykeTmp.termiteLength ELSE 0 END as termiteLength |
| | | FROM |
| | | sjzt_md."tb_res_dyke" trd |
| | | LEFT JOIN SJZT_MD."tb_dyke_investigation_state" tdis ON tdis."dyke_guid" = trd."guid" |
| | | LEFT JOIN ( |
| | | SELECT |
| | | TEMP1.*, |
| | | TEMP1.dangerLength/temp1.num as termiteLength |
| | | FROM ( |
| | | SELECT tdi."tb_state_id",tdi."dyke_guid",tdi."unit", |
| | | count(*) as num, |
| | | SUM(CASE WHEN (tdi."danger_length") THEN tdi."danger_length" ELSE 0 END) AS dangerLength |
| | | from sjzt_md."tb_dyke_investigation" tdi |
| | | where 1=1 |
| | | <if test="params.tbYear != null and params.tbYear !=''"> |
| | | AND tdi."tb_year" = #{params.tbYear} |
| | | </if> |
| | | and tdi."investigation_variety" = '白蚁' |
| | | group by tdi."tb_state_id",tdi."dyke_guid",tdi."unit" |
| | | )TEMP1 |
| | | ) dykeTmp on dykeTmp."tb_state_id" = tdis."guid" |
| | | where 1=1 |
| | | <if test="params.adCode != null and params.adCode != ''"> |
| | | AND trd."ad_code" LIKE #{params.adCode} |
| | | </if> |
| | | </select> |
| | | <select id="getCityStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar"> |
| | | |
| | | SELECT |
| | | aab."guid" code, |
| | | aab."ad_name" name, |
| | | CASE WHEN dyke.dykeLength THEN dyke.dykeLength ELSE 0 END AS dykeLength, |
| | | CASE WHEN dyke.termiteLength THEN dyke.termiteLength ELSE 0 END AS termiteLength |
| | | FROM YWXT."att_ad_base" aab |
| | | left join ( |
| | | SELECT |
| | | tmp.adCode, |
| | | SUM(CASE WHEN tmp.dykeLength THEN tmp.dykeLength ELSE 0 END) AS dykeLength, |
| | | SUM(CASE WHEN tmp.termiteLength THEN tmp.termiteLength ELSE 0 END) AS termiteLength |
| | | FROM |
| | | ( |
| | | SELECT |
| | | trd."dyke_length" dykeLength, |
| | | trd."ad_code" adCode, |
| | | CASE WHEN dykeTmp.termiteLength THEN dykeTmp.termiteLength ELSE 0 END as termiteLength |
| | | FROM |
| | | sjzt_md."tb_res_dyke" trd |
| | | LEFT JOIN SJZT_MD."tb_dyke_investigation_state" tdis ON tdis."dyke_guid" = trd."guid" |
| | | LEFT JOIN ( |
| | | SELECT |
| | | TEMP1.*, |
| | | TEMP1.dangerLength/temp1.num as termiteLength |
| | | FROM ( |
| | | SELECT tdi."tb_state_id",tdi."dyke_guid",tdi."unit", |
| | | count(*) as num, |
| | | SUM(CASE WHEN (tdi."danger_length") THEN tdi."danger_length" ELSE 0 END) AS dangerLength |
| | | from sjzt_md."tb_dyke_investigation" tdi |
| | | where 1=1 |
| | | <if test="params.tbYear != null and params.tbYear !=''"> |
| | | AND tdi."tb_year" = 2024 |
| | | </if> |
| | | and tdi."investigation_variety" = '白蚁' |
| | | group by tdi."tb_state_id",tdi."dyke_guid",tdi."unit" |
| | | )TEMP1 |
| | | ) dykeTmp on dykeTmp."tb_state_id" = tdis."guid" |
| | | where 1=1 |
| | | <if test="params.adGuid != null and params.adGuid != ''"> |
| | | AND trd."ad_code" LIKE #{params.adGuid} |
| | | </if> |
| | | )tmp group by tmp.adCode |
| | | ) dyke ON dyke.adCode = aab."guid" |
| | | where |
| | | <if test="params.adCode != null and params.adCode !=''"> |
| | | aab."p_ad_code" = #{params.adCode} |
| | | </if> |
| | | |
| | | |
| | | |
| | | </select> |
| | | <select id="getProvinceStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar"> |
| | | |
| | | SELECT |
| | | aab."guid" code, |
| | | aab."ad_name" name, |
| | | CASE WHEN dyke.dykeLength THEN dyke.dykeLength ELSE 0 END AS dykeLength, |
| | | CASE WHEN dyke.termiteLength THEN dyke.termiteLength ELSE 0 END AS termiteLength |
| | | FROM YWXT."att_ad_base" aab |
| | | left join ( |
| | | SELECT |
| | | aab."p_ad_code" adCode, |
| | | aab."p_ad_name" adName, |
| | | |
| | | SUM(CASE WHEN tmp.dykeLength THEN tmp.dykeLength ELSE 0 END) AS dykeLength, |
| | | SUM(CASE WHEN tmp.termiteLength THEN tmp.termiteLength ELSE 0 END) AS termiteLength |
| | | from ( |
| | | |
| | | SELECT |
| | | trd."dyke_length" dykeLength, |
| | | trd."ad_code" adCode, |
| | | trd."ad_name" adName, |
| | | CASE WHEN dykeTmp.termiteLength THEN dykeTmp.termiteLength ELSE 0 END as termiteLength |
| | | FROM |
| | | sjzt_md."tb_res_dyke" trd |
| | | LEFT JOIN SJZT_MD."tb_dyke_investigation_state" tdis ON tdis."dyke_guid" = trd."guid" |
| | | LEFT JOIN ( |
| | | SELECT |
| | | TEMP1.*, |
| | | TEMP1.dangerLength/temp1.num as termiteLength |
| | | FROM ( |
| | | SELECT tdi."tb_state_id",tdi."dyke_guid",tdi."unit", |
| | | count(*) as num, |
| | | SUM(CASE WHEN (tdi."danger_length") THEN tdi."danger_length" ELSE 0 END) AS dangerLength |
| | | from sjzt_md."tb_dyke_investigation" tdi |
| | | where 1=1 |
| | | <if test="params.tbYear != null and params.tbYear !=''"> |
| | | AND tdi."tb_year" = 2024 |
| | | </if> |
| | | and tdi."investigation_variety" = '白蚁' |
| | | group by tdi."tb_state_id",tdi."dyke_guid",tdi."unit" |
| | | )TEMP1 |
| | | ) dykeTmp on dykeTmp."tb_state_id" = tdis."guid" |
| | | where 1=1 |
| | | <if test="params.adGuid != null and params.adGuid !=''"> |
| | | AND trd."ad_code" LIKE #{params.adGuid} |
| | | </if> |
| | | )tmp |
| | | LEFT JOIN YWXT."att_ad_base" aab ON aab."guid" = tmp.adCode |
| | | group by |
| | | aab."p_ad_code", |
| | | aab."p_ad_name" |
| | | ) dyke ON dyke.adCode = aab."guid" |
| | | where 1= 1 |
| | | <if test="params.adCode != null and params.adCode !=''"> |
| | | AND aab."p_ad_code" = #{params.adCode} |
| | | </if> |
| | | |
| | | </select> |
| | | </mapper> |
| | |
| | | TEMP1.*, |
| | | TEMP1.dangerLength/temp1.num |
| | | FROM ( |
| | | SELECT tdi."tb_state_id",tdi."dyke_guid",tdi."stake_mark", |
| | | SELECT tdi."tb_state_id",tdi."dyke_guid",tdi."unit", |
| | | count(*) as num, |
| | | SUM(CASE WHEN (tdi."danger_length") THEN tdi."danger_length" ELSE 0 END) AS dangerLength, |
| | | SUM(CASE WHEN (tdi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum, |
| | |
| | | <if test="vo.tbYear !=null and vo.tbYear !=''"> |
| | | AND tdi."tb_year" = #{vo.tbYear} |
| | | </if> |
| | | group by tdi."tb_state_id",tdi."dyke_guid",tdi."stake_mark" |
| | | group by tdi."tb_state_id",tdi."dyke_guid",tdi."unit" |
| | | )TEMP1 |
| | | )temp2 group by |
| | | temp2."tb_state_id", |
| | |
| | | |
| | | import cn.gistack.sm.sjztmd.entity.TbAttResBase; |
| | | import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigation; |
| | | import cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar; |
| | | import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams; |
| | | import cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | |
| | | |
| | | |
| | | StatisticsPie statisticsPie(@Param("params") StatisticsParams statisticsParams); |
| | | |
| | | List<StatisticsBar> getCountyStatisticsBar(@Param("params") StatisticsParams statisticsParams); |
| | | |
| | | List<StatisticsBar> getCityStatisticsBar(@Param("params") StatisticsParams statisticsParams); |
| | | |
| | | List<StatisticsBar> getProvinceStatisticsBar(@Param("params")StatisticsParams statisticsParams); |
| | | } |
| | |
| | | |
| | | |
| | | </select> |
| | | <select id="getCountyStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar"> |
| | | |
| | | SELECT |
| | | arb."guid" as code, |
| | | arb."name" as name, |
| | | CASE WHEN tmp.termiteNum THEN tmp.termiteNum ELSE 0 END as termiteNum, |
| | | CASE WHEN tmp.otherNum THEN tmp.otherNum ELSE 0 END as otherNum |
| | | FROM SJZT_MD."att_res_base" arb |
| | | LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid" |
| | | LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code" |
| | | LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code" |
| | | LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code" |
| | | |
| | | left join "SJZT_MD"."tb_res_general_investigation_state" trgis on trgis."res_guid" = arb."code" |
| | | left join |
| | | ( |
| | | SELECT TRGI."tb_state_id",TRGI."res_guid", |
| | | SUM(CASE WHEN (trgi."investigation_variety" = '白蚁' and trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS termiteNum, |
| | | SUM(CASE WHEN (trgi."investigation_variety" != '白蚁' and trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS otherNum |
| | | from sjzt_md."tb_res_general_investigation" trgi |
| | | where 1=1 |
| | | <if test="params.tbYear != null and params.tbYear !=''"> |
| | | AND trgi."tb_year" = #{params.tbYear} |
| | | </if> |
| | | group by TRGI."tb_state_id",TRGI."res_guid" |
| | | ) tmp on tmp."tb_state_id" = trgis."guid" |
| | | where 1=1 |
| | | <if test="params.adCode != null and params.adCode !=''"> |
| | | AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%') |
| | | </if> |
| | | </select> |
| | | <select id="getCityStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar"> |
| | | SELECT |
| | | aab."guid" code, |
| | | aab."ad_name" name, |
| | | CASE WHEN resTmp.resNum THEN resTmp.resNum ELSE 0 END AS resNum, |
| | | CASE WHEN resTmp.dangerNum THEN resTmp.dangerNum ELSE 0 END AS dangerNum |
| | | FROM YWXT."att_ad_base" aab |
| | | LEFT JOIN ( |
| | | SELECT |
| | | COUNT(*) resNum, |
| | | county."guid" adCode, |
| | | county."ad_name" adName, |
| | | SUM( CASE WHEN tmp.totalDangerNum THEN 1 ELSE 0 END ) dangerNum |
| | | FROM sjzt_MD."att_res_base" ARB |
| | | LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid" |
| | | LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code" |
| | | LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code" |
| | | LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code" |
| | | left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid" |
| | | LEFT JOIN |
| | | ( |
| | | SELECT TRGI."tb_state_id",TRGI."res_guid", |
| | | SUM(CASE WHEN (trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum |
| | | from sjzt_md."tb_res_general_investigation" trgi |
| | | where 1=1 |
| | | <if test="params.tbYear != null and params.tbYear != ''"> |
| | | AND TRGI."tb_year" = #{params.tbYear} |
| | | </if> |
| | | group by TRGI."tb_state_id",TRGI."res_guid" |
| | | |
| | | ) tmp on tmp."tb_state_id" = trgis."guid" |
| | | WHERE 1=1 |
| | | <if test="params.adCode != null and params.adCode !=''"> |
| | | AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%') |
| | | </if> |
| | | group by county."guid" ,county."ad_name" |
| | | |
| | | ) resTmp ON resTmp.adCode = aab."guid" |
| | | where 1=1 |
| | | <if test="params.adCode != null and params.adCode !=''"> |
| | | and aab."p_ad_code" = #{params.adCode} |
| | | </if> |
| | | </select> |
| | | <select id="getProvinceStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar"> |
| | | SELECT |
| | | aab."guid" code, |
| | | aab."ad_name" name, |
| | | CASE WHEN resTmp.resNum THEN resTmp.resNum ELSE 0 END AS resNum, |
| | | CASE WHEN resTmp.dangerNum THEN resTmp.dangerNum ELSE 0 END AS dangerNum |
| | | FROM YWXT."att_ad_base" aab |
| | | LEFT JOIN ( |
| | | SELECT |
| | | COUNT(*) resNum, |
| | | city."guid" adCode, |
| | | city."ad_name" adName, |
| | | SUM( CASE WHEN tmp.totalDangerNum THEN 1 ELSE 0 END ) dangerNum |
| | | FROM sjzt_MD."att_res_base" ARB |
| | | LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid" |
| | | LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code" |
| | | LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code" |
| | | LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code" |
| | | left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid" |
| | | LEFT JOIN |
| | | ( |
| | | SELECT TRGI."tb_state_id",TRGI."res_guid", |
| | | SUM(CASE WHEN (trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum |
| | | from sjzt_md."tb_res_general_investigation" trgi |
| | | where 1=1 |
| | | <if test="params.tbYear != null and params.tbYear != ''"> |
| | | AND TRGI."tb_year" = #{params.tbYear} |
| | | </if> |
| | | group by TRGI."tb_state_id",TRGI."res_guid" |
| | | |
| | | ) tmp on tmp."tb_state_id" = trgis."guid" |
| | | WHERE 1=1 |
| | | <if test="params.adCode != null and params.adCode !=''"> |
| | | and CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%') |
| | | </if> |
| | | group by city."guid" ,city."ad_name" |
| | | |
| | | ) resTmp ON resTmp.adCode = aab."guid" |
| | | where 1=1 |
| | | <if test="params.adCode != null and params.adCode !=''"> |
| | | and aab."p_ad_code" = #{params.adCode} |
| | | </if> |
| | | |
| | | </select> |
| | | </mapper> |
| | |
| | | |
| | | import cn.gistack.sm.sjztmd.entity.TbDykeInvestigation; |
| | | import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigation; |
| | | 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.vo.TbDykeInvestigationParam; |
| | |
| | | * @return |
| | | */ |
| | | StatisticsPie statisticsPie(StatisticsParams statisticsParams); |
| | | |
| | | List<StatisticsBar> statisticsBar(StatisticsParams statisticsParams); |
| | | } |
| | |
| | | package cn.gistack.sm.sjztmd.service; |
| | | |
| | | import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigation; |
| | | 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.vo.TbResGeneralInvestigationParam; |
| | |
| | | * @return |
| | | */ |
| | | StatisticsPie statisticsPie(StatisticsParams statisticsParams); |
| | | |
| | | List<StatisticsBar> statisticsBar(StatisticsParams statisticsParams); |
| | | } |
| | |
| | | import cn.gistack.sm.sjztmd.mapper.TbDykeInvestigationMapper; |
| | | import cn.gistack.sm.sjztmd.mapper.TbResGeneralInvestigationMapper; |
| | | import cn.gistack.sm.sjztmd.service.*; |
| | | 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.vo.TbDykeInvestigationParam; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.text.DecimalFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | return baseMapper.statisticsPie(statisticsParams); |
| | | } |
| | | |
| | | @Override |
| | | public List<StatisticsBar> statisticsBar(StatisticsParams statisticsParams) { |
| | | String adCode = statisticsParams.getAdCode(); |
| | | String adGuid = ""; |
| | | //默认省 |
| | | String adGrad = "1"; |
| | | |
| | | //若行政区划不为空 |
| | | if (StringUtil.isNotBlank(adCode)){ |
| | | if (adCode.substring(0,4).indexOf("00") > -1) { |
| | | //前四位包含00说明是湖北省 4200/00000000 |
| | | adGrad = "1"; |
| | | adGuid =StringUtil.format("%{}%",adCode.substring(0,2)); |
| | | statisticsParams.setAdGuid(adGuid); |
| | | } else if (adCode.substring(0,6).indexOf("00") > -1) { |
| | | //前六位包含00说明是市级 420100/000000 |
| | | adGrad = "2"; |
| | | adGuid =StringUtil.format("%{}%",adCode.substring(0,4)); |
| | | statisticsParams.setAdGuid(adGuid); |
| | | }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")){ |
| | | //省级展示市 |
| | | list = baseMapper.getProvinceStatisticsBar(statisticsParams); |
| | | } |
| | | |
| | | return list; |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | //水库总数 |
| | | private int resNum; |
| | | |
| | | //危害座数 |
| | | private int dangerNum; |
| | | |
| | | //有蚁率 |
| | | // private String dangerRate; |
| | | |
| | | |
| | | //白蚁危害处数 |
| | | private int termiteNum; |
| | | |
| | |
| | | //行政区划code |
| | | private String adCode; |
| | | |
| | | private String adGuid; |
| | | |
| | | //填报年份 |
| | | private Integer tbYear; |
| | | |
| New file |
| | |
| | | package cn.gistack.sm.sjztmd.util; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.text.DecimalFormat; |
| | | |
| | | public class CalculateUtils { |
| | | |
| | | public static String calculatePercent(int x, int y) { |
| | | |
| | | BigDecimal fenzi = new BigDecimal(x); |
| | | BigDecimal fenmu = new BigDecimal(y); |
| | | BigDecimal divide = fenzi.divide(fenmu,BigDecimal.ROUND_UP); |
| | | |
| | | |
| | | DecimalFormat df=new DecimalFormat("0.00"); |
| | | String format = df.format(divide); |
| | | return format; |
| | | } |
| | | } |