Skip to content

Commit

Permalink
Merge pull request #90 from abes-esr/develop
Browse files Browse the repository at this point in the history
develop to main
  • Loading branch information
pierre-maraval authored Nov 13, 2024
2 parents 8d4c5e5 + 4cb2c6c commit a8edda7
Show file tree
Hide file tree
Showing 19 changed files with 377 additions and 159 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public void writePpnInFile(String ppn, Exemplaire exemplaire, String typeDoc) th
// création de la liste de référence pour trouver l'emplacement de chaque zone et sous-zone
List<String> listDeReference = referenceService.constructHeaderCsv();
listDeReference.remove(0);
listDeReference.remove(0);
// ajout de la ligne
out.println(typeDoc + ";" + ppn + ";" + gererZones(listDeReference, exemplaire));
} catch (IOException ex) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public class Constant implements Serializable {
public static final String ACCES_INTERDIT = "Accès interdit.";
public static final String ACCES_REFUSE = "Accès refusé.";
public static final String IP_BLOCKED = "Votre adresse IP est bloquée.";
public static final String WRONG_LOGIN_AND_OR_PASS = "Mauvais login et / ou mot de passe.";
public static final String WRONG_LOGIN_AND_OR_PASS = "Une erreur s'est produite : Identifiant ou mot de passe incorrect.";

/**Prefix name from files put on server*/
public static final String FIC_INITIAL_NAME = "fichier_initial_";
Expand Down
54 changes: 54 additions & 0 deletions core/src/main/java/fr/abes/item/core/dto/DemandeDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package fr.abes.item.core.dto;

import fr.abes.item.core.entities.baseXml.LibProfile;
import fr.abes.item.core.entities.item.Demande;
import lombok.Getter;
import lombok.Setter;

import java.util.List;
import java.util.Objects;

@Getter
@Setter
public class DemandeDto {
private Demande demande;

private Integer nbLignes;

public DemandeDto(Demande demande, Integer nbLignes) {
this.demande = demande;
this.nbLignes = nbLignes;
}

public DemandeDto(Demande demande, Long nbLignes) {
this.demande = demande;
this.nbLignes = Math.toIntExact(nbLignes);
}

public DemandeDto(Demande demande) {
this.demande = demande;
}

public String getRcr() {
return this.demande.getRcr();
}

public void feedIlnAndShortname(List<LibProfile> libProfileList){
//Si l'iln de la demande est nul, on l'alimente avec la liste d'entités Libprofile récupérée précédemment
if(this.demande.getIln() == null) {
for (LibProfile libProfile : libProfileList) {
if (Objects.equals(libProfile.getRcr(), this.demande.getRcr())) {
this.demande.setIln(libProfile.getIln());
}
}
}
//Si le shortname de la demande est nul, on l'alimente avec la liste d'entités Libprofile récupérée précédemment
if (this.demande.getShortname() == null) {
for (LibProfile libProfile : libProfileList) {
if (libProfile.getRcr().equals(this.demande.getRcr())) {
this.demande.setShortname(libProfile.getShortName());
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package fr.abes.item.core.repository.item;

import fr.abes.item.core.configuration.ItemConfiguration;
import fr.abes.item.core.dto.DemandeDto;
import fr.abes.item.core.entities.item.DemandeExemp;
import fr.abes.item.core.entities.item.TypeExemp;
import org.springframework.data.jpa.repository.JpaRepository;
Expand All @@ -26,20 +27,20 @@ public interface IDemandeExempDao extends JpaRepository<DemandeExemp, Integer> {
@Query("select e from TypeExemp e where e.numTypeExemp in (select d.typeExemp.numTypeExemp from DemandeExemp d where d.numDemande = :numDemande)")
TypeExemp getTypeExemp(@Param("numDemande") Integer numDemande);

@Query("select d from DemandeExemp d where d.iln = :iln and d.etatDemande.numEtat not in (9, 2, 10)")
List<DemandeExemp> getActiveDemandesExempForUserExceptedPreparedStatus(@Param("iln") String iln);
@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) from DemandeExemp d JOIN d.ligneFichierExemps l where d.iln = :iln and d.etatDemande.numEtat not in (9, 2, 10) GROUP BY d")
List<DemandeDto> getActiveDemandesExempForUserExceptedPreparedStatus(@Param("iln") String iln);

@Query("select d from DemandeExemp d where d.iln = :iln and d.etatDemande.numEtat not in (9, 10)")
List<DemandeExemp> getAllActiveDemandesExempForAdmin(@Param("iln") String iln);
@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) from DemandeExemp d JOIN d.ligneFichierExemps l where d.iln = :iln and d.etatDemande.numEtat not in (9, 10) GROUP BY d")
List<DemandeDto> getAllActiveDemandesExempForAdmin(@Param("iln") String iln);

@Query("select d from DemandeExemp d where d.etatDemande.numEtat not in (9, 10)")
List<DemandeExemp> getAllActiveDemandesExempForAdminExtended();
@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) from DemandeExemp d JOIN d.ligneFichierExemps l where d.etatDemande.numEtat not in (9, 10) GROUP BY d")
List<DemandeDto> getAllActiveDemandesExempForAdminExtended();

@Query("select d from DemandeExemp d where d.iln = :iln and d.etatDemande.numEtat = 9")
List<DemandeExemp> getAllArchivedDemandesExemp(@Param("iln") String iln);
@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) from DemandeExemp d JOIN d.ligneFichierExemps l where d.iln = :iln and d.etatDemande.numEtat = 9 GROUP BY d")
List<DemandeDto> getAllArchivedDemandesExemp(@Param("iln") String iln);

@Query("select d from DemandeExemp d where d.etatDemande.numEtat = 9")
List<DemandeExemp> getAllArchivedDemandesExempExtended();
@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) from DemandeExemp d JOIN d.ligneFichierExemps l where d.etatDemande.numEtat = 9 GROUP BY d")
List<DemandeDto> getAllArchivedDemandesExempExtended();

//Même si l'ide signale la requête elle est correcte, demandes en statut terminé avec une ancienneté de plus de 90 jours sur la dernière date de modification récupérées
@Query("select d from DemandeExemp d where d.etatDemande.numEtat = 7 and (day(current_date) - day(d.dateModification)) > 90 order by d.dateModification asc")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package fr.abes.item.core.repository.item;

import fr.abes.item.core.configuration.ItemConfiguration;
import fr.abes.item.core.dto.DemandeDto;
import fr.abes.item.core.entities.item.DemandeModif;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
Expand All @@ -21,20 +22,20 @@ public interface IDemandeModifDao extends JpaRepository<DemandeModif, Integer> {
* @return les demandes appartenant à l'iln de l'utilisateur (un iln comprenant plusieurs rcr)
* et qui sont ni dans l'état préparé, ni dans l'état archivé
*/
@Query("select d from DemandeModif d where d.iln = :iln and d.etatDemande.numEtat not in (9, 2, 10)")
List<DemandeModif> getActiveDemandesModifForUserExceptedPreparedStatus(@Param("iln") String iln);
@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) FROM DemandeModif d JOIN d.ligneFichierModifs l where d.iln = :iln and d.etatDemande.numEtat not in (9, 2, 10) GROUP BY d")
List<DemandeDto> getActiveDemandesModifForUserExceptedPreparedStatus(@Param("iln") String iln);

@Query("select d from DemandeModif d where d.iln = :iln and d.etatDemande.numEtat not in (9, 10)")
List<DemandeModif> getAllActiveDemandesModifForAdmin(@Param("iln") String iln);
@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) from DemandeModif d JOIN d.ligneFichierModifs l where d.iln = :iln and d.etatDemande.numEtat not in (9, 10) GROUP BY d")
List<DemandeDto> getAllActiveDemandesModifForAdmin(@Param("iln") String iln);

@Query("select d from DemandeModif d where d.etatDemande.numEtat not in (9, 2, 10)")
List<DemandeModif> getAllActiveDemandesModifForAdminExtended();
@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) from DemandeModif d JOIN d.ligneFichierModifs l where d.etatDemande.numEtat not in (9, 2, 10) GROUP BY d")
List<DemandeDto> getAllActiveDemandesModifForAdminExtended();

