8,7 → 8,9 |
import org.json.JSONException; |
import org.json.JSONObject; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.CourseUnitEvaluationImpl; |
import pt.estgp.estgweb.domain.CourseUnitImpl; |
import pt.estgp.estgweb.domain.DomainObjectFactory; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.services.courses.coursereport.CourseReportUtils; |
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.*; |
110,13 → 112,14 |
ReportCourseDocument reportCourseDocument = new ReportCourseDocument(); |
reportCourseDocument.init(); |
|
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadByCourseSiges(courseCode, year); |
|
//FIRST SERVICE TO CALL TO OBTAIN UNITS AND EVALUATIONS |
//THIS IS THE BASE FOR THE REMAIN SERVICE CALLS |
List<DocumentSection> courseUnitSections = updateCleanCourseUnitSections(courseCode, year, reportCourseDocument, units); |
List<DocumentSection> courseUnitSections = updateCleanCourseUnitSections(courseCode, year, reportCourseDocument); |
|
//A tabela de resultados globais não vai ser utilizada |
//PARA CORRER ESTE SERVICO A PARTIR DA INTERFACE É PRECISO |
//PERCEBER QUE DEPENDE DO SERVICO DE UPDATE DAS SECOES DAS COURSEUNITS |
UnitsLearningResultsTable unitsLearningResultsTable = updateCleanLearningResultsFromCourseUnitsSections(reportCourseDocument); |
|
|
152,7 → 155,8 |
* @param reportCourseDocument |
* @return UnitsLearningResultsTable |
*/ |
public UnitsLearningResultsTable updateCleanLearningResultsFromCourseUnitsSections(ReportCourseDocument reportCourseDocument) { |
public UnitsLearningResultsTable updateCleanLearningResultsFromCourseUnitsSections(ReportCourseDocument reportCourseDocument) |
{ |
CourseUnitsReportsSection unitReportsSection = (CourseUnitsReportsSection) reportCourseDocument.findDocumentSection(CourseUnitsReportsSection.class); |
|
LearningResultsSection learningResultsSection = (LearningResultsSection) reportCourseDocument.findDocumentSection(LearningResultsSection.class); |
187,8 → 191,9 |
uc.setSigesCode(unitSection.getSigesCode()); |
if(unitSection.getCourseUnitEvaluation() != null) |
{ |
uc.setAlunosInscritos(Integer.parseInt(unitSection.getCourseUnitEvaluation().getNumAlunosInscritos())); |
|
uc.setAlunosInscritos(unitSection.getCourseUnitEvaluation().getNumAlunosInscritos()); |
|
uc.setAprovados1013(unitSection.getCourseUnitEvaluation().getNumAlunosAprov1013()); |
uc.setAprovados1416(unitSection.getCourseUnitEvaluation().getNumAlunosAprov1416()); |
uc.setAprovados1720(unitSection.getCourseUnitEvaluation().getNumAlunosAprov1720()); |
230,6 → 235,8 |
}); |
} |
|
|
//UPDATE TOTAIS DE SEMESTRES E DE ANOS |
float totalCumProgPercentGlobal = 0; |
int totalInscritosGlobal = 0; |
float totalReprovadosPercentGlobal = 0; |
343,12 → 350,14 |
* @param courseCode |
* @param year |
* @param reportCourseDocument |
* @param units |
* @throws JSONException |
* @throws IOException |
* @return a list of CourseUnitSection |
*/ |
public List<DocumentSection> updateCleanCourseUnitSections(String courseCode, String year, ReportCourseDocument reportCourseDocument, List<CourseUnit> units) throws JSONException, IOException { |
public List<DocumentSection> updateCleanCourseUnitSections(String courseCode, String year, ReportCourseDocument reportCourseDocument) throws JSONException, IOException { |
|
List<CourseUnit> units = DaoFactory.getCourseUnitDaoImpl().loadByCourseSiges(courseCode, year); |
|
String courseUnitSectionsJson = loadCourseEvaluationSections(courseCode,year); |
JSONObject object = new JSONObject(courseUnitSectionsJson); |
JSONArray evaluations = object.getJSONArray("evaluations"); |
364,6 → 373,14 |
{ |
sectionFound = CourseReportUtils.createCourseUnitEvaluationSection((CourseUnitImpl) cu); |
} |
if(sectionFound.getCourseUnitEvaluation() == null) |
{ |
CourseUnitEvaluationImpl courseUnitEvaluation = DomainObjectFactory.createCourseUnitEvaluationImpl(); |
courseUnitEvaluation.setAutoGeneratedCourseReport(true); |
DaoFactory.getCourseUnitEvaluationDaoImpl().save(courseUnitEvaluation); |
cu.setCourseUnitEvaluation(courseUnitEvaluation); |
sectionFound.setCourseUnitEvaluation(courseUnitEvaluation); |
} |
unitReportsSection.getSubSections().add(sectionFound); |
} |
return subSections; |
374,7 → 391,7 |
public static void main(String[] args) throws IOException, JSONException { |
AbstractDao.getCurrentSession().beginTransaction(); |
|
ReportCourseDocument reportCourseDocument = new CourseReportServices().createNewCourseReportDocument("9119","201516"); |
ReportCourseDocument reportCourseDocument = new CourseReportServices().createNewCourseReportDocument("9005","201516"); |
System.out.println(reportCourseDocument.toJson()); |
AbstractDao.getCurrentSession().getTransaction().commit(); |
} |