using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.Attributes;
using WIDESEA_DTO.Basic;
namespace WIDESEA_DTO.ERP
{
    /// 
    /// 出库单
    /// 
    [ModelValidate]
    public class ErpOutOrderDTO
    {
        /// 
        /// 操作类型
        /// 1:新增
        /// 2:修改
        /// 3:删除(删除只要明细行号和领料单号)
        /// 
        [PropertyValidate("操作类型", NotNullAndEmpty = true, Check = new object[] { 1, 2, 3 })]
        public int Way { get; set; }
        /// 
        /// 明细行号
        /// 
        [PropertyValidate("明细行号", NotNullAndEmpty = true)]
        public string RowNo { get; set; }
        /// 
        /// 领料订单号
        /// 
        [PropertyValidate("领料订单号", NotNullAndEmpty = true)]
        public string OrderNo { get; set; }
        /// 
        /// 仓库编号
        /// 
        [PropertyValidate("仓库编号", NotNullAndEmpty = true)]
        public string WaId { get; set; }
        /// 
        /// 订单类型
        /// 1:标准生产领料
        /// 2:标准部门领料
        /// 3:研发项目领料
        /// 4:物料送检出仓
        /// 5:物料调出
        /// 6:维修发料
        /// 7:销售贸易
        /// 8:退货管理
        /// 
        [PropertyValidate("订单类型", NotNullAndEmpty = true, Check = new object[] { 1, 2, 3, 4, 5, 6, 7, 8 })]
        public int OType { get; set; }
        /// 
        /// 物料编码
        /// 
        [PropertyValidate("物料编码", NotNullAndEmpty = true)]
        public string MCode { get; set; }
        /// 
        /// 物料批次
        /// 
        [PropertyValidate("物料批次")]
        public string MLot { get; set; }
        /// 
        /// 数量
        /// 
        [PropertyValidate("数量", NotNullAndEmpty = true, MinValue = 0, IsContainMinValue = false)]
        public float Qty { get; set; }
        /// 
        /// 单位
        /// 
        [PropertyValidate("单位", NotNullAndEmpty = true)]
        public string Unit { get; set; }
        /// 
        /// 下单日期
        /// 
        [PropertyValidate("下单日期", NotNullAndEmpty = true)]
        public string OrderData { get; set; }
        /// 
        /// 备注
        /// 
        [PropertyValidate("备注")]
        public string Node { get; set; }
        /// 
        /// 部门编号
        /// 
        [PropertyValidate("部门编号")]
        public string DepartmentCode { get; set; }
        /// 
        /// 部门名称
        /// 
        [PropertyValidate("部门名称")]
        public string DepartmentName { get; set; }
    }
}