Search in sources :

Example 1 with SiScolException

use of fr.univlorraine.ecandidat.services.siscol.SiScolException in project esup-ecandidat by EsupPortail.

the class SiScolController method syncUtilisateurs.

/**
 * Synchronise les utilisateurs
 * @throws SiScolException
 */
private void syncUtilisateurs() throws SiScolException {
    final List<SiScolUtilisateur> listeSiScol = siScolService.getListSiScolUtilisateur();
    if (listeSiScol == null) {
        return;
    }
    siScolUtilisateurRepository.deleteAllInBatch();
    /* Erreur de duplicate entry a toulouse et rennes */
    Exception ex = null;
    Integer i = 1;
    for (final SiScolUtilisateur utilisateur : listeSiScol) {
        utilisateur.setIdUti(i);
        try {
            siScolUtilisateurRepository.saveAndFlush(utilisateur);
            i++;
        } catch (final Exception e) {
            ex = e;
        }
    }
    if (ex != null) {
        logger.error("Erreur a l'insertion des utilisateurs", ex);
    }
}
Also used : SiScolUtilisateur(fr.univlorraine.ecandidat.entities.ecandidat.SiScolUtilisateur) SiScolException(fr.univlorraine.ecandidat.services.siscol.SiScolException)

Example 2 with SiScolException

use of fr.univlorraine.ecandidat.services.siscol.SiScolException in project esup-ecandidat by EsupPortail.

the class OpiController method launchBatchAsyncOPIPj.

/**
 * Lance le batch de creation de PJ OPI asynchrone
 * @param batchHisto
 */
public void launchBatchAsyncOPIPj(final BatchHisto batchHisto) {
    final Campagne campagne = campagneController.getCampagneActive();
    if (campagne == null) {
        return;
    }
    final List<PjOpi> listePjOpi = pjOpiRepository.findByCandidatCompteMinimaCampagneIdCampAndDatDeversementIsNull(campagne.getIdCamp());
    batchController.addDescription(batchHisto, "Lancement batch, deversement de " + listePjOpi.size() + " PJOPI");
    Integer i = 0;
    Integer cpt = 0;
    Integer nbError = 0;
    for (final PjOpi pjOpi : listePjOpi) {
        try {
            deversePjOpi(pjOpi);
        } catch (final SiScolException e) {
            nbError++;
        }
        i++;
        cpt++;
        if (i.equals(ConstanteUtils.BATCH_LOG_NB_SHORT)) {
            batchController.addDescription(batchHisto, "Deversement de " + cpt + " PJOPI, dont " + nbError + " erreur(s)");
            i = 0;
        }
    }
    batchController.addDescription(batchHisto, "Fin batch, deversement de " + cpt + " PJOPI, dont " + nbError + " erreur(s)");
}
Also used : PjOpi(fr.univlorraine.ecandidat.entities.ecandidat.PjOpi) SiScolException(fr.univlorraine.ecandidat.services.siscol.SiScolException) Campagne(fr.univlorraine.ecandidat.entities.ecandidat.Campagne)

Example 3 with SiScolException

use of fr.univlorraine.ecandidat.services.siscol.SiScolException in project esup-ecandidat by EsupPortail.

the class CandidatInfoPersoWindow method initForm.

/**
 * Initialise le formulaire
 */
