Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Item 342 back modifier dto et requete #89

Merged
merged 4 commits into from
Nov 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading