finance: expence delete api fixed

This commit is contained in:
behruz-dev
2025-11-11 16:17:47 +05:00
parent 333ffac4e6
commit 25898a7864
3 changed files with 35 additions and 65 deletions

View File

@@ -142,18 +142,9 @@ class ExpenceDeleteApiView(generics.GenericAPIView):
)
payment_type.total_uzs += expence.price
if counterparty:
if counterparty.debit_uzs > 0:
counterparty.debit_uzs += expence.price
counterparty.total_debit += expence.price
counterparty.kredit_uzs -= expence.price
counterparty.total_kredit -= expence.price
else:
counterparty.kredit_uzs -= expence.price
counterparty.total_kredit -= expence.price
counterparty.save()
if counterparty and hasattr(counterparty, 'balance'):
counterparty.balance.balance_uzs -= expence.price
counterparty.balance.save()
elif currency == 'usd':
cash_transaction.expence_balance_usd -= expence.price
@@ -162,18 +153,9 @@ class ExpenceDeleteApiView(generics.GenericAPIView):
)
payment_type.total_usd += expence.price
if counterparty:
if counterparty.debit_usd > 0:
counterparty.debit_usd += expence.price
counterparty.total_debit += expence.price
counterparty.kredit_usd -= expence.price
counterparty.total_kredit -= expence.price
else:
counterparty.kredit_usd -= expence.price
counterparty.total_kredit -= expence.price
counterparty.save()
if counterparty and hasattr(counterparty, 'balance'):
counterparty.balance.balance_usd -= expence.price
counterparty.balance.save()
expence.is_deleted = True
@@ -184,7 +166,7 @@ class ExpenceDeleteApiView(generics.GenericAPIView):
return Response(
{
'success': True,
'message': 'Expence o\'chirildi',
'message': "Expence o'chirildi",
'data': {
'expence_id': expence.id,
'price': expence.price,
@@ -193,34 +175,6 @@ class ExpenceDeleteApiView(generics.GenericAPIView):
},
status=200
)
expence = get_object_or_404(Expence, id=id)
serializer = self.serializer_class(data=request.data)
if serializer.is_valid(raise_exception=True):
comment = serializer.validated_data.get('comment')
DeletedExpence.objects.create(
expence=expence,
comment=comment
)
expence.is_deleted = True
if expence.currency == 'uzs':
expence.cash_transaction.expence_balance_uzs += expence.price
expence.cash_transaction.total_balance_uzs += expence.price
expence.payment_type.total_uzs += expence.price
else:
expence.cash_transaction.expence_balance_usd += expence.price
expence.cash_transaction.total_balance_usd += expence.price
expence.payment_type.total_usd += expence.price
expence.cash_transaction.save()
expence.payment_type.save()
expence.save()
return Response(
{
'success': True,
'message': 'Expence deleted',
}, status=200
)
class ExpenceUpdateApiView(generics.GenericAPIView):