questionnairePaperMapper.xml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  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. <!-- 命名,每一个映射对象不一样
  4. namespace:必须与对应的接口全类名一致
  5. -->
  6. <mapper namespace="com.iamberry.wechat.service.mapper.QuestionnairePaperMapper">
  7. <sql id="allField">
  8. paper_id paperId,
  9. paper_name paperName,
  10. paper_pic paperPic,
  11. paper_number paperNumber,
  12. paper_share_number paperShareNumber,
  13. paper_create_date paperCreateDate,
  14. paper_status paperStatus,
  15. page_start_month pageStartMonth,
  16. page_end_month pageEndMonth
  17. </sql>
  18. <!-- 查询试卷列表 分页 -->
  19. <select id="getQuestionnairePaperList" resultType="QuestionnairePaper" parameterType="QuestionnairePaper">
  20. SELECT
  21. <include refid="allField"></include>
  22. FROM tb_iamberry_questionnaire_paper
  23. <where>
  24. <if test="paperName !=null and paperName != '' ">
  25. paper_name LIKE CONCAT('%',#{paperName},'%')
  26. </if>
  27. <if test="paperStatus !=null and paperStatus != '' ">
  28. AND paper_status = #{paperStatus}
  29. </if>
  30. </where>
  31. ORDER BY paper_create_date DESC
  32. <if test="page!=null and page.recordBegin>0 and page.pageSize>0 ">
  33. LIMIT ${page.recordBegin},${page.pageSize}
  34. </if>
  35. <if test="page!=null and page.recordBegin==0 and page.pageSize>0 ">
  36. LIMIT ${page.pageSize}
  37. </if>
  38. </select>
  39. <!-- 查询试卷总数 -->
  40. <select id="getQuestionnairePaperCount" resultType="Integer">
  41. SELECT COUNT(1) FROM tb_iamberry_questionnaire_paper
  42. </select>
  43. <!-- 根据试卷id获取,试卷信息 -->
  44. <select id="getQuestionnairePaperQuesOptiList" resultType="QuestionnairePaperDto" parameterType="Integer">
  45. <!-- SELECT
  46. paper.paper_id paperId,
  47. paper.paper_name paperName,
  48. question.question_id questionId,
  49. question.question_name questionName,
  50. op.option_id optionId,
  51. op.option_name optionName,
  52. testpaper.test_id testId,
  53. testpaper.test_score testScore,
  54. testpaper.test_is_chekcbox testIsChekcbox
  55. FROM
  56. (SELECT * FROM tb_iamberry_questionnaire_test_paper WHERE test_paper_id = #{paperId}) testpaper
  57. LEFT JOIN tb_iamberry_questionnaire_paper paper ON paper.paper_id = testpaper.test_paper_id
  58. LEFT JOIN tb_iamberry_questionnaire_question question ON question.question_id = testpaper.test_question_id
  59. LEFT JOIN tb_iamberry_questionnaire_option op ON op.option_id = testpaper.test_option_id -->
  60. SELECT
  61. p.paper_id paperId,
  62. p.paper_name paperName,
  63. Q.question_id questionId,
  64. Q.question_name questionName,
  65. O.option_id optionId,
  66. O.option_name optionName,
  67. O.option_score score,
  68. Q.question_is_chekcbox isChekcbox,
  69. O.option_id testId,
  70. Q.question_order questionOrder
  71. FROM
  72. tb_iamberry_questionnaire_paper P
  73. LEFT JOIN tb_iamberry_questionnaire_question Q ON p.paper_id = Q.question_paper_id
  74. LEFT JOIN tb_iamberry_questionnaire_option O ON Q.question_id = O.option_quesion_id
  75. WHERE
  76. P.PAPER_ID = #{paperId}
  77. ORDER BY Q.QUESTION_ORDER,O.OPTION_ORDER
  78. </select>
  79. <update id="updateQuestionnairePaperByType" parameterType="QuestionnairePaperDto">
  80. <if test="type == 1 ">
  81. update tb_iamberry_questionnaire_question
  82. set question_name = #{content}
  83. where question_id = #{id}
  84. </if>
  85. <if test="type == 2 ">
  86. update tb_iamberry_questionnaire_option
  87. set option_name = #{content}
  88. where option_id = #{id}
  89. </if>
  90. <if test="type == 3 ">
  91. update tb_iamberry_questionnaire_option
  92. set option_score = #{content}
  93. where option_id = #{id}
  94. </if>
  95. <if test="type == 4 ">
  96. update tb_iamberry_questionnaire_question
  97. set question_is_chekcbox = #{content}
  98. where question_id = #{id}
  99. </if>
  100. </update>
  101. <!-- 添加一种试卷 -->
  102. <insert id="insertQuestionnairePaper" parameterType="QuestionnairePaper"
  103. useGeneratedKeys="true" keyProperty="paperId">
  104. INSERT INTO tb_iamberry_questionnaire_paper
  105. (
  106. paper_name ,
  107. paper_pic,
  108. page_start_month ,
  109. page_end_month,
  110. paper_status
  111. )
  112. VALUES
  113. (
  114. #{paperName},#{paperPic},#{pageStartMonth},#{pageEndMonth},#{paperStatus}
  115. )
  116. </insert>
  117. <!-- 根据id查询单个试卷 -->
  118. <select id="QuestionnairePaper" resultType="QuestionnairePaper" parameterType="Integer">
  119. SELECT
  120. <include refid="allField"></include>
  121. FROM tb_iamberry_questionnaire_paper
  122. WHERE paper_id=#{paperId}
  123. </select>
  124. <update id="updateQuestionnairePaperById" parameterType="QuestionnairePaper">
  125. UPDATE tb_iamberry_questionnaire_paper
  126. <set>
  127. <if test="paperName !=null and paperName !=''">
  128. paper_name=#{paperName},
  129. </if>
  130. <if test="paperPic !=null and paperPic !=''">
  131. paper_pic=#{paperPic} ,
  132. </if>
  133. </set>
  134. WHERE paper_id=#{paperId}
  135. </update>
  136. <delete id="deleteQuestionnairePaperById" parameterType="Integer">
  137. DELETE FROM tb_iamberry_questionnaire_paper
  138. WHERE paper_id=#{paperId}
  139. </delete>
  140. <!-- 根据试卷id分配题目 -->
  141. <update id="updatePaperQuestionById" parameterType="QuestionnaireQuestion">
  142. UPDATE
  143. TB_IAMBERRY_QUESTIONNAIRE_QUESTION
  144. SET
  145. question_paper_id = #{questionId},
  146. question_is_chekcbox = #{questionIsChekcbox}
  147. WHERE
  148. question_id = #{questionPaperId}
  149. </update>
  150. </mapper>