|
@@ -42,7 +42,7 @@ public class DataAnalysisServiceImpl implements DataAnalysisService {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public CompetencyTree getTreeAfterExam(int exam_id){
|
|
public CompetencyTree getTreeAfterExam(int exam_id){
|
|
|
- //TODO 能力树总分还未修改
|
|
|
|
|
|
|
+ //TODO 测试检查
|
|
|
EvalExamRecord evalExamRecord = evalExamRecordDao.findById(""+exam_id).get();
|
|
EvalExamRecord evalExamRecord = evalExamRecordDao.findById(""+exam_id).get();
|
|
|
EvalExamInfo evalExamInfo = evalExamInfoDao.findById(""+exam_id).get();
|
|
EvalExamInfo evalExamInfo = evalExamInfoDao.findById(""+exam_id).get();
|
|
|
CompetencyTree competencyTree = competencyTreeDao.findByStudentId(evalExamRecord.getStudentId());
|
|
CompetencyTree competencyTree = competencyTreeDao.findByStudentId(evalExamRecord.getStudentId());
|
|
@@ -51,6 +51,7 @@ public class DataAnalysisServiceImpl implements DataAnalysisService {
|
|
|
List<KSDScore> subTree = competencyTree.getSubCompetencyTree();
|
|
List<KSDScore> subTree = competencyTree.getSubCompetencyTree();
|
|
|
Integer difficulty = evalExamInfo.getDifficulty();
|
|
Integer difficulty = evalExamInfo.getDifficulty();
|
|
|
String disposition = evalExamInfo.getDisposition();
|
|
String disposition = evalExamInfo.getDisposition();
|
|
|
|
|
+ Double tree_Score = competencyTree.getTreeScore();
|
|
|
//得到学生所有题目的得分
|
|
//得到学生所有题目的得分
|
|
|
Map<String, Double> studentScores = evalExamRecord.getErrorQuestions();
|
|
Map<String, Double> studentScores = evalExamRecord.getErrorQuestions();
|
|
|
Map<String,Double> questionAndScore = evalExamInfo.getQuestionAndScore();
|
|
Map<String,Double> questionAndScore = evalExamInfo.getQuestionAndScore();
|
|
@@ -59,13 +60,17 @@ public class DataAnalysisServiceImpl implements DataAnalysisService {
|
|
|
Question question = questionDao.findById(questionId).get();
|
|
Question question = questionDao.findById(questionId).get();
|
|
|
//在能力树中加成的部分 = 学生得分 * 试卷难度
|
|
//在能力树中加成的部分 = 学生得分 * 试卷难度
|
|
|
Double percent = difficulty * studentScores.get(questionId);
|
|
Double percent = difficulty * studentScores.get(questionId);
|
|
|
|
|
+ tree_Score += percent;
|
|
|
//根据competency找大分类
|
|
//根据competency找大分类
|
|
|
for(KSDScore ksdScore : subTree){
|
|
for(KSDScore ksdScore : subTree){
|
|
|
- if(ksdScore.getCompetency() == question.getCompetency()){
|
|
|
|
|
-// Double treeScore = competencyTree.getTreeScore();
|
|
|
|
|
- List<KSScore> subKS = ksdScore.getKSScore();
|
|
|
|
|
|
|
+ if(ksdScore.getCompetency().equals(question.getCompetency())){
|
|
|
|
|
+ //增加该能力子树的分数
|
|
|
|
|
+ Double total_score = ksdScore.getTotalScore();
|
|
|
|
|
+ total_score += percent;
|
|
|
|
|
+ ksdScore.setTotalScore(total_score);
|
|
|
//在对应的competency下进行下一步小分类
|
|
//在对应的competency下进行下一步小分类
|
|
|
//修改K-S的分数
|
|
//修改K-S的分数
|
|
|
|
|
+ List<KSScore> subKS = ksdScore.getKSScore();
|
|
|
for(KSScore ksScore : subKS){
|
|
for(KSScore ksScore : subKS){
|
|
|
if(ksScore.getKnowledge() == question.getKsScore().getKnowledge()){
|
|
if(ksScore.getKnowledge() == question.getKsScore().getKnowledge()){
|
|
|
List<Double> Skills = ksScore.getSkillsAndScore();
|
|
List<Double> Skills = ksScore.getSkillsAndScore();
|
|
@@ -80,7 +85,7 @@ public class DataAnalysisServiceImpl implements DataAnalysisService {
|
|
|
List<DScore> subD = ksdScore.getDScore();
|
|
List<DScore> subD = ksdScore.getDScore();
|
|
|
//修改Disposition的分数
|
|
//修改Disposition的分数
|
|
|
for(DScore dScore : subD){
|
|
for(DScore dScore : subD){
|
|
|
- if(dScore.getName() == disposition){
|
|
|
|
|
|
|
+ if(dScore.getName().equals(disposition)){
|
|
|
Double score = percent + dScore.getScore();
|
|
Double score = percent + dScore.getScore();
|
|
|
dScore.setScore(score);
|
|
dScore.setScore(score);
|
|
|
break;
|
|
break;
|
|
@@ -90,6 +95,7 @@ public class DataAnalysisServiceImpl implements DataAnalysisService {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
//处理完考试中的每个问题后,更新能力树
|
|
//处理完考试中的每个问题后,更新能力树
|
|
|
|
|
+ competencyTree.setTreeScore(tree_Score);
|
|
|
competencyTreeDao.save(competencyTree);
|
|
competencyTreeDao.save(competencyTree);
|
|
|
|
|
|
|
|
return competencyTree;
|
|
return competencyTree;
|