15/09/2023 - 18h

master
cherif 2023-09-15 17:58:39 +02:00
parent 60b0d7ac6f
commit 4d4435ac93
4 changed files with 1370 additions and 62 deletions

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="14/09/2023 - 21h"> <list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="15/09/2023 - 12h">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" 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$/Log/log_file.log" beforeDir="false" afterPath="$PROJECT_DIR$/Log/log_file.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/partner_order.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_order.py" afterDir="false" /> <change beforePath="$PROJECT_DIR$/partner_order.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_order.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/ressources_humaines.py" beforeDir="false" afterPath="$PROJECT_DIR$/ressources_humaines.py" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -69,13 +69,6 @@
<option name="presentableId" value="Default" /> <option name="presentableId" value="Default" />
<updated>1680804787304</updated> <updated>1680804787304</updated>
</task> </task>
<task id="LOCAL-00057" summary="01/08/230- 21h">
<created>1690918242182</created>
<option name="number" value="00057" />
<option name="presentableId" value="LOCAL-00057" />
<option name="project" value="LOCAL" />
<updated>1690918242182</updated>
</task>
<task id="LOCAL-00058" summary="03/08/23 - 19h"> <task id="LOCAL-00058" summary="03/08/23 - 19h">
<created>1691082545383</created> <created>1691082545383</created>
<option name="number" value="00058" /> <option name="number" value="00058" />
@ -412,7 +405,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1694717319295</updated> <updated>1694717319295</updated>
</task> </task>
<option name="localTasksCounter" value="106" /> <task id="LOCAL-00106" summary="15/09/2023 - 12h">
<created>1694773383427</created>
<option name="number" value="00106" />
<option name="presentableId" value="LOCAL-00106" />
<option name="project" value="LOCAL" />
<updated>1694773383428</updated>
</task>
<option name="localTasksCounter" value="107" />
<servers /> <servers />
</component> </component>
<component name="Vcs.Log.Tabs.Properties"> <component name="Vcs.Log.Tabs.Properties">
@ -427,7 +427,6 @@
</option> </option>
</component> </component>
<component name="VcsManagerConfiguration"> <component name="VcsManagerConfiguration">
<MESSAGE value="23/08/23 - 20h" />
<MESSAGE value="24/08/23 - 12h" /> <MESSAGE value="24/08/23 - 12h" />
<MESSAGE value="25/08/23 - 21h" /> <MESSAGE value="25/08/23 - 21h" />
<MESSAGE value="26/08/23 - 20h" /> <MESSAGE value="26/08/23 - 20h" />
@ -452,6 +451,7 @@
<MESSAGE value="12/09/2023 - 18h" /> <MESSAGE value="12/09/2023 - 18h" />
<MESSAGE value="13/09/2023 - 18h" /> <MESSAGE value="13/09/2023 - 18h" />
<MESSAGE value="14/09/2023 - 21h" /> <MESSAGE value="14/09/2023 - 21h" />
<option name="LAST_COMMIT_MESSAGE" value="14/09/2023 - 21h" /> <MESSAGE value="15/09/2023 - 12h" />
<option name="LAST_COMMIT_MESSAGE" value="15/09/2023 - 12h" />
</component> </component>
</project> </project>

File diff suppressed because one or more lines are too long

View File

