guoshilong
2023-06-05 24b7b7ccde67273d0f2ed9b57c5c952add0c4d3e
添加巡查任务获取全部接口
4 files modified
204 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java 21 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml 152 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java 25 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
@@ -288,7 +288,7 @@
    /**
     * 巡查任务报表 分页
     */
    @PostMapping("getTaskReportPage")
    @GetMapping("getTaskReportPage")
    @ApiOperation(value = "巡查任务报表")
    public R getTaskReportPage( PatrolTaskReport patrolTaskReport , Query query) {
        IPage<PatrolTaskReport> pageList = patrolTaskService.getTaskReportPage(Condition.getPage(query),patrolTaskReport);
@@ -298,7 +298,7 @@
    /**
     * 巡查任务报表列表
     */
    @PostMapping("getTaskReportList")
    @GetMapping("getTaskReportList")
    @ApiOperation(value = "巡查任务报表")
    public R getTaskReportList( PatrolTaskReport patrolTaskReport ) {
        List<PatrolTaskReport> list = patrolTaskService.getTaskReportList(patrolTaskReport);
@@ -308,7 +308,7 @@
    /**
     * 巡查任务报表详情
     */
    @PostMapping("getTaskReportDetail")
    @GetMapping("getTaskReportDetail")
    @ApiOperation(value = "巡查任务详情")
    public R getTaskReportDetail( PatrolTaskReport patrolTaskReport , Query query) {
        IPage<PatrolTaskReport> pageList = patrolTaskService.getTaskReportDetail(Condition.getPage(query),patrolTaskReport);
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.java
@@ -96,25 +96,36 @@
     */
    List<PatrolTaskReport> getTaskReportDetailRegion(IPage<PatrolTaskReport> page,@Param("patrolTaskReport")PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表,市拿区
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportRegionList(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    List<PatrolTaskReport> getCountyReportList(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表,区拿水库
     * 巡查报表,获取水库巡查报表数据
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportReservoirList(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    List<PatrolTaskReport> getReservoirReportList(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表,省拿市
     * 巡查报表,获取市级巡查报表数据
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTaskReportProvinceList(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    List<PatrolTaskReport> getCityReportList(@Param("patrolTaskReport") PatrolTaskReport patrolTaskReport);
    /**
     * 巡查报表,获取乡镇巡查数据
     * @param patrolTaskReport
     * @return
     */
    List<PatrolTaskReport> getTownReportList( @Param("patrolTaskReport")PatrolTaskReport patrolTaskReport);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -300,65 +300,8 @@
    <!--市查区-->
    <select id="getTaskReportRegionList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        aab."ad_name" AS adName,
        aab."guid" AS adCode,
        #{patrolTaskReport.startTime} AS startTime,
        #{patrolTaskReport.endTime} AS endTime,
        COUNT(*) AS need,
        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
        FROM SM_PATROL_TASK t
        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = CONCAT(arb."ad_guid",'000000')
        WHERE t.IS_DELETED = 0
        <if test="patrolTaskReport.padCode !=null and patrolTaskReport.padCode !=''">
            AND aab."p_ad_code" = #{patrolTaskReport.padCode}
        </if>
        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
        </if>
        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
        </if>
        GROUP BY (aab."ad_name",aab."guid")
    </select>
    <!--区查水库-->
    <select id="getTaskReportReservoirList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        arb."guid" AS reservoirId,
        arb."name" AS reservoirName,
        aab."guid" AS adCode,
        aab."ad_name" AS adName,
        #{patrolTaskReport.startTime} AS startTime,
        #{patrolTaskReport.endTime} AS endTime,
        COUNT(*) AS need,
        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
        FROM SM_PATROL_TASK t
        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = CONCAT(arb."ad_guid",'000000')
        WHERE
        t.IS_DELETED = 0
        <if test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !=''">
            AND aab."ad_code" = #{patrolTaskReport.adCode}
        </if>
        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
        </if>
        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
        </if>
        GROUP BY (arb."guid",arb."name",aab."guid",aab."ad_name")
    </select>
    <!--省查市-->
    <select id="getTaskReportProvinceList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
    <!--获取市级巡查数据-->
    <select id="getCityReportList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        a."p_ad_code" adCode,
        a."p_ad_name" adName,
@@ -384,10 +327,99 @@
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
        </if>
        GROUP BY (aab."p_ad_code",aab."p_ad_name")
        ORDER BY aab."p_ad_code"
        ) A
        GROUP BY (a."p_ad_code",a."p_ad_name") order by a."p_ad_code"
    </select>
    <!--获取市下的所有水库巡查-->
    <!--获取区县巡查数据-->
    <select id="getCountyReportList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        aab."ad_name" AS adName,
        aab."guid" AS adCode,
        #{patrolTaskReport.startTime} AS startTime,
        #{patrolTaskReport.endTime} AS endTime,
        COUNT(*) AS need,
        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
        FROM SM_PATROL_TASK t
        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = CONCAT(arb."ad_guid",'000000')
        WHERE t.IS_DELETED = 0
        <if test="patrolTaskReport.padCode !=null and patrolTaskReport.padCode !=''">
            AND aab."p_ad_code" = #{patrolTaskReport.padCode}
        </if>
        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
        </if>
        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
        </if>
        GROUP BY (aab."ad_name",aab."guid")
        ORDER BY aab."guid"
    </select>
    <!--获取乡镇巡查数据-->
    <select id="getTownReportList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        aab."ad_name" AS adName,
        aab."guid" AS adCode,
        #{patrolTaskReport.startTime} AS startTime,
        #{patrolTaskReport.endTime} AS endTime,
        COUNT(*) AS need,
        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
        FROM SM_PATROL_TASK t
        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
        WHERE t.IS_DELETED = 0
        <if test="patrolTaskReport.padCode !=null and patrolTaskReport.padCode !=''">
            AND aab."p_ad_code" = #{patrolTaskReport.padCode}
        </if>
        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
        </if>
        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
        </if>
        GROUP BY (aab."ad_name",aab."guid")
        ORDER BY aab."guid"
    </select>
    <!--获取水库巡查数据-->
    <select id="getReservoirReportList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        arb."guid" AS reservoirId,
        arb."name" AS reservoirName,
        aab."guid" AS adCode,
        aab."ad_name" AS adName,
        #{patrolTaskReport.startTime} AS startTime,
        #{patrolTaskReport.endTime} AS endTime,
        COUNT(*) AS need,
        SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
        SUM(CASE WHEN t.state = 1 or state = 2 THEN 1 ELSE 0 END) AS todo
        FROM SM_PATROL_TASK t
        LEFT JOIN SJZT_MD."att_res_base" arb on arb."guid" = t.project_id
        LEFT JOIN SJZT_MD."att_ad_base" aab on aab."guid" = arb."interior_ad_guid"
        WHERE
        t.IS_DELETED = 0
        <if test="patrolTaskReport.adCode != null and patrolTaskReport.adCode !=''">
            AND aab."ad_code" = #{patrolTaskReport.adCode}
        </if>
        <if test="patrolTaskReport.startTime !=null and patrolTaskReport.startTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &gt;= #{patrolTaskReport.startTime}
        </if>
        <if test="patrolTaskReport.endTime !=null and patrolTaskReport.endTime !=''">
            AND DATE_FORMAT(t.start_time,'%Y-%m-%d') &lt;= #{patrolTaskReport.endTime}
        </if>
        GROUP BY (arb."guid",arb."name",aab."guid",aab."ad_name")
        ORDER BY arb."guid"
    </select>
    <!--水库巡查-->
    <select id="getTaskReportDetailRegion" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
            arb."guid" AS reservoirId,
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -234,15 +234,22 @@
    @Override
    public List<PatrolTaskReport> getTaskReportList(PatrolTaskReport patrolTaskReport) {
        List<PatrolTaskReport> list = new ArrayList();
        if (Func.equals(patrolTaskReport.getRegionFlag(),"0")){
            //省  返回市
            list =  baseMapper.getTaskReportProvinceList(patrolTaskReport);
        }else if (Func.equals(patrolTaskReport.getRegionFlag(),"1")){
            //市 返回区
            list = baseMapper.getTaskReportRegionList(patrolTaskReport);
        }else if (Func.equals(patrolTaskReport.getRegionFlag(),"2")){
            //区 返回水库
            list = baseMapper.getTaskReportReservoirList(patrolTaskReport);
        switch (patrolTaskReport.getRegionFlag()){
            case "1": //省  获取市级数据
                list = baseMapper.getCityReportList(patrolTaskReport);
                break;
            case "2"://市   获取区县级数据
                list = baseMapper.getCountyReportList(patrolTaskReport);
                break;
            case "3"://区县 获取乡镇级数据
                list = baseMapper.getTownReportList(patrolTaskReport);
                break;
            case "4"://乡镇  获取水库数据
                list = baseMapper.getReservoirReportList(patrolTaskReport);
                break;
            default:
                break;
        }
        return list;
    }