28/02/26 - 23h

Signed-off-by: Cherif <cbalde@mysy-training.com>
master_Elyos_FI
Cherif 2026-02-28 23:13:40 +01:00
parent 8e977acbcb
commit 5631a62f07
8 changed files with 1682 additions and 54 deletions

View File

@ -4,12 +4,15 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="27/02/26 - 19h30">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="28/02/26 - 22h">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/E_Sign_Document.py" beforeDir="false" afterPath="$PROJECT_DIR$/E_Sign_Document.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Job_Cron.py" beforeDir="false" afterPath="$PROJECT_DIR$/Job_Cron.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Job_Cron_Common.py" beforeDir="false" afterPath="$PROJECT_DIR$/Job_Cron_Common.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Log/log_file.log" beforeDir="false" afterPath="$PROJECT_DIR$/Log/log_file.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Session_Formation.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/class_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/class_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/notes_apprenant_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/notes_apprenant_mgt.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/base_class_calcul_note.py" beforeDir="false" afterPath="$PROJECT_DIR$/base_class_calcul_note.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/survey_mgt.py" beforeDir="false" afterPath="$PROJECT_DIR$/survey_mgt.py" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -453,7 +456,7 @@
<option name="project" value="LOCAL" />
<updated>1747251650255</updated>
</task>
<option name="localTasksCounter" value="542" />
<option name="localTasksCounter" value="543" />
<servers />
</component>
<component name="Vcs.Log.Tabs.Properties">
@ -495,7 +498,6 @@
</option>
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="23/11/25 - 21h30dd" />
<MESSAGE value="25/11/25 - 21h30dd" />
<MESSAGE value="07/12/25 - 14h" />
<MESSAGE value="13/12/25 - 14h" />
@ -520,6 +522,7 @@
<MESSAGE value="25/02/26 - 19h30" />
<MESSAGE value="26/02/26 - 19h30" />
<MESSAGE value="27/02/26 - 19h30" />
<option name="LAST_COMMIT_MESSAGE" value="27/02/26 - 19h30" />
<MESSAGE value="28/02/26 - 22h" />
<option name="LAST_COMMIT_MESSAGE" value="28/02/26 - 22h" />
</component>
</project>

View File

@ -786,7 +786,7 @@ def Create_E_Signature_For_E_Document(file_img=None, Folder=None, diction=None):
else:
e_docment_type = e_document_data['type']
print(" ### e_docment_type 011111 = ", e_docment_type)
#print(" ### e_docment_type 011111 = ", e_docment_type)
local_signature_digitale = ""
if ("email_destinataire" in e_document_data.keys() and e_document_data['email_destinataire']):

View File

@ -838,7 +838,7 @@ def Invoice_Data_From_Tab(diction):
local_diction['token'] = str(my_partner['token'])
local_diction['_id'] = str(client_data['_id'])
print(" ##### local_diction = ", local_diction)
#print(" ##### local_diction = ", local_diction)
local_status, partner_client_contact_communication = partner_client.Get_Partner_Client_Communication_Contact(
local_diction)

View File

@ -2325,7 +2325,7 @@ def Cron_Sent_Attestation_Stagiaire_By_Email(tab_files, Folder, diction):
stagiaire_client_id = str(inscription_data['client_rattachement_id'])
local_diction = {"token":str(diction['token']), "_id":stagiaire_client_id }
print(" ##### local_diction pr Get_Partner_Client_Communication_Contact= ", local_diction)
#print(" ##### local_diction pr Get_Partner_Client_Communication_Contact= ", local_diction)
local_status, partner_client_contact_communication = partner_client.Get_Partner_Client_Communication_Contact(local_diction)
if (local_status is True):

File diff suppressed because one or more lines are too long

View File

@ -10871,14 +10871,14 @@ def Prepare_and_Send_Facture_From_Session_By_Email(tab_files, Folder, diction):
tab_local_invoice_ref_interne = []
# Envoie des factures pour les inscrits AVEC client_id (conventions d'entreprise)
for single_client in liste_client_rattachement_id:
print(" Traitement du client_id = ", single_client)
#print(" Traitement du client_id = ", single_client)
# Recuperation des contacts de communication du client
local_diction = {}
local_diction['token'] = diction['token']
local_diction['_id'] = str(single_client)
print(" ##### local_diction = ", local_diction)
#print(" ##### local_diction = ", local_diction)
local_status, partner_client_contact_communication = partner_client.Get_Partner_Client_Communication_Contact(
local_diction)
@ -10886,7 +10886,7 @@ def Prepare_and_Send_Facture_From_Session_By_Email(tab_files, Folder, diction):
mycommon.myprint(" Impossible de récupérer les contacts de communication du client ")
return False, " Impossible de récupérer les contacts de communication du client ", False
print(" ### partner_client_contact_communication = ", partner_client_contact_communication)
#print(" ### partner_client_contact_communication = ", partner_client_contact_communication)
tab_local_email_production = []
for tmp in partner_client_contact_communication:
tmp_JSON = ast.literal_eval(tmp)

