Kaynağa Gözat

Merge remote-tracking branch 'origin/dev' into dev

大数据与最优化研究所 1 yıl önce
ebeveyn
işleme
46910d1f20

+ 83 - 0
src/main/java/com/xjrsoft/module/assessment/controller/AssessmentPlanAnswerController.java

@@ -0,0 +1,83 @@
+package com.xjrsoft.module.assessment.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
+import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
+import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
+import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
+
+/**
+* @title: 考核计划
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/assessment" + "/assessmentTemplateAnswer")
+@Api(value = "/assessment"  + "/assessmentTemplateAnswer",tags = "考核计划答题代码")
+@AllArgsConstructor
+public class AssessmentPlanAnswerController {
+
+
+    private final IAssessmentTemplatePlanService planService;
+
+    @GetMapping(value = "/student-page")
+    @ApiOperation(value="考核计划答题列表-学生端(分页)")
+    @SaCheckPermission("assessmenttemplateplan:detail")
+    public RT<PageOutput<AssessmentPlanAnswerPageVo>> studentPage(@Valid AssessmentPlanAnswerPageDto dto){
+        dto.setStudentUserId(StpUtil.getLoginIdAsLong());
+        Page<AssessmentPlanAnswerPageVo> page = planService.getStudentPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<AssessmentPlanAnswerPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/teacher-page")
+    @ApiOperation(value="考核计划答题列表-教师端(分页)")
+    @SaCheckPermission("assessmenttemplateplan:detail")
+    public RT<PageOutput<AssessmentPlanAnswerPageVo>> teacherPage(@Valid AssessmentPlanAnswerPageDto dto){
+        dto.setTeacherId(StpUtil.getLoginIdAsLong());
+        Page<AssessmentPlanAnswerPageVo> page = planService.getTeacherPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<AssessmentPlanAnswerPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/info")
+    @ApiOperation(value="根据id查询考核计划信息")
+    @SaCheckPermission("assessmenttemplateplan:detail")
+    public RT<AssessmentTemplatePlanVo> info(@RequestParam Long id){
+        AssessmentTemplatePlan assessmentTemplatePlan = planService.getByIdDeep(id);
+        if (assessmentTemplatePlan == null) {
+           return RT.error("找不到此数据!");
+        }
+        return RT.ok(BeanUtil.toBean(assessmentTemplatePlan, AssessmentTemplatePlanVo.class));
+    }
+
+
+    @PostMapping(value="sure")
+    @ApiOperation(value = "班主任确认考核")
+    @SaCheckPermission("assessmenttemplateplan:add")
+    public RT<Boolean> add(@Valid @RequestBody AssessmentTemplatePlanSureDto dto){
+        boolean isSuccess = planService.sure(dto);
+        return RT.ok(isSuccess);
+    }
+
+}

+ 1 - 1
src/main/java/com/xjrsoft/module/assessment/controller/AssessmentTemplatePlanController.java

@@ -60,7 +60,7 @@ public class AssessmentTemplatePlanController {
     @ApiOperation(value="根据id查询考核计划信息")
     @SaCheckPermission("assessmenttemplateplan:detail")
     public RT<AssessmentTemplatePlanVo> info(@RequestParam Long id){
-        AssessmentTemplatePlan assessmentTemplatePlan = planService.getByIdDeep(id);
+        AssessmentTemplatePlan assessmentTemplatePlan = planService.getById(id);
         if (assessmentTemplatePlan == null) {
            return RT.error("找不到此数据!");
         }

+ 39 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AssessmentPlanAnswerPageDto.java

@@ -0,0 +1,39 @@
+package com.xjrsoft.module.assessment.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 考核计划分页查询入参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class AssessmentPlanAnswerPageDto extends PageInput {
+
+    @ApiModelProperty("计划名称")
+    private String name;
+
+    @ApiModelProperty("模板名称")
+    private String assessmentTemplateName;
+
+    @ApiModelProperty("模板id")
+    private Long assessmentTemplateId;
+
+    @ApiModelProperty("状态(0:未发布 1:已发布)")
+    private Integer status;
+
+    @ApiModelProperty("学生id(后台自动传入)")
+    private Long studentUserId;
+
+    @ApiModelProperty("教师id(后台自动传入)")
+    private Long teacherId;
+
+    @ApiModelProperty("是否确认(0:否 1:是)")
+    private Integer isConfirm;
+}

+ 19 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AssessmentTemplatePlanSureDto.java

@@ -0,0 +1,19 @@
+package com.xjrsoft.module.assessment.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author dzx
+ * @date 2024/4/1
+ */
+@Data
+public class AssessmentTemplatePlanSureDto implements Serializable {
+    @ApiModelProperty("主键编号")
+    private Long id;
+
+    @ApiModelProperty("班级id")
+    private Long classId;
+}

