Search in sources :

Example 1 with Campagne

use of fr.univlorraine.ecandidat.entities.ecandidat.Campagne in project esup-ecandidat by EsupPortail.

the class CacheController method getCampagneEnService.

/**
 * @return la campagne en service du cache
 */
public Campagne getCampagneEnService() {
    final Campagne campagne = mapCache.getFromCache(ConstanteUtils.CACHE_CAMP, Campagne.class);
    if (campagne == null) {
        final Campagne campagneLoad = campagneController.getCampagneEnServiceToCache();
        mapCache.putToCache(ConstanteUtils.CACHE_CAMP, campagneLoad, Campagne.class);
        return campagneLoad;
    } else {
        return campagne;
    }
}
Also used : Campagne(fr.univlorraine.ecandidat.entities.ecandidat.Campagne)

Example 2 with Campagne

use of fr.univlorraine.ecandidat.entities.ecandidat.Campagne in project esup-ecandidat by EsupPortail.

the class CampagneController method archiveCampagne.

/**
 * Archive une campagne et active l'autre
 *
 * @param batchHisto
 */
public void archiveCampagne(final BatchHisto batchHisto) {
    batchController.addDescription(batchHisto, "Lancement du batch d'archivage de campagne");
    List<Campagne> listeCampagne = campagneRepository.findByDatActivatEffecCampIsNullAndDatActivatPrevCampIsNotNull();
    listeCampagne.forEach(campagne -> {
        if (campagne.getDatActivatPrevCamp().isBefore(LocalDateTime.now())) {
            batchController.addDescription(batchHisto, "Activation campagne : " + campagne);
            batchController.addDescription(batchHisto, "Archivage des candidatures pour la campagne : " + campagne.getCampagneArchiv());
            // On place les dates des formations dans les candidatures
            // candidatureController.archiveCandidatureDateFormation(campagne.getCampagneArchiv());
            List<Candidature> liste = candidatureRepository.findByCandidatCompteMinimaCampagne(campagne.getCampagneArchiv());
            Integer i = 0;
            Integer cpt = 0;
            for (Candidature candidature : liste) {
                candidature.setDatAnalyseForm(candidature.getFormation().getDatAnalyseForm());
                candidature.setDatConfirmForm(candidature.getFormation().getDatConfirmForm());
                candidature.setDelaiConfirmForm(candidature.getFormation().getDelaiConfirmForm());
                candidature.setDatDebDepotForm(candidature.getFormation().getDatDebDepotForm());
                candidature.setDatFinDepotForm(candidature.getFormation().getDatFinDepotForm());
                candidature.setDatRetourForm(candidature.getFormation().getDatRetourForm());
                candidature.setDatPubliForm(candidature.getFormation().getDatPubliForm());
                candidature.setDatJuryForm(candidature.getFormation().getDatJuryForm());
                candidatureRepository.save(candidature);
                i++;
                cpt++;
                if (i.equals(1000)) {
                    batchController.addDescription(batchHisto, "Archivage des candidatures : mise à jour des dates de formation pour " + cpt + " candidatures ok");
                    i = 0;
                }
            }
            campagne.setDatActivatEffecCamp(LocalDateTime.now());
            campagne.setTesCamp(true);
            campagne = campagneRepository.save(campagne);
            campagne.getCampagneArchiv().setDatArchivCamp(LocalDateTime.now());
            campagne.getCampagneArchiv().setTesCamp(false);
            campagneRepository.save(campagne.getCampagneArchiv());
            cacheController.reloadCampagneEnService(true);
            batchController.addDescription(batchHisto, "Activation campagne terminé : " + campagne);
        }
    });
    batchController.addDescription(batchHisto, "Fin batch d'archivage de campagne");
}
Also used : Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) Campagne(fr.univlorraine.ecandidat.entities.ecandidat.Campagne)

Example 3 with Campagne

use of fr.univlorraine.ecandidat.entities.ecandidat.Campagne in project esup-ecandidat by EsupPortail.

the class CandidatController method saveCompteMinima.

/**
 * Enregistre un compte à minima
 * @param  cptMin
 * @return        le compte enregistré
 */
