管道基础大数据平台系统开发-【后端】-Server
13693261870
2023-02-14 05ffa1a7f490e1e81d6fbf1ee948db50b1fff6fc
src/main/resources/mapper/show/ApplyMapper.xml
@@ -2,46 +2,99 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lf.server.mapper.show.ApplyMapper">
    <select id="selectCount" resultType="java.lang.Integer">
        select count(*) from lf.sys_apply
        select count(*) from lf.sys_apply a inner join lf.sys_user b on a.userid = b.id
        <where>
            <if test="userid != null">
                userid = #{userid}
            1 = 1
            <if test="uname != null">
                and b.uname like #{uname}
            </if>
            <if test="status != null">
                <if test="status == 0">
                    and a.status between 0 and 9
                </if>
                <if test="status != 0">
                    and a.status = #{status}
                </if>
            </if>
            <if test="start != null">
                and a.create_time &gt;= #{start}
            </if>
            <if test="end != null">
                and a.create_time &lt;= #{end}
            </if>
        </where>
    </select>
    <select id="selectByPage" resultType="com.lf.server.entity.show.ApplyEntity">
        select * from lf.sys_apply
        select a.*, b.uname, (select count(*) from lf.sys_flow c where c.applyid = a.id and c.status = 0 and c.userid = #{userid}) isVerify
        from lf.sys_apply a inner join lf.sys_user b on a.userid = b.id
        <where>
            <if test="userid != null">
                userid = #{userid}
            1 = 1
            <if test="uname != null">
                and b.uname like #{uname}
            </if>
            <if test="status != null">
                <if test="status == 0">
                    and a.status between 0 and 9
                </if>
                <if test="status != 0">
                    and a.status = #{status}
                </if>
            </if>
            <if test="start != null">
                and a.create_time &gt;= #{start}
            </if>
            <if test="end != null">
                and a.create_time &lt;= #{end}
            </if>
        </where>
        order by id
        order by a.id desc
        limit #{limit} offset #{offset}
    </select>
    <select id="selectAll" resultType="com.lf.server.entity.show.ApplyEntity">
        select * from lf.sys_apply order by id;
        select * from lf.sys_apply order by id desc
    </select>
    <select id="selectById" resultType="com.lf.server.entity.show.ApplyEntity">
        select * from lf.sys_apply where id = #{id}
    </select>
    <select id="selectUserByDepid" resultType="com.lf.server.entity.sys.UserEntity">
        select c.* from lf.sys_role a inner join lf.sys_role_user b on a.id = b.roleid
        inner join lf.sys_user c on b.userid = c.id
        where a.is_admin = 2 and a.depid = #{depid}
        order by c.id limit 1
    </select>
    <select id="selectSubmits" resultType="java.lang.Integer">
        select count(*) from lf.sys_apply a inner join lf.sys_flow b on a.id = b.applyid
        where a.status between 0 and 9 and b.status = 0 and b.userid = #{userid}
    </select>
    <select id="selectFlows" resultType="com.lf.server.entity.show.FlowEntity">
        select a.*, b.uname, fn_get_fullname(b.depcode, 1) depName
        from lf.sys_flow a inner join lf.sys_user b on a.userid = b.id
        where a.applyid = #{applyid}
    </select>
    <insert id="insert" parameterType="com.lf.server.entity.show.ApplyEntity">
       insert into lf.sys_apply
       (userid,depids,tables,wkt,status,count,descr,create_user,create_time)
       values
       (#{userid},#{depids},#{tables},#{wkt},#{status},#{count},#{descr},#{createUser},now())
        <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
            select currval('lf.sys_apply_id_seq'::regclass) as id
        </selectKey>
        insert into lf.sys_apply
        (userid,depids,tabs,entities,wkt,pwd,status,count,descr,create_user,create_time)
        values
        (#{userid},#{depids},#{tabs},#{entities},#{wkt},#{pwd},#{status},#{count},#{descr},#{createUser},now())
    </insert>
    <insert id="inserts">
        insert into lf.sys_apply
        (userid,depids,tables,wkt,status,count,descr,create_user,create_time)
        (userid,depids,tabs,entities,wkt,pwd,status,count,descr,create_user,create_time)
        values
        <foreach collection="list" item="item" index="index" separator=",">
            (#{item.userid},#{item.depids},#{item.tables},#{item.wkt},#{item.status},#{item.count},#{item.descr},#{item.createUser},now())
            (#{item.userid},#{item.depids},#{item.tabs},#{item.entities},#{item.wkt},#{item.pwd},#{item.status},#{item.count},#{item.descr},#{item.createUser},now())
        </foreach>
    </insert>
@@ -58,7 +111,7 @@
    <update id="update">
        update lf.sys_apply
        set userid=#{userid},depids=#{depids},tables=#{tables},wkt=#{wkt},status=#{status},count=#{count},descr=#{descr},update_user=#{updateUser},update_time=now()
        set userid=#{userid},depids=#{depids},tabs=#{tabs},entities=#{entities},wkt=#{wkt},pwd=#{pwd},status=#{status},count=#{count},descr=#{descr},update_user=#{updateUser},update_time=now()
        where id=#{id}
    </update>
@@ -66,9 +119,29 @@
        <foreach collection="list" item="item" index="index" separator=";">
            update lf.sys_apply
            <set>
                userid=#{item.userid},depids=#{item.depids},tables=#{item.tables},wkt=#{item.wkt},status=#{item.status},count=#{item.count},descr=#{item.descr},update_user=#{item.updateUser},update_time=now()
                userid=#{item.userid},depids=#{item.depids},tabs=#{item.tabs},entities=#{item.entities},wkt=#{item.wkt},pwd=#{item.pwd},status=#{item.status},count=#{item.count},descr=#{item.descr},update_user=#{item.updateUser},update_time=now()
            </set>
            where id = #{item.id}
        </foreach>
    </update>
    <update id="updateForDiscard">
        update lf.sys_apply set status = -10, update_user = #{userid}, update_time = now() where status between -1 and 9 and id = #{id}
    </update>
    <update id="updateForResubmit">
        update lf.sys_flow set status = 0, update_user = #{userid}, update_time = now() where status = -1 and applyid = #{id};
        update lf.sys_apply a set status = (select count(*) from lf.sys_flow b where b.status = 1 and b.applyid = a.id), update_user = #{userid}, update_time = now() where status = -1 and id = #{id};
    </update>
    <update id="updateForSubmit">
        update lf.sys_flow set status = 1, update_user = #{userid}, update_time = now() where id = #{flowId};
        update lf.sys_apply a set status = (select count(*) from lf.sys_flow b where b.status = 1 and b.applyid = a.id), update_user = #{userid}, update_time = now() where id = #{applyid};
        update lf.sys_apply set status = 10 where status = count and id = #{applyid};
    </update>
    <update id="updateForReject">
        update lf.sys_flow set status = -1, update_user = #{userid}, update_time = now() where status = 0 and id = #{flowId};
        update lf.sys_apply set status = -1, update_user = #{userid}, update_time = now() where status between 0 and 9 and id = #{applyid};
    </update>
</mapper>