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,14 +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 };
        }
        public static SimpleResult NewSimpleResult(Exception ex, string preLog = "", int errCode = -1) {
            LogHelper.InfoEx(ex, preLog);
            return new SimpleResult { resultCode = errCode, resultMsg = $"发生了[异常]:{ex.Message}" };
        }
        /// <summary>
@@ -58,7 +60,7 @@
            //public int station_id { get; set; }
            /// <summary>
            /// 请求上线/下线的的站台库位名称,例如work6、work8
            /// 请求上线/下线的的站台库位名称,例如work6,work8
            /// </summary>
            public string station_name { get; set; }
@@ -77,7 +79,8 @@
            public string ResultMsg { get; set; }
        }
        public static ReturnResult NewReturnResult(int code, string message) {
        public static ReturnResult NewReturnResult(int code, string message, bool log = true) {
            if (log) { LogHelper.Info(message); }
            return new ReturnResult { ResultCode = code, ResultMsg = message };
        }
@@ -106,8 +109,6 @@
            /// 订单当前的目的地
            /// </summary>
            public string currentDes { get; set; }
            /// <summary>
            /// 当前指令
            /// </summary>
@@ -151,9 +152,8 @@
    }
    public class OtherModel {
        #region PDA 数据
        /// <summary>
        /// 好运箱-满托下线入库(PDA)数据类
        /// 满箱下线入库
        /// </summary>
        public class GoodpackOfflineInfo {
            /// <summary>
@@ -161,11 +161,6 @@
            /// </summary>
            [JsonProperty("s_item_code")]
            public string ItemCode { get; set; }
            ///// <summary>
            ///// 物料名称
            ///// </summary>
            //[JsonProperty("item_name")]
            //public string ItemName { get; set; }
            /// <summary>
            /// 批次号
            /// </summary>
@@ -175,78 +170,19 @@
            /// 物料规格
            /// </summary>
            [JsonProperty("s_spec")]
            public string s_spec { get; set; }
            public string Spec { get; set; }
            /// <summary>
            /// 数量
            /// </summary>
            [JsonProperty("n_num")]
            public int n_num { get; set; }
            public int Num { get; set; }
            /// <summary>
            /// 起点货位信息
            /// 起点货位信息 (起点货位货区要求:MXCZQ 满箱操作区)
            /// </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>
@@ -257,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>
@@ -384,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>
@@ -408,11 +290,6 @@
            /// </summary>
            [JsonProperty("item_code")]
            public string ItemCode { get; set; }
            ///// <summary>
            ///// 物料名称
            ///// </summary>
            //[JsonProperty("item_name")]
            //public string ItemName { get; set; }
            /// <summary>
            /// 物料规格
            /// </summary>
@@ -444,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)数据类
@@ -484,7 +332,6 @@
            [JsonProperty("start_loc")]
            public string StartLoc { get; set; }
        }
        #endregion
        /// <summary>
        /// 物料信息下发同步 数据类
@@ -495,36 +342,46 @@
            /// </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>
@@ -538,50 +395,32 @@
            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 MesResult NewMesResult(int code, string message = "", bool printLog = true) {
        /// <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,
            };
        }
        /// <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 单号
        }
        public class PickUpReturnErpInfo {
            public string LocCode { get; set; }
        }
    }
}