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

+ 1 - 1
src/main/java/com/template/api/SmartSemesterControllerAPI.java

@@ -20,7 +20,7 @@ import org.springframework.web.bind.annotation.*;
 public interface SmartSemesterControllerAPI {
     @PostMapping(value = "/insertSmartSemester")
     @ApiOperation(value = "添加学期", notes = "添加学期数据", httpMethod = "POST")
-    CommonResult insertSmartSemester(@Validated @RequestBody SmartSemester smartApply, BindingResult bindingResult);
+    CommonResult insertSmartSemester(@Validated @RequestBody SmartSemester smartApply, BindingResult bindingResult) throws Exception;
 
     @PostMapping(value = "/updateSmartSemesterById")
     @ApiOperation(value = "编辑学期数据", notes = "编辑学期数据", httpMethod = "POST")

+ 67 - 47
src/main/java/com/template/controller/SmartEvaluateTeacherController.java

@@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -233,11 +234,11 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
             }
             SmartEvaluateTdetail mainLse = new SmartEvaluateTdetail();
             mainLse.setId(mainList.get(i).getId() == null ? (int) UUIDUtil.generateID() : mainList.get(i).getId());
-            mainLse.setCardNo(teacher.getCardNo());
-            mainLse.setTerm(teacher.getTerm());
-            mainLse.setScoreItem(mainList.get(i).getScoreItem());
-            mainLse.setParentId(mainList.get(i).getParentId());
-            mainLse.setScoreNum(mainList.get(i).getScoreNum());
+//            mainLse.setCardNo(teacher.getCardNo());
+//            mainLse.setTerm(teacher.getTerm());
+//            mainLse.setScoreItem(mainList.get(i).getScoreItem());
+//            mainLse.setParentId(mainList.get(i).getParentId());
+//            mainLse.setScoreNum(mainList.get(i).getScoreNum());
             mainLse.setOwnNum(mainList.get(i).getOwnNum());
             mainLse.setDeleted(mainList.get(i).getDeleted());
             lse.add(mainLse);
@@ -246,11 +247,11 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
                 SmartEvaluateTdetailList childScore = childScoreList.get(j);
                 SmartEvaluateTdetail childLse = new SmartEvaluateTdetail();
                 childLse.setId(childScore.getId() == null ? (int) UUIDUtil.generateID() : childScore.getId());
-                childLse.setCardNo(teacher.getCardNo());
-                childLse.setTerm(teacher.getTerm());
-                childLse.setScoreItem(childScore.getScoreItem());
-                childLse.setParentId(mainLse.getId());
-                childLse.setScoreNum(childScore.getScoreNum());
+//                childLse.setCardNo(teacher.getCardNo());
+//                childLse.setTerm(teacher.getTerm());
+//                childLse.setScoreItem(childScore.getScoreItem());
+//                childLse.setParentId(mainLse.getId());
+//                childLse.setScoreNum(childScore.getScoreNum());
                 childLse.setOwnNum(childScore.getOwnNum());
                 childLse.setDeleted(childScore.getDeleted());
                 lse.add(childLse);
@@ -278,39 +279,55 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
         if (teacher == null) {
             return CommonResult.fail("该条记录已删除");
         }
