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.common.enums.DingResultEnum;
import com.qmth.sop.common.enums.InOutTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * <p>
 *
 * </p>
 *
 * @author dhshu
 * @since 2023-08-01
 */
@ApiModel(value = "TBDingAttendanceResult对象", description = "考勤打卡统计查询")
@ColumnWidth(value = 30)
@HeadStyle(fillForegroundColor = 11)
@HeadFontStyle(color = 1)
public class TBDingAttendanceResult implements Serializable {


    @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 = "姓名")
    private String userName;
    @ApiModelProperty(value = "项目角色")
    @ExcelProperty(value = "项目角色")
    private String roleName;
    @ApiModelProperty(value = "供应商")
    @ExcelProperty(value = "供应商")
    private String supplier;

    @ApiModelProperty(value = "考勤日期")
    @ExcelProperty(value = "考勤日期")
    private String signDate;

    @ApiModelProperty(value = "考勤类型")
    @ExcelProperty(value = "考勤类型")
    private InOutTypeEnum type;

    @ApiModelProperty(value = "打卡时间")
    @ExcelProperty(value = "打卡时间")
    private Long signTime;

    @ApiModelProperty(value = "打卡地址")
    @ExcelProperty(value = "打卡地址")
    private String address;

    @ApiModelProperty(value = "考勤结果")
    @ExcelProperty(value = "考勤结果")
    private DingResultEnum status;

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

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

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

    @ApiModelProperty(value = "打卡地址X轴")
    @ExcelIgnore
    private String axisX;

    @ApiModelProperty(value = "打卡地址Y轴")
    @ExcelIgnore
    private String axisY;

    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 String getUserName() {
        return userName;
    }

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

    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 getSignDate() {
        return signDate;
    }

    public void setSignDate(String signDate) {
        this.signDate = signDate;
    }

    public InOutTypeEnum getType() {
        return type;
    }

    public void setType(InOutTypeEnum type) {
        this.type = type;
    }

    public Long getSignTime() {
        return signTime;
    }

    public void setSignTime(Long signTime) {
        this.signTime = signTime;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public DingResultEnum getStatus() {
        return status;
    }

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

    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 String getAxisX() {
        return axisX;
    }

    public void setAxisX(String axisX) {
        this.axisX = axisX;
    }

    public String getAxisY() {
        return axisY;
    }

    public void setAxisY(String axisY) {
        this.axisY = axisY;
    }
}
