package com.persagy.calendar.pojo.vo;

import java.util.Set;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

import com.persagy.calendar.constant.WorkCalendarConstant;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * @version 
 * @description 
 * @company persagy
 * @author zhangqiankun
 * @since 2020年10月2日:	下午7:00:31
 */
@Getter
@Setter
@ToString
public class WorkCalendarRuleUpdateVO {
	
	@NotBlank(message = "规则ID不可为空")
	//@ApiModelProperty(value = "规则ID", required = true)
	private String id;
	
	@NotBlank(message = "工作历ID不可为空")
	//@ApiModelProperty(value = "工作历ID", required = true)
	private String calendarId; 	// 工作历ID
	
	@NotBlank(message = "dictType不可为空")
	//@ApiModelProperty(value = "字典类型", required = true)
	private String dictType; 	// 字典类型

	@NotBlank(message = "dictCode不可为空")
	//@ApiModelProperty(value = "字典数据code", required = true)
	private String dictCode; 	// 字典数据code

	@NotBlank(message = "ruleDateStart不可为空")
	//@ApiModelProperty(value = "开始日期[YYYYMMDD]", required = true)
	@Pattern(regexp = WorkCalendarConstant.DATE_REG_YYYYMMDD, message = "时间格式必须是YYYYMMDD")
	private String ruleDateStart; // 规则生效的开始日期YYYYMMDD

	@NotBlank(message = "ruleDateEnd不可为空")
	//@ApiModelProperty(value = "结束日期[YYYYMMDD]", required = true)
	@Pattern(regexp = WorkCalendarConstant.DATE_REG_YYYYMMDD, message = "时间格式必须是YYYYMMDD")
	private String ruleDateEnd; // 规则生效的结束日期YYYYMMDD

	//@ApiModelProperty(value = "规则生效时间点[HHMMSS]")
	@Pattern(regexp = WorkCalendarConstant.DATE_REG_HHMMSS, message = "时间格式必须是HHMMSS")
	private String ruleTime; 	// HHMMSS

	//@ApiModelProperty(value = "规则生效时间")
	private Set<String> value; 	// 非严格开始结束日期的类型下，结合dictCode填写此值，后台不解析，实时解析查询
	
	//@ApiModelProperty(hidden = true)
	private String ruleFlag = WorkCalendarConstant.WORK_CALENDAR_RULE_FLAG_NEW; // 0-解析规则；1-不解析规则，方便后续解析
	
}
