namespace Hotline.Share.Dtos.FlowEngine.Workflow;

public class PreviousWorkflowDto : EndWorkflowIdDto
{
    /// <summary>
    /// 是否短信通知
    /// </summary>
    public bool AcceptSms { get; set; }

    /// <summary>
    /// 期满时间
    /// </summary>
    public DateTime? ExpiredTime { get; set; }

    /// <summary>
    /// 指定办理对象
    /// </summary>
    //public FlowStepHandler? Handler { get; set; }
    public StepAssignInfo? Handler { get; set; }

    /// <summary>
    /// 是否退回至申请人
    /// </summary>
    public bool IsRecallToStartStep { get; set; }
    // /// <summary>
    // /// 逆向流程，节点指派方式
    // /// 退回、特提
    // /// </summary>
    // public ReverseFlowStepAssignInfo ReverseFlowStepAssignInfo { get; set; }
}

/// <summary>
/// 操作人信息
/// </summary>
public class OperatorInfo
{
    public OperatorInfo()
    {

    }

    public OperatorInfo(
        string? userId, string? userName,
        string? orgId, string? orgName,
        string? orgAreaCode, string orgAreaName,
        bool orgIsCenter, string[] roles,
        int orglevel)
    {
        UserId = userId;
        UserName = userName;
        OrgId = orgId;
        OrgName = orgName;
        OrgLevel = orglevel;
        OrgIsCenter = orgIsCenter;
        OrgAreaCode = orgAreaCode;
        Roles = roles;
    }

    public string? UserId { get; init; }

    public string? UserName { get; init; }

    public string? OrgId { get; init; }

    public string? OrgName { get; init; }
    public int OrgLevel { get; init; }
    public bool OrgIsCenter { get; init; }

    public string? OrgAreaCode { get; init; }

    /// <summary>
    /// 部门行政区划名称
    /// </summary>
    public string? OrgAreaName { get; init; }

    /// <summary>
    /// Roles
    /// </summary>
    public string[] Roles { get; init; }

}