+ 15 - 1
src/main/java/com/xjrsoft/module/assessment/dto/UpdateAssessmentTemplatePlanTimeDto.java

@@ -3,6 +3,9 @@ package com.xjrsoft.module.assessment.dto;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.io.Serializable;
+import java.util.Date;
+
 
 /**
 * @title: 考核计划
@@ -11,7 +14,7 @@ import lombok.Data;
 * @Version 1.0
 */
 @Data
-public class UpdateAssessmentTemplatePlanTimeDto extends AddAssessmentTemplatePlanDto {
+public class UpdateAssessmentTemplatePlanTimeDto implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
@@ -20,4 +23,15 @@ public class UpdateAssessmentTemplatePlanTimeDto extends AddAssessmentTemplatePl
     */
     @ApiModelProperty("")
     private Long id;
+
+    /**
+     * 计划开始时间
+     */
+    @ApiModelProperty("计划开始时间")
+    private Date startTime;
+    /**
+     * 计划结束时间
+     */
+    @ApiModelProperty("计划结束时间")
+    private Date endTime;
 }

+ 7 - 1
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerClassMapper.java

@@ -1,7 +1,7 @@
 package com.xjrsoft.module.assessment.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerClass;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Update;
@@ -17,4 +17,10 @@ public interface AssessmentPlanAnswerClassMapper extends MPJBaseMapper<Assessmen
 
     @Update("update assessment_plan_answer_class set delete_mark = 1,modify_date = now(),modify_user_id = #{loginId} WHERE assessment_template_plan_id = #{planId}")
     Boolean deleteByPlanId(Long planId, Long loginId);
+
+    @Update("UPDATE assessment_plan_answer_class t1" +
+            " LEFT JOIN base_class t2 ON t1.class_id = t2.id" +
+            " SET t1.is_confirm = 1, t1.modify_date = NOW(), t1.modify_user_id = #{loginId}" +
+            " WHERE assessment_template_plan_id = #{dto.id} and t2.id = #{dto.classId}")
+    Boolean sure(AssessmentTemplatePlanSureDto dto, Long loginId);
 }

+ 9 - 0
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerStudentMapper.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.assessment.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerStudent;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Update;
@@ -17,4 +18,12 @@ public interface AssessmentPlanAnswerStudentMapper extends MPJBaseMapper<Assessm
 
     @Update("update assessment_plan_answer_student set delete_mark = 1,modify_date = now(),modify_user_id = #{loginId} WHERE assessment_template_plan_id = #{planId}")
     Boolean deleteByPlanId(Long planId, Long loginId);
+
+    @Update("UPDATE assessment_plan_answer_student t1 " +
+            " LEFT JOIN base_student_school_roll t2 ON t1.student_user_id = t2.user_id" +
+            " LEFT JOIN base_class t3 ON t2.class_id = t3.id" +
+            " SET t1.is_confirm = 1,t1.modify_date = NOW(),t1.modify_user_id = #{loginId}" +
+            " WHERE t1.assessment_template_plan_id = #{dto.id} and t3.teacher_id = #{loginId}" +
+            " AND t3.id = #{dto.classId}")
+    Boolean sure(AssessmentTemplatePlanSureDto dto, Long loginId);
 }

+ 7 - 0
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentTemplatePlanMapper.java

@@ -2,8 +2,10 @@ package com.xjrsoft.module.assessment.mapper;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
 import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -22,4 +24,9 @@ public interface AssessmentTemplatePlanMapper extends MPJBaseMapper<AssessmentTe
      * @param dto
      */
     Page<AssessmentTemplatePlanPageVo> getPage(Page<AssessmentTemplatePlanPageVo> page, AssessmentTemplatePlanPageDto dto);
+
+
+    Page<AssessmentPlanAnswerPageVo> getTeacherPage(Page<AssessmentPlanAnswerPageVo> page, AssessmentPlanAnswerPageDto dto);
+
+    Page<AssessmentPlanAnswerPageVo> getStudentPage(Page<AssessmentPlanAnswerPageVo> page, AssessmentPlanAnswerPageDto dto);
 }

+ 21 - 2
src/main/java/com/xjrsoft/module/assessment/service/IAssessmentTemplatePlanService.java

@@ -1,15 +1,17 @@
 package com.xjrsoft.module.assessment.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.yulichang.base.MPJBaseService;
 import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
+import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanTimeDto;
 import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
-import lombok.Data;
+
 import java.util.List;
 
 /**
@@ -46,4 +48,21 @@ public interface IAssessmentTemplatePlanService extends MPJBaseService<Assessmen
      * 分页查询
      */
     Page<AssessmentTemplatePlanPageVo> getPage(Page<AssessmentTemplatePlanPageVo> page, AssessmentTemplatePlanPageDto dto);
