<?xml version="1.0" encoding="UTF-8" ?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!--
|
* @title: 纠纷信息主表
|
* @description: 自定义sql,请自行实现业务逻辑
|
* @company: hugeinfo
|
* @author: wangwh
|
* @time:2024-08-27 10:00:57
|
* @version 1.0.0
|
-->
|
<mapper namespace="cn.huge.module.analysis.dao.mapper.AnalysisMapper">
|
<!-- 条件 -->
|
<sql id="statisticsAVG-wherePart">
|
<if test="terms != null">
|
<if test="terms.queProv != null and terms.queProv !=''">
|
and t1.que_prov = #{terms.queProv}
|
</if>
|
<if test="terms.queCity != null and terms.queCity !=''">
|
and t1.que_city = #{terms.queCity}
|
</if>
|
<if test="terms.queArea != null and terms.queArea !=''">
|
and t1.que_area = #{terms.queArea}
|
</if>
|
<if test="terms.queRoad != null and terms.queRoad !=''">
|
and t1.que_road = #{terms.queRoad}
|
</if>
|
<if test="terms.queVillage != null and terms.queVillage !=''">
|
and t1.que_village = #{terms.queVillage}
|
</if>
|
<if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
|
and (DATE_FORMAT(t2.create_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.createStart}
|
and DATE_FORMAT(t2.create_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.createEnd})
|
</if>
|
<if test="terms.handleStart != null and terms.handleStart !='' and terms.handleEnd != null and terms.handleEnd !=''">
|
and (DATE_FORMAT(t2.handle_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.handleStart}
|
and DATE_FORMAT(t2.handle_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.handleEnd})
|
</if>
|
<if test="terms.queVillage != null and terms.queVillage !=''">
|
and t1.que_village = #{terms.queVillage}
|
</if>
|
<if test="terms.mediType != null and terms.mediType !=''">
|
and medi_type = #{terms.mediType}
|
</if>
|
<if test="terms.caseTypeFirst != null and terms.caseTypeFirst !=''">
|
and case_type_first = #{terms.caseTypeFirst}
|
</if>
|
</if>
|
</sql>
|
|
<!-- 统计任务平均时长 -->
|
<select id="statisticsAVG" resultType="java.lang.Long">
|
select AVG(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') then count(usetime_hour) end) as fp,
|
AVG(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') then usetime_hour end) as sl,
|
AVG(case when (t2.node_id = 'BLFK' and t2.status = '2') then usetime_hour end) as sl,
|
count(case when (t2.node_id = 'ZJ_DFP' or t2.node_id = 'QJ_DFP' or t2.node_id = 'SJ_DFP' or t2.node_id = 'DFP') and t2.overtime_status = 1 then overtime_hour end) as fpcs,
|
count(case when (t2.node_id = 'ZJ_DSL' or t2.node_id = 'QJ_DSL' or t2.node_id = 'SJ_DSL' or t2.node_id = 'DSL') and t2.overtime_status = 1 then overtime_hour end) as slcs
|
from dyh_case_info t1 left join dyh_case_task t2 on t1.id = t2.case_id
|
where
|
t2.status = 2
|
<include refid="statisticsAVG-wherePart"/>
|
</select>
|
|
<!-- 条件 -->
|
<sql id="statisticsApplyAVG-wherePart">
|
<if test="terms.queProv != null and terms.queProv !=''">
|
and t1.que_prov = #{terms.queProv}
|
</if>
|
<if test="terms.queCity != null and terms.queCity !=''">
|
and t1.que_city = #{terms.queCity}
|
</if>
|
<if test="terms.queArea != null and terms.queArea !=''">
|
and t1.que_area = #{terms.queArea}
|
</if>
|
<if test="terms.queRoad != null and terms.queRoad !=''">
|
and t1.que_road = #{terms.queRoad}
|
</if>
|
<if test="terms.queVillage != null and terms.queVillage !=''">
|
and t1.que_village = #{terms.queVillage}
|
</if>
|
<if test="terms.queVillage != null and terms.queVillage !=''">
|
and t1.que_village = #{terms.queVillage}
|
</if>
|
<if test="terms.mediType != null and terms.mediType !=''">
|
and t1.medi_type = #{terms.mediType}
|
</if>
|
<if test="terms.caseTypeFirst != null and terms.caseTypeFirst !=''">
|
and t1.case_type_first = #{terms.caseTypeFirst}
|
</if>
|
</sql>
|
|
<!-- 统计审批平均时长 -->
|
<select id="statisticsApplyAVG" resultType="java.lang.Long">
|
select select avg(usetime_hour)
|
form
|
(
|
select usetime_hour
|
from dyh_case_info t1 left join dyh_case_appear t2 on t1.id = t2.case_id
|
where t2.apply_status = 1
|
<if test="terms != null">
|
<if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
|
and (DATE_FORMAT(t2.appear_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.createStart}
|
and DATE_FORMAT(t2.appear_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.createEnd})
|
</if>
|
<if test="terms.handleStart != null and terms.handleStart !='' and terms.handleEnd != null and terms.handleEnd !=''">
|
and (DATE_FORMAT(t2.audit_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.handleStart}
|
and DATE_FORMAT(t2.audit_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.handleEnd})
|
</if>
|
<include refid="statisticsApplyAVG-wherePart"/>
|
</if>
|
union all
|
select usetime_hour
|
from dyh_case_info t1 left join dyh_case_assist_apply t2 on t1.id = t2.case_id
|
where t2.apply_status = 1
|
<if test="terms != null">
|
<if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
|
and (DATE_FORMAT(t2.apply_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.createStart}
|
and DATE_FORMAT(t2.apply_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.createEnd})
|
</if>
|
<if test="terms.handleStart != null and terms.handleStart !='' and terms.handleEnd != null and terms.handleEnd !=''">
|
and (DATE_FORMAT(t2.audit_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.handleStart}
|
and DATE_FORMAT(t2.audit_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.handleEnd})
|
</if>
|
<include refid="statisticsApplyAVG-wherePart"/>
|
</if>
|
union all
|
select usetime_hour
|
from dyh_case_info t1 left join dyh_case_return t2 on t1.id = t2.case_id
|
where t2.return_status = 1
|
<if test="terms != null">
|
<if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
|
and (DATE_FORMAT(t2.return_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.createStart}
|
and DATE_FORMAT(t2.return_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.createEnd})
|
</if>
|
<if test="terms.handleStart != null and terms.handleStart !='' and terms.handleEnd != null and terms.handleEnd !=''">
|
and (DATE_FORMAT(t2.audit_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.handleStart}
|
and DATE_FORMAT(t2.audit_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.handleEnd})
|
</if>
|
<include refid="statisticsApplyAVG-wherePart"/>
|
</if>
|
union all
|
select usetime_hour
|
from dyh_case_info t1 left join dyh_case_windup_apply t2 on t1.id = t2.case_id
|
where t2.apply_status = 1
|
<if test="terms != null">
|
<if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
|
and (DATE_FORMAT(t2.apply_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.createStart}
|
and DATE_FORMAT(t2.apply_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.createEnd})
|
</if>
|
<if test="terms.handleStart != null and terms.handleStart !='' and terms.handleEnd != null and terms.handleEnd !=''">
|
and (DATE_FORMAT(t2.audit_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.handleStart}
|
and DATE_FORMAT(t2.audit_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.handleEnd})
|
</if>
|
<include refid="statisticsApplyAVG-wherePart"/>
|
</if>
|
)
|
</select>
|
|
<!-- 条件 -->
|
<sql id="statisticsSuperviseAVG-wherePart">
|
t2.sup_status = 1
|
<if test="terms.queProv != null and terms.queProv !=''">
|
and t1.que_prov = #{terms.queProv}
|
</if>
|
<if test="terms.queCity != null and terms.queCity !=''">
|
and t1.que_city = #{terms.queCity}
|
</if>
|
<if test="terms.queArea != null and terms.queArea !=''">
|
and t1.que_area = #{terms.queArea}
|
</if>
|
<if test="terms.queRoad != null and terms.queRoad !=''">
|
and t1.que_road = #{terms.queRoad}
|
</if>
|
<if test="terms.queVillage != null and terms.queVillage !=''">
|
and t1.que_village = #{terms.queVillage}
|
</if>
|
<if test="terms.queVillage != null and terms.queVillage !=''">
|
and t1.que_village = #{terms.queVillage}
|
</if>
|
<if test="terms.mediType != null and terms.mediType !=''">
|
and t1.medi_type = #{terms.mediType}
|
</if>
|
<if test="terms.caseTypeFirst != null and terms.caseTypeFirst !=''">
|
and t1.case_type_first = #{terms.caseTypeFirst}
|
</if>
|
<if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
|
and (DATE_FORMAT(t2.sup_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.createStart}
|
and DATE_FORMAT(t2.sup_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.createEnd})
|
</if>
|
<if test="terms.handleStart != null and terms.handleStart !='' and terms.handleEnd != null and terms.handleEnd !=''">
|
and (DATE_FORMAT(t2.reply_time,'%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{terms.handleStart}
|
and DATE_FORMAT(t2.reply_time,'%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{terms.handleEnd})
|
</if>
|
</sql>
|
|
<!-- 统计督办平均时长 -->
|
<select id="statisticsSuperviseAVG" resultType="java.lang.Long">
|
select usetime_hour
|
from dyh_case_info t1 left join dyh_case_supervise t2 on t1.id = t2.case_id
|
<include refid="statisticsSuperviseAVG-wherePart"/>
|
</select>
|
|
</mapper>
|