kazelee
10 天以前 2ca90a404fa1ab94eb6374f50c6ddd47a2b7f0e6
api/ApiModel.cs
@@ -4,6 +4,8 @@
using System.Text;
using System.Threading.Tasks;
using HH.WCS.Mobox3.DSZSH.util;
using Newtonsoft.Json;
namespace HH.WCS.Mobox3.DSZSH.api {
@@ -17,28 +19,14 @@
            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) {
        public static SimpleResult NewSimpleResult(int code, string message, string name = "") {
            LogHelper.Info(message, name);
            return new SimpleResult { resultCode = code, resultMsg = message };
        }
        /// <summary>
        /// 构建 <see cref="SimpleResult"/> 异常返回值,选择打印异常日志信息(默认打印)
        /// </summary>
        /// <param name="ex"></param>
        /// <param name="exCode"></param>
        /// <param name="pringLog"></param>
        /// <returns></returns>
        public static SimpleResult BuildSimpleEx(Exception ex, int exCode = 1, bool pringLog = true) {
            if (pringLog) {
                LogHelper.InfoEx(ex);
            }
            return new SimpleResult { resultCode = exCode, resultMsg = ex.Message };
        public static SimpleResult NewSimpleResult(Exception ex, string preLog = "", int errCode = -1) {
            LogHelper.InfoEx(ex, preLog);
            return new SimpleResult { resultCode = errCode, resultMsg = $"发生了[异常]:{ex.Message}" };
        }
        /// <summary>
@@ -69,10 +57,10 @@
        public class SafetyInteractionInfo {
            public int station_id { get; set; }
            //public int station_id { get; set; }
            /// <summary>
            /// 请求上线/下线的的站台库位名称,例如work6、work8
            /// 请求上线/下线的的站台库位名称,例如work6,work8
            /// </summary>
            public string station_name { get; set; }
@@ -80,7 +68,7 @@
            /// 请求码
            /// </summary>
            public string apply_code { get; set; }
            public string task_no { set; get; }
            //public string task_no { set; get; }
        }
        /// <summary>
@@ -89,6 +77,11 @@
        public class ReturnResult {
            public int ResultCode { get; set; }
            public string ResultMsg { get; set; }
        }
        public static ReturnResult NewReturnResult(int code, string message, bool log = true) {
            if (log) { LogHelper.Info(message); }
            return new ReturnResult { ResultCode = code, ResultMsg = message };
        }
        public class orderStatusReportParme {
@@ -116,8 +109,6 @@
            /// 订单当前的目的地
            /// </summary>
            public string currentDes { get; set; }
            /// <summary>
            /// 当前指令
            /// </summary>
@@ -153,109 +144,45 @@
        /// 返回给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>
            public string s_item_code { get; set; }
            ///// <summary>
            ///// 物料名称
            ///// </summary>
            //[JsonProperty("item_name")]
            //public string ItemName { get; set; }
            [JsonProperty("s_item_code")]
            public string ItemCode { get; set; }
            /// <summary>
            /// 批次号
            /// </summary>
            public string s_batch { get; set; }
            [JsonProperty("s_batch")]
            public string BatchNo { get; set; }
            /// <summary>
            /// 物料规格
            /// </summary>
            public string s_spec { get; set; }
            [JsonProperty("s_spec")]
            public string Spec { get; set; }
            /// <summary>
            /// 数量
            /// </summary>
            public int n_num { get; set; }
            [JsonProperty("n_num")]
            public int Num { get; set; }
            /// <summary>
            /// 起点货位信息
            /// 起点货位信息 (起点货位货区要求:MXCZQ 满箱操作区)
            /// </summary>
            public string s_start_loc { get; set; }
            [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>
@@ -266,117 +193,57 @@
            [JsonProperty("cntr_code")]
            public string CntrCode { get; set; }
            /// <summary>
            /// 容器类型
            /// 容器类型 (必须为 '空托盘’ 或 ‘空好运箱')
            /// </summary>
            [JsonProperty("cntr_type")]
            public string CntrType { get; set; }
            /// <summary>
            /// 终点库区编码
            /// 终点库区编码 (托盘是 KTCFQ 空托存放区;好运箱是 CXHJQ 空箱货架区)
            /// </summary>
            [JsonProperty("end_area")]
            public string EndArea { get; set; }
            /// <summary>
            /// 起点货位
            /// 起点货位 (托盘是 KTJBQ 空托入库接驳区;好运箱是 KXJBQ 空箱入库接驳区)
            /// </summary>
            [JsonProperty("start_loc")]
            public string StartLoc { get; set; }
        }
        public class EmptyInboundDetailInfo { }
        //public class EmptyOnlineInfo {
        //    public string ItemCode { get; set; }
        //    public string ItemName { get; set; }
        //    public string PatchNo { get; set; }
        //    public string EndLoc { get; set; }
        //}
        /// <summary>
        /// 空托上线信息
        /// </summary>
        public class EmptyOnlinePalletInfo {
            /// <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("spe")]
            public string Spe { get; set; }
            public string Spec { get; set; }
            /// <summary>
            /// 容器编码
            /// 容器号
            /// </summary>
            [JsonProperty("cnt_id")]
            public string CntId { get; set; }
            // 容器类型 = 托盘
            public string CntId { get; set; } // 容器类型 = 托盘
        }
        public class EmptyOnlineGoodpackInfo {
            // 容器类型 = 好运箱
            /// <summary>
            /// 容器编码
            /// </summary>
            [JsonProperty("cnt_id")]
            public string CntId { get; set; }
        }
        /// <summary>
        /// 抽检-创建抽检单(WMS)数据类
        /// 空好运箱上线信息
        /// </summary>
        public class CreateCheckOrderInfo {
        public class EmptyOnlineGoodpackInfo {
            /// <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; }
            [JsonProperty("cnt_id")]
            public string CntId { get; set; } // 容器类型 = 好运箱
        }
        /// <summary>
        /// 抽检-合格回库(PDA) 数据类
        /// </summary>
@@ -393,21 +260,27 @@
            public string CntrCode { get; set; }
        }
        public class UnqualifiedShiftInfo : QualifiedBackInfo {
        /// <summary>
        /// 不合格移库数据类
        /// </summary>
        public class UnqualifiedShiftInfo {
            /// <summary>
            /// 不合格移库终点库区
            /// 物料编码
            /// </summary>
            [JsonProperty("item_code")]
            public string ItemCode { get; set; }
            /// <summary>
            /// 容器编码
            /// </summary>
            [JsonProperty("cntr_code")]
            public string CntrCode { get; set; }
            /// <summary>
            /// 不合格移库终点库区 (必须是 CJYCQ 抽检异常区)
            /// </summary>
            [JsonProperty("end_area")]
            public string EndArea { get; set; }
        }
        public class CheckShiftInfo : UnqualifiedShiftInfo {
            public bool Qualified { get; set; }
        }
        #endregion
        #region WMS 数据
        /// <summary>
        /// 成品胶出库(PDA)
        /// </summary>
@@ -417,11 +290,6 @@
            /// </summary>
            [JsonProperty("item_code")]
            public string ItemCode { get; set; }
            ///// <summary>
            ///// 物料名称
            ///// </summary>
            //[JsonProperty("item_name")]
            //public string ItemName { get; set; }
            /// <summary>
            /// 物料规格
            /// </summary>
@@ -453,35 +321,6 @@
            [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)数据类
@@ -493,7 +332,6 @@
            [JsonProperty("start_loc")]
            public string StartLoc { get; set; }
        }
        #endregion
        /// <summary>
        /// 物料信息下发同步 数据类
@@ -504,42 +342,52 @@
            /// </summary>
            [JsonProperty("itemName")]
            public string ItemName { get; set; }
            /// <summary>
            /// 产品牌号
            /// 物料编码
            /// </summary>
            [JsonProperty("itemCode")]
            public string ItemCode { get; set; }
            /// <summary>
            /// 批次号
            /// </summary>
            [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>
            /// 料箱编号 (待定)
            /// </summary>
            [JsonProperty("cntrCode")]
            public string CntrCode { get; set; }
            /// <summary>
            /// 物料数量 (待定)
            /// </summary>
            [JsonProperty("itemNum")]
            public int ItemNum { get; set; }
            ///// <summary>
            ///// 产线号 (待定,好运箱有2条产线,对应2个下线货位,这里暂定为:3和4)
            ///// </summary>
            //[JsonProperty("prodLineId")]
            //public string ProdLineId { get; set; }
        }
        /// <summary>
        /// MES API 响应结果类
        /// </summary>
        public class WmsResult {
        public class MesResult {
            /// <summary>
            /// 接口调用结果  1-成功  0-失败
            /// </summary>
@@ -547,25 +395,30 @@
            public int Result { get; set; }
            /// <summary>
            /// 是否成功 True-成功,False:失败
            /// 是否成功 True-成功,False:失败
            /// </summary>
            [JsonProperty("success")]
            public bool Success { get; set; }
            /// <summary>
            /// 这里是string类型,对结果的描述
            /// 这里是string类型,对结果的描述
            /// </summary>
            [JsonProperty("data")]
            public string Data { get; set; }
        }
        public static WmsResult MesResultBuilder(int code, string message = "", bool printLog = true) {
            if (printLog && string.IsNullOrEmpty(message)) {
                LogHelper.Info(message);
            }
            return new WmsResult {
        /// <summary>
        /// 仅当 Code = 0 表示成功
        /// </summary>
        /// <param name="code"></param>
        /// <param name="message"></param>
        /// <param name="log"></param>
        /// <returns></returns>
        public static MesResult NewMesResult(int code, string message = "", bool log = true) {
            if (log) { LogHelper.Info(message); }
            return new MesResult {
                Result = code,
                Success = code == 0, // 仅当code=0时,success=true
                Success = code == 0, // 仅当code=0时,success=true
                Data = message,
            };
        }