#!D:/IDE/anaconda3/envs python
# -*- coding: UTF-8 -*-
"""
 @Author: Administrator
 @FileName：TrayModel.py\n
 @DateTime: 2025/6/23 18:06\n
 @Author  ：xsh
"""
from sqlalchemy.orm import (Mapped, mapped_column)
from sqlalchemy.types import (Text)
from AppCore.AppDBModels.TrayModels.TrayModelInterface import TrayModelInterface

class TrayModel(TrayModelInterface):
    __tablename__ = 't_TrayModel'
    Information         : Mapped[str   ] = mapped_column(Text, default=''                           , nullable=True , doc='　　说明信息　　', comment='　　说明信息　　') # 说明信息
    Level               : Mapped[int   ] = mapped_column(primary_key=True                           , nullable=False, doc='　　托盘序号　　', comment='　　托盘序号　　') # 托盘序号
    MinRowNumber        : Mapped[int   ] = mapped_column(default= 1                                 , nullable=True , doc='　　最小行数　　', comment='　　最小行数　　') # 最小行数
    MinColNumber        : Mapped[int   ] = mapped_column(default= 1                                 , nullable=True , doc='　　最小列数　　', comment='　　最小列数　　') # 最小列数
    MaxRowNumber        : Mapped[int   ] = mapped_column(default= 25                                , nullable=True , doc='　　最大行数　　', comment='　　最大行数　　') # 最大行数
    MaxColNumber        : Mapped[int   ] = mapped_column(default= 45                                , nullable=True , doc='　　最大列数　　', comment='　　最大列数　　') # 最大列数
    MaxRowNumber20X     : Mapped[int   ] = mapped_column(default= 48                                , nullable=True , doc='　　最大行数　　', comment='　　最大行数　　') # 最大行数
    MaxColNumber20X     : Mapped[int   ] = mapped_column(default= 65                                , nullable=True , doc='　　最大列数　　', comment='　　最大列数　　') # 最大列数
    Image_W             : Mapped[int   ] = mapped_column(default= 2048                              , nullable=True , doc='　　图像高度　　', comment='　　图像高度　　') # 最大列数
    Image_H             : Mapped[int   ] = mapped_column(default= 2048                              , nullable=True , doc='　　图像宽度　　', comment='　　图像宽度　　') # 最大列数
    Image_20X_W         : Mapped[int   ] = mapped_column(default= 4000                              , nullable=True , doc='　　图像宽度　　', comment='　　图像宽度　　') # 最大列数
    Image_20X_H         : Mapped[int   ] = mapped_column(default= 3000                              , nullable=True , doc='　　图像高度　　', comment='　　图像高度　　') # 最大列数
    FocusingCount       : Mapped[int   ] = mapped_column(default= 0                                 , nullable=True , doc='　玻片定焦点数　', comment='　玻片定焦点数　') # 最大列数
    SlideWidth          : Mapped[float  ] = mapped_column(default=23.0          , nullable=False, doc='　　玻片宽度　　　　', comment='　　玻片宽度　　　　')
    SlideHeight         : Mapped[float  ] = mapped_column(default=41.00         , nullable=False, doc='　　玻片高度　　　　', comment='　　玻片高度　　　　')
    Position_X          : Mapped[float ] = mapped_column(default= 1.3                               , nullable=True , doc='　　起始位置　　', comment='　　起始位置　　') # 起始位置
    Position_Y          : Mapped[float ] = mapped_column(default= 82.0                              , nullable=True , doc='　　起始位置　　', comment='　　起始位置　　') # 起始位置
    Position_Z          : Mapped[float ] = mapped_column(default= 2000000.0                         , nullable=True , doc='　　起始位置　　', comment='　　起始位置　　') # 起始位置
    Step_X              : Mapped[float ] = mapped_column(default= 1.12                              , nullable=True , doc='　　移动步长　　', comment='　　移动步长　　') # 移动步长
    Step_Y              : Mapped[float ] = mapped_column(default= 1.12                              , nullable=True , doc='　　移动步长　　', comment='　　移动步长　　') # 移动步长
    Step_X_20X          : Mapped[float ] = mapped_column(default= 0.7                               , nullable=True , doc='　　移动步长　　', comment='　　移动步长　　') # 移动步长
    Step_Y_20X          : Mapped[float ] = mapped_column(default= 0.7                               , nullable=True , doc='　　移动步长　　', comment='　　移动步长　　') # 移动步长
    Step_X_40X          : Mapped[float ] = mapped_column(default= 0.7                               , nullable=True , doc='　　移动步长　　', comment='　　移动步长　　') # 移动步长
    Step_Y_40X          : Mapped[float ] = mapped_column(default= 0.7                               , nullable=True , doc='　　移动步长　　', comment='　　移动步长　　') # 移动步长
    Step_X_100X         : Mapped[float ] = mapped_column(default= 0.7                               , nullable=True , doc='　　移动步长　　', comment='　　移动步长　　') # 移动步长
    Step_Y_100X         : Mapped[float ] = mapped_column(default= 0.7                               , nullable=True , doc='　　移动步长　　', comment='　　移动步长　　') # 移动步长
    IsCalibrate         : Mapped[int    ] = mapped_column(default=0             , nullable=False, doc='　　是否校准　　　　', comment='　　是否校准　　　　')
    def __init__(self, **args):
        super(TrayModel, self).__init__()
        self.initialize()
        self.initParameter(**args)

























