Skip to content

Commit

Permalink
Feat : Ajout webDto + mapper
Browse files Browse the repository at this point in the history
Ajout des requestParam dans les controllers
Modif des requêtes sur dates dans les dao
remplacement constructeur date par calendar
Modification dialect Oracle12c
  • Loading branch information
pierre-maraval committed Apr 22, 2024
1 parent 65b6ab6 commit 9d91497
Show file tree
Hide file tree
Showing 24 changed files with 232 additions and 57 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package fr.abes.item.core.components;


import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;

Expand All @@ -9,7 +10,7 @@
public class Ppntoepn {
private final JdbcTemplate baseXmlJdbcTemplate;

public Ppntoepn(JdbcTemplate baseXmlJdbcTemplate) {
public Ppntoepn(@Qualifier("baseXmlJdbcTemplate") JdbcTemplate baseXmlJdbcTemplate) {
this.baseXmlJdbcTemplate = baseXmlJdbcTemplate;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package fr.abes.item.core.configuration;

import org.hibernate.dialect.Oracle12cDialect;
import org.hibernate.dialect.OracleDialect;

public class OracleCustomDriver extends Oracle12cDialect {
public class OracleCustomDriver extends OracleDialect {
public String getQuerySequencesString() {
return "select * from all_sequences";
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public interface IDemandeExempDao extends JpaRepository<DemandeExemp, Integer> {
@Query("select d from DemandeExemp d where d.etatDemande.numEtat = 5 and d.indexRecherche.code != 'DAT' order by d.dateModification asc")
List<DemandeExemp> getNextDemandeToProceedWithoutDAT();

@Query("select e.libelle from TypeExemp e where e.numTypeExemp in (select d.typeExemp from DemandeExemp d where d.numDemande = :numDemande)")
@Query("select e.libelle from TypeExemp e where e.numTypeExemp in (select d.typeExemp.numTypeExemp from DemandeExemp d where d.numDemande = :numDemande)")
String getTypeExemp(@Param("numDemande") Integer numDemande);

@Query("select d from DemandeExemp d where d.iln = :iln and d.etatDemande.numEtat not in (9, 2, 10)")
Expand All @@ -41,13 +41,13 @@ public interface IDemandeExempDao extends JpaRepository<DemandeExemp, Integer> {
List<DemandeExemp> 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 d.dateModification < current_date - 90 order by d.dateModification asc")
@Query("select d from DemandeExemp d where d.etatDemande.numEtat = 7 and (day(current_date) - day(d.dateModification)) > 90 order by d.dateModification asc")
List<DemandeExemp> getNextDemandeToArchive();

//Même si l'ide signale la requête elle est correcte, demandes en statut archivé 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 = 9 and d.dateModification < current_date - 90 order by d.dateModification asc")
@Query("select d from DemandeExemp d where d.etatDemande.numEtat = 9 and (day(current_date) - day(d.dateModification)) > 90 order by d.dateModification asc")
List<DemandeExemp> getNextDemandeToPlaceInDeletedStatus();

@Query("select d from DemandeExemp d where d.etatDemande.numEtat = 10 and d.dateModification < current_date - 210 order by d.dateModification asc")
@Query("select d from DemandeExemp d where d.etatDemande.numEtat = 10 and (day(current_date) - day(d.dateModification)) > 210 order by d.dateModification asc")
List<DemandeExemp> getNextDemandeToDelete();
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,13 @@ public interface IDemandeModifDao extends JpaRepository<DemandeModif, Integer> {
List<DemandeModif> getListDemandesToClean();

//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 DemandeModif d where d.etatDemande.numEtat = 7 and d.dateModification < current_date - 90 order by d.dateModification asc")
@Query("select d from DemandeModif d where d.etatDemande.numEtat = 7 and (day(current_date) - day(d.dateModification)) > 90 order by d.dateModification asc")
List<DemandeModif> getNextDemandeToArchive();

//Même si l'ide signale la requête elle est correcte, demandes en statut archivé avec une ancienneté de plus de 90 jours sur la dernière date de modification récupérées
@Query("select d from DemandeModif d where d.etatDemande.numEtat = 9 and d.dateModification < current_date - 90 order by d.dateModification asc")
@Query("select d from DemandeModif d where d.etatDemande.numEtat = 9 and (day(current_date) - day(d.dateModification)) > 90 order by d.dateModification asc")
List<DemandeModif> getNextDemandeToPlaceInDeletedStatus();

@Query("select d from DemandeModif d where d.etatDemande.numEtat = 10 and d.dateModification < current_date - 210 order by d.dateModification asc")
@Query("select d from DemandeModif d where d.etatDemande.numEtat = 10 and (day(current_date) - day(d.dateModification)) > 210 order by d.dateModification asc")
List<DemandeModif> getNextDemandeToDelete();
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@ public interface IDemandeRecouvDao extends JpaRepository<DemandeRecouv, Integer>
List<DemandeRecouv> getListDemandesToClean();

//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 DemandeRecouv d where d.etatDemande.numEtat = 7 and d.dateModification < current_date - 90 order by d.dateModification asc")
@Query("select d from DemandeRecouv d where d.etatDemande.numEtat = 7 and (day(current_date) - day(d.dateModification)) > 90 order by d.dateModification asc")
List<DemandeRecouv> getNextDemandeToArchive();

//Même si l'ide signale la requête elle est correcte, demandes en statut archivé avec une ancienneté de plus de 90 jours sur la dernière date de modification récupérées
@Query("select d from DemandeRecouv d where d.etatDemande.numEtat = 9 and d.dateModification < current_date - 90 order by d.dateModification asc")
@Query("select d from DemandeRecouv d where d.etatDemande.numEtat = 9 and (day(current_date) - day(d.dateModification)) > 90 order by d.dateModification asc")
List<DemandeRecouv> getNextDemandeToPlaceInDeletedStatus();

@Query("select d from DemandeRecouv d where d.etatDemande.numEtat = 10 and d.dateModification < current_date - 210 order by d.dateModification asc")
@Query("select d from DemandeRecouv d where d.etatDemande.numEtat = 10 and (day(current_date) - day(d.dateModification)) > 210 order by d.dateModification asc")
List<DemandeRecouv> getNextDemandeToDelete();
}
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public interface IDemandeExempService extends IDemandeService {

String launchQueryToSudoc(DemandeExemp demande, String valeurs) throws CBSException, QueryToSudocException, IOException;

DemandeExemp majTypeExemp(Integer idDemande, TypeExemp typeExemp);
DemandeExemp majTypeExemp(Integer idDemande, Integer typeExemp);

Demande changeState(Demande demande, int etatDemande) throws DemandeCheckingException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import fr.abes.item.core.repository.item.IJournalDemandeModifDao;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.Calendar;

@Service
public class JournalService {
Expand All @@ -18,10 +18,10 @@ public JournalService(IJournalDemandeExempDao journalDemandeExempDao, IJournalDe
}

public void addEntreeJournal(DemandeExemp demande, EtatDemande etat) {
journalDemandeExempDao.save(new JournalDemandeExemp(new Date(), demande.getUtilisateur(), etat, demande));
journalDemandeExempDao.save(new JournalDemandeExemp(Calendar.getInstance().getTime(), demande.getUtilisateur(), etat, demande));
}

public void addEntreeJournal(DemandeModif demandeModif, EtatDemande etat) {
journalDemandeModifDao.save(new JournalDemandeModif(new Date(), demandeModif.getUtilisateur(), etat, demandeModif));
journalDemandeModifDao.save(new JournalDemandeModif(Calendar.getInstance().getTime(), demandeModif.getUtilisateur(), etat, demandeModif));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ public List<TypeExemp> findAllTypeExemp() {
return typeExempDao.findAll();
}

public TypeExemp findTypeExempById(Integer id) {
Optional<TypeExemp> typeExemp = typeExempDao.findById(id);
return typeExemp.orElseThrow();
}

public Set<IndexRecherche> getIndexRechercheFromTypeExemp(Integer id) {
return typeExempDao.findById(id).get().getIndexRechercheSet();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
import java.util.List;

@Slf4j
Expand Down Expand Up @@ -158,7 +158,7 @@ public Exemplaire remplacerSousZone(String exemp, String tag, String subTag, Str
public Exemplaire ajout991(Exemplaire exemp) throws ZoneException {
String datePattern = "dd-MM-yyyy HH:mm";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datePattern);
String date = simpleDateFormat.format(new Date());
String date = simpleDateFormat.format(Calendar.getInstance().getTime());
char[] indicateurs = new char[2];
indicateurs[0] = '#';
indicateurs[1] = '#';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public class DemandeExempService extends DemandeService implements IDemandeExemp
@Getter
private int nbReponses;

public DemandeExempService(ILibProfileDao libProfileDao, IDemandeExempDao demandeExempDao, FileSystemStorageService storageService, ILigneFichierService ligneFichierExempService, ReferenceService referenceService, JournalService journalService, TraitementService traitementService, IZonesAutoriseesDao zonesAutoriseesDao, ILigneFichierExempDao ligneFichierExempDao) {
public DemandeExempService(ILibProfileDao libProfileDao, IDemandeExempDao demandeExempDao, FileSystemStorageService storageService, LigneFichierExempService ligneFichierExempService, ReferenceService referenceService, JournalService journalService, TraitementService traitementService, IZonesAutoriseesDao zonesAutoriseesDao, ILigneFichierExempDao ligneFichierExempDao) {
super(libProfileDao);
this.demandeExempDao = demandeExempDao;
this.storageService = storageService;
Expand Down Expand Up @@ -116,7 +116,7 @@ public String getTypeExempDemande(Integer idDemande) {
@Override
public Demande save(Demande entity) {
DemandeExemp demande = (DemandeExemp) entity;
entity.setDateModification(new Date());
entity.setDateModification(Calendar.getInstance().getTime());
return demandeExempDao.save(demande);
}

Expand Down Expand Up @@ -156,15 +156,16 @@ public boolean hasDonneeLocaleExistante() {
* mise à jour du type d'exemplarisation en fonction de l'option choisie coté front
*
* @param demandeId identifiant de la demande
* @param typeExemp valeur du type d'exemplarisation
* @param typeExempId valeur du type d'exemplarisation
* @return la demande modifiée
*/
@Override
public DemandeExemp majTypeExemp(Integer demandeId, TypeExemp typeExemp) {
public DemandeExemp majTypeExemp(Integer demandeId, Integer typeExempId) {
Optional<DemandeExemp> demandeExemp = demandeExempDao.findById(demandeId);
TypeExemp typeExemp = referenceService.findTypeExempById(typeExempId);
if (demandeExemp.isPresent()) {
DemandeExemp dem = demandeExemp.get();
dem.setDateModification(new Date());
dem.setDateModification(Calendar.getInstance().getTime());
dem.setTypeExemp(typeExemp);
dem.setEtatDemande(new EtatDemande(Constant.ETATDEM_ACOMPLETER));
return demandeExempDao.save(dem);
Expand Down Expand Up @@ -503,7 +504,7 @@ public List<DemandeExemp> getIdNextDemandeToDelete() {
@Override
public DemandeExemp creerDemande(String rcr, Date dateCreation, Date dateModification, EtatDemande etatDemande, String commentaire, Utilisateur utilisateur) {
DemandeExemp demandeExemp = new DemandeExemp(rcr, dateCreation, dateModification, etatDemande, commentaire, utilisateur);
demandeExemp.setIln(libProfileDao.findById(rcr).orElse(null).getIln());
demandeExemp.setIln(Objects.requireNonNull(libProfileDao.findById(rcr).orElse(null)).getIln());
return demandeExemp;
}

Expand Down Expand Up @@ -628,7 +629,7 @@ public String creerExemplaireFromHeaderEtValeur(String header, String valeurZone
private void ajout991(Exemplaire exemp) throws ZoneException {
String datePattern = "dd-MM-yyyy HH:mm";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(datePattern);
String date = simpleDateFormat.format(new Date());
String date = simpleDateFormat.format(Calendar.getInstance().getTime());
String valeur991 = Constant.TEXTE_991_CREA + " le " + date;
char[] indicateurs = {'#', '#'};
exemp.addZone("991", "$a", valeur991, indicateurs);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public class DemandeModifService extends DemandeService implements IDemandeModif
private FichierInitial fichierInit;
private FichierPrepare fichierPrepare;

public DemandeModifService(ILibProfileDao libProfileDao, IDemandeModifDao demandeModifDao, FileSystemStorageService storageService, ILigneFichierService ligneFichierModifService, TraitementService traitementService, JournalService journalService, ReferenceService referenceService, Ppntoepn procStockee) {
public DemandeModifService(ILibProfileDao libProfileDao, IDemandeModifDao demandeModifDao, FileSystemStorageService storageService, LigneFichierModifService ligneFichierModifService, TraitementService traitementService, JournalService journalService, ReferenceService referenceService, Ppntoepn procStockee) {
super(libProfileDao);
this.demandeModifDao = demandeModifDao;
this.storageService = storageService;
Expand Down Expand Up @@ -358,7 +358,7 @@ public DemandeModif findById(Integer id) {
@Override
public Demande save(Demande entity) {
DemandeModif demande = (DemandeModif) entity;
entity.setDateModification(new Date());
entity.setDateModification(Calendar.getInstance().getTime());
return demandeModifDao.save(demande);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public class DemandeRecouvService extends DemandeService implements IDemandeReco
@Value("${files.upload.path}")
private String uploadPath;

public DemandeRecouvService(ILibProfileDao libProfileDao, IDemandeRecouvDao demandeRecouvDao, FileSystemStorageService storageService, ReferenceService referenceService, ILigneFichierService ligneFichierRecouvService, TraitementService traitementService) {
public DemandeRecouvService(ILibProfileDao libProfileDao, IDemandeRecouvDao demandeRecouvDao, FileSystemStorageService storageService, ReferenceService referenceService, LigneFichierRecouvService ligneFichierRecouvService, TraitementService traitementService) {
super(libProfileDao);
this.demandeRecouvDao = demandeRecouvDao;
this.storageService = storageService;
Expand All @@ -69,7 +69,7 @@ public List<Demande> getAllActiveDemandesForAdmin(String iln) {
@Override
public Demande save(Demande entity) {
DemandeRecouv demande = (DemandeRecouv) entity;
entity.setDateModification(new Date());
entity.setDateModification(Calendar.getInstance().getTime());
return demandeRecouvDao.save(demande);
}

Expand Down Expand Up @@ -311,7 +311,7 @@ public String getInfoFooterFichierResultat(Demande demande) {
System.lineSeparator() +
System.lineSeparator() +
"Fin du recouvrement : " +
new Date();
Calendar.getInstance().getTime();
}

/**
Expand Down
42 changes: 42 additions & 0 deletions core/src/main/java/fr/abes/item/core/utilitaire/UtilsMapper.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package fr.abes.item.core.utilitaire;

import lombok.extern.slf4j.Slf4j;
import org.modelmapper.ModelMapper;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

@Component
@Slf4j
public class UtilsMapper extends ModelMapper {

/**
* Fonction de mapping générique pour des listes
*
* @param source Liste source
* @param targetClass Classe des objets cibles
* @return Liste des objets cibles
*/
public <S, T> List<T> mapList(List<S> source, Class<T> targetClass) {
return source
.stream()
.map(element -> this.map(element, targetClass))
.collect(Collectors.toList());
}

/**
* Fonction de mapping générique pour des sets
*
* @param source Liste source
* @param targetClass Classe des objets cibles
* @return Liste des objets cibles
*/
public <S, T> Set<T> mapSet(Set<S> source, Class<T> targetClass) {
return source
.stream()
.map(element -> this.map(element, targetClass))
.collect(Collectors.toSet());
}
}
10 changes: 8 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.1.3</version>
<version>3.2.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down Expand Up @@ -130,6 +130,12 @@
</exclusion>
</exclusions>
</dependency>
<!-- Mapping -->
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
Expand Down Expand Up @@ -164,7 +170,7 @@
<artifactId>maven-release-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<pushChanges>no</pushChanges>
<pushChanges>false</pushChanges>
<scmReleaseCommitComment>@{prefix} Version @{releaseLabel}</scmReleaseCommitComment>
<scmCommentPrefix>[maven-release-plugin] [no ci]</scmCommentPrefix>
</configuration>
Expand Down
2 changes: 1 addition & 1 deletion web/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.0.0</version>
<version>2.1.0</version>
</dependency>

</dependencies>
Expand Down
32 changes: 32 additions & 0 deletions web/src/main/java/fr/abes/item/dto/DemandeDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package fr.abes.item.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = DemandeModifDto.class, name = "MODIF"),
@JsonSubTypes.Type(value = DemandeExempDto.class, name = "EXEMP"),
@JsonSubTypes.Type(value = DemandeRecouvDto.class, name = "RECOUV"),
})
public abstract class DemandeDto {
@JsonProperty("id")
protected Integer id;
@JsonProperty("rcr")
protected String rcr;
@JsonProperty("utilisateur")
protected Integer userNum;
@JsonProperty("iln")
protected Integer iln;
@JsonProperty("etatDemande")
protected Integer etatDemande;
@JsonProperty("commentaire")
protected String commentaire;
@JsonProperty("pourcentageProgressionTraitement")
protected Integer pourcentageProgressionTraitement;
}
20 changes: 20 additions & 0 deletions web/src/main/java/fr/abes/item/dto/DemandeExempDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package fr.abes.item.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@NoArgsConstructor
@JsonTypeName("EXEMP")
public class DemandeExempDto extends DemandeDto {
@JsonProperty("typeExemp")
private Integer typeExemp;
@JsonProperty("listeZones")
private String listeZones;
@JsonProperty("indexRecherche")
private Integer indexRecherche;
}
Loading

0 comments on commit 9d91497

Please sign in to comment.