package com.qmth.sop.business.bean.result;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.sop.common.enums.DingSubmitStatusEnum;
import com.qmth.sop.common.enums.RoleTypeEnum;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 考勤提交查询结果
 * @Author: CaoZixuan
 * @Date: 2023-08-25
 */
public class DingSubmitResult {
    @ApiModelProperty(value = "服务单元id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long serviceUnitId;

    @ApiModelProperty(value = "服务单元")
    private String serviceUnitName;

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

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

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

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

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

    @ApiModelProperty(value = "进场时间")
    private Long approachTime;

    @ApiModelProperty(value = "撤场时间")
    private Long departureTime;

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

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

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

    @ApiModelProperty(value = "姓名")
    private String archivesName;

    @ApiModelProperty(value = "姓名（人员档案号）")
    private String archivesInfo;

    @ApiModelProperty(value = "项目角色")
    private RoleTypeEnum roleType;

    @ApiModelProperty("供应商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 Double workHours;

    @ApiModelProperty(value = "违规工时（天）")
    private Double violationDays;

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

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

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

    @ApiModelProperty(value = "考勤提交id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long submitId;

    @ApiModelProperty(value = "提交状态")
    private DingSubmitStatusEnum submitStatus;

    @ApiModelProperty(value = "提交人id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long submitUserId;

    @ApiModelProperty(value = "提交人")
    private String submitUserName;

    @ApiModelProperty(value = "提交时间")
    private Long submitTime;

    @ApiModelProperty(value = "业务线负责人id(数据权限用)")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long serviceUnitLeaderId;

    @ApiModelProperty(value = "大区经理id(数据权限用)")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long regionManagerId;

    @ApiModelProperty(value = "区域协调人id(数据权限用)")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long coordinatorId;

    public Long getServiceUnitId() {
        return serviceUnitId;
    }

    public void setServiceUnitId(Long serviceUnitId) {
        this.serviceUnitId = serviceUnitId;
    }

    public String getServiceUnitName() {
        return serviceUnitName;
    }

    public void setServiceUnitName(String serviceUnitName) {
        this.serviceUnitName = serviceUnitName;
    }

    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 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 getApproachTime() {
        return approachTime;
    }

    public void setApproachTime(Long approachTime) {
        this.approachTime = approachTime;
    }

    public Long getDepartureTime() {
        return departureTime;
    }

    public void setDepartureTime(Long departureTime) {
        this.departureTime = departureTime;
    }

    public Long getArchivesId() {
        return archivesId;
    }

    public void setArchivesId(Long archivesId) {
        this.archivesId = archivesId;
    }

    public String getArchivesCode() {
        return archivesCode;
    }

    public void setArchivesCode(String archivesCode) {
        this.archivesCode = archivesCode;
    }

    public String getArchivesName() {
        return archivesName;
    }

    public void setArchivesName(String archivesName) {
        this.archivesName = archivesName;
    }

    public String getArchivesInfo() {
        return archivesInfo;
    }

    public void setArchivesInfo(String archivesInfo) {
        this.archivesInfo = archivesInfo;
    }

    public RoleTypeEnum getRoleType() {
        return roleType;
    }

    public void setRoleType(RoleTypeEnum roleType) {
        this.roleType = roleType;
    }

    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 Double getWorkHours() {
        return workHours;
    }

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

    public Double getViolationDays() {
        return violationDays;
    }

    public void setViolationDays(Double 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;
    }

    public Long getSubmitId() {
        return submitId;
    }

    public void setSubmitId(Long submitId) {
        this.submitId = submitId;
    }

    public DingSubmitStatusEnum getSubmitStatus() {
        return submitStatus;
    }

    public void setSubmitStatus(DingSubmitStatusEnum submitStatus) {
        this.submitStatus = submitStatus;
    }

    public Long getSubmitUserId() {
        return submitUserId;
    }

    public void setSubmitUserId(Long submitUserId) {
        this.submitUserId = submitUserId;
    }

    public String getSubmitUserName() {
        return submitUserName;
    }

    public void setSubmitUserName(String submitUserName) {
        this.submitUserName = submitUserName;
    }

    public Long getSubmitTime() {
        return submitTime;
    }

    public void setSubmitTime(Long submitTime) {
        this.submitTime = submitTime;
    }

    public Long getServiceUnitLeaderId() {
        return serviceUnitLeaderId;
    }

    public void setServiceUnitLeaderId(Long serviceUnitLeaderId) {
        this.serviceUnitLeaderId = serviceUnitLeaderId;
    }

    public Long getRegionManagerId() {
        return regionManagerId;
    }

    public void setRegionManagerId(Long regionManagerId) {
        this.regionManagerId = regionManagerId;
    }

    public Long getCoordinatorId() {
        return coordinatorId;
    }

    public void setCoordinatorId(Long coordinatorId) {
        this.coordinatorId = coordinatorId;
    }

    public Long getUserId() {
        return userId;
    }

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