Search in sources :

Example 1 with StudentStudyEndReason

use of fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason in project pyramus by otavanopisto.

the class StudentsService method createStudent.

public StudentEntity createStudent(@WebParam(name = "abstractStudentId") Long abstractStudentId, @WebParam(name = "firstName") String firstName, @WebParam(name = "lastName") String lastName, @WebParam(name = "nickname") String nickname, @WebParam(name = "phone") String phone, @WebParam(name = "additionalInfo") String additionalInfo, @WebParam(name = "parentalInfo") String parentalInfo, @WebParam(name = "studyTimeEnd") Date studyTimeEnd, @WebParam(name = "activityTypeId") Long activityTypeId, @WebParam(name = "examinationTypeId") Long examinationTypeId, @WebParam(name = "educationalLevelId") Long educationalLevelId, @WebParam(name = "education") String education, @WebParam(name = "nationalityId") Long nationalityId, @WebParam(name = "municipalityId") Long municipalityId, @WebParam(name = "languageId") Long languageId, @WebParam(name = "schoolId") Long schoolId, @WebParam(name = "studyProgrammeId") Long studyProgrammeId, @WebParam(name = "previousStudies") Double previousStudies, @WebParam(name = "studyStartDate") Date studyStartDate, @WebParam(name = "studyEndDate") Date studyEndDate, @WebParam(name = "studyEndReasonId") Long studyEndReasonId, @WebParam(name = "studyEndText") String studyEndText, @WebParam(name = "lodging") Boolean lodging) {
    StudentDAO studentDAO = DAOFactory.getInstance().getStudentDAO();
    PersonDAO personDAO = DAOFactory.getInstance().getPersonDAO();
    StudentActivityTypeDAO activityTypeDAO = DAOFactory.getInstance().getStudentActivityTypeDAO();
    StudentExaminationTypeDAO examinationTypeDAO = DAOFactory.getInstance().getStudentExaminationTypeDAO();
    StudentEducationalLevelDAO educationalLevelDAO = DAOFactory.getInstance().getStudentEducationalLevelDAO();
    StudentStudyEndReasonDAO studyEndReasonDAO = DAOFactory.getInstance().getStudentStudyEndReasonDAO();
    LanguageDAO languageDAO = DAOFactory.getInstance().getLanguageDAO();
    MunicipalityDAO municipalityDAO = DAOFactory.getInstance().getMunicipalityDAO();
    NationalityDAO nationalityDAO = DAOFactory.getInstance().getNationalityDAO();
    SchoolDAO schoolDAO = DAOFactory.getInstance().getSchoolDAO();
    StudyProgrammeDAO studyProgrammeDAO = DAOFactory.getInstance().getStudyProgrammeDAO();
    ContactInfoDAO contactInfoDAO = DAOFactory.getInstance().getContactInfoDAO();
    PhoneNumberDAO phoneNumberDAO = DAOFactory.getInstance().getPhoneNumberDAO();
    ContactTypeDAO contactTypeDAO = DAOFactory.getInstance().getContactTypeDAO();
    StudentLodgingPeriodDAO studentLodgingPeriodDAO = DAOFactory.getInstance().getStudentLodgingPeriodDAO();
    Person person = personDAO.findById(abstractStudentId);
    Nationality nationality = nationalityId == null ? null : nationalityDAO.findById(nationalityId);
    Municipality municipality = municipalityId == null ? null : municipalityDAO.findById(municipalityId);
    Language language = languageId == null ? null : languageDAO.findById(languageId);
    StudentActivityType activityType = activityTypeId == null ? null : activityTypeDAO.findById(activityTypeId);
    StudentExaminationType examinationType = examinationTypeId == null ? null : examinationTypeDAO.findById(examinationTypeId);
    StudentEducationalLevel educationalLevel = educationalLevelId == null ? null : educationalLevelDAO.findById(educationalLevelId);
    School school = schoolId == null ? null : schoolDAO.findById(schoolId);
    StudyProgramme studyProgramme = studyProgrammeId == null ? null : studyProgrammeDAO.findById(studyProgrammeId);
    StudentStudyEndReason studyEndReason = studyEndReasonId == null ? null : studyEndReasonDAO.findById(studyEndReasonId);
    firstName = StringUtils.trim(firstName);
    lastName = StringUtils.trim(lastName);
    nickname = StringUtils.trim(nickname);
    Student student = studentDAO.create(person, firstName, lastName, nickname, additionalInfo, studyTimeEnd, activityType, examinationType, educationalLevel, education, nationality, municipality, language, school, studyProgramme, null, previousStudies, studyStartDate, studyEndDate, studyEndReason, studyEndText, false);
    if (lodging && studyStartDate != null)
        studentLodgingPeriodDAO.create(student, studyStartDate, studyEndDate);
    if (phone != null) {
        ContactType contactType = contactTypeDAO.findById(new Long(1));
        phoneNumberDAO.create(student.getContactInfo(), contactType, Boolean.TRUE, phone);
    }
    contactInfoDAO.update(student.getContactInfo(), parentalInfo);
    // Default user
    personDAO.updateDefaultUser(person, student);
    validateEntity(student);
    return EntityFactoryVault.buildFromDomainObject(student);
}
Also used : PhoneNumberDAO(fi.otavanopisto.pyramus.dao.base.PhoneNumberDAO) ContactType(fi.otavanopisto.pyramus.domainmodel.base.ContactType) StudyProgramme(fi.otavanopisto.pyramus.domainmodel.base.StudyProgramme) StudentStudyEndReason(fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason) StudentStudyEndReasonDAO(fi.otavanopisto.pyramus.dao.students.StudentStudyEndReasonDAO) StudentEducationalLevel(fi.otavanopisto.pyramus.domainmodel.students.StudentEducationalLevel) StudentLodgingPeriodDAO(fi.otavanopisto.pyramus.dao.students.StudentLodgingPeriodDAO) PersonDAO(fi.otavanopisto.pyramus.dao.base.PersonDAO) School(fi.otavanopisto.pyramus.domainmodel.base.School) Language(fi.otavanopisto.pyramus.domainmodel.base.Language) MunicipalityDAO(fi.otavanopisto.pyramus.dao.base.MunicipalityDAO) StudentEducationalLevelDAO(fi.otavanopisto.pyramus.dao.students.StudentEducationalLevelDAO) SchoolDAO(fi.otavanopisto.pyramus.dao.base.SchoolDAO) ContactTypeDAO(fi.otavanopisto.pyramus.dao.base.ContactTypeDAO) StudentExaminationTypeDAO(fi.otavanopisto.pyramus.dao.students.StudentExaminationTypeDAO) Municipality(fi.otavanopisto.pyramus.domainmodel.base.Municipality) StudentExaminationType(fi.otavanopisto.pyramus.domainmodel.students.StudentExaminationType) LanguageDAO(fi.otavanopisto.pyramus.dao.base.LanguageDAO) NationalityDAO(fi.otavanopisto.pyramus.dao.base.NationalityDAO) StudentActivityTypeDAO(fi.otavanopisto.pyramus.dao.students.StudentActivityTypeDAO) Student(fi.otavanopisto.pyramus.domainmodel.students.Student) StudyProgrammeDAO(fi.otavanopisto.pyramus.dao.base.StudyProgrammeDAO) Nationality(fi.otavanopisto.pyramus.domainmodel.base.Nationality) StudentDAO(fi.otavanopisto.pyramus.dao.students.StudentDAO) ContactInfoDAO(fi.otavanopisto.pyramus.dao.base.ContactInfoDAO) StudentActivityType(fi.otavanopisto.pyramus.domainmodel.students.StudentActivityType) Person(fi.otavanopisto.pyramus.domainmodel.base.Person)

