QtTaskPubCQuery.xml 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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.QtTaskPubCQuery">
  4. <select id="selectTasktemplateList" resultType="java.util.HashMap">
  5. select temp.TASKTEMPID,temp.DZZDM,temp.TEMPNAME,temp.STATUS,temp.CREATETIME,temp.CREATEUSERID,
  6. sum(case when col.TASKTEMPID is not null then 1 else 0 end) as columnnumber,
  7. zz.DZZMC
  8. from QT_TASKTEMPLATE temp
  9. left join QT_TASKTEMPCOLUMN col on temp.TASKTEMPID = col.TASKTEMPID
  10. left join ZZ_ZZQKXX zz on temp.DZZDM = zz.DZZDM
  11. where 1=1
  12. <if test="tempName!=null and tempName !=''">
  13. and temp.tempName like concat('%',#{tempName},'%')
  14. </if>
  15. <if test="status!=null and status !=''">
  16. and temp.status = #{status}
  17. </if>
  18. <if test="dzzdm != null and dzzdm != ''">
  19. and temp.DZZDM like concat('%',#{dzzdm},'%')
  20. </if>
  21. group by temp.TASKTEMPID,temp.DZZDM,temp.TEMPNAME,temp.STATUS,temp.CREATETIME,temp.CREATEUSERID,zz.DZZMC
  22. order by temp.CREATETIME desc
  23. </select>
  24. <insert id="batchInsertasktempcolumn">
  25. insert into QT_TASKTEMPCOLUMN(tasktempcolid, tasktempid, columnname, taskcolumntype, tips,isrequired, createtime, createusername, createuserid, operatetime, operatestate, syncstate)
  26. <foreach collection="qtTasktempcolumnList" item="c" separator=" union all ">
  27. select #{c.tasktempcolid}, #{c.tasktempid}, #{c.columnname}, #{c.taskcolumntype},#{c.tips}, #{c.isrequired}, #{c.createtime}, #{c.createusername}, #{c.createuserid}, #{c.operatetime}, #{c.operatestate}, #{c.syncstate} FROM DUAL
  28. </foreach>
  29. </insert>
  30. <insert id="batchInsertaskpubcolumn">
  31. insert into QT_TASKPUBCOLUMN(TASKPUBCOLID, TASKPUBID, COLUMNNAME, TASKCOLUMNTYPE, tips,ISREQUIRED, orderby,CREATETIME, CREATEUSERNAME, CREATEUSERID, OPERATETIME, OPERATESTATE, SYNCSTATE)
  32. <foreach collection="qtTaskpubcolumnList" item="c" separator=" union all ">
  33. select #{c.taskpubcolid}, #{c.taskpubid}, #{c.columnname}, #{c.taskcolumntype}, #{c.tips},#{c.isrequired},#{c.orderby}, #{c.createtime}, #{c.createusername}, #{c.createuserid}, #{c.operatetime}, #{c.operatestate}, #{c.syncstate} FROM DUAL
  34. </foreach>
  35. </insert>
  36. <select id="selectTaskReplyList" resultType="java.util.HashMap">
  37. SELECT
  38. <foreach collection="columnlist" item="it" separator="," close=",">
  39. MAX(CASE WHEN col.orderby = '${it.orderby}' THEN rp.CONTENT END) AS '${it.orderby}'
  40. </foreach>
  41. rp.REPLYIDENTITIES
  42. FROM
  43. QT_TASKPUBCOLUMN col
  44. INNER JOIN QT_TASKREPLY rp ON col.TASKPUBCOLID = rp.TASKPUBCOLID
  45. AND rp.TASKPUBUSERID = #{userid}
  46. WHERE
  47. rp.TASKPUBID = #{taskpubid}
  48. GROUP BY
  49. rp.REPLYIDENTITIES
  50. ORDER BY
  51. rp.RECEIVEDATE
  52. </select>
  53. <select id="selectTaskReplySummary" resultType="java.util.HashMap" >
  54. select * from (
  55. select substr(cast(dbms_random.value as varchar2(38)),3,20) id, reply.*,ry.XM,zz.DZZMC from (
  56. select *
  57. from (
  58. select rp.CONTENT,rp.REPLYIDENTITIES,col.orderby,rp.TASKPUBUSERID
  59. from QT_TASKPUBCOLUMN col
  60. inner join QT_TASKREPLY rp
  61. on col.TASKPUBCOLID = rp.TASKPUBCOLID
  62. where rp.TASKPUBID = #{taskpubid}
  63. order by rp.RECEIVEDATE desc
  64. ) t pivot (max(t.CONTENT) for orderby in (
  65. <foreach collection="columnlist" item="it" separator=",">'${it.orderby}'
  66. </foreach>
  67. ))
  68. ) reply inner join VM_RYJBXX ry on reply.TASKPUBUSERID=ry.RYBM
  69. inner join ZZ_ZZQKXX zz on ry.SZDZBDM=zz.DZZDM
  70. order by zz.DZZDM,reply."'${orderbyColumn}'"
  71. )tb1
  72. </select>
  73. <select id="selectTaskReply" resultType="java.util.HashMap">
  74. select rp.REPLYIDENTITIES "replyidentities",col.ISREQUIRED "isrequired", rp.content "content",col.TASKPUBCOLID "taskpubcolid",col.taskpubid "taskpubid", col.columnname "columnname",col.taskcolumntype "taskcolumntype" ,col.tips "tips" from QT_TASKPUBCOLUMN col
  75. left join (select *from QT_TASKREPLY where REPLYIDENTITIES=#{replyidentities}) rp
  76. on col.TASKPUBCOLID=rp.TASKPUBCOLID and col.TASKPUBID = rp.TASKPUBID
  77. where col.TASKPUBID=#{taskpubid}
  78. order by col.orderby
  79. </select>
  80. <insert id="batchInsertaskreplay">
  81. insert into QT_TASKREPLY(taskreplyid, taskpubid, taskpubuserid, taskpubcolid, content, receivedate, replyidentities, operatetime, operatestate, syncstate)
  82. <foreach collection="qtTaskReplyList" item="c" separator=" union all ">
  83. select #{c.taskreplyid}, #{c.taskpubid}, #{c.taskpubuserid}, #{c.taskpubcolid}, #{c.content}, #{c.receivedate}, #{c.replyidentities}, #{c.operatetime}, #{c.operatestate}, #{c.syncstate} FROM DUAL
  84. </foreach>
  85. </insert>
  86. </mapper>