Skip to content

Commit

Permalink
Initialized Dashboard Treatement
Browse files Browse the repository at this point in the history
  • Loading branch information
Wiran-Larbi committed Jun 9, 2024
1 parent 1f10afd commit 7b45f20
Show file tree
Hide file tree
Showing 42 changed files with 1,158 additions and 674 deletions.
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"cSpell.words": [
"Archivage"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.sp.gestion.archivage.controller;


import com.sp.gestion.archivage.schema.ArchiveResponse;
import com.sp.gestion.archivage.service.ArchiveService;
import lombok.RequiredArgsConstructor;
import org.apache.coyote.Response;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/archive")
@RequiredArgsConstructor
public class ArchiveController {

private final ArchiveService archiveService;

@GetMapping("/all")
public ResponseEntity<List<ArchiveResponse>> getAllArchives() {
return ResponseEntity.ok(this.archiveService.getAllArchives());
}

}
61 changes: 61 additions & 0 deletions backend/src/main/java/com/sp/gestion/archivage/model/Archive.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package com.sp.gestion.archivage.model;


import com.sp.gestion.suivie_physique.model.Valeur;
import com.sp.users.model.User;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.GenericGenerator;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import java.time.LocalDateTime;
import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "_archive")
@EntityListeners(AuditingEntityListener.class)
public class Archive {
@Id
@GeneratedValue(strategy= GenerationType.AUTO,generator="native")
@GenericGenerator(name = "native",strategy = "native")
private Long id;

private LocalDateTime dateArchive;

@OneToMany(mappedBy = "archive", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<Valeur> valeurs;


@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private ArchiveType type;

@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private User archivist;

@CreatedBy
@Column(name = "created_by", updatable = false)
private String createdBy;

@CreatedDate
@Column(name = "created_date", updatable = false)
private LocalDateTime createdDate;

@LastModifiedDate
@Column(name = "last_modified_date")
private LocalDateTime lastModifiedDate;

@LastModifiedBy
@Column(name = "last_modified_by")
private String lastModifiedBy;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.sp.gestion.archivage.model;

import org.springframework.data.jpa.repository.JpaRepository;

public interface ArchiveRepository extends JpaRepository<Archive, Long> {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package com.sp.gestion.archivage.model;


import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.GenericGenerator;
import org.springframework.data.annotation.CreatedBy;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedBy;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "_archive_type")
@EntityListeners(AuditingEntityListener.class)
public class ArchiveType {
@Id
@GeneratedValue(strategy= GenerationType.AUTO,generator="native")
@GenericGenerator(name = "native",strategy = "native")
private Long id;

private String libelle;

private String description;

@OneToMany(mappedBy = "type", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<Archive> archives;

@CreatedBy
@Column(name = "created_by", updatable = false)
private String createdBy;

@CreatedDate
@Column(name = "created_date", updatable = false)
private String createdDate;

@LastModifiedBy
@Column(name = "last_modified_by")
private String lastModifiedBy;

@LastModifiedDate
@Column(name = "last_modified_date")
private String lastModifiedDate;


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.sp.gestion.archivage.schema;


import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@Builder
public class ArchiveResponse {
private LocalDateTime dateArchive;
private String type;
private int totalValeurs;
private String archivist;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.sp.gestion.archivage.schema;


import com.sp.gestion.suivie_physique.model.Valeur;
import lombok.Builder;
import lombok.Data;

import java.util.List;

@Data
@Builder
public class ArchiveValeurResponse {
private List<Valeur> valeurs;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.sp.gestion.archivage.service;


import com.sp.gestion.archivage.model.ArchiveRepository;
import com.sp.gestion.archivage.schema.ArchiveResponse;
import com.sp.gestion.archivage.schema.ArchiveValeurResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
@RequiredArgsConstructor
public class ArchiveService {
private final ArchiveRepository archiveRepository;

public List<ArchiveResponse> getAllArchives() {
return this.archiveRepository.findAll()
.stream()
.map(archive -> ArchiveResponse.builder()
.dateArchive(archive.getDateArchive())
.type(archive.getType().getLibelle())
.totalValeurs((archive.getValeurs().size()))
.archivist(archive.getArchivist().getUsername())
.build())
.toList();
}
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
package com.sp.gestion.point_capture.controller;


import com.sp.gestion.point_capture.schema.CircuitAllResponse;
import com.sp.gestion.point_capture.schema.CircuitRequest;
import com.sp.gestion.point_capture.schema.PointCaptureRequest;
import com.sp.gestion.point_capture.schema.PointsCaptureAllResponse;
import com.sp.gestion.point_capture.schema.*;
import com.sp.gestion.point_capture.service.PointCaptureService;
import com.sp.users.schema.MembersStatsResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
Expand All @@ -28,6 +26,10 @@ public ResponseEntity<PointsCaptureAllResponse> getAllPointsCapture() {
public ResponseEntity<CircuitAllResponse> getAllCircuits() {
return ResponseEntity.ok(pointCaptureService.getAllCircuits());
}
@GetMapping("/pdc-stats")
public ResponseEntity<PointCaptureStatsResponse> getPointsCaptureStats(Principal connectedUser) {
return ResponseEntity.ok(pointCaptureService.getPointCaptureStats(connectedUser));
}

@PostMapping("/add")
public ResponseEntity<?> addPointCapture(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.sp.gestion.point_capture.schema;


import lombok.Builder;
import lombok.Data;

@Data
@Builder
public class PointCaptureStatsResponse {

private int totalPointsCapture;
private int totalCircuit;
private int totalTypePointCapture;
private int totalLecteur;
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ public class PointCaptureService {
private final ClientBanqueRepository clientBanqueRepository;
private final TypePointCaptureRepository typePointCaptureRepository;
private final CircuitRepository circuitRepository;
private final LecteurRepository lecteurRepository;


public PointsCaptureAllResponse getAllPointsCapture(){
Expand Down Expand Up @@ -127,4 +128,14 @@ public void addCircuit(CircuitRequest request, Principal connectedUser){

circuitRepository.save(circuit);
}

public PointCaptureStatsResponse getPointCaptureStats(Principal connectedUser){
var user = (User) ((UsernamePasswordAuthenticationToken) connectedUser).getPrincipal();
return PointCaptureStatsResponse.builder()
.totalPointsCapture(pointCaptureRepository.findAll().size())
.totalCircuit(circuitRepository.findAll().size())
.totalTypePointCapture(typePointCaptureRepository.findAll().size())
.totalLecteur(lecteurRepository.findAll().size())
.build();
}
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public enum EtatCheque {
public enum EtatValeur {
Recue("Recue"),
Archive("Archive"),
Valide("Valide");
Valide("Valide"),
Conserver("à Conserver"),
Echue("Echue");

@Getter
private final String etat;
Expand Down
Loading

0 comments on commit 7b45f20

Please sign in to comment.