Добавлен API Квартплаты

This commit is contained in:
Gitea
2022-04-28 12:38:12 +09:00
parent 70aaff37f1
commit af49bdf6ec
67 changed files with 2035 additions and 58 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

13
kv/routers/accrual.py Normal file
View File

@ -0,0 +1,13 @@
import kv.schemas as schemas
import kv.crud as crud
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends
from kv.database import get_db
router = APIRouter()
"""get"""
@router.get("/get_municipals")
def get_municipals(db: Session = Depends(get_db)):
return crud.AccrualViewSet.get_municipals(db)

65
kv/routers/address.py Normal file
View File

@ -0,0 +1,65 @@
import kv.schemas as schemas
import kv.crud as crud
from kv.database import get_db
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends
from typing import List
router = APIRouter()
"""get"""
@router.get("/get_details/{id}", response_model=List[schemas.AddressDetailsSerializer])
def get_details(id: int, db: Session = Depends(get_db)):
data = crud.AddressInfoViewSet.get_details(db, id)
return data
@router.get("/get_personal_accounts/{IDCity}", response_model=List[schemas.PersonalAccountSerializer])
def get_personal_accounts(IDCity: int, db: Session = Depends(get_db)):
data = crud.AddressInfoViewSet.get_personal_accounts(
db, IDCity=IDCity)
return data
@router.get("/get_addresses/{IDCity}", response_model=List[schemas.AddressesSerializer])
def get_addresses(IDCity: int, db: Session = Depends(get_db)):
data = crud.AddressInfoViewSet.get_addresses(db, IDCity)
return data
@router.get("/get_address_personal_accounts/{IDAddress}", response_model=List[schemas.AddressPersonalAccounts])
def get_address_personal_accounts(IDAddress: int, db: Session = Depends(get_db)):
data = crud.AddressInfoViewSet.get_address_personal_accounts(db, IDAddress)
return data
@router.get("/retrieve/{id}", response_model=List[schemas.AddressDetailInfoSerializer])
def retrieve(id: int, db: Session = Depends(get_db)):
data = crud.AddressInfoViewSet.retrieve(db, id)
return data
@router.get("/get_metering_devices/{IDAddress}", response_model=List[schemas.AddressMeteringDevices])
def get_metering_devices(IDAddress: int, db: Session = Depends(get_db)):
data = crud.AddressInfoViewSet.get_metering_devices(db, IDAddress)
return data
"""post"""
@router.post('/edit')
def edit(request: schemas.EditAdressInit, db: Session = Depends(get_db)):
return crud.AddressInfoViewSet.edit(db, request)
@router.post('/edit_personal_account')
def edit_personal_account(request: schemas.PersonalAccountDetailsSerializer, db: Session = Depends(get_db)):
return crud.AddressInfoViewSet.edit_personal_account(db, request)
@router.post('/edit_personal_account')
def edit_personal_account(request: schemas.PersonalAccountDetailsSerializer, db: Session = Depends(get_db)):
return crud.AddressInfoViewSet.edit_personal_account(db, request)

View File

@ -1,27 +0,0 @@
from fastapi import APIRouter, Depends
from auth.login.schemas import login as models
from auth import oauth2
from databases.mssql import general
router = APIRouter(dependencies= [Depends(oauth2.get_current_user) ])
@router.get('/')
async def test_router():
return {"msg":"router!"}
@router.get('/getCities')
def get_cities(db = Depends(general.get_db)):
return db.execute("SELECT id,name FROM General.dbo.vCities").fetchall()
@router.get('/getCities/region-id={region_id}')
def get_city(region_id: int,db = Depends(general.get_db)):
return db.execute(f"SELECT id, name FROM General.dbo.vCities WHERE id_region = {region_id}").fetchall()
@router.get('/getAddress/city-id={city_id}')
def get_address(city_id: int, db= Depends(general.get_db)):
return db.execute(f"EXEC General.dbo.getAddress @city_id = {city_id}").fetchall()
@router.get('/getRegions')
def get_region(db = Depends(general.get_db)):
return db.execute("SELECT id, name FROM General.dbo.vRegions").fetchall()

62
kv/routers/objectvs.py Normal file
View File

