2024-06-26 16:44:12 +03:00
|
|
|
from datetime import date, datetime
|
2024-07-08 18:35:04 +03:00
|
|
|
from typing import Optional
|
|
|
|
from sqlalchemy import BIGINT, Column, ForeignKey
|
|
|
|
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship, aliased
|
2024-06-26 16:44:12 +03:00
|
|
|
|
|
|
|
|
2024-07-08 18:35:04 +03:00
|
|
|
class __Base(DeclarativeBase):
|
|
|
|
pass
|
2024-06-26 16:44:12 +03:00
|
|
|
|
|
|
|
|
2024-07-08 18:35:04 +03:00
|
|
|
class MPLSTDB(__Base):
|
|
|
|
__tablename__ = "LST"
|
|
|
|
ID_LST: Mapped[int] = mapped_column(BIGINT, primary_key=True)
|
|
|
|
LST_ID_VLST: Mapped[int]
|
|
|
|
LST_NAME: Mapped[str]
|
|
|
|
LST_NAME_SH: Mapped[str]
|
2024-06-26 16:44:12 +03:00
|
|
|
|
|
|
|
|
2024-07-08 18:35:04 +03:00
|
|
|
class MPAppTaskDB(__Base):
|
2024-06-26 16:44:12 +03:00
|
|
|
__tablename__: str = "APP_TASK"
|
2024-07-08 18:35:04 +03:00
|
|
|
ID_APP_TASK: Mapped[int] = mapped_column(BIGINT, primary_key=True)
|
|
|
|
APP_TASK_ID_SOTR: Mapped[int] = mapped_column(BIGINT)
|
|
|
|
APP_TASK_ID_APP_TASK: Mapped[int] = mapped_column(BIGINT, ForeignKey("APP_TASK.ID_APP_TASK"))
|
|
|
|
APP_TASK_DT_START_PLN: Mapped[datetime]
|
|
|
|
APP_TASK_DT_END_PLN: Mapped[datetime]
|
|
|
|
APP_TASK_DT_START_FACT: Mapped[datetime | None]
|
|
|
|
APP_TASK_DT_END_FACT: Mapped[datetime | None]
|
|
|
|
APP_TASK_STATUS: Mapped[int]
|
|
|
|
APP_TASK_TIP: Mapped[int]
|
|
|
|
APP_TASK_TEXT: Mapped[str]
|
|
|
|
APP_TASK_DEL: Mapped[int]
|
|
|
|
|
|
|
|
subtasks: Mapped['MPAppTaskDB'] = relationship('MPAppTaskDB', remote_side=[ID_APP_TASK])
|
2024-06-26 16:44:12 +03:00
|
|
|
|
|
|
|
|
|
|
|
@property
|
|
|
|
def is_subtask(self) -> bool:
|
|
|
|
return self.ID_APP_TASK != self.APP_TASK_ID_APP_TASK
|
|
|
|
|
|
|
|
|
2024-07-08 18:35:04 +03:00
|
|
|
class MPAppEventDB(__Base):
|
2024-06-26 16:44:12 +03:00
|
|
|
__tablename__: str = "APP_EVENT"
|
2024-07-08 18:35:04 +03:00
|
|
|
ID_APP_EVENT: Mapped[int] = mapped_column(primary_key=True)
|
|
|
|
APP_EVENT_ID_SOTR: Mapped[int]
|
|
|
|
APP_EVENT_ID_REC: Mapped[int]
|
|
|
|
APP_EVENT_VID: Mapped[int]
|
|
|
|
APP_EVENT_TIP: Mapped[int]
|
|
|
|
APP_EVENT_DT: Mapped[datetime | None]
|
|
|
|
APP_EVENT_TEXT: Mapped[str | None]
|
|
|
|
APP_EVENT_DATA: Mapped[str]
|
|
|
|
APP_EVENT_DEL: Mapped[int]
|
|
|
|
|
|
|
|
|
|
|
|
class MPMSTDB(__Base):
|
2024-06-26 16:44:12 +03:00
|
|
|
__tablename__ = "MST"
|
2024-07-08 18:35:04 +03:00
|
|
|
ID_MST: Mapped[int] = mapped_column(primary_key=True)
|
|
|
|
MST_PR_OTHER: Mapped[int]
|
|
|
|
MST_ID_KG: Mapped[int]
|
|
|
|
MST_ID_SRV: Mapped[int]
|
|
|
|
MST_ID_SETTLEMENT: Mapped[Optional[int]]
|
|
|
|
MST_SID: Mapped[Optional[str]]
|
|
|
|
MST_NAME: Mapped[Optional[str]]
|
|
|
|
MST_CLI_NAME: Mapped[Optional[str]]
|
|
|
|
MST_CODE: Mapped[int]
|
|
|
|
MST_CODE_PODR_NDS: Mapped[int | None]
|
|
|
|
MST_CODE_PODR_BN: Mapped[int | None]
|
|
|
|
MST_PR_TTNINPUT: Mapped[int]
|
|
|
|
MST_PR_TTNOUTPUT: Mapped[int]
|
|
|
|
MST_PR_AEX: Mapped[int]
|
|
|
|
MST_PR_AEX_ADR: Mapped[Optional[int]]
|
|
|
|
MST_ID_MST_TTNOUTPUT: Mapped[int]
|
|
|
|
MST_PR_SORT: Mapped[int]
|
|
|
|
MST_PR_PVZ: Mapped[int]
|
|
|
|
MST_PR_VIRT: Mapped[int]
|
|
|
|
MST_PR_INOTHER: Mapped[int]
|
|
|
|
MST_PR_ZAKG: Mapped[int]
|
|
|
|
MST_PR_FAR: Mapped[int]
|
|
|
|
MST_PR_KKT: Mapped[int]
|
|
|
|
MST_PR_CC: Mapped[int]
|
|
|
|
MST_PR_AS: Mapped[int]
|
|
|
|
MST_KM: Mapped[int]
|
|
|
|
MST_MP: Mapped[int]
|
|
|
|
MST_ID_AGENT_AS: Mapped[int]
|
|
|
|
MST_PR_NOLIM_AS: Mapped[int]
|
|
|
|
MST_PR_WC_AS: Mapped[int]
|
|
|
|
MST_PR_TRS: Mapped[int]
|
|
|
|
MST_ID_REGION: Mapped[int]
|
|
|
|
MST_ADDRESS_CODE: Mapped[int]
|
|
|
|
MST_ID_KLADR_DOM: Mapped[Optional[int]]
|
|
|
|
MST_SHIR: Mapped[float]
|
|
|
|
MST_DOLG: Mapped[float]
|
|
|
|
MST_ADR_STOR: Mapped[Optional[str]]
|
|
|
|
MST_FUNC_MASK: Mapped[int]
|
|
|
|
MST_ID_SRV_CALL: Mapped[int]
|
|
|
|
MST_ID_MST_CALL: Mapped[int]
|
|
|
|
MST_PR_DIRECT: Mapped[int]
|
|
|
|
MST_NAME_DIRECT: Mapped[Optional[str]]
|
|
|
|
MST_PR_NOTE: Mapped[int]
|
|
|
|
MST_PR_NOTSITE: Mapped[int]
|
|
|
|
MST_PR_GREEN: Mapped[int]
|
|
|
|
MST_PR_GREENORK: Mapped[int]
|
|
|
|
MST_PR_GREENPRINTER: Mapped[int]
|
|
|
|
MST_PR_VID_TR_VD: Mapped[int]
|
|
|
|
MST_PR_BAN_IN: Mapped[int]
|
|
|
|
MST_PR_NO_CLIENT_CODES: Mapped[int]
|
|
|
|
MST_PR_NO_STTN02: Mapped[int]
|
|
|
|
MST_PR_NO_EEU: Mapped[int]
|
|
|
|
MST_VID_CALC_FOBYOM: Mapped[int]
|
|
|
|
MST_TXT: Mapped[Optional[str]]
|
|
|
|
MST_DEL: Mapped[int]
|
|
|
|
MST_CH: Mapped[Optional[datetime]]
|
|
|
|
MST_WCH: Mapped[int]
|
|
|
|
MST_IMP: Mapped[Optional[datetime]]
|
|
|
|
MST_MPOST: Mapped[int]
|
|
|
|
MST_SEANS: Mapped[int]
|
|
|
|
MST_OWNERMST: Mapped[int]
|
|
|
|
MST_CR: Mapped[Optional[datetime]]
|
|
|
|
MST_WCR: Mapped[int]
|
|
|
|
MST_FIMP: Mapped[Optional[datetime]]
|
|
|
|
MST_ID_MST_SYNONYM: Mapped[int]
|
|
|
|
MST_NAME_OLD: Mapped[Optional[str]]
|
|
|
|
MST_SRC_OLD: Mapped[int]
|
|
|
|
MST_UPPERNAME_OLD: Mapped[Optional[str]]
|
|
|
|
MST_TXT_AEX: Mapped[Optional[str]]
|
|
|
|
MST_PR_NODOOR_AEX: Mapped[int]
|
|
|
|
|
|
|
|
|
|
|
|
class MPTRSDB(__Base):
|
2024-06-26 16:44:12 +03:00
|
|
|
__tablename__ = "TRS"
|
2024-07-08 18:35:04 +03:00
|
|
|
ID_TRS: Mapped[int] = mapped_column(primary_key=True)
|
|
|
|
TRS_PR_TEST: Mapped[int]
|
|
|
|
TRS_PR_TEST_ID_SOTR: Mapped[int]
|
|
|
|
TRS_PR_TEST_DT: Mapped[Optional[datetime]]
|
|
|
|
TRS_PR: Mapped[int]
|
|
|
|
TRS_PR_UP: Mapped[int]
|
|
|
|
TRS_ID_LST_PR: Mapped[int]
|
|
|
|
TRS_ID_LST_VID: Mapped[int]
|
|
|
|
TRS_ID_LSTU_TIP: Mapped[int]
|
|
|
|
TRS_SID: Mapped[Optional[str]]
|
|
|
|
TRS_SID_GOST: Mapped[Optional[str]]
|
|
|
|
TRS_SID_OLD: Mapped[Optional[str]]
|
|
|
|
TRS_SRC_OLD: Mapped[int]
|
|
|
|
TRS_PR_VLAD: Mapped[int]
|
|
|
|
TRS_ID_AGENT_AS: Mapped[int]
|
|
|
|
TRS_VES: Mapped[float]
|
|
|
|
TRS_OBYOM: Mapped[float]
|
|
|
|
TRS_PR_LTOR: Mapped[int]
|
|
|
|
TRS_PR_LLEN: Mapped[int]
|
|
|
|
TRS_PR_LTOP: Mapped[int]
|
|
|
|
TRS_PR_TEPL: Mapped[int]
|
|
|
|
TRS_PR_TEPL_WHERE: Mapped[int]
|
|
|
|
TRS_OBYOM_TEPL: Mapped[float]
|
|
|
|
TRS_PR_NOZAGRGRUZ: Mapped[int]
|
|
|
|
TRS_CNT_AXIS: Mapped[int]
|
|
|
|
TRS_PRIM: Mapped[Optional[str]]
|
|
|
|
TRS_INFO: Mapped[Optional[str]]
|
|
|
|
TRS_TARA: Mapped[Optional[float]]
|
|
|
|
TRS_TYPEPROPERTY: Mapped[int]
|
|
|
|
TRS_DOGAREND: Mapped[Optional[str]]
|
|
|
|
TRS_1C_D_AKT: Mapped[Optional[date]]
|
|
|
|
TRS_1C_NOMMSG: Mapped[int]
|
|
|
|
TRS_1C_DEL: Mapped[int]
|
|
|
|
TRS_1C_DATEEND: Mapped[Optional[date]]
|
|
|
|
TRS_DEL: Mapped[int]
|
|
|
|
TRS_CR: Mapped[Optional[datetime]]
|
|
|
|
TRS_WCR: Mapped[int]
|
|
|
|
TRS_CH: Mapped[Optional[datetime]]
|
|
|
|
TRS_WCH: Mapped[int]
|
|
|
|
TRS_OWNERMST: Mapped[int]
|
|
|
|
TRS_SEANS: Mapped[int]
|
|
|
|
TRS_IMP: Mapped[Optional[datetime]]
|
|
|
|
TRS_FIMP: Mapped[Optional[datetime]]
|
|
|
|
TRS_MPOST: Mapped[int]
|
|
|
|
|
|
|
|
|
|
|
|
class MPMarshDB(__Base):
|
2024-06-26 16:44:12 +03:00
|
|
|
__tablename__ = "MARSH"
|
2024-07-08 18:35:04 +03:00
|
|
|
ID_MARSH: Mapped[int] = mapped_column(primary_key=True)
|
|
|
|
MARSH_PR: Mapped[int]
|
|
|
|
MARSH_PR_PLAN: Mapped[int]
|
|
|
|
MARSH_PR_VLAD: Mapped[int]
|
|
|
|
MARSH_PR_DOP: Mapped[int]
|
|
|
|
MARSH_PR_TEPL: Mapped[int]
|
|
|
|
MARSH_KEY_GPREF: Mapped[Optional[str]]
|
|
|
|
MARSH_KEY_PREF: Mapped[Optional[str]]
|
|
|
|
MARSH_NAME: Mapped[Optional[str]]
|
|
|
|
MARSH_D_N: Mapped[Optional[date]]
|
|
|
|
MARSH_D_K: Mapped[Optional[date]]
|
|
|
|
MARSH_ID_MST_OTPR: Mapped[int]
|
|
|
|
MARSH_ID_MST_NAZN: Mapped[int]
|
|
|
|
MARSH_DAYS_WEEK: Mapped[int]
|
|
|
|
MARSH_T_OTPR: Mapped[float]
|
|
|
|
MARSH_DATE_OUT: Mapped[Optional[date]]
|
|
|
|
MARSH_PRICE: Mapped[Optional[float]]
|
|
|
|
MARSH_KM: Mapped[Optional[float]]
|
|
|
|
MARSH_TXT: Mapped[Optional[str]]
|
|
|
|
MARSH_DEL: Mapped[int]
|
|
|
|
|
|
|
|
|
|
|
|
class MPMarshTRSDB(__Base):
|
2024-06-26 16:44:12 +03:00
|
|
|
__tablename__ = "MARSH_TRS"
|
2024-07-08 18:35:04 +03:00
|
|
|
ID_MARSH_TRS: Mapped[int] = mapped_column(primary_key=True)
|
|
|
|
MARSH_TRS_ID_MARSH: Mapped[int]
|
|
|
|
MARSH_TRS_DATE: Mapped[Optional[date]]
|
|
|
|
MARSH_TRS_ID_TRS: Mapped[int]
|
|
|
|
MARSH_TRS_TRS_PR_COLDONLY: Mapped[Optional[int]]
|
|
|
|
MARSH_TRS_ID_PRIC: Mapped[int]
|
|
|
|
MARSH_TRS_PRIC_PR_COLDONLY: Mapped[Optional[int]]
|
|
|
|
MARSH_TRS_ID_SOTR: Mapped[int]
|
|
|
|
MARSH_TRS_DT_DELIVERY: Mapped[Optional[datetime]]
|
|
|
|
MARSH_TRS_PR: Mapped[int]
|
|
|
|
MARSH_TRS_COMMENT: Mapped[Optional[str]]
|
|
|
|
MARSH_TRS_TARIFF: Mapped[float]
|
|
|
|
MARSH_TRS_DEL: Mapped[int]
|
|
|
|
MARSH_TRS_OWNERMST: Mapped[int]
|
|
|
|
MARSH_TRS_MPOST: Mapped[Optional[int]]
|
|
|
|
MARSH_TRS_CR: Mapped[Optional[datetime]]
|
|
|
|
MARSH_TRS_WCR: Mapped[int]
|
|
|
|
MARSH_TRS_IMP: Mapped[Optional[datetime]]
|
|
|
|
MARSH_TRS_CH: Mapped[Optional[datetime]]
|
|
|
|
MARSH_TRS_WCH: Mapped[int]
|
|
|
|
MARSH_TRS_SEANS: Mapped[int]
|
|
|
|
MARSH_TRS_FIMP: Mapped[Optional[datetime]]
|
|
|
|
|
|
|
|
|
|
|
|
class MPAppParamDB(__Base):
|
2024-06-26 16:44:12 +03:00
|
|
|
__tablename__ = "APP_PARAM"
|
2024-07-08 18:35:04 +03:00
|
|
|
APP_PARAM_ID_REC: Mapped[int] = mapped_column(primary_key=True)
|
|
|
|
APP_PARAM_STR: Mapped[Optional[str]]
|
|
|
|
APP_PARAM_VID: Mapped[int]
|
|
|
|
APP_PARAM_TIP: Mapped[int]
|
|
|
|
APP_PARAM_DEL: Mapped[int]
|
|
|
|
APP_PARAM_CR: Mapped[Optional[datetime]]
|
|
|
|
APP_PARAM_WCR: Mapped[int]
|
|
|
|
APP_PARAM_CH: Mapped[Optional[datetime]]
|
|
|
|
APP_PARAM_WCH: Mapped[int]
|
2024-06-26 16:44:12 +03:00
|
|
|
|
|
|
|
|
2024-07-08 18:35:04 +03:00
|
|
|
|
|
|
|
# SET RELATIONS
|
2024-06-26 16:44:12 +03:00
|
|
|
|