洪城义警-正式版后台
zhongrj
2023-11-14 62cd133e894d8cc8d527d5e94a4310794e03f763
src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -115,26 +115,30 @@
    <select id="selectLi" resultMap="taskResultMap">
        SELECT A.*,IFNULL(B.num,0) as nums FROM (
        select qd.* from sys_taskqd qd LEFT JOIN sys_jurisdiction j ON j.id = qd.jurisdiction where 1=1 AND
        select qd.* from sys_taskqd qd LEFT JOIN sys_jurisdiction j ON j.id = qd.jurisdiction where 1=1
        <if test="type==0">
            (qd.rtype = "2" or qd.rtype = "0") AND
            <if test="serid != '1123598821738675201'">
                find_in_set(#{serid}, serid) and
                AND find_in_set(#{serid}, serid)
            </if>
            qd.tasktype=#{tasktype}) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid
            FROM
            sys_taskfk WHERE 1 = 1
            <if test="serid != '1123598821738675201'">
                and serid=#{serid}
            </if>
            GROUP BY hdid,serid) B ON A.id=B.hdid
            AND (qd.rtype = "2" or qd.rtype = "0")
            AND qd.tasktype=#{tasktype}
            ) A LEFT JOIN (
                SELECT COUNT(*) as num,hdid,serid
                FROM
                sys_taskfk WHERE 1 = 1
                <if test="serid != '1123598821738675201'">
                    and serid=#{serid}
                </if>
                GROUP BY hdid,serid
            ) B ON A.id=B.hdid
        </if>
        <if test="type==2">
            qd.rtype = "1" AND
            <if test="serid != '1123598821738675201'">
                find_in_set(#{serid}, serid) and
                AND find_in_set(#{serid}, serid)
            </if>
            qd.tasktype=#{tasktype}) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid
            AND qd.rtype = "1"
            and qd.tasktype=#{tasktype}
            ) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid
            FROM
            sys_taskfk WHERE 1 = 1
            <if test="serid != '1123598821738675201'">
@@ -143,12 +147,12 @@
            GROUP BY hdid,serid) B ON A.id=B.hdid
        </if>
        <if test="type==1">
            and qd.tasktype=#{tasktype}
            <if test="jurisdiction!='1372091709474910209'">
                AND qd.rtype = "2"
                <if test="tasktype !=2">
                    qd.jnum!=qd.num AND
                    AND qd.jnum!=qd.num
                </if>
                qd.rtype = "2"
                and qd.tasktype=#{tasktype}
                <if test="serid != '1123598821738675201'">
                    and (!find_in_set(#{serid}, serid) OR serid IS NULL )
                </if>
@@ -157,9 +161,9 @@
                j.parent_id = #{jurisdiction}) or (j.id =#{workjurisdiction} or
                j.parent_id = #{workjurisdiction}))
            </if>
            ) A LEFT JOIN (SELECT
            COUNT(*)
            as num,hdid FROM sys_taskfk GROUP BY hdid) B ON A.id=B.hdid
            ) A LEFT JOIN (
                SELECT COUNT(*) as num,hdid FROM sys_taskfk GROUP BY hdid
            ) B ON A.id=B.hdid
        </if>
    </select>
@@ -209,4 +213,37 @@
        FROM sys_taskqd
        WHERE id = #{hdid}
    </select>
    <!--自定义分页查询-->
    <select id="selectTaskQdPage" resultType="org.springblade.modules.taskqd.vo.TaskqdVO">
        select * from sys_taskqd where 1=1
    </select>
    <!--导出任务数据-->
    <select id="selectTaskList" resultType="org.springblade.modules.taskqd.excel.TaskExcel">
        select
        st.id,st.rname,st.time,st.endtime,st.content,st.gathername,st.fname,st.integral,
      sr.role_name as trainName,
        case when rtype='0' then '正在进行'
         when rtype='1' then '已结束'
         when rtype='2' then '任务未开始'
        end as rtypeName,
        sj.dept_name as jurisdictionName
        from sys_taskqd st
        left join sys_jurisdiction sj on sj.id = st.jurisdiction
        left join blade_role sr on sr.id = st.train
        where 1=1
        <if test="task.tasktype!=null and task.tasktype!=''">
            and st.tasktype = #{task.tasktype}
        </if>
        <if test="task.rtype!=null and task.rtype!='' and task.rtype!='undefined'">
            and st.rtype = #{task.rtype}
        </if>
        <if test="task.rname!=null and task.rname!='' and task.rname!='undefined'">
            and st.rname like concat('%',#{task.rname},'%')
        </if>
        <if test="task.jurisdiction!=null and task.jurisdiction!='' and task.jurisdiction!='undefined'">
            and st.jurisdiction = #{task.jurisdiction}
        </if>
    </select>
</mapper>