Compare commits

...

2 Commits

Author SHA1 Message Date
yz 341ea564d9 Merge remote-tracking branch 'origin/master'
yz 78c01a016f 修复部分BUG

@ -185,6 +185,18 @@ public class GradeController {
stuTrainingDto.setReportCompleteStatus("已提交");
stuTrainingDto.setReportScore(trainingReports.get(0).getTeacherScore());
}
if("11".equals(chapterId)){ //特殊处理财产分配
stuTrainingDto.setExpTrainingCompleteStatus(null);
stuTrainingDto.setExpTrainingDefautRule(null);
if(stuTraining.getExpTrainingCompleteStatus()==null){
stuTrainingDto.setCaseStuScore(BigDecimal.valueOf(0));
}else if(stuTraining.getExpTrainingCompleteStatus()<=100){
stuTrainingDto.setCaseStuScore(BigDecimal.valueOf(stuTraining.getExpTrainingCompleteStatus()));
}else {
stuTrainingDto.setCaseStuScore(BigDecimal.valueOf(100));
}
}
return new ResultEntity<>(HttpStatus.OK, "得分情况展示", stuTrainingDto);
}

@ -95,7 +95,7 @@ public class StatisticsController {
//根据schoolID 查询score_rank表第一名和最后一名 并根据userId 查询本学生的成绩
ScoreRankExample scoreRankExample = new ScoreRankExample();
scoreRankExample.createCriteria().andClassIdEqualTo(classId).andUpdateDateEqualTo(scoreRankService.getNowDate().trim());
scoreRankExample.setOrderByClause("khal_score desc");
scoreRankExample.setOrderByClause("total_score desc");
List<ScoreRank> scoreRankList = scoreRankMapper.selectByExample(scoreRankExample);
if (scoreRankList.isEmpty()) { //代表成绩还没更新
scoreRankService.doRankOne(schoolId);
@ -125,9 +125,9 @@ public class StatisticsController {
trendDto.setTitle(title);
List<BigDecimal> scores = new ArrayList<>();
List<String> dateList = new ArrayList<>();
for (int i = 0; i < scoreList.size(); i++) {
for (int i = scoreList.size()-1; i >= 0; i--) {
ScoreRank scoreRank = scoreList.get(i);
scores.add(scoreRank.getKhalScore());
scores.add(scoreRank.getTotalScore());
dateList.add(scoreRank.getUpdateDate());
}
trendDto.setScores(scores);

@ -152,7 +152,7 @@ public class UserController {
public Map<String,String> getClassList(@RequestParam String schoolId){
Map<String,String> map=new HashMap<>();
UserInfoExample userInfoExample = new UserInfoExample();
userInfoExample.createCriteria().andSchoolIdEqualTo(schoolId);
userInfoExample.createCriteria().andSchoolIdEqualTo(schoolId).andRoleIdEqualTo(4);
List<UserInfo> userInfos = userInfoMapper.selectByExample(userInfoExample);
for (int i = 0; i < userInfos.size(); i++) {
UserInfo userInfo = userInfos.get(i);

@ -55,4 +55,7 @@ public interface SynthesisPlanScoreMapper {
@Select("SELECT count(userid) from synthesis_plan_score where userid=#{userId}")
Integer CountScoreSizeByUserId(String userId);
@Select("SELECT count(userid) from synthesis_plan_score where userid=#{userId} and caseid=#{caseid}")
Integer CountScoreSizeByUserIdAndCaseId(String userId, String caseid);
}

@ -108,6 +108,12 @@ public class ScoreRankServiceImpl implements ScoreRankService {
Integer resourceStatus = stuTraining.getResourceLearningCompleteStatus() == null ? 0 : stuTraining.getResourceLearningCompleteStatus();
Integer learningEvalCompleteStatus = stuTraining.getLearningEvalCompleteStatus() == null ? 9999 : stuTraining.getLearningEvalCompleteStatus();
Integer expStatus = stuTraining.getExpTrainingCompleteStatus() == null ? 9999 : stuTraining.getExpTrainingCompleteStatus();
if(knowledgeStatus>5){
knowledgeStatus=5;
}
if(resourceStatus>5){
resourceStatus=5;
}
StudentScoreWeight studentScoreWeight = studentScoreWeightMap.get(stuTraining.getChapterName());
BigDecimal summaryScore = studentScoreWeight.getSummaryOfKnowledgeScore().multiply(BigDecimal.valueOf(knowledgeStatus)).multiply(studentScoreWeight.getSummaryOfKnowledgeWeight());
BigDecimal resourceScore = studentScoreWeight.getResourceLearningScore().multiply(BigDecimal.valueOf(resourceStatus)).multiply(studentScoreWeight.getResourceLearningWeight());
@ -122,6 +128,13 @@ public class ScoreRankServiceImpl implements ScoreRankService {
if(expStatus<=5){
experimentalScore = BigDecimal.valueOf(100).subtract(studentScoreWeight.getExperimentalTrainingScore().multiply(BigDecimal.valueOf(expStatus))).multiply(studentScoreWeight.getExperimentalTrainingWeight());
}
//财产分配特殊处理
if("11".equals(stuTraining.getChapterId())){
if(stuTraining.getExpTrainingCompleteStatus().compareTo(100)>0){
stuTraining.setExpTrainingCompleteStatus(100);
}
experimentalScore= BigDecimal.valueOf(stuTraining.getExpTrainingCompleteStatus()).multiply(studentScoreWeight.getExperimentalTrainingWeight());
}
}
BigDecimal sum = summaryScore.add(resourceScore).add(learningScore).add(experimentalScore);
if ("风险测评".equals(stuTraining.getChapterName())) {
@ -374,6 +387,12 @@ public class ScoreRankServiceImpl implements ScoreRankService {
Integer resourceStatus = stuTraining.getResourceLearningCompleteStatus() == null ? 0 : stuTraining.getResourceLearningCompleteStatus();
Integer learningEvalCompleteStatus = stuTraining.getLearningEvalCompleteStatus() == null ? 9999 : stuTraining.getLearningEvalCompleteStatus();
Integer expStatus = stuTraining.getExpTrainingCompleteStatus() == null ? 9999 : stuTraining.getExpTrainingCompleteStatus();
if(knowledgeStatus>5){
knowledgeStatus=5;
}
if(resourceStatus>5){
resourceStatus=5;
}
StudentScoreWeight studentScoreWeight = studentScoreWeightMap.get(stuTraining.getChapterName());
BigDecimal summaryScore = studentScoreWeight.getSummaryOfKnowledgeScore().multiply(BigDecimal.valueOf(knowledgeStatus)).multiply(studentScoreWeight.getSummaryOfKnowledgeWeight());
BigDecimal resourceScore = studentScoreWeight.getResourceLearningScore().multiply(BigDecimal.valueOf(resourceStatus)).multiply(studentScoreWeight.getResourceLearningWeight());
@ -388,6 +407,13 @@ public class ScoreRankServiceImpl implements ScoreRankService {
if(expStatus<=5){
experimentalScore = BigDecimal.valueOf(100).subtract(studentScoreWeight.getExperimentalTrainingScore().multiply(BigDecimal.valueOf(expStatus))).multiply(studentScoreWeight.getExperimentalTrainingWeight());
}
//财产分配特殊处理
if("11".equals(stuTraining.getChapterId())){
if(stuTraining.getExpTrainingCompleteStatus().compareTo(100)>0){
stuTraining.setExpTrainingCompleteStatus(100);
}
experimentalScore= BigDecimal.valueOf(stuTraining.getExpTrainingCompleteStatus()).multiply(studentScoreWeight.getExperimentalTrainingWeight());
}
}
BigDecimal sum = summaryScore.add(resourceScore).add(learningScore).add(experimentalScore);
if ("风险测评".equals(stuTraining.getChapterName())) {

@ -53,12 +53,18 @@ public class TrainingServiceImpl implements TrainingService {
StuTraining stuTraining = stuTrainingList.get(i);
Integer knowledgeStatus = stuTraining.getKnowledgeSummaryCompleteStatus() == null ? 0 : stuTraining.getKnowledgeSummaryCompleteStatus();
Integer resourceStatus = stuTraining.getResourceLearningCompleteStatus()== null ? 0 : stuTraining.getResourceLearningCompleteStatus();
Integer learningEvalCompleteStatus = stuTraining.getLearningEvalCompleteStatus()== null ? 99999 : stuTraining.getLearningEvalCompleteStatus();
Integer learningEvalCompleteStatus = stuTraining.getLearningEvalCompleteStatus()== null ? 9999 : stuTraining.getLearningEvalCompleteStatus();
Integer expStatus = stuTraining.getExpTrainingCompleteStatus()==null?9999:stuTraining.getExpTrainingCompleteStatus();
StudentScoreWeight studentScoreWeight = studentScoreWeightMap.get(stuTraining.getChapterName());
if(studentScoreWeight==null){
continue;
}
if(knowledgeStatus>5){
knowledgeStatus=5;
}
if(resourceStatus>5){
resourceStatus=5;
}
BigDecimal summaryScore = studentScoreWeight.getSummaryOfKnowledgeScore().multiply(BigDecimal.valueOf(knowledgeStatus)).multiply(studentScoreWeight.getSummaryOfKnowledgeWeight());
BigDecimal resourceScore = studentScoreWeight.getResourceLearningScore().multiply(BigDecimal.valueOf(resourceStatus)).multiply(studentScoreWeight.getResourceLearningWeight());
BigDecimal learningScore= BigDecimal.valueOf(0);
@ -69,9 +75,16 @@ public class TrainingServiceImpl implements TrainingService {
}
}
if(expStatus!=9999){
if(learningEvalCompleteStatus<=5){
if(expStatus<=5){
experimentalScore =BigDecimal.valueOf(100).subtract(studentScoreWeight.getExperimentalTrainingScore().multiply(BigDecimal.valueOf(expStatus))).multiply(studentScoreWeight.getExperimentalTrainingWeight());
}
//财产分配特殊处理
if("11".equals(stuTraining.getChapterId())){
if(stuTraining.getExpTrainingCompleteStatus().compareTo(100)>0){
stuTraining.setExpTrainingCompleteStatus(100);
}
experimentalScore= BigDecimal.valueOf(stuTraining.getExpTrainingCompleteStatus()).multiply(studentScoreWeight.getExperimentalTrainingWeight());
}
}
//设置实验报告情况及得分
@ -221,6 +234,11 @@ public class TrainingServiceImpl implements TrainingService {
BigDecimal trainingTotalScore=synthesisPlanScoreMapper.selectTotalScoreByUserIdAndCaseId(userId,client.getCaseid());
if(trainingTotalScore==null){
trainingTotalScore=BigDecimal.ZERO;
}else {
//查询zhgh考核点数量
Integer zhghSize=synthesisPlanScoreMapper.CountScoreSizeByUserIdAndCaseId(userId,client.getCaseid());
BigDecimal zhghTotalScore=BigDecimal.valueOf(zhghSize).multiply(BigDecimal.valueOf(2));
trainingTotalScore = trainingTotalScore.divide(zhghTotalScore, 2, BigDecimal.ROUND_HALF_UP).multiply(BigDecimal.valueOf(100));
}
returnDto.setTrainingTotalScore(trainingTotalScore);
returnDto.setScoreWight(zhghWeight);

Loading…
Cancel
Save