“djh”
2025-03-17 47d330d27fb88e85a40e64e5423f73b0b29c088e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?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">
<mapper namespace="com.gkhy.sign.mapper.SignatureItemMapper">
 
    <resultMap id="itemVo" type="com.gkhy.sign.dto.rep.SignatureItemRep">
        <result property="id"  column="id"/>
        <result property="itemName" column="item_name"/>
        <result property="templateId" column="template_id"/>
        <result property="templateName" column="templateName"/>
        <result property="deptId" column="item_dept_id"/>
        <result property="deptName" column="item_dept_name"/>
        <result property="originateTime" column="originate_time"/>
        <result property="initiaiUserId" column="initiai_user_id"/>
        <result property="initiaiUserName" column="initiai_user_name"/>
        <result property="itemFile" column="item_file"/>
        <result property="itemStatus" column="item_status"/>
        <result property="delFlag" column="del_flag"/>
<!--        <collection property="signatureFlows" javaType="java.util.List" resultMap="signatureItemRep"/>-->
    </resultMap>
 
    <resultMap id="signatureItemRep" type="com.gkhy.sign.dto.rep.SignatureFlowRep">
        <result property="itemId" column="item_id"/>
        <result property="userId" column="user_id"/>
        <result property="userName" column="user_name"/>
        <result property="deptId" column="dept_id"/>
        <result property="deptName" column="dept_name"/>
        <result property="signUserId" column="sign_user_id"/>
        <result property="signUserName" column="sign_user_name"/>
        <result property="signDeptId" column="sign_dept_id"/>
        <result property="signDeptName" column="sign_dept_name"/>
        <result property="signFile" column="sign_file"/>
        <result property="signStatus" column="sign_status"/>
        <result property="sort" column="sort"/>
    </resultMap>
    <insert id="insertSignatureItem" parameterType="SignatureItem" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO `signature`.`signature_item`
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="itemName != null and itemName != ''">item_name,</if>
            <if test="templateId != null">template_id,</if>
            <if test="deptId != null">dept_id,</if>
            <if test="originateTime != null">originate_time,</if>
            <if test="initiaiUserId != null">initiai_user_id,</if>
            <if test="filePath != null and filePath != ''">file_path,</if>
            <if test="status != null">status,</if>
            <if test="delFlag != null">del_flag,</if>
            <if test="createBy != null and createBy != ''">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null and updateBy != ''">update_by,</if>
            <if test="updateTime != null">update_time,</if>
        </trim>
        <trim prefix="VALUES (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="itemName != null and itemName != ''">#{itemName},</if>
            <if test="templateId != null">#{templateId},</if>
            <if test="deptId != null">#{deptId},</if>
            <if test="originateTime != null">#{originateTime},</if>
            <if test="initiaiUserId != null">#{initiaiUserId},</if>
            <if test="filePath != null and filePath != ''">#{filePath},</if>
            <if test="status != null">#{status},</if>
            <if test="delFlag != null">#{delFlag},</if>
            <if test="createBy != null and createBy != ''">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null and updateBy != ''">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
        </trim>
    </insert>
    <update id="updateByItemId">
            update signature_item
            <trim prefix="SET" suffixOverrides=",">
                <if test="itemName != null and itemName != ''">item_name = #{itemName},</if>
                <if test="templateId != null">template_id = #{templateId},</if>
                <if test="deptId != null">dept_id = #{deptId},</if>
                <if test="originateTime != null">originate_time = #{originateTime},</if>
                <if test="initiaiUserId != null">initiai_user_id = #{initiaiUserId},</if>
                <if test="filePath != null and filePath != ''">file_path = #{filePath},</if>
                <if test="status != null"> status = #{status},</if>
                <if test="delFlag != null">del_flag = #{delFlag},</if>
                <if test="createBy != null and createBy != ''"> create_by = #{createBy},</if>
                <if test="createTime != null">create_time = #{createTime},</if>
                <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
                <if test="updateTime != null">update_time = #{updateTime},</if>
            </trim>
            where id = #{id}
    </update>
 
    <delete id="deleteItemByIds">
        update signature_item set del_flag = 2 where id = #{ids}
    </delete>
 
 
 
<!--    LEFT JOIN signature_flow sf ON si.id = sf.item_id-->
    <select id="getItemList" resultMap="itemVo">
        SELECT
            si.id,
            si.item_name,
            si.template_id,
            st.template_name,
            si.dept_id as itme_dept_id,
            sd.dept_name as item_dept_name,
            si.originate_time,
            su.nick_name AS initiai_user_name,
            si.initiai_user_id,
            st.file_path as item_file,
            si.`status` as item_status,
            si.del_flag
        FROM
            signature_item si
            LEFT JOIN signature_template st ON si.template_id = st.id
            LEFT JOIN signature_type sty ON st.type_id = sty.id
            LEFT JOIN sys_dept sd ON si.dept_id = sd.dept_id
            LEFT JOIN sys_user su ON si.initiai_user_id = su.user_id
        <where>
            si.del_flag = 0
            <if test="userId != null">
                AND si.id IN (
                SELECT DISTINCT si.id
                FROM signature_item si
                LEFT JOIN signature_flow sf ON si.id = sf.item_id
                WHERE sf.sign_user_id = #{userId}
                )
            </if>
            <if test="status != null">
                and si.status = #{status}
            </if>
        </where>
        ORDER BY si.create_time desc
    </select>
</mapper>