@Query("select d from DemandeModif d where d.iln = :iln and d.etatDemande.numEtat = 9")
List<DemandeModif> getAllArchivedDemandesModif(@Param("iln") String iln);
@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) from DemandeModif d JOIN d.ligneFichierModifs l where d.iln = :iln and d.etatDemande.numEtat = 9 GROUP BY d")
List<DemandeDto> getAllArchivedDemandesModif(@Param("iln") String iln);

@Query("select d from DemandeModif d where d.etatDemande.numEtat = 9")
List<DemandeModif> getAllArchivedDemandesModifExtended();
@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) from DemandeModif d JOIN d.ligneFichierModifs l where d.etatDemande.numEtat = 9 GROUP BY d")
List<DemandeDto> getAllArchivedDemandesModifExtended();

@Query("select d from DemandeModif d where d.etatDemande.numEtat = 5 order by d.dateModification asc")
List<DemandeModif> getNextDemandeToProceed();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package fr.abes.item.core.repository.item;

import fr.abes.item.core.configuration.ItemConfiguration;
import fr.abes.item.core.dto.DemandeDto;
import fr.abes.item.core.entities.item.DemandeSupp;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
Expand All @@ -12,17 +13,22 @@
@Repository
@ItemConfiguration
public interface IDemandeSuppDao extends JpaRepository<DemandeSupp, Integer> {
@Query("select d from DemandeSupp d where d.etatDemande.numEtat not in (9, 10)")
List<DemandeSupp> getAllActiveDemandesSuppForAdminExtended();
@Query("select d from DemandeSupp d where d.iln = :iln and d.etatDemande.numEtat not in (9, 10)")
List<DemandeSupp> getAllActiveDemandesSuppForAdmin(@Param("iln") String iln);
@Query("select d from DemandeSupp d where d.iln = :iln and d.etatDemande.numEtat = 9")
List<DemandeSupp> getAllArchivedDemandesSupp(@Param("iln") String iln);

@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) FROM DemandeSupp d JOIN d.ligneFichierSupps l WHERE d.etatDemande.numEtat NOT IN (9, 10) GROUP BY d")
List<DemandeDto> getAllActiveDemandesSuppForAdminExtended();