@SuppressWarnings("unchecked")
private void initForm() {
    final Candidat candidat = fieldGroup.getItemDataSource().getBean();
    /* Initialisation des champs */
    paysField = (ComboBoxPays) fieldGroup.getField(Candidat_.siScolPaysNaiss.getName());
    dptField = (ComboBoxDepartement) fieldGroup.getField(Candidat_.siScolDepartement.getName());
    nomPatCandidatField = (RequiredTextField) fieldGroup.getField(Candidat_.nomPatCandidat.getName());
    nomUsuCandidatField = (RequiredTextField) fieldGroup.getField(Candidat_.nomUsuCandidat.getName());
    prenomCandidatField = (RequiredTextField) fieldGroup.getField(Candidat_.prenomCandidat.getName());
    autrePrenCandidatField = (RequiredTextField) fieldGroup.getField(Candidat_.autrePrenCandidat.getName());
    libVilleNaissCandidatField = (RequiredTextField) fieldGroup.getField(Candidat_.libVilleNaissCandidat.getName());
    telCandidatField = (RequiredTextField) fieldGroup.getField(Candidat_.telCandidat.getName());
    telPortCandidatField = (RequiredTextField) fieldGroup.getField(Candidat_.telPortCandidat.getName());
    civiliteField = (RequiredComboBox<Civilite>) fieldGroup.getField(Candidat_.civilite.getName());
    datNaissCandidatField = (RequiredDateField) fieldGroup.getField(Candidat_.datNaissCandidat.getName());
    ineAndKeyField = (RequiredTextField) fieldGroup.getField(CHAMPS_INE_AND_FIELD);
    if (candidat.getIneCandidat() != null && candidat.getCleIneCandidat() != null) {
        ineAndKeyField.setValue(candidat.getIneCandidat() + candidat.getCleIneCandidat());
    }
    ineAndKeyField.setMaxLength(11);
    // cleIneField.setWidthUndefined();
    // ineField.setValue("1204014627");
    natField = (ComboBoxPays) fieldGroup.getField(Candidat_.siScolPaysNat.getName());
    /* No tel expression reguliere */
    final RegexpValidator telValidator = new RegexpValidator(ConstanteUtils.regExNoTel, applicationContext.getMessage("validation.error.tel", null, UI.getCurrent().getLocale()));
    telCandidatField.addValidator(telValidator);
    telPortCandidatField.addValidator(telValidator);
    // si le candidat à un INE null mais un supannEtuId, on va charger le candidat depuis apogee. Si on le trouve, on value l'INE et on bloque la saisie de l'INE
    if (candidat.getIneCandidat() == null && candidat.getCompteMinima().getSupannEtuIdCptMin() != null && !candidat.getCompteMinima().getSupannEtuIdCptMin().equals("")) {
        try {
            individuApogee = candidatController.recupInfoCandidat(candidat.getCompteMinima().getSupannEtuIdCptMin(), null, null);
            if (individuApogee != null && individuApogee.getCodNneInd() != null && individuApogee.getCodCleNneInd() != null) {
                ineAndKeyField.setValue(individuApogee.getCodNneInd() + individuApogee.getCodCleNneInd());
                ineAndKeyField.setEnabled(false);
            }
        } catch (final SiScolException e1) {
            Notification.show(applicationContext.getMessage("siscol.connect.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
            close();
        }
    // si le candidat à un INE et supannEtuId valué, on bloque la saisie de l'INE
    } else if (candidat.getIneCandidat() != null && !candidat.getIneCandidat().equals("") && candidat.getCompteMinima().getSupannEtuIdCptMin() != null && !candidat.getCompteMinima().getSupannEtuIdCptMin().equals("")) {
        ineAndKeyField.setEnabled(false);
    }
    /* ajout des listeners */
    /* Champs nationalité */
    natField.setToNationalite(applicationContext.getMessage("infoperso.table.siScolPaysNat.suggest", null, UI.getCurrent().getLocale()));
    /* natField.addValueChangeListener(e->{
		 * if (e.getProperty().getValue() instanceof SiScolPays){
		 * SiScolPays nationaliteSelected = (SiScolPays)e.getProperty().getValue() ;
		 * initNationalite(nationaliteSelected);
		 * }
		 * }); */
    /* Champs pays */
    paysField.addValueChangeListener(e -> {
        if (e.getProperty().getValue() instanceof SiScolPays) {
            final SiScolPays paysSelected = (SiScolPays) e.getProperty().getValue();
            initPays(paysSelected, dptField, null);
        }
    });
    /* Champs nationalité */
    if (candidat.getSiScolPaysNat() == null) {
        natField.setValue(cacheController.getPaysFrance());
    } else {
        natField.setValue(candidat.getSiScolPaysNat());
    // initNationalite(candidat.getSiScolPaysNat());
    }
    /* Champs pays */
    if (candidat.getSiScolPaysNaiss() == null) {
        paysField.setValue(cacheController.getPaysFrance());
    } else {
        paysField.setValue(candidat.getSiScolPaysNaiss());
        initPays(candidat.getSiScolPaysNaiss(), dptField, candidat.getSiScolDepartement());
    }
}
Also used : Candidat(fr.univlorraine.ecandidat.entities.ecandidat.Candidat) SiScolPays(fr.univlorraine.ecandidat.entities.ecandidat.SiScolPays) Civilite(fr.univlorraine.ecandidat.entities.ecandidat.Civilite) SiScolException(fr.univlorraine.ecandidat.services.siscol.SiScolException) RegexpValidator(com.vaadin.data.validator.RegexpValidator)

Example 4 with SiScolException

use of fr.univlorraine.ecandidat.services.siscol.SiScolException in project esup-ecandidat by EsupPortail.

the class CandidatPieceController method recordPjFromApo.

/**
 * Insere les nouvelles pièces
 * @param candidat
 * @throws SiScolException
 */
@Transactional(rollbackFor = SiScolException.class)
private void recordPjFromApo(final Candidat candidat) throws SiScolException {
    if (candidat == null || candidat.getCompteMinima().getSupannEtuIdCptMin() == null || !isWsPJEnable()) {
        return;
    }
    // on collecte les code Apogee de pieces et on constitue une liste de codeApogee distinct
    List<String> listeCodeApo = pieceJustifController.getAllPieceJustifs().stream().filter(piece -> piece.getCodApoPj() != null && !piece.getCodApoPj().equals("")).map(PieceJustif::getCodApoPj).distinct().collect(Collectors.toList());
    List<PjCandidat> liste = new ArrayList<>();
    // on ajoute ses nouvelles pieces
    for (String codeTpj : listeCodeApo) {
        WSPjInfo info = siScolService.getPjInfoFromApogee(null, candidat.getCompteMinima().getSupannEtuIdCptMin(), codeTpj);
        if (info != null) {
            PjCandidatPK pk = new PjCandidatPK(candidat.getIdCandidat(), info.getCodAnu(), info.getCodTpj());
            PjCandidat pjCandidat = new PjCandidat();
            pjCandidat.setId(pk);
            pjCandidat.setNomFicPjCandidat(info.getNomFic());
            pjCandidat.setCandidat(candidat);
            if (info.getDatExp() != null) {
                pjCandidat.setDatExpPjCandidat(LocalDateTime.parse(info.getDatExp(), formatterDateTimeApoWsPj));
            }
            if (MethodUtils.validateBean(pjCandidat, logger)) {
                liste.add(pjCandidatRepository.save(pjCandidat));
            } else {
                throw new SiScolException("Erreur de validation");
            }
        }
    }
    candidat.setPjCandidats(liste);
}
Also used : SiScolGenericService(fr.univlorraine.ecandidat.services.siscol.SiScolGenericService) PieceJustif(fr.univlorraine.ecandidat.entities.ecandidat.PieceJustif) LocalDateTime(java.time.LocalDateTime) LoggerFactory(org.slf4j.LoggerFactory) UI(com.vaadin.ui.UI) WSPjInfo(fr.univlorraine.ecandidat.entities.siscol.WSPjInfo) ArrayList(java.util.ArrayList) PjCandidatRepository(fr.univlorraine.ecandidat.repositories.PjCandidatRepository) PjCandidatPK(fr.univlorraine.ecandidat.entities.ecandidat.PjCandidatPK) Notification(com.vaadin.ui.Notification) CandidatAdminListener(fr.univlorraine.ecandidat.utils.ListenerUtils.CandidatAdminListener) CompteMinima(fr.univlorraine.ecandidat.entities.ecandidat.CompteMinima) Logger(org.slf4j.Logger) ConstanteUtils(fr.univlorraine.ecandidat.utils.ConstanteUtils) MethodUtils(fr.univlorraine.ecandidat.utils.MethodUtils) Resource(javax.annotation.Resource) SiScolException(fr.univlorraine.ecandidat.services.siscol.SiScolException) Collectors(java.util.stream.Collectors) ApplicationContext(org.springframework.context.ApplicationContext) PjCandidat(fr.univlorraine.ecandidat.entities.ecandidat.PjCandidat) List(java.util.List) Component(org.springframework.stereotype.Component) Type(com.vaadin.ui.Notification.Type) DateTimeFormatter(java.time.format.DateTimeFormatter) Optional(java.util.Optional) Candidat(fr.univlorraine.ecandidat.entities.ecandidat.Candidat) ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow) InputStream(java.io.InputStream) Transactional(org.springframework.transaction.annotation.Transactional) PjCandidat(fr.univlorraine.ecandidat.entities.ecandidat.PjCandidat) WSPjInfo(fr.univlorraine.ecandidat.entities.siscol.WSPjInfo) ArrayList(java.util.ArrayList) PieceJustif(fr.univlorraine.ecandidat.entities.ecandidat.PieceJustif) SiScolException(fr.univlorraine.ecandidat.services.siscol.SiScolException) PjCandidatPK(fr.univlorraine.ecandidat.entities.ecandidat.PjCandidatPK) Transactional(org.springframework.transaction.annotation.Transactional)

Example 5 with SiScolException

use of fr.univlorraine.ecandidat.services.siscol.SiScolException in project esup-ecandidat by EsupPortail.

the class CandidatController method synchronizeCandidat.

/**
 * Synchronise un compte candidat avec apogée
 * @param cptMin
 */
public void synchronizeCandidat(final CompteMinima cptMin, final CandidatAdminListener listener) {
    if (!parametreController.getSiScolMode().equals(ConstanteUtils.SI_SCOL_APOGEE)) {
        return;
    }
    final String lockError = getLockErrorFull(cptMin);
    if (lockError != null) {
        Notification.show(lockError, Type.WARNING_MESSAGE);
        return;
    }
    final ConfirmWindow win = new ConfirmWindow(applicationContext.getMessage("candidat.sync.apo.window", null, UI.getCurrent().getLocale()));
    win.addBtnOuiListener(e -> {
        Candidat candidat = cptMin.getCandidat();
        if (candidat == null) {
            candidat = new Candidat(cptMin, cacheController.getLangueDefault());
        }
        try {
            WSIndividu individu = null;
            if (cptMin != null && cptMin.getSupannEtuIdCptMin() != null && !cptMin.getSupannEtuIdCptMin().equals("")) {
                individu = recupInfoCandidat(cptMin.getSupannEtuIdCptMin(), null, null);
                if (individu != null && isINEPresent(individu.getCodNneInd(), individu.getCodCleNneInd(), candidat)) {
                    Notification.show(applicationContext.getMessage("infoperso.ine.allready.present", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
                    return;
                }
            } else if (candidat != null && candidat.getIneCandidat() != null && !candidat.getIneCandidat().equals("") && candidat.getCleIneCandidat() != null && !candidat.getCleIneCandidat().equals("")) {
                final String ine = candidat.getIneCandidat();
                final String cleIne = candidat.getCleIneCandidat();
                if (ine == null || ine.equals("") || cleIne == null || cleIne.equals("")) {
                    Notification.show(applicationContext.getMessage("candidat.sync.apo.ine.absent", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
                    return;
                }
                if (isINEPresent(ine, cleIne, candidat)) {
                    Notification.show(applicationContext.getMessage("infoperso.ine.allready.present", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
                    return;
                }
                individu = recupInfoCandidat(null, ine, cleIne);
            }
            if (individu != null) {
                candidat = getCandidatByApogeeData(individu, candidat);
                if (MethodUtils.validateBean(candidat, logger)) {
                    if (individu.getAdresse() != null) {
                        final Adresse adresse = getAdresseByApogeeData(individu.getAdresse());
                        if (MethodUtils.validateBean(adresse, logger)) {
                            final Adresse lastAdresse = candidat.getAdresse();
                            if (lastAdresse != null) {
                                adresse.setIdAdr(lastAdresse.getIdAdr());
                            }
                            candidat.setAdresse(adresse);
                        }
                    } else {
                        candidat.setAdresse(null);
                    }
                    candidat = saveCandidat(candidat, individu, listener);
                    candidatParcoursController.getBacByApogeeData(individu.getBac(), candidat, true);
                    if (parametreController.getIsGetCursusInterne()) {
                        candidatParcoursController.getCursusInterne(individu.getListCursusInterne(), candidat, true);
                    }
                } else {
                    Notification.show(applicationContext.getMessage("candidat.sync.apo.etu.nok", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
                    return;
                }
            } else {
                Notification.show(applicationContext.getMessage("candidat.sync.apo.etu.absent", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
                return;
            }
        } catch (final SiScolException f) {
            logger.error(applicationContext.getMessage("siscol.connect.error", null, UI.getCurrent().getLocale()), f);
            Notification.show(applicationContext.getMessage("siscol.connect.error", null, UI.getCurrent().getLocale()), Type.WARNING_MESSAGE);
        }
        Notification.show(applicationContext.getMessage("candidat.sync.apo.ok", null, UI.getCurrent().getLocale()), Type.TRAY_NOTIFICATION);
    });
    UI.getCurrent().addWindow(win);
}
Also used : Candidat(fr.univlorraine.ecandidat.entities.ecandidat.Candidat) WSAdresse(fr.univlorraine.ecandidat.entities.siscol.WSAdresse) Adresse(fr.univlorraine.ecandidat.entities.ecandidat.Adresse) WSIndividu(fr.univlorraine.ecandidat.entities.siscol.WSIndividu) ConfirmWindow(fr.univlorraine.ecandidat.views.windows.ConfirmWindow) SiScolException(fr.univlorraine.ecandidat.services.siscol.SiScolException)

Aggregations

SiScolException (fr.univlorraine.ecandidat.services.siscol.SiScolException)7 Candidat (fr.univlorraine.ecandidat.entities.ecandidat.Candidat)3 PjOpi (fr.univlorraine.ecandidat.entities.ecandidat.PjOpi)2 ConfirmWindow (fr.univlorraine.ecandidat.views.windows.ConfirmWindow)2 InputStream (java.io.InputStream)2 RegexpValidator (com.vaadin.data.validator.RegexpValidator)1 Notification (com.vaadin.ui.Notification)1 Type (com.vaadin.ui.Notification.Type)1 UI (com.vaadin.ui.UI)1 Adresse (fr.univlorraine.ecandidat.entities.ecandidat.Adresse)1 Campagne (fr.univlorraine.ecandidat.entities.ecandidat.Campagne)1 Civilite (fr.univlorraine.ecandidat.entities.ecandidat.Civilite)1 CompteMinima (fr.univlorraine.ecandidat.entities.ecandidat.CompteMinima)1 Fichier (fr.univlorraine.ecandidat.entities.ecandidat.Fichier)1 Opi (fr.univlorraine.ecandidat.entities.ecandidat.Opi)1 PieceJustif (fr.univlorraine.ecandidat.entities.ecandidat.PieceJustif)1 PjCandidat (fr.univlorraine.ecandidat.entities.ecandidat.PjCandidat)1 PjCandidatPK (fr.univlorraine.ecandidat.entities.ecandidat.PjCandidatPK)1 SiScolPays (fr.univlorraine.ecandidat.entities.ecandidat.SiScolPays)1 SiScolUtilisateur (fr.univlorraine.ecandidat.entities.ecandidat.SiScolUtilisateur)1