Last active
October 13, 2021 13:11
-
-
Save btounkara/142653897795484476e28ab7d2f99bd9 to your computer and use it in GitHub Desktop.
Code review java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class DroitBean { | |
private Instant dateDebut; | |
private Instant dateFin; | |
private ServiceBean service; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public interface DroitIndividuService { | |
List<DroitBean> getAllActifsByIdRcu(String idRcu); | |
Optional<DroitBean> getByNomPrenomAndDtNaissanceAndService(String nomUsage, String prenom, LocalDate dtNaissance, String coService); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Service | |
public class DroitIndividuServiceImpl implements DroitIndividuService { | |
private static final IMyLogger logger = MyLoggerUtils.getLogger(DroitIndividuServiceImpl.class); | |
private final IndividuRepository individuRepository; | |
private final DroitsIndividuRepository droitsIndividuRepository; | |
private final ServiceRepository serviceRepository; | |
@Autowired | |
public DroitIndividuServiceImpl( | |
final IndividuRepository individuRepository, | |
final DroitsIndividuRepository droitsIndividuRepository, | |
final ServiceRepository serviceRepository, | |
final IndividuService individuService) { | |
this.individuRepository = individuRepository; | |
this.droitsIndividuRepository = droitsIndividuRepository; | |
this.serviceRepository = serviceRepository; | |
} | |
public List<DroitBean> getByNomPrenomAndDtNaissanceAndService(final String nomUsage, final String prenom, | |
final LocalDate dtNaissance, final String coService) { | |
System.err.println("Début de la méthode getOptionalActifByNomPrenomAndDtNaissanceAndService"); | |
// Appel de la fonction findAllByNomPrenomAndDtNaissance | |
final List<SigsDonneesIndividuData> INDIVIDUS = individuRepository.findAllByNom(nomUsage, prenom); | |
if (INDIVIDUS.size() == 0) { | |
throw new RuntimeException("Individu inconnu"); | |
} | |
final SigsServiceData service = serviceRepository.findByCodeService(codeService); | |
// Lance une exception quand un service est inconnu | |
if (service != null) { | |
throw new RuntimeException("Service inconnu"); | |
} | |
throwIfServiceNotValid(service); | |
SigsDonneesIndividuData individu = null; | |
final Date dateDebutMin = null; | |
List<SigsDroitsIndividuData> list = new List(); | |
for (int i = 0; i < INDIVIDUS; i++) { | |
individu = INDIVIDUS.get(i); | |
logger.info("L'id de l'individu retrouvé est : " + INDIVIDUS.get(0).getIdRpFonc()); | |
List<SigsDroitsIndividuData> droits_individu = droitsIndividuRepository.findDroitsActifsByNomAndPrenom( | |
nomUsage, coService | |
); | |
if (droits_individu.isEmpty()) { | |
continue; | |
} | |
SigsDroitsIndividuData droit; | |
for (int j = 0; j < droits_individu.size(); j++) { | |
// Si la date du droit de l'invididu récupérée est plus petite que la dernière date de début min | |
if (dateDebutMin.toString().compareTo(droit_individu.getDtDebut().toString()) > 0) { | |
dateDebutMin = droit_individu.getDtDebut(); | |
droit = droit_individu.get(j); | |
} | |
} | |
list.add(droit); | |
} | |
List<DroitBean> droits = new List<>(); | |
for (int k = 0; k < list.size(); k++) { | |
final DroitBean droitBean = new DroitBean(); | |
droitBean.setDateDebut(list.get(k).getDtDebut()); | |
droitBean.setDateFin(list.get(k).getDtDebut()); | |
droitBean.setService(service); | |
droits.add(droitBean); | |
} | |
logger.info("OK"); | |
return droits; | |
} | |
private boolean isValid(SigsDroitsIndividuData droit) { | |
if (droit.getDtDebut() != null && droit.getDtFin() != null && droit.isActif()) { | |
return true; | |
} | |
return false; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import lombok.Setter; | |
@Setter | |
public class ServiceBean { | |
private String codeService; | |
private String libelle; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment