Quellcode durchsuchen

考核计划模块

dzx vor 1 Jahr
Ursprung
Commit
3b336f9f0d
24 geänderte Dateien mit 1393 neuen und 9 gelöschten Zeilen
  1. 93 0
      src/main/java/com/xjrsoft/module/assessment/controller/AssessmentTemplatePlanController.java
  2. 43 0
      src/main/java/com/xjrsoft/module/assessment/dto/AddAssessmentPlanAnswerClassDto.java
  3. 38 0
      src/main/java/com/xjrsoft/module/assessment/dto/AddAssessmentPlanAnswerStudentDto.java
  4. 68 0
      src/main/java/com/xjrsoft/module/assessment/dto/AddAssessmentPlanQuestionDto.java
  5. 61 0
      src/main/java/com/xjrsoft/module/assessment/dto/AddAssessmentTemplatePlanDto.java
  6. 36 0
      src/main/java/com/xjrsoft/module/assessment/dto/AssessmentTemplatePlanPageDto.java
  7. 35 0
      src/main/java/com/xjrsoft/module/assessment/dto/UpdateAssessmentTemplatePlanDto.java
  8. 93 0
      src/main/java/com/xjrsoft/module/assessment/entity/AssessmentPlanAnswerClass.java
  9. 88 0
      src/main/java/com/xjrsoft/module/assessment/entity/AssessmentPlanAnswerStudent.java
  10. 118 0
      src/main/java/com/xjrsoft/module/assessment/entity/AssessmentPlanQuestion.java
  11. 129 0
      src/main/java/com/xjrsoft/module/assessment/entity/AssessmentTemplatePlan.java
  12. 17 0
      src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerClassMapper.java
  13. 17 0
      src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerStudentMapper.java
  14. 17 0
      src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanQuestionMapper.java
  15. 25 0
      src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentTemplatePlanMapper.java
  16. 48 0
      src/main/java/com/xjrsoft/module/assessment/service/IAssessmentTemplatePlanService.java
  17. 170 0
      src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java
  18. 44 0
      src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanAnswerClassVo.java
  19. 39 0
      src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanAnswerStudentVo.java
  20. 69 0
      src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanQuestionVo.java
  21. 65 0
      src/main/java/com/xjrsoft/module/assessment/vo/AssessmentTemplatePlanPageVo.java
  22. 77 0
      src/main/java/com/xjrsoft/module/assessment/vo/AssessmentTemplatePlanVo.java
  23. 3 0
      src/main/resources/mapper/assessment/AssessmentTemplatePlanMapper.xml
  24. 0 9
      src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

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

@@ -0,0 +1,93 @@
+package com.xjrsoft.module.assessment.controller;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xjrsoft.common.page.ConventPage;
+import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
+import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanDto;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+
+import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
+import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
+import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
+
+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.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+* @title: 考核计划
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/assessment" + "/assessmentTemplatePlan")
+@Api(value = "/assessment"  + "/assessmentTemplatePlan",tags = "考核计划代码")
+@AllArgsConstructor
+public class AssessmentTemplatePlanController {
+
+
+    private final IAssessmentTemplatePlanService planService;
+
+    @GetMapping(value = "/page")
+    @ApiOperation(value="考核计划列表(分页)")
+    @SaCheckPermission("assessmenttemplateplan:detail")
+    public RT<PageOutput<AssessmentTemplatePlanPageVo>> page(@Valid AssessmentTemplatePlanPageDto dto){
+
+        Page<AssessmentTemplatePlanPageVo> page = planService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<AssessmentTemplatePlanPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentTemplatePlanPageVo.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
+    @ApiOperation(value = "新增考核计划")
+    @SaCheckPermission("assessmenttemplateplan:add")
+    public RT<Boolean> add(@Valid @RequestBody AddAssessmentTemplatePlanDto dto){
+        AssessmentTemplatePlan assessmentTemplatePlan = BeanUtil.toBean(dto, AssessmentTemplatePlan.class);
+        boolean isSuccess = planService.add(assessmentTemplatePlan);
+        return RT.ok(isSuccess);
+    }
+
+    @PutMapping
+    @ApiOperation(value = "修改考核计划")
+    @SaCheckPermission("assessmenttemplateplan:edit")
+    public RT<Boolean> update(@Valid @RequestBody UpdateAssessmentTemplatePlanDto dto){
+
+        AssessmentTemplatePlan assessmentTemplatePlan = BeanUtil.toBean(dto, AssessmentTemplatePlan.class);
+        return RT.ok(planService.update(assessmentTemplatePlan));
+
+    }
+
+    @DeleteMapping
+    @ApiOperation(value = "删除考核计划")
+    @SaCheckPermission("assessmenttemplateplan:delete")
+    public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
+        return RT.ok(planService.delete(ids));
+
+    }
+
+}

