SysUserMapper.xml 81 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.ydtech.modules.admin.dao.SysUserMapper">
  4. <resultMap id="sysUserMap" type="com.ydtech.modules.admin.model.SysUser">
  5. <id column="id" jdbcType="VARCHAR" property="id"/>
  6. <result column="name" jdbcType="VARCHAR" property="name"/>
  7. <result column="mobile" jdbcType="VARCHAR" property="mobile"/>
  8. <result column="status" jdbcType="VARCHAR" property="status"/>
  9. <result column="identity" jdbcType="VARCHAR" property="identity"/>
  10. <result column="dept_id" jdbcType="VARCHAR" property="deptId"/>
  11. <result column="openid" jdbcType="VARCHAR" property="openid"/>
  12. <result column="role_id" jdbcType="VARCHAR" property="roleId"/>
  13. <result column="role_name" jdbcType="VARCHAR" property="roleName"/>
  14. <result column="dept_name" jdbcType="VARCHAR" property="deptName"/>
  15. <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
  16. <result column="create_by" jdbcType="VARCHAR" property="createBy"/>
  17. <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
  18. <result column="update_by" jdbcType="TIMESTAMP" property="updateBy"/>
  19. </resultMap>
  20. <sql id="Sys_User_Column_List">
  21. su
  22. .
  23. id
  24. ,
  25. su.name,
  26. su.mobile,
  27. su.status,
  28. su.openid,
  29. su.identity,
  30. su.dept_id,
  31. su.create_by,
  32. su.create_time,
  33. su.update_by,
  34. su.update_time,
  35. sur.role_id,
  36. sr.name as role_name,
  37. sd.name as dept_name,
  38. su.create_time,
  39. su.create_by,
  40. su.update_time,
  41. su.update_by
  42. from sys_user su
  43. left join sys_user_role sur on su.id = sur.user_id
  44. left join sys_role sr on sur.role_id = sr.id
  45. left join sys_dept sd on su.dept_id = sd.id
  46. </sql>
  47. <sql id="Sys_User_Where_Clause">
  48. <where>
  49. <if test="sysUser.name != null &amp;&amp; sysUser.name != ''">
  50. and su.name = #{sysUser.name}
  51. </if>
  52. <if test="sysUser.mobile != null &amp;&amp; sysUser.mobile != ''">
  53. and su.mobile = #{sysUser.mobile}
  54. </if>
  55. <if test="sysUser.roleId != null &amp;&amp; sysUser.roleId != ''">
  56. and sur.role_id = #{sysUser.roleId}
  57. </if>
  58. <if test="sysUser.status != null">
  59. and su.status = #{sysUser.status}
  60. </if>
  61. <if test="containsSubDept != null &amp;&amp; containsSubDept == 0">
  62. and su.dept_id = #{sysUser.deptId}
  63. </if>
  64. <if test="containsSubDept != null &amp;&amp; containsSubDept == 1">
  65. <!-- 查询子部门 -->
  66. and su.dept_id like concat('%',#{sysUser.deptId},'%')
  67. </if>
  68. </where>
  69. </sql>
  70. <sql id="Sys_User_Where_Clause_deptName">
  71. <where>
  72. <if test="sysUser.name != null &amp;&amp; sysUser.name != ''">
  73. and su.name = #{sysUser.name}
  74. </if>
  75. <if test="sysUser.mobile != null &amp;&amp; sysUser.mobile != ''">
  76. and su.mobile = #{sysUser.mobile}
  77. </if>
  78. <if test="sysUser.roleId != null &amp;&amp; sysUser.roleId != ''">
  79. and sur.role_id = #{sysUser.roleId}
  80. </if>
  81. <if test="sysUser.status != null">
  82. and su.status = #{sysUser.status}
  83. </if>
  84. <if test="sysUser.deptName != null &amp;&amp; sysUser.deptName != ''">
  85. and sd.name like concat('%',#{sysUser.deptName},'%')
  86. </if>
  87. </where>
  88. </sql>
  89. <select id="selectUserPage" resultMap="sysUserMap">
  90. select
  91. <include refid="Sys_User_Column_List"/>
  92. <if test="sysUser.deptName == null || sysUser.deptName == ''">
  93. <include refid="Sys_User_Where_Clause"></include>
  94. </if>
  95. <if test="sysUser.deptName != null &amp;&amp; sysUser.deptName != ''">
  96. <include refid="Sys_User_Where_Clause_deptName"></include>
  97. </if>
  98. </select>
  99. <select id="gainUserBaseInfo" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  100. select
  101. su.id as userId,
  102. su.name,
  103. info.sex,
  104. su.mobile,
  105. su.status,
  106. sd.id as deptId,
  107. sd.name as deptName,
  108. psd.id as pDeptId,
  109. psd.name as pDeptName,
  110. t4.id as roleId,
  111. t4.name as roleName,
  112. (select approve_by from sys_user_track where user_id = su.id ORDER BY approve_time desc LIMIT 1) as approveBy,
  113. (select approve_time from sys_user_track where user_id = su.id ORDER BY approve_time desc LIMIT 1) as
  114. approveTime,
  115. (select id from sys_dept where id = psd.parent_id ) as levelFourDeptId,
  116. (select name from sys_dept where id = psd.parent_id) as levelFourDeptName
  117. from sys_user su
  118. left join sys_dept sd on su.dept_id=sd.id
  119. left join sys_dept psd on sd.parent_id=psd.id
  120. left join sys_user_info info on info.id=su.id
  121. left join sys_user_role t3 on su.id=t3.user_id
  122. left join sys_role t4 on t3.role_id=t4.id
  123. where 1=1
  124. AND sd.id &lt;&gt; ''
  125. <if test='user !=null '>
  126. <if test='user.status !=null and user.status!="" '>
  127. and su.status = #{user.status}
  128. </if>
  129. <if test='user.name !=null and user.name!="" '>
  130. and su.name like concat('%',#{user.name},'%')
  131. </if>
  132. <if test='user.userId !=null and user.userId!="" '>
  133. and su.id = #{user.userId}
  134. </if>
  135. <if test='user.mobile !=null and user.mobile!="" '>
  136. and su.mobile = #{user.mobile}
  137. </if>
  138. <if test='user.deptId !=null and user.deptId!="" '>
  139. and su.dept_id like concat('%',#{user.deptId},'%')
  140. </if>
  141. <if test='user.roleId !=null and user.roleId!="" '>
  142. and t3.role_id in (${user.roleId})
  143. </if>
  144. </if>
  145. </select>
  146. <select id="findUserList" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  147. SELECT
  148. su.id as userId,
  149. su.name,
  150. info.sex,
  151. su.mobile,
  152. su.status,
  153. su.type,
  154. su.level,
  155. su.referrer_id as referrerId,
  156. sd.id as deptId,
  157. sd.name as deptName,
  158. t4.id as roleId,
  159. t4.name as roleName,
  160. sd.management_source,
  161. psd.id as pDeptId,
  162. psd.name as pDeptName,
  163. su.create_time as submitTime,
  164. (select approve_by from sys_user_track where user_id = su.id ORDER BY approve_time desc LIMIT 1) as approveBy,
  165. (select approve_time from sys_user_track where user_id = su.id ORDER BY approve_time desc LIMIT 1) as
  166. approveTime
  167. FROM
  168. sys_user su
  169. LEFT JOIN sys_user_info info ON info.id = su.id
  170. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  171. left join sys_dept psd on psd.id = sd.parent_id
  172. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  173. LEFT JOIN sys_role t4 ON t3.role_id = t4.id
  174. AND sd.del_flag = '0'
  175. WHERE
  176. 1=1
  177. <if test='user !=null '>
  178. <if test='user.status !=null and user.status!="" '>
  179. and su.status = #{user.status}
  180. </if>
  181. <if test='user.examine != 0'>
  182. and su.status not in (0,1)
  183. </if>
  184. <if test='user.name !=null and user.name!="" '>
  185. and su.name like concat('%',#{user.name},'%')
  186. </if>
  187. <if test='user.userId !=null and user.userId!="" '>
  188. and su.id = #{user.userId}
  189. </if>
  190. <if test='user.mobile !=null and user.mobile!="" '>
  191. and su.mobile = #{user.mobile}
  192. </if>
  193. <if test='user.deptId !=null and user.deptId!="" '>
  194. and su.dept_id like concat('%',#{user.deptId},'%')
  195. </if>
  196. <if test='user.leaderName !=null and user.leaderName!="" '>
  197. and su.leader_name like concat('%',#{user.leaderName},'%')
  198. </if>
  199. <if test='user.roleId !=null and user.roleId!="" '>
  200. and t3.role_id in (${user.roleId})
  201. </if>
  202. <if test="user.agentFlag !=null and user.agentFlag != 0 ">
  203. and sd.management_source = #{user.agentFlag}
  204. </if>
  205. <if test="user.agentFlag != null and user.agentFlag == 0">
  206. and sd.management_source is null
  207. </if>
  208. </if>
  209. order by su.create_time desc
  210. </select>
  211. <select id="findAllUserList" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  212. SELECT
  213. su.id as userId,
  214. su.name,
  215. info.sex,
  216. su.mobile,
  217. su.status,
  218. sd.id as deptId,
  219. sd.name as deptName,
  220. t4.id as roleId,
  221. t4.name as roleName,
  222. sd.management_source,
  223. psd.id as pDeptId,
  224. psd.name as pDeptName
  225. FROM
  226. sys_user su
  227. LEFT JOIN sys_user_info info ON info.id = su.id
  228. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  229. left join sys_dept psd on psd.id = sd.parent_id
  230. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  231. LEFT JOIN sys_role t4 ON t3.role_id = t4.id
  232. AND sd.del_flag = '0'
  233. WHERE
  234. 1=1
  235. <if test='user !=null '>
  236. <if test='user.status !=null and user.status!="" '>
  237. and su.status = #{user.status}
  238. </if>
  239. <if test='user.name !=null and user.name!="" '>
  240. and su.name like concat('%',#{user.name},'%')
  241. </if>
  242. <if test='user.userId !=null and user.userId!="" '>
  243. and su.id = #{user.userId}
  244. </if>
  245. <if test='user.mobile !=null and user.mobile!="" '>
  246. and su.mobile = #{user.mobile}
  247. </if>
  248. <if test='user.deptId !=null and user.deptId!="" '>
  249. and su.dept_id like concat('%',#{user.deptId},'%')
  250. </if>
  251. <if test='user.leaderName !=null and user.leaderName!="" '>
  252. and su.leader_name like concat('%',#{user.leaderName},'%')
  253. </if>
  254. <if test='user.roleId !=null and user.roleId!="" '>
  255. and t3.role_id in (${user.roleId})
  256. </if>
  257. </if>
  258. </select>
  259. <select id="findBackUserList" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  260. SELECT
  261. su.id as userId,
  262. su.name,
  263. su.position_name,
  264. info.sex,
  265. su.mobile,
  266. su.status,
  267. su.type,
  268. su.level,
  269. su.referrer_id as referrerId,
  270. sd.id as deptId,
  271. sd.name as deptName,
  272. t4.id as roleId,
  273. t4.name as roleName,
  274. sd.management_source,
  275. psd.id as pDeptId,
  276. psd.name as pDeptName,
  277. su.create_time as submitTime,
  278. (select approve_by from sys_user_track where user_id = su.id ORDER BY approve_time desc LIMIT 1) as approveBy,
  279. (select approve_time from sys_user_track where user_id = su.id ORDER BY approve_time desc LIMIT 1) as
  280. approveTime
  281. FROM
  282. sys_user su
  283. LEFT JOIN sys_user_info info ON info.id = su.id
  284. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  285. left join sys_dept psd on psd.id = sd.parent_id
  286. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  287. LEFT JOIN sys_role t4 ON t3.role_id = t4.id
  288. AND sd.del_flag = '0'
  289. WHERE
  290. 1=1
  291. <if test='user !=null '>
  292. <if test='user.status !=null and user.status!="" '>
  293. and su.status = #{user.status}
  294. </if>
  295. <if test='user.examine != 0'>
  296. and su.status not in (0,1)
  297. </if>
  298. <if test='user.name !=null and user.name!="" '>
  299. and su.name like concat('%',#{user.name},'%')
  300. </if>
  301. <if test='user.userId !=null and user.userId!="" '>
  302. and su.id = #{user.userId}
  303. </if>
  304. <if test='user.mobile !=null and user.mobile!="" '>
  305. and su.mobile = #{user.mobile}
  306. </if>
  307. <if test='user.deptId !=null and user.deptId!="" '>
  308. and su.dept_id like concat('%',#{user.deptId},'%')
  309. </if>
  310. <if test='user.leaderName !=null and user.leaderName!="" '>
  311. and su.leader_name like concat('%',#{user.leaderName},'%')
  312. </if>
  313. <if test="user.agentFlag !=null and user.agentFlag != 0 ">
  314. and sd.management_source = #{user.agentFlag}
  315. </if>
  316. <if test="user.agentFlag != null and user.agentFlag == 0">
  317. and sd.management_source is null
  318. </if>
  319. and su.id NOT LIKE '%M%'
  320. </if>
  321. order by su.create_time desc
  322. </select>
  323. <select id="findBackUserList1" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  324. SELECT
  325. su.id as userId,
  326. su.name,
  327. su.position_name,
  328. info.sex,
  329. su.mobile,
  330. su.status,
  331. sd.id as deptId,
  332. sd.name as deptName,
  333. t4.id as roleId,
  334. t4.name as roleName,
  335. sd.management_source,
  336. psd.id as pDeptId,
  337. psd.name as pDeptName
  338. FROM
  339. sys_user su
  340. LEFT JOIN sys_user_info info ON info.id = su.id
  341. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  342. left join sys_dept psd on psd.id = sd.parent_id
  343. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  344. LEFT JOIN sys_role t4 ON t3.role_id = t4.id
  345. AND sd.del_flag = '0'
  346. WHERE
  347. 1=1
  348. and su.status = '1'
  349. <if test='user !=null '>
  350. <if test='user.name !=null and user.name!="" '>
  351. and su.name like concat('%',#{user.name},'%')
  352. </if>
  353. <if test='user.userId !=null and user.userId!="" '>
  354. and su.id = #{user.userId}
  355. </if>
  356. <if test='user.mobile !=null and user.mobile!="" '>
  357. and su.mobile = #{user.mobile}
  358. </if>
  359. <if test='user.deptId !=null and user.deptId!="" '>
  360. and su.dept_id like concat('%',#{user.deptId},'%')
  361. </if>
  362. <if test='user.leaderName !=null and user.leaderName!="" '>
  363. and su.leader_name like concat('%',#{user.leaderName},'%')
  364. </if>
  365. <if test="user.agentFlag !=null and user.agentFlag != 0 ">
  366. and sd.management_source = #{user.agentFlag}
  367. </if>
  368. <if test="user.agentFlag != null and user.agentFlag == 0">
  369. and sd.management_source is null
  370. </if>
  371. and su.id NOT LIKE '%M%'
  372. </if>
  373. </select>
  374. <resultMap id="QuTeamNumMap" type="com.ydtech.modules.admin.model.QuTeamNum">
  375. <id column="id" javaType="String" jdbcType="VARCHAR" property="deptId"/>
  376. <result column="name" javaType="String" jdbcType="VARCHAR" property="deptName"/>
  377. <result column="orderstatus" javaType="String" jdbcType="VARCHAR" property="orderStatus"/>
  378. <result column="companyId" javaType="String" jdbcType="VARCHAR" property="companyId"/>
  379. <result column="insCompany" javaType="String" jdbcType="VARCHAR" property="insCompany"/>
  380. <result column="count" javaType="String" jdbcType="VARCHAR" property="count"/>
  381. <result column="jqpremium" javaType="String" jdbcType="VARCHAR" property="jqPremiumSum"/>
  382. <result column="sypremium" javaType="String" jdbcType="VARCHAR" property="syPremiumSum"/>
  383. <result column="taxamount" javaType="String" jdbcType="VARCHAR" property="taxaMountSum"/>
  384. </resultMap>
  385. <select id="getDept" resultMap="QuTeamNumMap">
  386. SELECT
  387. sd.id,
  388. sd.name,
  389. i.orderstatus,
  390. i.count,
  391. i.jqpremium,
  392. i.sypremium,
  393. i.taxamount
  394. FROM
  395. sys_dept sd
  396. LEFT JOIN (
  397. SELECT
  398. io.deptid AS deptid,
  399. iac.orderstatus AS orderstatus,
  400. count(*) AS count,
  401. sum( iac.jqpremium ) AS jqpremium,
  402. sum( iac.sypremium ) AS sypremium,
  403. sum( iac.taxamount ) AS taxamount
  404. FROM
  405. ins_orders io
  406. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  407. WHERE
  408. iac.orderstatus in (1,2,3)
  409. <if test="quTeamNumDto.createTimeStart != null">
  410. and io.createtime &gt;= #{quTeamNumDto.createTimeStart}
  411. </if>
  412. <if test="quTeamNumDto.createTimeEnd != null">
  413. and io.createtime &lt;= #{quTeamNumDto.createTimeEnd}
  414. </if>
  415. GROUP BY
  416. iac.orderstatus,
  417. io.userid,
  418. io.deptid
  419. ) AS i ON i.deptid = sd.id
  420. WHERE
  421. sd.del_flag = 0
  422. <if test="quTeamNumDto.deptId != null and quTeamNumDto.deptId != ''">
  423. and sd.id like concat(#{quTeamNumDto.deptId},'%')
  424. </if>
  425. <if test="quTeamNumDto.deptName != null and quTeamNumDto.deptName != ''">
  426. and sd.name like concat(#{quTeamNumDto.deptName},'%')
  427. </if>
  428. </select>
  429. <select id="getDeptByCompany" resultMap="QuTeamNumMap">
  430. SELECT
  431. iac.company_id as companyId,
  432. iac.inscompany as insCompany,
  433. COUNT(*) AS quoteNum,
  434. SUM(CASE WHEN iac.orderstatus = 2 THEN 1 ELSE 0 END + CASE WHEN iac.orderstatus = 1 THEN 1 ELSE 0 END) AS
  435. submitNum,
  436. SUM(CASE WHEN iac.orderstatus = 3 THEN 1 ELSE 0 END) AS hasInsuredNum,
  437. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END) AS jqpremium,
  438. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.sypremium ELSE 0 END) AS sypremium,
  439. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.taxamount ELSE 0 END) AS taxamount,
  440. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END + CASE WHEN iac.orderstatus = 3 THEN
  441. iac.sypremium ELSE 0 END) AS totalSumpremium
  442. FROM
  443. ins_orders io
  444. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  445. WHERE
  446. iac.orderstatus IN ( 1, 2, 3 )
  447. <if test="quTeamNumDto.deptId != null and quTeamNumDto.deptId != ''">
  448. and io.deptid = #{quTeamNumDto.deptId}
  449. </if>
  450. GROUP BY
  451. iac.company_id,
  452. iac.inscompany
  453. </select>
  454. <resultMap id="QuUserNumMap" type="com.ydtech.modules.admin.model.QuTeamNum">
  455. <id column="id" javaType="String" jdbcType="VARCHAR" property="userId"/>
  456. <result column="name" javaType="String" jdbcType="VARCHAR" property="userName"/>
  457. <result column="orderstatus" javaType="String" jdbcType="VARCHAR" property="orderStatus"/>
  458. <result column="count" javaType="String" jdbcType="VARCHAR" property="count"/>
  459. <result column="jqpremium" javaType="String" jdbcType="VARCHAR" property="jqPremiumSum"/>
  460. <result column="sypremium" javaType="String" jdbcType="VARCHAR" property="syPremiumSum"/>
  461. <result column="taxamount" javaType="String" jdbcType="VARCHAR" property="taxaMountSum"/>
  462. </resultMap>
  463. <select id="getUser" resultMap="QuUserNumMap">
  464. SELECT
  465. su.id,
  466. su.name,
  467. i.orderstatus,
  468. i.count,
  469. i.jqpremium,
  470. i.sypremium,
  471. i.taxamount
  472. FROM
  473. sys_user su
  474. LEFT JOIN (
  475. SELECT
  476. io.userid AS userid,
  477. iac.orderstatus AS orderstatus,
  478. count(*) AS count,
  479. sum( iac.jqpremium ) AS jqpremium,
  480. sum( iac.sypremium ) AS sypremium,
  481. sum( iac.taxamount ) AS taxamount
  482. FROM
  483. ins_orders io
  484. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  485. WHERE
  486. iac.orderstatus in (1,2,3)
  487. <if test="quTeamNumDto.createTimeStart != null">
  488. and io.createtime &gt;= #{quTeamNumDto.createTimeStart}
  489. </if>
  490. <if test="quTeamNumDto.createTimeEnd != null">
  491. and io.createtime &lt;= #{quTeamNumDto.createTimeEnd}
  492. </if>
  493. GROUP BY
  494. iac.orderstatus,
  495. io.userid
  496. ) AS i ON i.userid = su.id
  497. WHERE
  498. su.status = 1
  499. <if test="quTeamNumDto.deptId != null and quTeamNumDto.deptId != ''">
  500. and su.dept_id like concat(#{quTeamNumDto.deptId},'%')
  501. </if>
  502. <if test="quTeamNumDto.userName != null and quTeamNumDto.userName != ''">
  503. and su.name like concat(#{quTeamNumDto.userName},'%')
  504. </if>
  505. </select>
  506. <select id="findListByDeptId" resultType="com.ydtech.modules.admin.model.vo.SysUserVO">
  507. SELECT
  508. su.id,
  509. su.name
  510. FROM
  511. sys_user su
  512. WHERE
  513. su.status = 1
  514. <if test="sysUser.deptId != null and sysUser.deptId != ''">
  515. and su.dept_id = #{sysUser.deptId}
  516. </if>
  517. <if test="sysUser.id != null and sysUser.id != ''">
  518. and su.id != #{sysUser.id}
  519. </if>
  520. </select>
  521. <select id="findListByDeptIdNew" resultType="com.ydtech.modules.admin.model.vo.SysUserVO">
  522. SELECT
  523. su.id,
  524. su.name
  525. FROM
  526. sys_user su
  527. WHERE
  528. su.status = 1
  529. <if test="sysUser.deptId != null and sysUser.deptId != ''">
  530. and su.id like concat('%',#{sysUser.deptId},'%')
  531. </if>
  532. <if test="sysUser.id != null and sysUser.id != ''">
  533. and su.id != #{sysUser.id}
  534. </if>
  535. </select>
  536. <select id="getUserNum" resultType="com.ydtech.modules.admin.model.QuUserNum">
  537. SELECT
  538. SUBSTRING(io.userid, 3, #{quUserNumDto.grouping}) AS areacode,
  539. COUNT(*) AS quoteNum,
  540. SUM(CASE WHEN iac.orderstatus = 2 THEN 1 ELSE 0 END + CASE WHEN iac.orderstatus = 1 THEN 1 ELSE 0 END) AS
  541. submitNum,
  542. SUM(CASE WHEN iac.orderstatus = 3 THEN 1 ELSE 0 END) AS hasInsuredNum,
  543. SUM(CASE WHEN iac.orderstatus = 1 THEN 1 ELSE 0 END) AS subWaitAuditSum,
  544. SUM(CASE WHEN iac.orderstatus = 2 THEN 1 ELSE 0 END) AS subWaitPaySum,
  545. SUM(CASE WHEN iac.orderstatus = 3 THEN 1 ELSE 0 END) AS subAcceptInsuranceSum,
  546. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END) AS jqpremiumsum,
  547. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.sypremium ELSE 0 END) AS sypremiumsum,
  548. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.taxamount ELSE 0 END) AS taxamountsum,
  549. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END + CASE WHEN iac.orderstatus = 3 THEN
  550. iac.sypremium ELSE 0 END) AS totalSumpremium
  551. FROM
  552. ins_orders io
  553. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  554. WHERE
  555. iac.orderstatus IN ( 0 ,1, 2, 3, 4 )
  556. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  557. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  558. </if>
  559. <if test="quUserNumDto.userIds != null">
  560. and io.userid IN
  561. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  562. #{id}
  563. </foreach>
  564. </if>
  565. GROUP BY
  566. SUBSTRING(io.userid, 3, #{quUserNumDto.grouping})
  567. </select>
  568. <select id="getMainWaitAuditSum" resultType="com.ydtech.modules.admin.model.QuUserNum">
  569. SELECT
  570. SUBSTRING(io.userid, 3, #{quUserNumDto.grouping}) AS areacode,
  571. SUM(CASE WHEN io.orderstatus = 1 THEN 1 ELSE 0 END) AS mainWaitAuditSum
  572. FROM
  573. ins_orders io
  574. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  575. WHERE
  576. iac.orderstatus IN (1)
  577. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  578. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  579. </if>
  580. <if test="quUserNumDto.userIds != null">
  581. and io.userid IN
  582. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  583. #{id}
  584. </foreach>
  585. </if>
  586. GROUP BY
  587. SUBSTRING(io.userid, 3, #{quUserNumDto.grouping})
  588. </select>
  589. <select id="getMainWaitPaySum" resultType="com.ydtech.modules.admin.model.QuUserNum">
  590. SELECT
  591. SUBSTRING(io.userid, 3, #{quUserNumDto.grouping}) AS areacode,
  592. SUM(CASE WHEN io.orderstatus = 2 THEN 1 ELSE 0 END) AS mainWaitPaySum
  593. FROM
  594. ins_orders io
  595. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  596. WHERE
  597. iac.orderstatus IN (2)
  598. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  599. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  600. </if>
  601. <if test="quUserNumDto.userIds != null">
  602. and io.userid IN
  603. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  604. #{id}
  605. </foreach>
  606. </if>
  607. GROUP BY
  608. SUBSTRING(io.userid, 3, #{quUserNumDto.grouping})
  609. </select>
  610. <select id="getMainAcceptInsuranceSum" resultType="com.ydtech.modules.admin.model.QuUserNum">
  611. SELECT
  612. SUBSTRING(io.userid, 3, #{quUserNumDto.grouping}) AS areacode,
  613. SUM(CASE WHEN io.orderstatus = 3 THEN 1 ELSE 0 END) AS mainAcceptInsuranceSum
  614. FROM
  615. ins_orders io
  616. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  617. WHERE
  618. iac.orderstatus IN (3)
  619. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  620. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  621. </if>
  622. <if test="quUserNumDto.userIds != null">
  623. and io.userid IN
  624. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  625. #{id}
  626. </foreach>
  627. </if>
  628. GROUP BY
  629. SUBSTRING(io.userid, 3, #{quUserNumDto.grouping})
  630. </select>
  631. <select id="getUserByCompany" resultType="com.ydtech.modules.admin.model.QuUserNum">
  632. SELECT
  633. iac.company_id as companyId,
  634. iac.inscompany as insCompany,
  635. COUNT(*) AS quoteNum,
  636. SUM(CASE WHEN iac.orderstatus = 2 THEN 1 ELSE 0 END + CASE WHEN iac.orderstatus = 1 THEN 1 ELSE 0 END) AS
  637. submitNum,
  638. SUM(CASE WHEN iac.orderstatus = 3 THEN 1 ELSE 0 END) AS hasInsuredNum,
  639. SUM(CASE WHEN iac.orderstatus = 1 THEN 1 ELSE 0 END) AS subWaitAuditSum,
  640. SUM(CASE WHEN iac.orderstatus = 2 THEN 1 ELSE 0 END) AS subWaitPaySum,
  641. SUM(CASE WHEN iac.orderstatus = 3 THEN 1 ELSE 0 END) AS subAcceptInsuranceSum,
  642. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END) AS jqpremiumsum,
  643. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.sypremium ELSE 0 END) AS sypremiumsum,
  644. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.taxamount ELSE 0 END) AS taxamountsum,
  645. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END + CASE WHEN iac.orderstatus = 3 THEN
  646. iac.sypremium ELSE 0 END) AS totalSumpremium
  647. FROM
  648. ins_orders io
  649. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  650. WHERE
  651. iac.orderstatus IN ( 0, 1, 2, 3, 4 )
  652. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  653. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  654. </if>
  655. <if test="quUserNumDto.userIds != null">
  656. and io.userid IN
  657. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  658. #{id}
  659. </foreach>
  660. </if>
  661. GROUP BY
  662. iac.company_id,
  663. iac.inscompany
  664. </select>
  665. <select id="getComMainWaitAuditSum" resultType="com.ydtech.modules.admin.model.QuUserNum">
  666. SELECT
  667. iac.company_id as companyId,
  668. iac.inscompany as insCompany,
  669. SUM(CASE WHEN io.orderstatus = 1 THEN 1 ELSE 0 END) AS mainWaitAuditSum
  670. FROM
  671. ins_orders io
  672. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  673. WHERE
  674. iac.orderstatus IN (1)
  675. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  676. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  677. </if>
  678. <if test="quUserNumDto.userIds != null">
  679. and io.userid IN
  680. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  681. #{id}
  682. </foreach>
  683. </if>
  684. GROUP BY
  685. iac.company_id,
  686. iac.inscompany
  687. </select>
  688. <select id="getComMainWaitPaySum" resultType="com.ydtech.modules.admin.model.QuUserNum">
  689. SELECT
  690. iac.company_id as companyId,
  691. iac.inscompany as insCompany,
  692. SUM(CASE WHEN io.orderstatus = 2 THEN 1 ELSE 0 END) AS mainWaitPaySum
  693. FROM
  694. ins_orders io
  695. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  696. WHERE
  697. iac.orderstatus IN (2)
  698. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  699. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  700. </if>
  701. <if test="quUserNumDto.userIds != null">
  702. and io.userid IN
  703. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  704. #{id}
  705. </foreach>
  706. </if>
  707. GROUP BY
  708. iac.company_id,
  709. iac.inscompany
  710. </select>
  711. <select id="getComMainAcceptInsuranceSum" resultType="com.ydtech.modules.admin.model.QuUserNum">
  712. SELECT
  713. iac.company_id as companyId,
  714. iac.inscompany as insCompany,
  715. SUM(CASE WHEN io.orderstatus = 3 THEN 1 ELSE 0 END) AS mainAcceptInsuranceSum
  716. FROM
  717. ins_orders io
  718. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  719. WHERE
  720. iac.orderstatus IN (3)
  721. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  722. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  723. </if>
  724. <if test="quUserNumDto.userIds != null">
  725. and io.userid IN
  726. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  727. #{id}
  728. </foreach>
  729. </if>
  730. GROUP BY
  731. iac.company_id,
  732. iac.inscompany
  733. </select>
  734. <select id="getUserDetail" resultType="com.ydtech.modules.admin.model.QuUserNum">
  735. SELECT
  736. io.userid,
  737. io.username,
  738. COUNT(*) AS quoteNum,
  739. SUM(CASE WHEN iac.orderstatus = 2 THEN 1 ELSE 0 END + CASE WHEN iac.orderstatus = 1 THEN 1 ELSE 0 END) AS
  740. submitNum,
  741. SUM(CASE WHEN iac.orderstatus = 3 THEN 1 ELSE 0 END) AS hasInsuredNum,
  742. SUM(CASE WHEN iac.orderstatus = 1 THEN 1 ELSE 0 END) AS subWaitAuditSum,
  743. SUM(CASE WHEN iac.orderstatus = 2 THEN 1 ELSE 0 END) AS subWaitPaySum,
  744. SUM(CASE WHEN iac.orderstatus = 3 THEN 1 ELSE 0 END) AS subAcceptInsuranceSum,
  745. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END) AS jqpremiumsum,
  746. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.sypremium ELSE 0 END) AS sypremiumsum,
  747. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.taxamount ELSE 0 END) AS taxamountsum,
  748. SUM(CASE WHEN iac.orderstatus = 3 THEN iac.jqpremium ELSE 0 END + CASE WHEN iac.orderstatus = 3 THEN
  749. iac.sypremium ELSE 0 END) AS totalSumpremium
  750. FROM
  751. ins_orders io
  752. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  753. WHERE
  754. iac.orderstatus IN ( 0 ,1, 2, 3, 4 )
  755. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  756. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  757. </if>
  758. <if test="quUserNumDto.userIds != null">
  759. and io.userid IN
  760. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  761. #{id}
  762. </foreach>
  763. </if>
  764. GROUP BY
  765. io.userid,
  766. io.username
  767. </select>
  768. <select id="getUserMainWaitAuditSum" resultType="com.ydtech.modules.admin.model.QuUserNum">
  769. SELECT
  770. io.userid,
  771. io.username,
  772. SUM(CASE WHEN io.orderstatus = 1 THEN 1 ELSE 0 END) AS mainWaitAuditSum
  773. FROM
  774. ins_orders io
  775. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  776. WHERE
  777. iac.orderstatus IN (1)
  778. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  779. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  780. </if>
  781. <if test="quUserNumDto.userIds != null">
  782. and io.userid IN
  783. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  784. #{id}
  785. </foreach>
  786. </if>
  787. GROUP BY
  788. io.userid,
  789. io.username
  790. </select>
  791. <select id="getUserMainWaitPaySum" resultType="com.ydtech.modules.admin.model.QuUserNum">
  792. SELECT
  793. io.userid,
  794. io.username,
  795. SUM(CASE WHEN io.orderstatus = 2 THEN 1 ELSE 0 END) AS mainWaitPaySum
  796. FROM
  797. ins_orders io
  798. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  799. WHERE
  800. iac.orderstatus IN (2)
  801. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  802. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  803. </if>
  804. <if test="quUserNumDto.userIds != null">
  805. and io.userid IN
  806. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  807. #{id}
  808. </foreach>
  809. </if>
  810. GROUP BY
  811. io.userid,
  812. io.username
  813. </select>
  814. <select id="getUserMainAcceptInsuranceSum" resultType="com.ydtech.modules.admin.model.QuUserNum">
  815. SELECT
  816. io.userid,
  817. io.username,
  818. SUM(CASE WHEN io.orderstatus = 3 THEN 1 ELSE 0 END) AS mainAcceptInsuranceSum
  819. FROM
  820. ins_orders io
  821. RIGHT JOIN ins_area_company iac ON iac.orderno = io.orderno
  822. WHERE
  823. iac.orderstatus IN (3)
  824. <if test="quUserNumDto.createTimeStart != null and quUserNumDto.createTimeEnd != null">
  825. and io.createtime BETWEEN #{quUserNumDto.createTimeStart} AND #{quUserNumDto.createTimeEnd}
  826. </if>
  827. <if test="quUserNumDto.userIds != null">
  828. and io.userid IN
  829. <foreach collection="quUserNumDto.userIds" item="id" index="index" open="(" close=")" separator=",">
  830. #{id}
  831. </foreach>
  832. </if>
  833. GROUP BY
  834. io.userid,
  835. io.username
  836. </select>
  837. <select id="getAllUsersByHospitality" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  838. SELECT
  839. su.id as userId,
  840. su.name,
  841. info.sex,
  842. info.live_address,
  843. su.mobile,
  844. su.leader_id,
  845. su.leader_name,
  846. su.status,
  847. su.identity,
  848. sd.id as deptId,
  849. sd.name as deptName,
  850. t4.id as roleId,
  851. t4.name as roleName,
  852. sd.management_source as managementSource,
  853. psd.id as pDeptId,
  854. psd.name as pDeptName,
  855. "" as noType,
  856. psd.name as fiveDeptName,
  857. ppsd.name as fourDeptName,
  858. pppsd.name as threeDeptName,
  859. ppppsd.name as twoDeptName,
  860. case when IFNULL(su.openid,'')='' then '否' else '是' end as weChatAuthenticationFlag,
  861. case when IFNULL(su.alipay,'')='' then '否' else '是' end as alipayCertificationFlag,
  862. (select case when count(0) >0 then '是' else '否' end from sys_user_bank_card bc where bc.user_id =su.id and
  863. bc.audit_status =1 ) AS bindBankNumberFlag
  864. FROM
  865. sys_user su
  866. LEFT JOIN sys_user_info info ON info.id = su.id
  867. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  868. LEFT JOIN sys_dept psd on psd.id = sd.parent_id
  869. LEFT JOIN sys_dept ppsd on ppsd.id = psd.parent_id
  870. LEFT JOIN sys_dept pppsd on pppsd.id = ppsd.parent_id
  871. LEFT JOIN sys_dept ppppsd on ppppsd.id = pppsd.parent_id
  872. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  873. LEFT JOIN sys_role t4 ON t3.role_id = t4.id
  874. AND sd.del_flag = '0'
  875. WHERE
  876. su.status != 0 AND su.id LIKE '%M%' and su.id!='admin'
  877. <if test='user !=null '>
  878. <if test='user.name !=null and user.name!="" '>
  879. and su.name like concat('%', #{user.name}, '%')
  880. </if>
  881. <if test='user.userId !=null and user.userId!="" '>
  882. and su.id like concat('%', #{user.userId}, '%')
  883. </if>
  884. <if test='user.mobile !=null and user.mobile!="" '>
  885. and su.mobile like concat('%', #{user.mobile}, '%')
  886. </if>
  887. <if test='user.identity !=null and user.identity!="" '>
  888. and su.identity like concat('%', #{user.identity}, '%')
  889. </if>
  890. </if>
  891. </select>
  892. <select id="getCustomerUsers" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  893. SELECT
  894. t1.id AS userId,
  895. t1.NAME AS NAME,
  896. t1.mobile AS mobile,
  897. t1.`status` AS `status`,
  898. t2.id AS deptId,
  899. t2.`name` AS deptName,
  900. sd2.id AS pDeptId,
  901. sd2.`name` AS pDeptName
  902. FROM
  903. sys_user t1
  904. LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
  905. LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id
  906. WHERE
  907. t1.`status` = 1
  908. AND t1.id NOT LIKE '%M%'
  909. <if test='user !=null '>
  910. <if test='user.name !=null and user.name!="" '>
  911. and t1.name = #{user.name}
  912. </if>
  913. <if test='user.userId !=null and user.userId!="" '>
  914. and t1.id = #{user.userId}
  915. </if>
  916. <if test='user.mobile !=null and user.mobile!="" '>
  917. and t1.mobile = #{user.mobile}
  918. </if>
  919. <if test='user.identity !=null and user.identity!="" '>
  920. and t1.identity = #{user.identity}
  921. </if>
  922. </if>
  923. </select>
  924. <select id="getDeptIdsByRoleIdsAndUserIds" resultType="String">
  925. SELECT
  926. t2.id
  927. FROM
  928. sys_user t1
  929. LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
  930. LEFT JOIN sys_user_role sur ON sur.user_id = t1.id
  931. WHERE
  932. t1.`status` = 1
  933. <if test="userIds != null and userIds.size>0">
  934. AND
  935. t1.id IN
  936. <foreach collection="userIds" item="item" open="(" separator="," close=")">
  937. #{item}
  938. </foreach>
  939. </if>
  940. <if test="roleIds != null and roleIds.size>0">
  941. AND
  942. sur.role_id IN
  943. <foreach collection="roleIds" item="item" open="(" separator="," close=")">
  944. #{item}
  945. </foreach>
  946. </if>
  947. GROUP BY t2.id
  948. </select>
  949. <select id="findUserListByPage" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  950. SELECT
  951. t1.id AS userId,
  952. t1.NAME AS NAME,
  953. t1.mobile AS mobile,
  954. t1.`status` AS `status`,
  955. t2.id AS deptId,
  956. t2.`name` AS deptName,
  957. sd2.id AS pDeptId,
  958. sd2.`name` AS pDeptName,
  959. CASE
  960. WHEN ( SELECT count( 0 ) FROM sys_user_link_pl_agreement link WHERE link.user_id = t1.id) > 0 THEN
  961. true ELSE false
  962. END AS flag
  963. FROM
  964. sys_user t1
  965. LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
  966. LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id
  967. WHERE
  968. t1.`status` = 1
  969. AND t1.id NOT LIKE '%M%'
  970. <if test='user !=null '>
  971. <if test='user.name !=null and user.name!="" '>
  972. and t1.name like CONCAT('%', #{user.name}, '%')
  973. </if>
  974. <if test='user.userId !=null and user.userId!="" '>
  975. and t1.id = #{user.userId}
  976. </if>
  977. <if test='user.mobile !=null and user.mobile!="" '>
  978. and t1.mobile = #{user.mobile}
  979. </if>
  980. <if test='user.deptId !=null and user.deptId!="" '>
  981. and t2.id like CONCAT('', #{user.deptId}, '%')
  982. </if>
  983. </if>
  984. order by flag desc
  985. </select>
  986. <select id="getDeptIdsByUserIds" resultType="String">
  987. SELECT t2.id
  988. FROM sys_user t1
  989. LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
  990. WHERE t1.`status` = 1
  991. AND EXISTS (SELECT *
  992. FROM (SELECT t1.id
  993. FROM sys_user t1
  994. LEFT JOIN sys_user_role sur ON sur.user_id = t1.id
  995. WHERE t1.`status` = 1
  996. AND t1.leader_id = #{userId}
  997. AND EXISTS (SELECT *
  998. FROM (SELECT 1 AS id
  999. UNION ALL
  1000. SELECT 15
  1001. UNION ALL
  1002. SELECT 16
  1003. UNION ALL
  1004. SELECT 17
  1005. UNION ALL
  1006. SELECT 18
  1007. UNION ALL
  1008. SELECT 21) roleAll
  1009. WHERE roleAll.id = sur.role_id)) users
  1010. WHERE users.id = t1.id)
  1011. GROUP BY t2.id
  1012. </select>
  1013. <select id="findUserListByAreaPage" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  1014. SELECT
  1015. t1.id AS userId,
  1016. t1.NAME AS NAME,
  1017. t1.mobile AS mobile,
  1018. t1.`status` AS `status`,
  1019. t2.id AS deptId,
  1020. t2.`name` AS deptName,
  1021. sd2.id AS pDeptId,
  1022. sd2.`name` AS pDeptName,
  1023. CASE
  1024. WHEN ( SELECT count( 0 ) FROM sys_user_link_area link WHERE link.user_id = t1.id) > 0 THEN
  1025. true ELSE false
  1026. END AS flag
  1027. FROM
  1028. sys_user t1
  1029. LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
  1030. LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id
  1031. WHERE
  1032. t1.`status` = 1
  1033. AND t1.id NOT LIKE '%M%'
  1034. <if test='user !=null '>
  1035. <if test='user.name !=null and user.name!="" '>
  1036. and t1.name like CONCAT('%', #{user.name}, '%')
  1037. </if>
  1038. <if test='user.userId !=null and user.userId!="" '>
  1039. and t1.id = #{user.userId}
  1040. </if>
  1041. <if test='user.mobile !=null and user.mobile!="" '>
  1042. and t1.mobile = #{user.mobile}
  1043. </if>
  1044. <if test='user.deptId !=null and user.deptId!="" '>
  1045. and t2.id like CONCAT('', #{user.deptId}, '%')
  1046. </if>
  1047. </if>
  1048. order by flag desc
  1049. </select>
  1050. <select id="getAgentUserIdsByAreaIds" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  1051. SELECT su.id AS userId,
  1052. su.dept_id AS deptId
  1053. FROM sys_user su
  1054. LEFT JOIN sys_user_info info ON info.id = su.id
  1055. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  1056. LEFT JOIN sys_dept psd ON psd.id = sd.parent_id
  1057. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  1058. LEFT JOIN sys_role t4 ON t3.role_id = t4.id
  1059. AND sd.del_flag = '0'
  1060. AND su.STATUS = 1
  1061. WHERE t3.role_id = 20
  1062. AND sd.management_source = 2
  1063. </select>
  1064. <select id="getCountByDeptAndRoleId" resultType="Integer">
  1065. SELECT count(0)
  1066. FROM sys_user su
  1067. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  1068. LEFT JOIN sys_role t4 ON t3.role_id = t4.id
  1069. WHERE su.dept_id = #{user.deptId}
  1070. AND t4.id = #{user.roleId}
  1071. </select>
  1072. <select id="findTDZUserIdByDeptId" resultType="String">
  1073. SELECT su.id
  1074. FROM sys_user su
  1075. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  1076. LEFT JOIN sys_role t4 ON t3.role_id = t4.id
  1077. WHERE su.dept_id = #{deptId}
  1078. AND t4.id = 21
  1079. </select>
  1080. <select id="findSumCountAndAvgAge" resultType="java.util.HashMap">
  1081. SELECT count(su.id) AS sumCount,
  1082. FLOOR(
  1083. avg(
  1084. TIMESTAMPDIFF(
  1085. YEAR, STR_TO_DATE(SUBSTRING(su.identity, 7, 8), '%Y%m%d'),
  1086. CURDATE()))) AS avgAge
  1087. FROM sys_user su
  1088. WHERE su.dept_id LIKE CONCAT(#{deptId}, '%')
  1089. AND su.identity IS NOT NULL
  1090. </select>
  1091. <select id="findEducationSumCount" resultType="com.ydtech.modules.admin.model.dto.ReportDto">
  1092. SELECT uinfo.education AS NAME,
  1093. count(uinfo.education) AS count
  1094. FROM
  1095. sys_user su
  1096. LEFT JOIN sys_user_info uinfo
  1097. ON su.id = uinfo.id
  1098. WHERE
  1099. su.dept_id LIKE CONCAT( #{deptId}
  1100. , '%' )
  1101. AND uinfo.education IS NOT NULL
  1102. GROUP BY
  1103. uinfo.education
  1104. </select>
  1105. <select id="findQXTDSumCountAndAvgAge" resultType="java.util.HashMap">
  1106. SELECT count(su.id) AS sumCount,
  1107. FLOOR(
  1108. avg(
  1109. TIMESTAMPDIFF(
  1110. YEAR, STR_TO_DATE(SUBSTRING(su.identity, 7, 8), '%Y%m%d'),
  1111. CURDATE()))) AS avgAge
  1112. FROM sys_user su
  1113. LEFT JOIN sys_user_role ro ON su.id = ro.user_id
  1114. WHERE su.dept_id LIKE CONCAT(#{deptId}, '%')
  1115. AND ro.role_id = 21
  1116. </select>
  1117. <select id="findQXDLSumCountAndAvgAge" resultType="java.util.HashMap">
  1118. SELECT count(su.id) AS sumCount,
  1119. FLOOR(
  1120. avg(
  1121. TIMESTAMPDIFF(
  1122. YEAR, STR_TO_DATE(SUBSTRING(su.identity, 7, 8), '%Y%m%d'),
  1123. CURDATE()))) AS avgAge
  1124. FROM sys_user su
  1125. LEFT JOIN sys_dept dept ON su.dept_id = dept.id
  1126. WHERE su.dept_id LIKE CONCAT(#{deptId}, '%')
  1127. AND dept.management_source = #{type}
  1128. </select>
  1129. <select id="findQXTDAreaSumCount" resultType="com.ydtech.modules.admin.model.dto.ReportDto">
  1130. SELECT sa.area_cname AS NAME,
  1131. count(0) AS count
  1132. FROM
  1133. sys_user su
  1134. LEFT JOIN sys_user_role ro
  1135. ON su.id = ro.user_id
  1136. LEFT JOIN sys_area sa ON sa.area_code = SUBSTRING ( LPAD( su.id, 8, 0 ), 3, 8 )
  1137. WHERE
  1138. su.dept_id LIKE CONCAT( #{deptId}
  1139. , '%' )
  1140. AND ro.role_id=21
  1141. AND sa.area_cname IS NOT NULL
  1142. GROUP BY
  1143. sa.area_cname
  1144. </select>
  1145. <select id="findQXDLAreaSumCount" resultType="com.ydtech.modules.admin.model.dto.ReportDto">
  1146. SELECT sa.area_cname AS NAME,
  1147. count(0) AS count
  1148. FROM
  1149. sys_user su
  1150. LEFT JOIN sys_dept sd
  1151. ON su.dept_id = sd.id
  1152. LEFT JOIN sys_area sa ON sa.area_code = SUBSTRING ( LPAD( su.id, 8, 0 ), 3, 8 )
  1153. WHERE
  1154. sd.management_source = 2
  1155. AND sd.del_flag = '0'
  1156. AND su.STATUS = 1
  1157. AND sa.area_cname IS NOT NULL
  1158. GROUP BY
  1159. sa.area_cname
  1160. </select>
  1161. <select id="findQXTDSexSumCount" resultType="com.ydtech.modules.admin.model.dto.ReportDto">
  1162. SELECT CASE
  1163. WHEN
  1164. uinfo.sex = 'M' THEN
  1165. '男'
  1166. WHEN uinfo.sex = 'F' THEN
  1167. '女'
  1168. ELSE ''
  1169. END AS NAME,
  1170. count(0) AS count
  1171. FROM
  1172. sys_user su
  1173. LEFT JOIN sys_user_info uinfo
  1174. ON su.id = uinfo.id
  1175. LEFT JOIN sys_user_role ro ON su.id = ro.user_id
  1176. WHERE
  1177. su.dept_id LIKE CONCAT(#{deptId}
  1178. , '%' )
  1179. AND ro.role_id = 21
  1180. AND uinfo.sex IS NOT NULL
  1181. GROUP BY
  1182. uinfo.sex
  1183. </select>
  1184. <select id="findQXDLSexSumCount" resultType="com.ydtech.modules.admin.model.dto.ReportDto">
  1185. SELECT CASE
  1186. WHEN
  1187. uinfo.sex = 'M' THEN
  1188. '男'
  1189. WHEN uinfo.sex = 'F' THEN
  1190. '女'
  1191. ELSE ''
  1192. END AS NAME,
  1193. count(0) AS count
  1194. FROM
  1195. sys_user su
  1196. LEFT JOIN sys_user_info uinfo
  1197. ON uinfo.id = su.id
  1198. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  1199. WHERE
  1200. sd.management_source = 2
  1201. AND sd.del_flag = '0'
  1202. AND su.STATUS = 1
  1203. AND uinfo.sex IS NOT NULL
  1204. GROUP BY
  1205. uinfo.sex
  1206. </select>
  1207. <select id="findQXTDWhSumCount" resultType="com.ydtech.modules.admin.model.dto.ReportDto">
  1208. SELECT su.leader_name as name,
  1209. count(0) AS count
  1210. FROM
  1211. sys_user su
  1212. LEFT JOIN sys_user_role ro
  1213. ON su.id = ro.user_id
  1214. WHERE
  1215. su.dept_id LIKE CONCAT(#{deptId}
  1216. , '%' )
  1217. AND ro.role_id = 21
  1218. AND su.leader_name IS NOT NULL
  1219. GROUP BY
  1220. su.leader_name
  1221. </select>
  1222. <select id="findQXDLWhSumCount" resultType="com.ydtech.modules.admin.model.dto.ReportDto">
  1223. SELECT su.leader_name as name,
  1224. count(0) AS count
  1225. FROM
  1226. sys_user su
  1227. LEFT JOIN sys_dept sd
  1228. ON su.dept_id = sd.id
  1229. WHERE
  1230. sd.management_source = 2
  1231. AND sd.del_flag = '0'
  1232. AND su.STATUS = 1
  1233. AND su.leader_name IS NOT NULL
  1234. GROUP BY
  1235. su.leader_name
  1236. </select>
  1237. <select id="queryQXQDReportData"
  1238. resultType="com.ydtech.modules.admin.model.report.user.QianLineQDPersonnelReportDto">
  1239. SELECT su.name as userName,
  1240. su.leader_name as leadName,
  1241. "渠道" as typeName,
  1242. "" as qdType
  1243. FROM sys_user su
  1244. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  1245. WHERE sd.management_source = 1
  1246. AND sd.del_flag = '0'
  1247. AND su.STATUS = 1
  1248. and su.leader_name is not null
  1249. </select>
  1250. <select id="findQXDLUserList" resultType="com.ydtech.modules.admin.model.SysUser">
  1251. SELECT su.id as id,
  1252. su.name as name
  1253. FROM sys_user su
  1254. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  1255. WHERE sd.management_source = 2
  1256. AND sd.del_flag = '0'
  1257. AND su.STATUS = 1
  1258. AND su.leader_name IS NOT NULL
  1259. GROUP BY su.leader_name
  1260. </select>
  1261. <select id="findHxUserList" resultType="com.ydtech.modules.admin.model.SysUser">
  1262. SELECT t1.id AS id,
  1263. t1.NAME AS NAME,
  1264. t1.mobile AS mobile,
  1265. t1.`status` AS `status`,
  1266. t2.id AS deptId,
  1267. t2.`name` AS deptName,
  1268. sd2.id AS pDeptId,
  1269. sd2.`name` AS pDeptName
  1270. FROM sys_user t1
  1271. LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
  1272. LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id
  1273. WHERE t1.`status` = 1
  1274. AND t1.id NOT LIKE '%M%'
  1275. </select>
  1276. <select id="findHxUserListNew" resultType="com.ydtech.modules.admin.model.SysUser">
  1277. SELECT t1.id AS id,
  1278. t1.NAME AS NAME,
  1279. t1.mobile AS mobile,
  1280. t1.`status` AS `status`,
  1281. t2.id AS deptId,
  1282. t2.id AS parentId,
  1283. t2.`name` AS deptName,
  1284. sd2.id AS pDeptId,
  1285. sd2.`name` AS pDeptName
  1286. FROM sys_user t1
  1287. LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
  1288. LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id
  1289. WHERE t1.`status` = 1
  1290. AND t1.id NOT LIKE '%M%'
  1291. </select>
  1292. <select id="queryHXReportDataNew" resultType="java.util.HashMap">
  1293. SELECT
  1294. IFNULL(sum(info.salary),0) as "salary",
  1295. IFNULL(sum(case when info.sex ='M' THEN 1 ELSE 0 END ),0) as "manSex",
  1296. IFNULL(sum(case when info.sex ='F' THEN 1 ELSE 0 END),0) as "femaleSex",
  1297. IFNULL(sum(case when info.sex ='M' THEN 1 ELSE 0 END ) / (sum(case when info.sex ='M' THEN 1 ELSE 0 END ) +
  1298. sum(case when info.sex ='F' THEN 1 ELSE 0 END)),0) as "manProportion",
  1299. IFNULL(sum(case when info.sex ='F' THEN 1 ELSE 0 END) / (sum(case when info.sex ='M' THEN 1 ELSE 0 END ) +
  1300. sum(case when info.sex ='F' THEN 1 ELSE 0 END)),0) as "femaleProportion",
  1301. IFNULL(sum(case when info.is_speciality ='1' THEN 1 ELSE 0 END),0) as "computerSpecialityPersion",
  1302. IFNULL(sum(case when info.is_speciality ='0' THEN 1 ELSE 0 END),0) as "otherSpecialityPersion",
  1303. IFNULL(sum(case when info.is_speciality ='1' THEN 1 ELSE 0 END) / (sum(case when info.is_speciality ='1' THEN 1
  1304. ELSE 0 END) + sum(case when info.is_speciality ='0' THEN 1 ELSE 0 END)),0) as "computerSpecialityProportion",
  1305. IFNULL(sum(case when info.is_speciality ='0' THEN 1 ELSE 0 END) / (sum(case when info.is_speciality ='1' THEN 1
  1306. ELSE 0 END) + sum(case when info.is_speciality ='0' THEN 1 ELSE 0 END)),0) as "otherSpecialityProportion",
  1307. IFNULL(sum(case when su.status ='1' THEN 1 Else 0 END),0) as "onJobUser",
  1308. IFNULL(sum(case when su.status ='0' THEN 1 Else 0 END),0) as "departUser",
  1309. IFNULL(sum(case when su.status ='6' THEN 1 Else 0 END),0) as "pendingApproval",
  1310. IFNULL(sum(case when su.status ='7' THEN 1 Else 0 END),0) as "reviewRejected",
  1311. IFNULL(sum(case when su.status ='2' THEN 1 Else 0 END),0) as "companyReview",
  1312. IFNULL(sum(case when su.status ='3' THEN 1 Else 0 END),0) as "entryReview",
  1313. IFNULL(sum(case when su.status ='4' THEN 1 Else 0 END),0) as "leavingCompanyReview",
  1314. IFNULL(sum(case when su.status ='5' THEN 1 Else 0 END),0) as "departureReviewRejected",
  1315. IFNULL(sum(case when su.status ='1' THEN 1 Else 0 END),0) / count(su.id) as "onJobUserProportion",
  1316. IFNULL(sum(case when su.status ='0' THEN 1 Else 0 END),0) / count(su.id) as "departUserProportion",
  1317. IFNULL(sum(case when su.status ='6' THEN 1 Else 0 END),0) / count(su.id) as "pendingApprovalProportion",
  1318. IFNULL(sum(case when su.status ='7' THEN 1 Else 0 END),0) / count(su.id) as "reviewRejectedProportion",
  1319. IFNULL(sum(case when su.status ='2' THEN 1 Else 0 END),0) / count(su.id) as "companyReviewProportion",
  1320. IFNULL(sum(case when su.status ='3' THEN 1 Else 0 END),0) / count(su.id) as "entryReviewProportion",
  1321. IFNULL(sum(case when su.status ='4' THEN 1 Else 0 END),0) / count(su.id) as "leavingCompanyReviewProportion",
  1322. IFNULL(sum(case when su.status ='5' THEN 1 Else 0 END),0) / count(su.id) as "departureReviewRejectedProportion"
  1323. FROM
  1324. sys_user su
  1325. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  1326. LEFT JOIN sys_user_info info ON info.id = su.id
  1327. <where>
  1328. info.id is not null
  1329. and su.id NOT LIKE '%M%'
  1330. <if test="vo.provinceId != null and vo.provinceId != ''">
  1331. and sd.id like concat('%',#{vo.provinceId},'%')
  1332. </if>
  1333. <if test="vo.cityId != null and vo.cityId != ''">
  1334. and sd.id like concat('%',#{vo.cityId},'%')
  1335. </if>
  1336. <if test="vo.countyId != null and vo.countyId != ''">
  1337. and sd.id like concat('%',#{vo.countyId},'%')
  1338. </if>
  1339. <if test="vo.houseId != null and vo.houseId != ''">
  1340. and sd.id like concat('%',#{vo.houseId},'%')
  1341. </if>
  1342. <if test="vo.deptIds != null and vo.deptIds != '' and vo.deptIds.size >0">
  1343. and su.dept_id IN
  1344. <foreach collection="vo.deptIds" item="id" index="index" open="(" close=")" separator=",">
  1345. #{id}
  1346. </foreach>
  1347. </if>
  1348. </where>
  1349. </select>
  1350. <select id="queryQxFrontlineAgent" resultType="com.ydtech.modules.admin.model.dto.QxFrontlineAgentDto">
  1351. SELECT
  1352. sd.name as "deptName",
  1353. su.name as "name",
  1354. sd.id as "deptId",
  1355. su.id as "userId",
  1356. su.mobile as "mobile",
  1357. su.dept_id as "deptId",
  1358. inf.url as "filePath",
  1359. sul.name as "leaderName",
  1360. sui.sex as "sex",
  1361. sur.role_id AS roleId
  1362. FROM
  1363. sys_user su
  1364. LEFT JOIN sys_dept sd ON sd.id = su.dept_id
  1365. LEFT JOIN ins_upload_files inf on su.head_sculpture =inf.id
  1366. LEFT JOIN sys_user_role sur ON sur.user_id = su.id
  1367. LEFT JOIN sys_user sul on sul.id=su.leader_id
  1368. LEFT JOIN sys_user_info sui on sui .id =su.id
  1369. <where>
  1370. su.id LIKE '%M%'
  1371. and su.status = '1'
  1372. <if test="vo.managementSource != null and vo.managementSource!='' ">
  1373. AND sd.management_source =#{vo.managementSource}
  1374. </if>
  1375. <choose>
  1376. <when test='vo.managementSource == "2"'>
  1377. and (sur.role_id = 20 or sur.role_id = 21)
  1378. </when>
  1379. <when test='vo.managementSource == "1"'>
  1380. and (sur.role_id = 19 or sur.role_id = 21)
  1381. </when>
  1382. <otherwise>
  1383. </otherwise>
  1384. </choose>
  1385. <if test="vo.provinceId != null and vo.provinceId != ''">
  1386. and sd.id like concat('%',#{vo.provinceId},'%')
  1387. </if>
  1388. <if test="vo.cityId != null and vo.cityId != ''">
  1389. and sd.id like concat('%',#{vo.cityId},'%')
  1390. </if>
  1391. <if test="vo.countyId != null and vo.countyId != ''">
  1392. and sd.id like concat('%',#{vo.countyId},'%')
  1393. </if>
  1394. <if test="vo.houseId != null and vo.houseId != ''">
  1395. and sd.id like concat('%',#{vo.houseId},'%')
  1396. </if>
  1397. <if test="vo.name != null and vo.name != ''">
  1398. and su.name =#{vo.name}
  1399. </if>
  1400. <if test="vo.userCode != null and vo.userCode != ''">
  1401. and su.id =#{vo.userCode}
  1402. </if>
  1403. <if test="vo.phoneNumber != null and vo.phoneNumber != ''">
  1404. and su.mobile =#{vo.phoneNumber}
  1405. </if>
  1406. <if test="vo.leaderId != null and vo.leaderId != ''">
  1407. and su.leader_id =#{vo.leaderId}
  1408. </if>
  1409. <if test="vo.leaderName != null and vo.leaderName != ''">
  1410. and su.leader_name =#{vo.leaderName}
  1411. </if>
  1412. <if test="vo.deptIds != null and vo.deptIds != '' and vo.deptIds.size() > 0">
  1413. AND sd.id in
  1414. <foreach collection="vo.deptIds" item="item" open="(" separator="," close=")">
  1415. #{item}
  1416. </foreach>
  1417. </if>
  1418. <if test="vo.userIds != null and vo.userIds != '' and vo.userIds.size() > 0">
  1419. AND su.id in
  1420. <foreach collection="vo.userIds" item="item" open="(" separator="," close=")">
  1421. #{item}
  1422. </foreach>
  1423. </if>
  1424. </where>
  1425. </select>
  1426. <select id="getQxFrontlineAgentList" resultType="com.ydtech.modules.admin.model.dto.QxFrontlineAgentDto">
  1427. SELECT
  1428. sd.name as "deptName",
  1429. su.name as "name",
  1430. sd.id as "deptId",
  1431. su.id as "userId",
  1432. su.mobile as "mobile",
  1433. su.dept_id as "deptId",
  1434. inf.url as "filePath",
  1435. sul.name as "leaderName",
  1436. sui.sex as "sex",
  1437. sur.role_id AS roleId
  1438. FROM
  1439. sys_user su
  1440. LEFT JOIN sys_dept sd ON sd.id = su.dept_id
  1441. LEFT JOIN ins_upload_files inf on su.head_sculpture =inf.id
  1442. LEFT JOIN sys_user_role sur ON sur.user_id = su.id
  1443. LEFT JOIN sys_user sul on sul.id=su.leader_id
  1444. LEFT JOIN sys_user_info sui on sui .id =su.id
  1445. <where>
  1446. su.id LIKE '%M%'
  1447. and su.status = '1'
  1448. <if test="vo.managementSource != null and vo.managementSource!='' ">
  1449. AND sd.management_source =#{vo.managementSource}
  1450. </if>
  1451. <choose>
  1452. <when test='vo.managementSource == "2"'>
  1453. and (sur.role_id = 20 or sur.role_id = 21)
  1454. </when>
  1455. <when test='vo.managementSource == "1"'>
  1456. and (sur.role_id = 19 or sur.role_id = 21)
  1457. </when>
  1458. <otherwise>
  1459. </otherwise>
  1460. </choose>
  1461. <if test="vo.provinceId != null and vo.provinceId != ''">
  1462. and sd.id like concat('%',#{vo.provinceId},'%')
  1463. </if>
  1464. <if test="vo.cityId != null and vo.cityId != ''">
  1465. and sd.id like concat('%',#{vo.cityId},'%')
  1466. </if>
  1467. <if test="vo.countyId != null and vo.countyId != ''">
  1468. and sd.id like concat('%',#{vo.countyId},'%')
  1469. </if>
  1470. <if test="vo.houseId != null and vo.houseId != ''">
  1471. and sd.id like concat('%',#{vo.houseId},'%')
  1472. </if>
  1473. <if test="vo.name != null and vo.name != ''">
  1474. and su.name =#{vo.name}
  1475. </if>
  1476. <if test="vo.userCode != null and vo.userCode != ''">
  1477. and su.id =#{vo.userCode}
  1478. </if>
  1479. <if test="vo.phoneNumber != null and vo.phoneNumber != ''">
  1480. and su.mobile =#{vo.phoneNumber}
  1481. </if>
  1482. <!-- <if test="vo.leaderId != null and vo.leaderId != ''">-->
  1483. <!-- and su.leader_id =#{vo.leaderId}-->
  1484. <!-- </if>-->
  1485. <if test="vo.leaderIds != null and vo.leaderIds != '' and vo.leaderIds.size() > 0">
  1486. AND su.leader_id in
  1487. <foreach collection="vo.leaderIds" item="item" open="(" separator="," close=")">
  1488. #{item}
  1489. </foreach>
  1490. </if>
  1491. <if test="vo.leaderName != null and vo.leaderName != ''">
  1492. and su.leader_name =#{vo.leaderName}
  1493. </if>
  1494. <if test="vo.deptIds != null and vo.deptIds != '' and vo.deptIds.size() > 0">
  1495. AND sd.id in
  1496. <foreach collection="vo.deptIds" item="item" open="(" separator="," close=")">
  1497. #{item}
  1498. </foreach>
  1499. </if>
  1500. <if test="vo.userIds != null and vo.userIds != '' and vo.userIds.size() > 0">
  1501. AND su.id in
  1502. <foreach collection="vo.userIds" item="item" open="(" separator="," close=")">
  1503. #{item}
  1504. </foreach>
  1505. </if>
  1506. </where>
  1507. </select>
  1508. <select id="getByIdsList" resultType="com.ydtech.modules.admin.model.dto.QxFrontlineAgentDto">
  1509. SELECT
  1510. su.name as "name",
  1511. sd.name as "deptName",
  1512. su.id as "userId",
  1513. su.dept_id as "deptId"
  1514. FROM
  1515. sys_user su
  1516. LEFT JOIN sys_dept sd ON sd.id = su.dept_id
  1517. <where>
  1518. su.id LIKE '%M%'
  1519. and su.status = '1'
  1520. <if test="vo.ids != null and vo.ids.size()>0 ">
  1521. AND su.id IN
  1522. <foreach item="item" collection="vo.ids" open="(" separator="," close=")">
  1523. #{item}
  1524. </foreach>
  1525. </if>
  1526. </where>
  1527. </select>
  1528. <select id="getByUserId" resultType="com.ydtech.modules.admin.model.SysUser">
  1529. select t.id id,
  1530. t.name name,
  1531. t.mobile mobile,
  1532. t2.management_source managementSource,
  1533. t.operatorCode,
  1534. t2.id deptId
  1535. from sys_user t
  1536. left join sys_dept t2 on t.dept_id = t2.id
  1537. where t.id = #{id}
  1538. </select>
  1539. <select id="findByReferrerId" resultType="com.ydtech.modules.admin.model.vo.SysUserVO">
  1540. SELECT u.id, u.name
  1541. FROM sys_user u
  1542. <where>
  1543. <if test="deptId != null and deptId != ''">
  1544. and u.dept_id = #{deptId}
  1545. </if>
  1546. </where>
  1547. </select>
  1548. <select id="getTelemarketingPersonnelUserId" resultType="java.lang.String">
  1549. SELECT u.id
  1550. FROM sys_user u
  1551. LEFT JOIN sys_dept d ON u.dept_id = d.id
  1552. WHERE d.management_source = '3'
  1553. </select>
  1554. <select id="queryQxFrontlineAgentList" resultType="com.ydtech.modules.admin.model.dto.QxFrontlineAgentDto">
  1555. SELECT
  1556. su.name as "name",
  1557. su.id as "userId"
  1558. FROM
  1559. sys_user su
  1560. LEFT JOIN sys_dept sd ON sd.id = su.dept_id
  1561. LEFT JOIN sys_user_role sur ON sur.user_id = su.id
  1562. <where>
  1563. su.id LIKE '%M%'
  1564. and su.status = '1'
  1565. AND sd.management_source =2
  1566. and (sur.role_id = 20 or sur.role_id = 21)
  1567. <if test="vo.provinceId != null and vo.provinceId != ''">
  1568. and sd.id like concat('%',#{vo.provinceId},'%')
  1569. </if>
  1570. <if test="vo.cityId != null and vo.cityId != ''">
  1571. and sd.id like concat('%',#{vo.cityId},'%')
  1572. </if>
  1573. <if test="vo.countyId != null and vo.countyId != ''">
  1574. and sd.id like concat('%',#{vo.countyId},'%')
  1575. </if>
  1576. <if test="vo.deptIds != null and vo.deptIds != '' and vo.deptIds.size() > 0">
  1577. AND sd.id in
  1578. <foreach collection="vo.deptIds" item="item" open="(" separator="," close=")">
  1579. #{item}
  1580. </foreach>
  1581. </if>
  1582. <if test="vo.userIds != null and vo.userIds != '' and vo.userIds.size() > 0">
  1583. AND su.id in
  1584. <foreach collection="vo.userIds" item="item" open="(" separator="," close=")">
  1585. #{item}
  1586. </foreach>
  1587. </if>
  1588. <if test="vo.houseId != null and vo.houseId != ''">
  1589. and sd.id like concat('%',#{vo.houseId},'%')
  1590. </if>
  1591. <if test="vo.name != null and vo.name != ''">
  1592. and su.name =#{vo.name}
  1593. </if>
  1594. <if test="vo.userCode != null and vo.userCode != ''">
  1595. and su.id =#{vo.userCode}
  1596. </if>
  1597. <if test="vo.phoneNumber != null and vo.phoneNumber != ''">
  1598. and su.mobile =#{vo.phoneNumber}
  1599. </if>
  1600. <if test="vo.leaderId != null and vo.leaderId != ''">
  1601. and su.leader_id =#{vo.leaderId}
  1602. </if>
  1603. <if test="vo.leaderName != null and vo.leaderName != ''">
  1604. and su.leader_name =#{vo.leaderName}
  1605. </if>
  1606. <if test="vo.deptIds != null and vo.deptIds != '' and vo.deptIds.size() > 0">
  1607. AND sd.id in
  1608. <foreach collection="vo.deptIds" item="item" open="(" separator="," close=")">
  1609. #{item}
  1610. </foreach>
  1611. </if>
  1612. </where>
  1613. </select>
  1614. <select id="findUserListByParam" resultType="com.ydtech.modules.admin.model.dto.QxFrontlineAgentDto">
  1615. SELECT
  1616. su.name as "name",
  1617. su.id as "userId",
  1618. su.status as status
  1619. FROM
  1620. sys_user su
  1621. LEFT JOIN sys_dept sd ON sd.id = su.dept_id
  1622. LEFT JOIN ins_upload_files inf on su.head_sculpture =inf.id
  1623. LEFT JOIN sys_user_role sur ON sur.user_id = su.id
  1624. <where>
  1625. <if test="vo.ids != null and vo.ids.size()>0 ">
  1626. AND su.id IN
  1627. <foreach item="item" collection="vo.ids" open="(" separator="," close=")">
  1628. #{item}
  1629. </foreach>
  1630. </if>
  1631. <if test="vo.name != null and vo.name != ''">
  1632. and su.name =#{vo.name}
  1633. </if>
  1634. <if test="vo.userCode != null and vo.userCode != ''">
  1635. and su.id =#{vo.userCode}
  1636. </if>
  1637. <if test="vo.phoneNumber != null and vo.phoneNumber != ''">
  1638. and su.mobile =#{vo.phoneNumber}
  1639. </if>
  1640. </where>
  1641. </select>
  1642. <select id="getAllAgent" resultType="com.ydtech.modules.admin.model.SysUser">
  1643. SELECT
  1644. su.id as "id",
  1645. eur.referrer_id as "parentId",
  1646. su.name as "name"
  1647. FROM
  1648. sys_user su
  1649. LEFT JOIN sys_user_info info ON info.id = su.id
  1650. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  1651. LEFT JOIN sys_dept psd ON psd.id = sd.parent_id
  1652. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  1653. LEFT JOIN sys_role t4 ON t3.role_id = t4.id
  1654. left join esm_user_referrer eur on eur.id =su.id
  1655. WHERE
  1656. (t3.role_id = 20 or t3.role_id = 21)
  1657. and sd.management_source = 2
  1658. AND sd.del_flag = '0'
  1659. AND su.STATUS = 1
  1660. <if test="ids !=null and ids !='' and ids .size()>0">
  1661. AND
  1662. su.id IN
  1663. <foreach collection="ids" item="item" open="(" separator="," close=")">
  1664. #{item}
  1665. </foreach>
  1666. </if>
  1667. <choose>
  1668. <when test="pid !=null and pid !=''">
  1669. and eur.id != eur.referrer_id
  1670. and eur.referrer_id =#{pid}
  1671. </when>
  1672. <when test='pid == null'>
  1673. and eur.id =eur.referrer_id
  1674. and (eur.level = '1' or eur.level ='0')
  1675. </when>
  1676. </choose>
  1677. </select>
  1678. <select id="selectForAgentsAndChannelsPage" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
  1679. SELECT
  1680. su.id as userId,
  1681. su.name,
  1682. info.sex,
  1683. su.mobile,
  1684. su.status,
  1685. su.leader_id,
  1686. su.leader_name,
  1687. sd.id as deptId,
  1688. sd.name as deptName,
  1689. t4.id as roleId,
  1690. t4.name as roleName,
  1691. sd.management_source,
  1692. psd.id as pDeptId,
  1693. psd.name as pDeptName,
  1694. su.create_time as submitTime,
  1695. IF(su.leader_id = #{sysUserVO.leaderId},TRUE,FALSE) AS selectedNot,
  1696. (select approve_by from sys_user_track where user_id = su.id ORDER BY approve_time desc LIMIT 1) as approveBy,
  1697. (select approve_time from sys_user_track where user_id = su.id ORDER BY approve_time desc LIMIT 1) as
  1698. approveTime
  1699. FROM
  1700. sys_user su
  1701. LEFT JOIN sys_user_info info ON info.id = su.id
  1702. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  1703. left join sys_dept psd on psd.id = sd.parent_id
  1704. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  1705. LEFT JOIN sys_role t4 ON t3.role_id = t4.id
  1706. AND sd.del_flag = '0'
  1707. WHERE
  1708. 1=1
  1709. <if test='sysUserVO !=null '>
  1710. <if test='sysUserVO.leaderId !=null and sysUserVO.leaderId!="" '>
  1711. and su.leader_id = #{sysUserVO.leaderId}
  1712. </if>
  1713. <if test='sysUserVO.status !=null and sysUserVO.status!="" '>
  1714. and su.status = #{sysUserVO.status}
  1715. </if>
  1716. <if test='sysUserVO.name !=null and sysUserVO.name!="" '>
  1717. and su.name like concat('%',#{sysUserVO.name},'%')
  1718. </if>
  1719. <if test='sysUserVO.userId !=null and sysUserVO.userId!="" '>
  1720. and su.id = #{sysUserVO.userId}
  1721. </if>
  1722. <if test='sysUserVO.mobile !=null and sysUserVO.mobile!="" '>
  1723. and su.mobile = #{sysUserVO.mobile}
  1724. </if>
  1725. <if test='sysUserVO.deptId !=null and sysUserVO.deptId!="" '>
  1726. and su.dept_id like concat('%',#{sysUserVO.deptId},'%')
  1727. </if>
  1728. <if test='sysUserVO.leaderName !=null and sysUserVO.leaderName!="" '>
  1729. and su.leader_name like concat('%',#{sysUserVO.leaderName},'%')
  1730. </if>
  1731. <if test='sysUserVO.roleId !=null and sysUserVO.roleId!="" '>
  1732. and t3.role_id in (${sysUserVO.roleId})
  1733. </if>
  1734. <if test="sysUserVO.agentFlag !=null and sysUserVO.agentFlag != 0 ">
  1735. and sd.management_source = #{sysUserVO.agentFlag}
  1736. </if>
  1737. <if test="sysUserVO.agentFlag != null and sysUserVO.agentFlag == 0">
  1738. and sd.management_source is null
  1739. </if>
  1740. <if test="sysUserVO.notSelected != null and sysUserVO.notSelected == 0">
  1741. AND (su.leader_id IS NULL OR su.leader_id = '')
  1742. </if>
  1743. </if>
  1744. ORDER BY selectedNot DESC
  1745. </select>
  1746. <select id="selectHxUserList" resultType="java.util.Map">
  1747. SELECT * FROM
  1748. (
  1749. SELECT
  1750. t1.id AS id,
  1751. t1.name AS name,
  1752. t1.mobile AS mobile,
  1753. (
  1754. SELECT
  1755. COUNT(1)
  1756. FROM
  1757. sys_user su
  1758. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  1759. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  1760. AND sd.del_flag = '0'
  1761. WHERE 1 = 1
  1762. <if test='sysUserDto.roleId !=null and sysUserDto.roleId!="" '>and t3.role_id in (${sysUserDto.roleId})
  1763. and sd.management_source = #{sysUserDto.agentFlag}
  1764. </if>
  1765. <if test="
  1766. sysUserDto.agentFlag !=null and sysUserDto.agentFlag != 0 "></if>
  1767. <if test="sysUserDto.agentFlag != null and sysUserDto.agentFlag == 0">
  1768. and sd.management_source is null
  1769. </if>
  1770. AND su.leader_id = t1.id
  1771. ) totalNum
  1772. FROM
  1773. sys_user t1
  1774. WHERE
  1775. t1.`status` = 1 AND t1.id NOT LIKE '%M%'
  1776. ) AS t order by t.totalNum desc
  1777. </select>
  1778. <update id="cancelManagementPersonnel">
  1779. UPDATE sys_user SET leader_id = NULL , leader_name = NULL WHERE id in
  1780. <foreach item="item" collection="managementDto.userIds" open="(" separator="," close=")">
  1781. #{item}
  1782. </foreach>
  1783. </update>
  1784. <update id="updateManagementPersonnel">
  1785. UPDATE sys_user SET leader_id = #{managementDto.leaderId} , leader_name = #{managementDto.leaderName} WHERE id
  1786. in
  1787. <foreach item="item" collection="managementDto.userIds" open="(" separator="," close=")">
  1788. #{item}
  1789. </foreach>
  1790. </update>
  1791. <select id="findDxUserList" resultType="com.ydtech.modules.admin.model.SysUser">
  1792. SELECT t1.id AS id,
  1793. t1.NAME AS NAME
  1794. FROM sys_user t1
  1795. WHERE t1.`status` = 1
  1796. AND t1.id NOT LIKE '%M%'
  1797. UNION
  1798. SELECT t1.id AS id,
  1799. t1.NAME AS NAME
  1800. FROM sys_user t1
  1801. LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
  1802. WHERE t1.`status` = 1
  1803. AND t1.id LIKE '%M%'
  1804. AND t2.management_source = 3
  1805. </select>
  1806. <select id="findQXDLUserListNew" resultType="com.ydtech.modules.admin.model.SysUser">
  1807. SELECT
  1808. su.id as "id",
  1809. su.leader_id as "leaderId",
  1810. su.leader_name as "leaderName",
  1811. su.name as "name",
  1812. sd.management_source as "managementSource"
  1813. FROM
  1814. sys_user su
  1815. LEFT JOIN sys_user_info info ON info.id = su.id
  1816. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  1817. LEFT JOIN sys_user_role t3 ON su.id = t3.user_id
  1818. WHERE
  1819. (t3.role_id = 20 or t3.role_id = 21)
  1820. and sd.management_source = 2
  1821. AND sd.del_flag = '0'
  1822. AND su.STATUS = 1
  1823. <if test="vo.deptId !=null and vo.deptId!=''">
  1824. and su.dept_id like concat('%',#{vo.deptId},'%')
  1825. </if>
  1826. <if test="vo.userId !=null and vo.userId!='' ">
  1827. and su.id =#{vo.userId}
  1828. </if>
  1829. <if test="vo.leaderId !=null and vo.leaderId!='' ">
  1830. and su.leader_id =#{vo.leaderId}
  1831. </if>
  1832. <if test="vo.userName !=null and vo.userName!='' ">
  1833. and su.name =#{vo.userName}
  1834. </if>
  1835. </select>
  1836. <select id="getChanelList" resultType="com.ydtech.modules.admin.model.SysUser">
  1837. SELECT
  1838. su.id as "id",
  1839. su.leader_id as "leaderId",
  1840. su.leader_name as "leaderName",
  1841. su.name as "name",
  1842. sd.management_source as "managementSource"
  1843. FROM
  1844. sys_user su
  1845. LEFT JOIN sys_user_info info ON info.id = su.id
  1846. LEFT JOIN sys_dept sd ON su.dept_id = sd.id
  1847. WHERE
  1848. sd.management_source = 1
  1849. AND sd.del_flag = '0'
  1850. AND su.STATUS = 1
  1851. <if test="vo.deptId !=null and vo.deptId!=''">
  1852. and su.dept_id like concat('%',#{vo.deptId},'%')
  1853. </if>
  1854. <if test="vo.userId !=null and vo.userId!='' ">
  1855. and su.id =#{vo.userId}
  1856. </if>
  1857. <if test="vo.leaderId !=null and vo.leaderId!='' ">
  1858. and su.leader_id =#{vo.leaderId}
  1859. </if>
  1860. <if test="vo.userName !=null and vo.userName!='' ">
  1861. and su.name =#{vo.userName}
  1862. </if>
  1863. </select>
  1864. <select id="selectByParams" resultType="com.ydtech.modules.admin.model.SysUser">
  1865. SELECT
  1866. su.*,
  1867. sd.*
  1868. FROM
  1869. sys_user su
  1870. LEFT JOIN sys_dept sd ON sd.id = su.dept_id
  1871. WHERE
  1872. su.leader_id IS NOT NULL
  1873. AND su.id NOT LIKE '%M%'
  1874. AND su.STATUS = '1'
  1875. <if test = "leaderId !=null and leaderId !=''" >
  1876. AND su.leader_id = #{leaderId}
  1877. </if>
  1878. AND EXISTS (
  1879. SELECT
  1880. 1
  1881. FROM
  1882. sys_user su1
  1883. LEFT JOIN sys_user su2 ON su2.leader_id = su1.id
  1884. LEFT JOIN sys_user su3 ON su3.leader_id = su2.id
  1885. WHERE
  1886. su1.id = su.id
  1887. AND (
  1888. SELECT
  1889. count( 0 )
  1890. FROM
  1891. (
  1892. SELECT
  1893. sd1.management_source
  1894. FROM
  1895. sys_user su4
  1896. LEFT JOIN sys_dept sd1 ON sd1.id = su4.dept_id
  1897. WHERE
  1898. su4.id IN ( su1.id, su2.id, su3.id )
  1899. ) AS subquery
  1900. ORDER BY 1
  1901. ) > 0 )
  1902. </select>
  1903. <select id="selectByParamsTreeUser" resultType="com.ydtech.modules.admin.model.SysUser">
  1904. select * from sys_user su
  1905. left join sys_dept sd on sd.id =su.dept_id
  1906. <where>
  1907. su.leader_id is not null
  1908. AND su.id not LIKE '%M%'
  1909. AND su.status ='1'
  1910. <if test="leaderId !=null and leaderId !=''">
  1911. and su.leader_id =#{leaderId}
  1912. </if>
  1913. </where>
  1914. </select>
  1915. <select id="getGroupByUserId" resultType="java.lang.String">
  1916. select id
  1917. from sys_user
  1918. where (manager_id = #{userId} or id = #{userId})
  1919. </select>
  1920. <select id="getLeadListDeptId" resultType="com.ydtech.modules.admin.model.SysUser">
  1921. SELECT t1.id AS id,
  1922. t1.NAME AS NAME
  1923. FROM sys_user t1
  1924. WHERE t1.`status` = 1
  1925. AND t1.id NOT LIKE '%M%'
  1926. </select>
  1927. <select id="selectByLeadId" resultType="com.ydtech.modules.admin.model.SysUser">
  1928. select *
  1929. from sys_user su
  1930. where su.status = 1
  1931. and su.id NOT LIKE '%M%'
  1932. and su.leader_id = #{userId}
  1933. </select>
  1934. <select id="querySourceId" resultType="com.ydtech.modules.admin.model.SysUser">
  1935. select *
  1936. from sys_user su
  1937. left join sys_dept sd on su.dept_id = sd.id
  1938. where su.status != 0 and sd.management_source in (1,2)
  1939. and su.leader_id = #{id}
  1940. </select>
  1941. <select id="queryByUserId" resultType="com.ydtech.modules.admin.model.vo.AppUserInfoVo">
  1942. select su.id as userId,
  1943. su.name as userName,
  1944. su.mobile as mobile,
  1945. su.position_name as positionName,
  1946. sd.name as deptName,
  1947. sui.sex as sex,
  1948. sui.we_chat as weChat,
  1949. DATE_FORMAT(sui.entry_time, '%Y-%m-%d') as entryTime
  1950. from sys_user su
  1951. left join sys_dept sd on su.dept_id = sd.id
  1952. left join sys_user_info sui on su.id = sui.id
  1953. where su.id = #{userId}
  1954. </select>
  1955. <select id="getByRoleIdAndDeptId" resultType="com.ydtech.modules.admin.model.SysUser">
  1956. select *
  1957. from sys_user su
  1958. left join sys_user_role sur on su.id = sur.user_id
  1959. where sur.role_id = #{roleId}
  1960. and su.dept_id = #{deptId}
  1961. limit 1
  1962. </select>
  1963. <select id="selectLeaderBylanderInfo" resultType="com.ydtech.modules.admin.model.SysUser">
  1964. SELECT *
  1965. FROM sys_user AS su
  1966. LEFT JOIN sys_dept sd ON su.id = sd.id
  1967. <where>
  1968. <if test="deptId != null and deptId != ''">
  1969. AND su.dept_id = #{deptId}
  1970. </if>
  1971. <if test="leaderId != null and leaderId != ''">
  1972. AND su.leader_id = #{leaderId}
  1973. </if>
  1974. <if test="userId != null and userId != ''">
  1975. AND su.id = #{userId}
  1976. </if>
  1977. AND sd.management_source IS NULL
  1978. AND su.id NOT LIKE '%M%'
  1979. </where>
  1980. </select>
  1981. <select id="findDxZyUserList" resultType="com.ydtech.modules.admin.model.SysUser">
  1982. SELECT t1.id AS id,
  1983. t1.NAME AS NAME
  1984. FROM sys_user t1
  1985. LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
  1986. WHERE t1.`status` = 1
  1987. AND t1.id LIKE '%M%'
  1988. AND t2.management_source = 3
  1989. </select>
  1990. </mapper>