using Hotline.Share.Dtos.File; using Hotline.Share.Dtos.FlowEngine; using Hotline.Share.Enums.Order; using SqlSugar; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using XF.Domain.Repository; namespace Hotline.Orders { [Description("退回审批")] public class OrderSendBackAudit: FullStateEntity { /// /// 工单ID /// [SugarColumn(ColumnDescription = "工单ID")] public string OrderId { get; set; } /// /// 根据办理者类型不同,此字段为不同内容 /// /// 部门等级/分类为:depCodes, 角色为:userIds /// /// [SugarColumn(ColumnDataType = "json", IsJson = true)] public List? NextHandlers { get; set; } = new(); /// /// 流程快照ID /// [SugarColumn(ColumnDescription = "流程快照ID")] public string? TraceId { get; set; } /// /// 状态 /// [SugarColumn(ColumnDescription = "状态")] public ESendBackAuditState? State { get; set; } /// /// 工单状态 /// public EOrderStatus? Status { get; set; } /// /// 退回原因 /// [SugarColumn(ColumnDescription = "退回原因", ColumnDataType = "text")] public string? Content { get; set; } /// /// 审批意见 /// [SugarColumn(ColumnDescription = "审批意见", ColumnDataType = "text")] public string? AuditContent { get; set; } /// /// 工单 /// [Navigate(NavigateType.OneToOne, nameof(OrderId))] public Order Order { get; set; } /// /// 退回数据 /// [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)] public PreviousWorkflowDto SendBackData { get; set; } /// /// 审批人ID /// [SugarColumn(ColumnDescription = "审批人ID")] public string? AuditId { get; set; } [SugarColumn(ColumnDescription = "审批人")] public string? AuditUser { get; set; } /// /// 审批时间 /// public DateTime? AuditTime { get; set; } /// /// 申请部门ID /// [SugarColumn(ColumnDescription = "申请部门ID")] public string? ApplyOrgId { get; set; } /// /// 申请部门名称 /// [SugarColumn(ColumnDescription = "申请部门名称")] public string? ApplyOrgName { get; set; } /// /// 退回部门ID /// [SugarColumn(ColumnDescription = "退回部门ID")] public string SendBackOrgId { get; set; } /// /// 退回部门名称 /// [SugarColumn(ColumnDescription = "退回部门名称")] public string SendBackOrgName { get; set; } /// /// 退回节点名称 /// [SugarColumn(ColumnDescription = "退回节点名称")] public string? SendBackStepName { get; set; } /// /// 退回节点创建时间 /// [SugarColumn(ColumnDescription = "退回节点创建时间")] public DateTime? WorkflowStepSendBackCrTime { get; set; } /// /// 流程退回发起部门ID /// [SugarColumn(ColumnDescription = "流程退回发起部门ID")] public string WorkflowOrgId { get; set; } /// /// 流程退回发起用户ID /// [SugarColumn(ColumnDescription = "流程退回发起用户ID")] public string WorkflowUserId { get; set; } /// /// 是否允许再次退回 /// [SugarColumn(ColumnDescription = "是否允许再次退回",DefaultValue = "f")] public bool? IsReturnAgain { get; set; } /// /// 流程退回发起用户角色ID /// [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true, ColumnDescription = "流程退回发起用户角色ID")] public List WorkflowRoleIds { get; set; } [SugarColumn(ColumnDataType = "json", IsJson = true, IsNullable = true)] public List? FileJson { get; set; } } }