+ 43 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AddAssessmentPlanAnswerClassDto.java

@@ -0,0 +1,43 @@
+package com.xjrsoft.module.assessment.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+
+/**
+* @title: 考核计划答题参与班级
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AddAssessmentPlanAnswerClassDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 班级id
+    */
+    @ApiModelProperty("班级id")
+    private String classId;
+    /**
+    * 班主任是否确认(0:否 1:是)
+    */
+    @ApiModelProperty("班主任是否确认(0:否 1:是)")
+    private Integer isConfirm;
+    /**
+    * 考核计划id(assessment_template_plan)
+    */
+    @ApiModelProperty("考核计划id(assessment_template_plan)")
+    private Long assessmentTemplatePlanId;
+
+}

+ 38 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AddAssessmentPlanAnswerStudentDto.java

@@ -0,0 +1,38 @@
+package com.xjrsoft.module.assessment.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+
+/**
+* @title: 考核计划答题参与学生
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AddAssessmentPlanAnswerStudentDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 班级ic
+    */
+    @ApiModelProperty("班级ic")
+    private String studentUserId;
+    /**
+    * 考核计划id(assessment_template_plan)
+    */
+    @ApiModelProperty("考核计划id(assessment_template_plan)")
+    private Long assessmentTemplatePlanId;
+
+}

+ 68 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AddAssessmentPlanQuestionDto.java

@@ -0,0 +1,68 @@
+package com.xjrsoft.module.assessment.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+
+/**
+* @title: 考核模板题目
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AddAssessmentPlanQuestionDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Integer sortCode;
+    /**
+    * 题目题干
+    */
+    @ApiModelProperty("题目题干")
+    private String name;
+    /**
+    * 分数
+    */
+    @ApiModelProperty("分数")
+    private Long score;
+    /**
+    * 题目类型
+    */
+    @ApiModelProperty("题目类型")
+    private String type;
+    /**
+    * 类别(1:大题 2:小题 3:选项)
+    */
+    @ApiModelProperty("类别(1:大题 2:小题 3:选项)")
+    private Integer category;
+    /**
+    * 父级id
+    */
+    @ApiModelProperty("父级id")
+    private Long parentId;
+    /**
+    * 小题是否必填(1:是 0:否)
+    */
+    @ApiModelProperty("小题是否必填(1:是 0:否)")
+    private Short required;
+    /**
+    * 考核计划id(assessment_template_plan)
+    */
+    @ApiModelProperty("考核计划id(assessment_template_plan)")
+    private Long assessmentTemplatePlanId;
+
+}

+ 61 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AddAssessmentTemplatePlanDto.java

@@ -0,0 +1,61 @@
+package com.xjrsoft.module.assessment.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanQuestion;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerClass;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerStudent;
+
+
+
+/**
+* @title: 考核计划
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AddAssessmentTemplatePlanDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 名称
+    */
+    @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;
+
+}

+ 36 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AssessmentTemplatePlanPageDto.java

