洪城义警-正式版后台
zengh
2022-03-07 5b03cdbe799e8a91f9fcd0fd4f636a6c2c4440fd
src/main/java/org/springblade/modules/taskqd/mapper/TaskqdMapper.xml
@@ -21,49 +21,101 @@
        <result column="team" property="team"/>
        <result column="iscation" property="iscation"/>
        <result column="publisher" property="publisher"/>
        <result column="fid" property="fid"/>
        <result column="fname" property="fname"/>
        <result column="gather" property="gather"/>
        <result column="gathername" property="gathername"/>
        <result column="tasktype" property="tasktype"/>
        <result column="phone" property="phone"/>
        <result column="train" property="train"/>
    </resultMap>
    <update id="updatet">
        update sys_taskqd
        SET serid=#{serid},
            num=#{num}
            <if test="param4!='' and param4!=null">
                ,captain =#{param4}
            </if>
            <if test="param5!='' and param5!=null">
                ,team =#{param5}
            </if>
        num=#{num}
        <if test="param4!='' and param4!=null">
            ,captain =#{param4}
        </if>
        <if test="param5!='' and param5!=null">
            ,team =#{param5}
        </if>
        where id = #{id}
    </update>
    <update id="updateRtype">
        update sys_taskqd
        SET rtype=#{type}
        where id = #{rid}
    </update>
    <!--日常任务列表-->
    <select id="selectList" resultMap="taskResultMap">
        select jnum, num, serid,team
        select jnum, num, serid, team
        from sys_taskqd
        where id = #{id}
    </select>
    <select id="queryReceiver" resultType="java.util.HashMap">
        SELECT
            *
        FROM
            blade_user
        WHERE
            id in ( ${serid} )
        SELECT u.*,
               r.role_name
        FROM blade_user u
                 LEFT JOIN (SELECT id, role_name FROM blade_role) r on u.role_id = r.id
        WHERE u.id in (${serid})
    </select>
    <select id="selectLi" resultMap="taskResultMap">
        SELECT A.*,IFNULL(B.num,0) as nums FROM (
        select * from sys_taskqd where 1=1
        select qd.* from sys_taskqd qd LEFT JOIN sys_jurisdiction j ON j.id = qd.jurisdiction where 1=1 AND
        <if test="type==0">
            and find_in_set(#{serid}, serid)) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid FROM sys_taskfk WHERE
            (qd.rtype = "2" or qd.rtype = "0") AND
            find_in_set(#{serid}, serid) and qd.tasktype=#{tasktype}) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid FROM
            sys_taskfk WHERE
            serid=#{serid} GROUP BY hdid,serid) B ON A.id=B.hdid
        </if>
        <if test="type==2">
            qd.rtype = "1" AND
            find_in_set(#{serid}, serid) and qd.tasktype=#{tasktype}) A LEFT JOIN (SELECT COUNT(*) as num,hdid,serid FROM
            sys_taskfk WHERE
            serid=#{serid} GROUP BY hdid,serid) B ON A.id=B.hdid
        </if>
        <if test="type==1">
            and id NOT IN ( SELECT id FROM sys_taskqd WHERE find_in_set(#{serid}, serid ))) A LEFT JOIN (SELECT COUNT(*)
            as num,hdid,serid FROM sys_taskfk WHERE serid=#{serid} GROUP BY hdid,serid) B ON A.id=B.hdid
            <if test="jurisdiction!='1372091709474910209'">
                <if test="tasktype !=2">
                    qd.jnum!=qd.num AND
                </if>
                qd.rtype = "2"
                and qd.tasktype=#{tasktype}
                and (!find_in_set(#{serid}, serid) OR serid IS NULL )
                and (j.id =#{jurisdiction} or
                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
        </if>
    </select>
    <select id="selectNum" resultType="java.util.HashMap">
        SELECT COUNT(*) as num, tasktype
        FROM sys_taskqd qd
                 LEFT JOIN sys_jurisdiction j ON j.id = qd.jurisdiction
        WHERE jnum!=num AND qd.rtype = "2" AND
           (!find_in_set(#{serid}
            , serid)
           OR serid IS NULL )
          and (j.id =#{jurisdiction}
           or j.parent_id = #{jurisdiction})
           or (j.id =#{workjurisdiction}
           or j.parent_id = #{workjurisdiction})
        GROUP BY tasktype
    </select>
    <select id="querySerid" resultType="java.lang.String">
        SELECT serid
        from sys_taskqd
        where id = #{rid}
    </select>
</mapper>