Example 2 with StudentStudyEndReason

use of fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason in project pyramus by otavanopisto.

the class StudentsService method updateStudent.

public void updateStudent(@WebParam(name = "studentId") Long studentId, @WebParam(name = "firstName") String firstName, @WebParam(name = "lastName") String lastName, @WebParam(name = "nickname") String nickname, @WebParam(name = "phone") String phone, @WebParam(name = "additionalInfo") String additionalInfo, @WebParam(name = "parentalInfo") String parentalInfo, @WebParam(name = "studyTimeEnd") Date studyTimeEnd, @WebParam(name = "activityTypeId") Long activityTypeId, @WebParam(name = "examinationTypeId") Long examinationTypeId, @WebParam(name = "educationalLevelId") Long educationalLevelId, @WebParam(name = "education") String education, @WebParam(name = "nationalityId") Long nationalityId, @WebParam(name = "municipalityId") Long municipalityId, @WebParam(name = "languageId") Long languageId, @WebParam(name = "schoolId") Long schoolId, @WebParam(name = "studyProgrammeId") Long studyProgrammeId, @WebParam(name = "previousStudies") Double previousStudies, @WebParam(name = "studyStartDate") Date studyStartDate, @WebParam(name = "studyEndDate") Date studyEndDate, @WebParam(name = "studyEndReasonId") Long studyEndReasonId, @WebParam(name = "studyEndText") String studyEndText, @WebParam(name = "lodging") Boolean lodging) {
    // TODO Get rid of phone number and parental info
    StudentDAO studentDAO = DAOFactory.getInstance().getStudentDAO();
    StudentActivityTypeDAO activityTypeDAO = DAOFactory.getInstance().getStudentActivityTypeDAO();
    StudentExaminationTypeDAO examinationTypeDAO = DAOFactory.getInstance().getStudentExaminationTypeDAO();
    StudentEducationalLevelDAO educationalLevelDAO = DAOFactory.getInstance().getStudentEducationalLevelDAO();
    StudentStudyEndReasonDAO studyEndReasonDAO = DAOFactory.getInstance().getStudentStudyEndReasonDAO();
    LanguageDAO languageDAO = DAOFactory.getInstance().getLanguageDAO();
    MunicipalityDAO municipalityDAO = DAOFactory.getInstance().getMunicipalityDAO();
    NationalityDAO nationalityDAO = DAOFactory.getInstance().getNationalityDAO();
    SchoolDAO schoolDAO = DAOFactory.getInstance().getSchoolDAO();
    StudyProgrammeDAO studyProgrammeDAO = DAOFactory.getInstance().getStudyProgrammeDAO();
    Student student = studentDAO.findById(studentId);
    Nationality nationality = nationalityId == null ? null : nationalityDAO.findById(nationalityId);
    Municipality municipality = municipalityId == null ? null : municipalityDAO.findById(municipalityId);
    Language language = languageId == null ? null : languageDAO.findById(languageId);
    StudentActivityType activityType = activityTypeId == null ? null : activityTypeDAO.findById(activityTypeId);
    StudentExaminationType examinationType = activityTypeId == null ? null : examinationTypeDAO.findById(examinationTypeId);
    StudentEducationalLevel educationalLevel = educationalLevelId == null ? null : educationalLevelDAO.findById(educationalLevelId);
    School school = schoolId == null ? null : schoolDAO.findById(schoolId);
    StudyProgramme studyProgramme = studyProgrammeId == null ? null : studyProgrammeDAO.findById(studyProgrammeId);
    StudentStudyEndReason studyEndReason = studyEndReasonId == null ? null : studyEndReasonDAO.findById(studyEndReasonId);
    Curriculum curriculum = student.getCurriculum();
    firstName = StringUtils.trim(firstName);
    lastName = StringUtils.trim(lastName);
    nickname = StringUtils.trim(nickname);
    // TODO lodging cannot be updated with a single boolean (remove parameter)
    studentDAO.update(student, firstName, lastName, nickname, additionalInfo, studyTimeEnd, activityType, examinationType, educationalLevel, education, nationality, municipality, language, school, studyProgramme, curriculum, previousStudies, studyStartDate, studyEndDate, studyEndReason, studyEndText);
    validateEntity(student);
}
Also used : StudentExaminationTypeDAO(fi.otavanopisto.pyramus.dao.students.StudentExaminationTypeDAO) Municipality(fi.otavanopisto.pyramus.domainmodel.base.Municipality) StudyProgramme(fi.otavanopisto.pyramus.domainmodel.base.StudyProgramme) StudentExaminationType(fi.otavanopisto.pyramus.domainmodel.students.StudentExaminationType) StudentStudyEndReason(fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason) StudentStudyEndReasonDAO(fi.otavanopisto.pyramus.dao.students.StudentStudyEndReasonDAO) LanguageDAO(fi.otavanopisto.pyramus.dao.base.LanguageDAO) NationalityDAO(fi.otavanopisto.pyramus.dao.base.NationalityDAO) StudentActivityTypeDAO(fi.otavanopisto.pyramus.dao.students.StudentActivityTypeDAO) Student(fi.otavanopisto.pyramus.domainmodel.students.Student) StudentEducationalLevel(fi.otavanopisto.pyramus.domainmodel.students.StudentEducationalLevel) StudyProgrammeDAO(fi.otavanopisto.pyramus.dao.base.StudyProgrammeDAO) Nationality(fi.otavanopisto.pyramus.domainmodel.base.Nationality) StudentDAO(fi.otavanopisto.pyramus.dao.students.StudentDAO) School(fi.otavanopisto.pyramus.domainmodel.base.School) Language(fi.otavanopisto.pyramus.domainmodel.base.Language) StudentActivityType(fi.otavanopisto.pyramus.domainmodel.students.StudentActivityType) MunicipalityDAO(fi.otavanopisto.pyramus.dao.base.MunicipalityDAO) StudentEducationalLevelDAO(fi.otavanopisto.pyramus.dao.students.StudentEducationalLevelDAO) Curriculum(fi.otavanopisto.pyramus.domainmodel.base.Curriculum) SchoolDAO(fi.otavanopisto.pyramus.dao.base.SchoolDAO)