private CompteMinima saveCompteMinima(CompteMinima cptMin) {
    // Generateur de mot de passe
    final PasswordHashService passwordHashUtils = PasswordHashService.getCurrentImplementation();
    final Campagne campagne = campagneController.getCampagneActive();
    if (campagne == null) {
        Notification.show(applicationContext.getMessage("compteMinima.camp.error", null, UI.getCurrent().getLocale()), Type.ERROR_MESSAGE);
        return null;
    }
    cptMin.setCampagne(campagne);
    final String prefix = parametreController.getPrefixeNumDossCpt();
    Integer sizeNumDossier = ConstanteUtils.GEN_SIZE;
    if (prefix != null) {
        sizeNumDossier = sizeNumDossier - prefix.length();
    }
    String numDossierGenere = passwordHashUtils.generateRandomPassword(sizeNumDossier, ConstanteUtils.GEN_NUM_DOSS);
    while (isNumDossierExist(numDossierGenere)) {
        numDossierGenere = passwordHashUtils.generateRandomPassword(sizeNumDossier, ConstanteUtils.GEN_NUM_DOSS);
    }
    if (prefix != null) {
        numDossierGenere = prefix + numDossierGenere;
    }
    cptMin.setNumDossierOpiCptMin(numDossierGenere);
    final String pwd = passwordHashUtils.generateRandomPassword(ConstanteUtils.GEN_SIZE, ConstanteUtils.GEN_PWD);
    try {
        cptMin.setPwdCptMin(passwordHashUtils.createHash(pwd));
        cptMin.setTypGenCptMin(passwordHashUtils.getType());
    } catch (final CustomException e) {
        Notification.show(applicationContext.getMessage("compteMinima.pwd.error", null, UI.getCurrent().getLocale()), Type.ERROR_MESSAGE);
        return null;
    }
    /* La date avant destruction */
    LocalDateTime datValid = LocalDateTime.now();
    final Integer nbJourToKeep = parametreController.getNbJourKeepCptMin();
    datValid = datValid.plusDays(nbJourToKeep);
    datValid = LocalDateTime.of(datValid.getYear(), datValid.getMonth(), datValid.getDayOfMonth(), 23, 0, 0);
    cptMin.setDatFinValidCptMin(datValid);
    try {
        cptMin = saveBaseCompteMinima(cptMin, campagne);
    } catch (final Exception ex) {
        logger.error(applicationContext.getMessage("compteMinima.numdossier.error", null, UI.getCurrent().getLocale()) + " numDossier=" + numDossierGenere, ex);
        Notification.show(applicationContext.getMessage("compteMinima.numdossier.error", null, UI.getCurrent().getLocale()), Type.ERROR_MESSAGE);
        return null;
    }
    final CptMinMailBean mailBean = new CptMinMailBean(cptMin.getPrenomCptMin(), cptMin.getNomCptMin(), cptMin.getNumDossierOpiCptMin(), pwd, getLienValidation(numDossierGenere), campagneController.getLibelleCampagne(cptMin.getCampagne(), getCodLangueCptMin(cptMin)), formatterDate.format(cptMin.getDatFinValidCptMin()));
    mailController.sendMailByCod(cptMin.getMailPersoCptMin(), NomenclatureUtils.MAIL_CPT_MIN, mailBean, null, getCodLangueCptMin(cptMin));
    Notification.show(applicationContext.getMessage("compteMinima.create.success", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
    return cptMin;
}
Also used : LocalDateTime(java.time.LocalDateTime) CptMinMailBean(fr.univlorraine.ecandidat.utils.bean.mail.CptMinMailBean) PasswordHashService(fr.univlorraine.ecandidat.services.security.PasswordHashService) CustomException(fr.univlorraine.ecandidat.utils.CustomException) Campagne(fr.univlorraine.ecandidat.entities.ecandidat.Campagne) CustomException(fr.univlorraine.ecandidat.utils.CustomException) SiScolException(fr.univlorraine.ecandidat.services.siscol.SiScolException)

Example 4 with Campagne

use of fr.univlorraine.ecandidat.entities.ecandidat.Campagne in project esup-ecandidat by EsupPortail.

the class CandidatController method isINEPresent.

/**
 * Verifie que l'INE saisi n'est pas déjà existant
 * @param  ineValue
 * @param  candidat
 * @return          true si présent, false sinon
 */
public Boolean isINEPresent(final String ineValue, final String cleIneValue, final Candidat candidat) {
    if (ineValue == null || ineValue.equals("")) {
        return false;
    } else {
        final Campagne campagneEnCours = campagneController.getCampagneActive();
        if (campagneEnCours == null) {
            return false;
        }
        final List<Candidat> liste = candidatRepository.findByIneCandidatIgnoreCaseAndCleIneCandidatIgnoreCaseAndCompteMinimaCampagneCodCamp(ineValue, cleIneValue, campagneEnCours.getCodCamp());
        if (liste.size() > 0) {
            if (candidat.getIdCandidat() == null) {
                Notification.show(applicationContext.getMessage("infoperso.ine.allready.present", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
                return true;
            }
            final Optional<Candidat> candOpt = liste.stream().filter(e -> !e.getIdCandidat().equals(candidat.getIdCandidat())).findAny();
            if (candOpt.isPresent()) {
                Notification.show(applicationContext.getMessage("infoperso.ine.allready.present", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
                return true;
            }
        }
    }
    return false;
}
Also used : Candidat(fr.univlorraine.ecandidat.entities.ecandidat.Candidat) LoggerFactory(org.slf4j.LoggerFactory) UI(com.vaadin.ui.UI) CompteMinimaRepository(fr.univlorraine.ecandidat.repositories.CompteMinimaRepository) CustomException(fr.univlorraine.ecandidat.utils.CustomException) CompteMinima(fr.univlorraine.ecandidat.entities.ecandidat.CompteMinima) CompteMinima_(fr.univlorraine.ecandidat.entities.ecandidat.CompteMinima_) BatchHisto(fr.univlorraine.ecandidat.entities.ecandidat.BatchHisto) PasswordHashService(fr.univlorraine.ecandidat.services.security.PasswordHashService) WSAdresse(fr.univlorraine.ecandidat.entities.siscol.WSAdresse) Campagne(fr.univlorraine.ecandidat.entities.ecandidat.Campagne) SimpleTablePresentation(fr.univlorraine.ecandidat.utils.bean.presentation.SimpleTablePresentation) InfoPersoListener(fr.univlorraine.ecandidat.utils.ListenerUtils.InfoPersoListener) ConstanteUtils(fr.univlorraine.ecandidat.utils.ConstanteUtils) MethodUtils(fr.univlorraine.ecandidat.utils.MethodUtils) Civilite(fr.univlorraine.ecandidat.entities.ecandidat.Civilite) Resource(javax.annotation.Resource) PageRequest(org.springframework.data.domain.PageRequest) SiScolException(fr.univlorraine.ecandidat.services.siscol.SiScolException) WSIndividu(fr.univlorraine.ecandidat.entities.siscol.WSIndividu) Base64(java.util.Base64) List(java.util.List) Type(com.vaadin.ui.Notification.Type) Adresse_(fr.univlorraine.ecandidat.entities.ecandidat.Adresse_) SiScolDepartement(fr.univlorraine.ecandidat.entities.ecandidat.SiScolDepartement) LocalDate(java.time.LocalDate) HistoNumDossier(fr.univlorraine.ecandidat.entities.ecandidat.HistoNumDossier) Optional(java.util.Optional) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) AdresseListener(fr.univlorraine.ecandidat.utils.ListenerUtils.AdresseListener) PjCand(fr.univlorraine.ecandidat.entities.ecandidat.PjCand) CptMinMailBean(fr.univlorraine.ecandidat.utils.bean.mail.CptMinMailBean) MainUI(fr.univlorraine.ecandidat.MainUI) SiScolGenericService(fr.univlorraine.ecandidat.services.siscol.SiScolGenericService) CandidatInfoPersoWindow(fr.univlorraine.ecandidat.views.windows.CandidatInfoPersoWindow) LocalDateTime(java.time.LocalDateTime) CandidatAdminWindow(fr.univlorraine.ecandidat.views.windows.CandidatAdminWindow) ArrayList(java.util.ArrayList) CandidatRepository(fr.univlorraine.ecandidat.repositories.CandidatRepository) SiScolPays(fr.univlorraine.ecandidat.entities.ecandidat.SiScolPays) CandidatAdminDeleteWindow(fr.univlorraine.ecandidat.views.windows.CandidatAdminDeleteWindow) CandidatAdresseWindow(fr.univlorraine.ecandidat.views.windows.CandidatAdresseWindow) PeopleLdap(fr.univlorraine.ecandidat.services.ldap.PeopleLdap) NomenclatureUtils(fr.univlorraine.ecandidat.utils.NomenclatureUtils) Notification(com.vaadin.ui.Notification) CandidatAdminListener(fr.univlorraine.ecandidat.utils.ListenerUtils.CandidatAdminListener) Candidat_(fr.univlorraine.ecandidat.entities.ecandidat.Candidat_) Adresse(fr.univlorraine.ecandidat.entities.ecandidat.Adresse) Logger(org.slf4j.Logger) HistoNumDossierRepository(fr.univlorraine.ecandidat.repositories.HistoNumDossierRepository) CandidatCompteMinimaWindow(fr.univlorraine.ecandidat.views.windows.CandidatCompteMinimaWindow) SiScolCommune(fr.univlorraine.ecandidat.entities.ecandidat.SiScolCommune) ApplicationContext(org.springframework.context.ApplicationContext) Component(org.springframework.stereotype.Component) DateTimeFormatter(java.time.format.DateTimeFormatter) Unit(com.vaadin.server.Sizeable.Unit) Candidat(fr.univlorraine.ecandidat.entities.ecandidat.Candidat) ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow) Transactional(org.springframework.transaction.annotation.Transactional) Campagne(fr.univlorraine.ecandidat.entities.ecandidat.Campagne)

Example 5 with Campagne

use of fr.univlorraine.ecandidat.entities.ecandidat.Campagne in project esup-ecandidat by EsupPortail.

the class CandidatureCtrCandController method getCandidatureByCentreCandidature.

/**
 * @param  commission
 * @return            les candidatures par commission
 */
/**
 * @param  ctrCand
 * @return         les candidatures par centre de candidature
 */
public List<Candidature> getCandidatureByCentreCandidature(final CentreCandidature ctrCand) {
    final Campagne campagneEnCours = campagneController.getCampagneActive();
    if (campagneEnCours == null) {
        return new ArrayList<>();
    }
    final List<Candidature> liste = candidatureRepository.findByFormationCommissionCentreCandidatureIdCtrCandAndCandidatCompteMinimaCampagneCodCampAndDatAnnulCandIsNull(ctrCand.getIdCtrCand(), campagneEnCours.getCodCamp());
    traiteListe(liste);
    return liste;
}
Also used : ArrayList(java.util.ArrayList) CentreCandidature(fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature) TypeDecisionCandidature(fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature) Candidature(fr.univlorraine.ecandidat.entities.ecandidat.Candidature) Campagne(fr.univlorraine.ecandidat.entities.ecandidat.Campagne)

Aggregations

Campagne (fr.univlorraine.ecandidat.entities.ecandidat.Campagne)30 ArrayList (java.util.ArrayList)11 Candidature (fr.univlorraine.ecandidat.entities.ecandidat.Candidature)10 TypeDecisionCandidature (fr.univlorraine.ecandidat.entities.ecandidat.TypeDecisionCandidature)9 Formation (fr.univlorraine.ecandidat.entities.ecandidat.Formation)7 LocalDateTime (java.time.LocalDateTime)7 CentreCandidature (fr.univlorraine.ecandidat.entities.ecandidat.CentreCandidature)6 LocalDate (java.time.LocalDate)6 NomenclatureUtils (fr.univlorraine.ecandidat.utils.NomenclatureUtils)5 DateTimeFormatter (java.time.format.DateTimeFormatter)5 List (java.util.List)5 Resource (javax.annotation.Resource)5 ApplicationContext (org.springframework.context.ApplicationContext)5 Component (org.springframework.stereotype.Component)5 Transactional (org.springframework.transaction.annotation.Transactional)5 UI (com.vaadin.ui.UI)4 CompteMinima (fr.univlorraine.ecandidat.entities.ecandidat.CompteMinima)4 FormationRepository (fr.univlorraine.ecandidat.repositories.FormationRepository)4 MethodUtils (fr.univlorraine.ecandidat.utils.MethodUtils)4 OnDemandFile (fr.univlorraine.ecandidat.vaadin.components.OnDemandFile)4