Files
WMS-Api/src/WMS.Web.Domain/Entitys/OutStock.cs
18942506660 93ef4592a1 增加字段
2023-11-15 17:16:10 +08:00

139 lines
4.0 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using WMS.Web.Core;
using WMS.Web.Domain.Values;
namespace WMS.Web.Domain.Entitys
{
/// <summary>
/// wms出库单
/// </summary>
[Serializable]
[Table("t_wms_outstock")]
public class OutStock : EntityBase
{
public OutStock() { }
/// <summary>
/// 主键 订单编号
/// </summary>
[Column("Id")]
public override int Id { get; set; }
/// <summary>
/// 任务单ID
/// </summary>
[Column("TaskId")]
public int TaskId { get; set; }
/// <summary>
/// 单据编号
/// </summary>
[Column("BillNo")]
public string BillNo { get; set; }
/// <summary>
/// 单据类型
/// </summary>
[Column("Type")]
public OutStockType Type { get; set; } = OutStockType.Sal;
/// <summary>
/// 发货组织
///</summary>
[Column("DeliveryOrgId")]
public int DeliveryOrgId { get; set; }
/// <summary>
/// 收货客户
///</summary>
[Column("ReceiptCustomerId")]
public int ReceiptCustomerId { get; set; }
/// <summary>
/// 创建人
/// </summary>
[Column("CreatorId")]
public int CreatorId { get; set; }
/// <summary>
/// 操作人
/// </summary>
[Column("OperateId")]
public int OperateId { get; set; }
/// <summary>
/// 创建时间(出库时间)
/// </summary>
[Column("CreateTime")]
public DateTime CreateTime { get; set; } = DateTime.Now;
/// <summary>
/// 同步成功或者失败 null 就是未同步
/// </summary>
[Column("SuccessSync")]
public bool? SuccessSync { get; set; }
/// <summary>
/// 同步成功失败的源订单号
/// </summary>
[Column("SuccessSyncFail")]
public List<string> SuccessSyncFail { get; set; }=new List<string>();
/// <summary>
/// 同步时间
/// </summary>
[Column("SyncTime")]
public DateTime? SyncTime { get; set; }
/// <summary>
/// 备注
/// </summary>
[Column("Remark")]
public string Remark { get; set; }
/// <summary>
/// 明细
/// </summary>
public List<OutStockDetails> Details = new List<OutStockDetails>();
/// <summary>
/// 创建
/// </summary>
/// <param name="creatorId"></param>
public void Create(int creatorId, OutStockTask task)
{
this.TaskId = task.Id;
this.Type = task.Type;
this.DeliveryOrgId = task.DeliveryOrgId;
this.ReceiptCustomerId = task.ReceiptCustomerId;
this.CreatorId = creatorId;
this.CreateTime = DateTime.Now;
}
/// <summary>
/// 同步金蝶
/// </summary>
/// <param name="operateId"></param>
public void Sync(List<string> sourcBilNos, bool isSuccess, int operateId, string remark)
{
SuccessSyncFail.AddRange(sourcBilNos);
SuccessSyncFail.Distinct();
this.SuccessSync = isSuccess;
this.Remark = remark;
this.OperateId = operateId;
this.SyncTime = DateTime.Now;
}
/// <summary>
/// 生成单据号
/// </summary>
public void GenerateNo()
{
//用户手动输入了 就不自动生成了
if (!string.IsNullOrEmpty(this.BillNo)) return;
if (this.Id.ToString().Length >= 8)
{
this.BillNo = "CK" + this.Id.ToString();
return;
}
string idStr = this.Id.ToString();
while (true)
{
idStr = "0" + idStr;
if (idStr.Length >= 8) break;
}
this.BillNo = "CK" + idStr;
}
}
}