Przeglądaj źródła

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

大数据与最优化研究所 1 rok temu
rodzic
commit
93caf4d13f
19 zmienionych plików z 397 dodań i 14 usunięć
  1. 23 3
      src/main/java/com/xjrsoft/module/assessment/controller/AssessmentPlanAnswerController.java
  2. 2 0
      src/main/java/com/xjrsoft/module/assessment/dto/AddAssessmentTemplatePlanDto.java
  3. 4 2
      src/main/java/com/xjrsoft/module/assessment/dto/AssessmentPlanAnswerSubmitDto.java
  4. 2 1
      src/main/java/com/xjrsoft/module/assessment/dto/AssessmentPlanSubmitDto.java
  5. 27 0
      src/main/java/com/xjrsoft/module/assessment/dto/AssessmentQuestionResultDto.java
  6. 1 1
      src/main/java/com/xjrsoft/module/assessment/entity/AssessmentPlanAnswerResult.java
  7. 6 0
      src/main/java/com/xjrsoft/module/assessment/entity/AssessmentTemplatePlan.java
  8. 6 0
      src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerResultMapper.java
  9. 2 1
      src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentTemplatePlanMapper.java
  10. 2 1
      src/main/java/com/xjrsoft/module/assessment/service/IAssessmentTemplatePlanService.java
  11. 15 2
      src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java
  12. 4 0
      src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanAnswerTeacherPageVo.java
  13. 28 0
      src/main/java/com/xjrsoft/module/assessment/vo/AssessmentQuestionResultVo.java
  14. 3 0
      src/main/java/com/xjrsoft/module/assessment/vo/AssessmentQuestionVo.java
  15. 3 0
      src/main/java/com/xjrsoft/module/room/dto/AdjustBedPageDto.java
  16. 10 0
      src/main/resources/mapper/assessment/AssessmentPlanAnswerResultMapper.xml
  17. 12 3
      src/main/resources/mapper/assessment/AssessmentTemplatePlanMapper.xml
  18. 3 0
      src/main/resources/mapper/room/RoomBedMapper.xml
  19. 244 0
      src/main/resources/sqlScript/20210328_sql.sql

+ 23 - 3
src/main/java/com/xjrsoft/module/assessment/controller/AssessmentPlanAnswerController.java

@@ -12,6 +12,7 @@ import com.xjrsoft.module.assessment.dto.AssessmentPlanSubmitDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
 import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplateQuestionVo;
 import io.swagger.annotations.Api;
@@ -51,13 +52,32 @@ public class AssessmentPlanAnswerController {
         return RT.ok(pageOutput);
     }
 
