use of gouv.education.apogee.commun.client.ws.EtudiantMetier.IdentifiantsEtudiantDTO2 in project esup-ecandidat by EsupPortail.
the class SiScolApogeeWSServiceImpl method getIndividu.
/**
* @see fr.univlorraine.ecandidat.services.siscol.SiScolGenericService#getIndividu(java.lang.String,
* java.lang.String, java.lang.String)
*/
@Override
public WSIndividu getIndividu(final String codEtu, final String ine, final String cleIne) throws SiScolException {
try {
/* Instanciation du service */
if (etudiantService == null) {
etudiantService = ServiceProvider.getService(EtudiantMetierServiceInterface.class);
}
/* Mise en majuscule de l'ine */
String ineAndKey = null;
if (ine != null && cleIne != null) {
ineAndKey = ine.toUpperCase() + cleIne.toUpperCase();
}
final IdentifiantsEtudiantDTO2 etudiant = etudiantService.recupererIdentifiantsEtudiantV2(codEtu, null, ineAndKey, null, null, null, null, null, "N");
if (etudiant != null && etudiant.getCodEtu() != null) {
final InfoAdmEtuDTO4 data = etudiantService.recupererInfosAdmEtuV4(etudiant.getCodEtu().toString());
if (data != null) {
String civilite = "";
if (data.getSexe() != null) {
if (data.getSexe().equals("F")) {
civilite = "2";
} else {
civilite = "1";
}
}
/* civilite */
final WSIndividu individu = new WSIndividu(etudiant.getCodInd(), civilite, new BigDecimal(etudiant.getCodEtu()), MethodUtils.getIne(etudiant.getNumeroINE()), MethodUtils.getCleIne(etudiant.getNumeroINE()), data.getDateNaissance().toLocalDate(), data.getNomPatronymique(), data.getNomUsuel(), data.getPrenom1(), data.getPrenom2(), data.getLibVilleNaissance());
if (data.getDepartementNaissance() != null) {
individu.setCodDepNai(data.getDepartementNaissance().getCodeDept());
}
if (data.getPaysNaissance() != null) {
individu.setCodPayNai(data.getPaysNaissance().getCodPay());
} else {
individu.setCodPayNai(ConstanteUtils.PAYS_CODE_FRANCE);
}
if (data.getNationaliteDTO() != null) {
individu.setCodPayNat(data.getNationaliteDTO().getCodeNationalite());
} else {
individu.setCodPayNat(ConstanteUtils.PAYS_CODE_FRANCE);
}
/* Recuperation du bac */
if (data.getListeBacs() != null) {
final List<IndBacDTO2> liste = data.getListeBacs().getItem();
final Optional<IndBacDTO2> optBac = liste.stream().filter(e1 -> e1.getAnneeObtentionBac() != null && e1.getCodBac() != null).sorted((e1, e2) -> e2.getAnneeObtentionBac().compareTo(e1.getAnneeObtentionBac())).findFirst();
if (optBac.isPresent()) {
final IndBacDTO2 bacDTO = optBac.get();
final WSBac bac = new WSBac();
bac.setCodBac(bacDTO.getCodBac());
bac.setDaaObtBacIba(bacDTO.getAnneeObtentionBac());
if (bacDTO.getDepartementBac() != null) {
bac.setCodDep(bacDTO.getDepartementBac().getCodeDept());
}
if (bacDTO.getEtbBac() != null) {
bac.setCodEtb(bacDTO.getEtbBac().getCodeEtb());
}
if (bacDTO.getMentionBac() != null) {
bac.setCodMnb(bacDTO.getMentionBac().getCodMention());
}
/* Spécialités/Options */
bac.setCodSpeBacPre(bacDTO.getCodSpeBacPre());
bac.setCodSpe1Bac(bacDTO.getCodSpe1Bac());
bac.setCodSpe2Bac(bacDTO.getCodSpe2Bac());
bac.setCodOpt1Bac(bacDTO.getCodOpt1Bac());
bac.setCodOpt2Bac(bacDTO.getCodOpt2Bac());
bac.setCodOpt3Bac(bacDTO.getCodOpt3Bac());
bac.setCodOpt4Bac(bacDTO.getCodOpt4Bac());
individu.setBac(bac);
}
}
/* Recuperation de l'adresse */
individu.setAdresse(getAdresse(etudiant.getCodEtu().toString()));
/* Recuperation du cursus */
individu.setListCursusInterne(getCursusInterne(etudiant.getCodEtu().toString()));
return individu;
}
}
return null;
} catch (final Exception ex) {
if (ex.getMessage() != null && ex.getMessage().equals("technical.data.nullretrieve.etudiant")) {
return null;
} else if (ex.getMessage() != null && ex.getMessage().equals("technical.parameter.noncoherentinput.codEtu")) {
return null;
}
final String error = "Probleme avec le WS lors de la recherche complete de l'etudiant (individu, bac, adresse, cursus) dont codetu est : " + codEtu + " et codIne est : " + ine;
logger.error(error, ex);
throw new SiScolException(error, ex);
}
}
Aggregations