@ -0,0 +1,62 @@
import kv.schemas as schemas
import kv.crud as crud
from kv.database import get_db
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends
from typing import List
router = APIRouter()
"""get"""
@router.get("/get_details/{IDObject}", response_model=List[schemas.ObjectDetailsSerializer])
def get_details(IDObject: str, db: Session = Depends(get_db)):
data = crud.ObjectViewSet.get_details(db, IDObject)
return data
@router.get("/get_municipals/{IDCity}", response_model=List[schemas.ObjectMunicipalsSerializer])
def get_municipals(IDCity: int, db: Session = Depends(get_db)):
data = crud.ObjectViewSet.get_municipals(db, IDCity)
return data
@router.get("/get_services/{IDObject}", response_model=List[schemas.ObjectServicesSerializer])
def get_services(IDObject: str, db: Session = Depends(get_db)):
data = crud.ObjectViewSet.get_services(db, IDObject)
return data
@router.get("/get_addresses/{IDObject}", response_model=List[schemas.ObjectAddressesSerializer])
def get_addresses(IDObject: str, db: Session = Depends(get_db)):
data = crud.ObjectViewSet.get_addresses(db, id)
return data
@router.get("/get_metering_devices/{IDObject}", response_model=List[schemas.ObjectMeteringDevicesSerializer])
def get_metering_devices(IDObject: str, db: Session = Depends(get_db)):
data = crud.ObjectViewSet.get_metering_devices(db, IDObject)
return data
"""post"""
@router.post('/edit')
def edit(request: schemas.ObjectDetailsSerializer, db: Session = Depends(get_db)):
return crud.ObjectViewSet.edit(db, request)
@router.post('/edit_service')
def edit_service(request: schemas.EditObjectServiceInit, db: Session = Depends(get_db)):
return crud.ObjectViewSet.edit_service(db, request)
@router.post('/edit_temp_metering_device_address')
def edit_temp_metering_device_address(request: schemas.EditTempMeteringDeviceAddressInit, db: Session = Depends(get_db)):
return crud.ObjectViewSet.edit_temp_metering_device_address(db, request)
@router.post('/add_object')
def add_object(request: schemas.AddObjectInit, db: Session = Depends(get_db)):
return crud.ObjectViewSet.add_object(db, request)

56
kv/routers/payment.py Normal file
View File

@ -0,0 +1,56 @@
import kv.schemas as schemas
import kv.crud as crud
from kv.database import get_db
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends
from typing import List
router = APIRouter()
"""get"""
@router.get("/get_money_types", response_model=List[schemas.MoneyTypesSerializer])
def get_money_types(db: Session = Depends(get_db)):
data = crud.PaymentViewSet.get_money_types(db)
return data
@router.get("/get_worker_types", response_model=List[schemas.WorkerTypesSerializer])
def get_worker_types(db: Session = Depends(get_db)):
data = crud.PaymentViewSet.get_worker_types(db)
return data
@router.get("/get_payer_category_types", response_model=List[schemas.PayerCategoryTypesSerializer])
def get_payer_category_types(db: Session = Depends(get_db)):
data = crud.PaymentViewSet.get_payer_category_types(db)
return data
@router.get("/get_services_additional", response_model=List[schemas.ServicesAdditionalSerializer])
def get_services_additional(db: Session = Depends(get_db)):
data = crud.PaymentViewSet.get_services_additional(db)
return data
"""post"""
@router.post('/get_receipt_calculate', response_model=List[schemas.ReceiptCalculatedSerializer])
def get_receipt_calculate(request: schemas.RecieptCalculateInit, db: Session = Depends(get_db)):
return crud.PaymentViewSet.get_receipt_calculate(db, request)
@router.post('/save_receipt')
def save_receipt(request: schemas.ReceiptSaveInit, db: Session = Depends(get_db)):
return crud.PaymentViewSet.save_receipt(db, request)
@router.post('/repayment_info', response_model=List[schemas.RentRepaymentInfoSerializer])
def repayment_info(request: schemas.RepaymentInfoInit, db: Session = Depends(get_db)):
return crud.PaymentViewSet.repayment_info(db, request)
@router.post('/repayment', response_model=List[schemas.RentRepaymentSerializer])
def repayment(request: schemas.RepaymentInit, db: Session = Depends(get_db)):
return crud.PaymentViewSet.repayment(db, request)

View File

