guoshilong
2023-05-22 1d725aba58f4bec25385ecccb3650032cca06421
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -183,4 +183,50 @@
        AND T.IS_DELETED = 0
    </select>
    <select id="getTaskReportRegion" resultType="cn.gistack.sm.patrol.vo.PatrolTaskReport">
        SELECT
            aab."ad_name" AS adName,
            aab."guid" AS adCode,
            to_char(t.start_time,'yyyy-mm-dd') AS statisticsTime,
            COUNT(*) AS need,
            SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
            SUM(CASE WHEN t.state = 1 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.statisticsTime !=null and patrolTaskReport.statisticsTime !=''">
            AND to_char(t.start_time,'yyyy-mm-dd') = #{patrolTaskReport.statisticsTime}
        </if>
        GROUP BY (aab."ad_name",aab."guid",to_char(t.start_time,'yyyy-mm-dd'))
    </select>
    <select id="getTaskReportReservoir" 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,
            COUNT(*) AS need,
            SUM(CASE WHEN t.state = 3 THEN 1 ELSE 0 END) AS finish,
            SUM(CASE WHEN t.state = 1 THEN 1 ELSE 0 END) AS todo
        FROM SK002.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>
</mapper>