Skip to content

Commit

Permalink
- Travail en cours sur récupérer proprement la 008 de la notice
Browse files Browse the repository at this point in the history
  • Loading branch information
jvk88511334 committed Oct 21, 2024
1 parent 1825107 commit 0981942
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,9 @@ private LigneFichierDtoSupp processDemandeSupp(LigneFichierDto ligneFichierDto)
//récupération des exemplaires existants pour cette ligne
List<Exemplaire> exemplairesExistants = ((DemandeSuppService) strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.SUPP))
.getExemplairesExistants(ligneFichierDtoSupp.getPpn());
//TODO voir dans getTypeDocumentFromPpn comment gérer la logique de la 008 pour les notices
String oo8 = ((DemandeSuppService) strategyFactory.getStrategy(IDemandeService.class, TYPE_DEMANDE.SUPP))
.getTypeDocumentFromPpn(ligneFichierDtoSupp.getPpn());
if (ligneFichierDtoSupp.getEpn() != null) {
Optional<Exemplaire> exemplaireASupprimerOpt = exemplairesExistants.stream().filter(exemplaire -> exemplaire.findZone("A99", 0).getValeur().equals(ligneFichierDtoSupp.getEpn())).findFirst();
if (exemplaireASupprimerOpt.isPresent()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import fr.abes.cbs.exception.CBSException;
import fr.abes.cbs.exception.ZoneException;
import fr.abes.cbs.notices.Exemplaire;
import fr.abes.cbs.notices.Notice;
import fr.abes.item.core.components.*;
import fr.abes.item.core.configuration.factory.FichierFactory;
import fr.abes.item.core.configuration.factory.Strategy;
Expand Down Expand Up @@ -390,6 +391,24 @@ public String[] getNoticeExemplaireAvantApres(Demande demande, LigneFichier lign
}
}

public String getTypeDocumentFromPpn(String ppn) throws CBSException, IOException, QueryToSudocException {
String query = "che ppn " + ppn;
traitementService.getCbs().search(query);
int nbReponses = traitementService.getCbs().getNbNotices();
return switch (nbReponses) {
case 0 -> throw new QueryToSudocException(Constant.ERR_FILE_NOTICE_NOT_FOUND);
case 1 -> {
//TODO reprendre ici et voir si on peut récupérer la 008 en récupérant la notice au format String
//TODO Parce que j'ai pas envie de parser en string pour aller chercher la 008n si une méthode existe deja dans accescbs
//Notice notice = traitementService.getCbs().getClientCBS()
//String notice = traitementService.getCbs().getClientCBS().mod("1", String.valueOf(traitementService.getCbs().getLotEncours()));
//log.debug(notice);
//yield notice;
}
default -> throw new QueryToSudocException(Constant.ERR_FILE_MULTIPLES_NOTICES_FOUND + traitementService.getCbs().getListePpn());
};
}

public List<Exemplaire> getExemplairesExistants(LigneFichierSupp ligneFichierSupp) throws IOException, QueryToSudocException, CBSException, ZoneException {
return getExemplairesExistants(ligneFichierSupp.getPpn());
}
Expand Down

0 comments on commit 0981942

Please sign in to comment.