-        if (teacher.getEvaluateDetail() == null) {
-            SimpleScoreDetailList simpleScoreDetailList = smartScoreManageService.queryNoTeacherScoreDetail(teacher.getTerm());
-            JSONObject resultJson = new JSONObject();
-            resultJson.put("id", teacher.getId());
-            resultJson.put("totalScore", 0);
-            resultJson.put("lowingScore", 0);
-            resultJson.put("simpleScoreList", simpleScoreDetailList);
-            return CommonResult.ok(resultJson);
-        }
-        QueryWrapper<SmartScoreManage> queryWrapper1 = new QueryWrapper<>();
-        queryWrapper1.eq("deleted", 0);
-        queryWrapper1.eq("parent_id", 0);
-        queryWrapper1.eq("term", teacher.getTerm());
-        List<SmartScoreManage> scoreManageList = smartScoreManageService.getScoreManageByKey(queryWrapper1);
-        int totalScore = 0;
-        for (int i = 0; i < scoreManageList.size(); i++) {
-            totalScore += scoreManageList.get(i).getScoreNum();
-        }
-        QueryWrapper<SmartEvaluateTdetail> queryWrapper2 = new QueryWrapper<>();
-        queryWrapper2.eq("deleted", 0);
-        queryWrapper2.eq("parent_id", 0);
-        queryWrapper2.eq("term", teacher.getTerm());
-        List<SmartEvaluateTdetail> scoreDetailList = smartEvaluateTdetailService.getEvaluateTdetailByKey(queryWrapper2);
-        int ownTotalScore = 0;
-        int lowingScore = 0;
-        for (int i = 0; i < scoreDetailList.size(); i++) {
-            ownTotalScore += scoreDetailList.get(i).getOwnNum();
+
+        SimpleScoreDetailList simpleScoreDetailList = new SimpleScoreDetailList();
+        List<SmartEvaluateTdetailList> ls = new ArrayList<>();
+        //根据学期ID找到smart_score_manage表中的评分项
+        List<SmartScoreManage> ssms = smartScoreManageService.queryDatasByTermId(teacher.getTermId());
+        List<SmartEvaluateTdetail> sets = smartEvaluateTdetailService.queryTdetailsByTermUserId(teacher.getTermId(), teacher.getUserId());
+        BigDecimal totalScore = new BigDecimal(0.0);//总分值
+        BigDecimal ownerTotal = new BigDecimal(0.0);
+        if (ssms != null && ssms.size() > 0) {
+            List<SmartScoreManage> parentDatas = ssms.stream().filter(e -> e.getParentId() == 0).collect(Collectors.toList());
+            for (SmartScoreManage pd : parentDatas) {
+                SmartEvaluateTdetailList data = new SmartEvaluateTdetailList();
+                data.setId(pd.getId());
+                data.setCardNo(teacher.getCardNo());
+                data.setTerm(teacher.getTerm());
+                data.setTermId(teacher.getTermId());
+                data.setParentId(0);
+                data.setScoreItem(pd.getScoreItem());
+                data.setScoreNum(pd.getScoreNum());
+                data.setOwnNum(0.0);//评分数据
+                totalScore = totalScore.add(new BigDecimal(pd.getScoreNum()));
+                List<SmartEvaluateTdetailList> childs = new ArrayList<>();
+                List<SmartScoreManage> detailDatas = ssms.stream().filter(e -> e.getParentId().equals(pd.getId())).collect(Collectors.toList());
+                for (SmartScoreManage detail : detailDatas) {
+                    SmartEvaluateTdetailList child = new SmartEvaluateTdetailList();
+                    child.setId(detail.getId());
+                    child.setCardNo(teacher.getCardNo());
+                    child.setTerm(teacher.getTerm());
+                    child.setTermId(teacher.getTermId());
+                    child.setParentId(pd.getId());
+                    child.setScoreItem(detail.getScoreItem());
+                    child.setScoreNum(detail.getScoreNum());
+                    Optional<SmartEvaluateTdetail> oset = sets.stream().filter(e -> e.getScoreManageId().equals(detail.getId())).findFirst();
+                    if(oset != null && oset.isPresent()){
+                        child.setOwnNum(oset.get().getOwnNum());
+                        ownerTotal.add(new BigDecimal(oset.get().getOwnNum()));
+                    }
+                    childs.add(child);
+                }
+                data.setEvaluateList(childs);
+                ls.add(data);
+            }
+            simpleScoreDetailList.setSimpleScoreDetailList(ls);
         }
-        lowingScore = totalScore - ownTotalScore;
-        SimpleScoreDetailList simpleScoreDetailList = smartScoreManageService.queryTeacherScoreDetail(teacher.getTerm(), teacher.getCardNo());
+        BigDecimal lowingScore = totalScore.subtract(ownerTotal);
+
         JSONObject resultJson = new JSONObject();
         resultJson.put("id", teacher.getId());
-        resultJson.put("totalScore", ownTotalScore);
+        resultJson.put("totalScore", ownerTotal);
         resultJson.put("lowingScore", lowingScore);
         resultJson.put("simpleScoreList", simpleScoreDetailList);
         return CommonResult.ok(resultJson);
@@ -325,12 +342,15 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
         queryWrapper1.eq("term", teacher.getTerm());
         queryWrapper1.eq("card_no", teacher.getCardNo());
         List<SmartEvaluateTdetail> detailList = smartEvaluateTdetailService.getEvaluateTdetailByKey(queryWrapper1);
+        List<SmartScoreManage> scoreManages = smartScoreManageService.queryDatasByTermId(teacher.getTermId());
         List<JSONObject> resultJson = new ArrayList<>();
         for (int i = 0; i < detailList.size(); i++) {
             JSONObject jsonObject = new JSONObject();
             SmartEvaluateTdetail smartEvaluateTdetail = detailList.get(i);
-            double avgScore = smartEvaluateTdetailService.getAvgEvaluateScore(teacher.getTerm(), smartEvaluateTdetail.getScoreItem());
-            jsonObject.put("name", smartEvaluateTdetail.getScoreItem());
+            Optional<SmartScoreManage> manageData = scoreManages.stream().filter(e -> e.getId().equals(smartEvaluateTdetail.getId())).findFirst();
+            String scoreItem = manageData != null && manageData.isPresent() ? manageData.get().getScoreItem() : "";
+            double avgScore = smartEvaluateTdetailService.getAvgEvaluateScore(teacher.getTerm(), scoreItem);
+            jsonObject.put("name", scoreItem);
             jsonObject.put("ownScore", smartEvaluateTdetail.getOwnNum());
             jsonObject.put("avgScore", avgScore);
             resultJson.add(jsonObject);
@@ -373,12 +393,12 @@ public class SmartEvaluateTeacherController implements SmartEvaluateTeacherContr
         }
         String term = smartSemester.getName();
 
-        List<RankingVo> rankingList=smartEvaluateTeacherService.getRankingList(term);
-        RankingVo vo=smartEvaluateTeacherService.getRanking(term,cardNo);
+        List<RankingVo> rankingList = smartEvaluateTeacherService.getRankingList(term);
+        RankingVo vo = smartEvaluateTeacherService.getRanking(term, cardNo);
 
-        HashMap<String,Object> map = new HashMap<>();
-        map.put("list",rankingList);
-        map.put("single",vo);
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("list", rankingList);
+        map.put("single", vo);
 
         return CommonResult.ok(map);
     }

