/** * テスト結果分析情報取得メソッド * * @param planId 教育プラン * @return TestResultAnalysisInfo * @throws EducationManagementException */ public TestResultAnalysisInfo getTestResultAnalysisInfo(String planId) throws EducationManagementException { // パラメータMAP HashMap<String, Integer> paramMap = new HashMap<String, Integer>(); // 回答者数 int totalCount = 0; paramMap.put("totalCount", totalCount); // 問題数 int questionCounts = 0; paramMap.put("questionCounts", questionCounts); // 最小の初回点数 int minFirstScore = 0; paramMap.put("minFirstScore", minFirstScore); // 最大の回数 int maxGradingNum = 0; paramMap.put("maxGradingNum", maxGradingNum); // テスト結果分析画面の情報 TestResultAnalysisInfo analysisInfo = new TestResultAnalysisInfo(); // 解説・正解Table、問題別初回不正解者数TableとChart用 QuestionsAndFirstPassCountsList qestionList = new QuestionsAndFirstPassCountsList(); // 初回得点分布Mapの取得 HashMap<Integer, Integer> firstScoreForPersons = getFirstScoreForPersonCountsList(analysisInfo, paramMap, planId); // 合格試験回数分布Mapの取得 HashMap<Integer, Integer> gradingNumForPersons = getGradingNumForPersonCountsList(paramMap, planId); // 問題情報と初回不正解者数 editQuestionsAndFirstPassCountsList(paramMap, planId, qestionList); analysisInfo.setQuestionsAndFirstPassCountsListObject(qestionList); // 初回得点分布Table FirstScoreForTableList firstScoreTableList = new FirstScoreForTableList(); // 初回得点分布Chart FirstScoreForChartList firstScoreChartList = new FirstScoreForChartList(); // 初回得点分布TableとChartのデータ編集 editFirstScore(paramMap, firstScoreForPersons, firstScoreTableList, firstScoreChartList); analysisInfo.setFirstScoreForTableListObject(firstScoreTableList); analysisInfo.setFirstScoreForChartListObject(firstScoreChartList); // 合格試験回数分布Table GradingNumForTableList gradingNumTableList = new GradingNumForTableList(); // 合格試験回数分布Chart GradingNumForChartList gradingNumChartList = new GradingNumForChartList(); // 合格試験回数分布TableとChartのデータ編集 editGradingNum(paramMap, gradingNumForPersons, gradingNumTableList, gradingNumChartList); analysisInfo.setGradingNumForTableListObject(gradingNumTableList); analysisInfo.setGradingNumForChartListObject(gradingNumChartList); // 基本情報の編集 editBaseInfo(paramMap, planId, analysisInfo); return analysisInfo; }