/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.workattendance.entity;

import com.jeeplus.modules.sys.entity.Office;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.modules.sys.entity.User;

import com.jeeplus.common.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

/**
 * 考勤统计Entity
 * @author 杨帆
 * @version 2018-09-14
 */
public class WorkAttendanceCount extends DataEntity<WorkAttendanceCount> {
	
	private static final long serialVersionUID = 1L;
	private String companyId;		// 公司
	private Office office;		// 部门id
	private Integer officeCount;		// 部门人数
	private Integer attendanceCount;		// 考勤人数
	private String attendanceMonth;		// 考勤月份
	private Date attendanceEndDate;		// 考勤截止日期
	private Date attendanceDate;		// 考勤确认日期
	private User user;		// 考勤确认人
	private String status;  //确认状态
	private String branchOffice;
	private String home;
	private List<WorkAttendanceMonth> workAttendanceMonths;
	
	public WorkAttendanceCount() {
		super();
	}

	public WorkAttendanceCount(String id){
		super(id);
	}

	@ExcelField(title="公司", align=2, sort=1)
	public String getCompanyId() {
		return companyId;
	}

	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}
	
	@ExcelField(title="部门id", fieldType=Office.class, value="office.name", align=2, sort=2)
	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}
	
	@ExcelField(title="部门人数", align=2, sort=9)
	public Integer getOfficeCount() {
		return officeCount;
	}

	public void setOfficeCount(Integer officeCount) {
		this.officeCount = officeCount;
	}
	
	@ExcelField(title="考勤人数", align=2, sort=10)
	public Integer getAttendanceCount() {
		return attendanceCount;
	}

	public void setAttendanceCount(Integer attendanceCount) {
		this.attendanceCount = attendanceCount;
	}
	
	@ExcelField(title="考勤月份", align=2, sort=11)
	public String getAttendanceMonth() {
		return attendanceMonth;
	}

	public void setAttendanceMonth(String attendanceMonth) {
		this.attendanceMonth = attendanceMonth;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="考勤截止日期", align=2, sort=12)
	public Date getAttendanceEndDate() {
		return attendanceEndDate;
	}

	public void setAttendanceEndDate(Date attendanceEndDate) {
		this.attendanceEndDate = attendanceEndDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="考勤确认日期", align=2, sort=13)
	public Date getAttendanceDate() {
		return attendanceDate;
	}

	public void setAttendanceDate(Date attendanceDate) {
		this.attendanceDate = attendanceDate;
	}
	
	@ExcelField(title="考勤确认人", fieldType=User.class, value="user.name", align=2, sort=14)
	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public String getStatus() {
		return status;
	}

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

	public String getBranchOffice() {
		return branchOffice;
	}

	public void setBranchOffice(String branchOffice) {
		this.branchOffice = branchOffice;
	}

	public List<WorkAttendanceMonth> getWorkAttendanceMonths() {
		return workAttendanceMonths;
	}

	public void setWorkAttendanceMonths(List<WorkAttendanceMonth> workAttendanceMonths) {
		this.workAttendanceMonths = workAttendanceMonths;
	}

	public String getHome() {
		return home;
	}

	public void setHome(String home) {
		this.home = home;
	}
}