88 lines
2.8 KiB
C#
88 lines
2.8 KiB
C#
namespace F9WebAiTest.Application.Dtos.Attendance;
|
|
|
|
public class AttendanceDto
|
|
{
|
|
public long Id { get; set; }
|
|
public long EmployeeId { get; set; }
|
|
public string EmployeeName { get; set; }
|
|
public string DepartmentName { get; set; }
|
|
public DateTime WorkDate { get; set; }
|
|
public DateTime? SignInTime { get; set; }
|
|
public DateTime? SignOutTime { get; set; }
|
|
public string SignInStatus { get; set; }
|
|
public string SignOutStatus { get; set; }
|
|
public string Remark { get; set; }
|
|
}
|
|
|
|
public class PunchResultDto
|
|
{
|
|
public string Type { get; set; } // signIn / signOut
|
|
public DateTime Time { get; set; }
|
|
public string Status { get; set; } // 正常/迟到/早退
|
|
public string Message { get; set; }
|
|
}
|
|
|
|
public class AttendanceQueryDto
|
|
{
|
|
public string Date { get; set; } = ""; // yyyy-MM-dd
|
|
public long? DepartmentId { get; set; }
|
|
public string Keyword { get; set; } = "";
|
|
public int PageIndex { get; set; } = 1;
|
|
public int PageSize { get; set; } = 10;
|
|
}
|
|
|
|
public class AttendanceSummaryDto
|
|
{
|
|
public int NormalDays { get; set; }
|
|
public int LateDays { get; set; }
|
|
public int EarlyLeaveDays { get; set; }
|
|
public int AbsentDays { get; set; }
|
|
public int LeaveDays { get; set; }
|
|
public int TotalDays { get; set; }
|
|
}
|
|
|
|
public class LeaveRequestDto
|
|
{
|
|
public long Id { get; set; }
|
|
public long EmployeeId { get; set; }
|
|
public string EmployeeName { get; set; }
|
|
public string DepartmentName { get; set; }
|
|
public string Type { get; set; }
|
|
public DateTime StartTime { get; set; }
|
|
public DateTime EndTime { get; set; }
|
|
public string Reason { get; set; }
|
|
public string Status { get; set; }
|
|
public int CurrentOrderNo { get; set; } // 当前审批到第几步
|
|
public string ApproverName { get; set; }
|
|
public string ApproveRemark { get; set; }
|
|
public DateTime? ApprovedAt { get; set; }
|
|
public DateTime CreatedAt { get; set; }
|
|
public List<LeaveApproverDto> Approvers { get; set; } = new(); // 审批流程节点
|
|
}
|
|
|
|
public class LeaveApproverDto
|
|
{
|
|
public long Id { get; set; }
|
|
public long ApproverId { get; set; }
|
|
public string ApproverName { get; set; }
|
|
public int OrderNo { get; set; } // 序号(审批顺序)
|
|
public string Status { get; set; } // 待审批/已批准/已驳回
|
|
public string ApproveRemark { get; set; }
|
|
public DateTime? ApprovedAt { get; set; }
|
|
}
|
|
|
|
public class CreateLeaveDto
|
|
{
|
|
public string Type { get; set; } = "事假";
|
|
public DateTime StartTime { get; set; }
|
|
public DateTime EndTime { get; set; }
|
|
public string Reason { get; set; } = "";
|
|
public List<long> ApproverIds { get; set; } = new(); // 审批人ID列表(顺序=审批顺序)
|
|
}
|
|
|
|
public class ApproveLeaveDto
|
|
{
|
|
public bool Approved { get; set; }
|
|
public string Remark { get; set; } = "";
|
|
}
|