skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbProjectController.java
@@ -4,9 +4,9 @@ import cn.gistack.sm.sjztmd.excel.TbProjectExcel; 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.statisticsVO.*; import cn.gistack.sm.sjztmd.vo.StatisticsPrice; import cn.gistack.sm.sjztmd.vo.StatisticsPriceVO; import cn.gistack.sm.sjztmd.vo.TbProjectVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -85,4 +85,22 @@ return R.status(tbProjectService.updatecheckState(id,checkState)); } /** * 项目管理统计饼状图 * @param statisticsParams * @return */ @GetMapping("/statisticsPie") public R statisticsPie(StatisticsParams statisticsParams){ StatisticsPrice statisticsPrice = tbProjectService.statisticsPie(statisticsParams); return R.data(statisticsPrice); } @GetMapping("/statisticsBar") public R statisticsBar(StatisticsParams statisticsParams){ List<StatisticsPriceVO> list = tbProjectService.statisticsBar(statisticsParams); return R.data(list); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.java
@@ -4,6 +4,8 @@ import cn.gistack.sm.sjztmd.entity.TbProject; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTableProject; import cn.gistack.sm.sjztmd.vo.StatisticsPrice; import cn.gistack.sm.sjztmd.vo.StatisticsPriceVO; import cn.gistack.sm.sjztmd.vo.TbProjectVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -19,4 +21,12 @@ List<StatisticsTableProject> getStatisticsTable(@Param("params") StatisticsParams statisticsParams); TbProject getTbProjectInfo(@Param("params") TbProject params); StatisticsPrice getStatisticsPie(@Param("params") StatisticsParams statisticsParams); StatisticsPrice getStatisticsPies(@Param("params") StatisticsParams statisticsParams); List<StatisticsPriceVO> getStatisticsPieBar(@Param("params") StatisticsParams statisticsParams); List<StatisticsPriceVO> getStatisticsPieBars(@Param("params") StatisticsParams statisticsParams); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml
@@ -131,6 +131,7 @@ SELECT aab."guid" adCode, aab."ad_name" adName, aab."ad_grad" AS adGrad, paab."guid" padCode, paab."ad_name" padName, tps.curMonthActualFund, @@ -294,4 +295,120 @@ and "tb_year" = #{params.tbYear} </if> </select> <select id="getStatisticsPie" resultType="cn.gistack.sm.sjztmd.vo.StatisticsPrice"> SELECT sum( NVL ( a."center_fund", 0 )+ NVL ( a."local_fund", 0 )) AS sumPrice, sum( NVL ( b."actual_fund", 0 )) sumPay, sum( NVL ( a."center_fund", 0 )+ NVL ( a."local_fund", 0 ))- sum( NVL ( b."actual_fund", 0 )) noPay FROM sjzt_md."tb_project" a LEFT JOIN ( SELECT * FROM sjzt_md."tb_project_schedule" WHERE 1=1 <if test="params.tbYear != null and params.tbYear !=''"> AND "year" = #{params.tbYear} </if> <if test="params.tbMonth != null and params.tbMonth !=''"> AND "month" = #{params.tbMonth} </if> ) b ON a."guid" = b."tb_project_id" </select> <select id="getStatisticsPies" resultType="cn.gistack.sm.sjztmd.vo.StatisticsPrice"> SELECT sum( NVL ( a."center_fund", 0 )+ NVL ( a."local_fund", 0 )) AS sumPrice, sum( NVL ( b."actual_fund", 0 )) sumPay, sum( NVL ( a."center_fund", 0 )+ NVL ( a."local_fund", 0 ))- sum( NVL ( b."actual_fund", 0 )) noPay FROM sjzt_md."tb_project" a LEFT JOIN ( SELECT * FROM sjzt_md."tb_project_schedule" WHERE 1=1 <if test="params.tbYear != null and params.tbYear !=''"> AND "year" = #{params.tbYear} </if> <if test="params.tbMonth != null and params.tbMonth !=''"> AND "month" = #{params.tbMonth} </if> ) b ON a."guid" = b."tb_project_id" LEFT JOIN YWXT."att_ad_base" c ON ( a."city_code" = c."guid" ) OR ( a."county_code" = c."guid" ) WHERE c."guid" = #{params.adCode} </select> <select id="getStatisticsPieBar" resultType="cn.gistack.sm.sjztmd.vo.StatisticsPriceVO"> SELECT c."ad_code" adCode, c."ad_name" adName, sum( NVL ( a."center_fund", 0 )+ NVL ( a."local_fund", 0 )) AS sumPrice, sum( NVL ( b."actual_fund", 0 )) sumPay, sum( NVL ( a."center_fund", 0 )+ NVL ( a."local_fund", 0 ))- sum( NVL ( b."actual_fund", 0 )) noPay FROM sjzt_md."tb_project" a LEFT JOIN ( SELECT * FROM sjzt_md."tb_project_schedule" WHERE 1=1 <if test="params.tbYear != null and params.tbYear !=''"> AND "year" = #{params.tbYear} </if> <if test="params.tbMonth != null and params.tbMonth !=''"> AND "month" = #{params.tbMonth} </if> ) b ON a."guid" = b."tb_project_id" RIGHT JOIN YWXT."att_ad_base" c on c."ad_code" = a."city_code" where c."p_ad_code" = #{params.adCode} GROUP BY c."ad_code" , c."ad_name" </select> <select id="getStatisticsPieBars" resultType="cn.gistack.sm.sjztmd.vo.StatisticsPriceVO"> SELECT b."ad_name" adName, b."ad_code" adCode, a.sumPrice sumPrice, a.noPay noPay, a.sumPay sumPay FROM ( SELECT a."county_code", a."county_name", a."city_code", sum( NVL ( a."center_fund", 0 )+ NVL ( a."local_fund", 0 )) AS sumPrice, sum( NVL ( b."actual_fund", 0 )) sumPay, sum( NVL ( a."center_fund", 0 )+ NVL ( a."local_fund", 0 ))- sum( NVL ( b."actual_fund", 0 )) noPay FROM sjzt_md."tb_project" a LEFT JOIN ( SELECT * FROM sjzt_md."tb_project_schedule" WHERE 1=1 <if test="params.tbYear != null and params.tbYear !=''"> AND "year" = #{params.tbYear} </if> <if test="params.tbMonth != null and params.tbMonth !=''"> AND "month" = #{params.tbMonth} </if> ) b ON a."guid" = b."tb_project_id" GROUP BY a."county_code", a."county_name", a."city_code" ) a RIGHT JOIN YWXT."att_ad_base" b ON ( b."guid" = a."city_code" ) OR ( b."guid" = a."county_code" ) WHERE b."p_ad_code" = #{params.adCode} </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbProjectService.java
@@ -4,7 +4,10 @@ import cn.gistack.sm.sjztmd.entity.TbProject; import cn.gistack.sm.sjztmd.excel.TbProjectExcel; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsParams; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie; import cn.gistack.sm.sjztmd.statisticsVO.StatisticsTableProject; import cn.gistack.sm.sjztmd.vo.StatisticsPrice; import cn.gistack.sm.sjztmd.vo.StatisticsPriceVO; import cn.gistack.sm.sjztmd.vo.TbProjectVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; @@ -23,4 +26,8 @@ void importUser(List<TbProjectExcel> data, Boolean isCovered); boolean updatecheckState(String id,String checkState); StatisticsPrice statisticsPie(StatisticsParams statisticsParams); List<StatisticsPriceVO> statisticsBar(StatisticsParams statisticsParams); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbProjectServiceImpl.java
@@ -6,13 +6,17 @@ import cn.gistack.sm.sjztmd.entity.TbProjectSchedule; import cn.gistack.sm.sjztmd.excel.TbProjectExcel; import cn.gistack.sm.sjztmd.mapper.TbProjectMapper; import cn.gistack.sm.sjztmd.service.IAttAdBaseService; import cn.gistack.sm.sjztmd.service.IAttResBaseService; 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.StatisticsPie; 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.StatisticsPrice; import cn.gistack.sm.sjztmd.vo.StatisticsPriceVO; import cn.gistack.sm.sjztmd.vo.TbProjectVO; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -21,6 +25,7 @@ import org.springblade.core.secure.utils.AuthUtil; 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.math.BigDecimal; @@ -35,6 +40,8 @@ private final ITbProjectScheduleService tbProjectScheduleService; private final IAttResBaseService attResBaseService; @Autowired private IAttAdBaseService iAttAdBaseService; @Override public Object getList(TbProjectVO tbProjectVO, IPage<TbProjectVO> page) { @@ -165,4 +172,28 @@ tbProject.setCheckState(checkState); return saveOrUpdate(tbProject); } @Override public StatisticsPrice statisticsPie(StatisticsParams statisticsParams) { AttAdBase ywxtAdDetail = iAttAdBaseService.getYwxtAdDetail(statisticsParams.getAdCode()); if (ywxtAdDetail.getAdGrad().equals("1")) { StatisticsPrice statisticsPie =baseMapper.getStatisticsPie(statisticsParams); return statisticsPie; } StatisticsPrice statisticsPie =baseMapper.getStatisticsPies(statisticsParams); return statisticsPie; } @Override public List<StatisticsPriceVO> statisticsBar(StatisticsParams statisticsParams) { AttAdBase ywxtAdDetail = iAttAdBaseService.getYwxtAdDetail(statisticsParams.getAdCode()); if (ywxtAdDetail.getAdGrad().equals("1")) { List<StatisticsPriceVO> statisticsPieBar =baseMapper.getStatisticsPieBar(statisticsParams); return statisticsPieBar; } List<StatisticsPriceVO> statisticsPieBar =baseMapper.getStatisticsPieBars(statisticsParams); return statisticsPieBar; } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/statisticsVO/StatisticsTableProject.java
@@ -11,6 +11,7 @@ private String adCode; private String adName; private String adGrad; private String padCode; skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/StatisticsPrice.java
New file @@ -0,0 +1,14 @@ package cn.gistack.sm.sjztmd.vo; import lombok.Data; @Data public class StatisticsPrice { private int sumPrice; private int sumPay; private int noPay; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/StatisticsPriceVO.java
New file @@ -0,0 +1,18 @@ package cn.gistack.sm.sjztmd.vo; import lombok.Data; @Data public class StatisticsPriceVO { private String adName; private String adCode; private int sumPrice; private int noPay; private int sumPay; }