diff --git a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java index 7d797f5..7f49921 100644 --- a/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java +++ b/ruoyi-biemo/src/main/java/com/ruoyi/biemo/business/controller/TrainingScoreController.java @@ -1,17 +1,17 @@ package com.ruoyi.biemo.business.controller; import com.alibaba.fastjson.JSONObject; + import com.github.pagehelper.PageInfo; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.system.domain.SysGradeWeight; -import com.ruoyi.system.domain.SysGradeWeightExample; import com.ruoyi.system.domain.SysTrainingScore; import com.ruoyi.system.domain.SysTrainingScoreExample; import com.ruoyi.system.domain.vo.ReportDto; +import com.ruoyi.system.domain.vo.TrainingScoreVo; import com.ruoyi.system.mapper.SysGradeWeightMapper; import com.ruoyi.system.mapper.SysTrainingScoreMapper; import com.ruoyi.system.service.ISysTrainingScoreService; -import org.apache.lucene.search.Weight; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -29,12 +29,12 @@ public class TrainingScoreController { SysGradeWeightMapper gradeWeightMapper; @PostMapping("/addScore") - private void addScore(@RequestBody JSONObject jsonObject) { + private void addScore(@RequestBody JSONObject jsonObject){ String controlsName = jsonObject.getString("controlsName"); Long userId = jsonObject.getLong("userId"); //检查状态是否提交且变更的值是否有数据 如果返回值为false 则执行更新操作 SysTrainingScore sysTrainingScore = trainingScoreService.checkStatusAndControlsName(userId, controlsName); - if (sysTrainingScore != null) { + if(sysTrainingScore!=null){ //更新userid的进度和分数 sysTrainingScore.calculateDataScore(); trainingScoreService.updateByPrimaryKeySelective(sysTrainingScore); @@ -42,9 +42,41 @@ public class TrainingScoreController { } @PostMapping("/selectScore") - private SysTrainingScore selectScore(@RequestBody JSONObject jsonObject) { + private TrainingScoreVo selectScore(@RequestBody JSONObject jsonObject){ Long userId = jsonObject.getLong("userId"); - return trainingScoreService.selectByUserId(userId); + SysTrainingScore sysTrainingScore = trainingScoreService.selectByUserId(userId); + TrainingScoreVo trainingScoreVo=new TrainingScoreVo(sysTrainingScore); + return trainingScoreVo; + } + + //一键审批 + @PostMapping("/approvalAll") + private String approvalAll(){ + List trainingScoreList=trainingScoreService.selectAllReportContent(); + if (trainingScoreList.isEmpty()){ + return "没有可审批的数据"; + } + for (int i = 0; i < trainingScoreList.size(); i++) { + SysTrainingScore sysTrainingScore = trainingScoreList.get(i); + String reportContent = sysTrainingScore.getReportContent(); + int wordCount = reportContent.replace(" ","").length(); // 获取文本的字数 + + int score; + if (wordCount <= 50) { + score = 40; + } else if (wordCount <= 350) { + int extraWords = wordCount - 50; // 超出50字的额外字数 + int extraScore = extraWords / 10 * 2; // 计算额外的得分 + score = 40 + extraScore; + } else { + score = 100; // 超过350字直接满分 + } + SysTrainingScore trainingScore=new SysTrainingScore(); + trainingScore.setId(sysTrainingScore.getId()); + trainingScore.setTrainingReportScore(score); + trainingScoreService.updateByPrimaryKeySelective(trainingScore); + } + return "审批完毕"; } //实训报告上传 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTrainingScore.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTrainingScore.java index 3f0ba8e..b61c7e3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTrainingScore.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysTrainingScore.java @@ -1,6 +1,11 @@ package com.ruoyi.system.domain; +import com.ruoyi.common.constant.TrainingScoreConstants; + +import java.lang.reflect.Method; +import java.text.DecimalFormat; import java.util.Date; +import java.util.Map; public class SysTrainingScore { /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTrainingScoreMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTrainingScoreMapper.java index 90a2a5a..ea7402f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTrainingScoreMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysTrainingScoreMapper.java @@ -3,8 +3,10 @@ package com.ruoyi.system.mapper; import com.ruoyi.system.domain.SysTrainingScore; import com.ruoyi.system.domain.SysTrainingScoreExample; import java.util.List; -import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +@Mapper public interface SysTrainingScoreMapper { /** * This method was generated by MyBatis Generator. @@ -117,4 +119,6 @@ public interface SysTrainingScoreMapper { * @mbg.generated Fri Aug 11 13:24:16 CST 2023 */ int updateByPrimaryKey(SysTrainingScore record); + + List selectAllReportContent(); } \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTrainingScoreService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTrainingScoreService.java index c42f987..2e34959 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTrainingScoreService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysTrainingScoreService.java @@ -22,6 +22,7 @@ public interface ISysTrainingScoreService { SysTrainingScore selectByUserId(Long userId); + List selectAllReportContent(); PageInfo teacherGetReport(Integer index, Integer size , Double reportWeight, Double operatorWeight, String keyWord, String stuClass); ListselectClass(); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java index 7511162..eb7f61c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysTrainingScoreServiceImpl.java @@ -76,6 +76,11 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService { return new PageInfo<>(reportDtoList); } + @Override + public List selectAllReportContent() { + return trainingScoreMapper.selectAllReportContent(); + } + @Override public SysTrainingScore checkStatusAndControlsName(Long userId, String controlsName) { diff --git a/ruoyi-system/src/main/resources/mapper/system/SysTrainingScoreMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysTrainingScoreMapper.xml index 1a7101b..ab301f1 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysTrainingScoreMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysTrainingScoreMapper.xml @@ -194,6 +194,9 @@ --> report_content +