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

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

import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotNull;

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.Office;
import com.jeeplus.modules.sys.entity.User;
import com.jeeplus.modules.sys.entity.Workattachment;
import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
import com.jeeplus.modules.workdailyroutine.entity.WorkDailyRoutineDetail;

/**
 * 收文管理Entity
 * @author ssrh
 * @version 2018-07-10
 */
public class WorkIncomingMessage extends ActEntity<WorkIncomingMessage> {
	
	private static final long serialVersionUID = 1L;
	public static final String ATTACHMENT_TYPE = "100";
    public static final String SERIAL_BIZCODE = "11";
    private String title;		// 来文标题
	private String num;		// 收文编号
	private String wordSize;		// 来文字号
	private Date incomeDate;		// 来文日期
	private String incomePart;		// 来文单位
	private String counts;		// 份数
	private String opinion;		// 领导批示
	private String handler;		// 处理人
	private String handlerName;		// 处理人
	private Date beginIncomeDate;		// 开始 来文日期
	private Date endIncomeDate;		// 结束 来文日期
    private List<WorkClientAttachment> workAttachments = Lists.newArrayList();
    private String processInstanceId;
    private Integer state;
    private String home;
    private String leaderNameStr;
	private List<User> handlerList = Lists.newArrayList();
	private Office office;
	private Office company;
	private String dailyId;
    private List<WorkDailyRoutineDetail> detailList;
    private boolean dailyFlag=true;

    public List<WorkDailyRoutineDetail> getDetailList() {
        return detailList;
    }

    public void setDetailList(List<WorkDailyRoutineDetail> detailList) {
        this.detailList = detailList;
    }

    public WorkIncomingMessage() {
		super();
	}

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

	@ExcelField(title="来文标题", align=2, sort=7)
	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}
	
	@ExcelField(title="收文编号", align=2, sort=8)
	public String getNum() {
		return num;
	}

	public void setNum(String num) {
		this.num = num;
	}
	
	@ExcelField(title="来文字号", align=2, sort=9)
	public String getWordSize() {
		return wordSize;
	}

	public void setWordSize(String wordSize) {
		this.wordSize = wordSize;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="来文日期不能为空")
	@ExcelField(title="来文日期", align=2, sort=10)
	public Date getIncomeDate() {
		return incomeDate;
	}

	public void setIncomeDate(Date incomeDate) {
		this.incomeDate = incomeDate;
	}
	
	@ExcelField(title="来文单位", align=2, sort=11)
	public String getIncomePart() {
		return incomePart;
	}

	public void setIncomePart(String incomePart) {
		this.incomePart = incomePart;
	}
	
	@ExcelField(title="份数", align=2, sort=12)
	public String getCounts() {
		return counts;
	}

	public void setCounts(String counts) {
		this.counts = counts;
	}
	
	@ExcelField(title="领导批示", align=2, sort=13)
	public String getOpinion() {
		return opinion;
	}

	public void setOpinion(String opinion) {
		this.opinion = opinion;
	}
	
	@ExcelField(title="处理人", align=2, sort=14)
	public String getHandler() {
		return handler;
	}

	public void setHandler(String handler) {
		this.handler = handler;
	}
	
	public Date getBeginIncomeDate() {
		return beginIncomeDate;
	}

	public void setBeginIncomeDate(Date beginIncomeDate) {
		this.beginIncomeDate = beginIncomeDate;
	}
	
	public Date getEndIncomeDate() {
		return endIncomeDate;
	}

	public void setEndIncomeDate(Date endIncomeDate) {
		this.endIncomeDate = endIncomeDate;
	}

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

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

    public String getProcessInstanceId() {
        return processInstanceId;
    }

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

    public Integer getState() {
        return state;
    }

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

    public String getHome() {
        return home;
    }

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

    public String getLeaderNameStr() {
        return leaderNameStr;
    }

    public void setLeaderNameStr(String leaderNameStr) {
        this.leaderNameStr = leaderNameStr;
    }

    public List<User> getHandlerList() {
        return handlerList;
    }

    public void setHandlerList(List<User> handlerList) {
        this.handlerList = handlerList;
    }

    public Office getOffice() {
        return office;
    }

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

    public Office getCompany() {
        return company;
    }

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

    public String getDailyId() {
        return dailyId;
    }

    public void setDailyId(String dailyId) {
        this.dailyId = dailyId;
    }

    public String getHandlerName() {
        return handlerName;
    }

    public void setHandlerName(String handlerName) {
        this.handlerName = handlerName;
    }

    public void setDailyFlag(boolean dailyFlag) {
        this.dailyFlag = dailyFlag;
    }

    public boolean isDailyFlag() {
        return dailyFlag;
    }
}