Просмотр исходного кода

教师综合评价展示头像

夏文涛 2 лет назад
Родитель
Сommit
287e0b2530

+ 13 - 7
src/main/java/com/template/api/SmartEvaluateStudentControlle2API.java

@@ -3,9 +3,11 @@ package com.template.api;
 import com.alibaba.fastjson.JSONObject;
 import com.template.model.evaluate.student.SmartEvaluateStudent;
 import com.template.model.evaluate.student.SmartSubjectTemplate;
+import com.template.model.request.addTemplateRuleRequest;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -17,30 +19,34 @@ public interface SmartEvaluateStudentControlle2API {
 
     @RequestMapping(value = "/addSmartSubjectTemplate")
     @ApiOperation(value = "新增评分项", httpMethod = "POST")
-    public CommonResult addSmartSubjectTemplate(@Validated @RequestBody JSONObject jsonObject);
+    CommonResult addSmartSubjectTemplate(@Validated @RequestBody JSONObject jsonObject);
 
     @RequestMapping(value = "/updateSmartSubjectTemplate")
     @ApiOperation(value = "修改评分项", httpMethod = "POST")
-    public CommonResult updateSmartSubjectTemplate(@Validated @RequestBody JSONObject jsonObject);
+    CommonResult updateSmartSubjectTemplate(@Validated @RequestBody JSONObject jsonObject);
 
     @RequestMapping(value = "/delSmartSubjectTemplate")
     @ApiOperation(value = "删除评分项", httpMethod = "POST")
-    public CommonResult delSmartSubjectTemplate(@RequestParam Integer id);
+    CommonResult delSmartSubjectTemplate(@RequestParam Integer id);
 
     @RequestMapping(value = "/queryTemplatePage")
     @ApiOperation(value = "查看评分项", httpMethod = "POST")
-    public CommonResult queryTemplatePage(Integer currentPage, Integer pageCount);
+    CommonResult queryTemplatePage(Integer currentPage, Integer pageCount);
 
     @RequestMapping(value = "/queryTemplateRulePage")
     @ApiOperation(value = "查看评分规则", httpMethod = "POST")
-    public CommonResult queryTemplateRulePage(Integer id);
+    CommonResult queryTemplateRulePage(Integer id);
 
     @RequestMapping(value = "/evaluateScore")
     @ApiOperation(value = "学生评分", httpMethod = "POST")
-    public CommonResult evaluateScore(Integer id, String scoreComment);
+    CommonResult evaluateScore(Integer id, String scoreComment);
 
     @RequestMapping(value = "/queryEvaluateStudent")
     @ApiOperation(value = "查看评价数据", httpMethod = "POST")
-    public CommonResult queryEvaluateStudent(@Validated @RequestBody SmartEvaluateStudent smartEvaluateStudent, Integer currentPage, Integer pageCount);
+    CommonResult queryEvaluateStudent(@Validated @RequestBody SmartEvaluateStudent smartEvaluateStudent, Integer currentPage, Integer pageCount);
+
+    @RequestMapping(value = "/addSmartTemplateRule")
+    @ApiOperation(value = "新增评分子项", httpMethod = "POST")
+    CommonResult addSmartTemplateRule(@Validated @RequestBody addTemplateRuleRequest atrr, BindingResult bindingResult);
 
 }

+ 59 - 7
src/main/java/com/template/controller/SmartEvaluateStudentController2.java

@@ -6,17 +6,22 @@ import com.template.annotation.DESRespondSecret;
 import com.template.annotation.PassToken;
 import com.template.api.SmartEvaluateStudentControlle2API;
 import com.template.common.utils.UUIDUtil;
+import com.template.common.utils.paramUtils;
 import com.template.model.evaluate.student.*;
 import com.template.model.pojo.SmartExamtype;
 import com.template.model.pojo.SmartGrade;
 import com.template.model.pojo.SmartScore;
+import com.template.model.request.addTemplateRuleRequest;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.services.*;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.constraints.NotBlank;
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -120,9 +125,9 @@ public class SmartEvaluateStudentController2 implements SmartEvaluateStudentCont
             }
             insertStudents.add(ses);
         }
