package com.qmth.sop.business.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.sop.common.enums.DingDateTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 考勤特殊日期 模型.
 * 
 * @author: shudonghui
 * @date: 2023-08-10 13:52:06
 * @version: 1.0
 * @email: shudonghui@qmth.com.cn
 * @Company: www.qmth.com.cn
 */
@ApiModel(value = "sys_ding_date对象", description = "考勤特殊日期")
public class SysDingDate implements Serializable {

	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "主键")
	@TableId(value = "id")
	private Long id;

	private static final long serialVersionUID = 1L;
  	@ApiModelProperty(value = "年")
	@JsonSerialize(using = ToStringSerializer.class)
	@NotNull(message = "年不能为空")
  	private Long year;
  	@ApiModelProperty(value = "月")
	@JsonSerialize(using = ToStringSerializer.class)
	@NotNull(message = "月不能为空")
  	private Long month;
  	@ApiModelProperty(value = "日")
	@JsonSerialize(using = ToStringSerializer.class)
	@NotNull(message = "日不能为空")
  	private Long day;
	@ApiModelProperty(value = "日期类型：WEEKDAY(工作日),WEEKEND(周末),LEGAL_HOLIDAYS(法定节假日)")
	@NotNull(message = "日期类型不能为空")
	private DingDateTypeEnum type;

	/**
	 * 年
	 */	
  	public void setYear(Long year) {
		this.year = year;
  	}
 	/**
	 * 年
	 */	 	
  	public Long getYear() {
		return year;
  	}
	/**
	 * 月
	 */	
  	public void setMonth(Long month) {
		this.month = month;
  	}
 	/**
	 * 月
	 */	 	
  	public Long getMonth() {
		return month;
  	}
	/**
	 * 日
	 */	
  	public void setDay(Long day) {
		this.day = day;
  	}
 	/**
	 * 日
	 */	 	
  	public Long getDay() {
		return day;
  	}
	/**
	 * 日期类型：WEEKDAY("工作日"),WEEKEND("周末"),LEGAL_HOLIDAYS("法定节假日");

	 */	
  	public void setType(DingDateTypeEnum type) {
		this.type = type;
  	}
 	/**
	 * 日期类型：WEEKDAY("工作日"),WEEKEND("周末"),LEGAL_HOLIDAYS("法定节假日");

	 */	 	
  	public DingDateTypeEnum getType() {
		return type;
  	}

	public Long getId() {
		return id;
	}

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