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

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.sop.business.templete.converter.DingSubmitStatusEnumConverter;
import com.qmth.sop.business.templete.converter.LongLocalDateTimeConverter;
import com.qmth.sop.common.enums.DingSubmitStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * <p>
 *
 * </p>
 *
 * @author dhshu
 * @since 2023-08-01
 */
@ApiModel(value = "TBDingSubmitQueryResult对象", description = "考勤打卡统计查询")
@ColumnWidth(value = 30)
@HeadStyle(fillForegroundColor = 11)
@HeadFontStyle(color = 1)
public class TBDingSubmitQueryResult implements Serializable {
    @ApiModelProperty(value = "考勤提交记录id")
    @JsonSerialize(using = ToStringSerializer.class)
    @ExcelIgnore
    private Long id;

    @ApiModelProperty(value = "服务单元")
    @ExcelProperty(value = "服务单元")
    private String service;
    @ApiModelProperty(value = "SOP流水号")
    @ExcelProperty(value = "SOP流水号")
    private String sopNo;
    @ApiModelProperty(value = "客户名称")
    @ExcelProperty(value = "客户名称")
    private String custom;
    @ApiModelProperty(value = "省份")
    @ExcelProperty(value = "省份")
    private String province;
    @ApiModelProperty(value = "城市")
    @ExcelProperty(value = "城市")
    private String city;
    @ApiModelProperty(value = "项目开始时间")
    @ExcelProperty(value = "项目开始时间",converter = LongLocalDateTimeConverter.class)
    private Long examStartTime;
    @ApiModelProperty(value = "项目结束时间")
    @ExcelProperty(value = "项目结束时间",converter = LongLocalDateTimeConverter.class)
    private Long examEndTime;
    @ApiModelProperty(value = "姓名")
    @ExcelProperty(value = "姓名")
    private String userName;
    @ApiModelProperty(value = "人员档案号")
    @ExcelProperty(value = "人员档案号")
    private String userNo;
    @ApiModelProperty(value = "项目角色")
    @ExcelProperty(value = "项目角色")
    private String roleName;
    @ApiModelProperty(value = "供应商")
    @ExcelProperty(value = "供应商")
    private String supplier;
    @ApiModelProperty(value = "实际出勤（天）")
    @ExcelProperty(value = "实际出勤（天）")
    private String attendance;
    @ApiModelProperty(value = "工作日（天）")
    @ExcelProperty(value = "工作日（天）")
    private String weekdays;
    @ApiModelProperty(value = "周末(天)")
    @ExcelProperty(value = "周末(天)")
    private String weekends;
    @ApiModelProperty(value = "法定节假日（天）")
    @ExcelProperty(value = "法定节假日（天）")
    private String holidays;
    @ApiModelProperty(value = "累计工时（小时）")
    @ExcelProperty(value = "累计工时（小时）")
    private String workHours;
    @ApiModelProperty(value = "违规工时（天）")
    @ExcelProperty(value = "违规工时（天）")
    private String violationDays;
    @ApiModelProperty(value = "提交人")
    @ExcelProperty(value = "提交人")
    private String submitter;
    @ApiModelProperty(value = "提交时间")
    @ExcelProperty(value = "提交时间",converter = LongLocalDateTimeConverter.class)
    private Long submissionTime;
    @ApiModelProperty(value = "状态，START：已开始，AUDITING：审核中，REJECT：已驳回，END：已终止，FINISH：已结束")
    @ExcelProperty(value = "提交状态",converter = DingSubmitStatusEnumConverter.class)

    private DingSubmitStatusEnum status;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getService() {
        return service;
    }

    public void setService(String service) {
        this.service = service;
    }

    public String getSopNo() {
        return sopNo;
    }

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

    public String getCustom() {
        return custom;
    }

    public void setCustom(String custom) {
        this.custom = custom;
    }

    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 getExamStartTime() {
        return examStartTime;
    }

    public void setExamStartTime(Long examStartTime) {
        this.examStartTime = examStartTime;
    }

    public Long getExamEndTime() {
        return examEndTime;
    }

    public void setExamEndTime(Long examEndTime) {
        this.examEndTime = examEndTime;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserNo() {
        return userNo;
    }

    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }

    public String getRoleName() {
        return roleName;
    }

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

    public String getSupplier() {
        return supplier;
    }

    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }

    public String getAttendance() {
        return attendance;
    }

    public void setAttendance(String attendance) {
        this.attendance = attendance;
    }

    public String getWeekdays() {
        return weekdays;
    }

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

    public String getWeekends() {
        return weekends;
    }

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

    public String getHolidays() {
        return holidays;
    }

    public void setHolidays(String holidays) {
        this.holidays = holidays;
    }

    public String getWorkHours() {
        return workHours;
    }

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

    public String getViolationDays() {
        return violationDays;
    }

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

    public String getSubmitter() {
        return submitter;
    }

    public void setSubmitter(String submitter) {
        this.submitter = submitter;
    }

    public Long getSubmissionTime() {
        return submissionTime;
    }

    public void setSubmissionTime(Long submissionTime) {
        this.submissionTime = submissionTime;
    }

    public DingSubmitStatusEnum getStatus() {
        return status;
    }

    public void setStatus(DingSubmitStatusEnum status) {
        this.status = status;
    }
}
