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

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

import com.fasterxml.jackson.annotation.JsonFormat;

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.Office;
import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
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 lw
 * @version 2018-06-29
 */
public class WorkReceiptsRevise extends ActEntity<WorkReceiptsRevise> {
	public static final String SERIAL_BIZCODE = "5";

	private static final long serialVersionUID = 1L;
	private String officeName;		// 调整部门
	private String officeNum;		// 调整编号
	private Date reviseDate;		// 调整日期
	private String userName;		// 调整人
	private String reviseType;		// 调整类型
	private WorkContractInfo workContractInfo;		// 调出合同
	private Office inreviseOffice;		// 调入部门
	private String reviseMoney;		// 调整金额
	private String processInstanceId;		// 流程号
	private String officeId;		// 部门ID
	private String companyId;		// 公司ID
	private String status;		// 审核状态
	private String home;       //跳转首页标记
	private Date beginContractDate;		// 开始 调整日期
	private Date endContractDate;		// 结束 调整日期
	private Office office;           //调整部门
	private String invalidStatus;   //作废申请状态
	private String invalidProcessInstanceId;    //作废流程号
	// 流程任务
	private Task task;
	private Map<String, Object> variables;
	// 运行中的流程实例
	private ProcessInstance processInstance;
	// 历史的流程实例
	private HistoricProcessInstance historicProcessInstance;
	// 流程定义
	private ProcessDefinition processDefinition;
	public WorkReceiptsRevise() {
		super();
	}

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

	@ExcelField(title="调整部门", align=2, sort=7)
	public String getOfficeName() {
		return officeName;
	}

	public void setOfficeName(String officeName) {
		this.officeName = officeName;
	}
	
	@ExcelField(title="调整编号", align=2, sort=8)
	public String getOfficeNum() {
		return officeNum;
	}

	public String getHome() {
		return home;
	}

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

	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 Office getOffice() {
		return office;
	}

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

	public ProcessDefinition getProcessDefinition() {
		return processDefinition;
	}

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

	public void setOfficeNum(String officeNum) {
		this.officeNum = officeNum;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="调整日期", align=2, sort=9)
	public Date getReviseDate() {
		return reviseDate;
	}

	public void setReviseDate(Date reviseDate) {
		this.reviseDate = reviseDate;
	}

	public String getInvalidStatus() {
		return invalidStatus;
	}

	public void setInvalidStatus(String invalidStatus) {
		this.invalidStatus = invalidStatus;
	}

	public String getInvalidProcessInstanceId() {
		return invalidProcessInstanceId;
	}

	public void setInvalidProcessInstanceId(String invalidProcessInstanceId) {
		this.invalidProcessInstanceId = invalidProcessInstanceId;
	}

	@ExcelField(title="调整人", align=2, sort=10)
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}
	
	@ExcelField(title="调整类型", align=2, sort=11)
	public String getReviseType() {
		return reviseType;
	}

	public void setReviseType(String reviseType) {
		this.reviseType = reviseType;
	}
	
	@ExcelField(title="调出合同", align=2, sort=12)
	public WorkContractInfo getWorkContractInfo() {
		return workContractInfo;
	}

	public void setWorkContractInfo(WorkContractInfo workContractInfo) {
		this.workContractInfo = workContractInfo;
	}
	
	@ExcelField(title="调入部门", align=2, sort=13)
	public Office getInreviseOffice() {
		return inreviseOffice;
	}

	public Date getBeginContractDate() {
		return beginContractDate;
	}

	public void setBeginContractDate(Date beginContractDate) {
		this.beginContractDate = beginContractDate;
	}

	public Date getEndContractDate() {
		return endContractDate;
	}

	public void setEndContractDate(Date endContractDate) {
		this.endContractDate = endContractDate;
	}

	public void setInreviseOffice(Office inreviseOffice) {
		this.inreviseOffice = inreviseOffice;
	}
	
	@ExcelField(title="调整金额", align=2, sort=14)
	public String getReviseMoney() {
		return reviseMoney;
	}

	public void setReviseMoney(String reviseMoney) {
		this.reviseMoney = reviseMoney;
	}
	
	@ExcelField(title="流程号", align=2, sort=15)
	public String getProcessInstanceId() {
		return processInstanceId;
	}

	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = processInstanceId;
	}
	
	@ExcelField(title="部门ID", align=2, sort=16)
	public String getOfficeId() {
		return officeId;
	}

	public void setOfficeId(String officeId) {
		this.officeId = officeId;
	}
	
	@ExcelField(title="公司ID", align=2, sort=17)
	public String getCompanyId() {
		return companyId;
	}

	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}
	
	@ExcelField(title="审核状态", align=2, sort=18)
	public String getStatus() {
		return status;
	}

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