EsupPortail / esup-opi

Other
4 stars 11 forks source link

Impossible de rattacher une VET à une commission quand VET rattachée à plusieurs diplômes #263

Open fricart opened 10 years ago

fricart commented 10 years ago

Bug rapporté par de nombreux établissements sur la liste de diffusion : Bonsoir

Suite à un problème rencontré lors du rattachement dans e-candidat, d'une version d'étape à une commission, nous en sommes arrivés à la conclusion que le plantage survenait uniquement pour des VET qui sont rattachées à deux VDI (ex : nous avons un diplôme de master à finalité recherche et professionnelle, modélisé dans Apogée en 2 VDI; sous ces VDI, nous avons raccroché une seule et même version d'étape).

J'ai retrouvé dans les archives de la liste la conversation ci-dessous en date de février 2011. 2 universités avaient rencontré le problème et Eric Roze de l'UBS préconisait un contournement provisoire. Nous l'avons testé mais il ne fonctionne pas : on pense que c'est parce qu'il suppose des dates de recrutement différentes sur la VDI dans Apogée ; or dans notre cas, nous avons les mêmes dates de recrutement.

Nous confirmez-vous qu'il n'a pas été mis en place de correctif permettant de pallier à ce type de modélisation dans Apogée ? Est-ce que notre problème peut avoir une autre origine ?

cordialement

S.Fouchet

Bonjour,

Je vous donne la solution de contournement (transitoire) mise en place à l'UBS avec l'accord de Yoann en attendant une évolution soit du Web service Esup et/ou de l'application e-candidature.

Nous avons donc modifié le webservice comme suit :

vi src/org/esupportail/apogee/dao/HibernateDaoServiceEnsImpl.java

public VersionDiplome getVersionDiplome(final String dateRct, final String codEtp,
                        final Integer codeVrsVet) {
                if (log.isDebugEnabled()) {
                        log.debug("entering getVersionDiplome(" + dateRct
                                        + ", " + codEtp + ", " + codeVrsVet +  " )");
                }
                DetachedCriteria criteria = DetachedCriteria.forClass(VersionDiplome.class);
                if (StringUtils.hasText(dateRct)) {
                        /*Modification DAVID Arhuis*/
                        //criteria.add(Restrictions.le("daaDebRctVdi", dateRct));
                        //criteria.add(Restrictions.ge("daaFinRctVdi", dateRct));
                }

                DetachedCriteria criteriaVDiFrac  = criteria.createCriteria("vdiFractionnerVet");
                criteriaVDiFrac.add(Restrictions.eq("codEtp", codEtp));
                criteriaVDiFrac.add(Restrictions.eq("codVrsVet", codeVrsVet));

                //Ajout 2 lignes suivantes David ARHUIS
                criteriaVDiFrac.add(Restrictions.le("daaDebRctVet", dateRct));
                criteriaVDiFrac.add(Restrictions.ge("daaFinRctVet", dateRct));

                criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
                List<VersionDiplome> list = getHibernateTemplate().findByCriteria(criteria);
                if (list != null && list.size() == 1) {
                        //logiquement il ne doit avoir qu'un seul diplome ouvert au recrutment
                        return list.get(0);
                }
                log.warn("Leaving getVersionDiplome return null because "
                                + " there are not diplomes or there is more one diplome");
                return null;
        }

puis relancer la compilation.

Nous n'avons plus d'erreurs, nous avons vérifier dans la table trt_cmi_vet et nous avons bien la bonne VDI rattachée à la VET

Eric

Le 07/02/2011 12:16, Belkacem Dahmani a écrit : Bonjour,

Suite à l'appel de Mr Eric Rozé, je viens de vérifier avec la gestionnaire. Nous avons bien un plantage systématique lors de l'ajout d'une étape à une commission lorsque cette étape est rattachée à plusieurs diplômes. le même problème que l'université de Bretagne Sud.

D'avance merci pour votre aide. Belkacem

2011/2/4 Lecuyer Yoann < yoann.lecuyer@univ-rennes1.fr> Bonjour, En regardant l'endroit où a lieu l'erreur dans le code, je vois qu'il pourrait s'agir du VersionDiplomeDTO renvoyer par le webservice qui serait null. Ce qu'il faudrait donc vérifier c'est si pour l'année 2011, votre étape (le code étape) est bien rattaché à un diplôme. Cordialement, YL