package com.jpsoft.shinestar.modules.business.entity;

import java.io.Serializable;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.math.BigDecimal;

import com.jpsoft.shinestar.modules.common.utils.TypeNameUtil;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;

/**
  描述:business_year_request_for_leave_info的实体类
 */
@Data
@ApiModel(value = "business_year_request_for_leave_info的实体类")
public class YearRequestForLeaveInfo {
		@ApiModelProperty(value = "uuid")
	private String id;
	
					@ApiModelProperty(value = "开始时间")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
	private Date startTime;
	
				@ApiModelProperty(value = "结束时间")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
	private Date endTime;
	
			@ApiModelProperty(value = "上传照片")
	private String imageUrl;
	
				@ApiModelProperty(value = "请假理由")
	private String reason;
	
				@ApiModelProperty(value = "请假人")
	private Long personId;
	
				@ApiModelProperty(value = "申请人的角色id")
	private String personPopedomId;
	
				@ApiModelProperty(value = "备注")
	private String remark;
	
				@ApiModelProperty(value = "创建人")
	private String createBy;
	
					@ApiModelProperty(value = "创建时间")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
	private Date createTime;
	
			@ApiModelProperty(value = "更新人")
	private String updateBy;
	
					@ApiModelProperty(value = "更新时间")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
	private Date updateTime;
	
			@ApiModelProperty(value = "是否删除")
	private Boolean delFlag;
	
				@ApiModelProperty(value = "审核状态（0：审核中，1：同意，2：退回，3：拒绝，4：无需审核，6：已撤销）")
	private Integer status;

	@ApiModelProperty(value = "审批人ID")
	private Long approvedId;

	@ApiModelProperty(value = "审批意见")
	private String approvalOpinions;
	
				@ApiModelProperty(value = "意见说明")
	private String approvalExplain;
	
					@ApiModelProperty(value = "审批时间")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
	private Date approvedTime;
	
			@ApiModelProperty(value = "开始时间段（0：上午，1：下午）")
	private String startTimeQuantum;
	
				@ApiModelProperty(value = "结束时间段（0：上午，1：下午）")
	private String endTimeQuantum;
	
				@ApiModelProperty(value = "审批人id（包含历史记录）")
	private String approvalPersonIdStr;
	
				@ApiModelProperty(value = "审批状态（包含历史记录）")
	private String approvalStatusStr;
	
				@ApiModelProperty(value = "审核时间（包含历史记录）")
	private String approvalTimeStr;
	
				@ApiModelProperty(value = "审核意见（包含历史记录）")
	private String approvalContentStr;
	
				@ApiModelProperty(value = "审批人身份id")
	private String approvedPersonPopedomId;
	
				@ApiModelProperty(value = "年假天数")
	private String days;
	
				@ApiModelProperty(value = "流程实例编号")
	private String procinstId;

	@ApiModelProperty(value = "请假人头像")
	private String faceImageUrl;

	@ApiModelProperty(value = "姓名")
	private String studentName;

	@ApiModelProperty(value = "身份证号")
	private String idCard;

	@ApiModelProperty(value = "请假类型(名称)")
	private String leaveTypeN;

	@ApiModelProperty(value = "班级编号")
	private String classId;

	@ApiModelProperty(value = "班级名称")
	private String className;

	@ApiModelProperty(value = "姓名")
	private String approvedName;

	public String getStatusN() {
		String text = TypeNameUtil.getExamineTypeName(String.valueOf(status));
		return text;
        /*if (Integer.valueOf(0).equals(status)) {
            return "未处理";
        } else if (Integer.valueOf(1).equals(status)) {
            return "已批准";
        } else if (Integer.valueOf(2).equals(status)) {
            return "已拒绝";
        } else {
            return "";
        }*/
	}

		}