AnalysisResultMapper.xml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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.dayou.dao.QuestionAnalysisMapper">
  4. <select id="getAnalysisList" resultType="com.dayou.vo.AnalysisResultVO">
  5. SELECT
  6. t.id AS cycle_id,
  7. qa.question_id,
  8. t.cycle_num,
  9. q.label AS questionName,
  10. d.item_name,
  11. qa.avg_score,
  12. qa.variance,
  13. qa.validate,
  14. t.document_id,
  15. t.type_id,
  16. q.parent_id,
  17. q.id,
  18. q.scope,
  19. qq.label as typeName,
  20. t.professor_num,
  21. t.probability,
  22. t.standard_value
  23. FROM
  24. question_analysis qa
  25. RIGHT JOIN (
  26. SELECT c.id, c.document_id, c.cycle_num,d.type_id,c.professor_num,c.standard_value,c.probability FROM cycle c left join document d on d.id = c.document_id
  27. <if test="cycle!=null and cycle.documentId!=null and cycle.cycleNum!=null">
  28. where c.document_id = #{cycle.documentId} and c.cycle_num = #{cycle.cycleNum}
  29. </if>
  30. <if test="cycle!=null and cycle.documentId==null or cycle.cycleNum==null">
  31. ORDER BY c.created DESC LIMIT 1
  32. </if>
  33. ) t ON t.id = qa.cycle_id
  34. LEFT JOIN question q ON q.id = qa.question_id
  35. LEFT JOIN document d ON d.id = t.document_id
  36. left join question qq on qq.id = d.type_id
  37. ORDER BY
  38. q.created
  39. </select>
  40. <select id="getAnalysisListByCycleId" parameterType="java.lang.Long" resultType="com.dayou.vo.AnalysisResultVO">
  41. SELECT
  42. t.id AS cycle_id,
  43. qa.question_id,
  44. t.cycle_num,
  45. q.label AS questionName,
  46. d.item_name,
  47. qa.avg_score,
  48. t.document_id
  49. FROM
  50. question_analysis qa
  51. RIGHT JOIN ( SELECT id, document_id, cycle_num FROM cycle where id = #{id} ) t ON t.id = qa.cycle_id
  52. LEFT JOIN question q ON q.id = qa.question_id
  53. LEFT JOIN document d ON d.id = t.document_id
  54. ORDER BY
  55. q.created
  56. </select>
  57. <select id="getParentLabel" resultType="com.dayou.vo.ChildrenParentName">
  58. SELECT
  59. DISTINCT
  60. q.label AS label,
  61. qq.label AS parentLabel
  62. FROM
  63. question_analysis qa
  64. RIGHT JOIN (
  65. SELECT
  66. c.id,
  67. c.document_id,
  68. c.cycle_num,
  69. d.type_id
  70. FROM
  71. cycle c
  72. LEFT JOIN document d ON d.id = c.document_id
  73. <if test="cycle!=null and cycle.documentId!=null and cycle.cycleNum!=null">
  74. where c.document_id = #{cycle.documentId} and c.cycle_num = #{cycle.cycleNum}
  75. </if>
  76. <if test="cycle!=null and cycle.documentId==null or cycle.cycleNum==null">
  77. ORDER BY c.created DESC LIMIT 1
  78. </if>
  79. ) t ON t.id = qa.cycle_id
  80. LEFT JOIN question q ON q.id = qa.question_id
  81. LEFT JOIN question qq ON q.parent_id = qq.id
  82. WHERE
  83. q.deleted = 0
  84. AND qq.deleted = 0
  85. </select>
  86. <select id="getPreviousCycleAnalysisData" resultType="com.dayou.entity.QuestionAnalysis">
  87. SELECT
  88. *
  89. FROM
  90. question_analysis
  91. WHERE
  92. cycle_id = (
  93. SELECT
  94. c.id
  95. FROM
  96. cycle c
  97. LEFT JOIN document d ON d.id = c.document_id
  98. WHERE
  99. d.id = #{documentId}
  100. AND cycle_num = 1)
  101. </select>
  102. </mapper>