Rev 1837 | Rev 1842 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1837 | Rev 1841 | ||
---|---|---|---|
Line 6... | Line 6... | ||
6 | import org.apache.log4j.Logger; |
6 | import org.apache.log4j.Logger; |
7 | import org.json.JSONArray; |
7 | import org.json.JSONArray; |
8 | import org.json.JSONException; |
8 | import org.json.JSONException; |
9 | import org.json.JSONObject; |
9 | import org.json.JSONObject; |
10 | import pt.estgp.estgweb.domain.CourseUnit; |
10 | import pt.estgp.estgweb.domain.CourseUnit; |
- | 11 | import pt.estgp.estgweb.domain.CourseUnitEvaluationImpl; |
|
11 | import pt.estgp.estgweb.domain.CourseUnitImpl; |
12 | import pt.estgp.estgweb.domain.CourseUnitImpl; |
- | 13 | import pt.estgp.estgweb.domain.DomainObjectFactory; |
|
12 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
14 | import pt.estgp.estgweb.domain.dao.DaoFactory; |
13 | import pt.estgp.estgweb.services.courses.coursereport.CourseReportUtils; |
15 | import pt.estgp.estgweb.services.courses.coursereport.CourseReportUtils; |
14 | import pt.estgp.estgweb.services.courses.coursereport.documentmodel.*; |
16 | import pt.estgp.estgweb.services.courses.coursereport.documentmodel.*; |
15 | import pt.estgp.estgweb.services.courses.coursereport.documentmodel.courseunitreport.CourseUnitSection; |
17 | import pt.estgp.estgweb.services.courses.coursereport.documentmodel.courseunitreport.CourseUnitSection; |
16 | import pt.estgp.estgweb.services.courses.coursereport.documentmodel.learningresults.components.UnitsLearningResultSemester; |
18 | import pt.estgp.estgweb.services.courses.coursereport.documentmodel.learningresults.components.UnitsLearningResultSemester; |
Line 108... | Line 110... | ||
108 | public ReportCourseDocument createNewCourseReportDocument(1.5.0/docs/api/java/lang/String.html">String courseCode,1.5.0/docs/api/java/lang/String.html">String year) throws 1.5.0/docs/api/java/io/IOException.html">IOException, JSONException |
110 | public ReportCourseDocument createNewCourseReportDocument(1.5.0/docs/api/java/lang/String.html">String courseCode,1.5.0/docs/api/java/lang/String.html">String year) throws 1.5.0/docs/api/java/io/IOException.html">IOException, JSONException |
109 | { |
111 | { |
110 | ReportCourseDocument reportCourseDocument = new ReportCourseDocument(); |
112 | ReportCourseDocument reportCourseDocument = new ReportCourseDocument(); |
111 | reportCourseDocument.init(); |
113 | reportCourseDocument.init(); |
112 | 114 | ||
113 | List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadByCourseSiges(courseCode, year); |
- | |
114 | 115 | ||
115 | //FIRST SERVICE TO CALL TO OBTAIN UNITS AND EVALUATIONS |
116 | //FIRST SERVICE TO CALL TO OBTAIN UNITS AND EVALUATIONS |
116 | //THIS IS THE BASE FOR THE REMAIN SERVICE CALLS |
117 | //THIS IS THE BASE FOR THE REMAIN SERVICE CALLS |
117 | List<DocumentSection> courseUnitSections = updateCleanCourseUnitSections(courseCode, year, reportCourseDocument, units); |
118 | List<DocumentSection> courseUnitSections = updateCleanCourseUnitSections(courseCode, year, reportCourseDocument); |
118 | 119 | ||
119 | //A tabela de resultados globais não vai ser utilizada |
120 | //A tabela de resultados globais não vai ser utilizada |
- | 121 | //PARA CORRER ESTE SERVICO A PARTIR DA INTERFACE É PRECISO |
|
- | 122 | //PERCEBER QUE DEPENDE DO SERVICO DE UPDATE DAS SECOES DAS COURSEUNITS |
|
120 | UnitsLearningResultsTable unitsLearningResultsTable = updateCleanLearningResultsFromCourseUnitsSections(reportCourseDocument); |
123 | UnitsLearningResultsTable unitsLearningResultsTable = updateCleanLearningResultsFromCourseUnitsSections(reportCourseDocument); |
121 | 124 | ||
122 | 125 | ||
123 | //Atualiza no DOC a tabela de analise DTP |
126 | //Atualiza no DOC a tabela de analise DTP |
124 | UnitsDtpTable unitsDtpTable = updateDtpStatsTable4Course(reportCourseDocument, courseCode, year); |
127 | UnitsDtpTable unitsDtpTable = updateDtpStatsTable4Course(reportCourseDocument, courseCode, year); |
Line 150... | Line 153... | ||
150 | /** |
153 | /** |
151 | * Este serviço atualiza a tabela de resultados de aprendizagem com base nas courseunitssections |
154 | * Este serviço atualiza a tabela de resultados de aprendizagem com base nas courseunitssections |
152 | * @param reportCourseDocument |
155 | * @param reportCourseDocument |
153 | * @return UnitsLearningResultsTable |
156 | * @return UnitsLearningResultsTable |
154 | */ |
157 | */ |
155 | public UnitsLearningResultsTable updateCleanLearningResultsFromCourseUnitsSections(ReportCourseDocument reportCourseDocument) { |
158 | public UnitsLearningResultsTable updateCleanLearningResultsFromCourseUnitsSections(ReportCourseDocument reportCourseDocument) |
- | 159 | { |
|
156 | CourseUnitsReportsSection unitReportsSection = (CourseUnitsReportsSection) reportCourseDocument.findDocumentSection(CourseUnitsReportsSection.class); |
160 | CourseUnitsReportsSection unitReportsSection = (CourseUnitsReportsSection) reportCourseDocument.findDocumentSection(CourseUnitsReportsSection.class); |
157 | 161 | ||
158 | LearningResultsSection learningResultsSection = (LearningResultsSection) reportCourseDocument.findDocumentSection(LearningResultsSection.class); |
162 | LearningResultsSection learningResultsSection = (LearningResultsSection) reportCourseDocument.findDocumentSection(LearningResultsSection.class); |
159 | UnitsLearningResultsTable learningResultsTable = (UnitsLearningResultsTable) learningResultsSection.findDocComponent(UnitsLearningResultsTable.class); |
163 | UnitsLearningResultsTable learningResultsTable = (UnitsLearningResultsTable) learningResultsSection.findDocComponent(UnitsLearningResultsTable.class); |
160 | 164 | ||
Line 185... | Line 189... | ||
185 | uc.setPeriod(semestreCode); |
189 | uc.setPeriod(semestreCode); |
186 | uc.setName(unitSection.getName()); |
190 | uc.setName(unitSection.getName()); |
187 | uc.setSigesCode(unitSection.getSigesCode()); |
191 | uc.setSigesCode(unitSection.getSigesCode()); |
188 | if(unitSection.getCourseUnitEvaluation() != null) |
192 | if(unitSection.getCourseUnitEvaluation() != null) |
189 | { |
193 | { |
- | 194 | ||
190 | uc.setAlunosInscritos(1.5.0/docs/api/java/lang/Integer.html">Integer.parseInt(unitSection.getCourseUnitEvaluation().getNumAlunosInscritos())); |
195 | uc.setAlunosInscritos(unitSection.getCourseUnitEvaluation().getNumAlunosInscritos()); |
191 | 196 | ||
192 | uc.setAprovados1013(unitSection.getCourseUnitEvaluation().getNumAlunosAprov1013()); |
197 | uc.setAprovados1013(unitSection.getCourseUnitEvaluation().getNumAlunosAprov1013()); |
193 | uc.setAprovados1416(unitSection.getCourseUnitEvaluation().getNumAlunosAprov1416()); |
198 | uc.setAprovados1416(unitSection.getCourseUnitEvaluation().getNumAlunosAprov1416()); |
194 | uc.setAprovados1720(unitSection.getCourseUnitEvaluation().getNumAlunosAprov1720()); |
199 | uc.setAprovados1720(unitSection.getCourseUnitEvaluation().getNumAlunosAprov1720()); |
195 | uc.setSemElementos(unitSection.getCourseUnitEvaluation().getNumAlunosSemElementosAvaliacao()); |
200 | uc.setSemElementos(unitSection.getCourseUnitEvaluation().getNumAlunosSemElementosAvaliacao()); |
Line 228... | Line 233... | ||
228 | return o1.getSemestre().compareTo(o2.getSemestre()); |
233 | return o1.getSemestre().compareTo(o2.getSemestre()); |
229 | } |
234 | } |
230 | }); |
235 | }); |
231 | } |
236 | } |
232 | 237 | ||
- | 238 | ||
- | 239 | //UPDATE TOTAIS DE SEMESTRES E DE ANOS |
|
233 | float totalCumProgPercentGlobal = 0; |
240 | float totalCumProgPercentGlobal = 0; |
234 | int totalInscritosGlobal = 0; |
241 | int totalInscritosGlobal = 0; |
235 | float totalReprovadosPercentGlobal = 0; |
242 | float totalReprovadosPercentGlobal = 0; |
236 | float totalAprovadosPercentGlobal = 0; |
243 | float totalAprovadosPercentGlobal = 0; |
237 | float totalSemElementosPercentGlobal = 0; |
244 | float totalSemElementosPercentGlobal = 0; |
Line 341... | Line 348... | ||
341 | * Update course unit sections with reports, this method dows not change learning results table |
348 | * Update course unit sections with reports, this method dows not change learning results table |
342 | * values from learning results stays in unit but does not change learning results Table |
349 | * values from learning results stays in unit but does not change learning results Table |
343 | * @param courseCode |
350 | * @param courseCode |
344 | * @param year |
351 | * @param year |
345 | * @param reportCourseDocument |
352 | * @param reportCourseDocument |
346 | * @param units |
- | |
347 | * @throws JSONException |
353 | * @throws JSONException |
348 | * @throws IOException |
354 | * @throws IOException |
349 | * @return a list of CourseUnitSection |
355 | * @return a list of CourseUnitSection |
350 | */ |
356 | */ |
351 | public List<DocumentSection> updateCleanCourseUnitSections(1.5.0/docs/api/java/lang/String.html">String courseCode, 1.5.0/docs/api/java/lang/String.html">String year, ReportCourseDocument reportCourseDocument, List<CourseUnit> units) throws JSONException, 1.5.0/docs/api/java/io/IOException.html">IOException { |
357 | public List<DocumentSection> updateCleanCourseUnitSections(1.5.0/docs/api/java/lang/String.html">String courseCode, 1.5.0/docs/api/java/lang/String.html">String year, ReportCourseDocument reportCourseDocument) throws JSONException, 1.5.0/docs/api/java/io/IOException.html">IOException { |
- | 358 | ||
- | 359 | List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadByCourseSiges(courseCode, year); |
|
- | 360 | ||
352 | 1.5.0/docs/api/java/lang/String.html">String courseUnitSectionsJson = loadCourseEvaluationSections(courseCode,year); |
361 | 1.5.0/docs/api/java/lang/String.html">String courseUnitSectionsJson = loadCourseEvaluationSections(courseCode,year); |
353 | JSONObject object = new JSONObject(courseUnitSectionsJson); |
362 | JSONObject object = new JSONObject(courseUnitSectionsJson); |
354 | JSONArray evaluations = object.getJSONArray("evaluations"); |
363 | JSONArray evaluations = object.getJSONArray("evaluations"); |
355 | CourseUnitSection[] courseUnitSections = CourseUnitSection.fromJsonArray(evaluations.toString()); |
364 | CourseUnitSection[] courseUnitSections = CourseUnitSection.fromJsonArray(evaluations.toString()); |
356 | 365 | ||
Line 362... | Line 371... | ||
362 | CourseUnitSection sectionFound = CourseReportUtils.findCourseUnitSection(courseUnitSections, (CourseUnitImpl) cu); |
371 | CourseUnitSection sectionFound = CourseReportUtils.findCourseUnitSection(courseUnitSections, (CourseUnitImpl) cu); |
363 | if(sectionFound == null) |
372 | if(sectionFound == null) |
364 | { |
373 | { |
365 | sectionFound = CourseReportUtils.createCourseUnitEvaluationSection((CourseUnitImpl) cu); |
374 | sectionFound = CourseReportUtils.createCourseUnitEvaluationSection((CourseUnitImpl) cu); |
366 | } |
375 | } |
- | 376 | if(sectionFound.getCourseUnitEvaluation() == null) |
|
- | 377 | { |
|
- | 378 | CourseUnitEvaluationImpl courseUnitEvaluation = DomainObjectFactory.createCourseUnitEvaluationImpl(); |
|
- | 379 | courseUnitEvaluation.setAutoGeneratedCourseReport(true); |
|
- | 380 | DaoFactory.getCourseUnitEvaluationDaoImpl().save(courseUnitEvaluation); |
|
- | 381 | cu.setCourseUnitEvaluation(courseUnitEvaluation); |
|
- | 382 | sectionFound.setCourseUnitEvaluation(courseUnitEvaluation); |
|
- | 383 | } |
|
367 | unitReportsSection.getSubSections().add(sectionFound); |
384 | unitReportsSection.getSubSections().add(sectionFound); |
368 | } |
385 | } |
369 | return subSections; |
386 | return subSections; |
370 | } |
387 | } |
371 | 388 | ||
372 | 389 | ||
373 | 390 | ||
374 | public static void main(1.5.0/docs/api/java/lang/String.html">String[] args) throws 1.5.0/docs/api/java/io/IOException.html">IOException, JSONException { |
391 | public static void main(1.5.0/docs/api/java/lang/String.html">String[] args) throws 1.5.0/docs/api/java/io/IOException.html">IOException, JSONException { |
375 | AbstractDao.getCurrentSession().beginTransaction(); |
392 | AbstractDao.getCurrentSession().beginTransaction(); |
376 | 393 | ||
377 | ReportCourseDocument reportCourseDocument = new CourseReportServices().createNewCourseReportDocument("9119","201516"); |
394 | ReportCourseDocument reportCourseDocument = new CourseReportServices().createNewCourseReportDocument("9005","201516"); |
378 | 1.5.0/docs/api/java/lang/System.html">System.out.println(reportCourseDocument.toJson()); |
395 | 1.5.0/docs/api/java/lang/System.html">System.out.println(reportCourseDocument.toJson()); |
379 | AbstractDao.getCurrentSession().getTransaction().commit(); |
396 | AbstractDao.getCurrentSession().getTransaction().commit(); |
380 | } |
397 | } |
381 | 398 | ||
382 | /* |
399 | /* |