PartyUserCQuery.xml 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  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.ghsc.partybuild.mapper.PartyUserCQuery">
  4. <!--党员基本信息-->
  5. <select id="selectPartyUserList" resultType="java.util.HashMap">
  6. select us.USERTYPE,us.RYJBXXBS,us.RYBM,us.XM,us.SZDZBDM,us.RYZT,us.SQRDRQ,
  7. -- us.ZWMC,
  8. uszw.dnzw as ZWMC,
  9. us.DNZWMC,us.XJSZWMC,us.XB,us.JG,us.MZ,us.CSRQ,us.XL,us.SFZH,
  10. p.DZZMC,
  11. ryzt.HZMC as RYZTMC,
  12. xb.HZMC as XBMC,mz.HZMC as MZMC,xl.HZMC as XLMC,jszw.HZMC as JSZWMC,
  13. userinfo.USERNAME as MOBILE,us.DNZWMC as POST,
  14. dj.JRZGZZRQ as RDSJ,
  15. usfb.NL AS AGE,
  16. uszw.DNZW as DNZW,
  17. usfb.SFSLDRY,
  18. ifnull(usfb.LEADTYPE,0) as LEADTYPE,
  19. userinfo.USERNAME as
  20. userNo,usfb.gradeName,usfb.className,usfb.enrollmentDate,usfb.graduateDate,usfb.workDate,usfb.mobile as
  21. contactMobile,
  22. usfb.technologyPosition, usfb.isStudent,case when usfb.isStudent=1 then '是' else '否' end as isStudentName
  23. from VM_RYJBXX us -- 视图
  24. left join RS_RYJBXXFB usfb on us.RYBM=usfb.RYBM
  25. inner join ZZ_ZZQKXX p on us.SZDZBDM=p.DZZDM -- 党组织信息
  26. left join ZZ_ZZQKXXFB fb on p.DZZDM=fb.DZZDM
  27. left join Zzzd_ryzt ryzt on us.RYZT=ryzt.BM -- 人员状态
  28. left join zd_xbm xb on us.XB=xb.BM -- 性别
  29. left join zd_mzdm mz on us.MZ=mz.BM -- 民族
  30. left join zd_whcddm1 xl on us.XL=xl.BM -- 学历
  31. left join zd_zyjszwdm jszw on us.XJSZWMC=jszw.BM -- 技术专业职务
  32. left join CF_USERS userinfo on us.RYBM=userinfo.USERID
  33. left join ZZ_DJXX dj on us.RYBM=dj.RYBM
  34. left join vw_partyduty uszw on us.RYBM=uszw.RYBM -- 党内职务名称
  35. left join ZZ_ZZQKXX dw on SUBSTR(p.DZZDM,1,12)=dw.DZZDM
  36. left join VM_PARTYGROUP partyGroup on dw.DZZDM = partyGroup.DZZDM
  37. where 1=1
  38. <if test="dzzdm != null and dzzdm != ''">
  39. and p.DZZDM like concat(#{dzzdm},'%')
  40. </if>
  41. <if test="rybm != null and rybm != ''">
  42. and us.RYBM = #{rybm}
  43. </if>
  44. <if test="xm != null and xm != ''">
  45. and us.XM like concat('%',#{xm},'%')
  46. </if>
  47. <if test="zzlb != null and zzlb != ''">
  48. and fb.ZZLB = #{zzlb}
  49. </if>
  50. <if test="xb != null and xb != ''">
  51. and us.XB = #{xb}
  52. </if>
  53. <if test="zwjb != null and zwjb != ''">
  54. and us.ZWJB = #{zwjb}
  55. </if>
  56. <if test="sqrdrq_begin != null and sqrdrq_begin != ''">
  57. and dj.JRZGZZRQ <![CDATA[ >= ]]> #{sqrdrq_begin}
  58. </if>
  59. <if test="sqrdrq_end != null and sqrdrq_end != ''">
  60. and dj.JRZGZZRQ <![CDATA[ <= ]]> #{sqrdrq_end}
  61. </if>
  62. <if test="szdzb != null and szdzb != ''">
  63. and p.DZZMC like concat('%',#{szdzb},'%')
  64. </if>
  65. <if test="szdxz != null and szdxz != ''">
  66. </if>
  67. <if test="userIdList != null and userIdList.size()>0">
  68. and us.RYJBXXBS in
  69. <foreach collection="userIdList" item="userId" index="index" open="(" close=")" separator=",">
  70. #{userId}
  71. </foreach>
  72. </if>
  73. <if test="ryztList != null and ryztList.size()>0">
  74. and us.RYZT in
  75. <foreach collection="ryztList" item="ryzt" index="index" open="(" close=")" separator=",">
  76. #{ryzt}
  77. </foreach>
  78. </if>
  79. <if test="removeUserList != null and removeUserList.size()>0">
  80. and us.RYJBXXBS not in
  81. <foreach collection="removeUserList" item="userId" index="index" open="(" close=")" separator=",">
  82. #{userId}
  83. </foreach>
  84. </if>
  85. <if test="szdzbdm != null and szdzbdm != ''">
  86. and us.SZDZBDM = #{szdzbdm}
  87. </if>
  88. <if test="removeUsersOfRybmList != null and removeUsersOfRybmList.size()>0">
  89. and us.RYBM not in
  90. <foreach collection="removeUsersOfRybmList" item="rybm" index="index" open="(" close=")" separator=",">
  91. #{rybm}
  92. </foreach>
  93. </if>
  94. <if test="rybmList != null and rybmList.size()>0">
  95. and us.RYBM in
  96. <foreach collection="rybmList" item="rybm" index="index" open="(" close=")" separator=",">
  97. #{rybm}
  98. </foreach>
  99. </if>
  100. <if test="zzfbType != null">
  101. and SUBSTR(p.DZZDM,1,12) in(select DZZDM from ZZ_DZZFBQK where ZZFB= #{zzfbType})
  102. </if>
  103. <if test="mz != null and mz != ''">
  104. and us.MZ = #{mz}
  105. </if>
  106. <if test="dnzw != null and dnzw != ''">
  107. and uszw.DNZW like concat('%',#{dnzw},'%')
  108. </if>
  109. <if test="xl != null and xl != ''">
  110. and us.XL = #{xl}
  111. </if>
  112. <if test="age_begin != null and age_begin != ''">
  113. and usfb.NL <![CDATA[ >= ]]> #{age_begin}
  114. </if>
  115. <if test="age_end != null and age_end != ''">
  116. and usfb.NL <![CDATA[ <= ]]> #{age_end}
  117. </if>
  118. <if test="sfsldry != null">
  119. /*是否属领导人员*/
  120. and usfb.SFSLDRY = #{sfsldry}
  121. </if>
  122. <if test="zwmc != null and zwmc != ''">
  123. and us.ZWMC like concat('%',#{zwmc},'%')
  124. </if>
  125. <if test="sfzg != null">
  126. /*是否在岗*/
  127. <if test="sfzg == 1">
  128. and (us.GZGW not in('0500','0501','0502','0504') or us.GZGW is null)
  129. </if>
  130. <if test="sfzg == 0">
  131. and us.GZGW in('0500','0501','0502','0504')
  132. </if>
  133. </if>
  134. <if test="jczzfl != null and jczzfl != ''">
  135. and fb.JCZZFL = #{jczzfl}
  136. </if>
  137. <!--<if test="!islead">
  138. and nvl(usfb.leadtype,0)=0
  139. </if>-->
  140. <if test="partyGroupId != null and partyGroupId != ''">
  141. and partyGroup.GROUPID like concat('%',#{partyGroupId},'%')
  142. </if>
  143. <if test="mobile != null and mobile != ''">
  144. and userinfo.USERNAME like concat('%',#{mobile},'%')
  145. </if>
  146. <if test="sfzh != null and sfzh != ''">
  147. and us.sfzh like concat('%',#{sfzh},'%')
  148. </if>
  149. <if test="isStudent != null and isStudent==1">
  150. and usfb.isStudent = #{isStudent}
  151. </if>
  152. <if test="isStudent != null and isStudent==0">
  153. and (usfb.isStudent = #{isStudent} or usfb.isStudent is null)
  154. </if>
  155. <if test="leaderTeamUserType != null">
  156. and userinfo.USERNAME in (select no from lw_leaderteam where leaderTeamType=#{leaderTeamUserType})
  157. </if>
  158. order by CONVERT(us.XM USING gbk),us.RYJBXXBS
  159. </select>
  160. <!--所有用户基本信息-->
  161. <select id="selectAllUserList" resultType="java.util.HashMap">
  162. select us.USERTYPE,us.RYJBXXBS,us.RYBM,us.XM,us.SZDZBDM,us.RYZT,us.SQRDRQ,
  163. uszw.dnzw as ZWMC,
  164. us.DNZWMC,us.XJSZWMC,us.XB,us.JG,us.MZ,us.CSRQ,us.XL,us.SFZH,
  165. p.DZZMC,
  166. ryzt.HZMC as RYZTMC,
  167. xb.HZMC as XBMC,mz.HZMC as MZMC,xl.HZMC as XLMC,jszw.HZMC as JSZWMC,
  168. userinfo.USERNAME as MOBILE,us.DNZWMC as POST,
  169. dj.JRZGZZRQ as RDSJ,
  170. usfb.NL AS AGE,
  171. uszw.DNZW as DNZW,
  172. usfb.SFSLDRY,
  173. ifnull(usfb.LEADTYPE,0) as LEADTYPE,
  174. userinfo.USERNAME as
  175. userNo,usfb.gradeName,usfb.className,usfb.enrollmentDate,usfb.graduateDate,usfb.workDate,usfb.mobile as
  176. contactMobile,
  177. usfb.technologyPosition,userinfo.roleName
  178. from vm_ryjbxx_all us -- 视图
  179. left join RS_RYJBXXFB usfb on us.RYBM=usfb.RYBM
  180. inner join ZZ_ZZQKXX p on us.SZDZBDM=p.DZZDM -- 党组织信息
  181. left join ZZ_ZZQKXXFB fb on p.DZZDM=fb.DZZDM
  182. left join Zzzd_ryzt ryzt on us.RYZT=ryzt.BM -- 人员状态
  183. left join zd_xbm xb on us.XB=xb.BM -- 性别
  184. left join zd_mzdm mz on us.MZ=mz.BM -- 民族
  185. left join zd_whcddm1 xl on us.XL=xl.BM -- 学历
  186. left join zd_zyjszwdm jszw on us.XJSZWMC=jszw.BM -- 技术专业职务
  187. left join ZZ_DJXX dj on us.RYBM=dj.RYBM
  188. left join vw_partyduty uszw on us.RYBM=uszw.RYBM -- 党内职务名称
  189. left join (select us.USERID,us.USERNAME,GROUP_CONCAT(cr.ROLENAME SEPARATOR '、') as roleName from cf_users us
  190. left join cf_userroles cu on us.USERID = cu.USERID
  191. left join cf_roles cr on cu.ROLEID = cr.ROLEID
  192. group by us.USERID,us.USERNAME) userinfo on us.RYBM = userinfo.USERID
  193. where 1=1
  194. <if test="dzzdm != null and dzzdm != ''">
  195. and p.DZZDM like concat(#{dzzdm},'%')
  196. </if>
  197. <if test="szdzbdm != null and szdzbdm != ''">
  198. and us.SZDZBDM = #{szdzbdm}
  199. </if>
  200. <if test="zzlb != null and zzlb != ''">
  201. and fb.ZZLB = #{zzlb}
  202. </if>
  203. <if test="rybm != null and rybm != ''">
  204. and us.RYBM = #{rybm}
  205. </if>
  206. <if test="xm != null and xm != ''">
  207. and us.XM like concat('%',#{xm},'%')
  208. </if>
  209. <if test="xb != null and xb != ''">
  210. and us.XB = #{xb}
  211. </if>
  212. <if test="mz != null and mz != ''">
  213. and us.MZ = #{mz}
  214. </if>
  215. <if test="xl != null and xl != ''">
  216. and us.XL = #{xl}
  217. </if>
  218. <if test="mobile != null and mobile != ''">
  219. and userinfo.USERNAME like concat('%',#{mobile},'%')
  220. </if>
  221. <if test="ryztList != null and ryztList.size()>0">
  222. and us.RYZT in
  223. <foreach collection="ryztList" item="ryzt" index="index" open="(" close=")" separator=",">
  224. #{ryzt}
  225. </foreach>
  226. </if>
  227. <if test="userNo != null and userNo != ''">
  228. and userinfo.USERNAME like concat('%',#{userNo},'%')
  229. </if>
  230. order by CONVERT(us.XM USING gbk),us.RYJBXXBS
  231. </select>
  232. <!--所有党员基本信息-->
  233. <select id="selectAllUserByNameAndMobileList" resultType="java.util.HashMap">
  234. select us.USERTYPE,us.RYJBXXBS,us.RYBM,us.XM,us.SZDZBDM,us.RYZT,us.SQRDRQ,
  235. us.ZWMC,us.DNZWMC,us.XJSZWMC,us.XB,us.JG,us.MZ,us.CSRQ,us.XL,us.SFZH,
  236. p.DZZMC,
  237. xb.hzmc as XBMC,
  238. userinfo.USERNAME as MOBILE,
  239. usfb.NL AS age,
  240. uszw.dnzw as dnzw
  241. , case when fb.ZZLB='400' then p.dzzmc else branch.dzzmc end as partyBranchName
  242. , case when fb.ZZLB='400' then p.dzzdm else branch.dzzdm end as partyBranchCode
  243. ,dw.dzzmc as DWMC,dw.dzzdm as DWBM
  244. from VM_RYJBXX_ALL us -- 视图
  245. inner join CF_USERS userinfo on us.rybm=userinfo.USERID
  246. left join RS_RYJBXXFB usfb on us.RYBM=usfb.RYBM
  247. inner join ZZ_ZZQKXX p on us.szdzbdm=p.dzzdm -- 党组织信息
  248. left join ZZ_ZZQKXXFB fb on p.DZZDM=fb.DZZDM
  249. left join zd_xbm xb on us.xb=xb.bm -- 性别
  250. left join vw_partyduty uszw on us.rybm=uszw.rybm -- 党内职务名称
  251. left join ZZ_ZZQKXX branch on substr(p.DZZDM,0,length(p.DZZDM)-3) = branch.DZZDM
  252. left join ZZ_ZZQKXX dw on SUBSTR(p.DZZDM,0,12)=dw.DZZDM
  253. where 1=1
  254. <if test="userNameAndMobileList != null and userNameAndMobileList.size()>0">
  255. and CONCAT(us.XM ,userinfo.USERNAME) in
  256. <foreach collection="userNameAndMobileList" item="name" index="index" open="(" close=")" separator=",">
  257. #{name}
  258. </foreach>
  259. </if>
  260. order by us.XM
  261. </select>
  262. <!--党员基本信息-->
  263. <select id="selectPartyUserSingleExt" resultType="java.util.HashMap">
  264. select us.USERTYPE,us.RYJBXXBS,us.RYBM,us.XM,us.SZDZBDM,us.RYZT,us.SQRDRQ,
  265. uszw.dnzw as ZWMC,
  266. us.DNZWMC,us.XJSZWMC,us.XB,us.JG,us.MZ,us.CSRQ,us.XL,us.SFZH,
  267. p.DZZMC,
  268. ryzt.HZMC as RYZTMC,
  269. xb.HZMC as XBMC,mz.HZMC as MZMC,xl.HZMC as XLMC,jszw.HZMC as JSZWMC,
  270. userinfo.USERNAME as MOBILE,us.DNZWMC as POST,
  271. dj.JRZGZZRQ as RDSJ,
  272. usfb.NL AS AGE,
  273. uszw.DNZW as DNZW,
  274. usfb.SFSLDRY,
  275. ifnull(usfb.LEADTYPE,0) as LEADTYPE,
  276. userinfo.USERNAME as userNo,usfb.gradeName,usfb.className,usfb.enrollmentDate,usfb.graduateDate,usfb.workDate,usfb.mobile as contactMobile,
  277. usfb.technologyPosition
  278. from vm_ryjbxx_all us -- 视图
  279. left join RS_RYJBXXFB usfb on us.RYBM=usfb.RYBM
  280. inner join ZZ_ZZQKXX p on us.SZDZBDM=p.DZZDM -- 党组织信息
  281. left join ZZ_ZZQKXXFB fb on p.DZZDM=fb.DZZDM
  282. left join Zzzd_ryzt ryzt on us.RYZT=ryzt.BM -- 人员状态
  283. left join zd_xbm xb on us.XB=xb.BM -- 性别
  284. left join zd_mzdm mz on us.MZ=mz.BM -- 民族
  285. left join zd_whcddm1 xl on us.XL=xl.BM -- 学历
  286. left join zd_zyjszwdm jszw on us.XJSZWMC=jszw.BM -- 技术专业职务
  287. left join CF_USERS userinfo on us.RYBM=userinfo.USERID
  288. left join ZZ_DJXX dj on us.RYBM=dj.RYBM
  289. left join vw_partyduty uszw on us.RYBM=uszw.RYBM -- 党内职务名称
  290. left join ZZ_ZZQKXX dw on SUBSTR(p.DZZDM,1,12)=dw.DZZDM
  291. left join VM_PARTYGROUP partyGroup on dw.DZZDM = partyGroup.DZZDM
  292. where 1=1 and us.RYBM = #{rybm}
  293. </select>
  294. <!--党小组成员信息(已取消)-->
  295. <select id="selectDxzUserList" resultType="java.util.HashMap">
  296. /*不需要单独维护党小组*/
  297. <!--select us.*,p.DZZMC,z.hzmc as ZZLBMC,j.hzmc as JCZZFLMC,
  298. p_dxz.DZZMC as SZDXZMC,ryzt.hzmc as RYZTMC,xb.hzmc as XBMC,p_dxz.dzzdm as SZDXZBM
  299. from
  300. (
  301. select us.ryjbxxbs,us.rybm,us.szdzbdm,info.xm,
  302. info.zwjb,us.sqrdrq,info.xb,info.jg,
  303. info.mz,to_char(info.csrq,'yyyymmdd') as csrq,info.qrzxl as xl ,us.gzgw,us.ryzt,
  304. info.dwbm,info.bmbm,info.sfzh
  305. from ZZ_RYJBXX us
  306. left join gg_zgjbxx info on us.rybm = info.rybm
  307. /*union
  308. (select lwryjbxxbs as ryjbxxbs,rybm,szdzbdm,xm,
  309. zwjb,sqrdrq,xb,jg,
  310. mz,csrq,xwhcd as xl,gzgw,ryzt,
  311. dwbm,bmbm
  312. from ZZ_RYJBXX_LW)*/
  313. )
  314. us
  315. inner join ZZ_DXZCY dxz on us.rybm = dxz.rybm
  316. inner join ZZ_ZZQKXX p_dxz on dxz.dzzdm=p_dxz.dzzdm &#45;&#45;所在党小组
  317. inner join ZZ_ZZQKXX p on dxz.dzzdm=p.dzzdm &#45;&#45;所在党支部
  318. left join zzzd_zzlbdm z on p.zzlb = z.bm
  319. left join zzzd_jczzfl j on p.jczzfl = j.bm
  320. left join Zzzd_ryzt ryzt on us.ryzt=ryzt.bm
  321. left join zd_xbm xb on us.xb=xb.bm &#45;&#45; 性别
  322. where 1=1
  323. <if test="dzzdm != null and dzzdm != ''">
  324. and p_dxz.dzzdm = #{dzzdm}
  325. </if>
  326. <if test="rybm != null and rybm != ''">
  327. and us.rybm like '%'||#{rybm}||'%'
  328. </if>
  329. <if test="xm != null and xm != ''">
  330. and us.xm like '%'||#{xm}||'%'
  331. </if>
  332. <if test="zzlb != null and zzlb != ''">
  333. </if>
  334. <if test="zwjb != null and zwjb != ''">
  335. and us.zwjb = #{zwjb}
  336. </if>
  337. <if test="sqrdrq_begin != null and sqrdrq_begin != ''">
  338. and us.sqrdrq <![CDATA[ >= ]]> #{sqrdrq_begin}
  339. </if>
  340. <if test="sqrdrq_end != null and sqrdrq_end != ''">
  341. and us.sqrdrq <![CDATA[ <= ]]> #{sqrdrq_end}
  342. </if>
  343. <if test="szdzb != null and szdzb != ''">
  344. and p_dxz.DZZMC like '%'||#{szdzb}||'%'
  345. </if>
  346. <if test="szdxz != null and szdxz != ''">
  347. </if>
  348. <if test="removeUserList != null and removeUserList.size()>0">
  349. and us.ryjbxxbs not in
  350. <foreach collection="removeUserList" item="userId" index="index" open="(" close=")" separator=",">
  351. #{userId}
  352. </foreach>
  353. </if>
  354. <if test="removeUsersOfRybmList != null and removeUsersOfRybmList.size()>0">
  355. and us.rybm not in
  356. <foreach collection="removeUsersOfRybmList" item="rybm" index="index" open="(" close=")" separator=",">
  357. #{rybm}
  358. </foreach>
  359. </if>
  360. order by us.rybm-->
  361. </select>
  362. <!--党成员组织关系转移信息-->
  363. <select id="selectUserChangeDzzList" resultType="java.util.HashMap">
  364. select r.*,old_dzz.DZZMC as oldDzzmc,new_dzz.DZZMC as newDzzmc,us.XM,
  365. old_dzz.DZZDM,dic.DICVALUE as userPartyChangeStatusDesc,cfus.USERNAME as userNo
  366. from ZZ_ZZGXXX r
  367. inner join vm_ryjbxx us on r.rybm = us.rybm -- 党员信息视图
  368. inner join cf_users cfus on us.RYBM = cfus.USERID
  369. inner join ZZ_ZZQKXX old_dzz on r.szdzb=old_dzz.dzzdm -- 原党组织
  370. inner join ZZ_ZZQKXX new_dzz on r.newDzzdm=new_dzz.dzzdm -- 调离后党组织
  371. left join cf_dictionary dic on r.userPartyChangeStatus = dic.DICKEY and dic.DICTYPEKEY='UserPartyChangeStatus'
  372. where 1=1
  373. <if test="rybm != null and rybm != ''">
  374. and us.rybm like concat('%',#{rybm},'%')
  375. </if>
  376. <if test="xm != null and xm != ''">
  377. and us.xm like concat('%',#{xm},'%')
  378. </if>
  379. <if test="zlzbrq_begin != null and zlzbrq_begin != ''">
  380. and r.zlzbrq <![CDATA[ >= ]]> #{zlzbrq_begin}
  381. </if>
  382. <if test="zlzbrq_end != null and zlzbrq_end != ''">
  383. and r.zlzbrq <![CDATA[ <= ]]> #{zlzbrq_end}
  384. </if>
  385. <if test="dzzdm != null and dzzdm !=''">
  386. and (old_dzz.dzzdm like concat('',#{dzzdm},'%') or new_dzz.dzzdm like concat('',#{dzzdm},'%'))
  387. </if>
  388. order by r.zlzbrq desc
  389. </select>
  390. <!--未入党成员信息-->
  391. <select id="selectWsdzgjbxxList" resultType="java.util.HashMap">
  392. select distinct us.* from gg_zgjbxx us
  393. left join ZZ_RYJBXX r on us.rybm = r.rybm
  394. where 1=1 and r.rybm is null
  395. <if test="rybm != null and rybm != ''">
  396. and us.rybm like concat('%',#{rybm},'%')
  397. </if>
  398. <if test="xm != null and xm != ''">
  399. and us.xm like concat('%',#{xm},'%')
  400. </if>
  401. </select>
  402. <select id="selectPatyUserNumber" resultType="java.util.HashMap">
  403. select dzzmc,DZZDM,(select count(1) from VM_RYJBXX us inner join ZZ_ZZQKXX px on us.szdzbdm=px.dzzdm where us.szdzbdm like concat(p.DZZDM ,'%'))as usercount
  404. from ZZ_ZZQKXX p where 1=1
  405. and p.DZZDM like concat('',#{parentCode},'%')
  406. and length(p.DZZDM)=(length(#{parentCode})+3)
  407. </select>
  408. <!--路内党员基本信息-->
  409. <select id="selectUserInfoList" resultType="java.util.HashMap">
  410. select us.*,ry.SZDZBDM, z.HZMC as ZZLBMC,zwjb.HZMC as ZWJBMC,xb.HZMC as XBMC,mz.HZMC as MZMC,
  411. xl.HZMC as XLMC,zwmc.HZMC as ZWMCMC, jszw.HZMC as JSZWMC
  412. from gg_zgjbxx us
  413. left join ZZ_RYJBXX ry on us.rybm=ry.rybm
  414. left join ZZ_ZZQKXX p on ry.szdzbdm=p.dzzdm
  415. left join ZZ_ZZQKXXFB fb on p.DZZDM=fb.DZZDM
  416. left join zzzd_zzlbdmnew z on fb.zzlb = z.bm -- 组织类别
  417. left join zd_dzzwjbm2 zwjb on us.zwjb=zwjb.bm -- 职务级别
  418. left join zd_xbm xb on us.xb=xb.bm -- 性别
  419. left join zd_mzdm mz on us.mz=mz.bm -- 民族
  420. left join zd_whcddm1 xl on us.qrzxl=xl.bm -- 学历
  421. left join zd_dzzwmcm zwmc on us.zwmc=zwmc.bm -- 职位名称
  422. left join zd_zyjszwdm jszw on us.xjszwmc=jszw.bm -- 技术专业职务
  423. where 1=1
  424. <if test="rybm != null and rybm != ''">
  425. and us.rybm like concat('%',#{rybm},'%')
  426. </if>
  427. <if test="xm != null and xm != ''">
  428. and us.xm like concat('%',#{xm},'%')
  429. </if>
  430. order by us.rybm
  431. </select>
  432. <!--支委会开会成员-->
  433. <select id="selectLeaderUserList" resultType="java.util.HashMap">
  434. select distinct us.RYJBXXBS,us.RYBM,us.SZDZBDM,p.DZZMC, b.XM,zwmc.hzmc as ZWMC,t1.JC,
  435. us.SFZH ,xb.HZMC as XBMC,us.JG
  436. from ZZ_BZCYXX b
  437. inner join (
  438. select c.dzzdm,max(cast(c.jc as SIGNED INTEGER)) jc
  439. from ZZ_BZCYXX c
  440. group by c.dzzdm) t1 on b.dzzdm=t1.dzzdm and b.jc=t1.jc
  441. inner join vm_ryjbxx us on b.rybm=us.rybm
  442. inner join ZZ_ZZQKXX p on us.szdzbdm=p.dzzdm
  443. left join Zzzd_zwmc zwmc on b.zwmc = zwmc.bm
  444. left join zd_xbm xb on us.xb=xb.bm -- 性别
  445. where zwmc.hzmc in('总支书记','总支副书记','总支委员','支部书记','支部副书记','支部委员')
  446. and us.ryzt in('2','3') -- 预备党员,正式党员
  447. <if test="dzzdm != null and dzzdm != ''">
  448. and b.dzzdm like concat('',#{dzzdm},'%')
  449. </if>
  450. <if test="szdzbdm != null and szdzbdm != ''">
  451. and b.dzzdm = #{szdzbdm}
  452. </if>
  453. <if test="rybm != null and rybm != ''">
  454. and us.rybm like concat('%',#{rybm},'%')
  455. </if>
  456. <if test="xm != null and xm != ''">
  457. and b.xm like concat('%',#{xm},'%')
  458. </if>
  459. <if test="userIdList != null and userIdList.size()>0">
  460. and us.ryjbxxbs in
  461. <foreach collection="userIdList" item="userId" index="index" open="(" close=")" separator=",">
  462. #{userId}
  463. </foreach>
  464. </if>
  465. <if test="removeUserList != null and removeUserList.size()>0">
  466. and us.ryjbxxbs not in
  467. <foreach collection="removeUserList" item="userId" index="index" open="(" close=")" separator=",">
  468. #{userId}
  469. </foreach>
  470. </if>
  471. <if test="removeUsersOfRybmList != null and removeUsersOfRybmList.size()>0">
  472. and us.rybm not in
  473. <foreach collection="removeUsersOfRybmList" item="rybm" index="index" open="(" close=")" separator=",">
  474. #{rybm}
  475. </foreach>
  476. </if>
  477. order by us.szdzbdm
  478. </select>
  479. <select id="selectMZPYList" resultType="java.util.HashMap">
  480. select p.*,pyjg.HZMC as pyjgmc from ZZ_MZPYXX p
  481. left join ZZZD_PYJG pyjg on p.PYJG=pyjg.BM
  482. where 1=1
  483. <if test="rybm != null and rybm != ''">
  484. and p.rybm = #{rybm}
  485. </if>
  486. order by p.KZPYRQ desc
  487. </select>
  488. <select id="selectPXQKList" resultType="java.util.HashMap">
  489. select pxqk.*,pxdd.HZMC as PXDDMC,xs.HZMC as PXXSMC,mc.hzmc as PXMCMZ,jg.HZMC as PXJGMZ from ZZ_PXQK pxqk
  490. left join ZZZD_PXDDDM pxdd on pxqk.PXDD = pxdd.bm
  491. left join ZZZD_PXXSDM xs on pxqk.PXXS=xs.bm
  492. left join ZZZD_PXMC mc on pxqk.PXMC=mc.bm
  493. left join ZZZD_PXJG jg on pxqk.PXJG=jg.bm
  494. where 1=1
  495. <if test="rybm != null and rybm != ''">
  496. and pxqk.rybm = #{rybm}
  497. </if>
  498. order by pxqk.PXKSSJ desc
  499. </select>
  500. <!--党员基本信息-->
  501. <select id="selectPartyUserListForSearch" resultType="java.util.HashMap">
  502. select us.USERTYPE,us.RYJBXXBS,us.RYBM,us.XM,us.SZDZBDM,us.RYZT,us.SQRDRQ,
  503. us.ZWMC,us.DNZWMC,us.XJSZWMC,us.XB,us.JG,us.MZ,us.CSRQ,us.XL,us.SFZH,
  504. p.DZZMC,
  505. ryzt.HZMC as RYZTMC,
  506. xb.HZMC as XBMC,mz.HZMC as MZMC,xl.HZMC as XLMC,jszw.HZMC as JSZWMC,
  507. dj.JRZGZZRQ as RDSJ,
  508. usfb.NL AS AGE,
  509. uszw.DNZW as DNZW,
  510. usfb.SFZG,
  511. dj.ZZRQ,
  512. if(jlcf.USERID,1,0) as SFZYXQ,
  513. dw.DZZDM as DWDM,dw.DZZMC as DWMC
  514. from VM_RYJBXX us -- 视图
  515. left join RS_RYJBXXFB usfb on us.RYBM=usfb.RYBM
  516. inner join ZZ_ZZQKXX p on us.szdzbdm=p.dzzdm -- 党组织信息
  517. inner join ZZ_ZZQKXX dw on SUBSTR(us.szdzbdm,1,12) = dw.DZZDM -- 党委信息
  518. left join ZZ_ZZQKXXFB fb on p.DZZDM=fb.DZZDM
  519. left join Zzzd_ryzt ryzt on us.ryzt=ryzt.bm -- 人员状态
  520. left join zd_xbm xb on us.xb=xb.bm -- 性别
  521. left join zd_mzdm mz on us.mz=mz.bm -- 民族
  522. left join zd_whcddm1 xl on us.xl=xl.bm -- 学历
  523. left join zd_zyjszwdm jszw on us.xjszwmc=jszw.bm -- 技术专业职务
  524. left join ZZ_DJXX dj on us.RYBM=dj.RYBM
  525. left join vw_partyduty uszw on us.rybm=uszw.rybm -- 党内职务名称
  526. left join (
  527. select USERID from DJ_JLCFXX j where j.YXKSRQ <![CDATA[ <= ]]> CURDATE() and j.YXJSRQ <![CDATA[ >= ]]> CURDATE() group
  528. by USERID
  529. ) jlcf on us.RYBM=jlcf.USERID
  530. where 1=1
  531. <if test="dzzdm != null and dzzdm != ''">
  532. and p.dzzdm like concat('',#{dzzdm},'%')
  533. </if>
  534. <if test="dzzmc != null and dzzmc != ''">
  535. and p.dzzmc like concat('%',#{dzzmc},'%')
  536. </if>
  537. <if test="xm != null and xm != ''">
  538. and us.xm like concat('%',#{xm},'%')
  539. </if>
  540. <if test="csrq_begin != null and csrq_begin != ''">
  541. and us.csrq <![CDATA[ >= ]]> #{csrq_begin}
  542. </if>
  543. <if test="csrq_end != null and csrq_end != ''">
  544. and us.csrq <![CDATA[ <= ]]> #{csrq_end}
  545. </if>
  546. <if test="age_begin != null and age_begin != ''">
  547. and usfb.NL <![CDATA[ >= ]]> #{age_begin}
  548. </if>
  549. <if test="age_end != null and age_end != ''">
  550. and usfb.NL <![CDATA[ <= ]]> #{age_end}
  551. </if>
  552. <if test="rdsj_begin != null and rdsj_begin != ''">
  553. and dj.jrzgzzrq <![CDATA[ >= ]]> #{rdsj_begin}
  554. </if>
  555. <if test="rdsj_end != null and rdsj_end != ''">
  556. and dj.jrzgzzrq <![CDATA[ <= ]]> #{rdsj_end}
  557. </if>
  558. <if test="zzsj_begin != null and zzsj_begin != ''">
  559. and dj.zzrq <![CDATA[ >= ]]> #{zzsj_begin}
  560. </if>
  561. <if test="zzsj_end != null and zzsj_end != ''">
  562. and dj.zzrq <![CDATA[ <= ]]> #{zzsj_end}
  563. </if>
  564. <if test="jg != null and jg != ''">
  565. and us.jg like concat('%',#{jg},'%')
  566. </if>
  567. <if test="dnzw != null and dnzw.size()>0">
  568. and uszw.dnzw in
  569. <foreach collection="dnzw" item="dnzw" index="index" open="(" close=")" separator=",">
  570. #{dnzw}
  571. </foreach>
  572. </if>
  573. <if test="xzzw != null and xzzw.size()>0">
  574. and
  575. <foreach collection="xzzw" item="xzzw" index="index" open="(" close=")" separator="OR">
  576. us.zwmc like concat('%',#{xzzw},'%')
  577. </foreach>
  578. </if>
  579. <if test="jszw != null and jszw.size()>0">
  580. and us.xjszwmc in
  581. <foreach collection="jszw" item="jszw" index="index" open="(" close=")" separator=",">
  582. #{jszw}
  583. </foreach>
  584. </if>
  585. <if test="xl != null and xl.size()>0">
  586. and us.xl in
  587. <foreach collection="xl" item="xl" index="index" open="(" close=")" separator=",">
  588. #{xl}
  589. </foreach>
  590. </if>
  591. <if test="xb != null and xb.size()>0">
  592. and us.xb in
  593. <foreach collection="xb" item="xb" index="index" open="(" close=")" separator=",">
  594. #{xb}
  595. </foreach>
  596. </if>
  597. <if test="gwzt != null and gwzt.size()>0">
  598. and usfb.SFZG in
  599. <foreach collection="gwzt" item="gwzt" index="index" open="(" close=")" separator=",">
  600. #{gwzt}
  601. </foreach>
  602. </if>
  603. <if test="zzmm != null and zzmm.size()>0">
  604. and us.ryzt in
  605. <foreach collection="zzmm" item="zzmm" index="index" open="(" close=")" separator=",">
  606. #{zzmm}
  607. </foreach>
  608. </if>
  609. <if test="mz != null and mz.size()>0">
  610. and us.mz in
  611. <foreach collection="mz" item="mz" index="index" open="(" close=")" separator=",">
  612. #{mz}
  613. </foreach>
  614. </if>
  615. <if test="pxpy_year !=null or pxpy_level !=null or (pxpy_type != null and pxpy_type.size()>0)">
  616. and us.RYBM in
  617. (
  618. select pxry.USERID from DJ_DNPXXX dnpx
  619. inner join DJ_DNPXRY pxry on dnpx.ID=pxry.DNPXID
  620. where 1=1
  621. <if test="pxpy_year != null">
  622. and date_format(dnpx.honourtime,'%Y') = #{pxpy_year}
  623. </if>
  624. <if test="pxpy_level != null">
  625. and dnpx.honourlevel = #{pxpy_level}
  626. </if>
  627. <if test="pxpy_type != null and pxpy_type.size()>0">
  628. and dnpx.honourtype in
  629. <foreach collection="pxpy_type" item="pxpy_type" index="index" open="(" close=")" separator=",">
  630. #{pxpy_type}
  631. </foreach>
  632. </if>
  633. )
  634. </if>
  635. <!-- <if test="!islead">-->
  636. <!-- and usfb.leadtype != 1-->
  637. <!-- </if>-->
  638. <if test="sfzyxq != null">
  639. <if test="sfzyxq == 1">
  640. and jlcf.USERID is not null
  641. </if>
  642. <if test="sfzyxq == 0">
  643. and jlcf.USERID is null
  644. </if>
  645. </if>
  646. order by CONVERT(us.XM USING gbk),us.RYJBXXBS
  647. </select>
  648. <select id="selectUserContactpoint" resultType="java.util.HashMap">
  649. select ucp.RYBM,us.XM,z.DZZDM,z.DZZMC
  650. from US_USERCONTACTPOINT ucp
  651. inner join VM_RYJBXX us on ucp.RYBM=us.RYBM
  652. inner join ZZ_ZZQKXX z on ucp.DZZDM=z.DZZDM
  653. where 1=1 and ucp.RYBM=#{rybm}
  654. order by z.DZZDM
  655. </select>
  656. <select id="getZZZD_ZZQK_Name" resultType="java.util.HashMap">
  657. select BM,HZMC from ZZZD_ZZQK
  658. where BM= #{bm,jdbcType=VARCHAR}
  659. </select>
  660. <select id="selectUserListByName" resultType="java.util.HashMap">
  661. select us.USERTYPE,us.RYJBXXBS,us.RYBM,us.XM,us.SZDZBDM,us.RYZT,us.SQRDRQ,
  662. us.ZWMC,us.DNZWMC,us.XJSZWMC,us.XB,us.JG,us.MZ,us.CSRQ,us.XL,us.SFZH,
  663. p.DZZMC,usfb.ISSTUDENT
  664. from VM_RYJBXX us -- 视图
  665. inner join ZZ_ZZQKXX p on us.szdzbdm=p.dzzdm -- 党组织信息
  666. left join RS_RYJBXXFB usfb on us.RYBM=usfb.RYBM
  667. where 1=1
  668. <if test="userNameList != null and userNameList.size()>0">
  669. and concat(us.XM,p.DZZMC) in
  670. <foreach collection="userNameList" item="name" index="index" open="(" close=")" separator=",">
  671. #{name}
  672. </foreach>
  673. </if>
  674. order by CONVERT(us.XM USING gbk),us.RYJBXXBS
  675. </select>
  676. <select id="selectUserInfo" resultType="com.ghsc.partybuild.vo.PartyUserInfoVo">
  677. select us.USERTYPE,us.RYJBXXBS,us.RYBM,us.XM,us.SZDZBDM,us.RYZT,
  678. us.ZWMC,us.XJSZWMC,us.XB,us.JG,us.MZ,us.CSRQ,us.XL,us.SFZH,
  679. p.DZZMC,
  680. ryzt.HZMC as ryztmc,
  681. xb.HZMC as xbmc,mz.HZMC as mzmc,xl.HZMC as xlmc,jszw.HZMC as jszwmc,
  682. userinfo.USERNAME as mobile,
  683. dj.JRZGZZRQ as rdsj,
  684. dj.ZZRQ as zzsj,
  685. usfb.NL as age,
  686. uszw.DNZW as dnzw,
  687. djfb.SFLDDY,
  688. djfb.SFSLDY,
  689. usfb.isStudent,
  690. usfb.partyDuesStartMonth
  691. from vm_ryjbxx_all us -- 视图
  692. left join RS_RYJBXXFB usfb on us.RYBM=usfb.RYBM
  693. inner join ZZ_ZZQKXX p on us.szdzbdm=p.dzzdm -- 党组织信息
  694. left join ZZ_ZZQKXXFB fb on p.DZZDM=fb.DZZDM
  695. left join Zzzd_ryzt ryzt on us.ryzt=ryzt.bm -- 人员状态
  696. left join zd_xbm xb on us.xb=xb.bm -- 性别
  697. left join zd_mzdm mz on us.mz=mz.bm -- 民族
  698. left join zd_whcddm1 xl on us.xl=xl.bm -- 学历
  699. left join zd_zyjszwdm jszw on us.xjszwmc=jszw.bm -- 技术专业职务
  700. left join CF_USERS userinfo on us.rybm=userinfo.USERID
  701. left join ZZ_DJXX dj on us.RYBM=dj.RYBM
  702. left join ZZ_DJXXFB djfb on us.RYBM = djfb.RYBM
  703. left join vw_partyduty uszw on us.rybm=uszw.rybm -- 党内职务名称
  704. where 1=1 and us.RYBM=#{rybm}
  705. </select>
  706. <select id="selectUserLeaderTotalList" resultType="com.ghsc.partybuild.vo.UserLeaderTotalVo">
  707. select DICKEY as leaderType,
  708. d.DICVALUE as leaderTypeName,
  709. d.RYBM as rybm,
  710. d.XM as xm,
  711. ifnull(t.count, 0) as count,
  712. '1次/季' as totalTypeName,
  713. 1 as totalType,
  714. 1 as baseCount
  715. from (
  716. select DICTYPEKEY,DICKEY,DICVALUE,RYBM,XM,XMPY,SZDZBDM
  717. from CF_DICTIONARY,
  718. VM_RYJBXX
  719. where DICTYPEKEY = 'leaderType'
  720. and DICKEY in (1, 3)
  721. <if test="rybm != null and rybm != ''">
  722. and RYBM = #{rybm}
  723. </if>
  724. ) d
  725. left join (select u.USERCODE,u.LEADERTYPE,count(*) as count
  726. from US_USERLEADER U
  727. where 1 = 1
  728. <if test="rybm != null and rybm != ''">
  729. and u.USERCODE = #{rybm}
  730. </if>
  731. and date_format(LEADERTIME,'%Y') = #{year}
  732. and QUARTER(LEADERTIME) = #{quarter}
  733. group by u.USERCODE,u.LEADERTYPE
  734. ) t on d.dickey = t.LEADERTYPE and d.RYBM = t.USERCODE
  735. union
  736. select dickey as LEADERTYPE,
  737. d.DICVALUE as LEADERTYPENAME,
  738. d.RYBM,
  739. d.XM,
  740. ifnull(t.count, 0) as COUNT,
  741. '1次/年' as totalTypeName,
  742. 2 as totalType,
  743. 1 as baseCount
  744. from (select DICTYPEKEY,DICKEY,DICVALUE,RYBM,XM,XMPY,SZDZBDM
  745. from CF_DICTIONARY,
  746. VM_RYJBXX
  747. where DICTYPEKEY = 'leaderType'
  748. and DICKEY in (2, 4, 5, 7, 8)
  749. <if test="rybm != null and rybm != ''">
  750. and RYBM = #{rybm}
  751. </if>
  752. ) d
  753. left join (select u.USERCODE,u.LEADERTYPE,count(*) as count
  754. from US_USERLEADER U
  755. where 1 = 1
  756. <if test="rybm != null and rybm != ''">
  757. and u.USERCODE = #{rybm}
  758. </if>
  759. and date_format(LEADERTIME,'%Y') = #{year}
  760. group by u.USERCODE,u.LEADERTYPE
  761. ) t on d.dickey = t.LEADERTYPE and d.RYBM = t.USERCODE
  762. union -- 落实联系点制度(直属机关党委2次/年,其他党委4次/年)
  763. select dickey as LEADERTYPE,
  764. d.DICVALUE as LEADERTYPENAME,
  765. d.RYBM,
  766. d.XM,
  767. ifnull(t.count, 0) as COUNT,
  768. (case when dw.DZZDM='001091209013' and dw2.zzlb not in('100') then '2次/年' else '4次/年' end)as totalTypeName,
  769. (case when dw.DZZDM='001091209013' and dw2.zzlb not in('100') then 3 else 4 end) as totalType,
  770. (case when dw.DZZDM='001091209013' and dw2.zzlb not in('100') then 2 else 4 end) as baseCount
  771. from (select DICTYPEKEY,DICKEY,DICVALUE,RYBM,XM,XMPY,SZDZBDM
  772. from CF_DICTIONARY,
  773. VM_RYJBXX
  774. where DICTYPEKEY = 'leaderType'
  775. and DICKEY in (6)
  776. <if test="rybm != null and rybm != ''">
  777. and RYBM = #{rybm}
  778. </if>
  779. ) d
  780. inner join ZZ_ZZQKXX dw on SUBSTR(d.SZDZBDM,1,12)=dw.DZZDM
  781. left join (
  782. select zz2.DZZDM,zz2.DZZMC,fb2.ZZLB from ZZ_ZZQKXX zz2 inner join ZZ_ZZQKXXFB fb2 on zz2.DZZDM=fb2.DZZDM
  783. ) dw2 on SUBSTR(d.SZDZBDM,1,15)=dw2.DZZDM
  784. left join (select u.USERCODE,u.LEADERTYPE,count(*) as count
  785. from US_USERLEADER U
  786. where 1 = 1
  787. <if test="rybm != null and rybm != ''">
  788. and u.USERCODE = #{rybm}
  789. </if>
  790. and date_format(LEADERTIME,'%Y') = #{year}
  791. group by u.USERCODE,u.LEADERTYPE
  792. ) t on d.dickey = t.LEADERTYPE and d.RYBM = t.USERCODE
  793. </select>
  794. <update id="deleteZzRyjbxx" parameterType="java.lang.String">
  795. delete from zz_ryjbxx where RYBM = #{userCode}
  796. </update>
  797. <update id="deleteDjxx" parameterType="java.lang.String">
  798. delete from zz_djxx where RYBM = #{userCode}
  799. </update>
  800. <update id="deleteGgZgjbxx" parameterType="java.lang.String">
  801. delete from gg_zgjbxx where RYBM = #{userCode}
  802. </update>
  803. <update id="deleteRyjbxxfb" parameterType="java.lang.String">
  804. delete from rs_ryjbxxfb where RYBM = #{userCode}
  805. </update>
  806. <update id="deleteUserRole" parameterType="java.lang.String">
  807. delete from cf_userroles where USERID = #{userCode}
  808. </update>
  809. <update id="deleteUser" parameterType="java.lang.String">
  810. delete from cf_users where USERID = #{userCode}
  811. </update>
  812. <insert id="batchInsertUserPartyOfMonth">
  813. delete from us_party_month where yearMonth = #{yearMonth};
  814. insert ignore into us_party_month (yearMonth, userCode, partyCode
  815. )
  816. select #{yearMonth},um.userCode,um.partyCode_by_yearMonth from (
  817. select us.RYBM as userCode,
  818. case when pc.oldPartyCode is not null then pc.oldPartyCode else us.SZDZBDM end as partyCode_by_yearMonth
  819. from zz_ryjbxx us
  820. inner join zz_djxx zd on us.RYBM = zd.RYBM
  821. left join (select chg.RYBM, min(chg.newDzzdm) as newPartyCode, min(chg.SZDZB) as oldPartyCode
  822. from zz_zzgxxx chg
  823. inner join (select RYBM, min(cast(chg.ZLZBRQ as signed)) as maxChangeDate
  824. from zz_zzgxxx chg
  825. where chg.newDzzdm is not null
  826. and chg.userPartyChangeStatus = 2
  827. and cast(substr(chg.ZLZBRQ, 1, 6) as signed) > #{yearMonth}
  828. group by RYBM) m on chg.RYBM = m.RYBM and chg.ZLZBRQ = m.maxChangeDate
  829. group by chg.RYBM) pc on us.RYBM = pc.RYBM
  830. inner join rs_ryjbxxfb fb on us.RYBM = fb.RYBM
  831. where us.RYZT in ('2', '3') and cast(substr(zd.JRZGZZRQ, 1, 6) as signed) <![CDATA[ <= ]]> #{yearMonth}
  832. and (fb.ISARCHIVE is null
  833. or fb.ISARCHIVE = 0
  834. or (fb.ISARCHIVE = 1 and cast(substr(DATE_FORMAT(fb.archiveDate, '%Y%m%d'), 1, 6) as signed) <![CDATA[ >= ]]> #{yearMonth}))
  835. ) um
  836. left join us_party_month upm on um.userCode=upm.userCode and upm.yearMonth=#{yearMonth}
  837. where upm.userCode is null
  838. </insert>
  839. <update id="batchUpdateUserPartyOfMonth">
  840. update us_party_month upm inner join (
  841. select us.RYBM as userCode,
  842. case when cast(substr(zd.JRZGZZRQ, 1, 6) as signed) <![CDATA[ > ]]> #{yearMonth} then ''
  843. when pc.oldPartyCode is not null then pc.oldPartyCode else us.SZDZBDM end as partyCode_by_yearMonth
  844. from zz_ryjbxx us
  845. inner join zz_djxx zd on us.RYBM = zd.RYBM
  846. left join (select chg.RYBM, min(chg.newDzzdm) as newPartyCode, min(chg.SZDZB) as oldPartyCode
  847. from zz_zzgxxx chg
  848. inner join (select RYBM, min(cast(chg.ZLZBRQ as signed)) as maxChangeDate
  849. from zz_zzgxxx chg
  850. where chg.newDzzdm is not null
  851. and chg.userPartyChangeStatus = 2
  852. and cast(substr(chg.ZLZBRQ, 1, 6) as signed) > #{yearMonth}
  853. group by RYBM) m on chg.RYBM = m.RYBM and chg.ZLZBRQ = m.maxChangeDate
  854. group by chg.RYBM) pc on us.RYBM = pc.RYBM
  855. inner join rs_ryjbxxfb fb on us.RYBM = fb.RYBM
  856. where us.RYZT in ('2', '3') and zd.JRZGZZRQ is not null
  857. ) um
  858. on upm.userCode = um.userCode and upm.yearMonth=#{yearMonth}
  859. set upm.partyCode=um.partyCode_by_yearMonth
  860. where 1=1;
  861. </update>
  862. </mapper>