Subversion Repositories bacoAlunos

Rev

Rev 1837 | Rev 1842 | Go to most recent revision | Show entire file | Ignore 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
    /*