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; }
}
}