@@ -0,0 +1,36 @@
+package com.xjrsoft.module.assessment.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+
+
+/**
+* @title: 考核计划分页查询入参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class AssessmentTemplatePlanPageDto extends PageInput {
+
+    @ApiModelProperty("计划名称")
+    private String name;
+
+    @ApiModelProperty("模板名称")
+    private String assessmentTemplateName;
+
+    @ApiModelProperty("模板id")
+    private Long assessmentTemplateId;
+
+    @ApiModelProperty("状态(0:未发布 1:已发布)")
+    private Integer status;
+}

+ 35 - 0
src/main/java/com/xjrsoft/module/assessment/dto/UpdateAssessmentTemplatePlanDto.java

@@ -0,0 +1,35 @@
+package com.xjrsoft.module.assessment.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.List;
+import java.util.Date;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanQuestion;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerClass;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerStudent;
+
+
+
+/**
+* @title: 考核计划
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class UpdateAssessmentTemplatePlanDto extends AddAssessmentTemplatePlanDto {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+}

+ 93 - 0
src/main/java/com/xjrsoft/module/assessment/entity/AssessmentPlanAnswerClass.java

@@ -0,0 +1,93 @@
+package com.xjrsoft.module.assessment.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: 考核计划答题参与班级
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+@TableName("assessment_plan_answer_class")
+@ApiModel(value = "assessment_plan_answer_class", description = "考核计划答题参与班级")
+public class AssessmentPlanAnswerClass implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableId
+    private Long id;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 班级id
+    */
+    @ApiModelProperty("班级id")
+    private String classId;
+    /**
+    * 班主任是否确认(0:否 1:是)
+    */
+    @ApiModelProperty("班主任是否确认(0:否 1:是)")
+    private Integer isConfirm;
+    /**
+    * 考核计划id(assessment_template_plan)
+    */
+    @ApiModelProperty("考核计划id(assessment_template_plan)")
+    private Long assessmentTemplatePlanId;
+
+
+}

+ 88 - 0
src/main/java/com/xjrsoft/module/assessment/entity/AssessmentPlanAnswerStudent.java

@@ -0,0 +1,88 @@
+package com.xjrsoft.module.assessment.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: 考核计划答题参与学生
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+@TableName("assessment_plan_answer_student")
+@ApiModel(value = "assessment_plan_answer_student", description = "考核计划答题参与学生")
+public class AssessmentPlanAnswerStudent implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableId
+    private Long id;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 班级ic
+    */
+    @ApiModelProperty("班级ic")
+    private String studentUserId;
+    /**
+    * 考核计划id(assessment_template_plan)
+    */
+    @ApiModelProperty("考核计划id(assessment_template_plan)")
+    private Long assessmentTemplatePlanId;
+
+
+}

+ 118 - 0
src/main/java/com/xjrsoft/module/assessment/entity/AssessmentPlanQuestion.java

@@ -0,0 +1,118 @@
+package com.xjrsoft.module.assessment.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: 考核模板题目
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+@TableName("assessment_plan_question")
+@ApiModel(value = "assessment_plan_question", description = "考核模板题目")
+public class AssessmentPlanQuestion implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableId
+    private Long id;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Integer sortCode;
+    /**
+    * 题目题干
+    */
+    @ApiModelProperty("题目题干")
+    private String name;
+    /**
+    * 分数
+    */
+    @ApiModelProperty("分数")
+    private Long score;
+    /**
+    * 题目类型
+    */
+    @ApiModelProperty("题目类型")
+    private String type;
+    /**
+    * 类别(1:大题 2:小题 3:选项)
+    */
+    @ApiModelProperty("类别(1:大题 2:小题 3:选项)")
+    private Integer category;
+    /**
+    * 父级id
+    */
+    @ApiModelProperty("父级id")
+    private Long parentId;
+    /**
+    * 小题是否必填(1:是 0:否)
+    */
+    @ApiModelProperty("小题是否必填(1:是 0:否)")
+    private Short required;
+    /**
+    * 考核计划id(assessment_template_plan)
+    */
+    @ApiModelProperty("考核计划id(assessment_template_plan)")
+    private Long assessmentTemplatePlanId;
+
+
+}

+ 129 - 0
src/main/java/com/xjrsoft/module/assessment/entity/AssessmentTemplatePlan.java

