You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
2.8 KiB
C#

using System.Runtime.Serialization;
using DS.Module.Core;
using DS.WMS.Core.Op.Entity;
using DS.WMS.Core.TaskInteraction.Entity;
using Masuit.Tools.Systems;
using SqlSugar;
namespace DS.WMS.Core.TaskInteraction.Dtos
{
/// <summary>
/// 提单确认信息
/// </summary>
public class BLConfirmation
{
/// <summary>
/// 主业务ID
/// </summary>
public long BusinessId { get; set; }
/// <summary>
/// 主业务类型
/// </summary>
public BusinessType BusinessType { get; set; }
/// <summary>
/// 任务列表
/// </summary>
public List<BLTask>? Tasks { get; set; }
}
/// <summary>
/// 提单确认任务
/// </summary>
public class BLTask
{
/// <summary>
/// 任务ID
/// </summary>
public long Id { get; set; }
/// <summary>
/// 上级任务ID
/// </summary>
public long? ParentId { get; set; }
/// <summary>
/// 业务ID
/// </summary>
public long BusinessId { get; set; }
/// <summary>
/// 业务类型
/// </summary>
public BusinessType? BusinessType { get; set; }
/// <summary>
/// 上级业务ID
/// </summary>
public long? ParentBusinessId { get; set; }
/// <summary>
/// 任务类型
/// </summary>
public TaskBaseTypeEnum TaskType { get; set; }
/// <summary>
/// 任务类型名称
/// </summary>
public string TaskTypeName => TaskType.GetDescription();
/// <summary>
/// 任务状态
/// </summary>
public TaskStatusEnum TaskStatus { get; set; }
/// <summary>
/// 任务状态名称
/// </summary>
public string TaskStatusName => TaskStatus.GetDescription();
/// <summary>
/// 接收人
/// </summary>
[IgnoreDataMember]
public string? RecvUsers { get; set; }
/// <summary>
/// 接收人ID列表
/// </summary>
[IgnoreDataMember]
public long[] RecvUserIds => string.IsNullOrEmpty(RecvUsers) ? [] :
RecvUsers.Split(',', StringSplitOptions.RemoveEmptyEntries).Select(long.Parse).ToArray();
/// <summary>
/// 接收人用户列表
/// </summary>
[SugarColumn(IsIgnore = true)]
public string[]? RecvUserList { get; set; }
/// <summary>
/// 提单号
/// </summary>
public string? BLNumber { get; set; }
/// <summary>
/// 是否为主单
/// </summary>
public bool IsMainBL { get; set; }
/// <summary>
/// 任务步骤
/// </summary>
public List<TaskStepDto> Steps { get; set; } = [];
}
}