using Hotline.Share.Dtos.File; using Hotline.Share.Enums.Order; using Hotline.Share.Enums.Settings; using Hotline.Share.Requests; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Hotline.Share.Dtos.FlowEngine.Workflow; using XF.Utility.EnumExtensions; using Hotline.Share.Enums.FlowEngine; namespace Hotline.Share.Dtos.Order { public class OrderSpecialAddDto { public string OrderId { get; set; } public string WorkflowId { get; set; } /// /// 下一节点code(defineStep.code) /// public string NextStepCode { get; set; } = string.Empty; public string NextStepName { get; set; } = string.Empty; /// /// 根据办理者类型不同,此字段为不同内容 /// /// 部门等级/分类为:depCodes, 角色为:userIds /// /// public List NextHandlers { get; set; } = new(); /// /// 特提原因 /// public string? Cause { get; set; } /// /// 特提理由 /// public string? Reason { get; set; } /// /// 是否审批 /// public bool Audit { get; set; } = false; /// /// 办理时间限制(如:24小时、7个工作日) /// public int? TimeLimit { get; set; } public ETimeType? TimeLimitUnit { get; set; } = ETimeType.WorkDay; /// /// 是否修改期满时间 /// public bool AlterTime { get; set; } /// /// 附件列表 /// public List Files { get; set; } = new(); } public class AuditOrderSpecialDto { public string Id { get; set; } public string WorkflowId { get; set; } /// /// 下一节点code(defineStep.code) /// public string NextStepCode { get; set; } = string.Empty; public string NextStepName { get; set; } = string.Empty; /// /// 根据办理者类型不同,此字段为不同内容 /// /// 部门等级/分类为:depCodes, 角色为:userIds /// /// public List NextHandlers { get; set; } = new(); public string? OrgId { get; set; } public string? OrgName { get; set; } /// /// 审核结果 0 待审核 1 审核通过 2 审核不通过 /// public int State { get; set; } /// /// 办理时间限制(如:24小时、7个工作日) /// public int? TimeLimit { get; set; } public ETimeType? TimeLimitUnit { get; set; } = ETimeType.WorkDay; /// /// 特提原因 /// public string? Cause { get; set; } /// /// 特提意见 /// public string? Opinion { get; set; } /// /// 是否修改期满时间 /// public bool AlterTime { get; set; } /// /// 附件列表 /// public List Files { get; set; } = new(); } public class OrderSpecialDto : OrderSpecialBaseDto { public string OrderId { get; set; } public string WorkflowId { get; set; } /// /// 下一节点code(defineStep.code) /// public string NextStepCode { get; set; } = string.Empty; public string NextStepName { get; set; } = string.Empty; public List NextHandlers { get; set; } /// /// 特提原因 /// public string? Cause { get; set; } /// /// 特提理由 /// public string? Reason { get; set; } /// /// 发送短信 /// public bool? AcceptSms { get; set; } /// /// 办理时间限制(如:24小时、7个工作日) /// public int? TimeLimit { get; set; } public ETimeType? TimeLimitUnit { get; set; } = ETimeType.WorkDay; public string TimeLimitUnitText => TimeLimitUnit.GetDescription(); /// /// 特提意见 /// public string? Opinion { get; set; } /// /// 审核结果 0 待审核 1 审核通过 2 审核不通过 /// public int State { get; set; } public string StateText => State == 0 ? "待审核" : State == 1 ? "审核通过" : State == 2 ? "审核不通过" : "-"; public string? OrgId { get; set; } public string? OrgName { get; set; } /// /// 特提节点 /// public WorkflowTraceDto Trace { get; set; } /// /// 工单 /// public OrderDto Order { get; set; } /// /// 附件列表 /// public List Files { get; set; } = new(); public List FileJson { get; set; } = new(); } public class OrderSpecialBaseDto { public DateTime? LastModificationTime { get; set; } public bool IsDeleted { get; set; } /// /// 删除时间 /// public DateTime? DeletionTime { get; set; } /// /// 创建时间 /// public DateTime CreationTime { get; set; } public string Id { get; set; } /// /// 组织Id /// public string? CreatorOrgId { get; set; } public string? CreatorOrgName { get; set; } /// /// 创建人 /// public string? CreatorId { get; set; } public string? CreatorName { get; set; } } public record OrderSpecialListDto : PagedKeywordRequest { public DateTime? StartTime { get; set; } public DateTime? EndTime { get; set; } /// /// 审核结果 0 待审核 1 审核通过 2 审核不通过 /// public int? State { get; set; } public string? Cause { get; set; } } public class OrderSpecialHandleTime { public string OrderId { get; set; } /// /// 流转方向 /// public EFlowDirection? FlowDirection { get; set; } } public class PublishSpecialDto { /// /// 工单对象 /// public OrderDto Order { get; set; } public OrderSpecialDto Special { get; set; } } }