yxm
2024-07-01 5e0cc128324ecc24aa7cd6b0c690261a18b53d48
项目进度统计图柱状图v20240701
6 files modified
2 files added
222 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbProjectController.java 24 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml 117 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbProjectService.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbProjectServiceImpl.java 31 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/statisticsVO/StatisticsTableProject.java 1 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/StatisticsPrice.java 14 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/StatisticsPriceVO.java 18 ●●●●● patch | view | raw | blame | history
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;
}