using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace WIDESEA_DTO.Task
{
public class AGVResponse
{
///
/// 请求结果代码 - 必填,true成功,false失败
///
public bool Code { get; set; }
///
/// 请求结果说明 - 选填,是否成功,成功返回空,异常返回异常信息
///
public string Msg { get; set; }
///
/// 入库口编号 - 选填
///
public string Devid { get; set; }
///
/// 托盘号 - 选填
///
public string Traynumber { get; set; }
///
/// 整托组别-厚度 - 选填
///
public string Group { get; set; }
///
/// 宽度 - 选填
///
public int? Width { get; set; }
///
/// 数据列表 - 选填
///
public List Data { get; set; }
///
/// 条码号 - 选填
///
public string Labelnumber { get; set; }
///
/// 物料编码 - 选填
///
public string Productno { get; set; }
///
/// 物料描述 - 选填
///
public string Productname { get; set; }
///
/// 数量 - 选填
///
public string Quantity { get; set; }
///
/// 单位 - 选填
///
public string Uomcode { get; set; }
///
/// 物料类型 - 选填
///
public string Producttype { get; set; }
///
/// 产出设备 - 选填
///
public string Equipment { get; set; }
///
/// 产出时间 - 选填
///
public string Productiondate { get; set; }
///
/// 下限时间 - 选填
///
public string Lowerlimittime { get; set; }
///
/// 预警时间 - 选填
///
public string Warningtime { get; set; }
///
/// 超期时间 - 选填
///
public string Overduetime { get; set; }
///
/// 预留自定义字段1 - 选填
///
public string Define1 { get; set; }
///
/// 预留自定义字段2 - 选填
///
public string Define2 { get; set; }
public AGVResponse OK(AGVDataDto aGVDataDto = null)
{
Msg = "";
Code = true;
if (aGVDataDto != null)
{
// 将AGVDataDto的属性赋值给AGVResponse
Devid = aGVDataDto.DevId;
Traynumber = aGVDataDto.TrayNumber;
Group = aGVDataDto.Group;
Width = aGVDataDto.Width;
Data = aGVDataDto.Data;
Labelnumber = aGVDataDto.LabelNumber;
Productno = aGVDataDto.ProductNo;
Productname = aGVDataDto.ProductName;
Quantity = aGVDataDto.Quantity;
Uomcode = aGVDataDto.UomCode;
Producttype = aGVDataDto.ProductType;
Equipment = aGVDataDto.Equipment;
Productiondate = aGVDataDto.ProductionDate;
Lowerlimittime = aGVDataDto.LowerLimitTime;
Warningtime = aGVDataDto.WarningTime;
Overduetime = aGVDataDto.OverdueTime;
Define1 = aGVDataDto.Define1;
Define2 = aGVDataDto.Define2;
}
return this;
}
public AGVResponse Error(string msg)
{
Msg = msg;
Code = false;
return this;
}
}
///
/// AGV响应数据项
///
///
/// AGV数据DTO
///
public class AGVDataDto
{
///
/// 入库口编号 - 选填
///
[JsonPropertyName("devid")]
[StringLength(50, ErrorMessage = "入库口编号长度不能超过50个字符")]
public string DevId { get; set; }
///
/// 托盘号 - 选填
///
[JsonPropertyName("traynumber")]
[StringLength(50, ErrorMessage = "托盘号长度不能超过50个字符")]
public string TrayNumber { get; set; }
///
/// 整托组别-厚度 - 选填
///
[JsonPropertyName("group")]
[StringLength(50, ErrorMessage = "整托组别长度不能超过50个字符")]
public string Group { get; set; }
///
/// 宽度 - 选填
///
[JsonPropertyName("width")]
public int? Width { get; set; }
///
/// 数据列表 - 选填
///
[JsonPropertyName("data")]
public List Data { get; set; }
///
/// 条码号 - 选填
///
[JsonPropertyName("labelnumber")]
[StringLength(50, ErrorMessage = "条码号长度不能超过50个字符")]
public string LabelNumber { get; set; }
///
/// 物料编码 - 选填
///
[JsonPropertyName("productno")]
[StringLength(50, ErrorMessage = "物料编码长度不能超过50个字符")]
public string ProductNo { get; set; }
///
/// 物料描述 - 选填
///
[JsonPropertyName("productname")]
[StringLength(50, ErrorMessage = "物料描述长度不能超过50个字符")]
public string ProductName { get; set; }
///
/// 数量 - 选填
///
[JsonPropertyName("quantity")]
[StringLength(50, ErrorMessage = "数量长度不能超过50个字符")]
public string Quantity { get; set; }
///
/// 单位 - 选填
///
[JsonPropertyName("uomcode")]
[StringLength(50, ErrorMessage = "单位长度不能超过50个字符")]
public string UomCode { get; set; }
///
/// 物料类型 - 选填
///
[JsonPropertyName("producttype")]
[StringLength(50, ErrorMessage = "物料类型长度不能超过50个字符")]
public string ProductType { get; set; }
///
/// 产出设备 - 选填
///
[JsonPropertyName("equipment")]
[StringLength(50, ErrorMessage = "产出设备长度不能超过50个字符")]
public string Equipment { get; set; }
///
/// 产出时间 - 选填
///
[JsonPropertyName("productiondate")]
[StringLength(50, ErrorMessage = "产出时间长度不能超过50个字符")]
public string ProductionDate { get; set; }
///
/// 下限时间 - 选填
///
[JsonPropertyName("lowerlimittime")]
[StringLength(50, ErrorMessage = "下限时间长度不能超过50个字符")]
public string LowerLimitTime { get; set; }
///
/// 预警时间 - 选填
///
[JsonPropertyName("warningtime")]
[StringLength(50, ErrorMessage = "预警时间长度不能超过50个字符")]
public string WarningTime { get; set; }
///
/// 超期时间 - 选填
///
[JsonPropertyName("overduetime")]
[StringLength(50, ErrorMessage = "超期时间长度不能超过50个字符")]
public string OverdueTime { get; set; }
///
/// 预留自定义字段1 - 选填
///
[JsonPropertyName("define1")]
[StringLength(50, ErrorMessage = "自定义字段1长度不能超过50个字符")]
public string Define1 { get; set; }
///
/// 预留自定义字段2 - 选填
///
[JsonPropertyName("define2")]
[StringLength(50, ErrorMessage = "自定义字段2长度不能超过50个字符")]
public string Define2 { get; set; }
}
///
/// 任务创建数据传输对象
///
public class ApplyInOutDto
{
///
/// 任务号
///
[JsonPropertyName("taskid")]
[Required(ErrorMessage = "任务号不能为空")]
[StringLength(50, ErrorMessage = "任务号长度不能超过50个字符")]
public string TaskId { get; set; }
///
/// 1-模切段;2-卷绕段
///
[JsonPropertyName("floor")]
[Required(ErrorMessage = "楼层段不能为空")]
[Range(1, 2, ErrorMessage = "楼层段值必须是1或2")]
public int Floor { get; set; }
///
/// 1-阴极;2-阳极
///
[JsonPropertyName("yinyang")]
[Required(ErrorMessage = "阴阳极不能为空")]
[Range(1, 2, ErrorMessage = "阴阳极值必须是1或2")]
public int YinYang { get; set; }
///
/// 1-入库;2-出库
///
[JsonPropertyName("inout")]
[Required(ErrorMessage = "出入库类型不能为空")]
[Range(1, 2, ErrorMessage = "出入库类型值必须是1或2")]
public int InOut { get; set; }
///
/// 物料类型
///
[JsonPropertyName("materialtype")]
[Required(ErrorMessage = "物料类型不能为空")]
[StringLength(50, ErrorMessage = "物料类型长度不能超过50个字符")]
public string MaterialType { get; set; }
///
/// 物料描述
///
[JsonPropertyName("materialname")]
[Required(ErrorMessage = "物料描述不能为空")]
[StringLength(50, ErrorMessage = "物料描述长度不能超过50个字符")]
public string MaterialName { get; set; }
///
/// 托盘号
///
[JsonPropertyName("traynumber")]
[StringLength(50, ErrorMessage = "托盘号长度不能超过50个字符")]
public string TrayNumber { get; set; }
///
/// 整托组别-厚度
///
[JsonPropertyName("group")]
[StringLength(50, ErrorMessage = "整托组别长度不能超过50个字符")]
public string Group { get; set; }
///
/// 宽度
///
[JsonPropertyName("width")]
public int? Width { get; set; }
///
/// 数据集合
///
[JsonPropertyName("data")]
public List Data { get; set; }
///
/// 条码号
///
[JsonPropertyName("labelnumber")]
[StringLength(50, ErrorMessage = "条码号长度不能超过50个字符")]
public string LabelNumber { get; set; }
///
/// 物料编码
///
[JsonPropertyName("productno")]
[StringLength(50, ErrorMessage = "物料编码长度不能超过50个字符")]
public string ProductNo { get; set; }
///
/// 物料描述
///
[JsonPropertyName("productname")]
[StringLength(50, ErrorMessage = "物料描述长度不能超过50个字符")]
public string ProductName { get; set; }
///
/// 数量
///
[JsonPropertyName("quantity")]
[StringLength(50, ErrorMessage = "数量长度不能超过50个字符")]
public string Quantity { get; set; }
///
/// 单位
///
[JsonPropertyName("uomcode")]
[StringLength(50, ErrorMessage = "单位长度不能超过50个字符")]
public string UomCode { get; set; }
///
/// 物料类型
///
[JsonPropertyName("producttype")]
[StringLength(50, ErrorMessage = "物料类型长度不能超过50个字符")]
public string ProductType { get; set; }
///
/// 产出设备
///
[JsonPropertyName("equipment")]
[StringLength(50, ErrorMessage = "产出设备长度不能超过50个字符")]
public string Equipment { get; set; }
///
/// 产出时间
///
[JsonPropertyName("productiondate")]
[StringLength(50, ErrorMessage = "产出时间长度不能超过50个字符")]
public string ProductionDate { get; set; }
///
/// 下限时间
///
[JsonPropertyName("lowerlimittime")]
[StringLength(50, ErrorMessage = "下限时间长度不能超过50个字符")]
public string LowerLimitTime { get; set; }
///
/// 预警时间
///
[JsonPropertyName("warningtime")]
[StringLength(50, ErrorMessage = "预警时间长度不能超过50个字符")]
public string WarningTime { get; set; }
///
/// 超期时间
///
[JsonPropertyName("overduetime")]
[StringLength(50, ErrorMessage = "超期时间长度不能超过50个字符")]
public string OverdueTime { get; set; }
///
/// 预留自定义字段1
///
[JsonPropertyName("define1")]
[StringLength(50, ErrorMessage = "自定义字段1长度不能超过50个字符")]
public string Define1 { get; set; }
///
/// 预留自定义字段2
///
[JsonPropertyName("define2")]
[StringLength(50, ErrorMessage = "自定义字段2长度不能超过50个字符")]
public string Define2 { get; set; }
///
/// 请求时间
///
[JsonPropertyName("reqtime")]
[Required(ErrorMessage = "请求时间不能为空")]
[StringLength(50, ErrorMessage = "请求时间长度不能超过50个字符")]
public string ReqTime { get; set; }
}
///
/// 输送线申请进入请求模型
///
public class ApplyEnterDto
{
///
/// 设备ID
///
[JsonPropertyName("devid")]
[Required(ErrorMessage = "设备ID不能为空")]
[StringLength(50, ErrorMessage = "设备ID长度不能超过50个字符")]
public string DevId { get; set; }
///
/// 出入库类型 1-入库;2-出库
///
[JsonPropertyName("inout")]
[Required(ErrorMessage = "出入库类型不能为空")]
[Range(1, 2, ErrorMessage = "出入库类型值必须是1或2")]
public int InOut { get; set; }
///
/// 任务号
///
[JsonPropertyName("taskid")]
[Required(ErrorMessage = "任务号不能为空")]
[StringLength(50, ErrorMessage = "任务号长度不能超过50个字符")]
public string TaskId { get; set; }
///
/// 预留自定义字段1
///
[JsonPropertyName("define1")]
[StringLength(50, ErrorMessage = "自定义字段1长度不能超过50个字符")]
public string Define1 { get; set; }
///
/// 预留自定义字段2
///
[JsonPropertyName("define2")]
[StringLength(50, ErrorMessage = "自定义字段2长度不能超过50个字符")]
public string Define2 { get; set; }
///
/// 请求时间
///
[JsonPropertyName("reqtime")]
[Required(ErrorMessage = "请求时间不能为空")]
[StringLength(50, ErrorMessage = "请求时间长度不能超过50个字符")]
public string ReqTime { get; set; }
}
///
/// 出库完成反馈
///
public class OutTaskCompleteDto
{
///
/// 任务号
///
[JsonPropertyName("taskid")]
[Required(ErrorMessage = "任务号不能为空")]
[StringLength(50, ErrorMessage = "任务号长度不能超过50个字符")]
public string TaskId { get; set; }
///
/// 出库口编号
///
[JsonPropertyName("devid")]
[Required(ErrorMessage = "出库口编号不能为空")]
[StringLength(50, ErrorMessage = "出库口编号长度不能超过50个字符")]
public string DevId { get; set; }
///
/// 预留自定义字段1
///
[JsonPropertyName("define1")]
[StringLength(50, ErrorMessage = "自定义字段1长度不能超过50个字符")]
public string? Define1 { get; set; }
///
/// 预留自定义字段2
///
[JsonPropertyName("define2")]
[StringLength(50, ErrorMessage = "自定义字段2长度不能超过50个字符")]
public string? Define2 { get; set; }
///
/// 请求时间
///
[JsonPropertyName("reqtime")]
[Required(ErrorMessage = "请求时间不能为空")]
[StringLength(50, ErrorMessage = "请求时间长度不能超过50个字符")]
public string ReqTime { get; set; }
}
///
/// 取放货完成请求模型
///
public class TaskCompleteDto
{
///
/// 设备ID
///
[JsonPropertyName("devid")]
[Required(ErrorMessage = "设备ID不能为空")]
[StringLength(50, ErrorMessage = "设备ID长度不能超过50个字符")]
public string DevId { get; set; }
///
/// 出入库类型 1-入库;2-出库
///
[JsonPropertyName("inout")]
[Required(ErrorMessage = "出入库类型不能为空")]
[Range(1, 2, ErrorMessage = "出入库类型值必须是1或2")]
public int InOut { get; set; }
///
/// 任务号
///
[JsonPropertyName("taskid")]
[Required(ErrorMessage = "任务号不能为空")]
[StringLength(50, ErrorMessage = "任务号长度不能超过50个字符")]
public string TaskId { get; set; }
///
/// 预留自定义字段1
///
[JsonPropertyName("define1")]
[StringLength(50, ErrorMessage = "自定义字段1长度不能超过50个字符")]
public string? Define1 { get; set; }
///
/// 预留自定义字段2
///
[JsonPropertyName("define2")]
[StringLength(50, ErrorMessage = "自定义字段2长度不能超过50个字符")]
public string? Define2 { get; set; }
///
/// 请求时间
///
[JsonPropertyName("reqtime")]
[Required(ErrorMessage = "请求时间不能为空")]
[StringLength(50, ErrorMessage = "请求时间长度不能超过50个字符")]
public string ReqTime { get; set; }
}
///
/// 任务取消数据传输对象
///
public class TaskCancelDto
{
///
/// 任务号
///
[JsonPropertyName("taskid")]
[Required(ErrorMessage = "任务号不能为空")]
[StringLength(50, ErrorMessage = "任务号长度不能超过50个字符")]
public string TaskId { get; set; }
///
/// 预留自定义字段1
///
[JsonPropertyName("define1")]
[StringLength(50, ErrorMessage = "自定义字段1长度不能超过50个字符")]
public string? Define1 { get; set; }
///
/// 预留自定义字段2
///
[JsonPropertyName("define2")]
[StringLength(50, ErrorMessage = "自定义字段2长度不能超过50个字符")]
public string? Define2 { get; set; }
///
/// 请求时间
///
[JsonPropertyName("reqtime")]
[Required(ErrorMessage = "请求时间不能为空")]
[StringLength(50, ErrorMessage = "请求时间长度不能超过50个字符")]
public string ReqTime { get; set; }
}
}