kazelee
2025-05-15 1af49bdb3cdaa44a7e44ebdc843fb8180596365f
Dtos/Request/MoboxRequest.cs
@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using Newtonsoft.Json;
@@ -11,38 +7,73 @@
        #region PDA 数据
        /// <summary>
        /// 成品胶好运箱下线信息
        /// 好运箱-满托下线入库(PDA)数据类
        /// </summary>
        public class GoodpackOfflineInfo : StartCntInfo {
            public string CgId { get; set; }
        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_no")]
            public string BatchNo { get; set; }
            /// <summary>
            /// 物料规格
            /// </summary>
            [JsonProperty("s_spec")]
            public string Spec { get; set; }
            /// <summary>
            /// 数量
            /// </summary>
            [JsonProperty("n_num")]
            public int Qty { get; set; }
            /// <summary>
            /// 货位信息
            /// </summary>
            [JsonProperty("s_start_loc")]
            public string StartLoc { get; set; }
        }
        /// <summary>
        /// API:空托/空箱绑定数据类
        /// 空托/空箱入库绑定(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(NullValueHandling = NullValueHandling.Ignore)]
            public int PalletCount { 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>
            /// 容器编码
@@ -59,7 +90,9 @@
            /// </summary>
            public string LocCode { get; set; }
        }
        /// <summary>
        /// 空箱绑定
        /// </summary>
        public class EmptyBindGoodpackInfo {
            /// <summary>
            /// 容器编码
@@ -71,85 +104,248 @@
            /// </summary>
            public string LocCode { get; set; }
        }
        /// <summary>
        /// 空托/空箱入库(PDA)数据类
        /// </summary>
        public class EmptyInboundInfo {
            /// <summary>
            /// 货位编码
            /// 容器编码
            /// </summary>
            public string LocCode { get; set; }
            [JsonProperty("cntr_code")]
            public string CntrCode { get; set; }
            /// <summary>
            /// 容器类型
            /// </summary>
            [JsonProperty("cntr_type")]
            public string CnteType { get; set; }
            /// <summary>
            /// 终点库区编码
            /// </summary>
            [JsonProperty("end_area")]
            public string EndArea { get; set; }
        }
        public class EmptyInboundDetailInfo : StartCntInfo { }
        public class EmptyOnlineInfo {
            public string CgId { get; set; }
            public string PatchNo { get; set; }
            public string EndLoc { get; set; }
        }
        //public class EmptyOnlineInfo {
        //    public string ItemCode { get; set; }
        //    public string ItemName { get; set; }
        //    public string PatchNo { get; set; }
        //    public string EndLoc { get; set; }
        //}
        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; }
            /// <summary>
            /// 容器编码
            /// </summary>
            [JsonProperty("cnt_id")]
            public string CntId { get; set; }
            public string EndLoc { get; set; }
            // 容器类型 = 托盘
        }
        public class EmptyOnlineGoodpackInfo : StartCntEndInfo { }
        public class EmptyOnlineGoodpackInfo {
            // 容器类型 = 好运箱
            /// <summary>
            /// 容器编码
            /// </summary>
            [JsonProperty("cnt_id")]
            public string CntId { get; set; }
        }
        /// <summary>
        /// 抽检-创建抽检单(WMS)数据类
        /// </summary>
        public class CreateCheckOrderInfo {
            public string CgId { get; set; }
            public string ItemName { get; set; }
            /// <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; }
            public string Qty { 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; }
        }
        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>
            public string No { get; set; }
            public bool Forced { get; set; }
            public List<FinishedOutboundDetailInfo> OutboundDetails { get; set; }
            [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; }
        }
        public class FinishedOutboundDetailInfo {
            public string CgCode { get; set; }
            public string CgName { get; set; }
            public string PatchNo { get; set; }
            public string CntrType { get; set; }
            public int Qty { get; set; }
            public string EndArea { get; set; }
            //public bool Forced { get; set; }
        /// <summary>
        /// 余料尾箱回库(PDA)数据类
        /// </summary>
        public class RestBackInfo {
            /// <summary>
            /// 起点货位
            /// </summary>
            [JsonProperty("start_loc")]
            public string StartLoc { get; set; }
        }
        #endregion
        //------------------------------------------------------------------------------
        #region 模板数据
        /// <summary>
        /// 模板抽象数据类:起点货位、容器号、终点货位
        /// </summary>
        public abstract class StartCntEndInfo {
            /// <summary>
            /// 起点货位
            /// </summary>
            public string StartLoc { get; set; }
            /// <summary>
            /// 容器号
            /// </summary>
            public string CntId { get; set; }
            /// <summary>
            /// 终点货位
            /// </summary>
            public string EndLoc { get; set; }
        }
        /// <summary>
        /// 模板抽象数据类:起点货位、容器号
        /// </summary>