广州市综治平台后端
xusd
8 days ago e9de6064cc94d6bc63685c5e62046ff810b96dab
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -1032,7 +1032,7 @@
        LEFT JOIN dyh_ct_unit c ON b.belong_unit_id = c.id
        left join (select id ,case_id from dyh_case_task group by case_id) d on a.id = d.case_id
        <if test="terms.cityCode != null and terms.cityCode !=''">
            left join dyh_th_grid_citizen_event d on d.case_id = a.id
            left join dyh_th_grid_citizen_event e on e.case_id = a.id
        </if>
        <include refid="where-part-all"/>
        <if test="page.sort != null">
@@ -1509,4 +1509,45 @@
        a.canal_second
    </select>
    <!--  统计分析(基础)  -->
    <select id="workStatisticsTime" resultType="cn.huge.module.cases.domain.dto.CaseWorkStatisticsTimeDTO">
        SELECT
        count(1) as totalNum,
        sum(case when b.medi_result = '22_00025-1' and a.info_process = 3 then 1 else 0 end) as resolveNum,
        sum(case when a.info_process <![CDATA[ < ]]> 3 then 1 else 0 end) as resolveingNum,
        sum(case when b.medi_result = '22_00025-2' and a.info_process = 3 then 1 else 0 end) as unResolveNum,
        sum(case when a.case_level = 1 then 1 else 0 end) as oneLevelNum,
        sum(case when a.case_level = 2 then 1 else 0 end) as twoLevelNum,
        sum(case when a.case_level = 3 then 1 else 0 end) as threeLevelNum,
        sum(case when a.info_process <![CDATA[ < ]]> 3 then 1 else 0 end) as processNum,
        sum(case when a.info_process = 3 then 1 else 0 end) as finishNum,
        <if test='terms.selectTimeType != null and terms.selectTimeType =="1"'>
            DATE_FORMAT(a.create_time, '%Y-%m-%d') AS dayStr,
            DATE_FORMAT(a.create_time, '%Y-%m') AS monthStr,
            DATE_FORMAT(a.create_time, '%Y') AS year_str,
        </if>
        <if test='terms.selectTimeType != null and terms.selectTimeType =="2"'>
            DATE_FORMAT(b.close_time, '%Y-%m-%d') AS dayStr,
            DATE_FORMAT(b.close_time, '%Y-%m') AS monthStr,
            DATE_FORMAT(b.close_time, '%Y') AS year_str,
        </if>
        sum(case when a.info_process = 4 then 1 else 0 end) as rejectNum
        FROM
        dyh_case_info a
        inner JOIN dyh_case_info_unfold b on a.id = b.id
        LEFT JOIN dyh_ct_unit c ON b.belong_unit_id = c.id
        <include refid="where-part-all"/>
        <if test='terms.timeType != null and terms.timeType =="3"'>
            GROUP BY year_str
        </if>
        <if test='terms.timeType != null and terms.timeType =="2"'>
            GROUP BY monthStr
        </if>
        <if test='terms.timeType != null and terms.timeType =="1"'>
            GROUP BY dayStr
        </if>
    </select>
</mapper>