@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) FROM DemandeSupp d JOIN d.ligneFichierSupps l where d.iln = :iln and d.etatDemande.numEtat not in (9, 10) GROUP BY d")
List<DemandeDto> getAllActiveDemandesSuppForAdmin(@Param("iln") String iln);

@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) FROM DemandeSupp d JOIN d.ligneFichierSupps l where d.iln = :iln and d.etatDemande.numEtat = 9 GROUP BY d")
List<DemandeDto> getAllArchivedDemandesSupp(@Param("iln") String iln);

@Query("select d from DemandeSupp d where d.iln = :iln and d.etatDemande.numEtat not in (9, 2, 10)")
List<DemandeDto> getActiveDemandesSuppForUserExceptedPreparedStatus(@Param("iln") String iln);

@Query("select new fr.abes.item.core.dto.DemandeDto(d, COUNT(l)) FROM DemandeSupp d JOIN d.ligneFichierSupps l where d.etatDemande.numEtat = 9 GROUP BY d")
List<DemandeDto> getAllArchivedDemandesSuppExtended();

List<DemandeSupp> getActiveDemandesSuppForUserExceptedPreparedStatus(@Param("iln") String iln);
@Query("select d from DemandeSupp d where d.etatDemande.numEtat = 9")
List<DemandeSupp> getAllArchivedDemandesSuppExtended();
List<DemandeSupp> findDemandeSuppsByEtatDemande_IdOrderByDateModificationAsc(Integer id);

