package jnpf.entity.attendance;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 考勤日度统计表
 * 
 * @author shitou
 * @email shitou@niujiekeji.com
 * @date 2024-06-24 09:33:43
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("ftb_attendance_day_statistics")
public class AttendanceDayStatistics implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	@TableId("F_Id")
	private String id;
	/**
	 * 用户ID
	 */
	@TableField("F_UserId")
	private String userId;
	/**
	 * 考勤组id
	 */
	@TableField("F_GroupId")
	private String groupId;
	/**
	 * 日期
	 */
	@TableField("F_Date")
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
	private Date date;
	/**
	 * 出勤换算比(n小时换算为一天)
	 */
	@TableField("F_AttendanceRatio")
	private BigDecimal attendanceRatio;
	/**
	 * 应出勤天数
	 */
	@TableField("F_ShouldAttendDays")
	private BigDecimal shouldAttendDays;
	/**
	 * 应出勤小时数
	 */
	@TableField("F_ShouldAttendHours")
	private BigDecimal shouldAttendHours;
	/**
	 * 应计薪小时数
	 */
	@TableField("F_ShouldAttendPayrollHours")
	private BigDecimal shouldAttendPayrollHours;
	/**
	 * 有效出勤天数
	 */
	@TableField("F_EffectiveAttendDays")
	private BigDecimal effectiveAttendDays;
	/**
	 * 有效出勤小时数
	 */
	@TableField("F_EffectiveAttendHours")
	private BigDecimal effectiveAttendHours;
	/**
	 * 有效出勤计薪小时数
	 */
	@TableField("F_EffectiveAttendPayrollHours")
	private BigDecimal effectiveAttendPayrollHours;
	/**
	 * 实际出勤天数
	 */
	@TableField("F_ActualAttendDays")
	private BigDecimal actualAttendDays;
	/**
	 * 实际出勤小时数
	 */
	@TableField("F_ActualAttendHours")
	private BigDecimal actualAttendHours;
	/**
	 * 实际出勤计薪小时数
	 */
	@TableField("F_ActualAttendPayrollHours")
	private BigDecimal actualAttendPayrollHours;
	/**
	 * 迟到次数
	 */
	@TableField("F_LateTimes")
	private Integer lateTimes;
	/**
	 * 迟到分钟数
	 */
	@TableField("F_LateMinutes")
	private BigDecimal lateMinutes;
	/**
	 * 早退次数
	 */
	@TableField("F_EarlyLeaveTimes")
	private Integer earlyLeaveTimes;
	/**
	 * 早退分钟数
	 */
	@TableField("F_EarlyLeaveMinutes")
	private BigDecimal earlyLeaveMinutes;
	/**
	 * 缺卡次数
	 */
	@TableField("F_AbsenceCardTimes")
	private Integer absenceCardTimes;
	/**
	 * 缺卡天数
	 */
	@TableField("F_AbsenceCardDays")
	private BigDecimal absenceCardDays;
	/**
	 * 缺卡小时数
	 */
	@TableField("F_AbsenceCardHours")
	private BigDecimal absenceCardHours;
	/**
	 * 缺卡计薪小时数
	 */
	@TableField("F_AbsenceCardPayrollHours")
	private BigDecimal absenceCardPayrollHours;
	/**
	 * 旷工次数
	 */
	@TableField("F_AbsenceTimes")
	private Integer absenceTimes;
	/**
	 * 旷工天数
	 */
	@TableField("F_AbsenceDays")
	private BigDecimal absenceDays;
	/**
	 * 旷工小时数
	 */
	@TableField("F_AbsenceHours")
	private BigDecimal absenceHours;
	/**
	 * 旷工计薪小时数
	 */
	@TableField("F_AbsencePayrollHours")
	private BigDecimal absencePayrollHours;
	/**
	 * 补卡次数
	 */
	@TableField("F_MakeUpCardTimes")
	private Integer makeUpCardTimes;
	/**
	 * 外勤次数
	 */
	@TableField("F_OutworkTimes")
	private Integer outworkTimes;
	/**
	 * 外勤天数
	 */
	@TableField("F_OutworkDays")
	private BigDecimal outworkDays;
	/**
	 * 外勤小时数
	 */
	@TableField("F_OutworkHours")
	private BigDecimal outworkHours;
	/**
	 * 外勤计薪小时数
	 */
	@TableField("F_OutworkPayrollHours")
	private BigDecimal outworkPayrollHours;
	/**
	 * 加班次数
	 */
	@TableField("F_OvertimeTimes")
	private Integer overtimeTimes;
	/**
	 * 加班小时数
	 */
	@TableField("F_OvertimeHours")
	private BigDecimal overtimeHours;
	/**
	 * 加班天数
	 */
	@TableField("F_OvertimeDays")
	private BigDecimal overtimeDays;
	/**
	 * 工作日加班次数
	 */
	@TableField("F_WeekdayOvertimeTimes")
	private Integer weekdayOvertimeTimes;
	/**
	 * 工作日加班天数
	 */
	@TableField("F_WeekdayOvertimeDays")
	private BigDecimal weekdayOvertimeDays;
	/**
	 * 工作日加班小时数
	 */
	@TableField("F_WeekdayOvertimeHours")
	private BigDecimal weekdayOvertimeHours;
	/**
	 * 节假日加班次数
	 */
	@TableField("F_HolidaysOvertimeTimes")
	private Integer holidaysOvertimeTimes;
	/**
	 * 节假日加班天数
	 */
	@TableField("F_HolidaysOvertimeDays")
	private BigDecimal holidaysOvertimeDays;
	/**
	 * 节假日加班小时数
	 */
	@TableField("F_HolidaysOvertimeHours")
	private BigDecimal holidaysOvertimeHours;
	/**
	 * 公休日加班次数
	 */
	@TableField("F_PublicHolidaysOvertimeTimes")
	private Integer publicHolidaysOvertimeTimes;
	/**
	 * 公休日加班天数
	 */
	@TableField("F_PublicHolidaysOvertimeDays")
	private BigDecimal publicHolidaysOvertimeDays;
	/**
	 * 公休日加班小时数
	 */
	@TableField("F_PublicHolidaysOvertimeHours")
	private BigDecimal publicHolidaysOvertimeHours;
	/**
	 * 公休天数
	 */
	@TableField("F_PublicHolidaysDays")
	private BigDecimal publicHolidaysDays;
	/**
	 * 公休小时数
	 */
	@TableField("F_PublicHolidaysHours")
	private BigDecimal publicHolidaysHours;
	/**
	 * 公休计薪小时数
	 */
	@TableField("F_PublicHolidaysPayrollHours")
	private BigDecimal publicHolidaysPayrollHours;
	/**
	 * 调休次数
	 */
	@TableField("F_CompensationTimes")
	private Integer compensationTimes;
	/**
	 * 调休天数
	 */
	@TableField("F_CompensationDays")
	private BigDecimal compensationDays;
	/**
	 * 调休小时数
	 */
	@TableField("F_CompensationHours")
	private BigDecimal compensationHours;
	/**
	 * 调休计薪小时数
	 */
	@TableField("F_CompensationPayrollHours")
	private BigDecimal compensationPayrollHours;
	/**
	 * 出差批次号
	 */
	@TableField("F_BusBatchNumber")
	private String busBatchNumber;
	/**
	 * 出差小时数
	 */
	@TableField("F_BusHours")
	private BigDecimal busHours;
	/**
	 * 出差天数
	 */
	@TableField("F_BusDays")
	private BigDecimal busDays;
	/**
	 * 外出批次号
	 */
	@TableField("F_OutBatchNumber")
	private String outBatchNumber;
	/**
	 * 外出小时数
	 */
	@TableField("F_OutHours")
	private BigDecimal outHours;
	/**
	 * 外出天数
	 */
	@TableField("F_OutDays")
	private BigDecimal outDays;
	/**
	 * 请假批次号
	 */
	@TableField("F_LeaveBatchNumber")
	private String leaveBatchNumber;
	/**
	 * 请假天数
	 */
	@TableField("F_LeaveDays")
	private BigDecimal leaveDays;
	/**
	 * 请假小时数
	 */
	@TableField("F_LeaveHours")
	private BigDecimal leaveHours;
	/**
	 * 请假计薪小时数
	 */
	@TableField("F_LeavePayrollHours")
	private BigDecimal leavePayrollHours;
	/**
	 * 班次json
	 */
	@TableField("F_ShiftsJson")
	private String shiftsJson;
	/**
	 * 是否借调(0-否  1-是)
	 */
	@TableField("F_SelfGroup")
	private Integer selfGroup;
	/**
	 * 是否排班(0-否  1-是)
	 */
	@TableField("F_IsScheduling")
	private Integer isScheduling;
	/**
	 * 是否需要打卡(0-否  1-是)
	 */
	@TableField("F_IsClocked")
	private Integer isClocked;
	/**
	 * 是否封账(0-未封账 1-已封账)
	 */
	@TableField("F_Seal")
	private Integer seal;
	/**
	 * 人员加入考勤组时间
	 */
	@TableField("F_JoinTime")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
	private Date joinTime;
	/**
	 * 创建时间
	 */
	@TableField("F_CreatorTime")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
	private Date creatorTime;
	/**
	 * 修改时间
	 */
	@TableField("F_LastModifyTime")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
	private Date lastModifyTime;
	/**
	 * 提醒时间
	 */
	@TableField("F_RemindTime")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
	private Date remindTime;
	/**
	 * 自定义假期Json
	 */
	@TableField("F_CustomLeaveJson")
	private String customLeaveJson;
}
