SysUserMapper.xml 82 KB

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