SysUserMapper.xml 80 KB

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