This commit is contained in:
Xuan Loi
2026-01-03 17:29:02 +07:00
parent 633a401aa6
commit 4537064cb6
375 changed files with 58 additions and 26 deletions

View File

@@ -21,7 +21,7 @@ def getcode(code, Model):
#==========================================================================================
def account_entry_api(code, amount, content, type, category, userid, ref=None):
def account_entry_api(code, amount, content, type, category, userid, ref=None, product=None, customer=None):
try:
user = User.objects.get(id=userid)
entry_type = Entry_Type.objects.get(code=type)
@@ -40,9 +40,10 @@ def account_entry_api(code, amount, content, type, category, userid, ref=None):
return {'error': 'Số dư không đủ để thực hiện giao dịch.'}
if entry_type.code == 'CR':
account.balance = F('balance') + amount
# account.balance = F('balance') + amount
account.balance += amount
else:
account.balance = F('balance') - amount
account.balance -= amount
account.save()
account.refresh_from_db()
@@ -59,7 +60,9 @@ def account_entry_api(code, amount, content, type, category, userid, ref=None):
balance_after=new_balance,
account=account,
date=system_date,
ref=ref
ref=ref,
product=None if product==None else Product.objects.get(id=product),
customer=None if customer==None else Customer.objects.get(id=customer)
)
text = 'id,account__currency__code,ref,balance_before,balance_after,code,account,account__code,account__branch__name,account__type__name,date,amount,content,inputer,inputer__fullname,approver,approver__fullname,create_time,update_time,type,type__code,type__name'
@@ -88,18 +91,12 @@ def account_entry(request):
type=request.data['type'],
category=request.data['category'],
userid=request.data['user'],
ref=ref
ref=ref,
product=request.data['product'],
customer=request.data['customer']
)
if 'error' in data:
return Response(data, status=400)
return Response(data)
#==========================================================================================
@api_view(['POST'])
def account_entry(request):
ref = request.data['ref'] if 'ref' in request.data else None
data = account_entry_api(request.data['code'], request.data['amount'], request.data['content'],
request.data['type'], request.data['category'], request.data['user'], ref)
return Response(data)