using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
using Newtonsoft.Json;
|
|
namespace HH.WCS.Mobox3.DSZSH.api {
|
public class ApiModel {
|
/// <summary>
|
/// Mobox 接口返回数据类
|
/// </summary>
|
public class SimpleResult {
|
public int resultCode { get; set; }
|
public string resultMsg { get; set; }
|
public List<object> result { get; set; } = new List<object>();
|
}
|
|
/// <summary>
|
/// 构建 <see cref="SimpleResult"/> 返回值
|
/// </summary>
|
/// <param name="code"></param>
|
/// <param name="message"></param>
|
/// <returns></returns>
|
public static SimpleResult NewSimpleResult(int code, string message) {
|
return new SimpleResult { resultCode = code, resultMsg = message };
|
}
|
|
/// <summary>
|
/// HostToAGV 上报任务状态
|
/// </summary>
|
public class AgvTaskState {
|
/// <summary>
|
/// AGV 回报状态号
|
/// </summary>
|
public int state { get; set; }
|
/// <summary>
|
/// 任务号
|
/// </summary>
|
public string task_no { get; set; }
|
/// <summary>
|
/// AGV 车号
|
/// </summary>
|
public string forklift_no { get; set; }
|
/// <summary>
|
/// 安全门编号
|
/// </summary>
|
public string lock_no { get; set; }
|
/// <summary>
|
/// 附加信息
|
/// </summary>
|
public string ext_data { get; set; }
|
}
|
|
public class SafetyInteractionInfo {
|
|
//public int station_id { get; set; }
|
|
/// <summary>
|
/// 请求上线/下线的的站台库位名称,例如work6、work8
|
/// </summary>
|
public string station_name { get; set; }
|
|
/// <summary>
|
/// 请求码
|
/// </summary>
|
public string apply_code { get; set; }
|
//public string task_no { set; get; }
|
}
|
|
/// <summary>
|
/// 返回给 HostToAgv
|
/// </summary>
|
public class ReturnResult {
|
public int ResultCode { get; set; }
|
public string ResultMsg { get; set; }
|
}
|
|
public static ReturnResult NewReturnResult(int code, string message) {
|
return new ReturnResult { ResultCode = code, ResultMsg = message };
|
}
|
|
public class orderStatusReportParme {
|
/// <summary>
|
/// 订单ID
|
/// </summary>
|
public int orderID { get; set; }
|
/// <summary>
|
/// 订单名
|
/// </summary>
|
public string orderName { get; set; }
|
/// <summary>
|
/// 订单状态
|
/// </summary>
|
public string orderStatus { get; set; }
|
/// <summary>
|
/// agv车号列表
|
/// </summary>
|
public string agvIDList { get; set; }
|
/// <summary>
|
/// 优先级
|
/// </summary>
|
public string priority { get; set; }
|
/// <summary>
|
/// 订单当前的目的地
|
/// </summary>
|
public string currentDes { get; set; }
|
|
|
/// <summary>
|
/// 当前指令
|
/// </summary>
|
public string currentCmd { get; set; }
|
|
/// <summary>
|
/// 错误码
|
/// </summary>
|
public int errorCode { get; set; }
|
|
/// <summary>
|
/// 订单的截至时间
|
/// </summary>
|
public string deadLine { get; set; }
|
|
/// <summary>
|
/// 订单的创建时间
|
/// </summary>
|
public string createdTime { get; set; }
|
|
/// <summary>
|
/// 额外信息1
|
/// </summary>
|
public string extraInfo1 { get; set; }
|
|
/// <summary>
|
/// 额外信息2
|
/// </summary>
|
public string extraInfo2 { get; set; }
|
}
|
|
/// <summary>
|
/// 返回给GZ
|
/// </summary>
|
public class GzResult {
|
public int resultCode { get; set; }
|
public string msg { get; set; }
|
public int orderID { get; set; }
|
}
|
|
}
|
|
public class OtherModel {
|
#region PDA 数据
|
/// <summary>
|
/// 好运箱-满托下线入库(PDA)数据类
|
/// </summary>
|
public class GoodpackOfflineInfo {
|
/// <summary>
|
/// 物料编码
|
/// </summary>
|
[JsonProperty("s_item_code")]
|
public string ItemCode { get; set; }
|
///// <summary>
|
///// 物料名称
|
///// </summary>
|
//[JsonProperty("item_name")]
|
//public string ItemName { get; set; }
|
/// <summary>
|
/// 批次号
|
/// </summary>
|
[JsonProperty("s_batch")]
|
public string BatchNo { get; set; }
|
/// <summary>
|
/// 物料规格
|
/// </summary>
|
[JsonProperty("s_spec")]
|
public string Spec { get; set; }
|
/// <summary>
|
/// 数量
|
/// </summary>
|
[JsonProperty("n_num")]
|
public int Num { get; set; }
|
/// <summary>
|
/// 起点货位信息
|
/// </summary>
|
[JsonProperty("s_start_loc")]
|
public string StartLoc { get; set; }
|
}
|
/// <summary>
|
/// 空托/空箱入库绑定(PDA)数据类
|
/// </summary>
|
public class EmptyBindInfo {
|
/// <summary>
|
/// 容器编码
|
/// </summary>
|
|
[JsonProperty("s_cntr_code")]
|
public string CntrCode { get; set; }
|
/// <summary>
|
/// 容器类型
|
/// </summary>
|
|
[JsonProperty("s_cntr_type")]
|
public string CntrType { get; set; }
|
///// <summary>
|
///// 托盘数量(仅当容器类型为托盘时使用)
|
///// </summary>
|
//[JsonProperty("pallet_count", NullValueHandling = NullValueHandling.Ignore)]
|
//public int PalletCount { get; set; }
|
/// <summary>
|
/// 货位编码
|
/// </summary>
|
[JsonProperty("s_loc_code")]
|
public string LocCode { get; set; }
|
}
|
/// <summary>
|
/// 空托绑定
|
/// </summary>
|
public class EmptyBindPalletInfo {
|
/// <summary>
|
/// 容器编码
|
/// </summary>
|
public string CntrCode { get; set; }
|
|
/// <summary>
|
/// 托盘数量
|
/// </summary>
|
public int PalletCount { get; set; }
|
|
/// <summary>
|
/// 货位编码
|
/// </summary>
|
public string LocCode { get; set; }
|
}
|
/// <summary>
|
/// 空箱绑定
|
/// </summary>
|
public class EmptyBindGoodpackInfo {
|
/// <summary>
|
/// 容器编码
|
/// </summary>
|
public string CntrCode { get; set; }
|
|
/// <summary>
|
/// 货位编码
|
/// </summary>
|
public string LocCode { get; set; }
|
}
|
/// <summary>
|
/// 空托/空箱入库(PDA)数据类
|
/// </summary>
|
public class EmptyInboundInfo {
|
/// <summary>
|
/// 容器编码
|
/// </summary>
|
[JsonProperty("cntr_code")]
|
public string CntrCode { get; set; }
|
/// <summary>
|
/// 容器类型
|
/// </summary>
|
[JsonProperty("cntr_type")]
|
public string CntrType { get; set; }
|
/// <summary>
|
/// 终点库区编码
|
/// </summary>
|
[JsonProperty("end_area")]
|
public string EndArea { get; set; }
|
/// <summary>
|
/// 起点货位
|
/// </summary>
|
[JsonProperty("start_loc")]
|
public string StartLoc { get; set; }
|
}
|
|
public class EmptyOnlinePalletInfo {
|
[JsonProperty("item_code")]
|
public string ItemCode { get; set; }
|
[JsonProperty("batch_no")]
|
public string BatchNo { get; set; }
|
[JsonProperty("spe")]
|
public string Spec { get; set; } // 物料规格
|
[JsonProperty("cnt_id")]
|
public string CntId { get; set; } // 容器类型 = 托盘
|
}
|
|
public class EmptyOnlineGoodpackInfo {
|
[JsonProperty("cnt_id")]
|
public string CntId { get; set; } // 容器类型 = 好运箱
|
}
|
|
/// <summary>
|
/// 抽检-创建抽检单(WMS)数据类
|
/// </summary>
|
public class CreateCheckOrderInfo {
|
/// <summary>
|
/// 物料编码
|
/// </summary>
|
|
[JsonProperty("item_code")]
|
public string ItemCode { get; set; }
|
/// <summary>
|
/// 物料规格
|
/// </summary>
|
[JsonProperty("spe")]
|
public string Spe { get; set; }
|
/// <summary>
|
/// 批次号
|
/// </summary>
|
|
[JsonProperty("batch_no")]
|
public string BatchNo { get; set; }
|
/// <summary>
|
/// 需出库数量
|
/// </summary>
|
[JsonProperty("qty")]
|
public int Qty { get; set; }
|
/// <summary>
|
/// 容器类型
|
/// </summary>
|
|
[JsonProperty("cntr_type")]
|
public string CntrType { get; set; }
|
/// <summary>
|
/// 出库终点货区
|
/// </summary>
|
|
[JsonProperty("end_area")]
|
public string EndArea { get; set; }
|
}
|
/// <summary>
|
/// 抽检-合格回库(PDA) 数据类
|
/// </summary>
|
public class QualifiedBackInfo {
|
/// <summary>
|
/// 物料编码
|
/// </summary>
|
[JsonProperty("item_code")]
|
public string ItemCode { get; set; }
|
/// <summary>
|
/// 容器编码
|
/// </summary>
|
[JsonProperty("cntr_code")]
|
public string CntrCode { get; set; }
|
}
|
|
public class UnqualifiedShiftInfo : QualifiedBackInfo {
|
/// <summary>
|
/// 不合格移库终点库区
|
/// </summary>
|
[JsonProperty("end_area")]
|
public string EndArea { get; set; }
|
}
|
|
public class CheckShiftInfo : UnqualifiedShiftInfo {
|
public bool Qualified { get; set; }
|
}
|
|
#endregion
|
|
#region WMS 数据
|
/// <summary>
|
/// 成品胶出库(PDA)
|
/// </summary>
|
public class FinishedOutboundInfo {
|
/// <summary>
|
/// 物料编码
|
/// </summary>
|
[JsonProperty("item_code")]
|
public string ItemCode { get; set; }
|
///// <summary>
|
///// 物料名称
|
///// </summary>
|
//[JsonProperty("item_name")]
|
//public string ItemName { get; set; }
|
/// <summary>
|
/// 物料规格
|
/// </summary>
|
[JsonProperty("spe")]
|
public string Spe { get; set; }
|
/// <summary>
|
/// 批次号
|
/// </summary>
|
[JsonProperty("batch_no")]
|
public string BatchNo { get; set; }
|
/// <summary>
|
/// 需出库数量
|
/// </summary>
|
[JsonProperty("qty")]
|
public int Qty { get; set; }
|
/// <summary>
|
/// 容器类型
|
/// </summary>
|
[JsonProperty("cntr_type")]
|
public string CntrType { get; set; }
|
/// <summary>
|
/// 出库终点货区
|
/// </summary>
|
[JsonProperty("end_area")]
|
public string EndArea { get; set; }
|
/// <summary>
|
/// 是否强制出库
|
/// </summary>
|
[JsonProperty("force_out")]
|
public bool ForcedOut { get; set; }
|
}
|
/// <summary>
|
/// 移库-创建移库任务数据类
|
/// </summary>
|
public class CreateShiftOrderInfo {
|
/// <summary>
|
/// 物料编码
|
/// </summary>
|
|
[JsonProperty("item_code")]
|
public string ItemCode { get; set; }
|
///// <summary>
|
///// 物料名称
|
///// </summary>
|
//
|
//[JsonProperty("item_name")]
|
//public string ItemName { get; set; }
|
/// <summary>
|
/// 批次号
|
/// </summary>
|
|
[JsonProperty("batch_no")]
|
public string BatchNo { get; set; }
|
/// <summary>
|
/// 移库终点货区
|
/// </summary>
|
|
[JsonProperty("end_area")]
|
public string EndArea { get; set; }
|
}
|
|
/// <summary>
|
/// 余料尾箱回库(PDA)数据类
|
/// </summary>
|
public class RestBackInfo {
|
/// <summary>
|
/// 起点货位
|
/// </summary>
|
[JsonProperty("start_loc")]
|
public string StartLoc { get; set; }
|
}
|
#endregion
|
|
/// <summary>
|
/// 物料信息下发同步 数据类
|
/// </summary>
|
public class CgInfoSyncInfo {
|
[JsonProperty("itemName")]
|
public string ItemName { get; set; }
|
[JsonProperty("itemCode")]
|
public string ItemCode { get; set; }
|
[JsonProperty("batchNo")]
|
public string BatchNo { get; set; }
|
|
/// <summary>
|
/// 执行标准
|
/// </summary>
|
[JsonProperty("standard")]
|
public string Standard { get; set; }
|
|
/// <summary>
|
/// 净含量
|
/// </summary>
|
[JsonProperty("netWeight")]
|
public string NetWeight { get; set; }
|
|
/// <summary>
|
/// 质量等级
|
/// </summary>
|
[JsonProperty("qualityGrade")]
|
public string QualityGrade { get; set; }
|
}
|
|
/// <summary>
|
/// MES API 响应结果类
|
/// </summary>
|
public class MesResult {
|
/// <summary>
|
/// 接口调用结果 1-成功 0-失败
|
/// </summary>
|
[JsonProperty("result")]
|
public int Result { get; set; }
|
|
/// <summary>
|
/// 是否成功 True-成功,False:失败
|
/// </summary>
|
[JsonProperty("success")]
|
public bool Success { get; set; }
|
|
/// <summary>
|
/// 这里是string类型,对结果的描述
|
/// </summary>
|
[JsonProperty("data")]
|
public string Data { get; set; }
|
}
|
|
public static MesResult NewMesResult(int code, string message = "", bool printLog = true) {
|
return new MesResult {
|
Result = code,
|
Success = code == 0, // 仅当code=0时,success=true
|
Data = message,
|
};
|
}
|
|
/// <summary>
|
/// 反馈 ERP 的数据类型
|
/// </summary>
|
public class ErpResult {
|
[JsonProperty("code")]
|
public int Code { get; set; }
|
[JsonProperty("message")]
|
public string Message { get; set; }
|
}
|
|
public static ErpResult NewErpResult(int code, string message) {
|
return new ErpResult { Code = code, Message = message };
|
}
|
|
/// <summary>
|
/// ERP 下发出库任务的数据类型
|
/// </summary>
|
public class ErpSendOutboundOrderInfo {
|
public string ErpNo { get; set; } // ERP 单号
|
/// <summary>
|
/// 物料编码
|
/// </summary>
|
[JsonProperty("item_code")]
|
public string ItemCode { get; set; }
|
///// <summary>
|
///// 物料名称
|
///// </summary>
|
//[JsonProperty("item_name")]
|
//public string ItemName { get; set; }
|
/// <summary>
|
/// 物料规格
|
/// </summary>
|
[JsonProperty("spe")]
|
public string Spe { get; set; }
|
/// <summary>
|
/// 批次号
|
/// </summary>
|
[JsonProperty("batch_no")]
|
public string BatchNo { get; set; }
|
/// <summary>
|
/// 需出库数量
|
/// </summary>
|
[JsonProperty("qty")]
|
public int Qty { get; set; }
|
/// <summary>
|
/// 容器类型
|
/// </summary>
|
[JsonProperty("cntr_type")]
|
public string CntrType { get; set; }
|
/// <summary>
|
/// 出库终点货区
|
/// </summary>
|
[JsonProperty("end_area")]
|
public string EndArea { get; set; }
|
/// <summary>
|
/// 是否强制出库
|
/// </summary>
|
[JsonProperty("force_out")]
|
public bool ForcedOut { get; set; }
|
|
}
|
|
public class PickUpReturnErpInfo {
|
public string LocCode { get; set; }
|
|
}
|
}
|
}
|