@Query("select d from DemandeSupp d where d.etatDemande.numEtat = 7 and (day(current_date) - day(d.dateModification)) > 90 order by d.dateModification asc")
Expand All @@ -34,4 +40,13 @@ public interface IDemandeSuppDao extends JpaRepository<DemandeSupp, Integer> {

@Query("select d from DemandeSupp d where d.etatDemande.numEtat = 10 and (day(current_date) - day(d.dateModification)) > 210 order by d.dateModification asc")
List<DemandeSupp> getNextDemandeToDelete();

/**
* @param numDemande le numéro de la demande
* @return Le nombre de ligne du fichier qui ont été traitées sur cette demande et dont le retour du sudoc à été
* positif pour le traitement
*/
@Query("select count(lf) from LigneFichierSupp lf where lf.demandeSupp.numDemande = :numDemande and lf.traitee=1 and lf.retourSudoc = 'exemplaire supprimé'")
int getNbLigneFichierSuccessByDemande(@Param("numDemande") Integer numDemande);

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import fr.abes.cbs.exception.CBSException;
import fr.abes.cbs.exception.ZoneException;
import fr.abes.item.core.dto.DemandeDto;
import fr.abes.item.core.entities.item.Demande;
import fr.abes.item.core.entities.item.LigneFichier;
import fr.abes.item.core.exception.DemandeCheckingException;
Expand Down Expand Up @@ -35,7 +36,7 @@ public interface IDemandeService {

Demande closeDemande(Demande demande) throws DemandeCheckingException;

List<Demande> getActiveDemandesForUser(String iln);
List<DemandeDto> getActiveDemandesForUser(String iln);

Demande getIdNextDemandeToProceed(int minHour, int maxHour);

Expand All @@ -45,13 +46,13 @@ public interface IDemandeService {

Demande changeStateCanceled(Demande demande, int etatDemande);

List<Demande> getAllArchivedDemandes(String iln);
List<DemandeDto> getAllArchivedDemandes(String iln);

List<Demande> getAllArchivedDemandesAllIln();
List<DemandeDto> getAllArchivedDemandesAllIln();

List<Demande> getAllActiveDemandesForAdminExtended();
List<DemandeDto> getAllActiveDemandesForAdminExtended();

List<Demande> getAllActiveDemandesForAdmin(String iln);
List<DemandeDto> getAllActiveDemandesForAdmin(String iln);

Demande returnState(Integer etape, Demande demande) throws DemandeCheckingException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import fr.abes.item.core.configuration.factory.Strategy;
import fr.abes.item.core.constant.Constant;
import fr.abes.item.core.constant.TYPE_DEMANDE;
import fr.abes.item.core.dto.DemandeDto;
import fr.abes.item.core.entities.item.*;
import fr.abes.item.core.exception.DemandeCheckingException;
import fr.abes.item.core.exception.FileCheckingException;
Expand Down Expand Up @@ -87,21 +88,19 @@ public List<Demande> findAll() {
}

@Override
public List<Demande> getAllActiveDemandesForAdmin(String iln) {
List<DemandeExemp> demandeExemps = demandeExempDao.getAllActiveDemandesExempForAdmin(iln);
List<Demande> demandeList = new ArrayList<>(demandeExemps);
public List<DemandeDto> getAllActiveDemandesForAdmin(String iln) {
List<DemandeDto> ListeDemandeDto = demandeExempDao.getAllActiveDemandesExempForAdmin(iln);
//TODO 1 chopper les rcr en une iste string, 2 dao xml pour recuperer la liste des libelle avec un tableau mappé, 3 alimenter les entites LIB iteration

setIlnShortNameOnList(demandeList);
return demandeList;
setIlnShortNameOnDemandeDtoList(ListeDemandeDto);
return ListeDemandeDto;
}

@Override
public List<Demande> getAllActiveDemandesForAdminExtended() {
List<DemandeExemp> demandeExemp = demandeExempDao.getAllActiveDemandesExempForAdminExtended();
List<Demande> demandeList = new ArrayList<>(demandeExemp);
setIlnShortNameOnList(demandeList);
return demandeList;
public List<DemandeDto> getAllActiveDemandesForAdminExtended() {
List<DemandeDto> ListeDemandeDto = demandeExempDao.getAllActiveDemandesExempForAdminExtended();
setIlnShortNameOnDemandeDtoList(ListeDemandeDto);
return ListeDemandeDto;
}

public String getLibelleTypeExempDemande(Integer idDemande) {
Expand Down Expand Up @@ -140,11 +139,10 @@ public void deleteById(Integer id) {
* @return liste des demandeModifs de l'utilisateur (hors demandeModifs archivées)
*/
@Override
public List<Demande> getActiveDemandesForUser(String iln) {
List<DemandeExemp> demandeExemps = demandeExempDao.getActiveDemandesExempForUserExceptedPreparedStatus(iln);
List<Demande> listeDemande = new ArrayList<>(demandeExemps);
setIlnShortNameOnList(listeDemande);
return listeDemande;
public List<DemandeDto> getActiveDemandesForUser(String iln) {
List<DemandeDto> listeDemandeDto = demandeExempDao.getActiveDemandesExempForUserExceptedPreparedStatus(iln);
setIlnShortNameOnDemandeDtoList(listeDemandeDto);
return listeDemandeDto;
}

public boolean hasDonneeLocaleExistante() {
Expand Down Expand Up @@ -670,19 +668,17 @@ public String getInfoHeaderFichierResultat(Demande demande, LocalDateTime dateDe
}

@Override
public List<Demande> getAllArchivedDemandes(String iln) {
List<DemandeExemp> demandeExemp = demandeExempDao.getAllArchivedDemandesExemp(iln);
List<Demande> demandeList = new ArrayList<>(demandeExemp);
setIlnShortNameOnList(demandeList);
return demandeList;
public List<DemandeDto> getAllArchivedDemandes(String iln) {
List<DemandeDto> listDemandeDto = demandeExempDao.getAllArchivedDemandesExemp(iln);
setIlnShortNameOnDemandeDtoList(listDemandeDto);
return listDemandeDto;
}

@Override
public List<Demande> getAllArchivedDemandesAllIln() {
List<DemandeExemp> demandeExemp = demandeExempDao.getAllArchivedDemandesExempExtended();
List<Demande> demandeList = new ArrayList<>(demandeExemp);
setIlnShortNameOnList(demandeList);
return demandeList;
public List<DemandeDto> getAllArchivedDemandesAllIln() {
List<DemandeDto> listeDemandeDto = demandeExempDao.getAllArchivedDemandesExempExtended();
setIlnShortNameOnDemandeDtoList(listeDemandeDto);
return listeDemandeDto;
}


Expand Down
Loading

0 comments on commit a8edda7

Please sign in to comment.