<?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: liyj
|
* @time:2024-10-10 10:45:06
|
* @version 1.0.0
|
-->
|
<mapper namespace="cn.huge.module.cases.dao.mapper.CaseTaskMapper">
|
<!-- 结果集 -->
|
<resultMap id="dataResult" type="cn.huge.module.cases.domain.po.CaseTask">
|
<result property="id" column="id"/>
|
<result property="caseId" column="case_id"/>
|
<result property="flowableId" column="flowable_id"/>
|
<result property="processInstanceId" column="process_instance_id"/>
|
<result property="processTaskId" column="process_task_id"/>
|
<result property="nodeType" column="node_type"/>
|
<result property="nodeId" column="node_id"/>
|
<result property="nodeName" column="node_name"/>
|
<result property="flowId" column="flow_id"/>
|
<result property="nodeShowName" column="node_show_name"/>
|
<result property="caseTaskType" column="case_task_type"/>
|
<result property="candeUnitId" column="cande_unit_id"/>
|
<result property="candeUnitName" column="cande_unit_name"/>
|
<result property="candeDeptId" column="cande_dept_id"/>
|
<result property="candeDeptName" column="cande_dept_name"/>
|
<result property="candeRoleCode" column="cande_role_code"/>
|
<result property="candeRoleName" column="cande_role_name"/>
|
<result property="candeUserId" column="cande_user_id"/>
|
<result property="candeUserName" column="cande_user_name"/>
|
<result property="readStatus" column="read_status"/>
|
<result property="readExpireTime" column="read_expire_time"/>
|
<result property="readTime" column="read_time"/>
|
<result property="readUnitId" column="read_unit_id"/>
|
<result property="readUnitName" column="read_unit_name"/>
|
<result property="readUserId" column="read_user_id"/>
|
<result property="readUserName" column="read_user_name"/>
|
<result property="expireTime" column="expire_time"/>
|
<result property="status" column="status"/>
|
<result property="handleUnitId" column="handle_unit_id"/>
|
<result property="handleUnitName" column="handle_unit_name"/>
|
<result property="handleDeptId" column="handle_dept_id"/>
|
<result property="handleDeptName" column="handle_dept_name"/>
|
<result property="handleUserId" column="handle_user_id"/>
|
<result property="handleUserName" column="handle_user_name"/>
|
<result property="handleResult" column="handle_result"/>
|
<result property="handleContent" column="handle_content"/>
|
<result property="handleIllust" column="handle_illust"/>
|
<result property="handleTime" column="handle_time"/>
|
<result property="usetimeHour" column="usetime_hour"/>
|
<result property="overtimeStatus" column="overtime_status"/>
|
<result property="overtimeHour" column="overtime_hour"/>
|
<result property="deleteStatus" column="delete_status"/>
|
<result property="custId" column="cust_id"/>
|
<result property="createTime" column="create_time"/>
|
<result property="updateTime" column="update_time"/>
|
</resultMap>
|
<!-- 表 -->
|
<sql id='table-name'>dyh_case_task</sql>
|
<!-- 字段 -->
|
<sql id="column-part">
|
id,
|
case_id,
|
flowable_id,
|
process_instance_id,
|
process_task_id,
|
node_type,
|
node_id,
|
node_name,
|
flow_id,
|
node_show_name,
|
case_task_type,
|
cande_unit_id,
|
cande_unit_name,
|
cande_dept_id,
|
cande_dept_name,
|
cande_role_code,
|
cande_role_name,
|
cande_user_id,
|
cande_user_name,
|
read_status,
|
read_expire_time,
|
read_time,
|
read_unit_id,
|
read_unit_name,
|
read_user_id,
|
read_user_name,
|
expire_time,
|
status,
|
handle_unit_id,
|
handle_unit_name,
|
handle_dept_id,
|
handle_dept_name,
|
handle_user_id,
|
handle_user_name,
|
handle_result,
|
handle_content,
|
handle_illust,
|
handle_time,
|
usetime_hour,
|
overtime_status,
|
overtime_hour,
|
delete_status,
|
cust_id,
|
create_time,
|
update_time
|
</sql>
|
<!-- 更新实体字段 -->
|
<sql id="set-part">
|
<if test="entity.caseId != null">case_id = #{entity.caseId},</if>
|
<if test="entity.flowableId != null">flowable_id = #{entity.flowableId},</if>
|
<if test="entity.processInstanceId != null">process_instance_id = #{entity.processInstanceId},</if>
|
<if test="entity.processTaskId != null">process_task_id = #{entity.processTaskId},</if>
|
<if test="entity.nodeType != null">node_type = #{entity.nodeType},</if>
|
<if test="entity.nodeId != null">node_id = #{entity.nodeId},</if>
|
<if test="entity.nodeName != null">node_name = #{entity.nodeName},</if>
|
<if test="entity.flowId != null">flow_id = #{entity.flowId},</if>
|
<if test="entity.nodeShowName != null">node_show_name = #{entity.nodeShowName},</if>
|
<if test="entity.caseTaskType != null">case_task_type = #{entity.caseTaskType},</if>
|
<if test="entity.candeUnitId != null">cande_unit_id = #{entity.candeUnitId},</if>
|
<if test="entity.candeUnitName != null">cande_unit_name = #{entity.candeUnitName},</if>
|
<if test="entity.candeDeptId != null">cande_dept_id = #{entity.candeDeptId},</if>
|
<if test="entity.candeDeptName != null">cande_dept_name = #{entity.candeDeptName},</if>
|
<if test="entity.candeRoleCode != null">cande_role_code = #{entity.candeRoleCode},</if>
|
<if test="entity.candeRoleName != null">cande_role_name = #{entity.candeRoleName},</if>
|
<if test="entity.candeUserId != null">cande_user_id = #{entity.candeUserId},</if>
|
<if test="entity.candeUserName != null">cande_user_name = #{entity.candeUserName},</if>
|
<if test="entity.readStatus != null">read_status = #{entity.readStatus},</if>
|
<if test="entity.readExpireTime != null">read_expire_time = #{entity.readExpireTime},</if>
|
<if test="entity.readTime != null">read_time = #{entity.readTime},</if>
|
<if test="entity.readUnitId != null">read_unit_id = #{entity.readUnitId},</if>
|
<if test="entity.readUnitName != null">read_unit_name = #{entity.readUnitName},</if>
|
<if test="entity.readUserId != null">read_user_id = #{entity.readUserId},</if>
|
<if test="entity.readUserName != null">read_user_name = #{entity.readUserName},</if>
|
<if test="entity.expireTime != null">expire_time = #{entity.expireTime},</if>
|
<if test="entity.status != null">status = #{entity.status},</if>
|
<if test="entity.handleUnitId != null">handle_unit_id = #{entity.handleUnitId},</if>
|
<if test="entity.handleUnitName != null">handle_unit_name = #{entity.handleUnitName},</if>
|
<if test="entity.handleDeptId != null">handle_dept_id = #{entity.handleDeptId},</if>
|
<if test="entity.handleDeptName != null">handle_dept_name = #{entity.handleDeptName},</if>
|
<if test="entity.handleUserId != null">handle_user_id = #{entity.handleUserId},</if>
|
<if test="entity.handleUserName != null">handle_user_name = #{entity.handleUserName},</if>
|
<if test="entity.handleResult != null">handle_result = #{entity.handleResult},</if>
|
<if test="entity.handleContent != null">handle_content = #{entity.handleContent},</if>
|
<if test="entity.handleIllust != null">handle_illust = #{entity.handleIllust},</if>
|
<if test="entity.handleTime != null">handle_time = #{entity.handleTime},</if>
|
<if test="entity.usetimeHour != null">usetime_hour = #{entity.usetimeHour},</if>
|
<if test="entity.overtimeStatus != null">overtime_status = #{entity.overtimeStatus},</if>
|
<if test="entity.overtimeHour != null">overtime_hour = #{entity.overtimeHour},</if>
|
<if test="entity.deleteStatus != null">delete_status = #{entity.deleteStatus},</if>
|
<if test="entity.custId != null">cust_id = #{entity.custId},</if>
|
<if test="entity.createTime != null">create_time = #{entity.createTime},</if>
|
<if test="entity.updateTime != null">update_time = #{entity.updateTime}</if>
|
</sql>
|
<!-- 条件 -->
|
<sql id="where-part">
|
<if test="terms != null">
|
<where>
|
<if test="terms.id != null and terms.id !=''">
|
and id = #{terms.id}
|
</if>
|
<if test="terms.caseId != null and terms.caseId !=''">
|
and case_id = #{terms.caseId}
|
</if>
|
<if test="terms.flowableId != null and terms.flowableId !=''">
|
and flowable_id = #{terms.flowableId}
|
</if>
|
<if test="terms.processInstanceId != null and terms.processInstanceId !=''">
|
and process_instance_id = #{terms.processInstanceId}
|
</if>
|
<if test="terms.processTaskId != null and terms.processTaskId !=''">
|
and process_task_id = #{terms.processTaskId}
|
</if>
|
<if test="terms.nodeType != null and terms.nodeType !=''">
|
and node_type = #{terms.nodeType}
|
</if>
|
<if test="terms.nodeId != null and terms.nodeId !=''">
|
and node_id = #{terms.nodeId}
|
</if>
|
<if test="terms.nodeName != null and terms.nodeName !=''">
|
and node_name = #{terms.nodeName}
|
</if>
|
<if test="terms.flowId != null and terms.flowId !=''">
|
and flow_id = #{terms.flowId}
|
</if>
|
<if test="terms.nodeShowName != null and terms.nodeShowName !=''">
|
and node_show_name = #{terms.nodeShowName}
|
</if>
|
<if test="terms.caseTaskType != null and terms.caseTaskType !=''">
|
and case_task_type = #{terms.caseTaskType}
|
</if>
|
<if test="terms.candeUnitId != null and terms.candeUnitId !=''">
|
and cande_unit_id = #{terms.candeUnitId}
|
</if>
|
<if test="terms.candeUnitName != null and terms.candeUnitName !=''">
|
and cande_unit_name = #{terms.candeUnitName}
|
</if>
|
<if test="terms.candeDeptId != null and terms.candeDeptId !=''">
|
and cande_dept_id = #{terms.candeDeptId}
|
</if>
|
<if test="terms.candeDeptName != null and terms.candeDeptName !=''">
|
and cande_dept_name = #{terms.candeDeptName}
|
</if>
|
<if test="terms.candeRoleCode != null and terms.candeRoleCode !=''">
|
and cande_role_code = #{terms.candeRoleCode}
|
</if>
|
<if test="terms.candeRoleName != null and terms.candeRoleName !=''">
|
and cande_role_name = #{terms.candeRoleName}
|
</if>
|
<if test="terms.candeUserId != null and terms.candeUserId !=''">
|
and cande_user_id = #{terms.candeUserId}
|
</if>
|
<if test="terms.candeUserName != null and terms.candeUserName !=''">
|
and cande_user_name = #{terms.candeUserName}
|
</if>
|
<if test="terms.readStatus != null and terms.readStatus !=''">
|
and read_status = #{terms.readStatus}
|
</if>
|
<if test="terms.readExpireTime != null and terms.readExpireTime !=''">
|
and read_expire_time = #{terms.readExpireTime}
|
</if>
|
<if test="terms.readTime != null and terms.readTime !=''">
|
and read_time = #{terms.readTime}
|
</if>
|
<if test="terms.readUnitId != null and terms.readUnitId !=''">
|
and read_unit_id = #{terms.readUnitId}
|
</if>
|
<if test="terms.readUnitName != null and terms.readUnitName !=''">
|
and read_unit_name = #{terms.readUnitName}
|
</if>
|
<if test="terms.readUserId != null and terms.readUserId !=''">
|
and read_user_id = #{terms.readUserId}
|
</if>
|
<if test="terms.readUserName != null and terms.readUserName !=''">
|
and read_user_name = #{terms.readUserName}
|
</if>
|
<if test="terms.expireTime != null and terms.expireTime !=''">
|
and expire_time = #{terms.expireTime}
|
</if>
|
<if test="terms.status != null and terms.status !=''">
|
and status = #{terms.status}
|
</if>
|
<if test="terms.handleUnitId != null and terms.handleUnitId !=''">
|
and handle_unit_id = #{terms.handleUnitId}
|
</if>
|
<if test="terms.handleUnitName != null and terms.handleUnitName !=''">
|
and handle_unit_name = #{terms.handleUnitName}
|
</if>
|
<if test="terms.handleDeptId != null and terms.handleDeptId !=''">
|
and handle_dept_id = #{terms.handleDeptId}
|
</if>
|
<if test="terms.handleDeptName != null and terms.handleDeptName !=''">
|
and handle_dept_name = #{terms.handleDeptName}
|
</if>
|
<if test="terms.handleUserId != null and terms.handleUserId !=''">
|
and handle_user_id = #{terms.handleUserId}
|
</if>
|
<if test="terms.handleUserName != null and terms.handleUserName !=''">
|
and handle_user_name = #{terms.handleUserName}
|
</if>
|
<if test="terms.handleResult != null and terms.handleResult !=''">
|
and handle_result = #{terms.handleResult}
|
</if>
|
<if test="terms.handleContent != null and terms.handleContent !=''">
|
and handle_content = #{terms.handleContent}
|
</if>
|
<if test="terms.handleIllust != null and terms.handleIllust !=''">
|
and handle_illust = #{terms.handleIllust}
|
</if>
|
<if test="terms.handleTime != null and terms.handleTime !=''">
|
and handle_time = #{terms.handleTime}
|
</if>
|
<if test="terms.usetimeHour != null and terms.usetimeHour !=''">
|
and usetime_hour = #{terms.usetimeHour}
|
</if>
|
<if test="terms.overtimeStatus != null and terms.overtimeStatus !=''">
|
and overtime_status = #{terms.overtimeStatus}
|
</if>
|
<if test="terms.overtimeHour != null and terms.overtimeHour !=''">
|
and overtime_hour = #{terms.overtimeHour}
|
</if>
|
<if test="terms.deleteStatus = null and terms.deleteStatus =''">
|
and delete_status = 0
|
</if>
|
<if test="terms.deleteStatus != null and terms.deleteStatus !=''">
|
and delete_status = #{terms.deleteStatus}
|
</if>
|
<if test="terms.custId != null and terms.custId !=''">
|
and cust_id = #{terms.custId}
|
</if>
|
<if test="terms.createTime != null and terms.createTime !=''">
|
and DATE_FORMAT(create_time,'%Y-%m-%d') = #{terms.createTime}
|
</if>
|
<if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''">
|
and (DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createStart}
|
and DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createEnd})
|
</if>
|
<if test="terms.updateTime != null and terms.updateTime !=''">
|
and DATE_FORMAT(update_time,'%Y-%m-%d') = #{terms.updateTime}
|
</if>
|
<if test="terms.updateStart != null and terms.updateStart !='' and terms.updateEnd != null and terms.updateEnd !=''">
|
and (DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.updateStart}
|
and DATE_FORMAT(update_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.updateEnd})
|
</if>
|
</where>
|
</if>
|
</sql>
|
<!-- 更新对象 -->
|
<update id="updateCaseTask">
|
update
|
<include refid="table-name"/>
|
<set>
|
<include refid="set-part"/>
|
</set>
|
<where>
|
id = #{entity.id}
|
</where>
|
</update>
|
<!-- 条件更新对象 -->
|
<update id="updateCaseTaskTerms">
|
update
|
<include refid="table-name"/>
|
<set>
|
<include refid="set-part"/>
|
</set>
|
<include refid="where-part"/>
|
</update>
|
<!-- 根据编号物理删除 -->
|
<delete id="deleteCaseTask">
|
delete from
|
<include refid="table-name" />
|
where id = #{id}
|
</delete>
|
<!-- 根据条件查询 -->
|
<select id="listTerms" resultMap="dataResult">
|
select
|
<include refid="column-part"/>
|
from
|
<include refid="table-name" />
|
<include refid="where-part"/>
|
</select>
|
<!-- 根据条件统计 -->
|
<select id="countTerms" resultType="java.lang.Long">
|
select
|
COUNT(1)
|
from
|
<include refid="table-name" />
|
<include refid="where-part"/>
|
</select>
|
<!-- 根据条件分页查询 -->
|
<select id="pageTerms" resultMap="dataResult">
|
SELECT
|
<include refid="column-part"/>
|
FROM
|
<include refid="table-name" />
|
<include refid="where-part"/>
|
<if test="page.sort != null">
|
<foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
|
isnull(${s.property}), ${s.property} ${s.direction}
|
</foreach>
|
</if>
|
<if test="page.sort == null">
|
order by isnull(create_time), create_time desc
|
</if>
|
limit #{page.offset}, #{page.size}
|
</select>
|
|
<!-- 结果集-->
|
<resultMap id="FrontPageCountResult" type="cn.huge.module.cases.domain.dto.FrontPageCountDTO">
|
<result property="waitDisp" column="waitDisp"/>
|
<result property="waitSign" column="waitSign"/>
|
<result property="waitAccept" column="waitAccept"/>
|
<result property="waitAccept" column="waitAccept"/>
|
</resultMap>
|
<!-- 查询任务数量 -->
|
<select id="countTaskList" resultMap="FrontPageCountResult">
|
select
|
count(case when (node_id = 'ZJ_DFP' or node_id = 'QJ_DFP' or node_id = 'SJ_DFP' or node_id = 'DFP') then id end) as waitDisp,
|
count(case when read_status = 0 then id end) as waitSign,
|
count(case when (node_id = 'ZJ_DSL' or node_id = 'QJ_DSL' or node_id = 'SJ_DSL' or node_id = 'DSL') then id end) as waitAccept,
|
count(case when node_id = 'BLFK' then id end) as Processing
|
from
|
<include refid="table-name" />
|
where
|
cande_unit_id = #{terms.candeUnitId}
|
and delete_status = 0
|
and status = 1
|
</select>
|
|
|
<!-- 工作台-待/已分派条件查询-条件 -->
|
<sql id="myTaskFp-where-part">
|
<if test="terms != null">
|
<if test="terms.candeUnitId != null and terms.candeUnitId !=''">
|
and t1.cande_unit_id = #{terms.candeUnitId}
|
</if>
|
<if test="terms.handleUnitId != null and terms.handleUnitId !=''">
|
and t1.handle_unit_id = #{terms.handleUnitId}
|
</if>
|
<if test="terms.createTimeStart != null and terms.createTimeStart !='' and terms.createTimeEnd != null and terms.createTimeEnd !=''">
|
and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createTimeStart}
|
and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd})
|
</if>
|
<if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''">
|
and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart}
|
and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd})
|
</if>
|
<if test="terms.partyName != null and terms.partyName !=''">
|
and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%')
|
</if>
|
<if test="terms.status == 2">
|
and t1.handle_result in (0, 1, 2)
|
</if>
|
</if>
|
</sql>
|
<!-- 工作台-待/已分派条件统计 -->
|
<select id="countMyTaskFp" resultType="java.lang.Long">
|
select
|
COUNT(t1.id)
|
from
|
dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id
|
where
|
(t1.node_id = 'ZJ_DFP' or t1.node_id = 'QJ_DFP' or t1.node_id = 'SJ_DFP' or t1.node_id = 'DFP')
|
and t1.case_task_type = 1
|
and t2.delete_status = 0
|
and t1.status = #{terms.status}
|
<include refid="myTaskFp-where-part"/>
|
</select>
|
<!-- 工作台-待分派分页查询 -->
|
<select id="pageMyTaskFp" resultType="cn.huge.module.cases.domain.dto.FrontPageListFPDTO">
|
SELECT t1.id as ownerId, t1.case_id as caseId, t3.is_risk as isRisk,
|
t1.create_time as turnaroundTime, t1.expire_time as timeLimit, t1.handle_time as taskHandleTime,
|
t2.case_level as caseGrade, t2.canal_name as caseSource,t2.canal_second_name as caseSecondSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType,
|
concat(t2.que_area_name, t2.que_road_name) as queAddress,
|
concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants,
|
(select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
|
FROM
|
dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id
|
where
|
(t1.node_id = 'ZJ_DFP' or t1.node_id = 'QJ_DFP' or t1.node_id = 'SJ_DFP' or t1.node_id = 'DFP')
|
and t1.case_task_type = 1
|
and t2.delete_status = 0
|
and t1.status = #{terms.status}
|
<include refid="myTaskFp-where-part"/>
|
<if test="page.sort != null">
|
<foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
|
isnull(${s.property}), ${s.property} ${s.direction}
|
</foreach>
|
</if>
|
<if test="page.sort == null">
|
order by isnull(t1.create_time), t1.create_time desc
|
</if>
|
limit #{page.offset}, #{page.size}
|
</select>
|
|
|
<!-- 工作台-待/已签收条件查询-条件 -->
|
<sql id="myTaskQs-where-part">
|
<if test="terms != null">
|
<if test="terms.candeUnitId != null and terms.candeUnitId !=''">
|
and t1.cande_unit_id = #{terms.candeUnitId}
|
</if>
|
<if test="terms.handleUnitId != null and terms.handleUnitId !=''">
|
and t1.handle_unit_id = #{terms.handleUnitId}
|
</if>
|
<if test="terms.createTimeStart != null and terms.createTimeStart !='' and terms.createTimeEnd != null and terms.createTimeEnd !=''">
|
and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createTimeStart}
|
and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd})
|
</if>
|
<if test="terms.readTimeStart != null and terms.readTimeStart !='' and terms.readTimeEnd != null and terms.readTimeEnd !=''">
|
and (DATE_FORMAT(t1.read_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.readTimeStart}
|
and DATE_FORMAT(t1.read_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.readTimeEnd})
|
</if>
|
<if test="terms.partyName != null and terms.partyName !=''">
|
and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%')
|
</if>
|
</if>
|
</sql>
|
<!-- 首页-未/已读条件统计 -->
|
<select id="countMyTaskQs" resultType="java.lang.Long">
|
select
|
COUNT(t1.id)
|
from
|
dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
|
where
|
t2.delete_status = 0
|
and t1.status = '1'
|
and t1.read_status = #{terms.readStatus}
|
<include refid="myTaskQs-where-part"/>
|
</select>
|
<!-- 首页-待/已签收分页查询 -->
|
<select id="pageMyTaskQs" resultType="cn.huge.module.cases.domain.dto.FrontPageListQSDTO">
|
SELECT t1.id as ownerId, t1.case_id as caseId,
|
t1.create_time as turnaroundTime, t1.read_expire_time as timeLimit, t1.read_time as taskHandleTime,
|
t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType,
|
concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants,
|
(select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
|
FROM
|
dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
|
where
|
t2.delete_status = 0
|
and t1.status = '1'
|
and t1.read_status = #{terms.readStatus}
|
<include refid="myTaskQs-where-part"/>
|
<if test="page.sort != null">
|
<foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
|
isnull(${s.property}), ${s.property} ${s.direction}
|
</foreach>
|
</if>
|
<if test="page.sort == null">
|
order by isnull(t1.create_time), t1.create_time desc
|
</if>
|
limit #{page.offset}, #{page.size}
|
</select>
|
|
<!-- 全部签收-查询未签收所有Id -->
|
<select id="listIdByTerms" resultType="cn.huge.module.cases.domain.dto.SignTaskDTO">
|
SELECT t1.id as caseTaskId, t1.case_id as caseId
|
FROM
|
dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
|
where
|
t2.delete_status = 0
|
and t1.status = '1'
|
<include refid="myTaskQs-where-part"/>
|
</select>
|
|
|
<!-- 工作台-待/已受理条件查询-条件 -->
|
<sql id="myTaskSl-where-part">
|
<if test="terms != null">
|
<if test="terms.candeUnitId != null and terms.candeUnitId !=''">
|
and t1.cande_unit_id = #{terms.candeUnitId}
|
</if>
|
<if test="terms.handleUnitId != null and terms.handleUnitId !=''">
|
and t1.handle_unit_id = #{terms.handleUnitId}
|
</if>
|
<if test="terms.caseTaskType != null and terms.caseTaskType !=''">
|
and t1.case_task_type = #{terms.caseTaskType}
|
</if>
|
<if test="terms.createTimeStart != null and terms.createTimeStart !='' and terms.createTimeEnd != null and terms.createTimeEnd !=''">
|
and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createTimeStart}
|
and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd})
|
</if>
|
<if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''">
|
and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart}
|
and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd})
|
</if>
|
<if test="terms.partyName != null and terms.partyName !=''">
|
and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%')
|
</if>
|
</if>
|
</sql>
|
<!-- 首页-待/已受理条件统计 -->
|
<select id="countMyTaskSl" resultType="java.lang.Long">
|
select
|
COUNT(t1.id)
|
from
|
dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id
|
where
|
(t1.node_id = 'ZJ_DSL' or t1.node_id = 'QJ_DSL' or t1.node_id = 'SJ_DSL' or t1.node_id = 'DSL')
|
and t2.delete_status = 0
|
and t1.status = #{terms.status}
|
<include refid="myTaskSl-where-part"/>
|
</select>
|
<!-- 首页-待/已受理分页查询 -->
|
<select id="pageMyTaskSl" resultType="cn.huge.module.cases.domain.dto.FrontPageListSLDTO">
|
SELECT t1.id as ownerId, t1.case_id as caseId, t3.is_risk as isRisk,
|
t1.create_time as turnaroundTime, t1.expire_time as timeLimit, t1.handle_time as taskHandleTime,
|
t2.case_level as caseGrade, t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType,
|
concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants,
|
(select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
|
FROM
|
dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id
|
where
|
(t1.node_id = 'ZJ_DSL' or t1.node_id = 'QJ_DSL' or t1.node_id = 'SJ_DSL' or t1.node_id = 'DSL')
|
and t2.delete_status = 0
|
and t1.status = #{terms.status}
|
<include refid="myTaskSl-where-part"/>
|
<if test="page.sort != null">
|
<foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
|
isnull(${s.property}), ${s.property} ${s.direction}
|
</foreach>
|
</if>
|
<if test="page.sort == null">
|
order by isnull(t1.create_time), t1.create_time desc
|
</if>
|
limit #{page.offset}, #{page.size}
|
</select>
|
|
|
<!-- 工作台-办理中条件查询-条件 -->
|
<sql id="myTaskBlz-where-part">
|
<if test="terms != null">
|
<if test="terms.candeUnitId != null and terms.candeUnitId !=''">
|
and t1.cande_unit_id = #{terms.candeUnitId}
|
</if>
|
<if test="terms.status != null and terms.status !=''">
|
and t1.status = #{terms.status}
|
</if>
|
<if test="terms.caseTaskType != null and terms.caseTaskType !=''">
|
and t1.case_task_type = #{terms.caseTaskType}
|
</if>
|
<if test="terms.createTimeStart != null and terms.createTimeStart !='' and terms.createTimeEnd != null and terms.createTimeEnd !=''">
|
and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createTimeStart}
|
and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd})
|
</if>
|
<if test="terms.partyName != null and terms.partyName !=''">
|
and (concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%') or t2.case_ref like concat('%', #{terms.partyName}, '%'))
|
</if>
|
<if test='terms.mediatorType != null and terms.mediatorType =="1"'>
|
and t3.mediator_id = #{terms.mediatorId}
|
</if>
|
<if test='terms.mediatorType != null and terms.mediatorType =="2"'>
|
and t3.mediator_id is null
|
</if>
|
</if>
|
</sql>
|
<!-- 首页-办理中条件统计 -->
|
<select id="countMyTaskBlz" resultType="java.lang.Long">
|
select
|
COUNT(t1.id)
|
from
|
dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
|
left join dyh_case_info_unfold t3 on t1.case_id = t3.id
|
where
|
t1.node_id = 'BLFK'
|
and t1.status = 1
|
and t2.delete_status = 0
|
<include refid="myTaskBlz-where-part"/>
|
</select>
|
<!-- 首页-办理中分页查询 -->
|
<select id="pageMyTaskBlz" resultType="cn.huge.module.cases.domain.dto.FrontPageListBLZDTO">
|
SELECT
|
t1.id as ownerId, t1.case_id as caseId, t1.create_time as turnaroundTime, t2.case_level as caseGrade, t3.is_risk as isRisk,
|
t2.canal_name as caseSource, concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType, t3.mediator as manager,
|
t3.assist_unit_name as cooperatingUnit, t3.mediate_unit_name as organizingUnit,
|
concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs, concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants,
|
(select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
|
FROM
|
dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
|
left join dyh_case_info_unfold t3 on t1.case_id = t3.id
|
where
|
t1.node_id = 'BLFK'
|
and t1.status = 1
|
and t2.delete_status = 0
|
<include refid="myTaskBlz-where-part"/>
|
<if test="page.sort != null">
|
<foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
|
isnull(${s.property}), ${s.property} ${s.direction}
|
</foreach>
|
</if>
|
<if test="page.sort == null">
|
order by isnull(t1.create_time), t1.create_time desc
|
</if>
|
limit #{page.offset}, #{page.size}
|
</select>
|
|
<!-- 首页-待审核-我申请的条件统计 -->
|
<select id="countMyTaskShWSQD" resultType="java.lang.Long">
|
select sum(t1.count)
|
from
|
(
|
SELECT count(1) as count, case_id as caseId
|
FROM dyh_case_return
|
WHERE return_unit_id = #{terms.applyUnitId}
|
union all
|
SELECT count(1) as count, case_id as caseId
|
FROM dyh_case_windup_apply
|
WHERE apply_unit_id = #{terms.applyUnitId}
|
union all
|
SELECT count(1) as count, case_id as caseId
|
FROM dyh_case_appear
|
WHERE appear_unit_id = #{terms.applyUnitId}
|
union all
|
SELECT count(1) as count, case_id as caseId
|
FROM dyh_case_assist_apply
|
WHERE apply_unit_id = #{terms.applyUnitId}
|
union all
|
SELECT count(1) as count, case_id as caseId
|
FROM dyh_judic_info
|
WHERE apply_unit_id = #{terms.applyUnitId}
|
)t1 left join dyh_case_info t2 on t1.caseId = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id
|
<where>
|
<if test="terms.applyType != null and terms.applyType !=''">
|
and t1.applyType = #{terms.applyType}
|
</if>
|
<if test="terms.auditStatus != null and terms.auditStatus !=''">
|
and t1.audit_result = #{terms.auditResult}
|
</if>
|
<if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
|
and (DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
|
and DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
|
</if>
|
<if test="terms.partyName != null and terms.partyName !=''">
|
and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%')
|
</if>
|
</where>
|
</select>
|
<!-- 首页-待审核-我申请的分页查询 -->
|
<select id="pageMyTaskShWSQD" resultType="cn.huge.module.cases.domain.dto.FrontPageListWSQDDTO">
|
select t1.*,t2.case_level as caseGrade, t2.canal_name as caseSource, t3.is_risk as isRisk,
|
concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType,
|
concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, '')) as plaintiffs,
|
concat_ws('', ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) as defendants
|
from
|
(
|
SELECT case_id as caseId, id as ownerId, return_time as turnaroundTime, '回退' as applyType,
|
audit_unit_name as auditUnit, return_status as auditStatus, audit_result_name as auditResult,
|
audit_time as auditTime, create_time, audit_result
|
FROM dyh_case_return
|
WHERE return_unit_id = #{terms.applyUnitId}
|
union all
|
SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '结案' as applyType,
|
audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
|
audit_time as auditTime, create_time, audit_result
|
FROM dyh_case_windup_apply
|
WHERE apply_unit_id = #{terms.applyUnitId}
|
union all
|
SELECT case_id as caseId, id as ownerId, appear_time as turnaroundTime, '上报' as applyType,
|
audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditResult,
|
audit_time as auditTime, create_time, audit_result
|
FROM dyh_case_appear
|
WHERE appear_unit_id = #{terms.applyUnitId}
|
union all
|
SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '联合处置' as applyType,
|
audit_unit_name as auditUnit, apply_status as auditStatus, audit_result_name as auditStatus,
|
audit_time as auditTime, create_time, audit_result
|
FROM dyh_case_assist_apply
|
WHERE apply_unit_id = #{terms.applyUnitId}
|
union all
|
SELECT case_id as caseId, id as ownerId, apply_time as turnaroundTime, '司法确认' as applyType,
|
handle_unit_name as auditUnit, status as auditStatus, judic_audit_name as auditStatus,
|
audit_time as auditTime, create_time, judic_audit as audit_result
|
FROM dyh_judic_info
|
WHERE apply_unit_id = #{terms.applyUnitId}
|
)t1 left join dyh_case_info t2 on t1.caseId = t2.id left join dyh_case_info_unfold t3 on t2.id = t3.id
|
<where>
|
<if test="terms.applyType != null and terms.applyType !=''">
|
and t1.applyType = #{terms.applyType}
|
</if>
|
<if test="terms.auditStatus != null and terms.auditStatus !=''">
|
and t1.audit_result = #{terms.auditResult}
|
</if>
|
<if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
|
and (DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
|
and DATE_FORMAT(t1.turnaroundTime,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
|
</if>
|
<if test="terms.partyName != null and terms.partyName !=''">
|
and concat_ws('', ifnull(t2.plaintiffs, ''), ifnull(t2.pagents, ''), ifnull(t2.defendants, ''), ifnull(t2.dagents, '')) like concat('%', #{terms.partyName}, '%')
|
</if>
|
</where>
|
<if test="page.sort != null">
|
<foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
|
isnull(${s.property}), ${s.property} ${s.direction}
|
</foreach>
|
</if>
|
<if test="page.sort == null">
|
order by isnull(t1.create_time), t1.create_time desc
|
</if>
|
limit #{page.offset}, #{page.size}
|
</select>
|
|
|
<!-- web端-工作台-已办事项条件查询-条件 -->
|
<sql id="myTaskYb-where-part">
|
<if test="terms != null">
|
<if test="terms.createTimeStart != null and terms.createTimeStart !='' and terms.createTimeEnd != null and terms.createTimeEnd !=''">
|
and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.createTimeStart}
|
and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.createTimeEnd})
|
</if>
|
<if test="terms.handleTimeStart != null and terms.handleTimeStart !='' and terms.handleTimeEnd != null and terms.handleTimeEnd !=''">
|
and (DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.handleTimeStart}
|
and DATE_FORMAT(t1.handle_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.handleTimeEnd})
|
</if>
|
<if test="terms.mediator != null and terms.mediator !=''">
|
and t3.mediator like concat('%', #{terms.mediator}, '%')
|
</if>
|
<if test="terms.canal != null and terms.canal !=''">
|
and t2.canal = #{terms.canal}
|
</if>
|
<if test="terms.mediResult != null and terms.mediResult !=''">
|
and t3.medi_result = #{terms.mediResult}
|
</if>
|
<if test="terms.caseLevel != null and terms.caseLevel !=''">
|
and t2.case_level = #{terms.caseLevel}
|
</if>
|
<if test="terms.caseType != null and terms.caseType !=''">
|
and (t2.case_type = #{terms.caseType} or t2.case_type_first = #{terms.caseType})
|
</if>
|
<if test="terms.status != null and terms.status !=''">
|
and t2.status = #{terms.status}
|
</if>
|
<if test="terms.nodeIdList != null and terms.nodeIdList.size > 0">
|
and t1.node_id in
|
<foreach collection="terms.nodeIdList" item="nodeId" index="index" open="(" separator="," close=")">
|
#{nodeId}
|
</foreach>
|
</if>
|
</if>
|
</sql>
|
<!-- web端-工作台-已办事项条件统计 -->
|
<select id="countMyTaskYb" resultType="java.lang.Long">
|
SELECT count(DISTINCT t2.id)
|
FROM dyh_case_task t1
|
left join dyh_case_info t2 on t1.case_id = t2.id
|
left join dyh_case_info_unfold t3 on t1.case_id = t3.id
|
where t1.status = 2
|
and t1.handle_unit_id = #{terms.handleUnitId}
|
and t2.delete_status = 0
|
<include refid="myTaskYb-where-part"/>
|
</select>
|
<!-- web端-工作台-已办事项分页查询 -->
|
<select id="pageMyTaskYb" resultType="cn.huge.module.cases.domain.dto.FrontPageListYBDTO">
|
SELECT t1.id as caseTaskId, t2.id as caseId, t1.create_time as createTime, t2.status_name as statusName,t1.handle_unit_name as handleUnitName,t1.handle_result as handleResult,
|
t3.medi_result as mediResult, t3.medi_result_name as mediResultName, t3.mediator as mediator,t3.mediate_unit_name as mediateUnitName,t3.assist_unit_name as assistUnitName,
|
t1.handle_time as handleTime, t2.case_level as caseLevel, t2.canal_name as canalName,t2.plaintiffs,t2.defendants,
|
concat_ws('', ifnull(t2.case_type_first_name, ''), '/' , ifnull(t2.case_type_name, '')) as caseType,
|
(select count(1) from dyh_case_supervise where case_id = t1.case_id) as superviseCount
|
FROM dyh_case_task t1
|
left join dyh_case_info t2 on t1.case_id = t2.id
|
left join dyh_case_info_unfold t3 on t1.case_id = t3.id
|
where t1.status = 2
|
and t1.handle_unit_id = #{terms.handleUnitId}
|
and t2.delete_status = 0
|
<include refid="myTaskYb-where-part"/>
|
group by t2.id
|
<if test="page.sort != null">
|
<foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
|
isnull(${s.property}), ${s.property} ${s.direction}
|
</foreach>
|
</if>
|
<if test="page.sort == null">
|
order by isnull(t1.create_time), t1.create_time desc
|
</if>
|
limit #{page.offset}, #{page.size}
|
</select>
|
|
<!-- 根据编号物理删除 -->
|
<delete id="deleteByCaseId">
|
delete from
|
<include refid="table-name" />
|
where case_id = #{caseId}
|
</delete>
|
|
<!-- FlowNodeBaseDTO结果集 -->
|
<resultMap id="flowNodeBaseDTO" type="cn.huge.module.sys.dto.FlowNodeBaseDTO">
|
<result property="id" column="id"/>
|
<result property="flowId" column="flow_id"/>
|
<result property="nodeId" column="node_id"/>
|
<result property="nodeType" column="node_type"/>
|
<result property="nodeName" column="node_name"/>
|
<result property="nodeDes" column="node_des"/>
|
<result property="nodeIcon" column="node_icon"/>
|
<result property="apiType" column="api_type"/>
|
<result property="api" column="api"/>
|
<result property="expire" column="expire"/>
|
<result property="operType" column="oper_type"/>
|
<result property="operUserId" column="oper_user_id"/>
|
<result property="operUserName" column="oper_user_name"/>
|
<result property="operRodeCode" column="oper_rode_code"/>
|
<result property="operRodeName" column="oper_rode_name"/>
|
<result property="operDeptId" column="oper_dept_id"/>
|
<result property="operDeptName" column="oper_dept_name"/>
|
<result property="goCond" column="go_cond"/>
|
<result property="backCond" column="back_cond"/>
|
<result property="nodeIndex" column="node_index"/>
|
<result property="deleteStatus" column="delete_status"/>
|
<result property="custId" column="cust_id"/>
|
<result property="createTime" column="create_time"/>
|
<result property="updateTime" column="update_time"/>
|
</resultMap>
|
<!-- 查询工作流节点 -->
|
<select id="getNodeByFlowAndNode" resultMap="flowNodeBaseDTO">
|
SELECT *
|
from dyh_flow_node
|
where flow_id = #{flowId}
|
and node_id = #{nodeId}
|
</select>
|
|
<update id="deleteCaseTaskByCaseId">
|
update dyh_case_task set delete_status = 1,update_time = #{updateTime} where case_id = #{caseId}
|
</update>
|
</mapper>
|