06/03/2024 - 22h15
parent
4d2f74ece1
commit
9048dc6d15
|
@ -5,7 +5,6 @@
|
|||
<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$/crm_opportunite.py" beforeDir="false" afterPath="$PROJECT_DIR$/crm_opportunite.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
|
3235
Log/log_file.log
3235
Log/log_file.log
File diff suppressed because it is too large
Load Diff
|
@ -341,7 +341,8 @@ def Get_List_CRM_Opportunite_with_filter(diction):
|
|||
"""
|
||||
Verification des input acceptés
|
||||
"""
|
||||
field_list = ['token', 'vendeur_id', ]
|
||||
field_list = ['token', 'vendeur_id', 'revenu_cible_superieur', 'revenu_cible_inferieur','date_fermeture_avant',
|
||||
'date_fermeture_apres', 'partner_client_nom', 'titre']
|
||||
|
||||
incom_keys = diction.keys()
|
||||
for val in incom_keys:
|
||||
|
@ -374,16 +375,92 @@ def Get_List_CRM_Opportunite_with_filter(diction):
|
|||
if (local_status is not True):
|
||||
return local_status, my_partner
|
||||
|
||||
filt_titre = {}
|
||||
if ("titre" in diction.keys()):
|
||||
filt_titre = {'titre': {'$regex': str(diction['titre']), "$options": "i"}}
|
||||
|
||||
filt_vendeur_id = {}
|
||||
if ("vendeur_id" in diction.keys()):
|
||||
filt_vendeur_id = {'vendeur_id': str(diction['vendeur_id'])}
|
||||
|
||||
# Recuperer les client dont le nom contient 'partner_client_nom'
|
||||
filt_partner_client_id = {}
|
||||
list_client_id = []
|
||||
if ("partner_client_nom" in diction.keys() and diction['partner_client_nom']):
|
||||
|
||||
qry_sub_filter_client = {'nom': {'$regex': str(diction['partner_client_nom']), "$options": "i"},
|
||||
'partner_recid':my_partner['recid'], 'valide':'1', 'locked':'0'}
|
||||
for tmp_val in MYSY_GV.dbname['partner_client'].find(qry_sub_filter_client):
|
||||
list_client_id.append(str(tmp_val['_id']))
|
||||
|
||||
filt_partner_client_id = { 'partner_client_id': { '$in': list_client_id } }
|
||||
|
||||
|
||||
filt_revenu_cible_superieur = {}
|
||||
if ("revenu_cible_superieur" in diction.keys() and diction['revenu_cible_superieur']):
|
||||
val_revenu_cible_superieur = diction['revenu_cible_superieur']
|
||||
local_status, local_val = mycommon.IsFloat(val_revenu_cible_superieur)
|
||||
if( local_status is False) :
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][
|
||||
3]) + " Le revenu cible superieur " + str(
|
||||
val) + " n'est pas valide ")
|
||||
return False, " Le revenu cible superieur " + str(
|
||||
val) + " n'est pas valide "
|
||||
|
||||
|
||||
filt_revenu_cible_superieur = { '$expr': { '$gte': [{ '$toDouble': '$revenu_cible'}, local_val]}}
|
||||
|
||||
filt_revenu_cible_inferieur = {}
|
||||
if ("revenu_cible_inferieur" in diction.keys() and diction['revenu_cible_inferieur']):
|
||||
val_revenu_cible_inferieur = diction['revenu_cible_inferieur']
|
||||
local_status, local_val = mycommon.IsFloat(val_revenu_cible_inferieur)
|
||||
if (local_status is False):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][
|
||||
3]) + " Le revenu cible superieur " + str(
|
||||
val) + " n'est pas valide ")
|
||||
return False, " Le revenu cible superieur " + str(
|
||||
val) + " n'est pas valide "
|
||||
|
||||
|
||||
filt_revenu_cible_inferieur = { '$expr': { '$lte': [{ '$toDouble': '$revenu_cible'}, local_val]}}
|
||||
|
||||
|
||||
filter_date_fermeture_avant = {}
|
||||
if ("date_fermeture_avant" in diction.keys()):
|
||||
if diction['date_fermeture_avant']:
|
||||
filter_date_fermeture_avant = str(diction['date_fermeture_avant'])[0:10]
|
||||
local_status = mycommon.CheckisDate(filter_date_fermeture_avant)
|
||||
if (local_status is False):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][
|
||||
3]) + " La date de fermeture " + str(filter_date_fermeture_avant) + " n'est pas au format 'jj/mm/aaaa' ")
|
||||
return False, " La date de fermeture " + str(filter_date_fermeture_avant) + " n'est pas au format 'jj/mm/aaaa'"
|
||||
|
||||
|
||||
filter_date_fermeture_apres = {}
|
||||
if ("date_fermeture_apres" in diction.keys()):
|
||||
if diction['date_fermeture_apres']:
|
||||
filter_date_fermeture_apres = str(diction['date_fermeture_apres'])[0:10]
|
||||
local_status = mycommon.CheckisDate(filter_date_fermeture_apres)
|
||||
if (local_status is False):
|
||||
mycommon.myprint(
|
||||
str(inspect.stack()[0][
|
||||
3]) + " La date de fermeture " + str(
|
||||
filter_date_fermeture_apres) + " n'est pas au format 'jj/mm/aaaa' ")
|
||||
return False, " La date de fermeture " + str(
|
||||
filter_date_fermeture_apres) + " n'est pas au format 'jj/mm/aaaa'"
|
||||
|
||||
|
||||
RetObject = []
|
||||
val_tmp = 0
|
||||
|
||||
qry = {"partner_owner_recid":str(my_partner['recid']), 'valide':'1', 'locked':'0'}
|
||||
query_with_filter = {'$and': [qry, filt_vendeur_id ]}
|
||||
query_with_filter = {'$and': [qry, filt_titre, filt_vendeur_id, filt_revenu_cible_superieur,
|
||||
filt_revenu_cible_inferieur, filt_partner_client_id, filt_partner_client_id ]}
|
||||
|
||||
print(" #### query_with_filter ttt = ", query_with_filter)
|
||||
|
||||
for New_retVal in MYSY_GV.dbname['crm_opportunite'].find(query_with_filter).sort([("_id", pymongo.DESCENDING), ]):
|
||||
user = New_retVal
|
||||
|
@ -458,10 +535,29 @@ def Get_List_CRM_Opportunite_with_filter(diction):
|
|||
if ("probabilite_gain" not in New_retVal.keys()):
|
||||
user['probabilite_gain'] = ""
|
||||
|
||||
New_retVal_date_fermeture = datetime.strptime(str(New_retVal['date_fermeture'])[0:10], '%d/%m/%Y').strftime("%d/%m/%Y")
|
||||
|
||||
|
||||
if (filter_date_fermeture_avant and filter_date_fermeture_apres):
|
||||
|
||||
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||
if (datetime.strptime(str(New_retVal_date_fermeture)[0:10], '%d/%m/%Y') <= datetime.strptime(str(filter_date_fermeture_avant)[0:10], '%d/%m/%Y') and
|
||||
datetime.strptime(str(New_retVal_date_fermeture)[0:10], '%d/%m/%Y') >= datetime.strptime(
|
||||
str(filter_date_fermeture_apres)[0:10], '%d/%m/%Y')
|
||||
|
||||
):
|
||||
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||
|
||||
elif (filter_date_fermeture_avant):
|
||||
if ( datetime.strptime(str(New_retVal_date_fermeture)[0:10], '%d/%m/%Y') <= datetime.strptime(str(filter_date_fermeture_avant)[0:10], '%d/%m/%Y')):
|
||||
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||
|
||||
elif (filter_date_fermeture_apres):
|
||||
if ( datetime.strptime(str(New_retVal_date_fermeture)[0:10], '%d/%m/%Y') >= datetime.strptime(str(filter_date_fermeture_apres)[0:10], '%d/%m/%Y')):
|
||||
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||
|
||||
else:
|
||||
|
||||
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||
|
||||
|
||||
return True, RetObject
|
||||
|
|
Loading…
Reference in New Issue