139 lines
4.0 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|