|
|
@ -1,16 +1,14 @@
|
|
|
|
package com.ruoyi.system.service.impl;
|
|
|
|
package com.ruoyi.system.service.impl;
|
|
|
|
|
|
|
|
|
|
|
|
import com.github.pagehelper.Page;
|
|
|
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
import com.ruoyi.common.constant.TrainingScoreConstants;
|
|
|
|
import com.ruoyi.common.constant.TrainingScoreConstants;
|
|
|
|
import com.ruoyi.common.core.controller.BaseController;
|
|
|
|
|
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
|
|
|
|
|
import com.ruoyi.system.domain.SysGradeWeight;
|
|
|
|
import com.ruoyi.system.domain.SysGradeWeight;
|
|
|
|
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.SysTrainingScoreWithBLOBs;
|
|
|
|
import com.ruoyi.system.domain.vo.ReportDto;
|
|
|
|
import com.ruoyi.system.domain.vo.ReportDto;
|
|
|
|
import com.ruoyi.system.mapper.SysGradeWeightMapper;
|
|
|
|
import com.ruoyi.system.mapper.SysGradeWeightMapper;
|
|
|
|
import com.ruoyi.system.mapper.SysTrainingScoreMapper;
|
|
|
|
import com.ruoyi.system.mapper.SysTrainingScoreMapper;
|
|
|
@ -47,7 +45,7 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void insertByUserId(Long userId) {
|
|
|
|
public void insertByUserId(Long userId) {
|
|
|
|
SysTrainingScore sysTrainingScore = new SysTrainingScore();
|
|
|
|
SysTrainingScoreWithBLOBs sysTrainingScore = new SysTrainingScoreWithBLOBs();
|
|
|
|
sysTrainingScore.setId(String.valueOf(UUID.randomUUID()));
|
|
|
|
sysTrainingScore.setId(String.valueOf(UUID.randomUUID()));
|
|
|
|
sysTrainingScore.setUserid(userId);
|
|
|
|
sysTrainingScore.setUserid(userId);
|
|
|
|
sysTrainingScore.setStatus(0);
|
|
|
|
sysTrainingScore.setStatus(0);
|
|
|
@ -65,19 +63,19 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public SysTrainingScore checkStatusAndControlsName(Long userId, String controlsName) {
|
|
|
|
public SysTrainingScoreWithBLOBs checkStatusAndControlsName(Long userId, String controlsName) {
|
|
|
|
SysTrainingScoreExample example = new SysTrainingScoreExample();
|
|
|
|
SysTrainingScoreExample example = new SysTrainingScoreExample();
|
|
|
|
SysTrainingScoreExample.Criteria criteria = example.createCriteria();
|
|
|
|
SysTrainingScoreExample.Criteria criteria = example.createCriteria();
|
|
|
|
criteria.andUseridEqualTo(userId);
|
|
|
|
criteria.andUseridEqualTo(userId);
|
|
|
|
List<SysTrainingScore> trainingScores = trainingScoreMapper.selectByExample(example);
|
|
|
|
List<SysTrainingScoreWithBLOBs> trainingScores = trainingScoreMapper.selectByExampleWithBLOBs(example);
|
|
|
|
SysTrainingScore sysTrainingScore = trainingScores.get(0);
|
|
|
|
SysTrainingScoreWithBLOBs sysTrainingScore = trainingScores.get(0);
|
|
|
|
if (sysTrainingScore.getStatus() == 1) {
|
|
|
|
if (sysTrainingScore.getStatus() == 1) {
|
|
|
|
return null;
|
|
|
|
return null;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (sysTrainingScore.get(controlsName) == null || ("").equals(sysTrainingScore.get(controlsName)) || "null".equals(sysTrainingScore.get(controlsName))) {
|
|
|
|
if (sysTrainingScore.get(controlsName) == null || ("").equals(sysTrainingScore.get(controlsName)) || "null".equals(sysTrainingScore.get(controlsName))) {
|
|
|
|
Map<String, Integer> trainingScoreConstantsMap = TrainingScoreConstants.getTrainingScoreConstantsMap();
|
|
|
|
Map<String, Integer> trainingScoreConstantsMap = TrainingScoreConstants.getTrainingScoreConstantsMap();
|
|
|
|
Integer score = trainingScoreConstantsMap.get(controlsName);
|
|
|
|
Integer score = trainingScoreConstantsMap.get(controlsName);
|
|
|
|
SysTrainingScore trainingScore = new SysTrainingScore();
|
|
|
|
SysTrainingScoreWithBLOBs trainingScore = new SysTrainingScoreWithBLOBs();
|
|
|
|
trainingScore.setId(sysTrainingScore.getId());
|
|
|
|
trainingScore.setId(sysTrainingScore.getId());
|
|
|
|
trainingScore.set(controlsName, String.valueOf(score));
|
|
|
|
trainingScore.set(controlsName, String.valueOf(score));
|
|
|
|
if (controlsName.equals("dataCollectionStepDescription")) {
|
|
|
|
if (controlsName.equals("dataCollectionStepDescription")) {
|
|
|
@ -93,7 +91,7 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void updateByPrimaryKeySelective(SysTrainingScore trainingScore) {
|
|
|
|
public void updateByPrimaryKeySelective(SysTrainingScoreWithBLOBs trainingScore) {
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(trainingScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(trainingScore);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -144,9 +142,9 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
for (SysUser user : users) {
|
|
|
|
for (SysUser user : users) {
|
|
|
|
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
trainingScoreExample.createCriteria().andUseridEqualTo(user.getUserId());
|
|
|
|
trainingScoreExample.createCriteria().andUseridEqualTo(user.getUserId());
|
|
|
|
List<SysTrainingScore> sysTrainingScores = trainingScoreMapper.selectByExample(trainingScoreExample);
|
|
|
|
List<SysTrainingScoreWithBLOBs> sysTrainingScores = trainingScoreMapper.selectByExampleWithBLOBs(trainingScoreExample);
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
SysTrainingScore sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
SysTrainingScoreWithBLOBs sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
// 检查是否已经存在分数
|
|
|
|
// 检查是否已经存在分数
|
|
|
|
if (sysTrainingScore.getTotalscore() != null &&
|
|
|
|
if (sysTrainingScore.getTotalscore() != null &&
|
|
|
|
sysTrainingScore.getTrainingReportScore() != null &&
|
|
|
|
sysTrainingScore.getTrainingReportScore() != null &&
|
|
|
@ -183,9 +181,9 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
for (SysUser sysUser : userList) {
|
|
|
|
for (SysUser sysUser : userList) {
|
|
|
|
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
trainingScoreExample.createCriteria().andUseridEqualTo(sysUser.getUserId());
|
|
|
|
trainingScoreExample.createCriteria().andUseridEqualTo(sysUser.getUserId());
|
|
|
|
List<SysTrainingScore> sysTrainingScores = trainingScoreMapper.selectByExample(trainingScoreExample);
|
|
|
|
List<SysTrainingScoreWithBLOBs> sysTrainingScores = trainingScoreMapper.selectByExampleWithBLOBs(trainingScoreExample);
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
SysTrainingScore sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
SysTrainingScoreWithBLOBs sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
if (sysTrainingScore.getTotalscore() != null &&
|
|
|
|
if (sysTrainingScore.getTotalscore() != null &&
|
|
|
|
sysTrainingScore.getTrainingReportScore() != null &&
|
|
|
|
sysTrainingScore.getTrainingReportScore() != null &&
|
|
|
|
sysTrainingScore.getTrainingOperationScore() != null) {
|
|
|
|
sysTrainingScore.getTrainingOperationScore() != null) {
|
|
|
@ -220,14 +218,15 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<SysTrainingScore> selectAllReportContent() {
|
|
|
|
public List<SysTrainingScoreWithBLOBs> selectAllReportContent() {
|
|
|
|
List<SysTrainingScore> trainingScores = trainingScoreMapper.selectAllReportContent();
|
|
|
|
// List<SysTrainingScoreWithBLOBs> trainingScores = trainingScoreMapper.selectAllReportContent();
|
|
|
|
return trainingScores;
|
|
|
|
SysTrainingScoreExample e = new SysTrainingScoreExample();
|
|
|
|
|
|
|
|
return trainingScoreMapper.selectByExampleWithBLOBs(e);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 算分
|
|
|
|
// 算分
|
|
|
|
private ReportDto createReportDto(SysTrainingScore sysTrainingScore, SysUser user, Double reportWeight, Double operatorWeight) {
|
|
|
|
private ReportDto createReportDto(SysTrainingScoreWithBLOBs sysTrainingScore, SysUser user, Double reportWeight, Double operatorWeight) {
|
|
|
|
DecimalFormat df = new DecimalFormat("#.##"); // 指定保留两位小数
|
|
|
|
DecimalFormat df = new DecimalFormat("#.##"); // 指定保留两位小数
|
|
|
|
ReportDto reportDto = new ReportDto();
|
|
|
|
ReportDto reportDto = new ReportDto();
|
|
|
|
reportDto.setFileName(sysTrainingScore.getReportFilename());
|
|
|
|
reportDto.setFileName(sysTrainingScore.getReportFilename());
|
|
|
@ -298,24 +297,24 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
String filePath = fileUtil.upload(file);
|
|
|
|
String filePath = fileUtil.upload(file);
|
|
|
|
SysTrainingScoreExample sysTrainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
SysTrainingScoreExample sysTrainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
sysTrainingScoreExample.createCriteria().andUseridEqualTo(id);
|
|
|
|
sysTrainingScoreExample.createCriteria().andUseridEqualTo(id);
|
|
|
|
List<SysTrainingScore> sysTrainingScores = trainingScoreMapper.selectByExampleWithBLOBs(sysTrainingScoreExample);
|
|
|
|
List<SysTrainingScoreWithBLOBs> sysTrainingScores = trainingScoreMapper.selectByExampleWithBLOBs(sysTrainingScoreExample);
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
SysTrainingScore sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
SysTrainingScoreWithBLOBs sysTrainingScoreWithBLOBs = sysTrainingScores.get(0);
|
|
|
|
if (sysTrainingScore != null && sysTrainingScore.getReportContent() != null && !sysTrainingScore.getReportContent().isEmpty()) {
|
|
|
|
if (sysTrainingScoreWithBLOBs != null && "已提交".equals(sysTrainingScoreWithBLOBs.getReportstatus())) {
|
|
|
|
return AjaxResult.error(400,"报告已提交,不允许上传和修改");
|
|
|
|
return AjaxResult.error(400, "报告已提交,不允许上传和修改");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (sysTrainingScore != null && StringUtils.hasText(sysTrainingScore.getReportUploadPath())) {
|
|
|
|
if (sysTrainingScoreWithBLOBs != null && StringUtils.hasText(sysTrainingScoreWithBLOBs.getReportUploadPath())) {
|
|
|
|
fileUtil.remove(sysTrainingScore.getReportUploadPath());
|
|
|
|
fileUtil.remove(sysTrainingScoreWithBLOBs.getReportUploadPath());
|
|
|
|
sysTrainingScore.setReportUploadPath(filePath);
|
|
|
|
sysTrainingScoreWithBLOBs.setReportUploadPath(filePath);
|
|
|
|
sysTrainingScore.setReportFilename(fileName);
|
|
|
|
sysTrainingScoreWithBLOBs.setReportFilename(fileName);
|
|
|
|
trainingScoreMapper.updateByExample(sysTrainingScore, sysTrainingScoreExample);
|
|
|
|
trainingScoreMapper.updateByExample(sysTrainingScoreWithBLOBs, sysTrainingScoreExample);
|
|
|
|
return AjaxResult.success("上传成功");
|
|
|
|
return AjaxResult.success("上传成功");
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (sysTrainingScore != null) {
|
|
|
|
if (sysTrainingScoreWithBLOBs != null) {
|
|
|
|
sysTrainingScore.setReportUploadPath(filePath);
|
|
|
|
sysTrainingScoreWithBLOBs.setReportUploadPath(filePath);
|
|
|
|
sysTrainingScore.setReportFilename(fileName);
|
|
|
|
sysTrainingScoreWithBLOBs.setReportFilename(fileName);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScoreWithBLOBs);
|
|
|
|
return AjaxResult.success("上传成功");
|
|
|
|
return AjaxResult.success("上传成功");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -328,28 +327,35 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
public AjaxResult saveOrSubmitReport(String content, Long userId, boolean isSubmit) { // isSubmit为true时提交 false保存
|
|
|
|
public AjaxResult saveOrSubmitReport(String content, Long userId, boolean isSubmit) { // isSubmit为true时提交 false保存
|
|
|
|
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
trainingScoreExample.createCriteria().andUseridEqualTo(userId);
|
|
|
|
trainingScoreExample.createCriteria().andUseridEqualTo(userId);
|
|
|
|
List<SysTrainingScore> sysTrainingScores = trainingScoreMapper.selectByExample(trainingScoreExample);
|
|
|
|
List<SysTrainingScoreWithBLOBs> sysTrainingScores = trainingScoreMapper.selectByExampleWithBLOBs(trainingScoreExample);
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
SysTrainingScore sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
SysTrainingScoreWithBLOBs sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
if (StringUtils.isEmpty(sysTrainingScore.getReportstatus())) {
|
|
|
|
if (StringUtils.isEmpty(sysTrainingScore.getReportstatus())) {
|
|
|
|
sysTrainingScore.setReportstatus("未提交"); // 设置默认值为"未提交"
|
|
|
|
sysTrainingScore.setReportstatus("未提交"); // 设置默认值为"未提交"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (sysTrainingScore.getReportstatus().equals("已提交")) { // 检查报告状态,如果已提交,则不允许再次提交
|
|
|
|
if (sysTrainingScore.getReportstatus().equals("已提交")) { // 检查报告状态,如果已提交,则不允许再次提交
|
|
|
|
return AjaxResult.error(400,"报告已提交,不可重复提交,如需再次提交,请点击重新实训");
|
|
|
|
return AjaxResult.error(400, "报告已提交,不可重复提交,如需再次提交,请点击重新实训");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (isSubmit) {
|
|
|
|
if (isSubmit) {
|
|
|
|
if (sysTrainingScore.getReportUploadPath() == null) {
|
|
|
|
if (sysTrainingScore.getReportUploadPath() == null) {
|
|
|
|
return AjaxResult.error(400,"请先上传再提交");
|
|
|
|
return AjaxResult.error(400, "请先上传再提交");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (sysTrainingScore.getReportSaveContent()!=null){
|
|
|
|
|
|
|
|
sysTrainingScore.setReportContent(sysTrainingScore.getReportSaveContent());
|
|
|
|
|
|
|
|
sysTrainingScore.setReportstatus("已提交");
|
|
|
|
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
|
|
|
|
return AjaxResult.success("提交成功");
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
sysTrainingScore.setReportContent(content);
|
|
|
|
|
|
|
|
sysTrainingScore.setReportstatus("已提交");
|
|
|
|
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
|
|
|
|
return AjaxResult.success("提交成功");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
sysTrainingScore.setReportContent(content);
|
|
|
|
|
|
|
|
sysTrainingScore.setReportstatus("已提交");
|
|
|
|
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
|
|
|
|
return AjaxResult.success("提交成功");
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (sysTrainingScore.getReportstatus().equals("已提交")) {
|
|
|
|
if (sysTrainingScore.getReportstatus().equals("已提交")) {
|
|
|
|
return AjaxResult.error(400,"报告已提交,无法修改");
|
|
|
|
return AjaxResult.error(400, "报告已提交,无法修改");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
sysTrainingScore.setReportContent(content);
|
|
|
|
sysTrainingScore.setReportSaveContent(content);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
return AjaxResult.success("保存成功");
|
|
|
|
return AjaxResult.success("保存成功");
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -408,9 +414,9 @@ public class SysTrainingScoreServiceImpl implements ISysTrainingScoreService {
|
|
|
|
public void reportGrade(Integer reportScore, Long userId) {
|
|
|
|
public void reportGrade(Integer reportScore, Long userId) {
|
|
|
|
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
SysTrainingScoreExample trainingScoreExample = new SysTrainingScoreExample();
|
|
|
|
trainingScoreExample.createCriteria().andUseridEqualTo(userId);
|
|
|
|
trainingScoreExample.createCriteria().andUseridEqualTo(userId);
|
|
|
|
List<SysTrainingScore> sysTrainingScores = trainingScoreMapper.selectByExample(trainingScoreExample);
|
|
|
|
List<SysTrainingScoreWithBLOBs> sysTrainingScores = trainingScoreMapper.selectByExampleWithBLOBs(trainingScoreExample);
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
if (!sysTrainingScores.isEmpty()) {
|
|
|
|
SysTrainingScore sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
SysTrainingScoreWithBLOBs sysTrainingScore = sysTrainingScores.get(0);
|
|
|
|
sysTrainingScore.setTrainingReportScore(reportScore);
|
|
|
|
sysTrainingScore.setTrainingReportScore(reportScore);
|
|
|
|
sysTrainingScore.setPreTrainingReportScore(reportScore);
|
|
|
|
sysTrainingScore.setPreTrainingReportScore(reportScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|
trainingScoreMapper.updateByPrimaryKeySelective(sysTrainingScore);
|
|
|
|