@ -2920,7 +2920,7 @@ def Get_Given_Partner_Order_Lines(diction):
'pipeline': [{'$match': {'$and': [ filt_class_partner_recid]}}, 'pipeline': [{'$match': {'$and': [ filt_class_partner_recid]}},
{'$project': {'title': 1, 'domaine': 1, {'$project': {'title': 1, 'domaine': 1,
'duration': 1, 'duration': 1,
'duration_unit': 1}}], 'duration_unit': 1,'external_code':1}}],
'as': 'myclass_collection' 'as': 'myclass_collection'
} }
} }
@ -2989,6 +2989,7 @@ def Get_Given_Partner_Order_Lines(diction):
user['order_line_comment'] = "" user['order_line_comment'] = ""
user['title'] = retval['myclass_collection'][0]['title'] user['title'] = retval['myclass_collection'][0]['title']
user['order_line_formation_external_code'] = retval['myclass_collection'][0]['external_code']
user['domaine'] = retval['myclass_collection'][0]['domaine'] user['domaine'] = retval['myclass_collection'][0]['domaine']
user['duration'] = retval['myclass_collection'][0]['duration'] user['duration'] = retval['myclass_collection'][0]['duration']
user['duration_unit'] = retval['myclass_collection'][0]['duration_unit'] user['duration_unit'] = retval['myclass_collection'][0]['duration_unit']
@ -3097,7 +3098,7 @@ def Get_Given_Partner_Order_Lines_From_order_ref_interne(diction):
'pipeline': [{'$match': {'$and': [ filt_class_partner_recid]}}, 'pipeline': [{'$match': {'$and': [ filt_class_partner_recid]}},
{'$project': {'title': 1, 'domaine': 1, {'$project': {'title': 1, 'domaine': 1,
'duration': 1, 'duration': 1,
'duration_unit': 1}}], 'duration_unit': 1,'external_code':1}}],
'as': 'myclass_collection' 'as': 'myclass_collection'
} }
} }
@ -3164,6 +3165,7 @@ def Get_Given_Partner_Order_Lines_From_order_ref_interne(diction):
user['order_line_comment'] = "" user['order_line_comment'] = ""
user['title'] = retval['myclass_collection'][0]['title'] user['title'] = retval['myclass_collection'][0]['title']
user['order_line_formation_external_code'] = retval['myclass_collection'][0]['external_code']
user['domaine'] = retval['myclass_collection'][0]['domaine'] user['domaine'] = retval['myclass_collection'][0]['domaine']
user['duration'] = retval['myclass_collection'][0]['duration'] user['duration'] = retval['myclass_collection'][0]['duration']
user['duration_unit'] = retval['myclass_collection'][0]['duration_unit'] user['duration_unit'] = retval['myclass_collection'][0]['duration_unit']
@ -3364,7 +3366,7 @@ def Get_List_Partner_Order_no_filter(diction):
{'$lookup': {'$lookup':
{ {
'from': 'partner_order_line', 'from': 'partner_order_line',
'localField': "ressource_humaine_Id", 'localField': "partner_order_header_Id",
'foreignField': 'order_header_id', 'foreignField': 'order_header_id',
'pipeline': [{'$match': {'$and': [{}, { 'pipeline': [{'$match': {'$and': [{}, {
'partner_owner_recid': str(my_partner['recid'])}, {'valide': '1'}]}}, ], 'partner_owner_recid': str(my_partner['recid'])}, {'valide': '1'}]}}, ],
@ -3433,7 +3435,7 @@ def Get_List_Partner_Order_with_filter(diction):
Verification des input acceptés. les filtres accepté sont : Verification des input acceptés. les filtres accepté sont :
- ref_interne, - ref_interne,
""" """
field_list = ['token', 'date_cmd_debut', 'date_cmd_fin', 'client_nom', 'ref_interne', 'ref_externe'] field_list = ['token', 'date_cmd_debut', 'date_cmd_fin', 'client_nom', 'ref_interne', 'ref_externe', 'formation']
incom_keys = diction.keys() incom_keys = diction.keys()
for val in incom_keys: for val in incom_keys:
@ -3479,6 +3481,23 @@ def Get_List_Partner_Order_with_filter(diction):
#print(' ### filt_client_nom = ', filt_client_nom) #print(' ### filt_client_nom = ', filt_client_nom)
filt_formation_external_code = {}
sub_filt_formation_external_code = {}
Lists_partner_formation_internal_url = []
if ("formation" in diction.keys()):
sub_filt_formation_external_code = {'external_code': {'$regex': str(diction['formation']), "$options": "i"},
'partner_owner_recid': str(my_partner['recid']), 'valide': '1', 'locked': '0'}
# Recuperation des '_id' des formation dont le nom match en regexp
print(" ### sub_filt_formation_external_code = ", sub_filt_formation_external_code)
for Lists_partner_formation_Data in MYSY_GV.dbname['myclass'].find(sub_filt_formation_external_code, {'internal_url': 1}):
Lists_partner_formation_internal_url.append(str(Lists_partner_formation_Data['internal_url']))
filt_formation_external_code = {'order_line_formation': {'$in': Lists_partner_formation_internal_url }}
filt_ref_interne = {} filt_ref_interne = {}
if ("ref_interne" in diction.keys()): if ("ref_interne" in diction.keys()):
filt_ref_interne = { filt_ref_interne = {
@ -3498,9 +3517,9 @@ def Get_List_Partner_Order_with_filter(diction):
{'$lookup': {'$lookup':
{ {
'from': 'partner_order_line', 'from': 'partner_order_line',
'localField': "ressource_humaine_Id", 'localField': "partner_order_header_Id",
'foreignField': 'order_header_id', 'foreignField': 'order_header_id',
'pipeline': [{'$match': {'$and': [{}, { 'pipeline': [{'$match': {'$and': [filt_formation_external_code, {
'partner_owner_recid': str(my_partner['recid'])}, {'valide': '1'}]}}, ], 'partner_owner_recid': str(my_partner['recid'])}, {'valide': '1'}]}}, ],
'as': 'partner_order_line_collection' 'as': 'partner_order_line_collection'
} }
@ -3537,60 +3556,61 @@ def Get_List_Partner_Order_with_filter(diction):
for New_retVal in MYSY_GV.dbname['partner_order_header'].aggregate(new_myquery_find_order): for New_retVal in MYSY_GV.dbname['partner_order_header'].aggregate(new_myquery_find_order):
user = New_retVal if ('partner_order_line_collection' in New_retVal.keys() and len( New_retVal['partner_order_line_collection']) > 0):
# Si le champ 'order_header_client_id' alors on va chercher le nom du client user = New_retVal
if ('order_header_client_id' in New_retVal.keys()): # Si le champ 'order_header_client_id' alors on va chercher le nom du client
Client_data = MYSY_GV.dbname['partner_client'].find_one( if ('order_header_client_id' in New_retVal.keys()):
{'_id': ObjectId(str(New_retVal['order_header_client_id'])), 'valide': '1', 'locked': '0', Client_data = MYSY_GV.dbname['partner_client'].find_one(
'partner_recid': str(my_partner['recid'])}) {'_id': ObjectId(str(New_retVal['order_header_client_id'])), 'valide': '1', 'locked': '0',
'partner_recid': str(my_partner['recid'])})
if (Client_data and 'nom' in Client_data.keys()): if (Client_data and 'nom' in Client_data.keys()):
user['order_header_client_nom'] = str(Client_data['nom']) user['order_header_client_nom'] = str(Client_data['nom'])
# Si le champ 'order_header_vendeur_id' alors on va chercher le nom et prenom du vendeur (employe) # Si le champ 'order_header_vendeur_id' alors on va chercher le nom et prenom du vendeur (employe)
if ('order_header_vendeur_id' in New_retVal.keys()): if ('order_header_vendeur_id' in New_retVal.keys()):
Employee_data = MYSY_GV.dbname['ressource_humaine'].find_one( Employee_data = MYSY_GV.dbname['ressource_humaine'].find_one(
{'_id': ObjectId(str(New_retVal['order_header_vendeur_id'])), 'valide': '1', 'locked': '0', {'_id': ObjectId(str(New_retVal['order_header_vendeur_id'])), 'valide': '1', 'locked': '0',
'partner_recid': str(my_partner['recid'])}) 'partner_recid': str(my_partner['recid'])})
order_header_vendeur_nom_prenom = "" order_header_vendeur_nom_prenom = ""
if (Employee_data and 'nom' in Employee_data.keys()): if (Employee_data and 'nom' in Employee_data.keys()):
order_header_vendeur_nom_prenom = str(Employee_data['nom']) order_header_vendeur_nom_prenom = str(Employee_data['nom'])
if (Employee_data and 'prenom' in Employee_data.keys()): if (Employee_data and 'prenom' in Employee_data.keys()):
order_header_vendeur_nom_prenom = str(order_header_vendeur_nom_prenom) + " " + str( order_header_vendeur_nom_prenom = str(order_header_vendeur_nom_prenom) + " " + str(
Employee_data['prenom']) Employee_data['prenom'])
user['order_header_vendeur_nom_prenom'] = str(order_header_vendeur_nom_prenom) user['order_header_vendeur_nom_prenom'] = str(order_header_vendeur_nom_prenom)
if( filter_date_debut and filter_date_fin ): if( filter_date_debut and filter_date_fin ):
if ( datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') >= datetime.strptime(str(filter_date_debut)[0:10], '%d/%m/%Y') and if ( datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') >= datetime.strptime(str(filter_date_debut)[0:10], '%d/%m/%Y') and
datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') <= datetime.strptime(str(filter_date_fin)[0:10], '%d/%m/%Y') ): datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') <= datetime.strptime(str(filter_date_fin)[0:10], '%d/%m/%Y') ):
user['id'] = str(val_tmp) user['id'] = str(val_tmp)
val_tmp = val_tmp + 1 val_tmp = val_tmp + 1
RetObject.append(mycommon.JSONEncoder().encode(user)) RetObject.append(mycommon.JSONEncoder().encode(user))
elif ( filter_date_debut ): elif ( filter_date_debut ):
if ( datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') >= datetime.strptime(str(filter_date_debut)[0:10], '%d/%m/%Y') ): if ( datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') >= datetime.strptime(str(filter_date_debut)[0:10], '%d/%m/%Y') ):
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
RetObject.append(mycommon.JSONEncoder().encode(user))
elif ( filter_date_fin ):
if ( datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') <= datetime.strptime(str(filter_date_fin)[0:10], '%d/%m/%Y') ):
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
RetObject.append(mycommon.JSONEncoder().encode(user))
else:
user['id'] = str(val_tmp) user['id'] = str(val_tmp)
val_tmp = val_tmp + 1 val_tmp = val_tmp + 1
RetObject.append(mycommon.JSONEncoder().encode(user)) RetObject.append(mycommon.JSONEncoder().encode(user))
elif ( filter_date_fin ):
if ( datetime.strptime(str(New_retVal['order_header_date_cmd'])[0:10], '%d/%m/%Y') <= datetime.strptime(str(filter_date_fin)[0:10], '%d/%m/%Y') ):
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
RetObject.append(mycommon.JSONEncoder().encode(user))
else:
user['id'] = str(val_tmp)
val_tmp = val_tmp + 1
RetObject.append(mycommon.JSONEncoder().encode(user))
#print(" #### nb_result = ", val_tmp)
return True, RetObject return True, RetObject
@ -3671,7 +3691,8 @@ def Get_Given_Line_Of_Partner_Order_Lines(diction):
'pipeline': [{'$match': {'$and': [ filt_class_partner_recid]}}, 'pipeline': [{'$match': {'$and': [ filt_class_partner_recid]}},
{'$project': {'title': 1, 'domaine': 1, {'$project': {'title': 1, 'domaine': 1,
'duration': 1, 'duration': 1,
'duration_unit': 1}}], 'duration_unit': 1,
'external_code':1}}],
'as': 'myclass_collection' 'as': 'myclass_collection'
} }
} }
@ -3739,6 +3760,7 @@ def Get_Given_Line_Of_Partner_Order_Lines(diction):
user['order_line_comment'] = "" user['order_line_comment'] = ""
user['title'] = retval['myclass_collection'][0]['title'] user['title'] = retval['myclass_collection'][0]['title']
user['order_line_formation_external_code'] = retval['myclass_collection'][0]['external_code']
user['domaine'] = retval['myclass_collection'][0]['domaine'] user['domaine'] = retval['myclass_collection'][0]['domaine']
user['duration'] = retval['myclass_collection'][0]['duration'] user['duration'] = retval['myclass_collection'][0]['duration']
user['duration_unit'] = retval['myclass_collection'][0]['duration_unit'] user['duration_unit'] = retval['myclass_collection'][0]['duration_unit']
@ -4109,7 +4131,8 @@ def GerneratePDF_Partner_Order(diction):
'pipeline': [{'$match': {'$and': [filt_class_partner_recid]}}, 'pipeline': [{'$match': {'$and': [filt_class_partner_recid]}},
{'$project': {'title': 1, 'domaine': 1, {'$project': {'title': 1, 'domaine': 1,
'duration': 1, 'duration': 1,
'duration_unit': 1}}], 'duration_unit': 1,
'external_code':1}}],
'as': 'myclass_collection' 'as': 'myclass_collection'
} }
} }
@ -4176,6 +4199,7 @@ def GerneratePDF_Partner_Order(diction):
user['order_line_comment'] = "" user['order_line_comment'] = ""
user['title'] = retval['myclass_collection'][0]['title'] user['title'] = retval['myclass_collection'][0]['title']
user['order_line_formation_external_code'] = retval['myclass_collection'][0]['external_code']
user['domaine'] = retval['myclass_collection'][0]['domaine'] user['domaine'] = retval['myclass_collection'][0]['domaine']
user['duration'] = retval['myclass_collection'][0]['duration'] user['duration'] = retval['myclass_collection'][0]['duration']
user['duration_unit'] = retval['myclass_collection'][0]['duration_unit'] user['duration_unit'] = retval['myclass_collection'][0]['duration_unit']
@ -4356,7 +4380,8 @@ def Send_Partner_Order_By_Email(diction):
'pipeline': [{'$match': {'$and': [filt_class_partner_recid]}}, 'pipeline': [{'$match': {'$and': [filt_class_partner_recid]}},
{'$project': {'title': 1, 'domaine': 1, {'$project': {'title': 1, 'domaine': 1,
'duration': 1, 'duration': 1,
'duration_unit': 1}}], 'duration_unit': 1,
'external_code':1}}],
'as': 'myclass_collection' 'as': 'myclass_collection'
} }
} }
@ -4423,6 +4448,7 @@ def Send_Partner_Order_By_Email(diction):
user['order_line_comment'] = "" user['order_line_comment'] = ""
user['title'] = retval['myclass_collection'][0]['title'] user['title'] = retval['myclass_collection'][0]['title']
user['order_line_formation_external_code'] = retval['myclass_collection'][0]['external_code']
user['domaine'] = retval['myclass_collection'][0]['domaine'] user['domaine'] = retval['myclass_collection'][0]['domaine']
user['duration'] = retval['myclass_collection'][0]['duration'] user['duration'] = retval['myclass_collection'][0]['duration']
user['duration_unit'] = retval['myclass_collection'][0]['duration_unit'] user['duration_unit'] = retval['myclass_collection'][0]['duration_unit']
@ -4469,7 +4495,7 @@ def Send_Partner_Order_By_Email(diction):
sourceHtml = contenu_doc_Template.render(params=Order_header_data, param_order_lines=Order_header_lines_data) sourceHtml = contenu_doc_Template.render(params=Order_header_data, param_order_lines=Order_header_lines_data)
sujetHtml = contenu_doc_Template_subject.render(params=Order_header_data) sujetHtml = contenu_doc_Template_subject.render(params=Order_header_data)
print(" #### sourceHtml = ", sourceHtml) #print(" #### sourceHtml = ", sourceHtml)
print("debut envoi mail de test ") print("debut envoi mail de test ")

View File

@ -803,6 +803,7 @@ def Get_List_Profil_Ressource_Humaine(diction):
""" """
Recuperation de la liste des ressources humaines avec des filtres sur Recuperation de la liste des ressources humaines avec des filtres sur
Recuperation de la liste des ressources humaines avec des filtres sur
- nom - nom
- email - email
""" """