/**
 * 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 com.jeeplus.common.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.modules.workstaff.entity.WorkStaffBasicInfo;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 考勤月统计Entity
 * @author 杨帆
 * @version 2018-09-10
 */
public class WorkAttendanceMonth extends DataEntity<WorkAttendanceMonth> {
	
	private static final long serialVersionUID = 1L;
	private String companyId;		// 公司
	private Office office;		// 部门id
	private String staffId;		// 员工档案id
	private String isAttendance;		// 是否考勤
	private BigDecimal answerAttendanceDay;		// 应出勤天数
	private BigDecimal realAttendanceDay;		// 实出勤天数
	private BigDecimal internalDuty;		// 内勤
	private BigDecimal fieldPersonnel;		// 外勤
	private BigDecimal goOut;		// 出差
	private BigDecimal overTime;		// 加班
	private BigDecimal miner;		// 旷工
	private BigDecimal late;		// 迟到
	private BigDecimal early;		// 早退
	private BigDecimal leave;		// 请假
	private Date entryDate;  //入职日期
	private Date dimissionDate; //离职日期
	private String branchOffice; //分公司
	private String attendanceMonth; //分公司
	private WorkStaffBasicInfo workStaffBasicInfo;

	public WorkAttendanceMonth() {
		super();
	}

	public WorkAttendanceMonth(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="员工档案id", align=2, sort=9)
	public String getStaffId() {
		return staffId;
	}

	public void setStaffId(String staffId) {
		this.staffId = staffId;
	}
	
	@ExcelField(title="是否考勤", align=2, sort=10)
	public String getIsAttendance() {
		return isAttendance;
	}

	public void setIsAttendance(String isAttendance) {
		this.isAttendance = isAttendance;
	}
	
	@ExcelField(title="应出勤天数", align=2, sort=11)
	public BigDecimal getAnswerAttendanceDay() {
		return answerAttendanceDay;
	}

	public void setAnswerAttendanceDay(BigDecimal answerAttendanceDay) {
		this.answerAttendanceDay = answerAttendanceDay;
	}
	
	@ExcelField(title="实出勤天数", align=2, sort=12)
	public BigDecimal getRealAttendanceDay() {
		return realAttendanceDay;
	}

	public void setRealAttendanceDay(BigDecimal realAttendanceDay) {
		this.realAttendanceDay = realAttendanceDay;
	}
	
	@ExcelField(title="内勤", align=2, sort=13)
	public BigDecimal getInternalDuty() {
		return internalDuty;
	}

	public void setInternalDuty(BigDecimal internalDuty) {
		this.internalDuty = internalDuty;
	}
	
	@ExcelField(title="外勤", align=2, sort=14)
	public BigDecimal getFieldPersonnel() {
		return fieldPersonnel;
	}

	public void setFieldPersonnel(BigDecimal fieldPersonnel) {
		this.fieldPersonnel = fieldPersonnel;
	}
	
	@ExcelField(title="出差", align=2, sort=15)
	public BigDecimal getGoOut() {
		return goOut;
	}

	public void setGoOut(BigDecimal goOut) {
		this.goOut = goOut;
	}
	
	@ExcelField(title="加班", align=2, sort=16)
	public BigDecimal getOverTime() {
		return overTime;
	}

	public void setOverTime(BigDecimal overTime) {
		this.overTime = overTime;
	}
	
	@ExcelField(title="旷工", align=2, sort=17)
	public BigDecimal getMiner() {
		return miner;
	}

	public void setMiner(BigDecimal miner) {
		this.miner = miner;
	}
	
	@ExcelField(title="迟到", align=2, sort=18)
	public BigDecimal getLate() {
		return late;
	}

	public void setLate(BigDecimal late) {
		this.late = late;
	}
	
	@ExcelField(title="早退", align=2, sort=19)
	public BigDecimal getEarly() {
		return early;
	}

	public void setEarly(BigDecimal early) {
		this.early = early;
	}
	
	@ExcelField(title="请假", align=2, sort=20)
	public BigDecimal getLeave() {
		return leave;
	}

	public void setLeave(BigDecimal leave) {
		this.leave = leave;
	}

	public Date getEntryDate() {
		return entryDate;
	}

	public void setEntryDate(Date entryDate) {
		this.entryDate = entryDate;
	}

	public Date getDimissionDate() {
		return dimissionDate;
	}

	public void setDimissionDate(Date dimissionDate) {
		this.dimissionDate = dimissionDate;
	}

	public String getBranchOffice() {
		return branchOffice;
	}

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

	public String getAttendanceMonth() {
		return attendanceMonth;
	}

	public void setAttendanceMonth(String attendanceMonth) {
		this.attendanceMonth = attendanceMonth;
	}

	public WorkStaffBasicInfo getWorkStaffBasicInfo() {
		return workStaffBasicInfo;
	}

	public void setWorkStaffBasicInfo(WorkStaffBasicInfo workStaffBasicInfo) {
		this.workStaffBasicInfo = workStaffBasicInfo;
	}
}