+    @GetMapping(value = "/result-page")
+    @ApiOperation(value="考核计划答题列表-学生端(分页)")
+    @SaCheckPermission("assessmenttemplateplan:detail")
+    public RT<PageOutput<AssessmentPlanAnswerStudentPageVo>> resultPage(@Valid AssessmentPlanAnswerPageDto dto){
+        dto.setStudentUserId(StpUtil.getLoginIdAsLong());
+        Page<AssessmentPlanAnswerStudentPageVo> page = planService.getStudentPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<AssessmentPlanAnswerStudentPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerStudentPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
     @GetMapping(value = "/teacher-page")
     @ApiOperation(value="考核计划答题列表-教师端(分页)")
     @SaCheckPermission("assessmenttemplateplan:detail")
-    public RT<PageOutput<AssessmentPlanAnswerStudentPageVo>> teacherPage(@Valid AssessmentPlanAnswerPageDto dto){
+    public RT<PageOutput<AssessmentPlanAnswerTeacherPageVo>> teacherPage(@Valid AssessmentPlanAnswerPageDto dto){
         dto.setTeacherId(StpUtil.getLoginIdAsLong());
-        Page<AssessmentPlanAnswerStudentPageVo> page = planService.getTeacherPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
-        PageOutput<AssessmentPlanAnswerStudentPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerStudentPageVo.class);
+        Page<AssessmentPlanAnswerTeacherPageVo> page = planService.getTeacherPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<AssessmentPlanAnswerTeacherPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerTeacherPageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+    @GetMapping(value = "/all-class-page")
+    @ApiOperation(value="考核计划答题列表-所有班级(分页)")
+    @SaCheckPermission("assessmenttemplateplan:detail")
+    public RT<PageOutput<AssessmentPlanAnswerTeacherPageVo>> allClassPage(@Valid AssessmentPlanAnswerPageDto dto){
+        Page<AssessmentPlanAnswerTeacherPageVo> page = planService.getTeacherPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<AssessmentPlanAnswerTeacherPageVo> pageOutput = ConventPage.getPageOutput(page, AssessmentPlanAnswerTeacherPageVo.class);
         return RT.ok(pageOutput);
     }
 

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

@@ -73,5 +73,7 @@ public class AddAssessmentTemplatePlanDto implements Serializable {
     @ApiModelProperty("班级id")
     private List<Long> classIds;
 
+    @ApiModelProperty("学期id(base_semester)")
+    private Long baseSemesterId;
 
 }

+ 4 - 2
src/main/java/com/xjrsoft/module/assessment/dto/AssessmentPlanAnswerSubmitDto.java

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.io.Serializable;
+
 
 /**
 * @title: 考核答题提交入参
@@ -14,13 +16,13 @@ import lombok.EqualsAndHashCode;
 */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class AssessmentPlanAnswerSubmitDto extends PageInput {
+public class AssessmentPlanAnswerSubmitDto implements Serializable {
 
 
     @ApiModelProperty("问题id")
     private Long questionId;
 
     @ApiModelProperty("状态(0:未发布 1:已发布)")
-    private Long answerId;
+    private String answerId;
 
 }

+ 2 - 1
src/main/java/com/xjrsoft/module/assessment/dto/AssessmentPlanSubmitDto.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.io.Serializable;
 import java.util.List;
 
 
@@ -16,7 +17,7 @@ import java.util.List;
 */
 @Data
 @EqualsAndHashCode(callSuper = false)
-public class AssessmentPlanSubmitDto extends PageInput {
+public class AssessmentPlanSubmitDto implements Serializable {
 
     @ApiModelProperty("考核计划id")
     private Long assessmentTemplatePlanId;

+ 27 - 0
src/main/java/com/xjrsoft/module/assessment/dto/AssessmentQuestionResultDto.java

@@ -0,0 +1,27 @@
+package com.xjrsoft.module.assessment.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+
+/**
+* @title: 考核答题提交入参
+* @Author dzx
+* @Date: 2024-04-01
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class AssessmentQuestionResultDto implements Serializable {
+
+
+    @ApiModelProperty("考核计划id")
+    private Long assessmentTemplatePlanId;
+
+    @ApiModelProperty("登录者id")
+    private Long userId;
+
+}

+ 1 - 1
src/main/java/com/xjrsoft/module/assessment/entity/AssessmentPlanAnswerResult.java

@@ -81,7 +81,7 @@ public class AssessmentPlanAnswerResult implements Serializable {
      * 选项id(assessment_plan_question[category=3的id])
      */
     @ApiModelProperty("选项id(assessment_plan_question[category=3的id])")
-    private Long answerId;
+    private String answerId;
     /**
     * 考核计划id(assessment_template_plan)
     */

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

@@ -104,6 +104,12 @@ public class AssessmentTemplatePlan implements Serializable {
     @ApiModelProperty("考核模板id(assessment_template)")
     private Long assessmentTemplateId;
 
+    /**
+     * 学期id(base_semester)
+     */
+    @ApiModelProperty("学期id(base_semester)")
+    private Long baseSemesterId;
+
     /**
      * 选人方式
      */

+ 6 - 0
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentPlanAnswerResultMapper.java

@@ -1,8 +1,13 @@
 package com.xjrsoft.module.assessment.mapper;
 
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.assessment.dto.AssessmentQuestionResultDto;
 import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerResult;
+import com.xjrsoft.module.assessment.vo.AssessmentQuestionResultVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
 * @title: 考核计划答题参与班级
@@ -13,4 +18,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface AssessmentPlanAnswerResultMapper extends MPJBaseMapper<AssessmentPlanAnswerResult> {
 
+    List<AssessmentQuestionResultVo> getResultList(@Param("dto") AssessmentQuestionResultDto dto);
 }

+ 2 - 1
src/main/java/com/xjrsoft/module/assessment/mapper/AssessmentTemplatePlanMapper.java

@@ -6,6 +6,7 @@ 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.AssessmentPlanAnswerStudentPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -26,7 +27,7 @@ public interface AssessmentTemplatePlanMapper extends MPJBaseMapper<AssessmentTe
     Page<AssessmentTemplatePlanPageVo> getPage(Page<AssessmentTemplatePlanPageVo> page, AssessmentTemplatePlanPageDto dto);
 
 
-    Page<AssessmentPlanAnswerStudentPageVo> getTeacherPage(Page<AssessmentPlanAnswerStudentPageVo> page, AssessmentPlanAnswerPageDto dto);
+    Page<AssessmentPlanAnswerTeacherPageVo> getTeacherPage(Page<AssessmentPlanAnswerTeacherPageVo> page, AssessmentPlanAnswerPageDto dto);
 
     Page<AssessmentPlanAnswerStudentPageVo> getStudentPage(Page<AssessmentPlanAnswerStudentPageVo> page, AssessmentPlanAnswerPageDto dto);
 }

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

@@ -11,6 +11,7 @@ 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.AssessmentPlanAnswerStudentPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
 
@@ -59,7 +60,7 @@ public interface IAssessmentTemplatePlanService extends MPJBaseService<Assessmen
     /**
      * 考核答题分页查询(教师端)
      */
-    Page<AssessmentPlanAnswerStudentPageVo> getTeacherPage(Page<AssessmentPlanAnswerStudentPageVo> page, AssessmentPlanAnswerPageDto dto);
+    Page<AssessmentPlanAnswerTeacherPageVo> getTeacherPage(Page<AssessmentPlanAnswerTeacherPageVo> page, AssessmentPlanAnswerPageDto dto);
 
     /**
      * 班主任确认

+ 15 - 2
src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java

@@ -13,6 +13,7 @@ import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerSubmitDto;
 import com.xjrsoft.module.assessment.dto.AssessmentPlanSubmitDto;
+import com.xjrsoft.module.assessment.dto.AssessmentQuestionResultDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
 import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
 import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanDto;
@@ -33,6 +34,8 @@ 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.AssessmentPlanAnswerStudentPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
+import com.xjrsoft.module.assessment.vo.AssessmentQuestionResultVo;
 import com.xjrsoft.module.assessment.vo.AssessmentQuestionVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
 import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
@@ -243,7 +246,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
     }
 
     @Override
-    public Page<AssessmentPlanAnswerStudentPageVo> getTeacherPage(Page<AssessmentPlanAnswerStudentPageVo> page, AssessmentPlanAnswerPageDto dto) {
+    public Page<AssessmentPlanAnswerTeacherPageVo> getTeacherPage(Page<AssessmentPlanAnswerTeacherPageVo> page, AssessmentPlanAnswerPageDto dto) {
         return templatePlanMapper.getTeacherPage(page, dto);
     }
 
@@ -264,6 +267,14 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
             .eq(AssessmentPlanQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
             .eq(AssessmentPlanQuestion::getAssessmentTemplatePlanId, id)
         );
+        AssessmentQuestionResultDto resultDto = new AssessmentQuestionResultDto();
+        resultDto.setAssessmentTemplatePlanId(id);
+        resultDto.setUserId(StpUtil.getLoginIdAsLong());
+        List<AssessmentQuestionResultVo> resultList = resultMapper.getResultList(resultDto);
+        Map<Long, String> resultMap = new HashMap<>();
+        for (AssessmentQuestionResultVo resultVo : resultList) {
+            resultMap.put(resultVo.getQuestionId(), resultVo.getAnswer());
+        }
 
         //循环大题
         List<AssessmentQuestionVo> oneList = new ArrayList<>();
@@ -278,7 +289,9 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
             List<AssessmentQuestionVo> twoList = new ArrayList<>();
             for (AssessmentPlanQuestion assessmentQuestion : questionList) {
                 if(assessmentQuestion.getCategory() == 2 && assessmentQuestion.getParentId().equals(oneQuestion.getId())){
-                    twoList.add(BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class));
+                    AssessmentQuestionVo questionVo = BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class);
+                    questionVo.setValue(resultMap.get(questionVo.getId()));
+                    twoList.add(questionVo);
                 }
             }
             oneQuestion.setChildren(twoList);

+ 4 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentPlanAnswerTeacherPageVo.java

@@ -65,5 +65,9 @@ public class AssessmentPlanAnswerTeacherPageVo {
     @ApiModelProperty("班级名称")
     private String className;
 
+    @ApiModelProperty("已提交数量")
+    private Integer submittedCount;
 
+    @ApiModelProperty("未提交数量")
+    private Integer unsubmittedCount;
 }

+ 28 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentQuestionResultVo.java

@@ -0,0 +1,28 @@
+package com.xjrsoft.module.assessment.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+* @title: 考核题目答案出参
+* @Author dzx
+* @Date: 2024-03-29
+* @Version 1.0
+*/
+@Data
+public class AssessmentQuestionResultVo implements Serializable {
+
+    /**
+    * 
+    */
+    @ApiModelProperty("问题id")
+    private Long questionId;
+    /**
+    * 
+    */
+    @ApiModelProperty("答案")
+    private String answer;
+
+}

+ 3 - 0
src/main/java/com/xjrsoft/module/assessment/vo/AssessmentQuestionVo.java

@@ -68,4 +68,7 @@ public class AssessmentQuestionVo implements ITreeNode<AssessmentQuestionVo, Lon
     @ApiModelProperty("题目选项")
     private List<AssessmentQuestionVo> options;
 
+    @ApiModelProperty("答案")
+    private String value;
+
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/room/dto/AdjustBedPageDto.java

@@ -37,5 +37,8 @@ public class AdjustBedPageDto extends PageInput {
     @ApiModelProperty("性别")
     public String gender;
 
+    @ApiModelProperty("寝室id")
+    public Long roomId;
+
 
 }

+ 10 - 0
src/main/resources/mapper/assessment/AssessmentPlanAnswerResultMapper.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerResultMapper">
+    <select id="getResultList" parameterType="com.xjrsoft.module.assessment.dto.AssessmentQuestionResultDto" resultType="com.xjrsoft.module.assessment.vo.AssessmentQuestionResultVo">
+        SELECT question_id,GROUP_CONCAT(answer_id) as answer FROM assessment_plan_answer_result
+        WHERE assessment_template_plan_id = #{dto.assessmentTemplatePlanId} AND student_user_id = #{dto.userId} GROUP BY question_id
+    </select>
+</mapper>

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

@@ -43,13 +43,22 @@
         </if>
         ORDER BY t1.create_date asc
     </select>
-    <select id="getTeacherPage" parameterType="com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto" resultType="com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo">
+    <select id="getTeacherPage" parameterType="com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto" resultType="com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo">
         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
+        t1.assessment_template_id,t3.is_confirm,t3.class_id,t4.name as class_name,
+        (select count(*) from assessment_plan_answer_student a1
+        left join base_student_school_roll a2 on a1.student_user_id = a2.user_id
+        where a1.delete_mark = 0 and a1.assessment_template_plan_id = t1.id and a2.class_id = t3.class_id and a1.submit_status = 1) as submitted_count,
+        (select count(*) from assessment_plan_answer_student a1
+        left join base_student_school_roll a2 on a1.student_user_id = a2.user_id
+        where a1.delete_mark = 0 and a1.assessment_template_plan_id = t1.id and a2.class_id = t3.class_id and a1.submit_status = 0) as unsubmitted_count 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}
+        WHERE t1.delete_mark = 0 AND t1.status = 1
+        <if test="dto.teacherId != null">
+            AND t4.teacher_id = #{dto.teacherId}
+        </if>
         <if test="dto.name != null and dto.name != ''">
             and t1.name like concat('%', #{dto.name}, '%')
         </if>

+ 3 - 0
src/main/resources/mapper/room/RoomBedMapper.xml

@@ -362,6 +362,9 @@
         <if test="dto.buildId != null">
             and t3.id = #{dto.buildId}
         </if>
+        <if test="dto.roomId != null">
+            and t2.id = #{dto.roomId}
+        </if>
         ORDER BY t2.sort_code,t1.sort_code
     </select>
 

+ 244 - 0
src/main/resources/sqlScript/20210328_sql.sql

@@ -0,0 +1,244 @@
+-- -----------------------------------------------------------
+-- 会议表增加字段
+-- -----------------------------------------------------------
+DROP PROCEDURE IF EXISTS createCom;
+DELIMITER $$
+CREATE
+    PROCEDURE createCom()
+BEGIN
+    IF NOT EXISTS(SELECT 1 FROM information_schema.columns  WHERE table_name='official_document_received' AND COLUMN_NAME = 'meeting_time') THEN
+ALTER TABLE `official_document_received`   
+  ADD COLUMN `meeting_time` DATETIME NULL   COMMENT '会议时间' AFTER `file_id`,
+  ADD COLUMN `meeting_address` VARCHAR(50) NULL   COMMENT '会议地点' AFTER `meeting_time`,
+  ADD COLUMN `attendees` VARCHAR(3000) NULL   COMMENT '与会人员' AFTER `meeting_address`;
+    END IF;
+END$$
+DELIMITER ;
+CALL createCom;
+DROP PROCEDURE createCom;
+ALTER TABLE official_document_received
+    ADD user_ids VARCHAR(512) NULL COMMENT '传阅人(可多选)';
+
+-- -----------------------------------------------------------
+-- 学籍表中增加考号
+-- -----------------------------------------------------------
+DROP PROCEDURE IF EXISTS createCom;
+DELIMITER $$
+CREATE
+    PROCEDURE createCom()
+BEGIN
+    IF NOT EXISTS(SELECT 1 FROM information_schema.columns  WHERE table_name='base_student_school_roll' AND COLUMN_NAME = 'candidate_number') THEN
+ALTER TABLE `base_student_school_roll`   
+  ADD COLUMN `candidate_number` VARCHAR(20) NULL   COMMENT '考号' AFTER `roll_modality`;
+    END IF;
+END$$
+DELIMITER ;
+CALL createCom;
+DROP PROCEDURE createCom;
+
+-- ------------------------------------------------
+-- 资产管理
+-- ------------------------------------------------
+DROP TABLE IF EXISTS wf_asset_manage;
+CREATE TABLE `wf_asset_manage` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `asset_type` VARCHAR(30) DEFAULT NULL COMMENT '资产类型',
+  `asset_category` VARCHAR(30) DEFAULT NULL COMMENT '资产类别',
+  `asset_species` VARCHAR(30) DEFAULT NULL COMMENT '资产种类',
+  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
+  `dept_id` BIGINT DEFAULT NULL COMMENT '所属部门[xjr_department]',
+  `user_id` BIGINT DEFAULT NULL COMMENT '使用人id[xjr_user]',
+  `amount` DECIMAL(8,2) DEFAULT NULL COMMENT '金额',
+  `status` SMALLINT DEFAULT 0 COMMENT '状态(0:未结束 1:结束)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='资产管理';
+
+-- -----------------------------------------------------------
+-- 教室增加门牌号
+-- -----------------------------------------------------------
+DROP PROCEDURE IF EXISTS createCom;
+DELIMITER $$
+CREATE
+    PROCEDURE createCom()
+BEGIN
+    IF NOT EXISTS(SELECT 1 FROM information_schema.columns  WHERE table_name='base_classroom' AND COLUMN_NAME = 'number') THEN
+ALTER TABLE `base_classroom`   
+  ADD COLUMN `number` VARCHAR(50) NULL   COMMENT '门牌号' AFTER `status`;
+    END IF;
+END$$
+DELIMITER ;
+CALL createCom;
+DROP PROCEDURE createCom;
+
+-- -----------------------------------------------------------
+-- 表单增加样式类型字段
+-- -----------------------------------------------------------
+DROP PROCEDURE IF EXISTS createCom;
+DELIMITER $$
+CREATE
+    PROCEDURE createCom()
+BEGIN
+    IF NOT EXISTS(SELECT 1 FROM information_schema.columns  WHERE table_name='xjr_workflow_schema' AND COLUMN_NAME = 'style_type') THEN
+ALTER TABLE `xjr_workflow_schema` 
+  ADD COLUMN `style_type` INT DEFAULT 0  NULL   COMMENT '样式(0:表单 1:表格)' AFTER `modify_user_id`;
+
+    END IF;
+END$$
+DELIMITER ;
+CALL createCom;
+DROP PROCEDURE createCom;
+
+
+-- ------------------------------------------------
+-- 考核模板
+-- ------------------------------------------------
+DROP TABLE IF EXISTS assessment_template;
+CREATE TABLE `assessment_template` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
+  `score` BIGINT DEFAULT NULL COMMENT '分数',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考核模板';
+
+-- ------------------------------------------------
+-- 考核模板题目
+-- ------------------------------------------------
+DROP TABLE IF EXISTS assessment_question;
+CREATE TABLE `assessment_question` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `sort_code` INT DEFAULT NULL,
+  `name` VARCHAR(100) DEFAULT NULL COMMENT '题目题干',
+  `score` BIGINT DEFAULT NULL COMMENT '分数',
+  `type` VARCHAR(100) DEFAULT NULL COMMENT '题目类型',
+  `category` INT DEFAULT NULL COMMENT '类别(1:大题 2:小题 3:选项)',
+  `parent_id` BIGINT DEFAULT NULL COMMENT '父级id', 
+  `required` SMALLINT DEFAULT 1 COMMENT '小题是否必填(1:是 0:否)',
+  `assessment_template_id` BIGINT DEFAULT NULL COMMENT '考核模板id(assessment_template)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考核模板题目';
+
+
+-- ------------------------------------------------
+-- 考核计划
+-- ------------------------------------------------
+DROP TABLE IF EXISTS assessment_template_plan;
+CREATE TABLE `assessment_template_plan` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `name` VARCHAR(100) DEFAULT NULL COMMENT '名称',
+  `score` BIGINT DEFAULT NULL COMMENT '分数',
+  `start_time` DATETIME DEFAULT NULL COMMENT '计划开始时间',
+  `end_time` DATETIME DEFAULT NULL COMMENT '计划结束时间',
+  `status` INT DEFAULT 0 COMMENT '状态(0:未发布 1:已发布 2:作废)',
+  `type` VARCHAR(30) DEFAULT 0 COMMENT '选人方式(全部:all 随机:random)',
+  `random_number` INT DEFAULT NULL COMMENT '随机人数',
+  `assessment_template_id` BIGINT DEFAULT NULL COMMENT '考核模板id(assessment_template)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考核计划';
+
+-- ------------------------------------------------
+-- 考核模板题目
+-- ------------------------------------------------
+DROP TABLE IF EXISTS assessment_plan_question;
+CREATE TABLE `assessment_plan_question` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `sort_code` INT DEFAULT NULL,
+  `name` VARCHAR(100) DEFAULT NULL COMMENT '题目题干',
+  `score` BIGINT DEFAULT NULL COMMENT '分数',
+  `type` VARCHAR(100) DEFAULT NULL COMMENT '题目类型',
+  `category` INT DEFAULT NULL COMMENT '类别(1:大题 2:小题 3:选项)',
+  `parent_id` BIGINT DEFAULT NULL COMMENT '父级id', 
+  `required` SMALLINT DEFAULT 1 COMMENT '小题是否必填(1:是 0:否)',
+  `assessment_template_plan_id` BIGINT DEFAULT NULL COMMENT '考核计划id(assessment_template_plan)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考核模板题目';
+
+
+-- ------------------------------------------------
+-- 考核计划答题参与班级
+-- ------------------------------------------------
+DROP TABLE IF EXISTS assessment_plan_answer_class;
+CREATE TABLE `assessment_plan_answer_class` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `class_id` BIGINT DEFAULT NULL COMMENT '班级id',
+  `is_confirm` INT DEFAULT 0 COMMENT '班主任是否确认(0:否 1:是)',
+  `assessment_template_plan_id` BIGINT DEFAULT NULL COMMENT '考核计划id(assessment_template_plan)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考核计划答题参与班级';
+
+-- ------------------------------------------------
+-- 考核计划答题参与学生
+-- ------------------------------------------------
+DROP TABLE IF EXISTS assessment_plan_answer_student;
+CREATE TABLE `assessment_plan_answer_student` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `student_user_id` BIGINT DEFAULT NULL COMMENT '学生id',
+  `is_confirm` INT DEFAULT 0 COMMENT '班主任是否确认(0:否 1:是)',
+	`submit_status` INT DEFAULT 0 COMMENT '状态(0:未答题 1:已答题)',
+  `assessment_template_plan_id` BIGINT DEFAULT NULL COMMENT '考核计划id(assessment_template_plan)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考核计划答题参与学生';
+
+
+-- ------------------------------------------------
+-- 考核答题结果
+-- ------------------------------------------------
+DROP TABLE IF EXISTS assessment_plan_answer_result;
+CREATE TABLE `assessment_plan_answer_result` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `student_user_id` BIGINT DEFAULT NULL COMMENT '学生id',
+  `question_id` BIGINT DEFAULT NULL COMMENT '选项id(assessment_plan_question[category=2的id])',
+  `answer_id` varchar(40) DEFAULT NULL COMMENT '选项id(assessment_plan_question[category=3的id])',
+  `assessment_template_plan_id` BIGINT DEFAULT NULL COMMENT '考核计划id(assessment_template_plan)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考核答题结果';
+
+
+