forked from gzzfw/backEnd/gz-dyh

wangwh
2024-09-13 b512f03e1ea30e22209ec5a889d568c45f3e03c9
dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseTaskMapper.xml
@@ -288,6 +288,22 @@
            id = #{entity.id}
        </where>
    </update>
    <!-- 批量对象 -->
    <update id="updateCaseTaskList">
        update
        <include refid="table-name"/>
        <set>
            <include refid="set-part"/>
        </set>
        <where>
            id IN
            <foreach item="id" collection="taskIdList" open="(" separator="," close=")">
                #{id}
            </foreach>
        </where>
    </update>
    <!-- 条件更新对象 -->
    <update id="updateCaseTaskTerms">
        update
@@ -339,6 +355,7 @@
    <!--  结果集-->
    <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"/>
@@ -346,16 +363,243 @@
    <!--  查询任务数量  -->
    <select id="countTaskList" resultMap="FrontPageCountResult">
        select
        count(case when node_id = 'ZJ_DFP' or  node_id = 'QJ_DFP' or  node_id = 'SJ_DFP' then id end) as waitDisp,
        count(case when sign_status = 1 then id end) as waitSign,
        count(case when node_id = then id end) as waitAccept,
        count(case when node_id = then id end) as Processing
        count(case when (node_id = 'ZJ_DSL' or  node_id = 'QJ_DSL' or  node_id = 'SJ_DSL') and sign_status != 1 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 (cande_dept_id = #{terms.candeDeptId} or cande_dept_id is null)
        and delete_status = '0'
        and status = '1'
        and delete_status = 0
        and status = 1
    </select>
</mapper>
    <!-- 首页-待办理结果集 -->
    <resultMap id="MyTaskApplyReviewResult" type="cn.huge.module.cases.domain.dto.FrontPageListDTO">
        <result property="ownerId" column="ownerId"/>
        <result property="caseId" column="caseId"/>
        <result property="turnaroundTime" column="turnaroundTime"/>
        <result property="timeLimit" column="timeLimit"/>
        <result property="caseGrade" column="caseGrade"/>
        <result property="caseSource" column="caseSource"/>
        <result property="caseType" column="caseType"/>
        <result property="plaintiffs" column="plaintiffs"/>
        <result property="defendants" column="defendants"/>
        <result property="processingDays" column="processingDays"/>
        <result property="mediResult" column="mediResult"/>
        <result property="organizingUnit" column="organizingUnit"/>
        <result property="cooperatingUnit" column="cooperatingUnit"/>
        <result property="manager" column="manager"/>
        <result property="mediResult" column="mediResult"/>
        <result property="backUnit" column="backUnit"/>
        <result property="reason" column="reason"/>
        <result property="opinion" column="opinion"/>
        <result property="process" column="process"/>
    </resultMap>
    <!--  首页-待分派条件统计  -->
    <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
        where
        cande_unit_id = #{terms.candeUnitId}
        and (t1.node_id = 'ZJ_DFP' or  t1.node_id = 'QJ_DFP' or  t1.node_id = 'SJ_DFP')
        and t1.delete_status = 0
        and t1.status = #{terms.status}
        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
        </if>
        <if test="terms.partyName != null and terms.partyName !=''">
            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
        </if>
    </select>
    <!--  首页-待分派分页查询  -->
    <select id="pageMyTaskFp" resultMap="MyTaskApplyReviewResult">
        SELECT t1.id as ownerId, t1.case_id as caseId,
        t1.create_time as turnaroundTime, t1.expire_time as timeLimit, t2.case_level as caseGrade, t2.canal_name as caseSource,
        t2.case_type_name as caseType, concat(t2.plaintiffs, t2.pagents) as plaintiffs, concat(t2.defendants, t2.dagents) as defendants
        FROM
        dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
        where
        t1.cande_unit_id = #{terms.candeUnitId}
        and (t1.node_id = 'ZJ_DFP' or  t1.node_id = 'QJ_DFP' or  t1.node_id = 'SJ_DFP')
        and t1.delete_status = 0
        and t1.status = #{terms.status}
        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
        </if>
        <if test="terms.partyName != null and terms.partyName !=''">
            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
        </if>
        <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="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
        t1.cande_unit_id = #{terms.candeUnitId}
        and t1.sign_status = #{terms.signStatus}
        and t1.delete_status = 0
        and t1.status = '1'
        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
        </if>
        <if test="terms.partyName != null and terms.partyName !=''">
            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
        </if>
    </select>
    <!--  首页-待签收分页查询  -->
    <select id="pageMyTaskQs" resultMap="MyTaskApplyReviewResult">
        SELECT t1.id as ownerId, t1.case_id as caseId,
        t1.create_time as turnaroundTime, t1.expire_time as timeLimit,  t2.case_level as caseGrade, t2.canal_name as caseSource,
        t2.case_type_name as caseType, concat(t2.plaintiffs, t2.pagents) as plaintiffs,
        concat(t2.defendants, t2.dagents) as defendants
        FROM
        dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
        where
        t1.cande_unit_id = #{terms.candeUnitId}
        and t1.sign_status = #{terms.signStatus}
        and t1.delete_status = 0
        and t1.status = '1'
        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
        </if>
        <if test="terms.partyName != null and terms.partyName !=''">
            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
        </if>
        <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="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
        where
        t1.cande_unit_id = #{terms.candeUnitId}
        and (t1.node_id = 'ZJ_DSL' or  t1.node_id = 'QJ_DSL' or  t1.node_id = 'SJ_DSL')
        and t1.delete_status = 0
        and t1.sign_status != 1
        and t1.status = #{terms.status}
        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
        </if>
        <if test="terms.partyName != null and terms.partyName !=''">
            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
        </if>
    </select>
    <!--  首页-待受理分页查询  -->
    <select id="pageMyTaskSl" resultMap="MyTaskApplyReviewResult">
        SELECT t1.id as ownerId, t1.case_id as caseId,
        t1.create_time as turnaroundTime, t1.expire_time as timeLimit,
        t2.case_level as caseGrade, t2.canal_name as caseSource,
        t2.case_type_name as caseType, concat(t2.plaintiffs, t2.pagents) as plaintiffs,
        concat(t2.defendants, t2.dagents) as defendants
        FROM
        dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
        where
        t1.cande_unit_id = #{terms.candeUnitId}
        and (t1.node_id = 'ZJ_DSL' or  t1.node_id = 'QJ_DSL' or  t1.node_id = 'SJ_DSL')
        and t1.delete_status = 0
        and t1.sign_status != 1
        and t1.status = #{terms.status}
        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
        </if>
        <if test="terms.partyName != null and terms.partyName !=''">
            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
        </if>
        <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="countMyTaskProcessing" 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
        t1.cande_unit_id = #{terms.candeUnitId}
        and t1.node_id = 'BLFK'
        and t1.delete_status = 0
        and t1.status = 1
        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
        </if>
        <if test="terms.partyName != null and terms.partyName !=''">
            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
        </if>
    </select>
    <!--  首页-办理中分页查询  -->
    <select id="pageMyTaskProcessing" resultMap="MyTaskApplyReviewResult">
        SELECT t1.id as ownerId, t1.case_id as caseId,
        t1.create_time as turnaroundTime, t2.case_level as caseGrade, t2.canal_name as caseSource,
        t2.case_type_name as caseType, concat(t2.plaintiffs, t2.pagents) as plaintiffs,
        concat(t2.defendants, t2.dagents) as defendants
        FROM
        dyh_case_task t1 left join dyh_case_info t2 on t1.case_id = t2.id
        where
        t1.cande_unit_id = #{terms.candeUnitId}
        and t1.node_id = 'BLFK'
        and t1.delete_status = 0
        and t1.status = 1
        <if test="terms.timeStart != null and terms.timeStart !='' and terms.timeEnd != null and terms.timeEnd !=''">
            and (DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ >= ]]> #{terms.timeStart}
            and DATE_FORMAT(t1.create_time,'%Y-%m-%d') <![CDATA[ <= ]]> #{terms.timeEnd})
        </if>
        <if test="terms.partyName != null and terms.partyName !=''">
            and concat(t2.plaintiffs, t2.pagents, t2.defendants, t2.dagents) like concat('%', #{terms.partyName}, '%')
        </if>
        <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>
</mapper>