package org.springblade.attence.rule.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springblade.attence.record.entity.Record;
import org.springblade.attence.ruletime.entity.RuleTime;

import java.time.LocalTime;
import java.util.List;

@Data
public class WxAppDataVo {

	/**
	 * 是否完成打卡
	 */
	private Boolean isDone;
	/**
	 * 是否需要位置打卡
	 */
	private Boolean needLocation;

	/**
	 * 是否在指定位置范围内打卡
	 */
	private Boolean isInPunchLocation;

	/**
	 * 是否需要wifi打卡
	 */
	private Boolean needWifi;

	/**
	 * 是否在指定WiFi考勤区域内
	 */
	private Boolean isInPunchWifi;

	/**
	 * 当天是否是工作日
	 */
	private Boolean isWork;

	/**
	 * 是通过哪个时间规则查询出来的
	 * 有两种，一个是正常工作日id
	 * 一个是特殊工作日的id
	 */
	private Long ruleTimeId;

	/**
	 * ruleTimeId是属于哪个时间规则查询出来的
	 * 是通过正常工作日查询【1】
	 * 还是通过特殊工作日查询【0】
	 */
	private Integer ruleTimeType;

	/**
	 * 当天的上班时间
	 */
	@JsonFormat(pattern = "HH:mm")
	private LocalTime workTime;

	/**
	 * 当天的下班时间
	 */
	@JsonFormat(pattern = "HH:mm")
	private LocalTime offWorkTime;

	/**
	 * 上班打卡记录
	 */
	private List<Record> workPunchRecords;

	/**
	 * 下班打卡记录
	 */
	private List<Record> offWorkPunchRecords;

	/**
	 * 打卡状态
	 * 0:上班打卡
	 * 1:下班打卡
	 */
	private Integer workStatus;

	/**
	 * 正常日期的时间规则
	 */
	private RuleTime ruleTime;

}
