Bladeren bron

评价管理维护功能

dzx 1 jaar geleden
bovenliggende
commit
d541bc72cf

+ 2 - 1
src/main/java/com/xjrsoft/module/evaluate/controller/EvaluateObjectController.java

@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.module.evaluate.dto.AddEvaluateObjectDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto;
+import com.xjrsoft.module.evaluate.dto.SaveEvaluateObjectDto;
 import com.xjrsoft.module.evaluate.service.IEvaluateObjectService;
 import com.xjrsoft.module.evaluate.vo.EvaluateObjectListVo;
 import io.swagger.annotations.Api;
@@ -44,7 +45,7 @@ public class EvaluateObjectController {
     @PostMapping
     @ApiOperation(value = "评价对象保存")
     @SaCheckPermission("evaluateobject:save")
-    public RT<Boolean> save(@Valid @RequestBody AddEvaluateObjectDto dto){
+    public RT<Boolean> save(@Valid @RequestBody SaveEvaluateObjectDto dto){
         boolean isSuccess = evaluateObjectService.save(dto);
         return RT.ok(isSuccess);
     }

+ 7 - 23
src/main/java/com/xjrsoft/module/evaluate/dto/AddEvaluateExecuterDto.java

@@ -2,14 +2,8 @@ package com.xjrsoft.module.evaluate.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 java.io.Serializable;
 
 
 
@@ -25,24 +19,14 @@ public class AddEvaluateExecuterDto implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
-    * 序号
-    */
-    @ApiModelProperty("序号")
-    private Integer sortCode;
-    /**
-    * 评价管理编号
-    */
-    @ApiModelProperty("评价管理编号")
-    private Long evaluateManageId;
-    /**
-    * 被评对象id
+    * 参评人id
     */
-    @ApiModelProperty("被评对象id")
-    private Long evaluateObjectId;
+    @ApiModelProperty("参评人id")
+    private String executerId;
     /**
-    * 参加评价的人id
+    * 参评人姓名
     */
-    @ApiModelProperty("参加评价的人id")
-    private Long userId;
+    @ApiModelProperty("参评人姓名")
+    private String executerName;
 
 }

+ 21 - 30
src/main/java/com/xjrsoft/module/evaluate/dto/AddEvaluateObjectDto.java

@@ -2,14 +2,9 @@ package com.xjrsoft.module.evaluate.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.io.Serializable;
 import java.util.List;
-import java.util.Date;
 
 
 
@@ -25,34 +20,30 @@ public class AddEvaluateObjectDto implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
-    * 序号
+    * 被评价对象类别(teacher:老师,class:班级,student:学生)
     */
-    @ApiModelProperty("序号")
-    private Integer sortCode;
+    @ApiModelProperty("被评价对象类别(teacher:老师,class:班级,student:学生)")
+    private String objectType;
+
     /**
-    * 评价管理编号
-    */
-    @ApiModelProperty("评价管理编号")
-    private Long evaluateManageId;
+     * 被评价对象类别(teacher:老师,class:班级,student:学生)
+     */
+    @ApiModelProperty("被评价对象id")
+    private String objectId;
+
     /**
-    * 年级id
-    */
+     * 被评价对象类别(teacher:老师,class:班级,student:学生)
+     */
     @ApiModelProperty("年级id")
-    private Long baseGradeId;
-    /**
-    * 题目分数(最小为0,只能整数)
-    */
-    @ApiModelProperty("题目分数(最小为0,只能整数)")
-    private Long orgId;
-    /**
-    * 被评价对象id
-    */
-    @ApiModelProperty("被评价对象id")
-    private Long objectId;
+    private String gradeId;
+
     /**
-    * 被评价对象类别(teacher:老师,class:班级,student:学生)
-    */
-    @ApiModelProperty("被评价对象类别(teacher:老师,class:班级,student:学生)")
-    private String objectType;
+     * 被评价对象类别(teacher:老师,class:班级,student:学生)
+     */
+    @ApiModelProperty("被评价对象名称")
+    private String objectName;
+
+    @ApiModelProperty("参评人信息")
+    private List<AddEvaluateExecuterDto> executerList;
 
 }

+ 30 - 0
src/main/java/com/xjrsoft/module/evaluate/dto/SaveEvaluateObjectDto.java

