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;
}
}
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");
}
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;
}
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;
}
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;
}
Aggregations