using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core.Attributes;
using WIDESEA_Core.CodeConfigEnum;
using WIDESEA_Core.DB.Models;
namespace WIDESEA_Model.Models
{
///
/// 出库单
///
[SugarTable(nameof(Dt_OutboundOrder), "出库单")]
public class Dt_OutboundOrder : BaseEntity
{
///
/// 主键
///
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
public int Id { get; set; }
///
/// 仓库主键
///
[SugarColumn(IsNullable = false, ColumnDescription = "仓库主键")]
public int WarehouseId { get; set; }
///
/// 单据编号
///
[CodeRule(RuleCodeEnum.OutboundOrderRule)]
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "单据编号")]
public string OrderNo { get; set; }
///
/// 上游单据编号
///
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "上游单据编号", IsOnlyIgnoreUpdate = true)]
public string UpperOrderNo { get; set; }
///
/// 单据类型
///
[SugarColumn(IsNullable = false, ColumnDescription = "单据类型", IsOnlyIgnoreUpdate = true)]
public int OrderType { get; set; }
///
/// 单据状态
///
[SugarColumn(IsNullable = false, ColumnDescription = "单据状态")]
public int OrderStatus { get; set; }
///
/// 创建方式
///
[SugarColumn(IsNullable = false, ColumnDescription = "创建方式", IsOnlyIgnoreUpdate = true)]
public int CreateType { get; set; }
///
/// 部门编号
///
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "部门编号")]
public string DepartmentCode { get; set; }
///
/// 部门名称
///
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "部门名称")]
public string DepartmentName { get; set; }
///
/// 备 注:业务类型
/// 默认值:
///
[SugarColumn(ColumnName = "businessType", ColumnDescription = "业务类型")]
public string? BusinessType { get; set; }
///
/// 备 注:是否分批,只有采购入库才会分批。
/// 默认值:
///
[SugarColumn(ColumnName = "isBatch", ColumnDescription = "是否分批")]
public int IsBatch { get; set; }
///
/// 备 注:厂区
/// 默认值:
///
[SugarColumn(ColumnName = "factoryArea", ColumnDescription = "厂区")]
public string? FactoryArea { get; set; }
///
/// 备注
///
[SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "备注")]
public string Remark { get; set; }
[SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "操作者")]
public string Operator { get; set; }
///
/// 回传MES 0未回传,1回传成功, 2回传失败
///
[SugarColumn(IsNullable = true, ColumnDescription = "回传MES")]
public int ReturnToMESStatus { get; set; } = 0;
///
/// 出库单明细
///
[Navigate(NavigateType.OneToMany, nameof(Dt_OutboundOrderDetail.OrderId), nameof(Id))]
public List Details { get; set; }
}
}