@@ -0,0 +1,30 @@
+package com.xjrsoft.module.evaluate.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+/**
+* @title: 被评价对象
+* @Author dzx
+* @Date: 2024-01-16
+* @Version 1.0
+*/
+@Data
+public class SaveEvaluateObjectDto implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+    * 评价管理编号
+    */
+    @ApiModelProperty("评价管理编号")
+    private String evaluateManageId;
+
+    @ApiModelProperty("被评人信息")
+    private List<AddEvaluateObjectDto> objectList;
+
+}

+ 2 - 1
src/main/java/com/xjrsoft/module/evaluate/entity/EvaluateExecuter.java

@@ -94,5 +94,6 @@ public class EvaluateExecuter implements Serializable {
     @ApiModelProperty("参加评价的人id")
     private Long userId;
 
-
+    @ApiModelProperty("状态(1:已评分,0:未评分)")
+    private Integer status;
 }

+ 2 - 11
src/main/java/com/xjrsoft/module/evaluate/entity/EvaluateObject.java

@@ -2,18 +2,14 @@ package com.xjrsoft.module.evaluate.entity;
 
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 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;
 
 
@@ -89,11 +85,6 @@ public class EvaluateObject implements Serializable {
     @ApiModelProperty("年级id")
     private Long baseGradeId;
     /**
-    * 题目分数(最小为0,只能整数)
-    */
-    @ApiModelProperty("题目分数(最小为0,只能整数)")
-    private Long orgId;
-    /**
     * 被评价对象id
     */
     @ApiModelProperty("被评价对象id")

+ 2 - 3
src/main/java/com/xjrsoft/module/evaluate/service/IEvaluateObjectService.java

@@ -1,11 +1,10 @@
 package com.xjrsoft.module.evaluate.service;
 
 import com.github.yulichang.base.MPJBaseService;
-import com.xjrsoft.module.evaluate.dto.AddEvaluateObjectDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto;
+import com.xjrsoft.module.evaluate.dto.SaveEvaluateObjectDto;
 import com.xjrsoft.module.evaluate.entity.EvaluateObject;
 import com.xjrsoft.module.evaluate.vo.EvaluateObjectListVo;
-import com.xjrsoft.module.evaluate.vo.EvaluateObjectVo;
 
 import java.util.List;
 
@@ -20,7 +19,7 @@ public interface IEvaluateObjectService extends MPJBaseService<EvaluateObject> {
 
     List<EvaluateObjectListVo> getObjectList(Long id);
 
-    Boolean save(AddEvaluateObjectDto dto);
+    Boolean save(SaveEvaluateObjectDto dto);
 
     List<EvaluateObjectListVo> getNewObjectList(EvaluateObjectListDto dto);
 }

+ 39 - 2
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateObjectServiceImpl.java

@@ -1,8 +1,16 @@
 package com.xjrsoft.module.evaluate.service.impl;
 
+import cn.dev33.satoken.stp.StpUtil;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.enums.EnabledMark;
+import com.xjrsoft.common.exception.MyException;
+import com.xjrsoft.module.evaluate.dto.AddEvaluateExecuterDto;
 import com.xjrsoft.module.evaluate.dto.AddEvaluateObjectDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto;
+import com.xjrsoft.module.evaluate.dto.SaveEvaluateObjectDto;
+import com.xjrsoft.module.evaluate.entity.EvaluateExecuter;
+import com.xjrsoft.module.evaluate.entity.EvaluateManage;
 import com.xjrsoft.module.evaluate.entity.EvaluateObject;
 import com.xjrsoft.module.evaluate.mapper.EvaluateExecuterMapper;
 import com.xjrsoft.module.evaluate.mapper.EvaluateManageMapper;
@@ -14,6 +22,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Random;
 
@@ -51,8 +60,36 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
     }
 
     @Override
