package com.jpsoft.shinestar.modules.business.entity;

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

import com.jpsoft.shinestar.modules.base.entity.WorkOverPerson;
import org.springframework.data.annotation.Transient;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;

/**
 * 描述:business_work_schedule_attendance的实体类
 */
@Data
@ApiModel(value = "business_work_schedule_attendance的实体类")
public class WorkScheduleAttendance {
    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * 人员排班编号
     */
    @ApiModelProperty(value = "人员排班编号")
    private String personScheduleId;
    /**
     * 班次编号
     */
    @ApiModelProperty(value = "班次编号")
    private String workShiftId;
    /**
     * 考勤日期
     */
    @ApiModelProperty(value = "考勤日期")
    private String attendanceDate;
    /**
     * 类别(上班-1，下班-2)
     */
    @ApiModelProperty(value = "类别(上班-1，下班-2)")
    private String classify;
    /**
     * 人员编号
     */
    @ApiModelProperty(value = "人员编号")
    private Long personId;
    /**
     * 0-缺卡，1-正常，2-迟到，3-早退
     */
    @ApiModelProperty(value = "0-缺卡，1-正常，2-迟到，3-早退")
    private String result;
    /**
     * 温度
     */
    @ApiModelProperty(value = "温度")
    private BigDecimal temperature;
    /**
     * 记录时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty(value = "记录时间")
    private Date recordTime;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**
     * 更新时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**
     * 是否删除
     */
    @ApiModelProperty(value = "是否删除")
    private Boolean delFlag;
    /**
     * 工作状态
     */
    @ApiModelProperty(value = "工作状态(1-工作，2-外出，3-出差，4-休假，5-年假)")
    private String workStatus;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 班次编号
     */
    @ApiModelProperty(value = "班次编号")
    private String workShiftNumber;

    @ApiModelProperty(value = "补卡对应人员id")
    private String supplementWorkPersonId;

    @ApiModelProperty(value = "迟到,早退时长(分钟)")
    private BigDecimal lateLeaveMinute;

    @ApiModelProperty(value = "班次的天数系数")
    private BigDecimal coefficientDays;

    @ApiModelProperty(value = "加班人员表主键")
    private String workOverPersonId;

    @ApiModelProperty(value = "与考勤时间相差分钟")
    private BigDecimal offsetMinute;

    @ApiModelProperty(value = "上班时长(分钟)")
    private BigDecimal workMinute;

    @Transient
    private WorkOverPerson workOverPerson;

}