Skip to content

Instantly share code, notes, and snippets.

@btounkara
Last active October 13, 2021 13:11
Show Gist options
  • Save btounkara/142653897795484476e28ab7d2f99bd9 to your computer and use it in GitHub Desktop.
Save btounkara/142653897795484476e28ab7d2f99bd9 to your computer and use it in GitHub Desktop.
Code review java
public class DroitBean {
private Instant dateDebut;
private Instant dateFin;
private ServiceBean service;
}
public interface DroitIndividuService {
List<DroitBean> getAllActifsByIdRcu(String idRcu);
Optional<DroitBean> getByNomPrenomAndDtNaissanceAndService(String nomUsage, String prenom, LocalDate dtNaissance, String coService);
}
@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;
}
}
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