73 lines
2.8 KiB
Python
73 lines
2.8 KiB
Python
#!/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="请求唯一标识码") |