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


import com.jeeplus.common.persistence.ActEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.modules.sys.entity.Workattachment;
import com.jeeplus.modules.workfullmanage.entity.WorkFullManage;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;

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

/**
 * 业主联系单Entity
 * @author fgy
 * @version 2017-11-06
 */
public class WorkFullProprietorsheet extends ActEntity<WorkFullProprietorsheet> {
	
	private static final long serialVersionUID = 1L;
	private String workFullManageId;		// 项目id
	private WorkFullManage workFullManage ; // 项目
	private String processInstanceId;		// 实例流程id
	private Boolean processEnded;            //流程是否走到了结束状态(结束：false，未结束：true)
	private String status;		// 审核状态（0暂存，1审核中，2已通过，3未通过,4已撤销）
	private String companyId;		// 企业id
	private String officeId;
	private String proprietorsheetTopic;		// 业主联系单主题
	private String reportedCompany;		// 上报单位
	private String proprietorsheetNumber;		// 业主联系单编号
	private String projectNumber;		// 项目编号
	private String constructSection;		// 施工标段
	private String costIncreaseDecrease;		// 是否产生费用增减（0否，1是）
	private String proprietorComment;		// 业主处理意见
	private String changeContext;		// 变更原因及主要内容
    private String name ;               //传值，无实义
    private Workattachment workattachment ; //附件
	private List<Workattachment> workAttachments;



    private Task task ;              //任务
    private Map<String,Object> variables ; //
    private ProcessInstance processInstance ;
    private HistoricProcessInstance historicProcessInstance;
    private ProcessDefinition processDefinition;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public WorkFullProprietorsheet() {
		super();
	}

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

	@ExcelField(title="项目id", align=2, sort=1)
	public String getWorkFullManageId() {
		return workFullManageId;
	}

	public void setWorkFullManageId(String workFullManageId) {
		this.workFullManageId = workFullManageId;
	}
	
	@ExcelField(title="实例流程id", align=2, sort=2)
	public String getProcessInstanceId() {
		return processInstanceId;
	}

	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = processInstanceId;
	}
	
	@ExcelField(title="审核状态（0暂存，1审核中，2已通过，3未通过）", align=2, sort=3)
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@ExcelField(title="企业id", align=2, sort=4)
	public String getCompanyId() {
		return companyId;
	}

	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}
	
	@ExcelField(title="业主联系单主题", align=2, sort=5)
	public String getProprietorsheetTopic() {
		return proprietorsheetTopic;
	}

	public void setProprietorsheetTopic(String proprietorsheetTopic) {
		this.proprietorsheetTopic = proprietorsheetTopic;
	}
	
	@ExcelField(title="上报单位", align=2, sort=6)
	public String getReportedCompany() {
		return reportedCompany;
	}

	public void setReportedCompany(String reportedCompany) {
		this.reportedCompany = reportedCompany;
	}
	
	@ExcelField(title="业主联系单编号", align=2, sort=7)
	public String getProprietorsheetNumber() {
		return proprietorsheetNumber;
	}

	public void setProprietorsheetNumber(String proprietorsheetNumber) {
		this.proprietorsheetNumber = proprietorsheetNumber;
	}
	
	@ExcelField(title="项目编号", align=2, sort=8)
	public String getProjectNumber() {
		return projectNumber;
	}

	public void setProjectNumber(String projectNumber) {
		this.projectNumber = projectNumber;
	}
	
	@ExcelField(title="施工标段", align=2, sort=9)
	public String getConstructSection() {
		return constructSection;
	}

	public void setConstructSection(String constructSection) {
		this.constructSection = constructSection;
	}
	
	@ExcelField(title="是否产生费用增减（0否，1是）", dictType="cost_increase_decrease", align=2, sort=10)
	public String getCostIncreaseDecrease() {
		return costIncreaseDecrease;
	}

	public void setCostIncreaseDecrease(String costIncreaseDecrease) {
		this.costIncreaseDecrease = costIncreaseDecrease;
	}
	
	@ExcelField(title="业主处理意见", align=2, sort=11)
	public String getProprietorComment() {
		return proprietorComment;
	}

	public void setProprietorComment(String proprietorComment) {
		this.proprietorComment = proprietorComment;
	}
	
	@ExcelField(title="变更原因及主要内容", align=2, sort=12)
	public String getChangeContext() {
		return changeContext;
	}

	public void setChangeContext(String changeContext) {
		this.changeContext = changeContext;
	}

    public WorkFullManage getWorkFullManage() {
        return workFullManage;
    }

    public void setWorkFullManage(WorkFullManage workFullManage) {
        this.workFullManage = workFullManage;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    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 Workattachment getWorkattachment() {
        return workattachment;
    }

    public void setWorkattachment(Workattachment workattachment) {
        this.workattachment = workattachment;
    }

	public String getOfficeId() {
		return officeId;
	}

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

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

	public void setWorkAttachments(List<Workattachment> workAttachments) {
		this.workAttachments = workAttachments;
	}

	public Boolean getProcessEnded() {
		return processEnded;
	}

	public void setProcessEnded(Boolean processEnded) {
		this.processEnded = processEnded;
	}
}