26/02/2024 - 16h30
parent
2b3c62e6e2
commit
213128998b
|
@ -1,11 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="25/02/2024 - 22h30">
|
||||
<list default="true" id="c6d0259a-16e1-410d-91a1-830590ee2a08" name="Changes" comment="26/02/2024 - 11h30">
|
||||
<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$/Session_Formation.py" beforeDir="false" afterPath="$PROJECT_DIR$/Session_Formation.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/module_editique.py" beforeDir="false" afterPath="$PROJECT_DIR$/module_editique.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/partner_client.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_client.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/partner_invoice.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_invoice.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/partner_order.py" beforeDir="false" afterPath="$PROJECT_DIR$/partner_order.py" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
|
@ -76,13 +76,6 @@
|
|||
<option name="presentableId" value="Default" />
|
||||
<updated>1680804787304</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00179" summary="27/12/2023 - 13h">
|
||||
<created>1703678453790</created>
|
||||
<option name="number" value="00179" />
|
||||
<option name="presentableId" value="LOCAL-00179" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1703678453791</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00180" summary="27/12/2023 - 13h">
|
||||
<created>1703714268338</created>
|
||||
<option name="number" value="00180" />
|
||||
|
@ -419,7 +412,14 @@
|
|||
<option name="project" value="LOCAL" />
|
||||
<updated>1708898791231</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="228" />
|
||||
<task id="LOCAL-00228" summary="26/02/2024 - 11h30">
|
||||
<created>1708944824618</created>
|
||||
<option name="number" value="00228" />
|
||||
<option name="presentableId" value="LOCAL-00228" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1708944824618</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="229" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
|
@ -434,7 +434,6 @@
|
|||
</option>
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="rrrf" />
|
||||
<MESSAGE value="29/01/24 - 21h30" />
|
||||
<MESSAGE value="ss" />
|
||||
<MESSAGE value="31/01/2024 - 16h" />
|
||||
|
@ -459,6 +458,7 @@
|
|||
<MESSAGE value="23/02/2024 - 22h30" />
|
||||
<MESSAGE value="24/02/2024 - 22h30" />
|
||||
<MESSAGE value="25/02/2024 - 22h30" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="25/02/2024 - 22h30" />
|
||||
<MESSAGE value="26/02/2024 - 11h30" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="26/02/2024 - 11h30" />
|
||||
</component>
|
||||
</project>
|
2010
Log/log_file.log
2010
Log/log_file.log
File diff suppressed because it is too large
Load Diff
|
@ -869,6 +869,10 @@ def Get_Partner_List_Partner_Client(diction):
|
|||
for retval in MYSY_GV.dbname['partner_client'].find(data_cle).sort([("_id", pymongo.DESCENDING), ]):
|
||||
user = retval
|
||||
user['id'] = str(val_tmp)
|
||||
|
||||
if( "invoice_condition_paiement_id" not in retval.keys() ):
|
||||
user['invoice_condition_paiement_id'] = ""
|
||||
|
||||
val_tmp = val_tmp + 1
|
||||
RetObject.append(mycommon.JSONEncoder().encode(user))
|
||||
|
||||
|
|
|
@ -4,13 +4,15 @@ Ce fichier permet de gerer la facturation des commandes des partenaires vers leu
|
|||
Il se base sur les commandes faite à l'aide du fichier "partner_order.py"
|
||||
|
||||
"""
|
||||
from calendar import monthrange
|
||||
|
||||
import bson
|
||||
import pymongo
|
||||
from pymongo import MongoClient
|
||||
import json
|
||||
from bson import ObjectId
|
||||
import re
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timedelta
|
||||
import prj_common as mycommon
|
||||
import secrets
|
||||
import inspect
|
||||
|
@ -232,10 +234,59 @@ def Invoice_Partner_Order(diction):
|
|||
'partner_owner_recid':my_partner['recid'], 'valide':'1',
|
||||
'locked':'0', 'order_header_type':'commande'}, {'_id':0, 'order_header_type':0, 'order_header_status':0})
|
||||
|
||||
print(" #### A COPIER new_invoice_data_header = ", str(new_invoice_data_header))
|
||||
|
||||
new_invoice_data_header['invoice_header_ref_interne'] = retval_sequence_invoice['prefixe']+str(current_seq_value)
|
||||
new_invoice_data_header['invoice_header_type'] = "facture"
|
||||
new_invoice_data_header['invoice_date'] = invoice_date_time
|
||||
new_invoice_data_header['update_by'] = str(my_partner['_id'])
|
||||
|
||||
|
||||
"""
|
||||
Calcul de la date d'échance de la facture :
|
||||
Si pas de conidtion de paiement, alors la date à la date du jour
|
||||
"""
|
||||
if( "order_header_condition_paiement_id" in new_invoice_data_header.keys() and
|
||||
new_invoice_data_header['order_header_condition_paiement_id'] ) :
|
||||
paiement_condition_data = MYSY_GV.dbname['base_partner_paiement_condition'].find_one({'partner_owner_recid':str(my_partner['recid']),
|
||||
'_id':ObjectId(str(new_invoice_data_header['order_header_condition_paiement_id'])),
|
||||
'valide':'1',
|
||||
'locked':'0'})
|
||||
|
||||
if(paiement_condition_data is None or 'depart' not in paiement_condition_data.keys() or
|
||||
'nb_jour' not in paiement_condition_data.keys() ):
|
||||
mycommon.myprint(str(inspect.stack()[0][3]) + " WARNING - DATE ECHEANCE : Condition de paiement invalide pour calculer la date d'échéance ")
|
||||
|
||||
|
||||
if( paiement_condition_data['depart'] not in MYSY_GV.PAIEMENT_CONDITION_DEPART ):
|
||||
mycommon.myprint(str(inspect.stack()[0][3]) + " WARNING - DATE ECHEANCE : Condition de départ n'est pas dans la liste "+str(MYSY_GV.PAIEMENT_CONDITION_DEPART))
|
||||
|
||||
|
||||
nb_jour_int = mycommon.tryInt(str(paiement_condition_data['nb_jour']))
|
||||
today = datetime.today()
|
||||
date_echance = datetime.today()
|
||||
|
||||
if (str(paiement_condition_data['depart']) == "mois"):
|
||||
days_in_month = lambda dt: monthrange(dt.year, dt.month)[1]
|
||||
first_day_next_month = today.replace(day=1) + timedelta(days_in_month(today))
|
||||
date_echance = first_day_next_month + timedelta(days=nb_jour_int)
|
||||
|
||||
if( str(paiement_condition_data['depart']) == "facture") :
|
||||
date_echance = today + timedelta(days=nb_jour_int)
|
||||
|
||||
date_echance = date_echance.strftime("%d/%m/%Y")
|
||||
new_invoice_data_header['invoice_date_echeance'] = str(date_echance)
|
||||
new_invoice_data_header['order_header_condition_paiement_code'] = str(paiement_condition_data['code'])
|
||||
new_invoice_data_header['order_header_condition_paiement_description'] = str(paiement_condition_data['description'])
|
||||
|
||||
else:
|
||||
today = datetime.today()
|
||||
date_echance = datetime.today().strftime("%d/%m/%Y")
|
||||
new_invoice_data_header['invoice_date_echeance'] = str(date_echance)
|
||||
new_invoice_data_header['order_header_condition_paiement_code'] = ""
|
||||
new_invoice_data_header['order_header_condition_paiement_description'] = ""
|
||||
|
||||
|
||||
inserted_invoice_id = MYSY_GV.dbname['partner_invoice_header'].insert_one(new_invoice_data_header).inserted_id
|
||||
if (not inserted_invoice_id):
|
||||
order_updated = MYSY_GV.dbname['partner_order_header'].update_one({{'_id': ObjectId(
|
||||
|
@ -296,7 +347,7 @@ def Invoice_Partner_Order(diction):
|
|||
'partner_owner_recid': my_partner['recid'], 'valide': '1',
|
||||
'locked': '0', 'order_header_type': 'commande'}
|
||||
|
||||
print(" #### qry = ", qry)
|
||||
#print(" #### qry = ", qry)
|
||||
|
||||
order_updated = MYSY_GV.dbname['partner_order_line'].update_many(
|
||||
{'order_header_id': str(diction['order_id']), 'order_header_ref_interne': str(diction['order_ref_interne']),
|
||||
|
|
|
@ -159,7 +159,7 @@ def Add_Partner_Order(diction):
|
|||
3]) + " - Le champ 'order_header_condition_paiement' fait plus de 255 caractères ")
|
||||
|
||||
return False, " - Le champ 'Condition de paiement' fait plus de 255 caractères ", False
|
||||
data['order_header_condition_paiement_id'] = diction['order_header_condition_paiement_id']
|
||||
data['order_header_condition_paiement_id'] = order_header_condition_paiement_id
|
||||
|
||||
order_header_ref_interne = ""
|
||||
if ("order_header_ref_interne" in diction.keys()):
|
||||
|
@ -699,7 +699,7 @@ def Add_Partner_Quotation(diction):
|
|||
3]) + " - Le champ 'order_header_condition_paiement' fait plus de 255 caractères ")
|
||||
|
||||
return False, " - Le champ 'Condition de paiement' fait plus de 255 caractères ", False
|
||||
data['order_header_condition_paiement_id'] = diction['order_header_condition_paiement_id']
|
||||
data['order_header_condition_paiement_id'] = order_header_condition_paiement_id
|
||||
|
||||
order_header_ref_interne = ""
|
||||
if ("order_header_ref_interne" in diction.keys()):
|
||||
|
@ -1211,7 +1211,7 @@ def Update_Partner_Order_Header(diction):
|
|||
data['order_header_comment'] = diction['order_header_comment']
|
||||
|
||||
order_header_condition_paiement_id = ""
|
||||
if ("order_header_condition_paiement_id" in diction.keys()):
|
||||
if ("order_header_condition_paiement_id" in diction.keys() and diction['order_header_condition_paiement_id']):
|
||||
order_header_condition_paiement_id = diction['order_header_condition_paiement_id']
|
||||
if (len(str(order_header_condition_paiement_id)) > 255):
|
||||
mycommon.myprint(
|
||||
|
@ -1302,7 +1302,7 @@ def Update_Partner_Order_Header(diction):
|
|||
|
||||
|
||||
order_header_vendeur_id = ""
|
||||
if ("order_header_vendeur_id" in diction.keys()):
|
||||
if ("order_header_vendeur_id" in diction.keys() and diction['order_header_vendeur_id']):
|
||||
order_header_vendeur_id = diction['order_header_vendeur_id']
|
||||
|
||||
#local_qry = {'_id': ObjectId(str(order_header_vendeur_id)), 'valide': '1', 'locked': '0', 'partner_recid': str(my_partner['recid'])}
|
||||
|
@ -1678,7 +1678,7 @@ def Update_Partner_Quotation_Header(diction):
|
|||
data['order_header_comment'] = diction['order_header_comment']
|
||||
|
||||
order_header_condition_paiement_id = ""
|
||||
if ("order_header_condition_paiement_id" in diction.keys()):
|
||||
if ("order_header_condition_paiement_id" in diction.keys() and diction['order_header_condition_paiement_id']):
|
||||
order_header_condition_paiement_id = diction['order_header_condition_paiement_id']
|
||||
if (len(str(order_header_condition_paiement_id)) > 255):
|
||||
mycommon.myprint(
|
||||
|
|
Loading…
Reference in New Issue