Патч
All checks were successful
Build And Push / publish (push) Successful in 1m8s

This commit is contained in:
2025-11-24 18:00:52 +03:00
parent 439cb147d8
commit c862c4dd35
5 changed files with 38 additions and 15 deletions

View File

@ -143,7 +143,7 @@ class VITACORE_API(AsyncClient):
match req.status_code:
case st.HTTP_200_OK:
return s.WorkersModel.model_validate(req.json()['workers'])
return s.WorkersModel.model_validate(req.json())
case _:
self.logger.error(req.json())
raise e.UnknownException
@ -163,7 +163,9 @@ class VITACORE_API(AsyncClient):
async def getEntries(self, patId: str):
token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get(
'/getEntries',
params={'patId': patId},
@ -185,7 +187,8 @@ class VITACORE_API(AsyncClient):
async def getVaccsReport(self, patId: str):
token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get(
'/getVaccsReport',
params={'patId': patId},
@ -219,7 +222,8 @@ class VITACORE_API(AsyncClient):
async def getRoutesList(self, patId: str):
token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get(
'/getRoutesList',
params={'patId': patId},
@ -246,7 +250,8 @@ class VITACORE_API(AsyncClient):
raise e.UnknownException
async def getHospExaminations(self, patId: str, examId: str | None = None):
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
token = await self.get_token()
req = await self.get(
'/getHospExaminations',
@ -275,7 +280,8 @@ class VITACORE_API(AsyncClient):
async def getCurrHosp(self, patId: str):
token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get(
'/getCurrHosp',
params={'patId': patId},
@ -300,7 +306,8 @@ class VITACORE_API(AsyncClient):
async def getHosps(self, patId: str):
token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get(
'/getHosps',
params={'patId': patId},
@ -328,7 +335,8 @@ class VITACORE_API(AsyncClient):
async def getHospRecommendations(self, patId: str):
token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get(
'/getHospRecommendations',
params={'patId': patId},
@ -358,7 +366,8 @@ class VITACORE_API(AsyncClient):
async def getHospRoutes(self, patId: str):
token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get(
'/getHospRoutes',
params={'patId': patId},

View File

@ -1,6 +1,6 @@
from datetime import datetime
from pydantic import BaseModel, Field
from pydantic import BaseModel, Field, field_validator
class ErrorModel(BaseModel):
@ -180,21 +180,30 @@ class WorkersPositionModel(BaseModel):
title='ФРМР. Должности медицинского персонала',
examples=['врач-онколог'],
)
positionSpecialityCode: str = Field(
positionSpecialityCode: str | None = Field(
title='Код специальности по V021',
examples=['41'],
default=None,
)
positionSpecialityName: str = Field(
positionSpecialityName: str | None = Field(
title='Наименование специальности по V021',
examples=['Онкология'],
default=None,
)
rate: float = Field(
title='Ставка',
examples=[0.5],
)
@field_validator('rate', mode='before')
def convert_comma(cls, v: str | float):
if isinstance(v, str):
return v.replace(',', '.')
class WorkersModel(BaseModel):
return v
class WorkerModel(BaseModel):
id: str = Field(
title='Идентификатор сотрудника',
examples=['dc911302-5044-46f4-b935-c6ffd85eb68f'],
@ -210,6 +219,10 @@ class WorkersModel(BaseModel):
positions: list[WorkersPositionModel]
class WorkersModel(BaseModel):
Workers: list[WorkerModel]
class SpecialityV021Model(BaseModel):
SpecialityID: str = Field(
title='Код спциальности по справочнику V021', examples=['1']