package com.jeeplus.modules.workgooutapply.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.common.collect.Lists;
import com.jeeplus.common.persistence.ActEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
import com.jeeplus.modules.sys.entity.Office;
import com.jeeplus.modules.sys.entity.User;
import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;

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

public class WorkGoOutInfo extends ActEntity<WorkGoOutInfo> {
    private static final long serialVersionUID = 1L;
    public static final String ATTACHMENT_TYPE = "92";
    public static final String SERIAL_BIZCODE = "92";  //编号模板value值
    private Office office;		// 部门ID
    private Office company;		// 公司ID
    private String docType;		// 文档类型
    private String num;		// 申请编号
    private User submiter;		// 申请人
    private Date submitDate;		// 申请日期
    private Integer state;		// 审批状态
    private String processInstanceId;		// 流程ID
    private List<WorkClientAttachment> workAttachments = Lists.newArrayList();
    private Date beginDate;
    private Date endDate;
    private String home;
    private ProjectRecords project;
    private String ext;
    private String car;
    private String carNum;

    public String getCar() {
        return car;
    }

    public void setCar(String car) {
        this.car = car;
    }

    public String getCarNum() {
        return carNum;
    }

    public void setCarNum(String carNum) {
        this.carNum = carNum;
    }

    public String getExt() {
        return ext;
    }

    public void setExt(String ext) {
        this.ext = ext;
    }

    public ProjectRecords getProject() {
        return project;
    }

    public void setProject(ProjectRecords project) {
        this.project = project;
    }

    public WorkGoOutInfo() {
        super();
    }

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

    @ExcelField(title="部门ID", align=2, sort=7)
    public Office getOffice() {
        return office;
    }

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

    @ExcelField(title="公司ID", align=2, sort=8)
    public Office getCompany() {
        return company;
    }

    public void setCompany(Office company) {
        this.company = company;
    }

    @ExcelField(title="文档类型", dictType="", align=2, sort=9)
    public String getDocType() {
        return docType;
    }

    public void setDocType(String docType) {
        this.docType = docType;
    }

    @ExcelField(title="申请编号", align=2, sort=10)
    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public User getSubmiter() {
        return submiter;
    }

    public void setSubmiter(User submiter) {
        this.submiter = submiter;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelField(title="申请日期", align=2, sort=13)
    public Date getSubmitDate() {
        return submitDate;
    }

    public void setSubmitDate(Date submitDate) {
        this.submitDate = submitDate;
    }

    @ExcelField(title="审批状态", align=2, sort=15)
    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    @ExcelField(title="流程ID", align=2, sort=16)
    public String getProcessInstanceId() {
        return processInstanceId;
    }

    public void setProcessInstanceId(String processInstanceId) {
        this.processInstanceId = processInstanceId;
    }

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

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

    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 String getHome() {
        return home;
    }

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

}
