From f0f00e9ba8a755e4317e029d73b69a92ad9f9df1 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期六, 14 九月 2024 17:02:41 +0800
Subject: [PATCH] update

---
 exam-system/src/main/resources/mapper/system/ExPaperStudentMapper.xml |   87 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 68 insertions(+), 19 deletions(-)

diff --git a/exam-system/src/main/resources/mapper/system/ExPaperStudentMapper.xml b/exam-system/src/main/resources/mapper/system/ExPaperStudentMapper.xml
index 7e000bd..f2c2602 100644
--- a/exam-system/src/main/resources/mapper/system/ExPaperStudentMapper.xml
+++ b/exam-system/src/main/resources/mapper/system/ExPaperStudentMapper.xml
@@ -8,7 +8,7 @@
         <result property="score"     column="score"     />
         <result property="passed"     column="passed"     />
         <result property="useTime"     column="use_time"     />
-        <result property="completed"     column="completed"     />
+        <result property="state"     column="state"     />
         <result property="version"         column="version"          />
         <result property="createBy"       column="create_by"       />
         <result property="createTime"     column="create_time"     />
@@ -18,10 +18,8 @@
         <result property="createName"         column="create_name"          />
         <association property="student" javaType="com.gkhy.exam.system.domain.ExStudent" resultMap="exStudentResult" />
         <association property="examPaper" javaType="com.gkhy.exam.system.domain.ExExamPaper" resultMap="exExamPaperResult" />
-        <collection property="singleQuestions" ofType="com.gkhy.exam.system.domain.ExQuestion" select="getQuestionByPaperId" column="{paperId=paper_id,studentId=student_id,completed=completed,questionType=1}"/>
-        <collection property="multiQuestions" ofType="com.gkhy.exam.system.domain.ExQuestion" select="getQuestionByPaperId" column="{paperId=paper_id,studentId=student_id,completed=completed,questionType=2}"/>
-        <collection property="judgeQuestions" ofType="com.gkhy.exam.system.domain.ExQuestion" select="getQuestionByPaperId" column="{paperId=paper_id,studentId=student_id,completed=completed,questionType=3}"/>
-    </resultMap>
+        <collection property="questions" ofType="com.gkhy.exam.system.domain.ExQuestion" select="getQuestionByPaperId" column="{paperId=paper_id,studentId=student_id,state=state}"/>
+     </resultMap>
 
 
     <resultMap type="com.gkhy.exam.system.domain.ExPaperStudent" id="SimplePaperStudentResult">
@@ -31,7 +29,8 @@
         <result property="score"     column="score"     />
         <result property="passed"     column="passed"     />
         <result property="useTime"     column="use_time"     />
-        <result property="completed"     column="completed"     />
+        <result property="startTime"     column="start_time"     />
+        <result property="state"     column="state"     />
         <result property="version"         column="version"          />
         <result property="createBy"       column="create_by"       />
         <result property="createTime"     column="create_time"     />
@@ -39,12 +38,23 @@
         <result property="updateTime"     column="update_time"     />
         <result property="remark"         column="remark"          />
         <result property="createName"         column="create_name"          />
+        <result property="companyId"         column="company_id"          />
+        <result property="companyName"         column="company_name"          />
         <association property="student" javaType="com.gkhy.exam.system.domain.ExStudent" resultMap="exStudentResult" />
         <association property="examPaper" javaType="com.gkhy.exam.system.domain.ExExamPaper" resultMap="exExamPaperResult" />
     </resultMap>
 
     <resultMap type="com.gkhy.exam.system.domain.ExQuestion" id="ExQuestionResult">
         <result property="id"       column="id"       />
+        <result property="questionType"    column="question_type"    />
+        <result property="bankId"     column="bank_id"     />
+        <result property="status"         column="status"          />
+        <result property="companyId"         column="company_id"          />
+        <result property="status"         column="status"          />
+        <result property="answer"         column="answer"          />
+        <result property="title"         column="title"          />
+        <result property="privatize"         column="privatize"          />
+        <result property="content"         column="content"          />
         <association property="studentAnswer" javaType="com.gkhy.exam.system.domain.ExStudentAnswer" resultMap="studentAnswerResult" />
     </resultMap>
 
@@ -55,6 +65,7 @@
         <result property="questionId"       column="answer_question_id"       />
         <result property="answer"       column="answer_answer"       />
         <result property="passed"       column="answer_passed"       />
+        <result property="score"       column="answer_score"       />
     </resultMap>
 
     <resultMap id="exExamPaperResult" type="com.gkhy.exam.system.domain.ExExamPaper">
@@ -62,6 +73,17 @@
         <result property="code"       column="paper_code"       />
         <result property="name"       column="paper_name"       />
         <result property="categoryName"       column="category_name"       />
