SysUserMapper.xml 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.xunmei.system.mapper.SysUserMapper">
  6. <resultMap type="com.xunmei.system.api.domain.SysUser" id="SysUserResult">
  7. <result property="id" column="id"/>
  8. <result property="deptId" column="dept_id"/>
  9. <result property="isManager" column="is_manager"/>
  10. <result property="isLock" column="is_lock"/>
  11. <result property="jobId" column="job_id"/>
  12. <result property="name" column="name"/>
  13. <result property="username" column="username"/>
  14. <result property="orgId" column="org_id"/>
  15. <result property="phone" column="phone"/>
  16. <result property="createTime" column="create_time"/>
  17. <result property="modifiedName" column="modified_name"/>
  18. <result property="updateTime" column="update_time"/>
  19. <result property="modifiedId" column="modified_id"/>
  20. <result property="password" column="password"/>
  21. <result property="salt" column="salt"/>
  22. <result property="deleted" column="deleted"/>
  23. <result property="lastIp" column="last_ip"/>
  24. <result property="lastTime" column="last_time"/>
  25. <result property="orgName" column="org_name"/>
  26. <result property="orgPath" column="org_path"/>
  27. <result property="image" column="image"/>
  28. <result property="card" column="card"/>
  29. <result property="gender" column="gender"/>
  30. <result property="jobNumber" column="job_number"/>
  31. <result property="note" column="note"/>
  32. <result property="isSign" column="is_sign"/>
  33. <result property="signTime" column="sign_time"/>
  34. <result property="agreementId" column="agreement_id"/>
  35. <result property="signVersion" column="sign_version"/>
  36. <result property="approveStatus" column="approve_status"/>
  37. <result property="locked" column="locked"/>
  38. <result property="createBy" column="create_by"/>
  39. <result property="updateBy" column="update_by"/>
  40. <result property="code" column="code"/>
  41. <result property="source" column="source"/>
  42. <result property="originalOrgId" column="original_org_id"/>
  43. <collection property="roles" ofType="com.xunmei.system.api.domain.SysRole">
  44. <result column="role_name" property="roleName"/>
  45. </collection>
  46. </resultMap>
  47. <!-- <resultMap type="com.xunmei.system.api.domain.SysUser" id="SyncSysUserResult">-->
  48. <!-- <id property="id" column="id" />-->
  49. <!-- <result property="username" column="user_name" />-->
  50. <!-- <result property="name" column="name" />-->
  51. <!-- <result property="email" column="email" />-->
  52. <!-- <result property="phonenumber" column="phonenumber" />-->
  53. <!-- <result property="sex" column="sex" />-->
  54. <!-- <result property="avatar" column="avatar" />-->
  55. <!-- <result property="password" column="password" />-->
  56. <!-- <result property="status" column="status" />-->
  57. <!-- <result property="delFlag" column="del_flag" />-->
  58. <!-- <result property="loginIp" column="login_ip" />-->
  59. <!-- <result property="loginDate" column="login_date" />-->
  60. <!-- <result property="createBy" column="create_by" />-->
  61. <!-- <result property="createTime" column="create_time" />-->
  62. <!-- <result property="updateBy" column="update_by" />-->
  63. <!-- <result property="updateTime" column="update_time" />-->
  64. <!-- <association property="dept" column="dept_id" javaType="com.xunmei.system.api.domain.SysDept" resultMap="deptResult" />-->
  65. <!-- <collection property="roles" javaType="java.util.List" resultMap="RoleResult" />-->
  66. <!-- </resultMap>-->
  67. <resultMap id="deptResult" type="com.xunmei.system.api.domain.SysDept">
  68. <id property="deptId" column="dept_id"/>
  69. <result property="parentId" column="parent_id"/>
  70. <result property="deptName" column="dept_name"/>
  71. <result property="ancestors" column="ancestors"/>
  72. <result property="orderNum" column="order_num"/>
  73. <result property="leader" column="leader"/>
  74. <result property="status" column="dept_status"/>
  75. </resultMap>
  76. <resultMap id="RoleResult" type="com.xunmei.system.api.domain.SysRole">
  77. <id property="roleId" column="role_id"/>
  78. <result property="roleName" column="role_name"/>
  79. <result property="roleKey" column="role_key"/>
  80. <result property="roleSort" column="role_sort"/>
  81. <result property="dataScope" column="data_scope"/>
  82. <result property="status" column="role_status"/>
  83. </resultMap>
  84. <sql id="selectUserVo">
  85. select u.id,
  86. u.dept_id,
  87. u.user_name,
  88. u.nick_name,
  89. u.avatar,
  90. u.phonenumber,
  91. u.password,
  92. u.sex,
  93. u.is_lock,
  94. u.deleted,
  95. u.login_ip,
  96. u.login_date,
  97. u.create_by,
  98. u.create_time,
  99. u.remark,
  100. u.original_org_id,
  101. d.dept_id,
  102. d.parent_id,
  103. d.ancestors,
  104. d.dept_name,
  105. d.order_num,
  106. d.leader,
  107. d.status as dept_status,
  108. r.id,
  109. r.role_name,
  110. r.role_key,
  111. r.role_sort,
  112. r.data_scope,
  113. r.status as role_status
  114. from sys_user u
  115. left join sys_dept d on u.dept_id = d.dept_id
  116. left join sys_user_role ur on u.id = ur.user_id
  117. left join sys_role r on r.id = ur.role_id
  118. </sql>
  119. <select id="selectUserList" parameterType="com.xunmei.system.api.domain.SysUser" resultMap="SysUserResult">
  120. select u.id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.is_lock, u.deleted,
  121. u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
  122. left join sys_dept d on u.dept_id = d.dept_id
  123. where u.deleted = '0'
  124. <if test="userId != null and userId != 0">
  125. AND u.id = #{userId}
  126. </if>
  127. <if test="userName != null and userName != ''">
  128. AND u.user_name like concat('%', #{userName}, '%')
  129. </if>
  130. <if test="status != null and status != ''">
  131. AND u.is_lock = #{isLock}
  132. </if>
  133. <if test="phonenumber != null and phonenumber != ''">
  134. AND u.phonenumber like concat('%', #{phonenumber}, '%')
  135. </if>
  136. <if test="params.beginTime != null and params.beginTime != ''">
  137. <!-- 开始时间检索 -->
  138. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
  139. </if>
  140. <if test="params.endTime != null and params.endTime != ''">
  141. <!-- 结束时间检索 -->
  142. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
  143. </if>
  144. <if test="deptId != null and deptId != 0">
  145. AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId},
  146. ancestors) ))
  147. </if>
  148. <!-- 数据范围过滤 -->
  149. ${params.dataScope}
  150. </select>
  151. <select id="selectAllocatedList" parameterType="com.xunmei.system.domain.vo.SysUserVO"
  152. resultType="com.xunmei.system.api.domain.SysUser">
  153. select distinct u.name as name,u.is_lock as isLock, u.id as id, u.dept_id as deptId, u.username as username,
  154. u.phone as phone, u.create_time as createTime
  155. from sys_user u
  156. left join sys_dept d on u.dept_id = d.dept_id
  157. left join sys_user_role ur on u.id = ur.user_id
  158. left join sys_role r on r.id = ur.role_id
  159. where u.deleted = '0' and r.id = #{roleId}
  160. <if test="username != null and username != ''">
  161. AND u.username like concat('%', #{username}, '%')
  162. </if>
  163. <if test="phone != null and phone != ''">
  164. AND u.phone like concat('%', #{phone}, '%')
  165. </if>
  166. <!-- 数据范围过滤 -->
  167. ${params.dataScope}
  168. </select>
  169. <select id="selectUnallocatedList" parameterType="com.xunmei.system.domain.vo.SysUserVO"
  170. resultType="com.xunmei.system.api.domain.SysUser">
  171. select distinct u.id, u.dept_id, u.username, u.name, u.phone, u.is_lock, u.create_time
  172. from sys_user u
  173. left join sys_dept d on u.dept_id = d.dept_id
  174. left join sys_user_role ur on u.id = ur.user_id
  175. left join sys_role r on r.id = ur.role_id
  176. where u.deleted = 0 and (r.id != #{roleId} or r.id IS NULL)
  177. and u.id not in (select u.id from sys_user u inner join sys_user_role ur on u.id = ur.user_id and ur.role_id =
  178. #{roleId})
  179. <if test="username != null and username != ''">
  180. AND u.username like concat('%', #{username}, '%')
  181. </if>
  182. <if test="phone != null and phone != ''">
  183. AND u.phone like concat('%', #{phone}, '%')
  184. </if>
  185. <!-- 数据范围过滤 -->
  186. ${params.dataScope}
  187. </select>
  188. <select id="selectSyncUserList" parameterType="com.xunmei.system.api.domain.SysUser"
  189. resultType="com.xunmei.system.api.domain.SysUser">
  190. select *
  191. from sys_user u where deleted !=1
  192. <if test="source != null">
  193. AND u.source =#{source}
  194. </if>
  195. <if test="orgId != null">
  196. AND u.org_id =#{orgId}
  197. </if>
  198. </select>
  199. <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
  200. <include refid="selectUserVo"/>
  201. where u.user_name = #{userName} and u.deleted = 0
  202. </select>
  203. <select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
  204. <include refid="selectUserVo"/>
  205. where u.id = #{userId}
  206. </select>
  207. <select id="checkUserNameUnique" parameterType="String" resultType="com.xunmei.system.api.domain.SysUser">
  208. select id, username
  209. from sys_user
  210. where username = #{userName}
  211. and deleted = '0' limit 1
  212. </select>
  213. <select id="checkPhoneUnique" parameterType="String" resultType="com.xunmei.system.api.domain.SysUser">
  214. select id, phone
  215. from sys_user
  216. where phone = #{phonenumber}
  217. and deleted = '0' limit 1
  218. </select>
  219. <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult">
  220. select user_id, email
  221. from sys_user
  222. where email = #{email}
  223. and deleted = '0' limit 1
  224. </select>
  225. <insert id="insertUser" parameterType="com.xunmei.system.api.domain.SysUser" useGeneratedKeys="true"
  226. keyProperty="userId">
  227. insert into sys_user(
  228. <if test="userId != null and userId != 0">
  229. user_id,
  230. </if>
  231. <if test="deptId != null and deptId != 0">
  232. dept_id,
  233. </if>
  234. <if test="userName != null and userName != ''">
  235. user_name,
  236. </if>
  237. <if test="nickName != null and nickName != ''">
  238. nick_name,
  239. </if>
  240. <if test="email != null and email != ''">
  241. email,
  242. </if>
  243. <if test="avatar != null and avatar != ''">
  244. avatar,
  245. </if>
  246. <if test="phonenumber != null and phonenumber != ''">
  247. phonenumber,
  248. </if>
  249. <if test="sex != null and sex != ''">
  250. sex,
  251. </if>
  252. <if test="password != null and password != ''">
  253. password,
  254. </if>
  255. <if test="status != null and status != ''">
  256. status,
  257. </if>
  258. <if test="createBy != null and createBy != ''">
  259. create_by,
  260. </if>
  261. <if test="remark != null and remark != ''">
  262. remark,
  263. </if>
  264. create_time
  265. )values(
  266. <if test="userId != null and userId != ''">
  267. #{userId},
  268. </if>
  269. <if test="deptId != null and deptId != ''">
  270. #{deptId},
  271. </if>
  272. <if test="userName != null and userName != ''">
  273. #{userName},
  274. </if>
  275. <if test="nickName != null and nickName != ''">
  276. #{nickName},
  277. </if>
  278. <if test="email != null and email != ''">
  279. #{email},
  280. </if>
  281. <if test="avatar != null and avatar != ''">
  282. #{avatar},
  283. </if>
  284. <if test="phonenumber != null and phonenumber != ''">
  285. #{phonenumber},
  286. </if>
  287. <if test="sex != null and sex != ''">
  288. #{sex},
  289. </if>
  290. <if test="password != null and password != ''">
  291. #{password},
  292. </if>
  293. <if test="status != null and status != ''">
  294. #{status},
  295. </if>
  296. <if test="createBy != null and createBy != ''">
  297. #{createBy},
  298. </if>
  299. <if test="remark != null and remark != ''">
  300. #{remark},
  301. </if>
  302. sysdate()
  303. )
  304. </insert>
  305. <update id="updateUser" parameterType="com.xunmei.system.api.domain.SysUser">
  306. update sys_user
  307. <set>
  308. <if test="deptId != null and deptId != 0">
  309. dept_id = #{deptId},
  310. </if>
  311. <if test="username != null and username != ''">
  312. user_name = #{username},
  313. </if>
  314. <!-- <if test="nickname != null and nickname != ''">-->
  315. <!-- nick_name = #{nickname},-->
  316. <!-- </if>-->
  317. <!-- <if test="email != null ">-->
  318. <!-- email = #{email},-->
  319. <!-- </if>-->
  320. <if test="phone != null ">
  321. phone = #{phone},
  322. </if>
  323. <if test="gender != null and gender != ''">
  324. gender = #{gender},
  325. </if>
  326. <!-- <if test="avatar != null and avatar != ''">-->
  327. <!-- avatar = #{avatar},-->
  328. <!-- </if>-->
  329. <if test="password != null and password != ''">
  330. password = #{password},
  331. </if>
  332. <!-- <if test="status != null and status != ''">-->
  333. <!-- status = #{status},-->
  334. <!-- </if>-->
  335. <!-- <if test="loginIp != null and loginIp != ''">-->
  336. <!-- login_ip = #{loginIp},-->
  337. <!-- </if>-->
  338. <!-- <if test="loginDate != null">-->
  339. <!-- login_date = #{loginDate},-->
  340. <!-- </if>-->
  341. <if test="updateBy != null and updateBy != ''">
  342. update_by = #{updateBy},
  343. </if>
  344. <!-- <if test="remark != null">-->
  345. <!-- remark = #{remark},-->
  346. <!-- </if>-->
  347. update_time = sysdate()
  348. </set>
  349. where id = #{id}
  350. </update>
  351. <update id="updateUserStatus" parameterType="com.xunmei.system.api.domain.SysUser">
  352. update sys_user
  353. set status = #{status}
  354. where user_id = #{userId}
  355. </update>
  356. <update id="updateUserAvatar" parameterType="com.xunmei.system.api.domain.SysUser">
  357. update sys_user
  358. set avatar = #{avatar}
  359. where user_name = #{userName}
  360. </update>
  361. <update id="resetUserPwd" parameterType="com.xunmei.system.api.domain.SysUser">
  362. update sys_user
  363. set password = #{password}
  364. where username = #{userName}
  365. </update>
  366. <delete id="deleteUserById" parameterType="Long">
  367. update sys_user
  368. set deleted = '2'
  369. where user_id = #{userId}
  370. </delete>
  371. <delete id="deleteUserByIds" parameterType="Long">
  372. update sys_user set deleted= '1' where id in
  373. <foreach collection="array" item="userId" open="(" separator="," close=")">
  374. #{userId}
  375. </foreach>
  376. </delete>
  377. <select id="selectSysByUserId" resultType="com.xunmei.system.api.domain.SysOrg">
  378. select *
  379. from sys_org o
  380. inner join sys_user u on o.id = u.org_id
  381. where u.id = #{userId}
  382. </select>
  383. <select id="getPage" resultType="com.xunmei.system.api.domain.SysUser">
  384. select t.* from
  385. (
  386. SELECT
  387. h.user_id AS is_manager,
  388. <!-- ur. role_names,-->
  389. <!-- ur. roleIds,-->
  390. GROUP_CONCAT(sr.role_name) role_names,
  391. CONCAT(",",GROUP_CONCAT( sr.id ),",") as roleIds,
  392. u.id,
  393. u.dept_id,
  394. u.is_lock,
  395. u.job_id,
  396. u.NAME,
  397. u.username,
  398. u.org_id,
  399. u.phone,
  400. u.create_time,
  401. u.modified_name,
  402. u.update_time,
  403. u.modified_id,
  404. u.PASSWORD,
  405. u.salt,
  406. u.deleted,
  407. u.last_ip,
  408. u.last_time,
  409. o.short_NAME AS org_name,
  410. o.path AS org_path,
  411. u.image,
  412. u.card,
  413. u.gender,
  414. u.job_number,
  415. u.note,
  416. u.is_sign,
  417. u.sign_time,
  418. u.agreement_id,
  419. u.sign_version,
  420. u.approve_status,
  421. u.locked,
  422. u.create_by,
  423. u.update_by,
  424. u.CODE,
  425. u.source,
  426. u.original_org_id,
  427. u.is_manage
  428. FROM
  429. sys_user u
  430. LEFT JOIN sys_org o ON u.original_org_id = o.id
  431. LEFT JOIN ( SELECT user_id FROM sys_user_role uo LEFT JOIN sys_role ro ON uo.role_id = ro.id WHERE ro.role_name
  432. <!-- LIKE '%安全保卫管理人员' group by user_id) h ON h.user_id = u.id-->
  433. <!-- LEFT JOIN (select sro.user_id, GROUP_CONCAT(sr.role_name) role_names,-->
  434. <!-- CONCAT(",",GROUP_CONCAT( sr.id ),",") as roleIds from sys_user_role sro-->
  435. <!-- LEFT JOIN sys_role sr on sro.role_id=sr.id) ur on ur.user_id = u.id-->
  436. LIKE '%安全保卫管理人员' ) h ON h.user_id = u.id
  437. LEFT JOIN sys_user_role sro on u.id=sro.user_id
  438. LEFT JOIN sys_role sr on sro.role_id=sr.id
  439. where 1=1
  440. and u.deleted =0
  441. <choose>
  442. <when test="info.checkSub">
  443. AND (o.path like concat('%', #{info.orgPath}, '%')
  444. <if test="info.parentOrgIds!=null and info.parentOrgIds.size()>0">
  445. or o.id in
  446. <foreach collection="info.parentOrgIds" separator="," open="(" close=")" item="orgId">
  447. #{orgId}
  448. </foreach>
  449. </if>
  450. )
  451. </when>
  452. <otherwise>
  453. AND o.id = #{info.orgId}
  454. </otherwise>
  455. </choose>
  456. <if test="info.isLock != null and info.isLock != ''">
  457. AND u.is_lock = #{info.isLock}
  458. </if>
  459. <if test="info.phone != null and info.phone != ''">
  460. AND u.phone like concat('%',concat(#{info.phone},'%'))
  461. </if>
  462. <if test="info.username != null and info.username != ''">
  463. AND u.username like concat('%', #{info.username}, '%')
  464. </if>
  465. <if test="info.name != null and info.name != ''">
  466. AND u.name like concat('%', #{info.name}, '%')
  467. </if>
  468. <if test="info.params.beginTime != null and info.params.beginTime != ''">
  469. <!-- 开始时间检索 -->
  470. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{info.params.beginTime},'%y%m%d')
  471. </if>
  472. <if test="info.params.endTime != null and info.params.endTime != ''">
  473. <!-- 结束时间检索 -->
  474. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{info.params.endTime},'%y%m%d')
  475. </if>
  476. group by u.id
  477. ) t
  478. where 1=1
  479. <if test="info.roleId != null and info.roleId != ''">
  480. AND t.roleIds like concat("%,",#{info.roleId},",%")
  481. </if>
  482. <if test="info.onlyManager ==true">
  483. AND t.is_manage ='Y'
  484. </if>
  485. <!-- <if test="info.onlyManager ==false or info.onlyManager==null">-->
  486. <!-- AND (t.is_manage is NULL OR t.is_manage ='N')-->
  487. <!-- </if>-->
  488. ORDER BY t.org_id DESC, t.id DESC
  489. </select>
  490. <select id="selectrolesByOrgId" resultType="com.xunmei.system.api.domain.SysRole">
  491. SELECT r.*
  492. FROM sys_role r
  493. LEFT JOIN sys_org o ON r.org_type = o.type
  494. WHERE 1 = 1
  495. AND o.id = #{orgId}
  496. </select>
  497. <select id="getList" resultMap="SysUserResult">
  498. SELECT
  499. u.id,
  500. u.is_manage AS is_manager,
  501. role_name,
  502. u.dept_id,
  503. u.is_lock,
  504. u.job_id,
  505. u.NAME,
  506. u.username,
  507. u.org_id,
  508. u.phone,
  509. u.create_time,
  510. u.modified_name,
  511. u.update_time,
  512. u.modified_id,
  513. u.PASSWORD,
  514. u.salt,
  515. u.deleted,
  516. u.last_ip,
  517. u.last_time,
  518. o.NAME AS org_name,
  519. o.path AS org_path,
  520. u.image,
  521. u.card,
  522. u.gender,
  523. u.job_number,
  524. u.note,
  525. u.is_sign,
  526. u.sign_time,
  527. u.agreement_id,
  528. u.sign_version,
  529. u.approve_status,
  530. u.locked,
  531. u.create_by,
  532. u.update_by,
  533. u.CODE,
  534. u.source,
  535. u.original_org_id
  536. FROM
  537. sys_user u
  538. LEFT JOIN sys_org o ON u.original_org_id = o.id
  539. LEFT JOIN ( SELECT user_id FROM sys_user_role uo LEFT JOIN sys_role ro ON uo.role_id = ro.id WHERE ro.role_name
  540. LIKE '%安全保卫管理人员' ) h ON h.user_id = u.id
  541. LEFT JOIN sys_user_role sro on u.id=sro.user_id
  542. LEFT JOIN sys_role sr on sro.role_id=sr.id
  543. where 1=1
  544. and u.deleted =0
  545. <choose>
  546. <when test="info.checkSub">
  547. AND o.path like concat('%', #{info.orgPath}, '%')
  548. </when>
  549. <otherwise>
  550. AND o.id = #{info.orgId}
  551. </otherwise>
  552. </choose>
  553. <if test="info.isLock != null and info.isLock != ''">
  554. AND u.is_lock = #{info.isLock}
  555. </if>
  556. <if test="info.phone != null and info.phone != ''">
  557. AND u.phone like concat('%',concat(#{info.phone},'%'))
  558. </if>
  559. <if test="info.username != null and info.username != ''">
  560. AND u.username like concat('%', #{info.username}, '%')
  561. </if>
  562. <if test="info.params.beginTime != null and info.params.beginTime != ''">
  563. <!-- 开始时间检索 -->
  564. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{info.params.beginTime},'%y%m%d')
  565. </if>
  566. <if test="info.params.endTime != null and info.params.endTime != ''">
  567. <!-- 结束时间检索 -->
  568. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{info.params.endTime},'%y%m%d')
  569. </if>
  570. ORDER BY u.update_time DESC
  571. </select>
  572. <select id="selectAllUser" resultType="com.xunmei.system.api.domain.SysUser">
  573. select * from
  574. sys_user where deleted=0 and is_lock =0 and locked=0
  575. <if test="userName != null and userName != ''">
  576. AND name like concat('%', #{userName}, '%')
  577. </if>
  578. </select>
  579. <select id="selectUserListByRole" resultType="com.xunmei.system.api.domain.SysUser">
  580. select a.* from sys_user a left join sys_user_role b on a.id = b.user_id where
  581. b.role_id in
  582. <foreach collection="notificationToRoles" item="role" open="(" separator="," close=")">
  583. #{role.roleId}
  584. </foreach>
  585. </select>
  586. <select id="selectUserListByRoleAndOrg" resultType="com.xunmei.system.api.domain.SysUser">
  587. SELECT DISTINCT a.*
  588. FROM sys_user a
  589. LEFT JOIN sys_org b ON a.org_id = b.id
  590. LEFT JOIN sys_user_role c ON c.user_id = a.id
  591. LEFT JOIN sys_role d ON d.id = c.role_id
  592. WHERE a.deleted = 0
  593. AND d.del_flag = 0
  594. AND b.id = #{sysRoleOrgDTO.orgId}
  595. AND d.id IN (SELECT role_id FROM core_resumption_plan_to_role WHERE plan_id = #{sysRoleOrgDTO.planId})
  596. </select>
  597. <select id="select" resultType="com.xunmei.system.util.UserExport">
  598. SELECT
  599. # h.user_id AS is_manager,
  600. GROUP_CONCAT(sr.role_name) role_names,
  601. CONCAT(',',GROUP_CONCAT( sr.id ),',') as roleIds,
  602. u.id,
  603. u.dept_id,
  604. u.is_lock,
  605. u.job_id,
  606. u.NAME,
  607. u.username,
  608. u.org_id,
  609. u.phone,
  610. u.create_time,
  611. u.modified_name,
  612. u.update_time,
  613. u.modified_id,
  614. u.PASSWORD,
  615. u.salt,
  616. u.deleted,
  617. u.last_ip,
  618. u.last_time,
  619. o.NAME AS org_name,
  620. o.path AS org_path,
  621. u.image,
  622. u.card,
  623. u.gender,
  624. u.job_number,
  625. u.note,
  626. u.is_sign,
  627. u.sign_time,
  628. u.agreement_id,
  629. u.sign_version,
  630. u.approve_status,
  631. u.locked,
  632. u.create_by,
  633. u.update_by,
  634. u.CODE,
  635. u.source,
  636. u.original_org_id,
  637. u.is_manage as is_manager
  638. FROM
  639. sys_user u
  640. LEFT JOIN sys_org o ON u.original_org_id = o.id
  641. LEFT JOIN ( SELECT user_id FROM sys_user_role uo LEFT JOIN sys_role ro ON uo.role_id = ro.id WHERE ro.role_name
  642. LIKE '%安全保卫管理人员' ) h ON h.user_id = u.id
  643. LEFT JOIN sys_user_role sro on u.id=sro.user_id
  644. LEFT JOIN sys_role sr on sro.role_id=sr.id
  645. where 1=1
  646. and u.deleted =0
  647. <choose>
  648. <when test="info.checkSub">
  649. AND o.path like concat('%', #{info.orgPath}, '%')
  650. </when>
  651. <otherwise>
  652. AND o.id = #{info.orgId}
  653. </otherwise>
  654. </choose>
  655. <if test="info.isLock != null and info.isLock != ''">
  656. AND u.is_lock = #{info.isLock}
  657. </if>
  658. <if test="info.phone != null and info.phone != ''">
  659. AND u.phone like concat('%',concat(#{info.phone},'%'))
  660. </if>
  661. <if test="info.username != null and info.username != ''">
  662. AND u.username like concat('%', #{info.username}, '%')
  663. </if>
  664. <if test="info.name != null and info.name != ''">
  665. AND u.name like concat('%', #{info.name}, '%')
  666. </if>
  667. <if test="info.roleId != null and info.roleId != ''">
  668. AND sr.id =#{info.roleId}
  669. </if>
  670. <if test="info.onlyManager ==true">
  671. AND u.is_manage ='Y'
  672. </if>
  673. <if test="info.params.beginTime != null and info.params.beginTime != ''">
  674. <!-- 开始时间检索 -->
  675. AND date_format(u.create_time,'%y%m%d') &gt;= date_format(#{info.params.beginTime},'%y%m%d')
  676. </if>
  677. <if test="info.params.endTime != null and info.params.endTime != ''">
  678. <!-- 结束时间检索 -->
  679. AND date_format(u.create_time,'%y%m%d') &lt;= date_format(#{info.params.endTime},'%y%m%d')
  680. </if>
  681. group by u.id
  682. </select>
  683. <select id="selectCountByNames" resultType="java.lang.String">
  684. select u.name from sys_user u where u.deleted=0 and u.name in
  685. <foreach collection="names" item="name" open="(" separator="," close=")">
  686. #{name}
  687. </foreach>
  688. </select>
  689. <select id="selectSecurityUser" resultType="com.xunmei.system.util.SecurityUserExport">
  690. SELECT c.id AS orgId,
  691. c.short_name AS orgName,
  692. b.`name` AS name,
  693. IFNULL(b.gender, 2) AS gender,
  694. b.card AS card,
  695. TIMESTAMPDIFF(YEAR, a.born_time, NOW()) AS age,
  696. a.dept_id AS departmentName,
  697. a.duties AS nowDuties,
  698. a.is_full_time AS isFullTime,
  699. a.work_type AS workType,
  700. a.entry_time AS entryTime,
  701. TIMESTAMPDIFF(MONTH, a.work_time, NOW()) AS workDuration,
  702. a.highest_education AS highestEducation,
  703. a.education_type AS educationType,
  704. a.professional_qualifications AS professionalQualifications,
  705. a.certificate_work AS certificateWork,
  706. a.certificate_fail_reason AS certificateFailReason,
  707. a.responsibilities_leader_name AS responsibilitiesLeaderName,
  708. a.responsibilities_leader_duties AS responsibilitiesLeaderDuties
  709. FROM sys_user_information a
  710. LEFT JOIN sys_user b ON a.user_id = b.id
  711. LEFT JOIN sys_org c ON c.id = b.org_id
  712. WHERE b.deleted = 0
  713. and c.path like concat(#{path}, '%')
  714. </select>
  715. </mapper>