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


import com.google.common.collect.Lists;
import com.jeeplus.common.persistence.ActEntity;
import com.jeeplus.common.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.modules.sys.entity.User;
import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
/**
 * 绩效自评Entity
 * @author liuw
 * @version 2018-01-17
 */
public class OaPerformance extends ActEntity<OaPerformance> {
	
	private static final long serialVersionUID = 1L;
	private String status;		// 申请状态
	private String companyId;		// 公司
	private String officeId;		// 部门
	private String processInstanceId;		// 流程id
	private String lastWork;		// 上月工作任务
	private String finishWork;		// 实际完成任务
	private String finishRate;		// 任务达成率
	private String lastPerformance;		// 上月工作自评
	private String nowWork;		// 本月工作任务
	private String nowPlan;		// 本月工作计划
	private String home;		// 本月工作计划
/*=================================================================================*/
	private String comment; //审核意见 目前只保存手机端审核
	private String ids;
	private String CCId;
	private List<String> adds = Lists.newArrayList();
	private List<WorkClientAttachment> workAttachments = Lists.newArrayList();
	private Date createDateStart;//搜索条件
	private Date createDateEnd;
	// 流程任务
	private Task task;
	private Map<String, Object> variables;
	// 运行中的流程实例
	private ProcessInstance processInstance;
	// 历史的流程实例
	private HistoricProcessInstance historicProcessInstance;
	// 流程定义
	private ProcessDefinition processDefinition;

	public String getIds() {
		return ids;
	}

	public void setIds(String ids) {
		this.ids = ids;
	}

	public String getCCId() {
		return CCId;
	}

	public void setCCId(String CCId) {
		this.CCId = CCId;
	}

	public List<String> getAdds() {
		return adds;
	}

	public void setAdds(List<String> adds) {
		this.adds = adds;
	}

	public String getComment() {
		return comment;
	}

	public void setComment(String comment) {
		this.comment = comment;
	}

	public List<WorkClientAttachment> getWorkAttachments() {
		return workAttachments;
	}

	public void setWorkAttachments(List<WorkClientAttachment> workAttachments) {
		this.workAttachments = workAttachments;
	}
	public User getUser() {
		return createBy;
	}

	public void setUser(User user) {
		this.createBy = user;
	}
	public Date getCreateDateStart() {
		return createDateStart;
	}

	public void setCreateDateStart(Date createDateStart) {
		this.createDateStart = createDateStart;
	}

	public Date getCreateDateEnd() {
		return createDateEnd;
	}

	public void setCreateDateEnd(Date createDateEnd) {
		this.createDateEnd = createDateEnd;
	}

	public Task getTask() {
		return task;
	}

	public void setTask(Task task) {
		this.task = task;
	}

	public Map<String, Object> getVariables() {
		return variables;
	}

	public void setVariables(Map<String, Object> variables) {
		this.variables = variables;
	}

	public ProcessInstance getProcessInstance() {
		return processInstance;
	}

	public void setProcessInstance(ProcessInstance processInstance) {
		this.processInstance = processInstance;
	}

	public HistoricProcessInstance getHistoricProcessInstance() {
		return historicProcessInstance;
	}

	public void setHistoricProcessInstance(HistoricProcessInstance historicProcessInstance) {
		this.historicProcessInstance = historicProcessInstance;
	}

	public ProcessDefinition getProcessDefinition() {
		return processDefinition;
	}

	public void setProcessDefinition(ProcessDefinition processDefinition) {
		this.processDefinition = processDefinition;
	}

	public OaPerformance() {
		super();
	}

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

	@ExcelField(title="申请状态", align=2, sort=7)
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@ExcelField(title="公司", align=2, sort=8)
	public String getCompanyId() {
		return companyId;
	}

	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}
	
	@ExcelField(title="部门", align=2, sort=9)
	public String getOfficeId() {
		return officeId;
	}

	public void setOfficeId(String officeId) {
		this.officeId = officeId;
	}
	
	@ExcelField(title="流程id", align=2, sort=10)
	public String getProcessInstanceId() {
		return processInstanceId;
	}

	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = processInstanceId;
	}
	
	@ExcelField(title="上月工作任务", align=2, sort=11)
	public String getLastWork() {
		return lastWork;
	}

	public void setLastWork(String lastWork) {
		this.lastWork = lastWork;
	}
	
	@ExcelField(title="实际完成任务", align=2, sort=12)
	public String getFinishWork() {
		return finishWork;
	}

	public void setFinishWork(String finishWork) {
		this.finishWork = finishWork;
	}
	
	@ExcelField(title="任务达成率", align=2, sort=13)
	public String getFinishRate() {
		return finishRate;
	}

	public void setFinishRate(String finishRate) {
		this.finishRate = finishRate;
	}
	
	@ExcelField(title="上月工作自评", align=2, sort=14)
	public String getLastPerformance() {
		return lastPerformance;
	}

	public void setLastPerformance(String lastPerformance) {
		this.lastPerformance = lastPerformance;
	}
	
	@ExcelField(title="本月工作任务", align=2, sort=15)
	public String getNowWork() {
		return nowWork;
	}

	public void setNowWork(String nowWork) {
		this.nowWork = nowWork;
	}
	
	@ExcelField(title="本月工作计划", align=2, sort=16)
	public String getNowPlan() {
		return nowPlan;
	}

	public void setNowPlan(String nowPlan) {
		this.nowPlan = nowPlan;
	}

	public String getHome() {
		return home;
	}

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