Example 3 with StudentStudyEndReason

use of fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason in project pyramus by otavanopisto.

the class StudentsService method endStudentStudies.

public void endStudentStudies(@WebParam(name = "studentId") Long studentId, @WebParam(name = "endDate") Date endDate, @WebParam(name = "endReasonId") Long endReasonId, @WebParam(name = "endReasonText") String endReasonText) {
    StudentDAO studentDAO = DAOFactory.getInstance().getStudentDAO();
    StudentStudyEndReasonDAO endReasonDAO = DAOFactory.getInstance().getStudentStudyEndReasonDAO();
    Student student = studentDAO.findById(studentId);
    if (student != null) {
        StudentStudyEndReason endReason = endReasonId == null ? null : endReasonDAO.findById(endReasonId);
        studentDAO.endStudentStudies(student, endDate, endReason, endReasonText);
    }
}
Also used : StudentDAO(fi.otavanopisto.pyramus.dao.students.StudentDAO) StudentStudyEndReason(fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason) StudentStudyEndReasonDAO(fi.otavanopisto.pyramus.dao.students.StudentStudyEndReasonDAO) Student(fi.otavanopisto.pyramus.domainmodel.students.Student)

Example 4 with StudentStudyEndReason

use of fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason in project pyramus by otavanopisto.

