using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OASystem.Domain.Dtos.PersonnelModule
{
    public class TaskAllocationDto
    {
    }
    /// 
    /// 任务分配 Init Dto
    /// 
    public class TaskAllocationInitDto : UserPageFuncDtoBase
    {
        /// 
        /// 用户Id
        /// 
        public new int UserId { get; set; }
    }
    /// 
    /// 任务分配 Page
    /// 
    public class TaskAllocationPageDto : UserPageFuncDtoBase
    {
        public int PageIndex { get; set; } = 1;
        public int PageSize { get; set; } = 10;
        /// 
        /// 数据类型
        /// 0 全部 1 由我指派 2 指派给我
        /// 
        public int Type { get; set; }
        /// 
        /// 任务状态
        /// 
        public int Status { get; set; }
        /// 
        /// 任务名称
        /// 
        public string? TaskName { get; set; }
        public string GroupNames { get; set; }
    }
    /// 
    /// 任务分配 Details Dto
    /// 
    public class TaskAllocationDetailsDto : UserPageFuncDtoBase
    {
        /// 
        /// Id
        /// 
        public int Id { get; set; }
    }
    /// 
    /// 任务分配 AddOrEdit Dto
    /// 
    public class TaskAllocationAddOrEditDto : UserPageFuncDtoBase
    {
        /// 
        /// Id
        /// Id == 0 添加
        /// Id > 0 修改
        /// 
        public int Id { get; set; }
        /// 
        /// 部门Id
        /// 
        public int DepId { get; set; }
        /// 
        /// 团组Id
        /// 
        public int DiId { get; set; }
        /// 
        /// 优先级
        /// 1 2 3 4
        /// 
        public int TaskPriority { get; set; }
        /// 
        /// 任务名称
        /// 
        public string? TaskName { get; set; }
        /// 
        /// 任务内容
        /// 
        public string? TaskContent { get; set; }
        /// 
        /// 指派人员
        /// 
        public List? UserIds { get; set; }
        /// 
        /// 任务预计开始时间(由发布者设置开始时间)
        /// 
        public string? PredictBeginTime { get; set; }
        /// 
        /// 任务预计结束时间(由发布者设置结束时间)
        /// 
        public string? PredictEndTime { get; set; }
        /// 
        /// 0 否 1 是  
        /// 是否纳入绩效考核
        /// 
        public int IsIntoPerformance { get; set; } = 0;
    }
    //
    /// 
    /// 任务分配 
    /// 任务归属人 状态操作
    /// 
    public class TaskerDetailsDto
    {
        public int Id { get; set; }
    }
    /// 
    /// 任务分配 
    /// 任务归属人 状态操作
    /// 
    public class TaskerStatusDto
    {
        public int UserId { get; set; }
        public int Id { get; set; }
    }
    /// 
    /// 任务分配 
    /// 任务确认完成 
    /// 
    public class TaskAllocationConfirmCompletionDto : UserPageFuncDtoBase
    {
        /// 
        /// Id
        /// 
        public int Id { get; set; }
    }
    /// 
    /// 任务分配 
    /// 任务状态更改
    /// 
    public class TaskAllocationStatusDto
    {
        /// 
        /// Id
        /// 
        public int SubId { get; set; }
    }
    /// 
    /// 任务分配 
    /// 任务状态更改
    /// 
    public class TaskAllocationSetUnFinishedStatusDto: TaskAllocationStatusDto
    {
        /// 
        /// 未完成原因
        /// 
        public string Cause { get; set; }
    }
    /// 
    /// 任务分配 
    /// 任务评分
    /// 
    public class TaskAllocationScoreDto : UserPageFuncDtoBase
    {
        public int SubId { get; set; }
        public int Score { get; set; }
        public string ScoreRemark { get; set; }
    }
    public class ScoreInfo
    {
        
    }
}