+
+    /**
+     * 考核答题分页查询(学生端)
+     */
+    Page<AssessmentPlanAnswerPageVo> getStudentPage(Page<AssessmentPlanAnswerPageVo> page, AssessmentPlanAnswerPageDto dto);
+
+    /**
+     * 考核答题分页查询(教师端)
+     */
+    Page<AssessmentPlanAnswerPageVo> getTeacherPage(Page<AssessmentPlanAnswerPageVo> page, AssessmentPlanAnswerPageDto dto);
+
+    /**
+     * 班主任确认
+     * @return
+     */
+    Boolean sure(AssessmentTemplatePlanSureDto dto);
+
 }

+ 22 - 0
src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java

@@ -9,7 +9,9 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
+import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
+import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanTimeDto;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerClass;
@@ -25,6 +27,7 @@ import com.xjrsoft.module.assessment.mapper.AssessmentQuestionMapper;
 import com.xjrsoft.module.assessment.mapper.AssessmentTemplateMapper;
 import com.xjrsoft.module.assessment.mapper.AssessmentTemplatePlanMapper;
 import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
 import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
 import com.xjrsoft.module.teacher.entity.XjrUser;
@@ -73,6 +76,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
         );
         for (AssessmentQuestion assessmentQuestion : questionList) {
             AssessmentPlanQuestion planQuestion = BeanUtil.toBean(assessmentQuestion, AssessmentPlanQuestion.class);
+            planQuestion.setId(null);
             planQuestion.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
             planQuestionMapper.insert(planQuestion);
         }
@@ -210,4 +214,22 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
     public Page<AssessmentTemplatePlanPageVo> getPage(Page<AssessmentTemplatePlanPageVo> page, AssessmentTemplatePlanPageDto dto) {
         return templatePlanMapper.getPage(page, dto);
     }
+
+    @Override
+    public Page<AssessmentPlanAnswerPageVo> getStudentPage(Page<AssessmentPlanAnswerPageVo> page, AssessmentPlanAnswerPageDto dto) {
+        return templatePlanMapper.getStudentPage(page, dto);
+    }
+
+    @Override
+    public Page<AssessmentPlanAnswerPageVo> getTeacherPage(Page<AssessmentPlanAnswerPageVo> page, AssessmentPlanAnswerPageDto dto) {
+        return templatePlanMapper.getTeacherPage(page, dto);
+    }
+
+    @Override
+    public Boolean sure(AssessmentTemplatePlanSureDto dto) {
+        long teacherId = StpUtil.getLoginIdAsLong();
+        answerClassMapper.sure(dto, teacherId);
+        studentMapper.sure(dto, teacherId);
+        return true;
+    }
 }

+ 68 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanAnswerPageVo.java

@@ -0,0 +1,68 @@
+package com.xjrsoft.module.assessment.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+* @title: 考核计划分页列表出参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AssessmentPlanAnswerPageVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private String id;
+    /**
+    * 名称
+    */
+    @ApiModelProperty("名称")
+    private String name;
+    /**
+    * 分数
+    */
+    @ApiModelProperty("分数")
+    private Long score;
+    /**
+    * 计划开始时间
+    */
+    @ApiModelProperty("计划开始时间")
+    private Date startTime;
+    /**
+    * 计划结束时间
+    */
+    @ApiModelProperty("计划结束时间")
+    private Date endTime;
+    /**
+    * 状态(0:未发布 1:已发布)
+    */
+    @ApiModelProperty("状态(0:未发布 1:已发布)")
+    private Integer status;
+    /**
+    * 考核模板id(assessment_template)
+    */
+    @ApiModelProperty("考核模板id(assessment_template)")
+    private Long assessmentTemplateId;
+
+    /**
+     * 考核模板id(assessment_template)
+     */
+    @ApiModelProperty("考核模板名称(assessment_template)")
+    private String assessmentTemplateName;
+
+    @ApiModelProperty("是否确认(0:否 1:是)")
+    private Integer isConfirm;
+
+    @ApiModelProperty("班级id")
+    private Long classId;
+
+    @ApiModelProperty("班级名称")
+    private String className;
+
+}

+ 12 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentTemplatePlanPageVo.java

@@ -62,4 +62,16 @@ public class AssessmentTemplatePlanPageVo {
     @ApiModelProperty("考核模板名称(assessment_template)")
     private String assessmentTemplateName;
 
+    /**
+     * 选人方式
+     */
+    @ApiModelProperty("选人方式(全部:all 随机:random)")
+    private String type;
+
+    /**
+     * 随机人数
+     */
+    @ApiModelProperty("随机人数")
+    private Integer randomNumber;
+
 }

