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

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

import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeeplus.common.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.modules.workjobgrade.entity.WorkJobGrade;
import com.jeeplus.modules.workstaff.entity.WorkStaffBasicInfo;

/**
 * 转正申请Entity
 * @author chenyuping
 * @version 2018-07-30
 */
public class WorkRegularApply extends ActEntity<WorkRegularApply> {
	
	private static final long serialVersionUID = 1L;
	private String basicInfoId;		// 人员信息表主键
	private String summary;		// 个人总结
	private String comment;		// 部门评语
	private Office office;		// 所属部门
	private String officeId;
	private String companyId;		// 所属公司
	private Date applyDate;		// 申请日期
	private String processInstanceId;		// 流程实例id
	private String state;		// 申请状态
	private WorkStaffBasicInfo workStaffBasicInfo;
	private Date beginDate;
	private Date endDate;
	private String userName;
	private String home;
	private String score;
	private String userId;
	private String jobName;
	private String pay;
	private String correctOpinion;
	private WorkJobGrade jobGrade;
	private Date correctDate;

	public String getCorrectOpinion() {
		return correctOpinion;
	}

	public void setCorrectOpinion(String correctOpinion) {
		this.correctOpinion = correctOpinion;
	}

	public WorkJobGrade getJobGrade() {
		return jobGrade;
	}

	public void setJobGrade(WorkJobGrade jobGrade) {
		this.jobGrade = jobGrade;
	}

	public Date getCorrectDate() {
		return correctDate;
	}

	public void setCorrectDate(Date correctDate) {
		this.correctDate = correctDate;
	}

	private List<WorkRegularScore> workRegularScoreList;
	public String getJobName() {
		return jobName;
	}

	public void setJobName(String jobName) {
		this.jobName = jobName;
	}

	public String getPay() {
		return pay;
	}

	public void setPay(String pay) {
		this.pay = pay;
	}

	public String getHome() {
		return home;
	}

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

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}


	public List<WorkRegularScore> getWorkRegularScoreList() {
		return workRegularScoreList;
	}

	public void setWorkRegularScoreList(List<WorkRegularScore> workRegularScoreList) {
		this.workRegularScoreList = workRegularScoreList;
	}

	public String getOfficeId() {
		return officeId;
	}

	public void setOfficeId(String officeId) {
		this.officeId = officeId;
	}

	public String getScore() {
		return score;
	}

	public void setScore(String score) {
		this.score = score;
	}

	public Date getBeginDate() {
		return beginDate;
	}

	public void setBeginDate(Date beginDate) {
		this.beginDate = beginDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public WorkStaffBasicInfo getWorkStaffBasicInfo() {
		return workStaffBasicInfo;
	}

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

	public WorkRegularApply() {
		super();
	}

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


	public String getBasicInfoId() {
		return basicInfoId;
	}

	public void setBasicInfoId(String basicInfoId) {
		this.basicInfoId = basicInfoId;
	}
	

	public String getSummary() {
		return summary;
	}

	public void setSummary(String summary) {
		this.summary = summary;
	}
	

	public String getComment() {
		return comment;
	}

	public void setComment(String comment) {
		this.comment = comment;
	}
	
	//@ExcelField(title="所属部门", fieldType=Office.class, value="office.name", align=2, sort=10)
	public Office getOffice() {
		return office;
	}

	public void setOffice(Office office) {
		this.office = office;
	}
	

	public String getCompanyId() {
		return companyId;
	}

	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd ")
	@ExcelField(title="申请日期", align=2, sort=7)
	public Date getApplyDate() {
		return applyDate;
	}

	public void setApplyDate(Date applyDate) {
		this.applyDate = applyDate;
	}
	

	public String getProcessInstanceId() {
		return processInstanceId;
	}

	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = processInstanceId;
	}
	
	@ExcelField(title="申请状态", align=2, sort=8,dictType = "audit_state")
	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}
	private String a;
	private String b;
	private String c;
	private String d;
	private String f;
	private String e;
	@ExcelField(title="工号", align=2, sort=1)
	public String getA() {
		return workStaffBasicInfo.getNo();
	}
	@ExcelField(title="姓名", align=2, sort=2)
	public String getB() {
		return workStaffBasicInfo.getName();
	}
	@ExcelField(title="身份证号码", align=2, sort=3)
	public String getC() {
		return workStaffBasicInfo.getIdCard();
	}
	@ExcelField(title="部门", align=2, sort=4)
	public String getD() {
		return workStaffBasicInfo.getOffice().getName();
	}
	@ExcelField(title="职级", align=2, sort=5)
	public String getF() {
		return workStaffBasicInfo.getJobGrade().getName();
	}
	@ExcelField(title="员工状态", align=2, sort=6)
	public String getE() {
		return workStaffBasicInfo.getStatus();
	}
}