the class EditStudyEndReasonPropertiesDialogViewController method process.

public void process(PageRequestContext requestContext) {
    StudentStudyEndReasonDAO studentStudyEndReasonDAO = DAOFactory.getInstance().getStudentStudyEndReasonDAO();
    Long studyEndReasonId = requestContext.getLong("studyEndReasonId");
    StudentStudyEndReason studyEndReason = studentStudyEndReasonDAO.findById(studyEndReasonId);
    JSONArray propertiesJSON = new JSONArray();
    for (EntityProperty prop : StudentStudyEndReasonProperties.listProperties()) {
        String value = studyEndReason.getProperties().get(prop.getKey());
        JSONObject propertyJSON = new JSONObject();
        propertyJSON.put("type", prop.getType());
        propertyJSON.put("name", Messages.getInstance().getText(requestContext.getRequest().getLocale(), prop.getLocaleKey()));
        propertyJSON.put("key", prop.getKey());
        propertyJSON.put("value", value != null ? value : "");
        propertiesJSON.add(propertyJSON);
    }
    setJsDataVariable(requestContext, "properties", propertiesJSON.toString());
    requestContext.getRequest().setAttribute("studyEndReason", studyEndReason);
    requestContext.setIncludeJSP("/templates/settings/editstudyendreasonpropertiesdialog.jsp");
}
Also used : EntityProperty(fi.otavanopisto.pyramus.framework.EntityProperty) JSONObject(net.sf.json.JSONObject) StudentStudyEndReason(fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason) JSONArray(net.sf.json.JSONArray) StudentStudyEndReasonDAO(fi.otavanopisto.pyramus.dao.students.StudentStudyEndReasonDAO)

