SHYKCQuery.xml 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611
  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.SHYKCQuery">
  4. <select id="selectMeetingList" resultType="java.util.HashMap">
  5. SELECT m.MEETINGID,
  6. m.MEETINGNAME,
  7. m.SHYKTYPE,
  8. z.DZZMC as PARTYNAME,
  9. m.PARTYCODE,
  10. m.MEETINGADDRESS,
  11. m.CHAIRUSER,
  12. m.RECORDUSER,
  13. m.BEGINTIME,
  14. m.ENDTIME,
  15. m.ISTEMP,
  16. m.SHYKSTATUS,
  17. m.CREATETIME,
  18. m.CREATEUSERID,
  19. m.CREATEUSERNAME,
  20. m.UPDATETIME,
  21. m.UPDATEUSERID,
  22. m.UPDATEUSERNAME,
  23. m.MEETINGAPPROVESTATUS,
  24. m.MEETINGAPPROVEUSERNAME,
  25. m.DECISIONSTATUS,-- 决议填写状态 0保存中,1已提交
  26. m.ISUPLOADIMG, -- 是否上传会议图片 0未上传,1已上传
  27. m.MEETINGRECORDSTATE,-- 会议填写状态 0保存中,1已提交
  28. SUBSTR(m.PARTYCODE,1,12) as DWDZZDM,
  29. dw.DZZMC as DWMC
  30. , m.isFirstTopic
  31. , m.topicContent
  32. , st.shykTypes
  33. , st.shykTypeNames
  34. FROM SHYK_MEETING m
  35. inner join ZZ_ZZQKXX z on m.partycode=z.dzzdm
  36. inner join ZZ_ZZQKXX dw on SUBSTR(m.partycode,1,12)=dw.DZZDM
  37. inner join (
  38. select t.meetingId
  39. , GROUP_CONCAT(shykType order by shykType SEPARATOR ', ') as shykTypes
  40. , GROUP_CONCAT(dic.DICVALUE order by shykType SEPARATOR ', ') as shykTypeNames
  41. from SHYK_Meeting_Type t
  42. inner join cf_dictionary dic on t.shykType = dic.DICKEY and dic.DICTYPEKEY = 'shykType'
  43. where 1=1
  44. group by meetingId
  45. ) st on m.meetingId = st.meetingId
  46. <if test="shykType != null and shykType.size()>0">
  47. inner join (
  48. select meetingId from SHYK_Meeting_Type where 1=1
  49. and shykType in
  50. <foreach collection="shykType" item="shyktype" index="index" open="(" close=")" separator=",">
  51. #{shyktype}
  52. </foreach>
  53. group by meetingId
  54. ) tt on m.meetingId = tt.meetingId
  55. </if>
  56. where 1=1 and m.OPERATESTATE in ('A','M')
  57. <if test="partyCode != null and partyCode != ''">
  58. and m.partyCode like concat('',#{partyCode},'%')
  59. </if>
  60. <if test="meetingName != null and meetingName != ''">
  61. and m.meetingName like concat('%',#{meetingName},'%')
  62. </if>
  63. <if test="meetingAddress != null and meetingAddress != ''">
  64. and m.meetingAddress like concat('%',#{meetingAddress},'%')
  65. </if>
  66. <if test="shykStatus != null">
  67. and m.shykStatus = #{shykStatus}
  68. </if>
  69. <if test="beginTime != null and beginTime != '' ">
  70. and m.beginTime <![CDATA[ >= ]]> date_format(#{beginTime},'%Y%m%d')
  71. </if>
  72. <if test="endTime != null and endTime != '' ">
  73. and m.beginTime <![CDATA[ < ]]> date_add(date_format(#{endTime},'%Y%m%d'),interval 1 day)
  74. </if>
  75. <if test="ssdzzdm != null and ssdzzdm != ''">
  76. and m.partyCode = #{ssdzzdm}
  77. </if>
  78. order by m.BEGINTIME desc
  79. </select>
  80. <select id="selectMeetingListAllCount" resultType="java.lang.Long">
  81. SELECT count(1)
  82. FROM SHYK_MEETING m
  83. inner join ZZ_ZZQKXX z on m.PARTYCODE=z.DZZDM
  84. where m.OPERATESTATE in ('A','M') and m.SHYKSTATUS <![CDATA[ <> ]]> 2
  85. <if test="partyCode != null and partyCode != ''">
  86. and m.PARTYCODE like concat('%',#{partyCode},'%')
  87. </if>
  88. <if test="meetingName != null and meetingName != ''">
  89. and m.MEETINGNAME like concat('%',#{meetingName},'%')
  90. </if>
  91. <if test="meetingAddress != null and meetingAddress != ''">
  92. and m.MEETINGADDRESS like concat('%',#{meetingAddress},'%')
  93. </if>
  94. <if test="shykStatus != null">
  95. and m.SHYKSTATUS = #{shykStatus}
  96. </if>
  97. <if test="beginTime != null and beginTime != '' ">
  98. and m.BEGINTIME <![CDATA[ >= ]]> date_format(#{beginTime},'%Y%m%d')
  99. </if>
  100. <if test="endTime != null and endTime != '' ">
  101. and m.BEGINTIME <![CDATA[ < ]]> date_add(date_format(#{endTime},'%Y%m%d'),interval 1 day)
  102. </if>
  103. <if test="day != null and day != '' ">
  104. </if>
  105. <if test="shykType != null and shykType.size()>0">
  106. and m.SHYKTYPE in
  107. <foreach collection="shykType" item="shyktype" index="index" open="(" close=")" separator=",">
  108. #{shyktype}
  109. </foreach>
  110. </if>
  111. <if test="ssdzzdm != null and ssdzzdm != ''">
  112. and m.PARTYCODE = #{ssdzzdm}
  113. </if>
  114. </select>
  115. <!--选择议题-->
  116. <select id="selectTopicModelListOfChoose" resultType="java.util.HashMap">
  117. select m.ID,m.MBMC,m.SHYKLX,m.CJRQ,m.SORT,t.MEETINGTOPICID from shyk_mb_ytmb m
  118. left join shyk_meetingtopic t on m.ID=t.MODELID and t.MEETINGID=#{meetingId} and t.OPERATESTATE <![CDATA[ <> ]]>
  119. 'D'
  120. where 1=1 and m.OPERATESTATE <![CDATA[ <> ]]> 'D'
  121. <if test="shykType != null">
  122. and m.SHYKLX = #{shykType}
  123. </if>
  124. order by m.SORT
  125. </select>
  126. <select id="selectMeetingUserList" resultType="java.util.HashMap">
  127. select mu.MEETINGUSERID, mu.MEETINGID,mu.USERNAME,mu.USERCODE, mu.PARTYNAME,mu.PARTYCODE,
  128. mu.SIGNINSTATUS,mu.SIGNINUSERCODE,mu.SIGNINUSERNAME,mu.SIGNINTIME,mu.CHECKINSTATUS,
  129. mu.CHECKINUSERCODE,mu.CHECKINUSERNAME, mu.CHECKINTIME,mu.USERREMARK,mu.APPROVESTATUS, mu.APPROVEOPINION,
  130. mu.APPROVEUSERCODE,mu.APPROVEUSERNAME,mu.MAKEUUPSTUDY,
  131. u.XM,u.SFZH,u.JG,p.DZZMC,xb.HZMC as XBMC,mu.USERCODE as RYBM,u.RYJBXXBS,u.SZDZBDM,
  132. (case when ue.MEETINGUSERID is not null then 1 else 0 end) as ISEVALUATE
  133. from SHYK_MeetingUser mu
  134. inner join VM_RYJBXX u on mu.USERCODE = u.RYBM
  135. inner join ZZ_ZZQKXX p on u.SZDZBDM=p.DZZDM
  136. left join zd_xbm xb on u.XB=xb.BM -- 性别
  137. left join SHYK_USEREVALUATE ue on mu.MEETINGUSERID=ue.MEETINGUSERID and ue.OPERATESTATE not in('D')
  138. where mu.MEETINGID=#{meetingId}
  139. and mu.OPERATESTATE <![CDATA[ <> ]]> 'D'
  140. order by mu.PARTYCODE,mu.USERCODE
  141. </select>
  142. <select id="selectMeetingDemocracyReviewList" resultType="com.ghsc.partybuild.vo.shyk.MeetingDemocracyReviewVo">
  143. select mdr.democracyreviewid ,mdr.meetingid,mdr.usercode,mdr.startdate,mdr.enddate,mdr.democracyreviewresulttype
  144. ,mdr.createtime,mdr.createuserid,mdr.updatetime,mdr.updateuserid
  145. ,p.dzzdm as partyCode,p.dzzmc as partyName,us.xm as userName
  146. ,dic.DICVALUE as democracyReviewResultTypeName
  147. from SHYK_Meeting_DemocracyReview mdr
  148. inner join vm_ryjbxx us on mdr.userCode = us.rybm
  149. inner join zz_zzqkxx p on us.SZDZBDM = p.dzzdm
  150. inner join cf_dictionary dic on dic.DICKEY = mdr.democracyreviewresulttype and dic.DICTYPEKEY='DemocracyReviewResultType'
  151. where mdr.meetingId = #{meetingId}
  152. order by p.dzzdm,CONVERT(us.XM USING gbk)
  153. </select>
  154. <select id="selectMeetingTypeList" resultType="com.ghsc.partybuild.vo.shyk.MeetingTypeVo">
  155. select mt.meetingid,mt.shyktype,dic.DICVALUE as shykTypeName
  156. from SHYK_Meeting_Type mt
  157. inner join cf_dictionary dic on dic.DICKEY = mt.shykType and dic.DICTYPEKEY='shykType'
  158. where mt.meetingId = #{meetingId}
  159. order by mt.shykType
  160. </select>
  161. <select id="selectMeetingTopicList" resultType="java.util.HashMap">
  162. select * from shyk_meetingtopic
  163. where MEETINGID=#{meetingId} and OPERATESTATE <![CDATA[ <> ]]> 'D'
  164. </select>
  165. <!--删除会议成员-->
  166. <update id="deteteMeetingUser" parameterType="java.lang.String">
  167. update SHYK_MeetingUser set OPERATESTATE='D',OPERATETIME=sysdate(),SYNCSTATE='N' where MEETINGID=#{meetingId}
  168. and OPERATESTATE <![CDATA[ <> ]]> 'D'
  169. </update>
  170. <!--删除会议民主评议成员-->
  171. <update id="deteteMeetingDemocracyreview" parameterType="java.lang.String">
  172. delete from shyk_meeting_democracyreview where MEETINGID=#{meetingId}
  173. </update>
  174. <!--删除会议民主评议成员-->
  175. <update id="deteteMeetingType" parameterType="java.lang.String">
  176. delete from shyk_meeting_type where MEETINGID=#{meetingId}
  177. </update>
  178. <!--删除会议议题-->
  179. <update id="deleteMeetingTopic" parameterType="java.lang.String">
  180. update shyk_meetingtopic set OPERATESTATE='D',OPERATETIME=sysdate(),SYNCSTATE='N' where MEETINGID=#{meetingId}
  181. and OPERATESTATE <![CDATA[ <> ]]> 'D'
  182. </update>
  183. <!--删除会议决议-->
  184. <update id="deleteMeetingDecision" parameterType="java.lang.String">
  185. update SHYK_MeetingDecision set OPERATESTATE='D',OPERATETIME=sysdate(),SYNCSTATE='N' where MEETINGID=#{meetingId}
  186. and OPERATESTATE <![CDATA[ <> ]]> 'D'
  187. </update>
  188. <!--删除会议-->
  189. <update id="deleteMeeting" parameterType="java.lang.String">
  190. update SHYK_Meeting set OPERATESTATE='D',OPERATETIME=sysdate(),SYNCSTATE='N' where MEETINGID=#{meetingId}
  191. </update>
  192. <!--会议历史地址-->
  193. <select id="selectHistoryAddressList" resultType="java.util.HashMap">
  194. select MEETINGADDRESS from (
  195. select MEETINGADDRESS,max(CREATETIME) CREATETIME from SHYK_MEETING m
  196. where 1=1
  197. and m.OPERATESTATE <![CDATA[ <> ]]> 'D'
  198. and m.CREATEUSERID=#{userId}
  199. group by MEETINGADDRESS
  200. ) meet order by CREATETIME desc
  201. </select>
  202. <!--统计三会一课-->
  203. <select id="selectMeetingTotalList" resultType="java.util.HashMap">
  204. select t1.*,0 as total from (
  205. select DZZDM,DZZMC,CHILDCOUNT,YY,QUARTER,SHYKTYPE,
  206. case SHYKTYPE when 1 then '党员大会'
  207. when 2 then '支委会'
  208. when 3 then '党小组会'
  209. when 4 then '党课'
  210. else '' end SHYKTYPENAME
  211. ,MONTH_FIRST,MONTH_SECOND,MONTH_THIRD from (
  212. select *
  213. ,SUM(IF (month_order='1',num,0)) 'month_first',
  214. SUM(IF (month_order='2',num,0)) 'month_second',
  215. SUM(IF (month_order='3',num,0)) 'month_third' from(
  216. select t1.DZZDM,t1.DZZMC,t1.CHILDCOUNT,t1.YY,t1.QUARTER,t1.SHYKTYPE,t1.MONTH_ORDER,ifnull(t2.NUM,0) as NUM
  217. from (
  218. -- 组织、年度、季度、会议类型、季度第几月
  219. select * from(
  220. select dzzdm,dzzmc,CHILDCOUNT,yy,quarter,shyktype,dmq1.month_order from (
  221. select z.dzzdm,z.dzzmc, 0 as CHILDCOUNT,#{year} as yy,#{quarter} as quarter,dq1.shyktype
  222. from ZZ_ZZQKXX z
  223. cross join (select dq.DICKEY as shyktype from cf_dictionary dq where dq.DICTYPEKEY='quarterType') dq1
  224. ) t1 cross join (select dmq.DICKEY as month_order from cf_dictionary dmq where dmq.DICTYPEKEY=
  225. 'monthQuarterType') dmq1
  226. ) z
  227. where 1=1
  228. <if test="dzzdm!=null and dzzdm !=''">
  229. and dzzdm like concat('',#{dzzdm},'%')
  230. </if>
  231. <if test="zzfbType != null">
  232. and SUBSTR(dzzdm,1,12) in(select dzzdm from ZZ_DZZFBQK where zzfb= #{zzfbType})
  233. </if>
  234. <if test="ssdzzdm!=null and ssdzzdm !=''">
  235. and dzzdm = #{ssdzzdm}
  236. </if>
  237. ) t1
  238. left join (
  239. -- 统计三会一课
  240. select z.dzzdm,m.yy,m.quarter,m.shyktype,m.month_order,count(m.partyCode) num
  241. from ZZ_ZZQKXX z
  242. inner join (select date_format(begintime,'%Y') as yy,QUARTER(begintime) as quarter,date_format(begintime,'%m') as
  243. mon,
  244. date_format(begintime,'%m')-(QUARTER(begintime)-1)*3 month_order, partycode, shyktype from SHYK_MEETING
  245. where 1=1 and OPERATESTATE <![CDATA[ <> ]]> 'D' and SHYKSTATUS not in (2) -- 排除已取消
  246. ) m on (z.dzzdm = m.partyCode or z.dzzdm = substr(m.partyCode, 1, length(z.dzzdm)))
  247. where 1=1
  248. <if test="dzzdm!=null and dzzdm !=''">
  249. and z.dzzdm like concat('',#{dzzdm},'%')
  250. </if>
  251. <if test="zzfbType != null">
  252. and SUBSTR(z.dzzdm,1,12) in(select dzzdm from ZZ_DZZFBQK where zzfb= #{zzfbType})
  253. </if>
  254. <if test="ssdzzdm!=null and ssdzzdm !=''">
  255. and z.dzzdm = #{ssdzzdm}
  256. </if>
  257. group by z.dzzdm,m.yy,m.quarter,m.month_order,m.shyktype
  258. order by z.dzzdm,m.yy,m.quarter,m.month_order,m.shyktype
  259. ) t2 on t1.dzzdm=t2.dzzdm and t1.yy=t2.yy and t1.quarter=t2.quarter and t1.month_order=t2.month_order and
  260. t1.shyktype=t2.shyktype
  261. where 1=1
  262. <if test="dzzdm!=null and dzzdm !=''">
  263. and t1.dzzdm like concat('',#{dzzdm},'%')
  264. </if>
  265. <if test="zzfbType != null">
  266. and SUBSTR(t1.dzzdm,1,12) in(select dzzdm from ZZ_DZZFBQK where zzfb= #{zzfbType})
  267. </if>
  268. <if test="ssdzzdm!=null and ssdzzdm !=''">
  269. and t1.dzzdm = #{ssdzzdm}
  270. </if>
  271. ) t1
  272. order by dzzdm,yy,quarter,shyktype,month_order
  273. ) t1
  274. -- piv ot (max(num) for month_order in ('1' as month_first,'2' AS month_second,'3' AS month_third ))
  275. order by dzzdm,yy,quarter,shyktype
  276. ) t1
  277. where 1=1
  278. <if test="dzzdm!=null and dzzdm !=''">
  279. and (dzzdm=#{dzzdm} or length(dzzdm)=(length(#{dzzdm})+3))
  280. </if>
  281. <if test="ssdzzdm!=null and ssdzzdm !=''">
  282. and dzzdm = #{ssdzzdm}
  283. </if>
  284. order by dzzdm,yy,quarter,shyktype
  285. </select>
  286. <select id="selectMeetingTotalNew" resultType="java.util.HashMap">
  287. select #{dzzdm} as DZZDM,#{year} as YY,#{quarter} as QUARTER,SHYKTYPE,
  288. sum(case
  289. when BEGINTIME >= date_format(#{month1_bt},'%Y-%m-%d') and BEGINTIME <![CDATA[ < ]]> date_format(#{month1_et},'%Y-%m-%d')
  290. then 1
  291. else 0 end) as MONTH1,
  292. sum(case
  293. when BEGINTIME >= date_format(#{month2_bt},'%Y-%m-%d') and BEGINTIME <![CDATA[ < ]]> date_format(#{month2_bt},'%Y-%m-%d')
  294. then 1
  295. else 0 end) as MONTH2,
  296. sum(case
  297. when BEGINTIME >= date_format(#{month3_bt},'%Y-%m-%d') and BEGINTIME <![CDATA[ < ]]> date_format(#{month3_bt},'%Y-%m-%d')
  298. then 1
  299. else 0 end) as MONTH3,
  300. count(1) as YEARCOUNT,
  301. sum(case when QUARTER(BEGINTIME)=1 then 1 else 0 end) as QUARTERCOUNT1,
  302. sum(case when QUARTER(BEGINTIME)=2 then 1 else 0 end) as QUARTERCOUNT2,
  303. sum(case when QUARTER(BEGINTIME)=3 then 1 else 0 end) as QUARTERCOUNT3,
  304. sum(case when QUARTER(BEGINTIME)=4 then 1 else 0 end) as QUARTERCOUNT4
  305. from SHYK_MEETING
  306. where 1=1 and OPERATESTATE not in('D') and SHYKSTATUS not in (2) -- 排除已取消
  307. and PARTYCODE =#{dzzdm}
  308. and Extract(year from BEGINTIME)=#{year}
  309. group by #{dzzdm},SHYKTYPE
  310. order by SHYKTYPE
  311. </select>
  312. <select id="selectPartyPlanList" resultType="java.util.HashMap">
  313. select
  314. p.DZZDM,p.DZZMC,p.ZZLB,
  315. SUBSTR(p.DZZDM,1,LENGTH(p.DZZDM)-3) PARENTCODE ,-- 父级组织代码,
  316. plan.PLANID PLANID,
  317. dcUser.DICVALUE PLANTYPE_USERNAME,
  318. dcBranch.DICVALUE PLANTYPE_BRANCHNAME,
  319. dcGroup.DICVALUE PLANTYPE_GROUPNAME,
  320. dcClass.DICVALUE PLANTYPE_CLASSNAME,
  321. p.DZZDM PARTYCODE,
  322. p.DZZMC PARTYNAME,
  323. plan.PLANTYPE_USER PLANTYPEUSER,
  324. plan.PLANTYPE_BRANCH PLANTYPEBRANCH,
  325. plan.PLANTYPE_GROUP PLANTYPEGROUP,
  326. plan.PLANTYPE_CLASS PLANTYPECLASS
  327. from ZZ_ZZQKXX p
  328. left join ZZ_DZZFBQK fbType on p.DZZDM = fbType.DZZDM
  329. left join SHYK_PARTYPLAN plan on p.DZZDM=plan.PARTYCODE
  330. left join CF_DICTIONARY dcUser on plan.PLANTYPE_USER=dcUser.DICKEY and dcUser.DICTYPEKEY='SHYK_PartyPlan' -- 党员大会
  331. left join CF_DICTIONARY dcBranch on plan.PLANTYPE_BRANCH=dcBranch.DICKEY and
  332. dcBranch.DICTYPEKEY='SHYK_PartyPlan' -- 支委会
  333. left join CF_DICTIONARY dcGroup on plan.PLANTYPE_GROUP=dcGroup.DICKEY and dcGroup.DICTYPEKEY='SHYK_PartyPlan'
  334. -- 党小组会
  335. left join CF_DICTIONARY dcClass on plan.PLANTYPE_CLASS=dcClass.DICKEY and dcClass.DICTYPEKEY='SHYK_PartyPlan'
  336. -- 党课
  337. where 1=1
  338. <if test="dzzdm!=null and dzzdm !=''">
  339. and p.DZZDM like concat('%',#{dzzdm},'%') and length(p.DZZDM)=(length(#{dzzdm})+3)
  340. </if>
  341. <if test="zzfbType != null">
  342. and SUBSTR(p.dzzdm,1,12) in(select DZZDM from ZZ_DZZFBQK where ZZFB= #{zzfbType})
  343. </if>
  344. order by fbType.SORT
  345. </select>
  346. <select id="selectPlanList" resultType="java.util.HashMap">
  347. select PARTYCODE,PARTYNAME,PLANTYPE_USER,PLANTYPE_BRANCH,PLANTYPE_GROUP,PLANTYPE_CLASS from SHYK_PartyPlan p
  348. where OPERATESTATE not in('D')
  349. <if test="dzzdm!=null and dzzdm !=''">
  350. and p.PARTYCODE like concat('',#{dzzdm},'%')
  351. </if>
  352. <if test="ssdzzdm!=null and ssdzzdm !=''">
  353. and p.PARTYCODE=#{ssdzzdm}
  354. </if>
  355. </select>
  356. <select id="selectMyMeetingList" resultType="java.util.HashMap">
  357. select
  358. m.MEETINGID,
  359. m.MEETINGNAME,
  360. m.SHYKTYPE,
  361. z.DZZMC as PARTYNAME,
  362. m.PARTYCODE,
  363. m.MEETINGADDRESS,
  364. m.CHAIRUSER,
  365. m.RECORDUSER,
  366. m.BEGINTIME,
  367. m.ENDTIME,
  368. m.ISTEMP,
  369. m.SHYKSTATUS,
  370. m.CREATETIME,
  371. m.CREATEUSERID,
  372. m.CREATEUSERNAME,
  373. m.UPDATETIME,
  374. m.UPDATEUSERID,
  375. m.UPDATEUSERNAME,
  376. m.MEETINGAPPROVESTATUS,
  377. m.MEETINGAPPROVEUSERNAME,
  378. us.MEETINGUSERID,
  379. ue.TEACHNAME,
  380. (case when sysdate()>m.ENDTIME then 1 else 0 end) as ISEND,
  381. topic.TOPICNAME,
  382. (case when ue.MEETINGUSERID is not null then 1 else 0 end) as ISEVALUATE
  383. from SHYK_MEETING m
  384. inner join SHYK_MEETINGUSER us on m.MEETINGID=us.MEETINGID
  385. inner join ZZ_ZZQKXX z on m.PARTYCODE=z.DZZDM
  386. left join SHYK_USEREVALUATE ue on us.MEETINGUSERID=ue.MEETINGUSERID and ue.OPERATESTATE not in('D')
  387. left join SHYK_MEETINGTOPIC topic on topic.MEETINGID=m.MEETINGID and topic.OPERATESTATE not in('D') and topic.MODELID is null
  388. where 1=1 and m.OPERATESTATE <![CDATA[ <> ]]> 'D' and us.USERCODE=#{userCode}
  389. and us.OPERATESTATE <![CDATA[ <> ]]> 'D'
  390. <if test="beginTime != null and beginTime != '' ">
  391. and m.BEGINTIME <![CDATA[ >= ]]> date_format(#{beginTime},'%Y%m%d')
  392. </if>
  393. <if test="endTime != null and endTime != '' ">
  394. and m.BEGINTIME <![CDATA[ < ]]> date_add(date_format(#{endTime},'%Y%m%d'),interval 1 day)
  395. </if>
  396. <if test="day != null and day != '' ">
  397. and date_format(m.BEGINTIME,'%Y-%m-%d') = #{day}
  398. </if>
  399. <if test="isEvaluate != null">
  400. <if test="isEvaluate==1">
  401. and ue.MEETINGUSERID is not null
  402. </if>
  403. <if test="isEvaluate==0">
  404. and ue.MEETINGUSERID is null
  405. </if>
  406. </if>
  407. <if test="shykType != null">
  408. and m.SHYKTYPE=#{shykType}
  409. </if>
  410. <if test="meetingName != null and meetingName != ''">
  411. and topic.TOPICNAME like concat('%',#{meetingName},'%')
  412. </if>
  413. <if test="meetingAddress != null and meetingAddress != ''">
  414. and m.MEETINGADDRESS like concat('%',#{meetingAddress},'%')
  415. </if>
  416. <if test="partyCode!=null and partyCode !=''">
  417. and m.PARTYCODE like concat('',#{partyCode},'%')
  418. </if>
  419. order by BEGINTIME desc
  420. </select>
  421. <resultMap type="java.util.HashMap" id="meetingEvaluateProjectMap">
  422. <result column="SHYKEVALUATETYPE" jdbcType="NUMERIC" property="SHYKEVALUATETYPE"/>
  423. <result column="PROJECTNAME" jdbcType="VARCHAR" property="PROJECTNAME"/>
  424. <result column="PROJECTID" jdbcType="VARCHAR" property="PROJECTID"/>
  425. <result column="USEREVALUATEID" jdbcType="VARCHAR" property="USEREVALUATEID"/>
  426. <result column="SHYKEVALUATERESULTTYPE" jdbcType="NUMERIC" property="SHYKEVALUATERESULTTYPE"/>
  427. <result column="SHYKEVALUATERESULTTYPENAME" jdbcType="VARCHAR" property="SHYKEVALUATERESULTTYPENAME"/>
  428. <result column="RECOMMEND" jdbcType="CLOB" property="RECOMMEND" javaType="String"/>
  429. </resultMap>
  430. <select id="selectMeetingEvaluateProjectList" resultMap="meetingEvaluateProjectMap">
  431. select dic.DICKEY as SHYKEVALUATETYPE,dic.DICVALUE as PROJECTNAME,ue.PROJECTID,ue.USEREVALUATEID,ue.SHYKEVALUATERESULTTYPE,ue.SHYKEVALUATERESULTTYPENAME,ue.RECOMMEND
  432. from (select * from CF_DICTIONARY where DICTYPEKEY='shykEvaluateType') dic
  433. left join (
  434. select p.SHYKEVALUATETYPE,p.PROJECTID,p.USEREVALUATEID,p.SHYKEVALUATERESULTTYPE,dicResult.DICVALUE as SHYKEVALUATERESULTTYPENAME,p.RECOMMEND
  435. from SHYK_USEREVALUATE ue
  436. inner join SHYK_USEREVALUATEPROJECT p on p.USEREVALUATEID=ue.USEREVALUATEID
  437. inner join CF_DICTIONARY dicResult on p.SHYKEVALUATERESULTTYPE=dicResult.DICKEY and dicResult.DICTYPEKEY='shykEvaluateResultType'
  438. where ue.OPERATESTATE not in('D') and p.OPERATESTATE not in('D')
  439. and ue.MEETINGUSERID=#{meetingUserId}
  440. ) ue on dic.DICKEY=ue.SHYKEVALUATETYPE
  441. where 1=1
  442. order by dic.DICKEY
  443. </select>
  444. <!--删除评分项-->
  445. <update id="deleteMeetingEvaluateProject" parameterType="java.lang.String">
  446. update SHYK_USEREVALUATEPROJECT set OPERATESTATE='D',OPERATETIME=sysdate(),SYNCSTATE='N' where USEREVALUATEID=#{userevaluateId}
  447. and OPERATESTATE <![CDATA[ <> ]]> 'D'
  448. </update>
  449. <select id="selectMeetingPlanTotalList" resultType="java.util.HashMap">
  450. select ztp.SHYKTYPE,
  451. (case ztp.SHYKTYPE
  452. when 1 then '党员大会'
  453. when 2 then '支委会'
  454. when 3 then '党小组会'
  455. when 4 then '党课'
  456. else '' end) as shykTypeName,
  457. ztp.DZZDM, ztp.DZZMC, ztp.planType,
  458. (case ztp.PLANTYPE when 1 then '每月一次'
  459. when 2 then '每季度一次'
  460. when 3 then '每半年一次'
  461. when 4 then '每年一次'
  462. else '' end) as planTypeName,
  463. sum(
  464. case when m.MEETINGID is not null and ztp.PLANTYPE = 1 and date_format(m.BEGINTIME,'%Y') = #{year} and date_format(m.BEGINTIME,'%m') = #{month} then 1 -- 每月一次
  465. when m.MEETINGID is not null and ztp.PLANTYPE = 2 and date_format(m.BEGINTIME,'%Y') = #{year} and QUARTER(m.BEGINTIME) = #{quarter} then 1 -- 每季度一次
  466. when m.MEETINGID is not null and ztp.PLANTYPE = 3 and date_format(m.BEGINTIME,'%Y') = #{year} and #{quarter} in(1,2) and QUARTER(m.BEGINTIME) in (1,2) then 1 -- 每半年一次
  467. when m.MEETINGID is not null and ztp.PLANTYPE = 3 and date_format(m.BEGINTIME,'%Y') = #{year} and #{quarter} in(3,4) and QUARTER(m.BEGINTIME) in (3,4) then 1 -- 每半年一次
  468. when m.MEETINGID is not null and ztp.PLANTYPE = 4 and date_format(m.BEGINTIME,'%Y') = #{year} then 1
  469. else 0 end -- 每年一次
  470. ) as planCount
  471. from (
  472. select t1.SHYKTYPE,
  473. z.DZZDM,
  474. z.DZZMC,
  475. (case t1.SHYKTYPE
  476. when 1 then pn.PLANTYPE_USER
  477. when 2 then pn.PLANTYPE_BRANCH
  478. when 3 then pn.PLANTYPE_GROUP
  479. when 4 then pn.PLANTYPE_CLASS
  480. else 99 end) as planType
  481. from (select level SHYKTYPE from dual connect by 0 + level <![CDATA[ <= 4 ]]>) t1,
  482. ZZ_ZZQKXX z
  483. inner join SHYK_PARTYPLAN pn on pn.PARTYCODE = z.DZZDM
  484. ) ztp
  485. left join SHYK_MEETING m on ztp.DZZDM = m.PARTYCODE and ztp.SHYKTYPE = m.SHYKTYPE and m.OPERATESTATE not in('D') and m.SHYKSTATUS not in (2) -- 排除已取消
  486. where 1=1
  487. <if test="dzzdm !=null and dzzdm !=''">
  488. and ztp.DZZDM=#{dzzdm}
  489. </if>
  490. <if test="dzzdmSearch !=null and dzzdmSearch !=''">
  491. and ztp.DZZDM like concat('%',#{dzzdmSearch},'%')
  492. </if>
  493. group by ztp.SHYKTYPE, ztp.DZZDM, ztp.DZZMC, ztp.PLANTYPE
  494. </select>
  495. <select id="selectMyMeetingListForApp" resultType="java.util.HashMap">
  496. SELECT m.MEETINGID,
  497. m.MEETINGNAME,
  498. m.SHYKTYPE,
  499. z.DZZMC as PARTYNAME ,
  500. m.PARTYCODE,
  501. m.MEETINGADDRESS,partyList
  502. m.CHAIRUSER,
  503. m.RECORDUSER,
  504. m.BEGINTIME,
  505. m.ENDTIME,
  506. m.ISTEMP,
  507. m.SHYKSTATUS,
  508. m.CREATETIME,
  509. m.CREATEUSERID,
  510. m.CREATEUSERNAME,
  511. m.UPDATETIME,
  512. m.UPDATEUSERID,
  513. m.UPDATEUSERNAME,
  514. m.MEETINGAPPROVESTATUS,
  515. m.MEETINGAPPROVEUSERNAME,
  516. dw.DZZMC as DWMC,
  517. m.DECISIONSTATUS,-- 决议填写状态 0保存中,1已提交
  518. ISUPLOADIMG, -- 是否上传会议图片 0未上传,1已上传
  519. MEETINGRECORDSTATE,-- 会议填写状态 0保存中,1已提交
  520. ROUND((ENDTIME - BEGINTIME) * 24,2) as MEETINGTIME, -- 会议时长(小时)
  521. (case
  522. when BEGINTIME > sysdate() then 1 else 2 end ) as STATUS, -- 1会议未开始,2会议已开始
  523. (sysdate()-ENDTIME) as endLongTime -- 会议结束时长
  524. FROM SHYK_MEETING m
  525. inner join ZZ_ZZQKXX z on m.PARTYCODE=z.DZZDM
  526. inner join ZZ_ZZQKXX dw on SUBSTR(m.PARTYCODE,1,12)=dw.DZZDM
  527. inner join SHYK_MEETINGUSER us on m.MEETINGID = us.MEETINGID
  528. where 1=1 and m.OPERATESTATE <![CDATA[ <> ]]> 'D' and m.SHYKSTATUS <![CDATA[ <> ]]> 2
  529. and us.OPERATESTATE <![CDATA[ <> ]]> 'D'
  530. and us.USERCODE = #{userId}
  531. order by BEGINTIME desc
  532. </select>
  533. <select id="selectMeetingTargetList" resultType="com.ghsc.partybuild.vo.shyk.MeetingTargetVo">
  534. select pt.partycode
  535. ,p.dzzmc as partyName
  536. ,pt.shyktype
  537. ,pt.targettype
  538. ,dic_type.DICVALUE as shykTypeName
  539. ,dic_target.DICVALUE as targetName
  540. from shyk_partytarget pt
  541. inner join zz_zzqkxx p on pt.partyCode = p.dzzdm
  542. inner join cf_dictionary dic_type on pt.shykType = dic_type.DICKEY and dic_type.DICTYPEKEY='shykType'
  543. inner join cf_dictionary dic_target on pt.targetType = dic_target.DICKEY and dic_target.DICTYPEKEY='SHYK_PartyPlan'
  544. order by pt.partyCode,pt.shykType
  545. </select>
  546. <select id="selectMeetingMonthTotalList" resultType="com.ghsc.partybuild.vo.shyk.MeetingMonthTotalVo">
  547. select m.partyCode,t.shykType,year(m.BEGINTIME) as year,month(m.BEGINTIME) as month,count(1) as count
  548. from SHYK_MEETING m
  549. inner join shyk_meeting_type t on t.meetingId = m.meetingId
  550. where 1=1
  551. <if test="partyCode != null and partyCode != ''">
  552. and m.partyCode = #{partyCode}
  553. </if>
  554. <if test="year!=null">
  555. and year(m.BEGINTIME) = #{year}
  556. </if>
  557. group by m.partyCode,t.shyktype,year(m.BEGINTIME),month(m.BEGINTIME)
  558. </select>
  559. <select id="selectMeetingStatisticsList" resultType="com.ghsc.partybuild.vo.shyk.MeetingMonthTotalVo">
  560. select m.partyCode,t.shykType,count(1) as count
  561. from SHYK_MEETING m
  562. inner join shyk_meeting_type t on t.meetingId = m.meetingId
  563. where 1=1
  564. <if test="partyCode != null and partyCode != ''">
  565. and m.partyCode like concat('',#{partyCode},'%')
  566. </if>
  567. <if test="beginTime != null and beginTime != '' ">
  568. and m.beginTime <![CDATA[ >= ]]> date_format(#{beginTime},'%Y%m%d')
  569. </if>
  570. <if test="endTime != null and endTime != '' ">
  571. and m.beginTime <![CDATA[ < ]]> date_add(date_format(#{endTime},'%Y%m%d'),interval 1 day)
  572. </if>
  573. group by m.partyCode,t.shyktype
  574. </select>
  575. </mapper>