新增训练任务步骤

master
yz 2 years ago
parent 1890bfe6aa
commit 3ab0428853

@ -1,17 +1,17 @@
package com.ruoyi.biemo.business.controller; package com.ruoyi.biemo.business.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.SysGradeWeight; import com.ruoyi.system.domain.SysGradeWeight;
import com.ruoyi.system.domain.SysGradeWeightExample;
import com.ruoyi.system.domain.SysTrainingScore; import com.ruoyi.system.domain.SysTrainingScore;
import com.ruoyi.system.domain.SysTrainingScoreExample; import com.ruoyi.system.domain.SysTrainingScoreExample;
import com.ruoyi.system.domain.vo.ReportDto; 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.SysGradeWeightMapper;
import com.ruoyi.system.mapper.SysTrainingScoreMapper; import com.ruoyi.system.mapper.SysTrainingScoreMapper;
import com.ruoyi.system.service.ISysTrainingScoreService; import com.ruoyi.system.service.ISysTrainingScoreService;
import org.apache.lucene.search.Weight;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -29,12 +29,12 @@ public class TrainingScoreController {
SysGradeWeightMapper gradeWeightMapper; SysGradeWeightMapper gradeWeightMapper;
@PostMapping("/addScore") @PostMapping("/addScore")
private void addScore(@RequestBody JSONObject jsonObject) { private void addScore(@RequestBody JSONObject jsonObject){
String controlsName = jsonObject.getString("controlsName"); String controlsName = jsonObject.getString("controlsName");
Long userId = jsonObject.getLong("userId"); Long userId = jsonObject.getLong("userId");
//检查状态是否提交且变更的值是否有数据 如果返回值为false 则执行更新操作 //检查状态是否提交且变更的值是否有数据 如果返回值为false 则执行更新操作
SysTrainingScore sysTrainingScore = trainingScoreService.checkStatusAndControlsName(userId, controlsName); SysTrainingScore sysTrainingScore = trainingScoreService.checkStatusAndControlsName(userId, controlsName);
if (sysTrainingScore != null) { if(sysTrainingScore!=null){
//更新userid的进度和分数 //更新userid的进度和分数
sysTrainingScore.calculateDataScore(); sysTrainingScore.calculateDataScore();
trainingScoreService.updateByPrimaryKeySelective(sysTrainingScore); trainingScoreService.updateByPrimaryKeySelective(sysTrainingScore);
@ -42,9 +42,41 @@ public class TrainingScoreController {
} }
@PostMapping("/selectScore") @PostMapping("/selectScore")
private SysTrainingScore selectScore(@RequestBody JSONObject jsonObject) { private TrainingScoreVo selectScore(@RequestBody JSONObject jsonObject){
Long userId = jsonObject.getLong("userId"); 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<SysTrainingScore> 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 "审批完毕";
} }
//实训报告上传 //实训报告上传

@ -1,6 +1,11 @@
package com.ruoyi.system.domain; 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.Date;
import java.util.Map;
public class SysTrainingScore { public class SysTrainingScore {
/** /**

@ -3,8 +3,10 @@ package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.SysTrainingScore; import com.ruoyi.system.domain.SysTrainingScore;
import com.ruoyi.system.domain.SysTrainingScoreExample; import com.ruoyi.system.domain.SysTrainingScoreExample;
import java.util.List; 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 { public interface SysTrainingScoreMapper {
/** /**
* This method was generated by MyBatis Generator. * This method was generated by MyBatis Generator.
@ -117,4 +119,6 @@ public interface SysTrainingScoreMapper {
* @mbg.generated Fri Aug 11 13:24:16 CST 2023 * @mbg.generated Fri Aug 11 13:24:16 CST 2023
*/ */
int updateByPrimaryKey(SysTrainingScore record); int updateByPrimaryKey(SysTrainingScore record);
List<SysTrainingScore> selectAllReportContent();
} }

@ -22,6 +22,7 @@ public interface ISysTrainingScoreService {
SysTrainingScore selectByUserId(Long userId); SysTrainingScore selectByUserId(Long userId);
List<SysTrainingScore> selectAllReportContent();
PageInfo<ReportDto> teacherGetReport(Integer index, Integer size , Double reportWeight, Double operatorWeight, String keyWord, String stuClass); PageInfo<ReportDto> teacherGetReport(Integer index, Integer size , Double reportWeight, Double operatorWeight, String keyWord, String stuClass);
List<String>selectClass(); List<String>selectClass();

@ -76,6 +76,11 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
return new PageInfo<>(reportDtoList); return new PageInfo<>(reportDtoList);
} }
@Override
public List<SysTrainingScore> selectAllReportContent() {
return trainingScoreMapper.selectAllReportContent();
}
@Override @Override
public SysTrainingScore checkStatusAndControlsName(Long userId, String controlsName) { public SysTrainingScore checkStatusAndControlsName(Long userId, String controlsName) {

@ -194,6 +194,9 @@
--> -->
report_content report_content
</sql> </sql>
<select id="selectAllReportContent" resultMap="BaseResultMap">
select id,userid,report_content from sys_training_score WHERE training_report_score IS NULL
</select>
<select id="selectByExampleWithBLOBs" parameterType="com.ruoyi.system.domain.SysTrainingScoreExample" resultMap="ResultMapWithBLOBs"> <select id="selectByExampleWithBLOBs" parameterType="com.ruoyi.system.domain.SysTrainingScoreExample" resultMap="ResultMapWithBLOBs">
<!-- <!--
WARNING - @mbg.generated WARNING - @mbg.generated

Loading…
Cancel
Save