guoshilong
2023-06-05 e6af240082f6cc26c41d44bb55a653269b0f5b77
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -184,8 +184,40 @@
        WHERE T.ID = #{id}
        AND T.IS_DELETED = 0
    </select>
    <!--市查区-->
    <select id="getTaskReportRegionPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
    <!--获取市级巡查数据-->
    <select id="getCityReportPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        a."p_ad_code" adCode,
        a."p_ad_name" adName,
        sum(a.need) AS need,
        sum(a.finish) AS finish,
        sum(a.todo) AS todo,
        #{patrolTaskReport.startTime} AS startTime,
        #{patrolTaskReport.endTime} AS endTime
        FROM (
        SELECT
        aab."p_ad_code",aab."p_ad_name",
        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 AND aab."p_ad_code" != '420000000000'
        <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."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="getCountyReportPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        aab."ad_name" AS adName,
        aab."guid" AS adCode,
@@ -208,9 +240,36 @@
            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="getTaskReportReservoirPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
    <!--获取乡镇巡查数据-->
    <select id="getTownReportPage" 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="getReservoirReportPage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        arb."guid" AS reservoirId,
        arb."name" AS reservoirName,
@@ -223,7 +282,7 @@
        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')
        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 !=''">
@@ -236,37 +295,14 @@
            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="getTaskReportProvincePage" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
        a."p_ad_code" adCode,
        a."p_ad_name" adName,
        sum(a.need) AS need,
        sum(a.finish) AS finish,
        sum(a.todo) AS todo,
        #{patrolTaskReport.startTime} AS startTime,
        #{patrolTaskReport.endTime} AS endTime
        FROM (
            SELECT
                aab."p_ad_code",aab."p_ad_name",
                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 AND aab."p_ad_code" != '420000000000'
                <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."p_ad_code",aab."p_ad_name")
            ) A
        GROUP BY (a."p_ad_code",a."p_ad_name") order by a."p_ad_code"
    </select>
    <!--市查区-->
    <select id="getTaskReportRegionList" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
@@ -351,9 +387,6 @@
        ) A
        GROUP BY (a."p_ad_code",a."p_ad_name") order by a."p_ad_code"
    </select>
    <!--获取市下的所有水库巡查-->
    <select id="getTaskReportDetailRegion" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
@@ -393,4 +426,5 @@
        </if>
    </select>
</mapper>