This commit is contained in:
behruz-dev
2025-11-12 16:15:32 +05:00
parent b5c43f8d48
commit 3eba00f525
3 changed files with 43 additions and 20 deletions

View File

@@ -23,8 +23,8 @@ headers = {
} }
def get_data(): def get_data(page):
url = f"https://backend.app.uyqur.uz/main/company-person/payment?size=469&company_person_id=118&page=1&type=expense" url = f"https://backend.app.uyqur.uz/main/payment/view?type=expense&size=100&page={page}"
response = requests.get(url, headers=headers) response = requests.get(url, headers=headers)
if response.status_code == 200: if response.status_code == 200:
@@ -55,26 +55,30 @@ def create_expense(data):
party_number = data.get('order_ids')[0] party_number = data.get('order_ids')[0]
party = Party.objects.filter(number=party_number).first() party = Party.objects.filter(number=party_number).first()
Expence.objects.update_or_create( Expence.objects.update_or_create(
user=user, number=data.get('id'),
cash_transaction=cash_transaction, defaults=dict(
expence_type=expence_type, user=user,
price=data['amount'], cash_transaction=cash_transaction,
currency=data['currency']['symbol'].lower(), expence_type=expence_type,
payment_type=payment_type, price=data['amount'],
project_folder= project_folder, currency=data['currency']['symbol'].lower(),
counterparty= counterparty, payment_type=payment_type,
exchange_rate= data['currency_amount'], project_folder= project_folder,
date=datetime.strptime(data['date'], "%d.%m.%Y").date(), counterparty= counterparty,
comment=data['description'], exchange_rate= data['currency_amount'],
status=statuses.get(data['status']), date=datetime.strptime(data['date'], "%d.%m.%Y").date(),
party=party, comment=data['description'],
status=statuses.get(data['status']),
party=party,
)
) )
class Command(BaseCommand): class Command(BaseCommand):
def handle(self, *args, **options): def handle(self, *args, **options):
# for page in range(1,13): for page in range(1,235):
data = get_data() data = get_data(page)
for item in data['data']['data']: for item in data['data']['data']:
create_expense(item) create_expense(item)
# print(f"{page} is done") print(page)
self.stdout.write(self.style.SUCCESS("Expenselar qo'shildi")) self.stdout.write(self.style.SUCCESS("Expenselar qo'shildi"))

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.2.4 on 2025-11-12 15:58
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('finance', '0033_deletedexpence_user'),
]
operations = [
migrations.AddField(
model_name='expence',
name='number',
field=models.BigIntegerField(default=0),
),
]

View File

@@ -12,6 +12,7 @@ class Expence(BaseModel):
('PENDING', 'kutilmoqda'), ('PENDING', 'kutilmoqda'),
('CONFIRMED', 'tasdiqlangan'), ('CONFIRMED', 'tasdiqlangan'),
) )
number = models.BigIntegerField(default=0)
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='expences', null=True) user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='expences', null=True)
cash_transaction = models.ForeignKey(CashTransaction, on_delete=models.CASCADE, related_name='expences') cash_transaction = models.ForeignKey(CashTransaction, on_delete=models.CASCADE, related_name='expences')
payment_type = models.ForeignKey(PaymentType, on_delete=models.CASCADE, related_name='expences') payment_type = models.ForeignKey(PaymentType, on_delete=models.CASCADE, related_name='expences')