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