@ -0,0 +1,50 @@
import kv.schemas as schemas
import kv.crud as crud
from kv.database import get_db
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends
from typing import List
router = APIRouter()
"""get"""
@router.get("/get_details/{id}", response_model=List[schemas.PersonalAccountDetailsSerializer])
def get_details(id: int, db: Session = Depends(get_db)):
data = crud.PersonalAccountViewSet.get_details(db, id)
return data
@router.get("/get_turn_over/{IDPersonalAccount}", response_model=List[schemas.TurnOverSerializer])
def get_turn_over(IDPersonalAccount: int, db: Session = Depends(get_db)):
data = crud.PersonalAccountViewSet.get_turn_over(db, IDPersonalAccount)
return data
@router.get("/get_services/{IDPersonalAccount}", response_model=List[schemas.PersonalAccountTOServicesSerializer])
def get_services(IDPersonalAccount: int, db: Session = Depends(get_db)):
data = crud.PersonalAccountViewSet.get_services(db, IDPersonalAccount)
return data
@router.get("/get_debt/{IDPersonalAccount}", response_model=List[schemas.PersonalAccountDebtSerilizer])
def get_debt(IDPersonalAccount: int, db: Session = Depends(get_db)):
data = crud.PersonalAccountViewSet.get_debt(db, IDPersonalAccount)
return data
@router.get("/get_debts/IDPersonalAccount={IDPersonalAccount},GetType={GetType}", response_model=List[schemas.PersonalAccountDebtsSerializer])
def get_debts(IDPersonalAccount: int, GetType: bool, db: Session = Depends(get_db)):
to_data = schemas.PersonalAccountType(
IDPersonalAccount=IDPersonalAccount, GetType=GetType)
data = crud.PersonalAccountViewSet.get_debts(db, to_data)
return data
"""post"""
@router.post("/get_financial_account", response_model=List[schemas.ReportTOFinancialAccount])
def get_financial_account(request: schemas.PersonalAccountInit, db: Session = Depends(get_db)):
data = crud.PersonalAccountViewSet.get_financial_account(db, request)
return schemas.ReportTOFinancialAccount(**data)

213
kv/routers/reference.py Normal file
View File

