liuxiaolong
2019-05-09 0d1d88cdb668e75ea8609417ac18ae19947e9525
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<?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.jeeplus.modules.signuserreg.dao.FormsignuserDao">
    
    <sql id="formsignuserColumns">
        a.id AS "id",
        a.create_by AS "createBy.id",
        a.create_date AS "createDate",
        a.update_by AS "updateBy.id",
        a.update_date AS "updateDate",
        a.remarks AS "remarks",
        a.del_flag AS "delFlag",
        a.user_id AS "suserid",
        a.name AS "suername",
        a.card_id AS "cardid",
        a.sex AS "susersex",
        a.depid AS "office.id",
        a.type AS "susertype",
        a.user_status AS "suserstatus",
        a.user_other AS "suserother",
        office.name AS "office.name"
    </sql>
    
    <sql id="formsignuserJoins">
        LEFT JOIN sys_office office ON office.id = a.depid
    </sql>
    
    <select id="get" resultType="Formsignuser">
        SELECT 
            <include refid="formsignuserColumns"/>
        FROM form_sign_user a
        <include refid="formsignuserJoins"/>
        WHERE a.id = #{id}
    </select>
    
    <select id="findList" resultType="Formsignuser">
        SELECT 
            <include refid="formsignuserColumns"/>
        FROM form_sign_user a
        <include refid="formsignuserJoins"/>
        <where>
            a.del_flag = #{DEL_FLAG_NORMAL}
            <if test="suserid != null and suserid != ''">
                AND a.user_id = #{suserid}
            </if>
            <if test="suername != null and suername != ''">
                AND a.name = #{suername}
            </if>
            <if test="cardid != null and cardid != ''">
                AND a.card_id = #{cardid}
            </if>
            <if test="susersex != null and susersex != ''">
                AND a.sex = #{susersex}
            </if>
            <if test="office != null and office.id != null and office.id != ''">
                AND a.depid = #{office.id}
            </if>
            <if test="susertype != null and susertype != ''">
                AND a.type = #{susertype}
            </if>
            <if test="suserstatus != null and suserstatus != ''">
                AND a.user_status = #{suserstatus}
            </if>
            <if test="suserother != null and suserother != ''">
                AND a.user_other = #{suserother}
            </if>
        </where>
        <choose>
            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
                ORDER BY ${page.orderBy}
            </when>
            <otherwise>
                ORDER BY a.update_date DESC
            </otherwise>
        </choose>
    </select>
    
    <select id="findAllList" resultType="Formsignuser">
        SELECT 
            <include refid="formsignuserColumns"/>
        FROM form_sign_user a
        <include refid="formsignuserJoins"/>
        <where>
            a.del_flag = #{DEL_FLAG_NORMAL}
        </where>        
        <choose>
            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
                ORDER BY ${page.orderBy}
            </when>
            <otherwise>
                ORDER BY a.update_date DESC
            </otherwise>
        </choose>
    </select>
    
    <insert id="insert">
        INSERT INTO form_sign_user(
            id,
            create_by,
            create_date,
            update_by,
            update_date,
            remarks,
            del_flag,
            user_id,
            name,
            card_id,
            sex,
            depid,
            type,
            user_status,
            user_other
        ) VALUES (
            #{id},
            #{createBy.id},
            #{createDate},
            #{updateBy.id},
            #{updateDate},
            #{remarks},
            #{delFlag},
            #{suserid},
            #{suername},
            #{cardid},
            #{susersex},
            #{office.id},
            #{susertype},
            #{suserstatus},
            #{suserother}
        )
    </insert>
    
    <update id="update">
        UPDATE form_sign_user SET     
            update_by = #{updateBy.id},
            update_date = #{updateDate},
            remarks = #{remarks},
            user_id = #{suserid},
            name = #{suername},
            card_id = #{cardid},
            sex = #{susersex},
            depid = #{office.id},
            type = #{susertype},
            user_status = #{suserstatus},
            user_other = #{suserother}
        WHERE id = #{id}
    </update>
    
    
    <!--物理删除-->
    <update id="delete">
        DELETE FROM form_sign_user
        WHERE id = #{id}
    </update>
    
    <!--逻辑删除-->
    <update id="deleteByLogic">
        UPDATE form_sign_user SET 
            del_flag = #{DEL_FLAG_DELETE}
        WHERE id = #{id}
    </update>
    
    
    <!-- 根据实体名称和字段名称和字段值获取唯一记录 -->
    <select id="findUniqueByProperty" resultType="Formsignuser" statementType="STATEMENT">
        select * FROM form_sign_user  where ${propertyName} = '${value}'
    </select>
</mapper>