| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- # -*- coding: utf-8 -*-
- from pydantic import BaseModel, ConfigDict, Field
- from fastapi import Query
- from app.api.v1.module_business.crane.schema import BizCraneOutSchema
- from app.core.validator import DateTimeStr
- from app.core.base_schema import BaseSchema, UserBySchema,CommonSchema
- class BizVarDictCreateSchema(BaseModel):
- """
- 变量信息新增模型
- """
- var_code: str = Field(default=..., description='变量code')
- var_name: str = Field(default=..., description='变量名')
- mec_type: int = Field(default=..., description='所属机构')
- data_type: int = Field(default=..., description='数据类型')
- switch_type: int | None = Field(default=None, description='指令灯颜色')
- is_alert: int | None = Field(default=None, description='是否报警')
- modbus_address: str = Field(default=..., description='modbus地址')
- modbus_data_type: int = Field(default=..., description='modubs数据类型')
- is_reverse: int | None = Field(default=None, description='是否取反')
- unit: int | None = Field(default=None, description='单位')
- crane_id: int = Field(default=..., description='行车id')
- order: int = Field(default=..., description='排序')
- status: str = Field(default="0", description='是否启用')
- description: str | None = Field(default=None, max_length=255, description='备注')
- class BizVarDictUpdateSchema(BizVarDictCreateSchema):
- """
- 变量信息更新模型
- """
- ...
- class BizVarDictOutSchema(BizVarDictCreateSchema, BaseSchema, UserBySchema):
- """
- 变量信息响应模型
- """
- model_config = ConfigDict(from_attributes=True)
- crane: BizCraneOutSchema | None = Field(default=None, description='行车')
- class BizVarDictQueryParam:
- """变量信息查询参数"""
- def __init__(
- self,
- var_code: str | None = Query(None, description="变量code"),
- var_name: str | None = Query(None, description="变量名"),
- modbus_address: str | None = Query(None, description="modbus地址"),
- status: str | None = Query(None, description="是否启用"),
- mec_type: int | None = Query(None, description="所属机构"),
- data_type: int | None = Query(None, description="数据类型"),
- switch_type: int | None = Query(None, description="指令灯颜色"),
- is_alert: int | None = Query(None, description="是否报警"),
- modbus_data_type: int | None = Query(None, description="modubs数据类型"),
- is_reverse: int | None = Query(None, description="是否取反"),
- unit: int | None = Query(None, description="单位"),
- crane_id: int | None = Query(None, description="行车id"),
- order: int | None = Query(None, description="排序"),
- created_id: int | None = Query(None, description="创建人ID"),
- updated_id: int | None = Query(None, description="更新人ID"),
- created_time: list[DateTimeStr] | None = Query(None, description="创建时间范围", examples=["2025-01-01 00:00:00", "2025-12-31 23:59:59"]),
- updated_time: list[DateTimeStr] | None = Query(None, description="更新时间范围", examples=["2025-01-01 00:00:00", "2025-12-31 23:59:59"]),
-
- ) -> None:
-
- # 模糊查询字段
- self.var_code = ("like", var_code)
- # 模糊查询字段
- self.var_name = ("like", var_name)
- # 精确查询字段
- self.mec_type = mec_type
- # 精确查询字段
- self.data_type = data_type
- # 精确查询字段
- self.switch_type = switch_type
- # 精确查询字段
- self.is_alert = is_alert
- # 模糊查询字段
- self.modbus_address = ("like", modbus_address)
- # 精确查询字段
- self.modbus_data_type = modbus_data_type
- # 精确查询字段
- self.is_reverse = is_reverse
- # 精确查询字段
- self.unit = unit
- # 精确查询字段
- self.crane_id = crane_id
- # 精确查询字段
- self.order = order
- # 模糊查询字段
- self.status = ("like", status)
- # 精确查询字段
- self.created_id = created_id
- # 精确查询字段
- self.updated_id = updated_id
- # 时间范围查询
- if created_time and len(created_time) == 2:
- self.created_time = ("between", (created_time[0], created_time[1]))
- if updated_time and len(updated_time) == 2:
- self.updated_time = ("between", (updated_time[0], updated_time[1]))
|