last
This commit is contained in:
@ -16,7 +16,7 @@ class FilterListInit(BaseModel):
|
||||
|
||||
|
||||
class FilterSetInit(FilterListInit):
|
||||
IDFilterObject: int
|
||||
IDFilterObject: str
|
||||
NeedClear: bool
|
||||
|
||||
class FilterTypeSerializer(BaseModel):
|
||||
@ -27,7 +27,7 @@ class FilterTypeSerializer(BaseModel):
|
||||
|
||||
|
||||
class FilterListSerializer(BaseModel):
|
||||
ID: int
|
||||
ID: str
|
||||
Name: Optional[str] = None
|
||||
IsChecked: bool
|
||||
|
||||
|
@ -18,7 +18,7 @@ import datetime
|
||||
Base = declarative_base()
|
||||
metadata = Base.metadata
|
||||
|
||||
ignore_list = []
|
||||
ignore_list = ["5A1A84DD-34AC-4D16-A91C-3DB9782F4828"]
|
||||
|
||||
class PaymentDetails(Base):
|
||||
__tablename__ = "payment_details"
|
||||
|
72
kv/crud.py
72
kv/crud.py
@ -35,6 +35,19 @@ def exec_procedure_wo_result(session, proc_name, params, database: str = None):
|
||||
sql_string, params).fetchall()
|
||||
session.commit()
|
||||
|
||||
def exec_procedure_no_result(session, proc_name, params, database: str = None):
|
||||
sql_params = ",".join([f"@{key} = :{key}"
|
||||
for key, value in params.items()])
|
||||
dbstr = ""
|
||||
if database:
|
||||
dbstr = f"[{database}]."
|
||||
sql_string = sql.text(f'''
|
||||
EXEC {dbstr}[dbo].[{proc_name}] {sql_params};
|
||||
''')
|
||||
session.execute(
|
||||
sql_string, params)
|
||||
session.commit()
|
||||
|
||||
|
||||
"""PersonalAccountViewSet"""
|
||||
|
||||
@ -45,7 +58,7 @@ class PersonalAccountViewSet:
|
||||
|
||||
def get_details(db: Session, id: int = None):
|
||||
table = get_table("PersonalAccount")
|
||||
return db.query(table).filter(table.c["ID"] == id).first()
|
||||
return db.query(table).filter(table.c["ID"] == id).all()
|
||||
|
||||
def get_services(db: Session, IDPersonalAccount: int = None):
|
||||
return exec_procedure(db, 'uspGetPersonalAccountServices', {'IDPersonalAccount': IDPersonalAccount})
|
||||
@ -59,16 +72,18 @@ class PersonalAccountViewSet:
|
||||
def get_financial_account(db: Session, data: schemas.PersonalAccountReportTOFinancialInit = None):
|
||||
return exec_procedure(db, 'uspGetPersonalAccountReportTOFinancialAccount', data.dict())
|
||||
|
||||
def edit(db: Session, data: schemas.PersonalAccountDetailsInit = None):
|
||||
return exec_procedure_no_result(db, 'uspEditPersonalAccount', data.dict())
|
||||
|
||||
"""AddressInfoViewSet"""
|
||||
|
||||
|
||||
class AddressInfoViewSet:
|
||||
class AddressViewSet:
|
||||
"""get"""
|
||||
|
||||
def get_details(db: Session, id: int = None):
|
||||
table = get_table("RefAddresses", "General")
|
||||
return db.query(table).filter(table.c["ID"] == id).first()
|
||||
return db.query(table).filter(table.c["ID"] == id).all()
|
||||
|
||||
def get_personal_accounts(db: Session, IDCity: int = None):
|
||||
return exec_procedure(db, 'uspGetPersonalAccountsList', {'IDCity': IDCity})
|
||||
@ -88,18 +103,7 @@ class AddressInfoViewSet:
|
||||
"""post"""
|
||||
|
||||
def edit(db: Session, data: schemas.EditAdressInit = None):
|
||||
try:
|
||||
exec_procedure_wo_result(db, 'uspEditAddress', **data)
|
||||
return {'msg': 'success'}
|
||||
except:
|
||||
return {'msg': 'error'}
|
||||
|
||||
def edit_personal_account(db: Session, data: schemas.PersonalAccountDetailsSerializer = None):
|
||||
try:
|
||||
exec_procedure_wo_result(db, 'uspEditPersonalAccount', **data)
|
||||
return {'msg': 'success'}
|
||||
except:
|
||||
return {'msg': 'error'}
|
||||
exec_procedure_no_result(db, 'uspEditAddress', data.dict())
|
||||
|
||||
def edit_personal_account_address(db: Session, data: schemas.EditPersonalAccountAddressInit = None):
|
||||
try:
|
||||
@ -134,34 +138,18 @@ class ObjectViewSet:
|
||||
|
||||
"""post"""
|
||||
|
||||
def edit(db: Session, data: schemas.ObjectDetailsSerializer = None):
|
||||
try:
|
||||
exec_procedure_wo_result(db, 'uspEditObject', **data)
|
||||
return {'msg': 'success'}
|
||||
except:
|
||||
return {'msg': 'error'}
|
||||
def edit(db: Session, data: schemas.ObjectEditInit = None):
|
||||
exec_procedure_no_result(db, 'uspEditObject', data.dict())
|
||||
|
||||
def edit_service(db: Session, data: schemas.EditObjectServiceInit = None):
|
||||
try:
|
||||
exec_procedure_wo_result(db, 'uspEditObject', **data)
|
||||
return {'msg': 'success'}
|
||||
except:
|
||||
return {'msg': 'error'}
|
||||
exec_procedure_no_result(db, 'uspEditObject', data.dict())
|
||||
|
||||
def edit_temp_metering_device_address(db: Session, data: schemas.EditTempMeteringDeviceAddressInit = None):
|
||||
try:
|
||||
exec_procedure_wo_result(
|
||||
exec_procedure_no_result(
|
||||
db, 'uspEditTempMeteringDeviceAddress', **data, database='General')
|
||||
return {'msg': 'success'}
|
||||
except:
|
||||
return {'msg': 'error'}
|
||||
|
||||
def add_object(db: Session, data: schemas.AddObjectInit = None):
|
||||
try:
|
||||
exec_procedure_wo_result(db, 'uspAddObject', **data)
|
||||
return {'msg': 'success'}
|
||||
except:
|
||||
return {'msg': 'error'}
|
||||
exec_procedure_no_result(db, 'uspAddObject', **data)
|
||||
|
||||
|
||||
"""TurnOverViewSet"""
|
||||
@ -212,10 +200,10 @@ class PaymentViewSet:
|
||||
return exec_procedure(db, 'uspSaveReceipt', data.dict())
|
||||
|
||||
def repayment_info(db: Session, data: schemas.RepaymentInfoInit):
|
||||
return exec_procedure(db, 'uspGetRepaymentInfo', **data)
|
||||
return exec_procedure(db, 'uspGetRepaymentInfo', data.dict())
|
||||
|
||||
def repayment(db: Session, data: schemas.RepaymentInit):
|
||||
return exec_procedure(db, 'uspRepayment', **data)
|
||||
return exec_procedure(db, 'uspRepayment', data.dict())
|
||||
|
||||
|
||||
"""ReportViewSet"""
|
||||
@ -270,11 +258,7 @@ class RecalculationViewSet:
|
||||
return {'msg': 'error'}
|
||||
|
||||
def save_recalculation(db: Session, data: schemas.RecalculationSave = None):
|
||||
try:
|
||||
exec_procedure_wo_result(db, 'uspSaveRecalculation', data.dict())
|
||||
return {'msg': 'success'}
|
||||
except:
|
||||
return {'msg': 'error'}
|
||||
exec_procedure_no_result(db, 'uspSaveRecalculation', data.dict())
|
||||
|
||||
|
||||
"""ReferenceViewSet"""
|
||||
@ -409,7 +393,7 @@ class ReferenceViewSet:
|
||||
return exec_procedure(db, 'uspGetMeteringDeviceTypes', params=data, database='General')
|
||||
|
||||
def get_object_water_system_volumes(db: Session, data: schemas.ObjectWaterSystemVolumesInit):
|
||||
return exec_procedure(db, 'uspGetObjectWaterSystemVolumes', **data)
|
||||
return exec_procedure(db, 'uspGetObjectWaterSystemVolumes', data.dict())
|
||||
|
||||
def get_tariff_population(db: Session, data: schemas.TariffsPopulationInit):
|
||||
return exec_procedure(db, 'uspGetTariffsPopulation', **data)
|
||||
|
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.
@ -12,38 +12,38 @@ router = APIRouter()
|
||||
|
||||
@router.get("/get_details/{id}", response_model=List[schemas.AddressDetailsSerializer])
|
||||
async def get_details(id: int, db: Session = Depends(get_db)):
|
||||
data = crud.AddressInfoViewSet.get_details(db, id)
|
||||
data = crud.AddressViewSet.get_details(db, id)
|
||||
return data
|
||||
|
||||
|
||||
@router.get("/get_personal_accounts/{IDCity}", response_model=List[schemas.PersonalAccountSerializer])
|
||||
async def get_personal_accounts(IDCity: int, db: Session = Depends(get_db)):
|
||||
data = crud.AddressInfoViewSet.get_personal_accounts(
|
||||
data = crud.AddressViewSet.get_personal_accounts(
|
||||
db, IDCity=IDCity)
|
||||
return data
|
||||
|
||||
|
||||
@router.get("/get_addresses/{IDCity}", response_model=List[schemas.AddressesSerializer])
|
||||
async def get_addresses(IDCity: int, db: Session = Depends(get_db)):
|
||||
data = crud.AddressInfoViewSet.get_addresses(db, IDCity)
|
||||
data = crud.AddressViewSet.get_addresses(db, IDCity)
|
||||
return data
|
||||
|
||||
|
||||
@router.get("/get_address_personal_accounts/{IDAddress}", response_model=List[schemas.AddressPersonalAccounts])
|
||||
async def get_address_personal_accounts(IDAddress: int, db: Session = Depends(get_db)):
|
||||
data = crud.AddressInfoViewSet.get_address_personal_accounts(db, IDAddress)
|
||||
data = crud.AddressViewSet.get_address_personal_accounts(db, IDAddress)
|
||||
return data
|
||||
|
||||
|
||||
@router.get("/get_address_object_details/{id}", response_model=List[schemas.AddressDetailInfoSerializer])
|
||||
async def get_address_object_details(id: int, db: Session = Depends(get_db)):
|
||||
data = crud.AddressInfoViewSet.get_address_object_details(db, id)
|
||||
data = crud.AddressViewSet.get_address_object_details(db, id)
|
||||
return data
|
||||
|
||||
|
||||
@router.get("/get_metering_devices/{IDAddress}", response_model=List[schemas.AddressMeteringDevices])
|
||||
async def get_metering_devices(IDAddress: int, db: Session = Depends(get_db)):
|
||||
data = crud.AddressInfoViewSet.get_metering_devices(db, IDAddress)
|
||||
data = crud.AddressViewSet.get_metering_devices(db, IDAddress)
|
||||
return data
|
||||
|
||||
|
||||
@ -52,14 +52,8 @@ async def get_metering_devices(IDAddress: int, db: Session = Depends(get_db)):
|
||||
|
||||
@router.post('/edit')
|
||||
async def edit(request: schemas.EditAdressInit, db: Session = Depends(get_db)):
|
||||
return crud.AddressInfoViewSet.edit(db, request)
|
||||
return crud.AddressViewSet.edit(db, request)
|
||||
|
||||
|
||||
@router.post('/edit_personal_account')
|
||||
async 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')
|
||||
async def edit_personal_account(request: schemas.PersonalAccountDetailsSerializer, db: Session = Depends(get_db)):
|
||||
return crud.AddressInfoViewSet.edit_personal_account(db, request)
|
||||
|
@ -43,7 +43,7 @@ async def get_metering_devices(IDObject: str, db: Session = Depends(get_db)):
|
||||
|
||||
|
||||
@router.post('/edit')
|
||||
async def edit(request: schemas.ObjectDetailsSerializer, db: Session = Depends(get_db)):
|
||||
async def edit(request: schemas.ObjectEditInit, db: Session = Depends(get_db)):
|
||||
return crud.ObjectViewSet.edit(db, request)
|
||||
|
||||
|
||||
|
@ -48,3 +48,7 @@ async def get_debts(IDPersonalAccount: int, GetType: bool, db: Session = Depends
|
||||
@router.post("/get_financial_account", response_model=List[schemas.ReportTOFinancialAccount])
|
||||
async def get_financial_account(request: schemas.ReportTOFinancialAccountInit, db: Session = Depends(get_db)):
|
||||
return crud.PersonalAccountViewSet.get_financial_account(db, request)
|
||||
|
||||
@router.post('/edit')
|
||||
async def edit(request: schemas.PersonalAccountDetailsInit, db: Session = Depends(get_db)):
|
||||
return crud.PersonalAccountViewSet.edit(db, request)
|
@ -194,7 +194,7 @@ async def get_object_metering_device_addresses(request: schemas.AdvancedSearchIn
|
||||
|
||||
|
||||
@router.post('/get_object_water_system_volumes', response_model=List[schemas.CommonTypeSerializer])
|
||||
async def get_object_water_system_volumes(request: schemas.TariffsPopulationInit, db: Session = Depends(get_db)):
|
||||
async def get_object_water_system_volumes(request: schemas.ObjectWaterSystemVolumesInit, db: Session = Depends(get_db)):
|
||||
return ReferenceViewSet.get_object_water_system_volumes(db, request)
|
||||
|
||||
|
||||
|
@ -142,11 +142,12 @@ class WithdrawingSave(PersonalAccountInit, WithdrawingCheckSerializer, DateInit)
|
||||
|
||||
class RecalculationSave(BaseModel):
|
||||
IDUser: int
|
||||
IDService: int
|
||||
IDService: int = None
|
||||
IDType: int
|
||||
IDRecalculationCode: int = None
|
||||
Percent: float = None
|
||||
IDOldChange: str = None
|
||||
IDNewChange: str = None
|
||||
OldValue: str = None
|
||||
NewValue: str = None
|
||||
DateBegin: str
|
||||
DateEnd: str
|
||||
|
||||
@ -156,10 +157,12 @@ class RepaymentInfoInit(BaseModel):
|
||||
IDMoneyType: int
|
||||
|
||||
|
||||
class RepaymentInit(RepaymentInfoInit):
|
||||
class RepaymentInit(BaseModel):
|
||||
IDCashbox: int
|
||||
IDRepaymentType: int
|
||||
RepaymentNumber: int
|
||||
RepaymentDate: date
|
||||
RepaymentDate: str
|
||||
IDMoneyType: int
|
||||
|
||||
|
||||
class RecieptCalculateInit(PersonalAccountInit):
|
||||
@ -229,6 +232,22 @@ class PersonalAccountSerializer(BaseModel):
|
||||
IDAccount: int
|
||||
FullName: Optional[str] = None
|
||||
|
||||
class PersonalAccountDetailsInit(BaseModel):
|
||||
ActionType: Optional[str] = None
|
||||
ID: int = None
|
||||
IDAddress: int = None
|
||||
IDTenants: int = None
|
||||
IDWorker: int = None
|
||||
LastName: Optional[str] = None
|
||||
FirstName: Optional[str] = None
|
||||
Patronymic: Optional[str] = None
|
||||
PassportSerialNumber: Optional[str] = None
|
||||
PassportNumber: Optional[str] = None
|
||||
PassportIssueBy: Optional[str] = None
|
||||
PassportIssueDate: Optional[str] = None
|
||||
PassportRegistrationPlace: Optional[str] = None
|
||||
PassportRegistrationDate: Optional[str] = None
|
||||
Note: Optional[str] = None
|
||||
|
||||
class PersonalAccountDetailsSerializer(BaseModel):
|
||||
ID: int
|
||||
@ -332,7 +351,7 @@ class AddressDetailsSerializer(BaseModel):
|
||||
IDImprovementDegree: int = None
|
||||
CadastralNumber: Optional[str] = None
|
||||
Number: Optional[str] = None
|
||||
Privatization: bool = None
|
||||
Privatization: float = None
|
||||
Area: float = None
|
||||
AreaOwned: float = None
|
||||
AreaAboveNormal: float = None
|
||||
@ -353,10 +372,10 @@ class AddressDetailsSerializer(BaseModel):
|
||||
MeteringDeviceHeating: bool = None
|
||||
MeteringDeviceHotWater: bool = None
|
||||
MeteringDeviceColdWater: bool = None
|
||||
ActAvailabilityMeteringDeviceInstallIDType: int = None
|
||||
ActAvailabilityMeteringDeviceInstallIDType: bool = None
|
||||
ActAvailabilityMeteringDeviceInstallHeating: bool = None
|
||||
ActAvailabilityMeteringDeviceInstallWater: bool = None
|
||||
|
||||
|
||||
|
||||
class EditAdressInit(AddressDetailsSerializer):
|
||||
ActionType: Optional[str] = None
|
||||
@ -647,8 +666,9 @@ class AccrualsCanBeRecalculatedSerializer(BaseModel):
|
||||
Volume: float
|
||||
Amount: float
|
||||
|
||||
class ObjectDetailsSerializer(BaseModel):
|
||||
class ObjectEditInit(BaseModel):
|
||||
IDObject: str = None
|
||||
IDCIty: int = None
|
||||
IDFias: Optional[str] = None
|
||||
IDBoiler: str = None
|
||||
IDOwnershipType: int = None
|
||||
@ -656,7 +676,53 @@ class ObjectDetailsSerializer(BaseModel):
|
||||
BuildDate: int = None
|
||||
FloorNumber: int = None
|
||||
Entrance: int = None
|
||||
CommissDate: date = None
|
||||
CommissDate: int = None
|
||||
Volume: float = None
|
||||
FullArea: float = None
|
||||
IDBuildingType: Optional[str] = None
|
||||
IDOverlappingType: int = None
|
||||
IDWallMaterial: int = None
|
||||
IDRoofType: int = None
|
||||
IDFoundationType: int = None
|
||||
WithdrawingDate: Optional[str] = None
|
||||
WithdrawingReason: Optional[str] = None
|
||||
IDSystemHotWater: int = None
|
||||
IDSystemHotWaterPeriodType: int = None
|
||||
IDSystemColdWater: int = None
|
||||
IDSystemColdWaterPeriodType: int = None
|
||||
IDSystemSewerage: int = None
|
||||
IDStandartVolume: int = None
|
||||
IDHeatingType: int = None
|
||||
IDGasType: int = None
|
||||
IDWiringType: int = None
|
||||
IDImprovementDegree: int = None
|
||||
Amount: float = None
|
||||
Deterioration: float = None
|
||||
AreaRoof: float = None
|
||||
AreaFoundation: float = None
|
||||
AreaFacade: float = None
|
||||
AreaPlub: float = None
|
||||
AreaAttic: float = None
|
||||
AreaTechnicalFloor: float = None
|
||||
AreaBuilding: float = None
|
||||
AreaLk: float = None
|
||||
AreaYardArea: float = None
|
||||
AreaBoiler: float = None
|
||||
ActAvailabilityCounterInstallObjectHeating: int = None
|
||||
ActAvailabilityCounterInstallObjectWater: int = None
|
||||
DirectControl: bool = None
|
||||
|
||||
class ObjectDetailsSerializer(BaseModel):
|
||||
IDObject: str = None
|
||||
IDCIty: int = None
|
||||
IDFias: Optional[str] = None
|
||||
IDBoiler: str = None
|
||||
IDOwnershipType: int = None
|
||||
IDProviderUtilityServices: int = None
|
||||
BuildDate: int = None
|
||||
FloorNumber: int = None
|
||||
Entrance: int = None
|
||||
CommissDate: int = None
|
||||
Volume: float = None
|
||||
FullArea: float = None
|
||||
IDBuildingType: Optional[str] = None
|
||||
@ -795,9 +861,9 @@ class ImprovementDegreeSerializer(BaseModel):
|
||||
|
||||
|
||||
class ObjectWaterSystemVolumesInit(BaseModel):
|
||||
IDHotWater: int
|
||||
IDColdWater: int
|
||||
IDSewerage: int
|
||||
IDPeriodTypeHotWater: int
|
||||
IDPeriodTypeColdWater: int
|
||||
IDPeriodTypeSewerage: int
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user