+ 211 - 155
src/main/java/com/template/controller/SmartSemesterController.java

@@ -4,19 +4,22 @@ package com.template.controller;
 import com.template.annotation.DESRespondSecret;
 import com.template.api.SmartSemesterControllerAPI;
 import com.template.common.utils.paramUtils;
+import com.template.model.evaluate.teacher.SmartEvaluateTdetail;
+import com.template.model.evaluate.teacher.SmartEvaluateTeacher;
 import com.template.model.evaluate.teacher.SmartScoreManage;
 import com.template.model.pojo.SmartSemester;
 import com.template.model.pojo.SmartIdentity;
 import com.template.model.pojo.SmartSemester;
+import com.template.model.pojo.SmartTeaching;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.SemesterVo;
-import com.template.services.SmartIdentityService;
-import com.template.services.SmartScoreManageService;
-import com.template.services.SmartSemesterService;
+import com.template.model.vo.UserSubjectVo;
+import com.template.services.*;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RequestMapping;
 
@@ -46,6 +49,15 @@ public class SmartSemesterController implements SmartSemesterControllerAPI {
     @Autowired
     private SmartScoreManageService smartScoreManageService;
 
+    @Autowired
+    private SmartTeachingService smartTeachingService;
+
+    @Autowired
+    private SmartEvaluateTdetailService smartEvaluateTdetailService;
+
+    @Autowired
+    private SmartEvaluateTeacherService smartEvaluateTeacherService;
+
     /**
      * 新增学期
      *
@@ -55,175 +67,216 @@ public class SmartSemesterController implements SmartSemesterControllerAPI {
      */
     @Override
     @DESRespondSecret(validated = true)
-    public CommonResult insertSmartSemester(SmartSemester smartApply, BindingResult bindingResult) {
+    @Transactional(rollbackFor = {Exception.class})
+    public CommonResult insertSmartSemester(SmartSemester smartApply, BindingResult bindingResult) throws Exception {
         if (bindingResult.hasErrors()) {
             String st = paramUtils.getParamError(bindingResult);
             return CommonResult.fail(st);
         }
         Date startTime = smartApply.getStartTime();
         Date endTime = smartApply.getEndTime();
+        SmartSemester semester = smartSemesterService.querySemesterByName(smartApply.getName());
+        if(semester != null){
+            return CommonResult.fail(smartApply.getName()+"学期数据在系统中已存在");
+        }
+
         //一天里不能是多个学期
         List<SmartSemester> list = smartSemesterService.getSemesterTime(startTime, endTime);
         if (ObjectUtils.isNotEmpty(list) && list.size() > 0) {
             return CommonResult.fail("该时间段已包含其他学期");
         }
 
-        int result = smartSemesterService.insertSmartSemester(smartApply);
-        if(result <= 0){
-            return CommonResult.fail("添加失败");
-        }
+        try{
+            int result = smartSemesterService.insertSmartSemester(smartApply);
+            if(result <= 0){
+                //return CommonResult.fail("添加失败");
+                throw new Exception("添加失败!");
+            }
 
-        //region 添加对应的默认教师评分项
-        List<SmartScoreManage> scoreManages = new ArrayList<>();
-        //region 德
-        SmartScoreManage morals = new SmartScoreManage();
-        morals.setTermId(result);
-        morals.setTerm(smartApply.getName());
-        morals.setScoreItem("德");
-        morals.setParentId(0);
-        morals.setScoreNum(12.0);
-        scoreManages.add(morals);
-        //endregion
-        //region 能
-        SmartScoreManage ability = new SmartScoreManage();
-        ability.setTermId(result);
-        ability.setTerm(smartApply.getName());
-        ability.setScoreItem("能");
-        ability.setParentId(0);
-        ability.setScoreNum(28.0);
-        scoreManages.add(ability);
-        //endregion
-        //region 勤
-        SmartScoreManage diligent = new SmartScoreManage();
-        diligent.setTermId(result);
-        diligent.setTerm(smartApply.getName());
-        diligent.setScoreItem("勤");
-        diligent.setParentId(0);
-        diligent.setScoreNum(6.0);
-        scoreManages.add(diligent);
-        //endregion
-        //region 绩
-        SmartScoreManage merit = new SmartScoreManage();
-        merit.setTermId(result);
-        merit.setTerm(smartApply.getName());
-        merit.setScoreItem("绩");
-        merit.setParentId(0);
-        merit.setScoreNum(54.0);
-        scoreManages.add(merit);
-        //endregion
-        boolean inserSManages = smartScoreManageService.saveBatch(scoreManages);
-        if (!inserSManages) {
-            return CommonResult.fail("添加失败");
-        }
+            //region 添加对应的默认教师评分项
+            List<SmartScoreManage> scoreManages = new ArrayList<>();
+            //region 德
+            SmartScoreManage morals = new SmartScoreManage();
+            morals.setTermId(result);
+            morals.setTerm(smartApply.getName());
+            morals.setScoreItem("德");
+            morals.setParentId(0);
+            morals.setScoreNum(12.0);
+            scoreManages.add(morals);
+            //endregion
+            //region 能
+            SmartScoreManage ability = new SmartScoreManage();
+            ability.setTermId(result);
+            ability.setTerm(smartApply.getName());
+            ability.setScoreItem("能");
+            ability.setParentId(0);
+            ability.setScoreNum(28.0);
+            scoreManages.add(ability);
+            //endregion
+            //region 勤
+            SmartScoreManage diligent = new SmartScoreManage();
+            diligent.setTermId(result);
+            diligent.setTerm(smartApply.getName());
+            diligent.setScoreItem("勤");
+            diligent.setParentId(0);
+            diligent.setScoreNum(6.0);
+            scoreManages.add(diligent);
+            //endregion
+            //region 绩
+            SmartScoreManage merit = new SmartScoreManage();
+            merit.setTermId(result);
+            merit.setTerm(smartApply.getName());
+            merit.setScoreItem("绩");
+            merit.setParentId(0);
+            merit.setScoreNum(54.0);
+            scoreManages.add(merit);
+            //endregion
+            boolean inserSManages = smartScoreManageService.saveBatch(scoreManages);
+            if (!inserSManages) {
+                //return CommonResult.fail("添加失败");
+                throw new Exception("添加失败!");
+            }
+
+            List<SmartScoreManage> scoreManagesData = smartScoreManageService.queryDatasByTermId(result);
 
-        List<SmartScoreManage> scoreManagesData = smartScoreManageService.queryDatasByTermId(result);
-
-        List<SmartScoreManage> scoreManageDetails = new ArrayList<>();
-        for (SmartScoreManage data : scoreManagesData) {
-            switch (data.getScoreItem()) {
-                case "德":
-                    SmartScoreManage one = new SmartScoreManage();
-                    one.setTermId(result);
-                    one.setTerm(smartApply.getName());
-                    one.setScoreItem("为人师表");
-                    one.setParentId(data.getId());
-                    one.setScoreNum(3.0);
-                    scoreManageDetails.add(one);
-                    SmartScoreManage two = new SmartScoreManage();
-                    two.setTermId(result);
-                    two.setTerm(smartApply.getName());
-                    two.setScoreItem("关爱学生");
-                    two.setParentId(data.getId());
-                    two.setScoreNum(3.0);
-                    scoreManageDetails.add(two);
-                    SmartScoreManage three = new SmartScoreManage();
-                    three.setTermId(result);
-                    three.setTerm(smartApply.getName());
-                    three.setScoreItem("爱岗敬业");
-                    three.setParentId(data.getId());
-                    three.setScoreNum(6.0);
-                    scoreManageDetails.add(three);
-                    break;
-                case "能":
-                    SmartScoreManage none = new SmartScoreManage();
-                    none.setTermId(result);
-                    none.setTerm(smartApply.getName());
-                    none.setScoreItem("基础能力");
-                    none.setParentId(data.getId());
-                    none.setScoreNum(1.0);
-                    scoreManageDetails.add(none);
-                    SmartScoreManage ntwo = new SmartScoreManage();
-                    ntwo.setTermId(result);
-                    ntwo.setTerm(smartApply.getName());
-                    ntwo.setScoreItem("教学能力");
-                    ntwo.setParentId(data.getId());
-                    ntwo.setScoreNum(16.0);
-                    scoreManageDetails.add(ntwo);
-                    SmartScoreManage nthree = new SmartScoreManage();
-                    nthree.setTermId(result);
-                    nthree.setTerm(smartApply.getName());
-                    nthree.setScoreItem("学习能力");
-                    nthree.setParentId(data.getId());
-                    nthree.setScoreNum(7.0);
-                    scoreManageDetails.add(nthree);
-                    SmartScoreManage nfour = new SmartScoreManage();
-                    nfour.setTermId(result);
-                    nfour.setTerm(smartApply.getName());
-                    nfour.setScoreItem("创新能力");
-                    nfour.setParentId(data.getId());
-                    nfour.setScoreNum(4.0);
-                    scoreManageDetails.add(nfour);
-                    break;
-                case "勤":
-                    SmartScoreManage qone = new SmartScoreManage();
-                    qone.setTermId(result);
-                    qone.setTerm(smartApply.getName());
-                    qone.setScoreItem("考勤");
-                    qone.setParentId(data.getId());
-                    qone.setScoreNum(6.0);
-                    scoreManageDetails.add(qone);
-                    break;
-                case "绩":
-                    SmartScoreManage jone = new SmartScoreManage();
-                    jone.setTermId(result);
-                    jone.setTerm(smartApply.getName());
-                    jone.setScoreItem("工作量");
-                    jone.setParentId(data.getId());
-                    jone.setScoreNum(3.0);
-                    scoreManageDetails.add(jone);
-                    SmartScoreManage jtwo = new SmartScoreManage();
-                    jtwo.setTermId(result);
-                    jtwo.setTerm(smartApply.getName());
-                    jtwo.setScoreItem("教学成绩");
-                    jtwo.setParentId(data.getId());
-                    jtwo.setScoreNum(3.0);
-                    scoreManageDetails.add(jtwo);
-                    SmartScoreManage jthree = new SmartScoreManage();
-                    jthree.setTermId(result);
-                    jthree.setTerm(smartApply.getName());
-                    jthree.setScoreItem("教研成果");
-                    jthree.setParentId(data.getId());
-                    jthree.setScoreNum(6.0);
-                    scoreManageDetails.add(jthree);
-                    SmartScoreManage jfour = new SmartScoreManage();
-                    jfour.setTermId(result);
-                    jfour.setTerm(smartApply.getName());
-                    jfour.setScoreItem("专业成长");
-                    jfour.setParentId(data.getId());
-                    jfour.setScoreNum(4.0);
-                    scoreManageDetails.add(jfour);
-                    break;
-                default:
-                    break;
+            List<SmartScoreManage> scoreManageDetails = new ArrayList<>();
+            for (SmartScoreManage data : scoreManagesData) {
+                switch (data.getScoreItem()) {
+                    case "德":
+                        SmartScoreManage one = new SmartScoreManage();
+                        one.setTermId(result);
+                        one.setTerm(smartApply.getName());
+                        one.setScoreItem("为人师表");
+                        one.setParentId(data.getId());
+                        one.setScoreNum(3.0);
+                        scoreManageDetails.add(one);
+                        SmartScoreManage two = new SmartScoreManage();
+                        two.setTermId(result);
+                        two.setTerm(smartApply.getName());
+                        two.setScoreItem("关爱学生");
+                        two.setParentId(data.getId());
+                        two.setScoreNum(3.0);
+                        scoreManageDetails.add(two);
+                        SmartScoreManage three = new SmartScoreManage();
+                        three.setTermId(result);
+                        three.setTerm(smartApply.getName());
+                        three.setScoreItem("爱岗敬业");
+                        three.setParentId(data.getId());
+                        three.setScoreNum(6.0);
+                        scoreManageDetails.add(three);
+                        break;
+                    case "能":
+                        SmartScoreManage none = new SmartScoreManage();
+                        none.setTermId(result);
+                        none.setTerm(smartApply.getName());
+                        none.setScoreItem("基础能力");
+                        none.setParentId(data.getId());
+                        none.setScoreNum(1.0);
+                        scoreManageDetails.add(none);
+                        SmartScoreManage ntwo = new SmartScoreManage();
+                        ntwo.setTermId(result);
+                        ntwo.setTerm(smartApply.getName());
+                        ntwo.setScoreItem("教学能力");
+                        ntwo.setParentId(data.getId());
+                        ntwo.setScoreNum(16.0);
+                        scoreManageDetails.add(ntwo);
+                        SmartScoreManage nthree = new SmartScoreManage();
+                        nthree.setTermId(result);
+                        nthree.setTerm(smartApply.getName());
+                        nthree.setScoreItem("学习能力");
+                        nthree.setParentId(data.getId());
+                        nthree.setScoreNum(7.0);
+                        scoreManageDetails.add(nthree);
+                        SmartScoreManage nfour = new SmartScoreManage();
+                        nfour.setTermId(result);
+                        nfour.setTerm(smartApply.getName());
+                        nfour.setScoreItem("创新能力");
+                        nfour.setParentId(data.getId());
+                        nfour.setScoreNum(4.0);
+                        scoreManageDetails.add(nfour);
+                        break;
+                    case "勤":
+                        SmartScoreManage qone = new SmartScoreManage();
+                        qone.setTermId(result);
+                        qone.setTerm(smartApply.getName());
+                        qone.setScoreItem("考勤");
+                        qone.setParentId(data.getId());
+                        qone.setScoreNum(6.0);
+                        scoreManageDetails.add(qone);
+                        break;
+                    case "绩":
+                        SmartScoreManage jone = new SmartScoreManage();
+                        jone.setTermId(result);
+                        jone.setTerm(smartApply.getName());
+                        jone.setScoreItem("工作量");
+                        jone.setParentId(data.getId());
+                        jone.setScoreNum(3.0);
+                        scoreManageDetails.add(jone);
+                        SmartScoreManage jtwo = new SmartScoreManage();
+                        jtwo.setTermId(result);
+                        jtwo.setTerm(smartApply.getName());
+                        jtwo.setScoreItem("教学成绩");
+                        jtwo.setParentId(data.getId());
+                        jtwo.setScoreNum(3.0);
+                        scoreManageDetails.add(jtwo);
+                        SmartScoreManage jthree = new SmartScoreManage();
+                        jthree.setTermId(result);
+                        jthree.setTerm(smartApply.getName());
+                        jthree.setScoreItem("教研成果");
+                        jthree.setParentId(data.getId());
+                        jthree.setScoreNum(6.0);
+                        scoreManageDetails.add(jthree);
+                        SmartScoreManage jfour = new SmartScoreManage();
+                        jfour.setTermId(result);
+                        jfour.setTerm(smartApply.getName());
+                        jfour.setScoreItem("专业成长");
+                        jfour.setParentId(data.getId());
+                        jfour.setScoreNum(4.0);
+                        scoreManageDetails.add(jfour);
+                        break;
+                    default:
+                        break;
+                }
             }
-        }
 
-        boolean inserSDetails = smartScoreManageService.saveBatch(scoreManageDetails);
-        if (!inserSDetails) {
-            return CommonResult.fail("添加失败");
-        }
-        //endregion
+            boolean inserSDetails = smartScoreManageService.saveBatch(scoreManageDetails);
+            if (!inserSDetails) {
+                //return CommonResult.fail("添加失败");
+                throw new Exception("添加失败!");
+            }
+            //endregion
 
+            //region 任课老师赋值
+            List<UserSubjectVo> teachings = smartTeachingService.querySmartTeachings(null);
+            if(teachings != null && teachings.size() > 0){
+                List<SmartEvaluateTeacher> sets = new ArrayList<>();
+                for (UserSubjectVo usv:teachings) {
+                    SmartEvaluateTeacher set = new SmartEvaluateTeacher();
+                    set.setCardNo(usv.getCardNo());
+                    set.setName(usv.getUserName());
+                    set.setGradeId(usv.getGradeId());
+                    set.setGradeName(usv.getGradeName());
+                    set.setTermId(smartApply.getId());
+                    set.setTerm(smartApply.getName());
+                    set.setSubjectId(usv.getSubjectId());
+                    set.setSubject(usv.getSubjectName());
+                    set.setClassId(usv.getClassId());
+                    set.setClassName(usv.getClassName());
+                    set.setTotalScore(0.0);
+                    set.setLowingScore(0.0);
+                    sets.add(set);
+                }
+                if(sets != null && sets.size() > 0){
+                    boolean teacherBatch = smartEvaluateTeacherService.saveBatch(sets);
+                    if(!teacherBatch){
+                        throw new Exception("添加失败!");
+                    }
+                }
+            }
+            //endregion
+        }catch (Exception e) {
+            throw new Exception("添加失败!");
+        }
 
         return CommonResult.ok("添加成功");
     }
@@ -285,5 +338,8 @@ public class SmartSemesterController implements SmartSemesterControllerAPI {
 
         return result > 0 ? CommonResult.ok("删除成功") : CommonResult.fail("删除失败");
     }
+
+
+
 }
 

+ 13 - 16
src/main/java/com/template/model/evaluate/teacher/SmartEvaluateTdetail.java

@@ -1,5 +1,6 @@
 package com.template.model.evaluate.teacher;
 
+import com.baomidou.mybatisplus.annotation.*;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -9,33 +10,29 @@ import lombok.experimental.Accessors;
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-@ApiModel(value="SmartEvaluateTdetail对象", description="")
+@ApiModel(value = "SmartEvaluateTdetail对象", description = "")
 public class SmartEvaluateTdetail {
+    private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty(value = "主键ID")
+    @TableId(value = "id", type = IdType.AUTO)
     public Integer id;
 
-    @ApiModelProperty(value = "编号(学号)")
-    public String cardNo;
+    @ApiModelProperty(value = "评分项ID")
+    public Integer scoreManageId;
 
-    @ApiModelProperty(value = "学期")
-    public String term;
+    @ApiModelProperty(value = "学期ID")
+    public Integer termId;
 
-    @ApiModelProperty(value = "学期Id")
-    public String term_id;
-
-    @ApiModelProperty(value = "评分项")
-    public String scoreItem;
-
-    @ApiModelProperty(value = "父级ID 为0表示是主项")
-    public Integer parentId;
-
-    @ApiModelProperty(value = "评分值")
-    public Double scoreNum;
+    @ApiModelProperty(value = "用户ID")
+    public Integer userId;
 
     @ApiModelProperty(value = "获得分数")
     public Double ownNum;
 
     @ApiModelProperty(value = "逻辑删除 未删除:0;删除:1")
+    @TableField(fill = FieldFill.INSERT)
+    @TableLogic
     public Integer deleted;
 
 }

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

@@ -22,6 +22,9 @@ public class SmartEvaluateTdetailList {
     @ApiModelProperty(value = "学期")
     public String term;
 
+    @ApiModelProperty(value = "学期Id")
+    public Integer termId;
+
     @ApiModelProperty(value = "评分项")
     public String scoreItem;
 

+ 10 - 2
src/main/java/com/template/model/evaluate/teacher/SmartEvaluateTeacher.java

@@ -1,5 +1,7 @@
 package com.template.model.evaluate.teacher;
 
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -11,23 +13,29 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @ApiModel(value="SmartEvaluateTeacher对象", description="")
 public class SmartEvaluateTeacher {
+    private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty(value = "主键ID")
+    @TableId(value = "id", type = IdType.AUTO)
     public Integer id;
 
     @ApiModelProperty(value = "编号(学号)")
     public String cardNo;
 
+    @ApiModelProperty(value = "用户ID")
+    public Integer userId;
+
     @ApiModelProperty(value = "姓名")
     public String name;
 
     @ApiModelProperty(value = "学期Id")
-    public Integer term_id;
+    public Integer termId;
 
     @ApiModelProperty(value = "学期")
     public String term;
 
     @ApiModelProperty(value = "学科Id")
-    public Integer subject_id;
+    public Integer subjectId;
 
     @ApiModelProperty(value = "学科")
     public String subject;

+ 10 - 0
src/main/java/com/template/model/vo/UserSubjectVo.java

@@ -22,6 +22,16 @@ public class UserSubjectVo {
     private Integer userId;
 
     /**
+     * 用户名称
+     */
+    private String userName;
+
+    /**
+     * 卡号
+     */
+    private String cardNo;
+
+    /**
      * 科目ID
      */
     private Integer subjectId;

+ 10 - 8
src/main/java/com/template/services/SmartEvaluateTdetailService.java

@@ -18,21 +18,23 @@ import java.util.List;
  */
 public interface SmartEvaluateTdetailService extends IService<SmartEvaluateTdetail> {
 
-    public int insertSmartEvaluateTdetail(SmartEvaluateTdetail sa);
+    int insertSmartEvaluateTdetail(SmartEvaluateTdetail sa);
 
-    public int updateSmartEvaluateTdetail(SmartEvaluateTdetail sa);
+    int updateSmartEvaluateTdetail(SmartEvaluateTdetail sa);
 
-    public PageUtils<SmartEvaluateTdetail> queryPageSmartEvaluateTdetail(int currentPage, int pageCount, QueryWrapper<SmartEvaluateTdetail> queryWrapper);
+    PageUtils<SmartEvaluateTdetail> queryPageSmartEvaluateTdetail(int currentPage, int pageCount, QueryWrapper<SmartEvaluateTdetail> queryWrapper);
 
-    public int deleteSmartEvaluateTdetailById(int id);
+    int deleteSmartEvaluateTdetailById(int id);
 
-    public SmartEvaluateTdetail getSmartEvaluateTdetailById(int id);
+    SmartEvaluateTdetail getSmartEvaluateTdetailById(int id);
 
-    public List<SmartEvaluateTdetail> getEvaluateTdetailList();
+    List<SmartEvaluateTdetail> getEvaluateTdetailList();
 
-    public List<SmartEvaluateTdetail> getEvaluateTdetailByKey(QueryWrapper<SmartEvaluateTdetail> queryWrapper);
+    List<SmartEvaluateTdetail> getEvaluateTdetailByKey(QueryWrapper<SmartEvaluateTdetail> queryWrapper);
 
-    public Double getAvgEvaluateScore(String term, String scoreItem);
+    Double getAvgEvaluateScore(String term, String scoreItem);
+
+    List<SmartEvaluateTdetail> queryTdetailsByTermUserId(int termId,int userId);
 
 
 }

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

@@ -78,5 +78,14 @@ public class SmartEvaluateTdetailServiceImpl extends ServiceImpl<SmartEvaluateTd
         return smartEvaluateTdetailMapper.getAvgEvaluateScore(term, scoreItem);
     }
 
+    @Override
+    public List<SmartEvaluateTdetail> queryTdetailsByTermUserId(int termId, int userId) {
+        QueryWrapper<SmartEvaluateTdetail> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("term_id", termId);
+        queryWrapper.eq("user_id", userId);
+        List<SmartEvaluateTdetail> result = smartEvaluateTdetailMapper.selectList(queryWrapper);
+        return result;
+    }
+
 
 }

+ 10 - 10
src/main/java/com/template/services/impl/SmartScoreManageServiceImpl.java

@@ -138,11 +138,11 @@ public class SmartScoreManageServiceImpl extends ServiceImpl<SmartScoreManageMap
         for (int i = 0; i < mainScore.size(); i++) {
             SmartEvaluateTdetailList smartEvaluateTdetail = new SmartEvaluateTdetailList();
             smartEvaluateTdetail.setId(mainScore.get(i).getId());
-            smartEvaluateTdetail.setCardNo(mainScore.get(i).getCardNo());
-            smartEvaluateTdetail.setTerm(mainScore.get(i).getTerm());
-            smartEvaluateTdetail.setParentId(mainScore.get(i).getParentId());
-            smartEvaluateTdetail.setScoreItem(mainScore.get(i).getScoreItem());
-            smartEvaluateTdetail.setScoreNum(mainScore.get(i).getScoreNum());
+//            smartEvaluateTdetail.setCardNo(mainScore.get(i).getCardNo());
+//            smartEvaluateTdetail.setTerm(mainScore.get(i).getTerm());
+//            smartEvaluateTdetail.setParentId(mainScore.get(i).getParentId());
+//            smartEvaluateTdetail.setScoreItem(mainScore.get(i).getScoreItem());
+//            smartEvaluateTdetail.setScoreNum(mainScore.get(i).getScoreNum());
             smartEvaluateTdetail.setOwnNum(mainScore.get(i).getOwnNum());
             logger.info("====" + mainScore.get(i).getOwnNum());
             smartEvaluateTdetail.setDeleted(mainScore.get(i).getDeleted());
@@ -154,11 +154,11 @@ public class SmartScoreManageServiceImpl extends ServiceImpl<SmartScoreManageMap
             for (int j = 0; j < childScore.size(); j++) {
                 SmartEvaluateTdetailList cs = new SmartEvaluateTdetailList();
                 cs.setId(childScore.get(j).getId());
-                cs.setCardNo(childScore.get(j).getCardNo());
-                cs.setTerm(childScore.get(j).getTerm());
-                cs.setParentId(childScore.get(j).getParentId());
-                cs.setScoreItem(childScore.get(j).getScoreItem());
-                cs.setScoreNum(childScore.get(j).getScoreNum());
+//                cs.setCardNo(childScore.get(j).getCardNo());
+//                cs.setTerm(childScore.get(j).getTerm());
+//                cs.setParentId(childScore.get(j).getParentId());
+//                cs.setScoreItem(childScore.get(j).getScoreItem());
+//                cs.setScoreNum(childScore.get(j).getScoreNum());
                 cs.setOwnNum(childScore.get(j).getOwnNum());
                 cs.setDeleted(childScore.get(j).getDeleted());
                 csList.add(cs);

+ 4 - 1
src/main/resources/mapper/template/SmartTeachingMapper.xml

@@ -4,6 +4,8 @@
     <resultMap type="com.template.model.vo.UserSubjectVo" id="smartTeachingMap">
         <result property="id" column="id"/>
         <result property="userId" column="user_id"/>
+        <result property="userName" column="user_name"/>
+        <result property="cardNo" column="card_no"/>
         <result property="subjectId" column="subject_id"/>
         <result property="subjectName" column="subject_name"/>
         <result property="gradeId" column="grade_id"/>
@@ -13,7 +15,7 @@
     </resultMap>
     <select id="querySmartTeachings" resultType="com.template.model.vo.UserSubjectVo" resultMap="smartTeachingMap">
         select
-        st.id,st.user_id,
+        st.id,st.user_id,su.card_no,su.name as user_name,
         st.subject_id,ss.name as subject_name,
         st.grade_id,sg.name as grade_name,
         st.class_id,sc.name as class_name
@@ -21,6 +23,7 @@
         left join smart_grade sg on sg.deleted = 0 and sg.id = st.grade_id
         left join smart_subject ss on ss.deleted = 0 and ss.id = st.subject_id
         left join smart_class sc on sc.deleted = 0 and sc.id = st.class_id
+        left join smart_user su on su.deleted = 0 and su.id = st.user_id
         where st.deleted = 0
         <if test="userIds != null and userIds.size() > 0">
             and st.user_id in