+ 0 - 17
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentTemplatePlanVo.java

@@ -57,21 +57,4 @@ public class AssessmentTemplatePlanVo {
     @ApiModelProperty("考核模板id(assessment_template)")
     private Long assessmentTemplateId;
 
-
-    /**
-    * assessmentPlanQuestion
-    */
-    @ApiModelProperty("assessmentPlanQuestion子表")
-    private List<AssessmentPlanQuestionVo> assessmentPlanQuestionList;
-    /**
-    * assessmentPlanAnswerClass
-    */
-    @ApiModelProperty("assessmentPlanAnswerClass子表")
-    private List<AssessmentPlanAnswerClassVo> assessmentPlanAnswerClassList;
-    /**
-    * assessmentPlanAnswerStudent
-    */
-    @ApiModelProperty("assessmentPlanAnswerStudent子表")
-    private List<AssessmentPlanAnswerStudentVo> assessmentPlanAnswerStudentList;
-
 }

+ 43 - 1
src/main/resources/mapper/assessment/AssessmentTemplatePlanMapper.xml

@@ -5,7 +5,7 @@
 <mapper namespace="com.xjrsoft.module.assessment.mapper.AssessmentTemplatePlanMapper">
     <select id="getPage" parameterType="com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto" resultType="com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo">
         SELECT t1.id,t1.name,t1.score,t1.start_time,t1.status,t1.end_time,t2.name AS assessment_template_name,
-        t1.assessment_template_id FROM assessment_template_plan t1
+        t1.assessment_template_id,t1.type,t1.randomNumber FROM assessment_template_plan t1
         LEFT JOIN assessment_template t2 ON t1.assessment_template_id = t2.id
         WHERE t1.delete_mark = 0
         <if test="dto.name != null and dto.name != ''">
@@ -22,4 +22,46 @@
         </if>
         ORDER BY t1.create_date DESC
     </select>
+    <select id="getStudentPage" parameterType="com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto" resultType="com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerPageVo">
+        SELECT t1.id,t1.name,t1.score,t1.start_time,t1.status,t1.end_time,t2.name AS assessment_template_name,
+        t1.assessment_template_id,t3.is_confirm FROM assessment_template_plan t1
+        LEFT JOIN assessment_template t2 ON t1.assessment_template_id = t2.id
+        LEFT JOIN assessment_plan_answer_student t3 ON t3.assessment_template_plan_id = t1.id
+        WHERE t1.delete_mark = 0 AND t1.status = 1 AND t3.student_user_id = #{dto.studentUserId}
+        and t3.is_confirm = 1
+        <if test="dto.name != null and dto.name != ''">
+            and t1.name like concat('%', #{dto.name}, '%')
+        </if>
+        <if test="dto.assessmentTemplateName != null and dto.assessmentTemplateName != ''">
+            and t2.name like concat('%', #{dto.assessmentTemplateName}, '%')
+        </if>
+        <if test="dto.assessmentTemplateId != null">
+            and t2.id = #{dto.assessmentTemplateId}
+        </if>
+        <if test="dto.status != null">
+            and t1.status = #{dto.status}
+        </if>
+        ORDER BY t1.create_date asc
+    </select>
+    <select id="getTeacherPage" parameterType="com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto" resultType="com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerPageVo">
+        SELECT t1.id,t1.name,t1.score,t1.start_time,t1.status,t1.end_time,t2.name AS assessment_template_name,
+        t1.assessment_template_id,t3.is_confirm,t3.class_id,t4.name as class_name FROM assessment_template_plan t1
+        LEFT JOIN assessment_template t2 ON t1.assessment_template_id = t2.id
+        LEFT JOIN assessment_plan_answer_class t3 ON t3.assessment_template_plan_id = t1.id
+        LEFT JOIN base_class t4 ON t3.class_id = t4.id
+        WHERE t1.delete_mark = 0 AND t1.status = 1 AND t4.teacher_id = #{dto.teacherId}
+        <if test="dto.name != null and dto.name != ''">
+            and t1.name like concat('%', #{dto.name}, '%')
+        </if>
+        <if test="dto.assessmentTemplateName != null and dto.assessmentTemplateName != ''">
+            and t2.name like concat('%', #{dto.assessmentTemplateName}, '%')
+        </if>
+        <if test="dto.assessmentTemplateId != null">
+            and t2.id = #{dto.assessmentTemplateId}
+        </if>
+        <if test="dto.status != null">
+            and t1.status = #{dto.status}
+        </if>
+        ORDER BY t1.create_date asc
+    </select>
 </mapper>