1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| List<Presta> prestas = new ArrayList<Presta>();
Query query;
String codeEtab;
Date dateConsoDebut;
Date dateConsoFin;
List<MO> mos;
List<DMI> dmis;
// Récupération des paramètres pour la requête
logger.fine("Récupération des paramètres pour la requête");
codeEtab = traitement.getEtab().getCode();
dateConsoDebut = this.findDateEntreeRUMLaPlusAncienne(traitement);
dateConsoFin = traitement.getDernierJourDeLaPeriode();
// Récupération des MO
logger.fine("Récupération des MO");
query = em_modmi
.createQuery("SELECT NEW fr.aphm.pmsi.amdr.entity.MO(mops.codePhco, "
+ " mops.ucd, mops.dossier, mops.quantiteT2A, "
+ " mops.dateConso, mops.montant) "
+ " FROM MOProduitSejour mops "
+ " WHERE mops.origineIdent2 = :paramOrigineIdent2 "
+ " AND mops.validiteT2A = :paramValiditeT2A "
+ " AND mops.groupePresc <= :paramGroupePrescMax "
+ " AND mops.dateConso BETWEEN :paramDateConsoDebut AND :paramDateConsoFin ");
query.setParameter("paramOrigineIdent2", codeEtab);
query.setParameter("paramValiditeT2A", 1); // valide
query.setParameter("paramGroupePrescMax", GROUPE_PRESC_MAX);
query.setParameter("paramDateConsoDebut", dateConsoDebut);
query.setParameter("paramDateConsoFin", dateConsoFin);
mos = query.getResultList();
logger.fine("Total MO = " + mos.size());
prestas.addAll(mos);
// Récupération des DMI
logger.fine("Récupération des DMI");
query = em_modmi
.createQuery("SELECT NEW fr.aphm.pmsi.amdr.entity.DMI(dmips.codePhco, "
+ " dmips.lpp, dmips.dossier, dmips.quantiteT2A, "
+ " dmips.datePose, dmips.montant) "
+ " FROM DMIProduitSejour dmips "
+ " WHERE dmips.origineIdent2 = :paramOrigineIdent2 "
+ " AND dmips.validiteT2A = :paramValiditeT2A "
+ " AND dmips.datePose BETWEEN :paramDateConsoDebut AND :paramDateConsoFin ");
query.setParameter("paramOrigineIdent2", codeEtab);
query.setParameter("paramValiditeT2A", 1); // valide
query.setParameter("paramDateConsoDebut", dateConsoDebut);
query.setParameter("paramDateConsoFin", dateConsoFin);
dmis = query.getResultList();
logger.fine("Total DMI = " + dmis.size());
prestas.addAll(dmis);
traitement.setPrestas(prestas);
Iterator<Presta> itPresta = traitement.getPrestas().iterator();
while (itPresta.hasNext()) {
Presta presta = itPresta.next();
presta.setTraitement(traitement); // ça bugue ici !! :aie:
}
// On sauvegarde les prestas
em.merge(traitement); |
Partager