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; } } }