use of fr.univlorraine.ecandidat.entities.ecandidat.PjCandidatPK 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);
}
Aggregations