package com.qmth.sop.business.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.sop.common.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;

/**
 * <p>
 * 考勤提交统计表
 * </p>
 *
 * @author CaoZixuan
 * @since 2024-05-22
 */
@ApiModel(value="TBDingStatistic对象", description="考勤提交统计表")
public class TBDingStatistic extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "服务单元id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long serviceId;

    @ApiModelProperty(value = "服务单元名称")
    private String serviceName;

    @ApiModelProperty(value = "sop单号")
    private String sopNo;

    @ApiModelProperty(value = "crm单号")
    private String crmNo;

    @ApiModelProperty(value = "客户id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long customId;

    @ApiModelProperty(value = "客户名称")
    private String customName;

    @ApiModelProperty(value = "省份")
    private String province;

    @ApiModelProperty(value = "城市")
    private String city;

    @ApiModelProperty(value = "用户id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    @ApiModelProperty(value = "人员档案id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userArchivesId;

    @ApiModelProperty(value = "人员档案名称")
    private String userArchivesName;

    @ApiModelProperty(value = "人员档案编号")
    private String userArchivesCode;

    @ApiModelProperty(value = "扫描开始时间")
    private Long scanStartTime;

    @ApiModelProperty(value = "扫描结束时间")
    private Long scanEndTime;

    @ApiModelProperty(value = "阅卷开始时间")
    private Long markPaperStartTime;

    @ApiModelProperty(value = "阅卷开始时间")
    private Long markPaperEndTime;

    @ApiModelProperty(value = "打卡时该用户在sop的身份集合")
    private String roleName;

    @ApiModelProperty(value = "供应商id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "实际出勤（天）")
    private Integer actualDays;

    @ApiModelProperty(value = "工作日（天）")
    private Integer weekdays;

    @ApiModelProperty(value = "周末（天）")
    private Integer weekends;

    @ApiModelProperty(value = "法定节假日（天）")
    private Integer legalHolidays;

    @ApiModelProperty(value = "累计工时（小时）")
    private BigDecimal workHours;

    @ApiModelProperty(value = "违规天数（天）")
    private Integer violationDays;

    @ApiModelProperty(value = "考勤异常数")
    private Integer dingExceptionCount;

    @ApiModelProperty(value = "剩余补卡次数")
    private Integer remainCount;

    @ApiModelProperty(value = "待处理异常数")
    private Integer exceptionCount;

    public Long getServiceId() {
        return serviceId;
    }

    public void setServiceId(Long serviceId) {
        this.serviceId = serviceId;
    }

    public String getServiceName() {
        return serviceName;
    }

    public void setServiceName(String serviceName) {
        this.serviceName = serviceName;
    }

    public String getSopNo() {
        return sopNo;
    }

    public void setSopNo(String sopNo) {
        this.sopNo = sopNo;
    }

    public String getCrmNo() {
        return crmNo;
    }

    public void setCrmNo(String crmNo) {
        this.crmNo = crmNo;
    }

    public Long getCustomId() {
        return customId;
    }

    public void setCustomId(Long customId) {
        this.customId = customId;
    }

    public String getCustomName() {
        return customName;
    }

    public void setCustomName(String customName) {
        this.customName = customName;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserArchivesId() {
        return userArchivesId;
    }

    public void setUserArchivesId(Long userArchivesId) {
        this.userArchivesId = userArchivesId;
    }

    public String getUserArchivesName() {
        return userArchivesName;
    }

    public void setUserArchivesName(String userArchivesName) {
        this.userArchivesName = userArchivesName;
    }

    public String getUserArchivesCode() {
        return userArchivesCode;
    }

    public void setUserArchivesCode(String userArchivesCode) {
        this.userArchivesCode = userArchivesCode;
    }

    public Long getScanStartTime() {
        return scanStartTime;
    }

    public void setScanStartTime(Long scanStartTime) {
        this.scanStartTime = scanStartTime;
    }

    public Long getScanEndTime() {
        return scanEndTime;
    }

    public void setScanEndTime(Long scanEndTime) {
        this.scanEndTime = scanEndTime;
    }

    public Long getMarkPaperStartTime() {
        return markPaperStartTime;
    }

    public void setMarkPaperStartTime(Long markPaperStartTime) {
        this.markPaperStartTime = markPaperStartTime;
    }

    public Long getMarkPaperEndTime() {
        return markPaperEndTime;
    }

    public void setMarkPaperEndTime(Long markPaperEndTime) {
        this.markPaperEndTime = markPaperEndTime;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public Integer getActualDays() {
        return actualDays;
    }

    public void setActualDays(Integer actualDays) {
        this.actualDays = actualDays;
    }

    public Integer getWeekdays() {
        return weekdays;
    }

    public void setWeekdays(Integer weekdays) {
        this.weekdays = weekdays;
    }

    public Integer getWeekends() {
        return weekends;
    }

    public void setWeekends(Integer weekends) {
        this.weekends = weekends;
    }

    public Integer getLegalHolidays() {
        return legalHolidays;
    }

    public void setLegalHolidays(Integer legalHolidays) {
        this.legalHolidays = legalHolidays;
    }

    public BigDecimal getWorkHours() {
        return workHours;
    }

    public void setWorkHours(BigDecimal workHours) {
        this.workHours = workHours;
    }

    public Integer getViolationDays() {
        return violationDays;
    }

    public void setViolationDays(Integer violationDays) {
        this.violationDays = violationDays;
    }

    public Integer getDingExceptionCount() {
        return dingExceptionCount;
    }

    public void setDingExceptionCount(Integer dingExceptionCount) {
        this.dingExceptionCount = dingExceptionCount;
    }

    public Integer getRemainCount() {
        return remainCount;
    }

    public void setRemainCount(Integer remainCount) {
        this.remainCount = remainCount;
    }

    public Integer getExceptionCount() {
        return exceptionCount;
    }

    public void setExceptionCount(Integer exceptionCount) {
        this.exceptionCount = exceptionCount;
    }
}
