VWED_server/routes/model/external_task_model.py

73 lines
2.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
外部任务接口模型模块
包含外部任务创建相关的请求和响应数据模型
"""
from typing import Optional, List, Dict, Any
from enum import Enum
from pydantic import BaseModel, Field
# 任务类型枚举
class TaskTypeEnum(str, Enum):
"""任务类型枚举"""
GG2MP = "GG2MP" # 高柜到MP
GGFK2MP = "GGFK2MP" # 高柜发库到MP
GT2MP = "GT2MP" # 高台到MP
GTFK2MP = "GTFK2MP" # 高台发库到MP
ZG2MP = "ZG2MP" # 中柜到MP
QZ2MP = "QZ2MP" # 清洗到MP
LG2MP = "LG2MP" # 料柜到MP
PHZ2MP = "PHZ2MP" # 配货站到MP
MP2GG = "MP2GG" # MP到高柜
MP2GGFK = "MP2GGFK" # MP到高柜发库
MP2GT = "MP2GT" # MP到高台
MP2GTFK = "MP2GTFK" # MP到高台发库
MP2ZG = "MP2ZG" # MP到中柜
MP2QZ = "MP2QZ" # MP到清洗
MP2LG = "MP2LG" # MP到料柜
MP2PHZ = "MP2PHZ" # MP到配货站
# 外部任务创建请求模型
class ExternalTaskRequest(BaseModel):
"""外部任务创建请求模型"""
ReqCode: str = Field(..., description="请求唯一标识码")
SourceID: str = Field("", description="来源ID")
TargetID: str = Field(..., description="目标ID")
TaskType: TaskTypeEnum = Field(..., description="任务类型")
# 外部任务创建响应模型
class ExternalTaskResponse(BaseModel):
"""外部任务创建响应模型"""
code: int = Field(..., description="响应码0表示成功")
reqCode: str = Field(..., description="请求唯一标识码")
message: str = Field(..., description="响应消息")
rowCount: int = Field(0, description="影响行数")
# 位置路径项模型
class PositionCodePath1(BaseModel):
"""位置路径项模型"""
PositionCode: str = Field(..., description="位置代码")
Type: str = Field(..., description="类型")
# AGV调度任务请求模型
class GenAgvSchedulingTaskRequest(BaseModel):
"""AGV调度任务请求模型"""
ReqCode: str = Field("", description="请求唯一标识码")
TaskTyp: str = Field("", description="任务类型")
SecurityKey: str = Field("", description="安全密钥")
Type: str = Field("", description="类型")
TaskCode: str = Field("", description="任务代码")
SubType: str = Field("", description="子类型")
AreaPositonCode: str = Field("", description="区域位置代码")
AreaPositonName: str = Field("", description="区域位置名称")
PositionCodePath: List[PositionCodePath1] = Field(..., description="位置代码路径")
ClientCode: str = Field("", description="客户端代码")
TokenCode: str = Field("", description="令牌代码")
# 取消任务请求模型
class CancelTaskRequest(BaseModel):
"""取消任务请求模型"""
ReqCode: str = Field(..., description="请求唯一标识码")