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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
<?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="orgStaffRelServiceDaoImpl">
 
    <!-- 保存组织员工关系信息 add by wuxw 2018-07-03 -->
    <insert id="saveBusinessOrgStaffRelInfo" parameterType="Map">
        insert into business_org_staff_rel(
        rel_id,operate,store_id,b_id,org_id,staff_id,rel_cd
        ) values (
        #{relId},#{operate},#{storeId},#{bId},#{orgId},#{staffId},#{relCd}
        )
    </insert>
 
 
    <!-- 查询组织员工关系信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessOrgStaffRelInfo" parameterType="Map" resultType="Map">
        select t.rel_id,t.rel_id relId,t.operate,t.store_id,t.store_id storeId,t.b_id,t.b_id bId,t.org_id,t.org_id
        orgId,t.staff_id,t.staff_id staffId,t.rel_cd,t.rel_cd relCd
        from business_org_staff_rel t
        where 1 =1
        <if test="relId !=null and relId != ''">
            and t.rel_id= #{relId}
        </if>
        <if test="operate !=null and operate != ''">
            and t.operate= #{operate}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="orgId !=null and orgId != ''">
            and t.org_id= #{orgId}
        </if>
        <if test="staffId !=null and staffId != ''">
            and t.staff_id= #{staffId}
        </if>
        <if test="relCd !=null and relCd != ''">
            and t.rel_cd= #{relCd}
        </if>
 
    </select>
 
 
    <!-- 保存组织员工关系信息至 instance表中 add by wuxw 2018-07-03 -->
    <insert id="saveOrgStaffRelInfoInstance" parameterType="Map">
        insert into u_org_staff_rel(
        rel_id,status_cd,store_id,b_id,org_id,staff_id,rel_cd
        ) select t.rel_id,'0',t.store_id,t.b_id,t.org_id,t.staff_id,t.rel_cd from business_org_staff_rel t where 1=1
        <if test="relId !=null and relId != ''">
            and t.rel_id= #{relId}
        </if>
        and t.operate= 'ADD'
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="orgId !=null and orgId != ''">
            and t.org_id= #{orgId}
        </if>
        <if test="staffId !=null and staffId != ''">
            and t.staff_id= #{staffId}
        </if>
        <if test="relCd !=null and relCd != ''">
            and t.rel_cd= #{relCd}
        </if>
 
    </insert>
 
 
    <!-- 查询组织员工关系信息 add by wuxw 2018-07-03 -->
    <select id="getOrgStaffRelInfo" parameterType="Map" resultType="Map">
        select t.rel_id,t.rel_id relId,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id storeId,t.b_id,t.b_id
        bId,t.org_id,t.org_id orgId,t.staff_id,t.staff_id staffId,t.rel_cd,t.rel_cd relCd,uo.parent_org_id parentOrgId,
        uu.name staffName,uo.org_name departmentName,uo.org_id departmentId,td.`name` relCdName
        from u_org_staff_rel t
        inner join u_org uo on t.org_id = uo.org_id and uo.status_cd = '0'
        inner join u_user uu on t.staff_id = uu.user_id
        left join t_dict td on t.rel_cd = td.status_cd and td.table_name = 'u_org_staff_rel' and td.table_columns = 'rel_cd'
        where 1=1
 
        <if test='statusCd ==null or statusCd != "1"'>
            and uu.status_cd = '0'
            and uo.status_cd = '0'
            and t.status_cd= '0'
        </if>
        <if test="relId !=null and relId != ''">
            and t.rel_id= #{relId}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="orgId !=null and orgId != ''">
            and t.org_id= #{orgId}
        </if>
        <if test="staffId !=null and staffId != ''">
            and t.staff_id= #{staffId}
        </if>
        <if test="relCd !=null and relCd != ''">
            and t.rel_cd= #{relCd}
        </if>
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
 
    </select>
 
 
    <!-- 修改组织员工关系信息 add by wuxw 2018-07-03 -->
    <update id="updateOrgStaffRelInfoInstance" parameterType="Map">
        update u_org_staff_rel t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="storeId !=null and storeId != ''">
            , t.store_id= #{storeId}
        </if>
        <if test="orgId !=null and orgId != ''">
            , t.org_id= #{orgId}
        </if>
        <if test="staffId !=null and staffId != ''">
            , t.staff_id= #{staffId}
        </if>
        <if test="relCd !=null and relCd != ''">
            , t.rel_cd= #{relCd}
        </if>
        where 1=1
        <if test="relId !=null and relId != ''">
            and t.rel_id= #{relId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
 
    </update>
 
    <!-- 查询组织员工关系数量 add by wuxw 2018-07-03 -->
    <select id="queryOrgStaffRelsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from u_org_staff_rel t,u_org uo
        where t.org_id = uo.org_id
        and uo.status_cd = '0'
        <if test="relId !=null and relId != ''">
            and t.rel_id= #{relId}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="storeId !=null and storeId != ''">
            and t.store_id= #{storeId}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
        <if test="orgId !=null and orgId != ''">
            and t.org_id= #{orgId}
        </if>
        <if test="staffId !=null and staffId != ''">
            and t.staff_id= #{staffId}
        </if>
        <if test="relCd !=null and relCd != ''">
            and t.rel_cd= #{relCd}
        </if>
 
 
    </select>
 
    <!-- 根据员工ID查询部门,公司信息 add by zc 2020-02-17 -->
    <select id="queryOrgInfoByStaffIds" parameterType="Map" resultType="Map">
        select
        t.rel_id relId,t.org_id departmentId,t.staff_id staffId,t.store_id storeId,u.org_name departmentName,
        u.parent_org_id companyId,o.org_name companyName,o.org_id companyId
        from
        u_org_staff_rel t
        inner join u_org u on t.org_id = u.org_id
        inner join u_org o on u.parent_org_id = o.org_id
        WHERE 1 = 1
        <if test="staffIds !=null">
            and t.staff_id in
            <foreach collection="staffIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="staffId !=null and staffId !=''">
            and t.staff_id =#{staffId}
        </if>
    </select>
 
</mapper>