skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbProjectController.java
@@ -5,6 +5,7 @@ import cn.gistack.sm.sjztmd.excel.TbProjectImporter; import cn.gistack.sm.sjztmd.service.ITbProjectService; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTableProject; import cn.gistack.sm.sjztmd.vo.TbProjectVO; import io.swagger.annotations.Api; skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml
@@ -219,12 +219,15 @@ from sjzt_md."tb_dyke_investigation" tdi where 1=1 AND <if test="params.tbYear != null and params.tbYear != ''"> tdi."tb_year" = #{params.tbYear} <if test="params.tbYear != null and params.tbYear != ''"> AND tdi."tb_year" = #{params.tbYear} </if> group by tdi."tb_state_id",tdi."dyke_guid",tdi."unit" )TEMP1 ) tdi on tdi."tb_state_id" = tdis."guid" <!--统计待审核和已审核的--> where (tdis."check_state" = 1 or tdis."check_state" = 2) ) trd LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = trd."ad_code" LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code" skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.xml
@@ -480,7 +480,65 @@ and tdis."tb_year" = #{params.tbYear} </if> and tdis."check_state" = 2 )checkDykeNum )checkDykeNum, IFNULL( ( SELECT SUM(CASE WHEN trd."dyke_length" THEN trd."dyke_length" ELSE 0 END) FROM SJZT_MD."tb_res_dyke" trd LEFT JOIN ywxt."att_ad_base" county on county."ad_code" = trd."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" where (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid") ),0) AS dykeTotalLength, IFNULL(( SELECT SUM(CASE WHEN trd.dangerLength THEN trd.dangerLength ELSE 0 END) FROM ( SELECT tdis."guid", tdis."dyke_guid", trd."ad_code", trd."dyke_level", trd."dyke_length", tdi.dangerLength FROM SJZT_MD."tb_dyke_investigation_state" tdis LEFT JOIN SJZT_MD."tb_res_dyke" trd on trd."guid" = tdis."dyke_guid" LEFT JOIN ( SELECT TEMP1."tb_state_id", TEMP1."unit", TEMP1.dangerLength/temp1.num as dangerLength 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> group by tdi."tb_state_id",tdi."dyke_guid",tdi."unit" )TEMP1 ) tdi on tdi."tb_state_id" = tdis."guid" where (tdis."check_state" = 1 or tdis."check_state" = 2) ) trd LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = trd."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" where (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid") ),0) AS dangerTotalLength FROM YWXT."att_ad_base" aab LEFT JOIN YWXT."att_ad_base" paab ON paab."guid" = aab."p_ad_code" where skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttAdBaseService.java
@@ -46,4 +46,6 @@ AttAdBaseVO getDetail(AttAdBase attAdBase); String getAdGradByAdCode(String adCode); AttAdBase getYwxtAdDetail(String adCode); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttAdBaseServiceImpl.java
@@ -98,6 +98,11 @@ return baseMapper.getAdGradByAdCode(adCode); } @Override public AttAdBase getYwxtAdDetail(String adCode) { return baseMapper.getYwxtAdDetail(adCode); } @Override public boolean save(AttAdBase entity) { skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbDykeInvestigationServiceImpl.java
@@ -1,9 +1,6 @@ package cn.gistack.sm.sjztmd.service.impl; import cn.gistack.sm.sjztmd.entity.TbDykeInvestigation; import cn.gistack.sm.sjztmd.entity.TbDykeInvestigationState; import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigation; import cn.gistack.sm.sjztmd.entity.TbResGeneralInvestigationState; import cn.gistack.sm.sjztmd.entity.*; import cn.gistack.sm.sjztmd.mapper.TbDykeInvestigationMapper; import cn.gistack.sm.sjztmd.mapper.TbResGeneralInvestigationMapper; import cn.gistack.sm.sjztmd.service.*; @@ -40,6 +37,9 @@ @Autowired private ITbDykeInvestigationStateService tbDykeInvestigationStateService; @Autowired private IAttAdBaseService attAdBaseService; @Override @Transactional @@ -156,41 +156,46 @@ @Override public List<StatisticsBar> statisticsBar(StatisticsParams statisticsParams) { String adCode = statisticsParams.getAdCode(); String adGuid = ""; //默认省 String adGrad = "1"; // 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); // } //若行政区划不为空 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); } AttAdBase attAdBase = attAdBaseService.getYwxtAdDetail(statisticsParams.getAdCode()); statisticsParams.setAdGrad(attAdBase.getAdGrad()); List list = baseMapper.getStatisticsBar(statisticsParams); return list; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbProjectServiceImpl.java
@@ -10,6 +10,7 @@ import cn.gistack.sm.sjztmd.service.ITbProjectScheduleService; import cn.gistack.sm.sjztmd.service.ITbProjectService; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTableProject; import cn.gistack.sm.sjztmd.util.CalculateUtils; import cn.gistack.sm.sjztmd.vo.TbProjectVO; skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/statisticsVO/StatisticsParams.java
@@ -12,6 +12,8 @@ private String adGuid; private String adGrad; //填报年份 private Integer tbYear;