-    public Boolean save(AddEvaluateObjectDto dto) {
-        return null;
+    public Boolean save(SaveEvaluateObjectDto dto) {
+        EvaluateManage manage = evaluateManageMapper.selectById(dto.getEvaluateManageId());
+        if(manage == null){
+           throw new MyException("未查询到信息,evaluateManageId不正确");
+        }
+        Date createDate = new Date();
+        long createUserId = StpUtil.getLoginIdAsLong();
+        for (AddEvaluateObjectDto objectDto : dto.getObjectList()) {
+            EvaluateObject evaluateObject = new EvaluateObject();
+            evaluateObject.setObjectId(Long.parseLong(objectDto.getObjectId()));
+            evaluateObject.setEvaluateManageId(Long.parseLong(dto.getEvaluateManageId()));
+            evaluateObject.setDeleteMark(DeleteMark.NODELETE.getCode());
+            evaluateObject.setCreateDate(createDate);
+            evaluateObject.setCreateUserId(createUserId);
+            evaluateObject.setEnabledMark(EnabledMark.ENABLED.getCode());
+            evaluateObject.setBaseGradeId(Long.parseLong(objectDto.getGradeId()));
+            evaluateObjectMapper.insert(evaluateObject);
+
+            for (AddEvaluateExecuterDto executerDto : objectDto.getExecuterList()) {
+                EvaluateExecuter executer = new EvaluateExecuter();
+                executer.setCreateDate(createDate);
+                executer.setCreateUserId(createUserId);
+                executer.setEvaluateManageId(Long.parseLong(dto.getEvaluateManageId()));
+                executer.setEvaluateObjectId(evaluateObject.getId());
+                executer.setUserId(Long.parseLong(executerDto.getExecuterId()));
+                executer.setStatus(0);
+                evaluateExecuterMapper.insert(executer);
+            }
+        }
+        return true;
     }
 
     @Override

+ 3 - 0
src/main/java/com/xjrsoft/module/evaluate/vo/EvaluateExecuterVo.java

@@ -51,4 +51,7 @@ public class EvaluateExecuterVo {
     @ApiModelProperty("班级id")
     private String classId;
 
+    @ApiModelProperty("年级id")
+    private String gradeId;
+
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/evaluate/vo/EvaluateObjectListVo.java

@@ -23,7 +23,7 @@ public class EvaluateObjectListVo {
     * 年级id
     */
     @ApiModelProperty("年级id")
-    private String baseGradeId;
+    private String gradeId;
     /**
      * 年级名称
      */

+ 2 - 2
src/main/resources/mapper/evaluate/EvaluateObjectMapper.xml

@@ -18,7 +18,7 @@
     </select>
 
     <select id="getNewObjectList" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateObjectListVo">
-        SELECT t1.id AS class_id,t2.id AS object_id,t2.name AS object_name,t1.id as class_id FROM base_class t1
+        SELECT t1.id AS class_id,t2.id AS object_id,t2.name AS object_name,t1.id as class_id,t1.grade_id FROM base_class t1
         LEFT JOIN xjr_user t2 ON t1.teacher_id = t2.id
         WHERE t1.delete_mark = 0
         <if test="dto.gradeId != null">
@@ -27,7 +27,7 @@
     </select>
 
     <select id="getNewExecuterList" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateObjectListDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateExecuterVo">
-        SELECT t2.id as executer_id,t2.name as executer_name,t1.class_id FROM base_student_school_roll t1
+        SELECT t2.id as executer_id,t2.name as executer_name,t1.class_id,t1.grade_id FROM base_student_school_roll t1
         LEFT JOIN xjr_user t2 ON t1.user_id = t2.id
         WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
         <if test="dto.gradeId != null">

+ 2 - 1
src/main/resources/sqlScript/20240112_sql.sql

@@ -107,7 +107,6 @@ CREATE TABLE evaluate_object
     `sort_code` INT NULL DEFAULT NULL COMMENT '序号',
     `evaluate_manage_id` BIGINT NOT NULL COMMENT '评价管理编号',
     `base_grade_id` BIGINT NULL DEFAULT NULL COMMENT '年级id',
-    `org_id` BIGINT NULL DEFAULT NULL COMMENT '发布部门id',
     `object_id` BIGINT NULL DEFAULT NULL COMMENT '被评价对象id',
     `object_type` VARCHAR(50) NULL DEFAULT NULL COMMENT '被评价对象类别(teacher:老师,class:班级,student:学生)',
     PRIMARY KEY (`id`)
@@ -132,6 +131,8 @@ CREATE TABLE evaluate_executer
     `user_id` BIGINT NULL DEFAULT NULL COMMENT '参加评价的人id',
     PRIMARY KEY (`id`)
 ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '评价执行人';
+ALTER TABLE `tl`.`evaluate_executer`
+    ADD COLUMN `status` INT DEFAULT 0  NULL   COMMENT '状态(1:已评分,0:未评分)' AFTER `user_id`;
 
 -- ----------------------------
 -- 评价管理题目