View File

@ -27,6 +27,7 @@ La collection : "note_evaluation_participant" :
- Elle contient les informations :evaluation_id, inscription_id, group_inscription_id, note (la note obtenue par l'apprenant)
"""
import base64
from operator import itemgetter
from zipfile import ZipFile
import bson
@ -428,14 +429,14 @@ def Cacul_UE_Note_By_Evaluation_Type(diction):
liste_note_evaluation_ids = []
print(" QRYY = ", {'partner_owner_recid': str(my_partner['recid']),
"""print(" QRYY = ", {'partner_owner_recid': str(my_partner['recid']),
'valide': '1',
'locked': '0',
'session_id': str(diction['session_id']),
'class_id': str(diction['class_id']),
'class_eu_id': str(diction['ue_id']),
'type_eval_id': str(evaluation_type_id)} )
"""
for val in MYSY_GV.dbname['note_evaluation'].find({'partner_owner_recid': str(my_partner['recid']),
'valide': '1',
@ -449,10 +450,10 @@ def Cacul_UE_Note_By_Evaluation_Type(diction):
somme_note = 0
moyenne_note = 0
print(" ### la liste des evaluations de type sont : ", liste_note_evaluation_ids)
#print(" ### la liste des evaluations de type sont : ", liste_note_evaluation_ids)
nb_eval = len(liste_note_evaluation_ids)
print(" ### la liste len(liste_note_evaluation_ids) : ", len(liste_note_evaluation_ids))
#print(" ### la liste len(liste_note_evaluation_ids) : ", len(liste_note_evaluation_ids))
if( nb_eval > 0 ):
for my_inscription in tab_inscriptions_ids_splited:
@ -480,11 +481,12 @@ def Cacul_UE_Note_By_Evaluation_Type(diction):
somme_note = somme_note + mycommon.tryFloat(str(note_evaluation_participant['note']))
print("************* ", evaluation_data['code'], " Du ",evaluation_data['eval_date_heure_debut'], " Au ", evaluation_data['eval_date_heure_fin'])
"""print("************* ", evaluation_data['code'], " Du ",evaluation_data['eval_date_heure_debut'], " Au ", evaluation_data['eval_date_heure_fin'])
print(" Session : is_session_valide_data = ", is_session_valide_data['code_session'])
print(" Unit. Ensei : is_ue_valide_data = ", is_ue_valide_data['code'])
print(" note_evaluation_participant = ", note_evaluation_participant['note'])
"""
tab_apprenant_note.append(str(note_evaluation_participant['note']))
if( nb_eval == 0 ):
@ -749,7 +751,7 @@ def Cacul_UE_Note_Finale_For_calcul_mode_1(diction):
local_node['seuil_validation'] = "99" # le 99 pour eviter les validation par defaut
# Acter si la personne valide l'UE
print(" #### si la personne valide l'UE CMP de float(note_finale_ue) = ", float(note_finale_ue) , " et float(local_node['seuil_validation'] ) = ", float(local_node['seuil_validation'] ))
#print(" #### si la personne valide l'UE CMP de float(note_finale_ue) = ", float(note_finale_ue) , " et float(local_node['seuil_validation'] ) = ", float(local_node['seuil_validation'] ))
if(float(note_finale_ue) >= float(local_node['seuil_validation'] )):
local_node['ue_validation'] = "1"
else:
@ -937,13 +939,172 @@ def Get_List_Evaluation_Final_Note_Classement_Detail_With_Filter(diction):
query = {"$and": [filt_session_id, filt_ue_id, data_cle, filt_inscrit_id, filt_apprenant_id_from_jury_seance]}
print(" ### tetetet query = ",query)
query2 = [ { "$match":{"$and": [filt_session_id, filt_ue_id, data_cle, filt_inscrit_id, filt_apprenant_id_from_jury_seance]}},
{'$lookup':
{
'from': 'inscription',
'let': {'inscription_id': "$inscription_id", 'partner_owner_recid': '$partner_owner_recid'},
'pipeline': [
{'$match':
{'$expr':
{'$and':
[
{'$eq': ["$_id", {'$convert': {
'input': "$$inscription_id",
'to': "objectId",
'onError': {'error': 'true'},
'onNull': {'isnull': 'true'}
}}]},
{'$eq': ["$valide", "1"]},
{'$eq': ["$partner_owner_recid", '$$partner_owner_recid']},
]
}
}
},
],
'as': 'inscription_collection'
}
},
{
'$unwind': '$inscription_collection'
},
{'$lookup':
{
'from': 'unite_enseignement',
'let': {'ue_id': "$ue_id", 'partner_owner_recid': '$partner_owner_recid'},
'pipeline': [
{'$match':
{'$expr':
{'$and':
[
{'$eq': ["$_id", {'$convert': {
'input': "$$ue_id",
'to': "objectId",
'onError': {'error': 'true'},
'onNull': {'isnull': 'true'}
}}]},
{'$eq': ["$valide", "1"]},
{'$eq': ["$partner_owner_recid", '$$partner_owner_recid']},
]
}
}
},
],
'as': 'unite_enseignement_collection'
}
},
{
'$unwind': '$unite_enseignement_collection'
},
{'$lookup':
{
'from': 'myclass',
'let': {'class_id': "$class_id", 'partner_owner_recid': '$partner_owner_recid'},
'pipeline': [
{'$match':
{'$expr':
{'$and':
[
{'$eq': ["$_id", {'$convert': {
'input': "$$class_id",
'to': "objectId",
'onError': {'error': 'true'},
'onNull': {'isnull': 'true'}
}}]},
{'$eq': ["$valide", "1"]},
{'$eq': ["$partner_owner_recid", '$$partner_owner_recid']},
]
}
}
},
],
'as': 'myclass_collection'
}
},
{
'$unwind': '$myclass_collection'
},
{'$project': {'_id': 1, 'session_id': 1, 'type_eval': 1, 'ue_id': 1, 'class_id': 1,
'inscription_id': 1, 'moyenne': 1, 'somme': 1,
'inscription_collection.email': 1, 'inscription_collection.nom': 1,
'inscription_collection.prenom': 1,
'unite_enseignement_collection.code': 1,
'myclass_collection.external_code': 1,
}},
{'$sort': {'ue_id': 1, 'type_eval_id':1, 'inscription_id':1, }},
]
#print(" ### tetetet query = ",query)
#print(" ### query2query2 = ", query2)
RetObject = []
val_tmp = 0
for retval in MYSY_GV.dbname['session_formation_final_note_classement_detail'].find(query).sort([("ue_id", pymongo.DESCENDING),("inscription_id", pymongo.DESCENDING),
for retval in MYSY_GV.dbname['session_formation_final_note_classement_detail'].aggregate(query2):
#print(" ## retval = ", retval )
user = retval
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
ue_id_code = ""
if( "unite_enseignement_collection" in retval.keys() and "code" in retval['unite_enseignement_collection'].keys()):
ue_id_code = retval['unite_enseignement_collection']['code']
user['ue_id_code'] = ue_id_code
class_id_external_code = ""
if ("myclass_collection" in retval.keys() and "external_code" in retval['myclass_collection'].keys()):
class_id_external_code = retval['myclass_collection']['external_code']
user['class_id_external_code'] = class_id_external_code
inscription_id_nom = ""
inscription_id_prenom = ""
inscription_id_mail = ""
if ("inscription_collection" in retval.keys() and "email" in retval['inscription_collection'].keys()):
inscription_id_mail = retval['inscription_collection']['email']
if ("inscription_collection" in retval.keys() and "nom" in retval['inscription_collection'].keys()):
inscription_id_nom = retval['inscription_collection']['nom']
if ("inscription_collection" in retval.keys() and "prenom" in retval['inscription_collection'].keys()):
inscription_id_prenom = retval['inscription_collection']['prenom']
user['inscription_id_mail'] = inscription_id_mail
user['inscription_id_nom'] = inscription_id_nom
user['inscription_id_prenom'] = inscription_id_prenom
#print(" ### user = ", user)
RetObject.append(mycommon.JSONEncoder().encode(user))
"""
for retval in MYSY_GV.dbname['session_formation_final_note_classement_detail'].aggregate(query2).sort([("ue_id", pymongo.DESCENDING),("inscription_id", pymongo.DESCENDING),
("type_eval_id", pymongo.DESCENDING), ]):
print(" ## retval = ", retval )
user = retval
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
@ -997,7 +1158,7 @@ def Get_List_Evaluation_Final_Note_Classement_Detail_With_Filter(diction):
RetObject.append(mycommon.JSONEncoder().encode(user))
"""
return True, RetObject
@ -1234,12 +1395,12 @@ def Get_List_Evaluation_Inscriptio_Note_Classement_With_Filter(diction):
RetObject = []
val_tmp = 0
for retval in MYSY_GV.dbname['inscription'].find(data_cle).sort([("rang", pymongo.ASCENDING),("note_finale", pymongo.DESCENDING),
("nom", pymongo.DESCENDING), ]):
for retval in MYSY_GV.dbname['inscription'].find(data_cle).sort([("rang", pymongo.ASCENDING) ]).collation({'locale': "fr", 'numericOrdering': True}):
user = retval
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
if( "jury_note" not in retval.keys() ):
user['jury_note'] = ""
@ -1255,9 +1416,10 @@ def Get_List_Evaluation_Inscriptio_Note_Classement_With_Filter(diction):
if ("rang_calculation_date" not in retval.keys()):
user['rang_calculation_date'] = ""
RetObject.append(mycommon.JSONEncoder().encode(user))
return True, RetObject
@ -1491,7 +1653,7 @@ def Cacul_Session_Note_Finale_For_calcul_mode_1(diction):
new_execo_classement = classement + 1
is_execo = '1'
print(" 11111 ")
#print(" 11111 ")
# MAJ du rang
MYSY_GV.dbname['inscription'].find_one_and_update(
{'_id': ObjectId(str(sorted_data['_id'])),
@ -1693,7 +1855,7 @@ def Calcul_Note_Classement_Session(diction):
tab_ue_id.append( str(class_class_ue_data['_id']))
print(" ### ooooo tab_ue_id = ", tab_ue_id)
#print(" ### ooooo tab_ue_id = ", tab_ue_id)
local_diction = {}
@ -1708,7 +1870,7 @@ def Calcul_Note_Classement_Session(diction):
list_inscrit_id = ",".join(tab_inscrit_id)
local_diction['tab_inscriptions_ids'] = str(list_inscrit_id)
print('### local_diction 01010 =', local_diction)
#print('### local_diction 01010 =', local_diction)
local_status, local_retval = run_ue_pre_calcul_moyenne_somme_v2(local_diction)
@ -1778,11 +1940,11 @@ def Calcul_Note_Classement_Session(diction):
local_seuil_validation = class_class_ue_data['seuil_validation']
print(" ### Pour l'UE : ",str(unite_enseignement_data['code']),
"""print(" ### Pour l'UE : ",str(unite_enseignement_data['code']),
" Coef : ", local_coef,
" seuil validation : ", local_seuil_validation)
print(" ### la formule de calcul est : ", base_calcul_note_class_and_ue_data['fonction_name'])
print(" ### la formule de calcul est : ", base_calcul_note_class_and_ue_data['fonction_name'])"""
#field_list = ['token', 'class_id', 'session_id', 'ue_id', 'tab_inscriptions_ids',]
local_node = {}
@ -1803,14 +1965,14 @@ def Calcul_Note_Classement_Session(diction):
mycommon.myprint(str(
inspect.stack()[0][3]) + " Fonction '" + str(base_calcul_note_class_and_ue_data['fonction_name']) + "' est introuvable")
print(" Exécution de la fonction : UE de Session = ", base_calcul_note_class_and_ue_data['fonction_name'])
#print(" Exécution de la fonction : UE de Session = ", base_calcul_note_class_and_ue_data['fonction_name'])
local_status, local_retval = cron_function(local_node)
class_function_note_calcul_rule = ""
class_note_calcul_data = None
if( is_class_data and "note_finale_calculation_rule_id" in is_class_data.keys() and is_class_data['note_finale_calculation_rule_id'] ):
print(" ### note_finale_calculation_rule_id = ", is_class_data['note_finale_calculation_rule_id'])
#print(" ### note_finale_calculation_rule_id = ", is_class_data['note_finale_calculation_rule_id'])
class_note_calcul_data = MYSY_GV.dbname['base_calcul_note_class_and_ue'].find_one({ 'valide':'1',
@ -1820,7 +1982,7 @@ def Calcul_Note_Classement_Session(diction):
if ("fonction_name" in class_note_calcul_data.keys() and class_note_calcul_data['fonction_name']):
print(" Traitement fonction niveau SESSION = ", class_note_calcul_data['fonction_name'])
#print(" Traitement fonction niveau SESSION = ", class_note_calcul_data['fonction_name'])
possibles = globals().copy()
possibles.update(locals())
@ -1843,7 +2005,7 @@ def Calcul_Note_Classement_Session(diction):
local_con_status, local_con_retval = cron_function(local_node)
print(" ### class_note_calcul_data = ", class_note_calcul_data)
#print(" ### class_note_calcul_data = ", class_note_calcul_data)
RetObject = []
@ -1892,7 +2054,7 @@ def Cacul_UE_Note_Finale_Standard(diction):
return False, " Les informations fournies sont incorrectes"
print(" ## diction ) diction = ", diction)
#print(" ## diction ) diction = ", diction)
"""
Verification de l'identité et autorisation de l'entité qui
appelle cette API
@ -1985,7 +2147,7 @@ def Cacul_UE_Note_Finale_Standard(diction):
'locked': '0',
'partner_owner_recid': str(my_partner['recid'])}):
print(" is_ue_valide_data == : ", is_ue_valide_data)
#print(" is_ue_valide_data == : ", is_ue_valide_data)
# Recuperer les données de l'UE dans la formation (ex : credit, seuil de validation, etc)
class_ue_data = {}
@ -2082,10 +2244,10 @@ def Cacul_UE_Note_Finale_Standard(diction):
if ("seuil_validation" in class_ue_data.keys() and class_ue_data['seuil_validation'] ):
local_node['seuil_validation'] = str(class_ue_data['seuil_validation'])
print(" ## str(class_ue_data['seuil_validation']) = ", str(class_ue_data['seuil_validation']))
#print(" ## str(class_ue_data['seuil_validation']) = ", str(class_ue_data['seuil_validation']))
if ("seuil_validation" in is_ue_valide_data.keys() and is_ue_valide_data['seuil_validation']):
local_node['seuil_validation'] = str(is_ue_valide_data['seuil_validation'])
print(" ## str(is_ue_valide_data['seuil_validation']) = ", str(is_ue_valide_data['seuil_validation']))
#print(" ## str(is_ue_valide_data['seuil_validation']) = ", str(is_ue_valide_data['seuil_validation']))
else:
local_node['seuil_validation'] = "99" # le 99 pour eviter les validation par defaut
@ -2161,14 +2323,14 @@ def Cacul_UE_Note_Finale_Standard(diction):
note_categorie_status, note_categorie_code = mycommon.Get_Note_Categorie_Code(str(note_finale_ue), my_partner['recid'])
local_node['note_categorie'] = str(note_categorie_code)
print(" ### note_finale = ", note_finale_ue)
#print(" ### note_finale = ", note_finale_ue)
print(" ### local_node['seuil_validation'] = ", local_node['seuil_validation'])
#print(" ### local_node['seuil_validation'] = ", local_node['seuil_validation'])
# Acter si la personne valide l'UE
print(" #### si la personne valide l'UE CMP de float(note_finale_ue) = ", float(note_finale_ue),
"""print(" #### si la personne valide l'UE CMP de float(note_finale_ue) = ", float(note_finale_ue),
" et float(local_node['seuil_validation'] ) = ", float(local_node['seuil_validation']))
"""
if (float(note_finale_ue) >= float(local_node['seuil_validation'])):
local_node['ue_validation'] = "1"
else:
@ -2267,8 +2429,8 @@ def Cacul_UE_Note_Finale_Standard(diction):
}
},
]
for retval in MYSY_GV.dbname['session_formation_final_note_classement'].aggregate(pipe_qry_nb_personne_par_ue):
print(" ### retval pipe_qry_nb_personne_par_ue = ", retval)
"""for retval in MYSY_GV.dbname['session_formation_final_note_classement'].aggregate(pipe_qry_nb_personne_par_ue):
print(" ### retval pipe_qry_nb_personne_par_ue = ", retval)"""
@ -2292,7 +2454,7 @@ def Cacul_UE_Note_Finale_Standard(diction):
"""
Initialisation de toutes les categorie de note à un pourcentage de '0'
"""
print(" ### tab_ue_ids = ", tab_ue_ids)
#print(" ### tab_ue_ids = ", tab_ue_ids)
for local_ue in str(tab_ue_ids).split(","):
if( local_ue):
for val in MYSY_GV.dbname['note_categorie'].find({'valide':'1', 'locked':'0'}):
@ -2523,7 +2685,7 @@ def run_ue_pre_calcul_moyenne_somme_v2(diction):
for my_ue_id in tab_ue_ids_splited:
my_ue_id = str(my_ue_id).strip()
print(" ## TGGT my_ue_id = ", my_ue_id)
#print(" ## TGGT my_ue_id = ", my_ue_id)
my_ue_id_data = MYSY_GV.dbname['unite_enseignement'].find_one(
{'_id': ObjectId(str(my_ue_id)),
@ -2549,15 +2711,15 @@ def run_ue_pre_calcul_moyenne_somme_v2(diction):
}
)
print(" ### la liste Class_UE_type_eval = ", Class_UE_type_eval)
#print(" ### la liste Class_UE_type_eval = ", Class_UE_type_eval)
print(" ### QRYYY = ", {'class_eu_id': str(my_ue_id),
"""print(" ### QRYYY = ", {'class_eu_id': str(my_ue_id),
'valide': '1',
'locked': '0',
'session_id':str(diction['session_id']),
'partner_owner_recid': str(my_partner['recid']),
'type_eval_id':{'$in':Class_UE_type_eval}
})
})"""
evaluation_distinc_type_eval = MYSY_GV.dbname['note_evaluation'].distinct("type_eval_id",
{'class_eu_id': str(my_ue_id),
@ -2571,7 +2733,7 @@ def run_ue_pre_calcul_moyenne_somme_v2(diction):
print(" ### la liste evaluation_distinc_type_eval = ", evaluation_distinc_type_eval)
#print(" ### la liste evaluation_distinc_type_eval = ", evaluation_distinc_type_eval)
@ -2608,7 +2770,7 @@ def run_ue_pre_calcul_moyenne_somme_v2(diction):
'locked': '0',
'_id': ObjectId(str(eval_type_id))})
print(" TRAITEMENT TYPE EVAL iii : ", str(eval_type_id_data["code"]))
#print(" TRAITEMENT TYPE EVAL iii : ", str(eval_type_id_data["code"]))
local_diction = diction
local_diction['tab_inscriptions_ids'] = str(my_inscription)
@ -2640,10 +2802,10 @@ def run_ue_pre_calcul_moyenne_somme_v2(diction):
new_node['nb_evaluation'] = str(local_retval_nb_eval_TD)
# Recuperer la ponderation associé à ce type d'evaluation
print(" ## QRY class_unite_enseignement_type_evaluation_data = ", {'class_id':str(diction['class_id']),
"""print(" ## QRY class_unite_enseignement_type_evaluation_data = ", {'class_id':str(diction['class_id']),
'type_evaluation_id': str(eval_type_id_data["_id"]),
'class_ue_id': str(my_ue_id),
})
})"""
class_unite_enseignement_type_evaluation_data = MYSY_GV.dbname['class_unite_enseignement_type_evaluation'].find_one({'class_id':str(diction['class_id']),
'type_evaluation_id': str(eval_type_id_data["_id"]),
@ -2793,7 +2955,7 @@ def Cacul_Session_Note_Finale_For_calcul_Stanard(diction):
tab_class_ue = []
if( "list_unite_enseignement" in is_session_valide_data.keys() ):
for tmp_tab_session_ue in is_session_valide_data['list_unite_enseignement']:
print(" ## tmp_tab_session_ue = ", tmp_tab_session_ue)
#print(" ## tmp_tab_session_ue = ", tmp_tab_session_ue)
if (tmp_tab_session_ue and '_id' in tmp_tab_session_ue.keys()):
local_class_eu = MYSY_GV.dbname['myclass'].find_one(

View File

@ -558,7 +558,7 @@ def Record_Survey_Data_No_Token(diction):
local_diction['survey_type'] = str(survey_data['survey_type'])
if( "inscription_id" in local_diction.keys() and local_diction['inscription_id']):
print(" ### local_diction = ", local_diction)
#print(" ### local_diction = ", local_diction)
retval_status, retval = Survey_Send_Notification_Sur_Seuil_Alert(local_diction)
if( retval_status is False):