|
|
@@ -394,8 +394,10 @@ class Mn1Checker(BaseChecker):
|
|
|
if cable.equipement_b is None:
|
|
|
self.log_error(f"L'équipement lié '{cable.CA_EQ_B}' n'existe pas", item=cable)
|
|
|
|
|
|
- if cable.CA_STATUT != cable.equipement_b.EQ_STATUT:
|
|
|
- self.log_error(f"L'équipement B du cable n'a pas le même statut que le cable", item=cable)
|
|
|
+ if cable.CA_STATUT == "REC" and cable.equipement_a.EQ_STATUT in ('PRO', 'EXE'):
|
|
|
+ self.log_error(f"Incohérence de statut entre le cable et son équipement A", item=cable)
|
|
|
+ if cable.CA_STATUT == "REC" and cable.equipement_b.EQ_STATUT in ('PRO', 'EXE'):
|
|
|
+ self.log_error(f"Incohérence de statut entre le cable et son équipement B", item=cable)
|
|
|
|
|
|
def test_constraints_cables_equipements_b(self):
|
|
|
""" Application des contraintes: Equipements B
|
|
|
@@ -644,6 +646,20 @@ class Mn1Checker(BaseChecker):
|
|
|
for prop, gests in cases.items():
|
|
|
if noeud.NO_PRO.upper() == prop and not noeud.NO_GEST.upper() in gests:
|
|
|
self.log_error("Propriétaire: {}, gestionnaire(s) possible(s): {} (renseigné: {})".format(prop, ', '.join(gests), noeud.NO_GEST), item=noeud)
|
|
|
+
|
|
|
+ for artere in self.arteres:
|
|
|
+ if artere.AR_PRO_FOU.upper() == "ORANGE" and (artere.noeud_a.NO_PRO.upper() == "MANCHE NUMERIQUE" \
|
|
|
+ or artere.noeud_b.NO_PRO.upper() == "MANCHE NUMERIQUE"):
|
|
|
+ self.log_error("Les noeuds d'une artère ORANGE ne peuvent pas être propriété de MANCHE NUMERIQUE", item=artere)
|
|
|
+
|
|
|
+ def test_statuts(self):
|
|
|
+ """ Cohérence des statuts
|
|
|
+ Vérifie que les statuts des éléments sont cohérents """
|
|
|
+ for cable in self.cables:
|
|
|
+ if cable.equipement_a and cable.CA_STATUT == "REC" and cable.equipement_a.EQ_STATUT in ('PRO', 'EXE'):
|
|
|
+ self.log_error(f"Incohérence de statut entre le cable et son équipement A", item=cable)
|
|
|
+ if cable.equipement_b and cable.CA_STATUT == "REC" and cable.equipement_b.EQ_STATUT in ('PRO', 'EXE'):
|
|
|
+ self.log_error(f"Incohérence de statut entre le cable et son équipement B", item=cable)
|
|
|
|
|
|
def _za_for_pbo(self, pbo):
|
|
|
# retourne la ZAPBO correspondant à la PBO en parametre, None si aucune
|