@ -0,0 +1,213 @@
import kv.schemas as schemas
from kv.crud import ReferenceViewSet
from kv.database import get_db
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends
from typing import List
router = APIRouter()
"""get"""
@router.get("/get_personal_accounts", response_model=List[schemas.PersonalAccountsSerializer])
def get_personal_accounts(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_personal_accounts(db)
return data
@router.get("/get_objects/{IDCity}", response_model=List[schemas.ObjectsSerializer])
def get_objects(IDCity: int, db: Session = Depends(get_db)):
inn = schemas.CityInit(IDCity=IDCity)
data = ReferenceViewSet.get_objects(db, inn)
return data
@router.get("/get_services", response_model=List[schemas.CommonTypeSerializer])
def get_services(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_services(db)
return data
@router.get("/get_provider_types", response_model=List[schemas.ProviderTypeSerializer])
def get_provider_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_provider_types(db)
return data
@router.get("/get_providers", response_model=List[schemas.CommonTypeSerializer])
def get_providers(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_providers(db)
return data
@router.get("/get_systems_water", response_model=List[schemas.SystemWater])
def get_systems_water(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_systems_water(db)
return data
@router.get("/get_systems_water_period_types", response_model=List[schemas.SystemWaterPeriodType])
def get_systems_water_period_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_systems_water_period_types(db)
return data
@router.get("/get_provider_contracts/{IDPersonalAccount}", response_model=List[schemas.ProviderContractSerializer])
def get_provider_contracts(IDPersonalAccount: int, db: Session = Depends(get_db)):
inn = schemas.PAInit(IDPersonalAccount=IDPersonalAccount)
data = ReferenceViewSet.get_provider_contracts(db, inn)
return data
@router.get("/get_providers_utility_services/{IDCity}", response_model=List[schemas.CommonTypeSerializer])
def get_providers_utility_services(IDCity: int, db: Session = Depends(get_db)):
inn = schemas.CityInit(IDCity=IDCity)
data = ReferenceViewSet.get_providers_utility_services(db, inn)
return data
@router.get("/get_management_companies", response_model=List[schemas.ManagementCompanySerializer])
def get_management_companies(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_management_companies(db)
return data
@router.get("/get_boilers_by_city/{IDCity}", response_model=List[schemas.CommonTypeUUIDSerializer])
def get_boilers_by_city(IDCity: int, db: Session = Depends(get_db)):
inn = schemas.CityInit(IDCity=IDCity)
data = ReferenceViewSet.get_boilers_by_city(db, inn)
return data
@router.get("/get_streets_by_city/{IDCity}", response_model=List[schemas.CommonTypeSerializer])
def get_streets_by_city(IDCity: int, db: Session = Depends(get_db)):
inn = schemas.CityInit(IDCity=IDCity)
data = ReferenceViewSet.get_streets_by_city(db, inn)
return data
@router.get("/get_metering_devices_services", response_model=List[schemas.ServicesSerializer])
def get_metering_devices_services(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_metering_devices_services(db)
return data
@router.get("/get_owhership_types", response_model=List[schemas.OwnershipType])
def get_owhership_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_owhership_types(db)
return data
@router.get("/get_object_improvement_degree_types", response_model=List[schemas.ImprovementDegreeSerializer])
def get_object_improvement_degree_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_object_improvement_degree_types(db)
return data
@router.get("/get_object_gas_types", response_model=List[schemas.CommonTypeSerializer])
def get_object_gas_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_object_gas_types(db)
return data
@router.get("/get_object_heating_types", response_model=List[schemas.CommonTypeSerializer])
def get_object_heating_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_object_heating_types(db)
return data
@router.get("/get_object_wiring_types", response_model=List[schemas.CommonTypeSerializer])
def get_object_wiring_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_object_wiring_types(db)
return data
@router.get("/get_object_overlapping_types", response_model=List[schemas.CommonTypeSerializer])
def get_object_overlapping_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_object_overlapping_types(db)
return data
@router.get("/get_object_wall_material_types", response_model=List[schemas.CommonTypeSerializer])
def get_object_wall_material_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_object_wall_material_types(db)
return data
@router.get("/get_object_roof_types", response_model=List[schemas.CommonTypeSerializer])
def get_object_roof_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_object_roof_types(db)
return data
@router.get("/get_object_foundation_types", response_model=List[schemas.CommonTypeSerializer])
def get_object_foundation_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_object_foundation_types(db)
return data
@router.get("/get_tariffs_population", response_model=List[schemas.CommonTypeSerializer])
def get_tariffs_population(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_tariffs_population(db)
return data
@router.get("/get_tariffs_population", response_model=List[schemas.CommonTypeSerializer])
def get_tariffs_population(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_tariffs_population(db)
return data
@router.get("/get_courts_types", response_model=List[schemas.CommonTypeSerializer])
def get_courts_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_courts_types(db)
return data
@router.get("/get_address_types", response_model=List[schemas.CommonTypeSerializer])
def get_address_types(db: Session = Depends(get_db)):
data = ReferenceViewSet.get_address_types(db)
return data
"""post"""
@router.post('/get_advanced_search', response_model=List[schemas.AdvancedSearchSerializer])
def get_advanced_search(request: schemas.AdvancedSearchInit, db: Session = Depends(get_db)):
return ReferenceViewSet.edit(db, request)
@router.post('/get_metering_devices_types', response_model=List[schemas.MeteringDeviceTypeSerializer])
def get_metering_devices_types(request: schemas.ServiceIDInit, db: Session = Depends(get_db)):
return ReferenceViewSet.get_metering_devices_types(db, request)
@router.post('/get_object_metering_devices_types', response_model=List[schemas.CommonTypeSerializer])
def get_object_metering_devices_types(request: schemas.ObjectMeteringDevicesTypesInit, db: Session = Depends(get_db)):
return ReferenceViewSet.get_object_metering_devices_types(db, request)
@router.post('/get_object_metering_device_addresses', response_model=List[schemas.ObjectMeteringDeviceAddressesSerializer])
def get_object_metering_device_addresses(request: schemas.AdvancedSearchInit, db: Session = Depends(get_db)):
return ReferenceViewSet.get_object_metering_device_addresses(db, request)
@router.post('/get_object_water_system_volumes', response_model=List[schemas.CommonTypeSerializer])
def get_object_water_system_volumes(request: schemas.TariffsPopulationInit, db: Session = Depends(get_db)):
return ReferenceViewSet.get_object_water_system_volumes(db, request)
@router.post('/get_tariff_population', response_model=List[schemas.TariffPopulationSerializer])
def get_tariff_population(request: schemas.AdvancedSearchInit, db: Session = Depends(get_db)):
return ReferenceViewSet.get_tariff_population(db, request)
@router.post('/get_object_tariff_provider', response_model=List[schemas.TariffProviderSerializer])
def get_object_tariff_provider(request: schemas.TariffProviderInit, db: Session = Depends(get_db)):
return ReferenceViewSet.get_object_tariff_provider(db, request)
@router.post('/edit_metering_device')
def edit_metering_device(request: schemas.MeteringDeviceInit, db: Session = Depends(get_db)):
return ReferenceViewSet.edit_metering_device(db, request)

15
kv/routers/report.py Normal file
View File

@ -0,0 +1,15 @@
import kv.schemas as schemas
import kv.crud as crud
from kv.database import get_db
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends
from typing import List
router = APIRouter()
"""post"""
@router.post("/repayment", response_model=List[schemas.RentRegisterNotices])
def repayment(request: schemas.RentRegisterNoticeInit, db: Session = Depends(get_db)):
data = crud.ReportViewSet.get_details(db, request)
return data

View File

@ -0,0 +1,24 @@
import kv.schemas as schemas
import kv.crud as crud
from kv.database import get_db
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends
from typing import List
router = APIRouter()
"""post"""
@router.post('/get_report_filter_types', response_model=List[schemas.ReportFilterTypeSerializer])
def get_report_filter_types(request: schemas.UserInit, db: Session = Depends(get_db)):
return crud.ReportFilterViewSet.get_report_filter_types(db, request)
@router.post('/get_report_filtered_list', response_model=List[schemas.ReportFilterListSerializer])
def get_report_filtered_list(request: schemas.ReportFilterInit, db: Session = Depends(get_db)):
return crud.ReportFilterViewSet.get_report_filtered_list(db, request)
@router.post('/set_report_filter_list', response_model=List[schemas.ReportFilterListSerializer])
def set_report_filter_list(request: schemas.ReportFilterSetInit, db: Session = Depends(get_db)):
return crud.ReportFilterViewSet.set_report_filter_list(db, request)

19
kv/routers/turnover.py Normal file
View File

@ -0,0 +1,19 @@
import kv.schemas as schemas
import kv.crud as crud
from kv.database import get_db
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends
from typing import List
router = APIRouter()
"""post"""
@router.post('/make_storno')
def make_storno(request: schemas.StronoInit, db: Session = Depends(get_db)):
return crud.TurnOverViewSet.make_storno(db, request)
@router.post('/get_to_archive')
def get_to_archive(request: schemas.ArchiveInit, db: Session = Depends(get_db)):
return crud.TurnOverViewSet.get_to_archive(db, request)

33
kv/routers/withdrawing.py Normal file
View File

@ -0,0 +1,33 @@
import kv.schemas as schemas
import kv.crud as crud
from kv.database import get_db
from sqlalchemy.orm import Session
from fastapi import APIRouter, Depends
from typing import List
router = APIRouter()
"""get"""
@router.get("/get_withdrawing_types", response_model=List[schemas.WithdrawingTypesSerializer])
def get_withdrawing_types(db: Session = Depends(get_db)):
data = crud.WithdrawingViewSet.get_withdrawing_types(db)
return data
"""post"""
@router.post('/set_report_filter_list', response_model=List[schemas.WithdrawingCheckSerializer])
def set_report_filter_list(request: schemas.WithdrawingCheckInit, db: Session = Depends(get_db)):
return crud.WithdrawingViewSet.set_report_filter_list(db, request)
@router.post('/get_withdrawing_temp', response_model=List[schemas.WithdrawingTempSerializer])
def get_withdrawing_temp(request: schemas.WithdrawingTempInit, db: Session = Depends(get_db)):
return crud.WithdrawingViewSet.get_withdrawing_temp(db, request)
@router.post('/save_withdrawing')
def save_withdrawing(request: schemas.WithdrawingSave, db: Session = Depends(get_db)):
return crud.WithdrawingViewSet.save_withdrawing(db, request)