fix: align ci with organization redesign
Some checks failed
CI/CD Pipeline / Quality Gate (push) Failing after 18s
CI/CD Pipeline / Build and Push Images (push) Has been skipped
CI/CD Pipeline / Internal Notify (push) Successful in 0s
CI/CD Pipeline / Deploy Dev via Compose (push) Has been skipped

This commit is contained in:
2026-06-07 16:43:30 +02:00
parent 802257a757
commit 71eac688f2
10 changed files with 82 additions and 754 deletions

View File

@@ -33,6 +33,7 @@ from django.conf import settings
from django.db import IntegrityError, transaction
from django.db.models import Model, Q
from django.utils import timezone
from organizations.models import Organization as CanonicalOrganization
from registers.models import (
Organization,
Register,
@@ -155,9 +156,37 @@ class BackupExportService:
.values_list("id", flat=True)
.distinct()
)
active_organizations = list(
Organization.objects.filter(id__in=active_org_ids).values(
"mn_inn",
"mn_ogrn",
)
)
active_inns = {
str(item["mn_inn"]) for item in active_organizations if item["mn_inn"]
}
active_ogrns = {
str(item["mn_ogrn"]) for item in active_organizations if item["mn_ogrn"]
}
canonical_org_ids = list(
CanonicalOrganization.objects.filter(
Q(inn__in=active_inns) | Q(ogrn__in=active_ogrns)
).values_list("uid", flat=True)
)
organization_record_filter = (
Q(registry_organization_id__in=canonical_org_ids)
| Q(inn__in=active_inns)
| Q(ogrn__in=active_ogrns)
)
procurement_record_filter = (
Q(registry_organization_id__in=canonical_org_ids)
| Q(customer_inn__in=active_inns)
| Q(customer_ogrn__in=active_ogrns)
)
reports_qs = FinancialReport.objects.filter(
registry_organization_id__in=active_org_ids
Q(registry_organization_id__in=canonical_org_ids)
| Q(ogrn__in=active_ogrns)
)
report_ids = list(reports_qs.values_list("id", flat=True))
@@ -174,16 +203,16 @@ class BackupExportService:
"organization_id",
),
IndustrialCertificateRecord: IndustrialCertificateRecord.objects.filter(
registry_organization_id__in=active_org_ids
organization_record_filter
).order_by("id"),
ManufacturerRecord: ManufacturerRecord.objects.filter(
registry_organization_id__in=active_org_ids
organization_record_filter
).order_by("id"),
InspectionRecord: InspectionRecord.objects.filter(
registry_organization_id__in=active_org_ids
organization_record_filter
).order_by("id"),
ProcurementRecord: ProcurementRecord.objects.filter(
registry_organization_id__in=active_org_ids
procurement_record_filter
).order_by("id"),
FinancialReport: reports_qs.order_by("id"),
FinancialReportLine: FinancialReportLine.objects.filter(