Example 5 with StudentStudyEndReason

use of fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason in project pyramus by otavanopisto.

the class StudyEndReasonsViewController method process.

@Override
public void process(PageRequestContext pageRequestContext) {
    StudentStudyEndReasonDAO studentStudyEndReasonDAO = DAOFactory.getInstance().getStudentStudyEndReasonDAO();
    StudentDAO studentDAO = DAOFactory.getInstance().getStudentDAO();
    List<StudentStudyEndReason> studyEndReasons = studentStudyEndReasonDAO.listAll();
    JSONArray jsonStudyEndReasons = new JSONArray();
    JSONArray jsonReasonsInUse = new JSONArray();
    for (StudentStudyEndReason reason : studyEndReasons) {
        JSONObject jsonReason = new JSONObject();
        jsonReason.put("id", reason.getId());
        jsonReason.put("name", reason.getName());
        if (reason.getParentReason() != null) {
            jsonReason.put("parentId", reason.getParentReason().getId());
        }
        jsonStudyEndReasons.add(jsonReason);
    }
    for (StudentStudyEndReason reason : studyEndReasons) {
        if (studentDAO.countByStudyEndReason(reason) > 0) {
            JSONObject jsonReason = new JSONObject();
            jsonReason.put("id", reason.getId());
            jsonReasonsInUse.add(jsonReason);
        }
    }
    this.setJsDataVariable(pageRequestContext, "studyEndReasons", jsonStudyEndReasons.toString());
    this.setJsDataVariable(pageRequestContext, "reasonsInUse", jsonReasonsInUse.toString());
    pageRequestContext.setIncludeJSP("/templates/settings/studyendreasons.jsp");
}
Also used : StudentDAO(fi.otavanopisto.pyramus.dao.students.StudentDAO) JSONObject(net.sf.json.JSONObject) StudentStudyEndReason(fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason) JSONArray(net.sf.json.JSONArray) StudentStudyEndReasonDAO(fi.otavanopisto.pyramus.dao.students.StudentStudyEndReasonDAO)

Aggregations

StudentStudyEndReason (fi.otavanopisto.pyramus.domainmodel.students.StudentStudyEndReason)24 StudentStudyEndReasonDAO (fi.otavanopisto.pyramus.dao.students.StudentStudyEndReasonDAO)11 Student (fi.otavanopisto.pyramus.domainmodel.students.Student)11 Language (fi.otavanopisto.pyramus.domainmodel.base.Language)10 Municipality (fi.otavanopisto.pyramus.domainmodel.base.Municipality)10 Nationality (fi.otavanopisto.pyramus.domainmodel.base.Nationality)10 School (fi.otavanopisto.pyramus.domainmodel.base.School)10 StudentActivityType (fi.otavanopisto.pyramus.domainmodel.students.StudentActivityType)10 StudentEducationalLevel (fi.otavanopisto.pyramus.domainmodel.students.StudentEducationalLevel)10 StudentExaminationType (fi.otavanopisto.pyramus.domainmodel.students.StudentExaminationType)10 StudentDAO (fi.otavanopisto.pyramus.dao.students.StudentDAO)9 Person (fi.otavanopisto.pyramus.domainmodel.base.Person)9 StudyProgramme (fi.otavanopisto.pyramus.domainmodel.base.StudyProgramme)9 Curriculum (fi.otavanopisto.pyramus.domainmodel.base.Curriculum)7 PersonDAO (fi.otavanopisto.pyramus.dao.base.PersonDAO)6 ContactInfoDAO (fi.otavanopisto.pyramus.dao.base.ContactInfoDAO)5 EmailDAO (fi.otavanopisto.pyramus.dao.base.EmailDAO)5 PhoneNumberDAO (fi.otavanopisto.pyramus.dao.base.PhoneNumberDAO)5 StudyProgrammeDAO (fi.otavanopisto.pyramus.dao.base.StudyProgrammeDAO)5 ContactType (fi.otavanopisto.pyramus.domainmodel.base.ContactType)5