+        <result property="limited"       column="limited"       />
+        <result property="limitTime"       column="limit_time"       />
+        <result property="deadline"       column="deadline"       />
+        <result property="singleNum"       column="single_num"       />
+        <result property="multiNum"       column="multi_num"       />
+        <result property="judgeNum"       column="judge_num"       />
+        <result property="easyNum"       column="easy_num"       />
+        <result property="singleScore"       column="single_score"       />
+        <result property="multiScore"       column="multi_score"       />
+        <result property="judgeScore"       column="judge_score"       />
+        <result property="easyScore"       column="easy_score"       />
     </resultMap>
 
     <resultMap id="exStudentResult" type="com.gkhy.exam.system.domain.ExStudent">
@@ -71,11 +93,19 @@
     </resultMap>
 
     <insert id="batchInsert">
-        insert into ex_paper_student(paper_id,student_id) values
+        insert into ex_paper_student(paper_id,student_id,create_id) values
         <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.paperId},#{item.studentId})
+            (#{item.paperId},#{item.studentId},#{item.createId})
         </foreach>
     </insert>
+
+    <update id="batchUpdateComplete">
+        update ex_paper_student set completed=#{completed}
+        where id in
+        <foreach collection="paperStudentIds" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </update>
 
     <select id="countByPaperId" resultType="java.lang.Integer">
         select count(1) from ex_paper_student where paper_id=#{paperId}
@@ -86,7 +116,11 @@
     </select>
 
     <select id="selectPaperStudentList" resultMap="SimplePaperStudentResult">
-        select a.*,e.name as create_name,b.phone as student_phone,b.name as student_name,c.name as paper_name,c.id as paper_id,c.code as paper_code,d.name as category_name  from ex_paper_student a
+        select a.*,e.name as create_name,b.phone as student_phone,b.name as student_name,c.name as paper_name,c.code as paper_code,c.limited,c.limit_time,c.deadline,d.name as category_name
+        <if test="studentId!=null">
+        ,(select question_id from ex_student_answer where paper_id=a.paper_id and student_id=#{studentId} order by id desc limit 1) as question_id
+        </if>
+        from ex_paper_student a
         left join ex_student b on a.student_id=b.id
         left join ex_exam_paper c on c.id=a.paper_id
         left join sys_category d on d.id=c.category_id
@@ -105,12 +139,15 @@
             <if test="studentId!=null">
                 and a.student_id = #{studentId}
             </if>
+            <if test="state!=null">
+                and a.state = #{state}
+            </if>
         </where>
-        order by a.id desc
+        order by a.passed desc,a.id desc
     </select>
 
     <select id="selectPaperStudentById" resultMap="ExPaperStudentResult">
-        select a.*,b.id as student_id,b.phone as student_phone,b.name as student_name,c.name as paper_name from ex_paper_student a
+        select a.*,b.id as student_id,b.phone as student_phone,b.name as student_name,c.name as paper_name,c.single_num,c.multi_num,c.judge_num,c.easy_num,c.single_score,c.multi_score,c.judge_score,c.easy_score from ex_paper_student a
         left join ex_student b on a.student_id=b.id
         left join ex_exam_paper c on c.id=a.paper_id
         where a.id=#{paperStudentId}
@@ -130,19 +167,31 @@
         where a.paper_id=#{paperId} and a.student_id=#{studentId}
     </select>
 
-    <select id="getQuestionByPaperId" resultType="com.gkhy.exam.system.domain.ExQuestion">
+    <select id="getQuestionByPaperId" resultMap="ExQuestionResult">
         select a.id,a.question_type,a.bank_id,a.company_id,a.status,
-               <if test="completed!=null and completed=1">
-               a.answer,
+               <if test="state!=null and state!=0">
+               a.answer,c.passed as answer_passed,c.score as answer_score,
                </if>
                a.title,a.privatize,a.content,
-               c.id as answer_id,c.paper_id as answer_paper_id,c.student_id as answer_student_id,c.question_id as answer_question_id,c.answer as answer_answer,
-                <if test="completed!=null and completed=1">
-               c.passed as answer_passed
-                </if>
+               c.id as answer_id,c.paper_id as answer_paper_id,c.student_id as answer_student_id,c.question_id as answer_question_id,c.answer as answer_answer
+
         from ex_question a
         inner join ex_paper_question b on a.id=b.question_id
         left join ex_student_answer c on c.question_id=a.id and c.student_id=#{studentId} and c.paper_id=#{paperId}
-        where b.paper_id=#{paperId} and a.question_type=#{questionType}
+        where b.paper_id=#{paperId}
+        order by a.question_type asc,a.id desc
+    </select>
+
+    <select id="selectByStudentId" resultMap="SimplePaperStudentResult">
+        select a.*,b.name as paper_name,c.id as company_id,c.name as company_name from ex_paper_student a
+        left join ex_exam_paper b on b.id=a.paper_id
+        left join sys_company c on c.id=b.company_id
+    </select>
+
+    <select id="selectNoCompleteStudent" resultMap="SimplePaperStudentResult">
+        select a.*, b.name as paper_name,b.limited,b.limit_time,b.deadline,b.single_num,b.multi_num,b.judge_num,b.easy_num
+        from ex_paper_student a
+        inner join ex_exam_paper b on b.id=a.paper_id
+        where a.state=0 limit #{startIndex},#{pageSize}
     </select>
 </mapper>

--
Gitblit v1.9.2