@@ -0,0 +1,129 @@
+package com.xjrsoft.module.assessment.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.github.yulichang.annotation.EntityMapping;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+
+/**
+* @title: 考核计划
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+@TableName("assessment_template_plan")
+@ApiModel(value = "assessment_template_plan", description = "考核计划")
+public class AssessmentTemplatePlan implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableId
+    private Long id;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUserId;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.UPDATE)
+    private Long modifyUserId;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date modifyDate;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
+    private Integer deleteMark;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    @TableField(fill = FieldFill.INSERT)
+    private Integer enabledMark;
+    /**
+    * 名称
+    */
+    @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;
+
+    /**
+    * assessmentPlanQuestion
+    */
+    @ApiModelProperty("assessmentPlanQuestion子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "assessmentTemplatePlanId")
+    private List<AssessmentPlanQuestion> assessmentPlanQuestionList;
+    /**
+    * assessmentPlanAnswerClass
+    */
+    @ApiModelProperty("assessmentPlanAnswerClass子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "assessmentTemplatePlanId")
+    private List<AssessmentPlanAnswerClass> assessmentPlanAnswerClassList;
+    /**
+    * assessmentPlanAnswerStudent
+    */
+    @ApiModelProperty("assessmentPlanAnswerStudent子表")
+    @TableField(exist = false)
+    @EntityMapping(thisField = "id", joinField = "assessmentTemplatePlanId")
+    private List<AssessmentPlanAnswerStudent> assessmentPlanAnswerStudentList;
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerClassMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.assessment.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerClass;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 考核计划答题参与班级
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Mapper
+public interface AssessmentPlanAnswerClassMapper extends MPJBaseMapper<AssessmentPlanAnswerClass> {
+
+}

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

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.assessment.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerStudent;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 考核计划答题参与学生
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Mapper
+public interface AssessmentPlanAnswerStudentMapper extends MPJBaseMapper<AssessmentPlanAnswerStudent> {
+
+}

+ 17 - 0
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanQuestionMapper.java

@@ -0,0 +1,17 @@
+package com.xjrsoft.module.assessment.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanQuestion;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 考核模板题目
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Mapper
+public interface AssessmentPlanQuestionMapper extends MPJBaseMapper<AssessmentPlanQuestion> {
+
+}

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

@@ -0,0 +1,25 @@
+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.AssessmentTemplatePlanPageDto;
+import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+* @title: 考核计划
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Mapper
+public interface AssessmentTemplatePlanMapper extends MPJBaseMapper<AssessmentTemplatePlan> {
+
+    /**
+     * 分页查询
+     * @param page
+     * @param dto
+     */
+    Page<AssessmentTemplatePlanPageVo> getPage(Page<AssessmentTemplatePlanPageVo> page, AssessmentTemplatePlanPageDto dto);
+}

+ 48 - 0
src/main/java/com/xjrsoft/module/assessment/service/IAssessmentTemplatePlanService.java

@@ -0,0 +1,48 @@
+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.AssessmentTemplatePlanPageDto;
+import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
+import lombok.Data;
+import java.util.List;
+
+/**
+* @title: 考核计划
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+
+public interface IAssessmentTemplatePlanService extends MPJBaseService<AssessmentTemplatePlan> {
+    /**
+    * 新增
+    *
+    * @param assessmentTemplatePlan
+    * @return
+    */
+    Boolean add(AssessmentTemplatePlan assessmentTemplatePlan);
+
+    /**
+    * 更新
+    *
+    * @param assessmentTemplatePlan
+    * @return
+    */
+    Boolean update(AssessmentTemplatePlan assessmentTemplatePlan);
+
+    /**
+    * 删除
+    *
+    * @param ids
+    * @return
+    */
+    Boolean delete(List<Long> ids);
+
+    /**
+     * 分页查询
+     */
+    Page<AssessmentTemplatePlanPageVo> getPage(Page<AssessmentTemplatePlanPageVo> page, AssessmentTemplatePlanPageDto dto);
+}

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

@@ -0,0 +1,170 @@
+package com.xjrsoft.module.assessment.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerClass;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerStudent;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanQuestion;
+import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
+import com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerClassMapper;
+import com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerStudentMapper;
+import com.xjrsoft.module.assessment.mapper.AssessmentPlanQuestionMapper;
+import com.xjrsoft.module.assessment.mapper.AssessmentTemplatePlanMapper;
+import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
+import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+* @title: 考核计划
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<AssessmentTemplatePlanMapper, AssessmentTemplatePlan> implements IAssessmentTemplatePlanService {
+    private final AssessmentTemplatePlanMapper templatePlanMapper;
+
+    private final AssessmentPlanQuestionMapper planQuestionMapper;
+    private final AssessmentPlanAnswerClassMapper answerClassMapper;
+    private final AssessmentPlanAnswerStudentMapper studentMapper;
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean add(AssessmentTemplatePlan assessmentTemplatePlan) {
+        templatePlanMapper.insert(assessmentTemplatePlan);
+        for (AssessmentPlanQuestion assessmentPlanQuestion : assessmentTemplatePlan.getAssessmentPlanQuestionList()) {
+            assessmentPlanQuestion.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
+            planQuestionMapper.insert(assessmentPlanQuestion);
+        }
+        for (AssessmentPlanAnswerClass assessmentPlanAnswerClass : assessmentTemplatePlan.getAssessmentPlanAnswerClassList()) {
+            assessmentPlanAnswerClass.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
+            answerClassMapper.insert(assessmentPlanAnswerClass);
+        }
+        for (AssessmentPlanAnswerStudent assessmentPlanAnswerStudent : assessmentTemplatePlan.getAssessmentPlanAnswerStudentList()) {
+            assessmentPlanAnswerStudent.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
+            studentMapper.insert(assessmentPlanAnswerStudent);
+        }
+
+        return true;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean update(AssessmentTemplatePlan assessmentTemplatePlan) {
+        templatePlanMapper.updateById(assessmentTemplatePlan);
+        //********************************* AssessmentPlanQuestion  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<AssessmentPlanQuestion> assessmentPlanQuestionList = planQuestionMapper.selectList(Wrappers.lambdaQuery(AssessmentPlanQuestion.class).eq(AssessmentPlanQuestion::getAssessmentTemplatePlanId, assessmentTemplatePlan.getId()).select(AssessmentPlanQuestion::getId));
+            List<Long> assessmentPlanQuestionIds = assessmentPlanQuestionList.stream().map(AssessmentPlanQuestion::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> assessmentPlanQuestionOldIds = assessmentTemplatePlan.getAssessmentPlanQuestionList().stream().map(AssessmentPlanQuestion::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> assessmentPlanQuestionRemoveIds = assessmentPlanQuestionIds.stream().filter(item -> !assessmentPlanQuestionOldIds.contains(item)).collect(Collectors.toList());
+
+            for (AssessmentPlanQuestion assessmentPlanQuestion : assessmentTemplatePlan.getAssessmentPlanQuestionList()) {
+                //如果不等于空则修改
+                if (assessmentPlanQuestion.getId() != null) {
+                    planQuestionMapper.updateById(assessmentPlanQuestion);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    assessmentPlanQuestion.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
+                    planQuestionMapper.insert(assessmentPlanQuestion);
+                }
+            }
+            //已经不存在的id 删除
+            if(assessmentPlanQuestionRemoveIds.size() > 0){
+                planQuestionMapper.deleteBatchIds(assessmentPlanQuestionRemoveIds);
+            }
+        }
+        //********************************* AssessmentPlanQuestion  增删改  结束 *******************************************/
+
+        //********************************* AssessmentPlanAnswerClass  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<AssessmentPlanAnswerClass> assessmentPlanAnswerClassList = answerClassMapper.selectList(Wrappers.lambdaQuery(AssessmentPlanAnswerClass.class).eq(AssessmentPlanAnswerClass::getAssessmentTemplatePlanId, assessmentTemplatePlan.getId()).select(AssessmentPlanAnswerClass::getId));
+            List<Long> assessmentPlanAnswerClassIds = assessmentPlanAnswerClassList.stream().map(AssessmentPlanAnswerClass::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> assessmentPlanAnswerClassOldIds = assessmentTemplatePlan.getAssessmentPlanAnswerClassList().stream().map(AssessmentPlanAnswerClass::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> assessmentPlanAnswerClassRemoveIds = assessmentPlanAnswerClassIds.stream().filter(item -> !assessmentPlanAnswerClassOldIds.contains(item)).collect(Collectors.toList());
+
+            for (AssessmentPlanAnswerClass assessmentPlanAnswerClass : assessmentTemplatePlan.getAssessmentPlanAnswerClassList()) {
+                //如果不等于空则修改
+                if (assessmentPlanAnswerClass.getId() != null) {
+                    answerClassMapper.updateById(assessmentPlanAnswerClass);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    assessmentPlanAnswerClass.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
+                    answerClassMapper.insert(assessmentPlanAnswerClass);
+                }
+            }
+            //已经不存在的id 删除
+            if(assessmentPlanAnswerClassRemoveIds.size() > 0){
+                answerClassMapper.deleteBatchIds(assessmentPlanAnswerClassRemoveIds);
+            }
+        }
+        //********************************* AssessmentPlanAnswerClass  增删改  结束 *******************************************/
+
+        //********************************* AssessmentPlanAnswerStudent  增删改  开始 *******************************************/
+        {
+            // 查出所有子级的id
+            List<AssessmentPlanAnswerStudent> assessmentPlanAnswerStudentList = studentMapper.selectList(Wrappers.lambdaQuery(AssessmentPlanAnswerStudent.class).eq(AssessmentPlanAnswerStudent::getAssessmentTemplatePlanId, assessmentTemplatePlan.getId()).select(AssessmentPlanAnswerStudent::getId));
+            List<Long> assessmentPlanAnswerStudentIds = assessmentPlanAnswerStudentList.stream().map(AssessmentPlanAnswerStudent::getId).collect(Collectors.toList());
+            //原有子表单 没有被删除的主键
+            List<Long> assessmentPlanAnswerStudentOldIds = assessmentTemplatePlan.getAssessmentPlanAnswerStudentList().stream().map(AssessmentPlanAnswerStudent::getId).filter(Objects::nonNull).collect(Collectors.toList());
+            //找到需要删除的id
+            List<Long> assessmentPlanAnswerStudentRemoveIds = assessmentPlanAnswerStudentIds.stream().filter(item -> !assessmentPlanAnswerStudentOldIds.contains(item)).collect(Collectors.toList());
+
+            for (AssessmentPlanAnswerStudent assessmentPlanAnswerStudent : assessmentTemplatePlan.getAssessmentPlanAnswerStudentList()) {
+                //如果不等于空则修改
+                if (assessmentPlanAnswerStudent.getId() != null) {
+                    studentMapper.updateById(assessmentPlanAnswerStudent);
+                }
+                //如果等于空 则新增
+                else {
+                    //已经不存在的id 删除
+                    assessmentPlanAnswerStudent.setAssessmentTemplatePlanId(assessmentTemplatePlan.getId());
+                    studentMapper.insert(assessmentPlanAnswerStudent);
+                }
+            }
+            //已经不存在的id 删除
+            if(assessmentPlanAnswerStudentRemoveIds.size() > 0){
+                studentMapper.deleteBatchIds(assessmentPlanAnswerStudentRemoveIds);
+            }
+        }
+        //********************************* AssessmentPlanAnswerStudent  增删改  结束 *******************************************/
+
+        return true;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean delete(List<Long> ids) {
+        templatePlanMapper.deleteBatchIds(ids);
+        planQuestionMapper.delete(Wrappers.lambdaQuery(AssessmentPlanQuestion.class).in(AssessmentPlanQuestion::getAssessmentTemplatePlanId, ids));
+        answerClassMapper.delete(Wrappers.lambdaQuery(AssessmentPlanAnswerClass.class).in(AssessmentPlanAnswerClass::getAssessmentTemplatePlanId, ids));
+        studentMapper.delete(Wrappers.lambdaQuery(AssessmentPlanAnswerStudent.class).in(AssessmentPlanAnswerStudent::getAssessmentTemplatePlanId, ids));
+
+        return true;
+    }
+
+    @Override
+    public Page<AssessmentTemplatePlanPageVo> getPage(Page<AssessmentTemplatePlanPageVo> page, AssessmentTemplatePlanPageDto dto) {
+        return templatePlanMapper.getPage(page, dto);
+    }
+}

+ 44 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanAnswerClassVo.java

@@ -0,0 +1,44 @@
+package com.xjrsoft.module.assessment.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+/**
+* @title: 考核计划答题参与班级表单出参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AssessmentPlanAnswerClassVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+    /**
+    * 班级id
+    */
+    @ApiModelProperty("班级id")
+    private String classId;
+    /**
+    * 班主任是否确认(0:否 1:是)
+    */
+    @ApiModelProperty("班主任是否确认(0:否 1:是)")
+    private Integer isConfirm;
+    /**
+    * 考核计划id(assessment_template_plan)
+    */
+    @ApiModelProperty("考核计划id(assessment_template_plan)")
+    private Long assessmentTemplatePlanId;
+
+
+
+}

+ 39 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanAnswerStudentVo.java

@@ -0,0 +1,39 @@
+package com.xjrsoft.module.assessment.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+/**
+* @title: 考核计划答题参与学生表单出参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AssessmentPlanAnswerStudentVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+    /**
+    * 班级ic
+    */
+    @ApiModelProperty("班级ic")
+    private String studentUserId;
+    /**
+    * 考核计划id(assessment_template_plan)
+    */
+    @ApiModelProperty("考核计划id(assessment_template_plan)")
+    private Long assessmentTemplatePlanId;
+
+
+
+}

+ 69 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanQuestionVo.java

@@ -0,0 +1,69 @@
+package com.xjrsoft.module.assessment.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+
+/**
+* @title: 考核模板题目表单出参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AssessmentPlanQuestionVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long id;
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Integer sortCode;
+    /**
+    * 题目题干
+    */
+    @ApiModelProperty("题目题干")
+    private String name;
+    /**
+    * 分数
+    */
+    @ApiModelProperty("分数")
+    private Long score;
+    /**
+    * 题目类型
+    */
+    @ApiModelProperty("题目类型")
+    private String type;
+    /**
+    * 类别(1:大题 2:小题 3:选项)
+    */
+    @ApiModelProperty("类别(1:大题 2:小题 3:选项)")
+    private Integer category;
+    /**
+    * 父级id
+    */
+    @ApiModelProperty("父级id")
+    private Long parentId;
+    /**
+    * 小题是否必填(1:是 0:否)
+    */
+    @ApiModelProperty("小题是否必填(1:是 0:否)")
+    private Short required;
+    /**
+    * 考核计划id(assessment_template_plan)
+    */
+    @ApiModelProperty("考核计划id(assessment_template_plan)")
+    private Long assessmentTemplatePlanId;
+
+
+
+}

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

@@ -0,0 +1,65 @@
+package com.xjrsoft.module.assessment.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import com.xjrsoft.common.annotation.Trans;
+import com.xjrsoft.common.enums.TransType;
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+* @title: 考核计划分页列表出参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AssessmentTemplatePlanPageVo {
+
+    /**
+    * 
+    */
+    @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 Long assessmentTemplateName;
+
+}

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

@@ -0,0 +1,77 @@
+package com.xjrsoft.module.assessment.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Date;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanQuestion;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerClass;
+import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerStudent;
+
+/**
+* @title: 考核计划表单出参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+public class AssessmentTemplatePlanVo {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("")
+    private Long 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;
+
+
+    /**
+    * assessmentPlanQuestion
+    */
+    @ApiModelProperty("assessmentPlanQuestion子表")
+    private List<AssessmentPlanQuestionVo> assessmentPlanQuestionList;
+    /**
+    * assessmentPlanAnswerClass
+    */
+    @ApiModelProperty("assessmentPlanAnswerClass子表")
+    private List<AssessmentPlanAnswerClassVo> assessmentPlanAnswerClassList;
+    /**
+    * assessmentPlanAnswerStudent
+    */
+    @ApiModelProperty("assessmentPlanAnswerStudent子表")
+    private List<AssessmentPlanAnswerStudentVo> assessmentPlanAnswerStudentList;
+
+}

+ 3 - 0
src/main/resources/mapper/assessment/AssessmentTemplatePlanMapper.xml

@@ -14,6 +14,9 @@
         <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>

+ 0 - 9
src/test/java/com/xjrsoft/xjrsoftboot/FreeMarkerGeneratorTest.java

@@ -2565,15 +2565,6 @@ public class FreeMarkerGeneratorTest {
         mainTable.setRelationTableField(GlobalConstant.DEFAULT_PK);//设置外键
         tableConfigs.add(mainTable);
 
-        mainTable = new TableConfig();
-        mainTable.setTableName("assessment_plan_question_options");//init_sql中的表名
-        mainTable.setIsMain(false);//是否是主表,一般默认为true
-        mainTable.setPkField(GlobalConstant.DEFAULT_PK);//设置主键
-        mainTable.setPkType(GlobalConstant.DEFAULT_PK_TYPE);//设置主键类型
-        mainTable.setRelationField("assessment_plan_question_id");//设置外键
-        mainTable.setRelationTableField(GlobalConstant.DEFAULT_PK);//设置外键
-        tableConfigs.add(mainTable);
-
         mainTable = new TableConfig();
         mainTable.setTableName("assessment_plan_answer_class");//init_sql中的表名
         mainTable.setIsMain(false);//是否是主表,一般默认为true