龚焕茏
2024-05-30 1c89a9d39893c18aac63aa5763b4787b65de3624
src/main/resources/mapper/ExamPaperQuestionCustomerAnswerMapper.xml
@@ -228,14 +228,23 @@
  </select>
  <select id="studentPage" resultMap="BaseResultMap" parameterType="com.mindskip.xzs.viewmodel.student.question.answer.QuestionPageStudentRequestVM">
    SELECT
    <include refid="Base_Column_List"/>
    FROM t_exam_paper_question_customer_answer
    <where>
      and do_right=FALSE
      and create_user=#{createUser}
    </where>
  <select id="studentPage" resultType="com.mindskip.xzs.viewmodel.student.question.answer.QuestionPageStudentResponseVM" parameterType="com.mindskip.xzs.viewmodel.student.question.answer.QuestionPageStudentRequestVM">
    select a.id,
           a.question_type,
           JSON_VALUE(d.content, '$.titleContent') as shortTitle,
           GROUP_CONCAT(DISTINCT c.name)                    as subjectName,
           a.create_time
    from t_exam_paper_question_customer_answer a
           inner join t_question_subject b on a.question_id = b.question_id and b.deleted = 0
           inner join t_subject c on b.subject_id = c.id and c.deleted = 0
           inner join t_text_content d on a.question_text_content_id = d.id
    where
      a.do_right = FALSE
      and a.create_user = #{createUser}
      and JSON_VALUE(d.content, '$.titleContent') like concat('%', #{shortTitle}, '%')
    group by a.question_id, question_type
    HAVING GROUP_CONCAT(c.name) like concat('%',  #{subjectName}, '%')
    order by a.question_id desc
  </select>
@@ -261,12 +270,12 @@
      SELECT count(*) from t_exam_paper_question_customer_answer a
        inner join
        (select user_id from t_user_department
        <where>
          and department_id in
        <if test="deptIds != null and deptIds.size() > 0">
          where department_id in
          <foreach collection="deptIds" item="item" open="(" separator="," close=")">
            #{item}
          </foreach>
        </where>
        </if>
        group by user_id)
        b on a.create_user = b.user_id
  </select>
@@ -278,12 +287,12 @@
              SELECT DATE_FORMAT(create_time,'%Y-%m-%d') as create_time from t_exam_paper_question_customer_answer a
                  inner join
                  (select user_id from t_user_department
                  <where>
                    and department_id in
                  <if test="deptIds != null and deptIds.size() > 0">
                    where department_id in
                    <foreach collection="deptIds" item="item" open="(" separator="," close=")">
                      #{item}
                    </foreach>
                  </where>
                  </if>
                  group by user_id)
                  b on a.create_user = b.user_id
               WHERE  create_time  between  #{startTime}  and  #{endTime}