-        if(insertStudents != null && insertStudents.size() > 0){
+        if (insertStudents != null && insertStudents.size() > 0) {
             boolean insertBatch = smartEvaluateStudentService.saveBatch(insertStudents);
-            if(!insertBatch){
+            if (!insertBatch) {
                 return CommonResult.fail("操作失败");
             }
         }
@@ -174,15 +179,15 @@ public class SmartEvaluateStudentController2 implements SmartEvaluateStudentCont
             rule.setTemplateId(smartSubjectTemplate.getId());
             rules.add(rule);
         }
-        if(rules != null && rules.size() > 0){
+        if (rules != null && rules.size() > 0) {
             boolean insertBatch = smartTemplateRuleService.saveBatch(rules);
-            if(!insertBatch){
+            if (!insertBatch) {
                 return CommonResult.fail("修改失败");
             }
         }
 
         int insert = smartSubjectTemplateService.updateSmartSubjectTemplate(smartSubjectTemplate);
-        if(insert <= 0){
+        if (insert <= 0) {
             return CommonResult.fail("修改失败");
         }
 
@@ -190,7 +195,7 @@ public class SmartEvaluateStudentController2 implements SmartEvaluateStudentCont
         List<Integer> examTypes = new ArrayList<>();
         List<String> allExamTypes = new ArrayList<>();
         List<String> oldExamTypes = st.getExamType() == null ? new ArrayList<>() : Arrays.asList(st.getExamType().split(","));
-        for (int i =0;i< oldExamTypes.size();i++) {
+        for (int i = 0; i < oldExamTypes.size(); i++) {
             allExamTypes.add(oldExamTypes.get(i));
         }
         for (SmartTermTemplate stt : smartSubjectTemplate.getExamTypes()) {
@@ -213,7 +218,7 @@ public class SmartEvaluateStudentController2 implements SmartEvaluateStudentCont
             if (userScores != null && userScores.size() > 0) {
                 Optional<SmartEvaluateStudent> oStudent = students.stream().filter(e -> e.getTermId().equals(smartSubjectTemplate.getTermId()) && e.getUserId().equals(userId)).findFirst();
                 for (SmartScore us : userScores) {
-                    if(examTypes.contains(us.getExamType())){
+                    if (examTypes.contains(us.getExamType())) {
                         totalScoreNum = totalScoreNum.add(new BigDecimal(us.getScore()));
                         scoreNum++;
                     }
@@ -367,4 +372,51 @@ public class SmartEvaluateStudentController2 implements SmartEvaluateStudentCont
         return CommonResult.ok(list);
     }
 
+    @Override
+    public CommonResult addSmartTemplateRule(addTemplateRuleRequest atrr, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        if(atrr.getMinScore() >= atrr.getMaxScore()){
+            return CommonResult.fail("最小分不能大于等于最大分");
+        }
+
+        List<SmartTemplateRule> rules = smartTemplateRuleService.querySmartTemplateRuleBytId(atrr.getTemplateId());
+        if (rules != null && rules.size() > 0) {
+            for (SmartTemplateRule rule : rules) {
+                if (rule.getLevel().equals(atrr.getLevel())) {
+                    return CommonResult.fail("评分子项中已包含评分等级:" + atrr.getLevel());
+                }
+
+                Integer minValue = 0;
+                Integer maxValue = 0;
+                String[] levels = rule.getScoreRange().split("-");
+                if (Integer.valueOf(levels[0]).intValue() > Integer.valueOf(levels[1]).intValue()) {
+                    minValue = Integer.valueOf(levels[1]).intValue();
+                    maxValue = Integer.valueOf(levels[0]).intValue();
+                } else {
+                    minValue = Integer.valueOf(levels[0]).intValue();
+                    maxValue = Integer.valueOf(levels[1]).intValue();
+                }
+
+                if ((atrr.getMinScore() >= minValue && atrr.getMinScore() <= maxValue)
+                        || (atrr.getMinScore() <= minValue && atrr.getMaxScore() >= maxValue)
+                        || (atrr.getMaxScore() >= minValue && atrr.getMinScore() <= maxValue)) {
+                    return CommonResult.fail("评分区间和评分等级:" + rule.getLevel() + "重合");
+                }
+
+            }
+        }
+        SmartTemplateRule rule = new SmartTemplateRule();
+        rule.setTemplateId(atrr.getTemplateId());
+        rule.setLevel(atrr.getLevel());
+        rule.setScoreRange(atrr.getMinScore() + "-" + atrr.getMaxScore());
+
+        int result = smartTemplateRuleService.insertSmartTemplateRule(rule);
+
+        return result > 0 ? CommonResult.ok("添加成功") : CommonResult.fail("添加失败");
+    }
+
 }

+ 19 - 9
src/main/java/com/template/controller/SmartEvaluateTeacherController.java

@@ -13,6 +13,7 @@ import com.template.common.utils.paramUtils;
 import com.template.model.evaluate.teacher.*;
 import com.template.model.pojo.SmartScore;
 import com.template.model.pojo.SmartSemester;
+import com.template.model.pojo.SmartUser;
 import com.template.model.request.addChildScoreManageRequest;
 import com.template.model.request.addScoreManageRequest;
 import com.template.model.request.updateScoreManageRequest;
@@ -20,10 +21,7 @@ import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.EvaluateTeacherVo;
 import com.template.model.vo.RankingVo;
-import com.template.services.SmartEvaluateTdetailService;
-import com.template.services.SmartEvaluateTeacherService;
-import com.template.services.SmartScoreManageService;
-import com.template.services.SmartSemesterService;
+import com.template.services.*;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
@@ -52,6 +50,8 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
     public SmartScoreManageService smartScoreManageService;
     @Autowired
     SmartSemesterService smartSemesterService;
+    @Autowired
+    private SmartUserService smartUserService;
 
 
     @Override
@@ -353,6 +353,16 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
         }
         queryWrapper.orderByDesc("term");
         PageUtils<SmartEvaluateTeacher> list = smartEvaluateTeacherService.queryPageSmartEvaluateTeacher(currentPage, pageCount, queryWrapper);
+        if (list.getList() != null && list.getList().size() > 0) {
+            List<Integer> userIds = list.getList().stream().map(SmartEvaluateTeacher::getUserId).distinct().collect(Collectors.toList());
+            List<SmartUser> users = smartUserService.getSmartUserByIds(userIds);
+            for (SmartEvaluateTeacher data : list.getList()) {
+                Optional<SmartUser> oUser = users.stream().filter(e -> e.getId().intValue() ==data.getUserId().intValue()).findFirst();
+                if(oUser != null && oUser.isPresent()){
+                    data.setHeadImage(oUser.get().getHeadImage());
+                }
+            }
+        }
         return CommonResult.ok(list);
     }
 
@@ -557,8 +567,8 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
             BigDecimal avgScore = new BigDecimal(0.0);
             List<SmartScoreManage> childs = scoreManages.stream().filter(e -> e.getParentId().equals(parentData.getId())).collect(Collectors.toList());
             for (SmartScoreManage child : childs) {
-                List<SmartEvaluateTdetail> childDatas =detailList.stream().filter(e -> e.getScoreManageId().equals(child.getId())).collect(Collectors.toList());
-                for (SmartEvaluateTdetail childData:childDatas) {
+                List<SmartEvaluateTdetail> childDatas = detailList.stream().filter(e -> e.getScoreManageId().equals(child.getId())).collect(Collectors.toList());
+                for (SmartEvaluateTdetail childData : childDatas) {
                     if (childData.getUserId().equals(teacher.getUserId())) {
                         ownScore = ownScore.add(new BigDecimal(childData.getOwnNum()));
                     }
@@ -596,12 +606,12 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
 
     @PassToken
     public CommonResult queryTopSixTeacher(Integer termId) {
-        if(termId == null){
+        if (termId == null) {
             //获取当前学期ID
             List<SmartSemester> semesters = smartSemesterService.querySemesterByTime(new Date());
-            if(semesters != null && semesters.size() > 0){
+            if (semesters != null && semesters.size() > 0) {
                 termId = semesters.get(0).getId();
-            }else{
+            } else {
                 return CommonResult.fail("不存在学期数据,排名数据获取失败");
             }
         }

+ 3 - 0
src/main/java/com/template/model/evaluate/teacher/SmartEvaluateTeacher.java

@@ -54,6 +54,9 @@ public class SmartEvaluateTeacher {
     @ApiModelProperty(value = "扣分")
     public Double lowingScore;
 
+    @TableField(exist = false)
+    public String headImage;
+
     @ApiModelProperty(value = "逻辑删除 未删除:0;删除:1")
     @TableField(fill = FieldFill.INSERT)
     @TableLogic

+ 37 - 0
src/main/java/com/template/model/request/addTemplateRuleRequest.java

@@ -0,0 +1,37 @@
+package com.template.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * 新增评分子项
+ */
+@Data
+public class addTemplateRuleRequest {
+    /**
+     * 评分项ID
+     */
+    @NotNull(message = "评分项ID不能为空")
+    private Integer templateId;
+
+    /**
+     * 等级
+     */
+    @NotBlank(message = "等级不能为空")
+    private String level;
+
+    /**
+     * 最小分
+     */
+    @NotNull(message = "最小分不能为空")
+    private Double minScore;
+
+    /**
+     * 最大分
+     */
+    @NotNull(message = "最大分不能为空")
+    private Double maxScore;
+
+}

+ 2 - 0
src/main/java/com/template/services/SmartTemplateRuleService.java

@@ -35,4 +35,6 @@ public interface SmartTemplateRuleService extends IService<SmartTemplateRule> {
     List<SmartTemplateRule> getSmartTemplateRuleByKey(QueryWrapper<SmartTemplateRule> queryWrapper);
 
     List<TemplateRuleVo> queryTemplateRuleByIds(List<Integer> gradeIds, List<Integer> termIds);
+
+    List<SmartTemplateRule> querySmartTemplateRuleBytId(int templateid);
 }

+ 9 - 0
src/main/java/com/template/services/impl/SmartTemplateRuleServiceImpl.java

@@ -89,4 +89,13 @@ public class SmartTemplateRuleServiceImpl extends ServiceImpl<SmartTemplateRuleM
         return result;
     }
 
+    @Override
+    public List<SmartTemplateRule> querySmartTemplateRuleBytId(int templateid) {
+        QueryWrapper<SmartTemplateRule> queryWrapper2 = new QueryWrapper<>();
+        queryWrapper2.eq("template_id", templateid);
+        List<SmartTemplateRule> result = smartTemplateRuleMapper.selectList(queryWrapper2);
+
+        return result;
+    }
+
 }