Files
f9-web-ai-test/backend/F9WebAiTest.Application/Dtos/Attendance/AttendanceDtos.cs
T
2026-10-08 10:43:59 +08:00

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