use of fr.univlorraine.ecandidat.entities.ecandidat.FichierFiabilisation in project esup-ecandidat by EsupPortail.
the class CandidaturePieceController method removeFileToPj.
/* @Transactional(rollbackFor=FileException.class) public void
* removeFileToPj(PjCand pjCand) throws FileException{ Fichier fichier =
* pjCand.getFichier(); pjCandRepository.delete(pjCand); if (fichier != null){
* fileController.deleteFichier(fichier,false); } } */
/**
* Supprime un fichier d'une PJCand
* @param pjCand
*/
public void removeFileToPj(final PjCand pjCand) {
final Fichier fichier = pjCand.getFichier();
final PjCandPK idPjCand = pjCand.getId();
pjCandRepository.delete(pjCand);
if (fichier != null) {
FichierFiabilisation fichierFiabilisation = new FichierFiabilisation(fichier);
fichierFiabilisation.setIdPj(idPjCand.getIdPj());
fichierFiabilisation.setIdCand(idPjCand.getIdCand());
fichierFiabilisation = fichierFiabilisationRepository.save(fichierFiabilisation);
try {
fileController.deleteFichier(fichier);
fichierFiabilisationRepository.delete(fichierFiabilisation);
} catch (final FileException e) {
}
}
}
use of fr.univlorraine.ecandidat.entities.ecandidat.FichierFiabilisation in project esup-ecandidat by EsupPortail.
the class CandidaturePieceController method addFileToPieceJustificative.
/**
* Ajoute un fichier a une pj
* @param pieceJustif
* @param candidature
* @param listener
*/
public void addFileToPieceJustificative(final PjPresentation pieceJustif, final Candidature candidature, final CandidatureListener listener) {
/* Verification que le service n'est pas en maintenance */
if (fileController.isFileServiceMaintenance(true)) {
return;
}
Assert.notNull(candidature, applicationContext.getMessage("assert.notNull", null, UI.getCurrent().getLocale()));
/* Verrou */
if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
return;
}
final String user = userController.getCurrentNoDossierCptMinOrLogin();
final String cod = ConstanteUtils.TYPE_FICHIER_PJ_CAND + "_" + candidature.getCandidat().getCompteMinima().getNumDossierOpiCptMin() + "_" + candidature.getIdCand() + "_" + pieceJustif.getPieceJustif().getIdPj();
final UploadWindow uw = new UploadWindow(cod, ConstanteUtils.TYPE_FICHIER_CANDIDAT, candidature, pieceJustif.getPJCommune(), false);
uw.addUploadWindowListener(file -> {
if (file == null) {
return;
}
/* Verrou */
if (!lockCandidatController.getLockOrNotifyCandidature(candidature)) {
return;
}
final PjCandPK pk = new PjCandPK(pieceJustif.getPieceJustif().getIdPj(), pieceJustif.getIdCandidature());
PjCand pjCand = pjCandRepository.findOne(pk);
if (pjCand == null) {
pjCand = new PjCand(pk, user, candidature, pieceJustif.getPieceJustif());
}
final Fichier fichier = fileController.createFile(file, user, ConstanteUtils.TYPE_FICHIER_CANDIDAT);
if (isPjModified(pieceJustif, candidature, true, listener)) {
FichierFiabilisation fichierFiabilisation = new FichierFiabilisation(fichier);
fichierFiabilisation = fichierFiabilisationRepository.save(fichierFiabilisation);
try {
fileController.deleteFichier(fichier);
fichierFiabilisationRepository.delete(fichierFiabilisation);
} catch (final FileException e) {
}
uw.close();
return;
}
pjCand.setLibFilePjCand(fichier.getNomFichier());
pjCand.setUserModPjCand(user);
pjCand.setFichier(fichier);
final TypeStatutPiece statutTr = tableRefController.getTypeStatutPieceTransmis();
pjCand.setTypeStatutPiece(statutTr);
pjCandRepository.save(pjCand);
// obligé de recharger l'objet car le datetime est arrondi :(
final PjCand pjCandSave = pjCandRepository.findOne(pk);
pieceJustif.setFilePj(fichier);
pieceJustif.setCodStatut(statutTr.getCodTypStatutPiece());
pieceJustif.setLibStatut(i18nController.getI18nTraduction(statutTr.getI18nLibTypStatutPiece()));
pieceJustif.setDatModification(pjCandSave.getDatModPjCand());
candidature.setUserModCand(user);
candidature.updatePjCand(pjCandSave);
candidature.setDatModCand(LocalDateTime.now());
final Candidature candidatureSave = candidatureRepository.save(candidature);
listener.pjModified(pieceJustif, candidatureSave);
Notification.show(applicationContext.getMessage("window.upload.success", new Object[] { file.getFileName() }, UI.getCurrent().getLocale()), Type.TRAY_NOTIFICATION);
uw.close();
});
UI.getCurrent().addWindow(uw);
}
use of fr.univlorraine.ecandidat.entities.ecandidat.FichierFiabilisation in project esup-ecandidat by EsupPortail.
the class FileController method launchFiabilisationFichier.
// @Scheduled(fixedRateString="${fiabilisation.fichier.refresh.fixedRate}")
// @Scheduled(fixedRateString="30000")
/**
* Batch de fiabilisation des fichiers
* @param dateArchivageCampagne
*/
public void launchFiabilisationFichier(final LocalDateTime dateArchivageCampagne) {
logger.debug("Lancement batch fiabilisation fichiers");
// Suppression des fichiers orphelins et créés depuis plus d'un jour
final List<Fichier> listOrphans = fichierRepository.findFichierOrphelin(dateArchivageCampagne);
logger.debug("Suppression fichiers orphelins : " + listOrphans.size() + " fichiers a supprimer");
Integer i = 0;
Integer nb = 0;
for (final Fichier fichier : listOrphans) {
try {
final List<Fichier> listFileFichier = fichierRepository.findByFileFichierAndIdFichierNot(fichier.getFileFichier(), fichier.getIdFichier());
if (listFileFichier.size() == 0) {
logger.trace("Fichiers orphelins non trouvés avec le meme Fichier (" + fichier.getFileFichier() + ")");
FichierFiabilisation fichierFiabilisation = new FichierFiabilisation(fichier);
fichierFiabilisation = fichierFiabilisationRepository.save(fichierFiabilisation);
deleteFichier(fichier);
fichierFiabilisationRepository.delete(fichierFiabilisation);
} else {
logger.trace("Fichiers orphelins trouvés avec le meme Fichier (" + fichier.getFileFichier() + "), aucune suppression");
fichierRepository.delete(fichier);
}
} catch (final Exception e) {
}
i++;
nb++;
if (i.equals(1000)) {
logger.debug("Batch de destruction fichiers orphelins, destruction de " + nb + " fichiers ok");
i = 0;
}
}
// Suppression des fichiers non supprimés
final List<FichierFiabilisation> listFichierFiab = fichierFiabilisationRepository.findByDatCreFichierBefore(dateArchivageCampagne);
logger.debug("Suppression fichiers à fiabiliser : " + listFichierFiab.size() + " fichiers a supprimer");
i = 0;
nb = 0;
for (final FichierFiabilisation fichierFiab : listFichierFiab) {
logger.trace("Début fiabilisation de : " + fichierFiab);
if (fichierFiab.getIdFichier() != null && fichierFiab.getFileFichier() != null) {
final Fichier file = fichierRepository.findOne(fichierFiab.getIdFichier());
if (file == null) {
final List<Fichier> listFileFichier = fichierRepository.findByFileFichier(fichierFiab.getFileFichier());
if (listFileFichier.size() == 0) {
logger.trace("Fiabilisation activée pour : " + fichierFiab);
final Fichier fichier = new Fichier(fichierFiab.getCodFichier(), fichierFiab.getFileFichier(), fichierFiab.getNomFichier(), fichierFiab.getTypFichier(), fichierFiab.getTypStockageFichier(), fichierFiab.getAuteurFichier());
Boolean isBackoffice = false;
if (fichier.getTypFichier().equals(ConstanteUtils.TYPE_FICHIER_GESTIONNAIRE)) {
isBackoffice = true;
}
try {
if (!isModeFileStockageOk(fichier, isBackoffice)) {
return;
}
if (isModeStockagePrincipalOk(fichier, isBackoffice)) {
logger.trace("Suppression fichier activée pour : " + fichierFiab);
fileManager.deleteFile(fichier, false);
} else if (isModeStockageSecondaireOk(fichier, isBackoffice)) {
logger.trace("Suppression fichier activée pour : " + fichierFiab);
fileManagerSecondaire.deleteFile(fichier, false);
}
logger.trace("Suppression ligne fiabilisation pour : " + fichierFiab);
fichierFiabilisationRepository.delete(fichierFiab);
} catch (final Exception ex) {
try {
if (!existFile(fichier)) {
logger.trace("Suppression ligne fiabilisation (fichier non existant) suite à erreur pour : " + fichierFiab);
fichierFiabilisationRepository.delete(fichierFiab);
}
} catch (final Exception ex1) {
}
}
} else {
logger.trace("Pas de fiabilisation (File fichier trouvé) pour : " + fichierFiab);
fichierFiabilisationRepository.delete(fichierFiab);
}
} else {
logger.trace("Pas de fiabilisation (Id fichier trouvé) pour : " + fichierFiab);
fichierFiabilisationRepository.delete(fichierFiab);
}
}
i++;
nb++;
if (i.equals(1000)) {
logger.debug("Batch de destruction fichiers fiabilisation, destruction de " + nb + " fichiers ok");
i = 0;
}
}
}
use of fr.univlorraine.ecandidat.entities.ecandidat.FichierFiabilisation in project esup-ecandidat by EsupPortail.
the class PieceJustifController method removeFileToPieceJustif.
/**
* @param pieceJustif
* @param fichier
* @throws FileException
*/
private void removeFileToPieceJustif(PieceJustif pieceJustif, final Fichier fichier) {
pieceJustif.setFichier(null);
pieceJustif = pieceJustifRepository.save(pieceJustif);
if (fichier != null) {
FichierFiabilisation fichierFiabilisation = new FichierFiabilisation(fichier);
fichierFiabilisation.setIdPj(pieceJustif.getIdPj());
fichierFiabilisation = fichierFiabilisationRepository.save(fichierFiabilisation);
try {
fileController.deleteFichier(fichier);
fichierFiabilisationRepository.delete(fichierFiabilisation);
} catch (FileException e) {
}
}
}
use of fr.univlorraine.ecandidat.entities.ecandidat.FichierFiabilisation in project esup-ecandidat by EsupPortail.
the class PieceJustifController method deletePieceJustifDbAndFile.
/**
* Supprime une PJ
*
* @param pieceJustif
*/
private void deletePieceJustifDbAndFile(final PieceJustif pieceJustif) {
Fichier fichier = pieceJustif.getFichier();
Integer id = pieceJustif.getIdPj();
pieceJustifRepository.delete(pieceJustif);
if (fichier != null) {
FichierFiabilisation fichierFiabilisation = new FichierFiabilisation(fichier);
fichierFiabilisation.setIdPj(id);
fichierFiabilisation = fichierFiabilisationRepository.save(fichierFiabilisation);
try {
fileController.deleteFichier(fichier);
fichierFiabilisationRepository.delete(fichierFiabilisation);
} catch (FileException e) {
}
}
}
Aggregations