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

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

import com.fasterxml.jackson.annotation.JsonFormat;

import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.core.persistence.DataEntity;

/**
 * 项目信息Entity
 * @author qiuyue
 * @version 2019-09-04
 * 导出execl暂未使用
 * 使用中的导出规范-OutInformation
 */
public class Information extends DataEntity<Information>  {

	//项目定义号
	private String projectId;
//	项目名称
	private String projectName;
//	项目类型
	private String projectType;
//	电压等级
	private String projectGrade;
//	项目预算年度
	private String projectYear;
//	项目总投资（元）
	private String projectTotal;
//	实际开工日期
	private Date projectStart;
//	实际竣工日期
	private Date projectStop;
//	施工单位
	private String department;
//	结算审计单位名称
	private String projectFirm;
//	提交送审日期
	private Date subDate;
//	审计任务下达日期
	private Date releaseDate;
//	审计应结束日时间
	private Date endDate;
//	结果上传时间
	private Date resultDate;
//	审定日期
	private Date approvalDate;
//	二级单位
	private String secondUnits;
//	一级单位
	private String firstUnits;
	//是否完成甲供物资领退料（第1次）
	private String firstFinish;
	//完成甲供物资领退料的日期（第1次)
	private Date firstFinishDate;
	//是否完成甲供物资领退料（第2次）
	private String secondFinish;
	//完成甲供物资领退料的日期（第2次）
	private Date secondFinishDate;
	//是否超期
	private String overdue;
	//是否决算送审
	private String trial;
	//施工单位
	private String construction;
	//工作状态（是否关闭）
	private String outConstruction;
	//结算单位
	private String settlement;
	//是否完成甲供物资领退料
	private String complete;
	//完成甲供物资领退料时间
	private String finishDate;
	//未完成甲供物资领退料时间
	private String noFinishDate;
	//归口部门
	private String underCentralized;
	//记录查询项目定义号数组
	private String[] attrs;
	//记录导入文件查询条件
	private  List<Information> fileList;
	//记录超期查询状态（>=,>,=,<,<=）
	private String extendedStatus;
	//记录查询超期时间
	private String extendedTime;
	//工作状态
	private String appendStatus;
	//结算审定施工费金额（含税价）
	private Double settlementPrice;
	//建议结算款
	private String suggestedAmount;

	public String getAppendStatus() {
		return appendStatus;
	}

	public void setAppendStatus(String appendStatus) {
		this.appendStatus = appendStatus;
	}

	public String getExtendedStatus() {
		return extendedStatus;
	}

	public void setExtendedStatus(String extendedStatus) {
		this.extendedStatus = extendedStatus;
	}

	public String getExtendedTime() {
		return extendedTime;
	}

	public void setExtendedTime(String extendedTime) {
		this.extendedTime = extendedTime;
	}


	public String getHiddenSign() {
		return hiddenSign;
	}

	public void setHiddenSign(String hiddenSign) {
		this.hiddenSign = hiddenSign;
	}

	private String hiddenSign;

	public String[] getAttrs() {
		return attrs;
	}

	public void setAttrs(String[] attrs) {
		this.attrs = attrs;
	}

	public List<Information> getFileList() {
		return fileList;
	}

	public void setFileList(List<Information> fileList) {
		this.fileList = fileList;
	}

	public String getComplete() {
		return complete;
	}

	public void setComplete(String complete) {
		this.complete = complete;
	}

	public String getNoFinishDate() {
		return noFinishDate;
	}

	public void setNoFinishDate(String noFinishDate) {
		this.noFinishDate = noFinishDate;
	}

	public String getUnderCentralized() {
		return underCentralized;
	}

	public void setUnderCentralized(String underCentralized) {
		this.underCentralized = underCentralized;
	}

	public Information(){
		super();
	}

	@ExcelField(title="项目定义号", align=2, sort=1)
	public String getProjectId() {
		return projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	@ExcelField(title="项目名称", align=2, sort=2)
	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	@ExcelField(title="施工单位", align=2, sort=9)
	public String getDepartment() {
		return department;
	}

	public void setDepartment(String department) {
		this.department = department;
	}

	@ExcelField(title="审定日期", align=2, sort=15)
	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getApprovalDate() {
		return approvalDate;
	}

	@JsonFormat(pattern = "yyyy-MM-dd")
	public void setApprovalDate(Date approvalDate) {
		this.approvalDate = approvalDate;
	}

	@ExcelField(title="二级单位", align=2, sort=16)
	public String getSecondUnits() {
		return secondUnits;
	}

	public void setSecondUnits(String secondUnits) {
		this.secondUnits = secondUnits;
	}

	@ExcelField(title="一级单位", align=2, sort=17)
	public String getFirstUnits() {
		return firstUnits;
	}

	public void setFirstUnits(String firstUnits) {
		this.firstUnits = firstUnits;
	}

	@ExcelField(title="项目类型", align=2, sort=3)
	public String getProjectType() {
		return projectType;
	}

	public void setProjectType(String projectType) {
		this.projectType = projectType;
	}

	@ExcelField(title="电压等级", align=2, sort=4)
	public String getProjectGrade() {
		return projectGrade;
	}

	public void setProjectGrade(String projectGrade) {
		this.projectGrade = projectGrade;
	}

	@ExcelField(title="项目预算年度", align=2, sort=5)
	public String getProjectYear() {
		return projectYear;
	}

	public void setProjectYear(String projectYear) {
		this.projectYear = projectYear;
	}

	@ExcelField(title="项目总投资（元）", align=2, sort=6)
	public String getProjectTotal() {
		return projectTotal;
	}

	public void setProjectTotal(String projectTotal) {
		this.projectTotal = projectTotal;
	}

	@ExcelField(title="实际开工日期", align=2, sort=7)
	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getProjectStart() {
		return projectStart;
	}

	@JsonFormat(pattern = "yyyy-MM-dd")
	public void setProjectStart(Date projectStart) {
		this.projectStart = projectStart;
	}

	@ExcelField(title="实际竣工日期", align=2, sort=8)
	@JsonFormat(pattern = "yyyy-MM-dd")

	public Date getProjectStop() {
		return projectStop;
	}
	@JsonFormat(pattern = "yyyy-MM-dd")
	public void setProjectStop(Date projectStop) {
		this.projectStop = projectStop;
	}

	@ExcelField(title="结算审计单位名称", align=2, sort=10)
	public String getProjectFirm() {
		return projectFirm;
	}

	public void setProjectFirm(String projectFirm) {
		this.projectFirm = projectFirm;
	}

	@ExcelField(title="提交送审日期", align=2, sort=11)
	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getSubDate() {
		return subDate;
	}


	@JsonFormat(pattern = "yyyy-MM-dd")
	public void setSubDate(Date subDate) {
		this.subDate = subDate;
	}

	@ExcelField(title="审计任务下达日期", align=2, sort=12)
	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getReleaseDate() {
		return releaseDate;
	}
	@JsonFormat(pattern = "yyyy-MM-dd")
	public void setReleaseDate(Date releaseDate) {
		this.releaseDate = releaseDate;
	}

	@ExcelField(title="审计应结束日时间", align=2, sort=13)
	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getEndDate() {
		return endDate;
	}
	@JsonFormat(pattern = "yyyy-MM-dd")
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	@ExcelField(title="结果上传时间", align=2, sort=14)
	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getResultDate() {
		return resultDate;
	}
	@JsonFormat(pattern = "yyyy-MM-dd")
	public void setResultDate(Date resultDate) {
		this.resultDate = resultDate;
	}

	@ExcelField(title="是否完成甲供物资领退料（第1次）", align=2, sort=18)
	public String getFirstFinish() {
		return firstFinish;
	}

	public void setFirstFinish(String firstFinish) {
		this.firstFinish = firstFinish;
	}

	@ExcelField(title="完成甲供物资领退料的日期（第1次)", align=2, sort=19)
	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getFirstFinishDate() {
		return firstFinishDate;
	}
	@JsonFormat(pattern = "yyyy-MM-dd")
	public void setFirstFinishDate(Date firstFinishDate) {
		this.firstFinishDate = firstFinishDate;
	}

	@ExcelField(title="是否完成甲供物资领退料（第2次）", align=2, sort=20)
	public String getSecondFinish() {
		return secondFinish;
	}

	public void setSecondFinish(String secondFinish) {
		this.secondFinish = secondFinish;
	}

	@ExcelField(title="完成甲供物资领退料的日期（第2次）", align=2, sort=21)
	@JsonFormat(pattern = "yyyy-MM-dd")
	public Date getSecondFinishDate() {
		return secondFinishDate;
	}
	@JsonFormat(pattern = "yyyy-MM-dd")
	public void setSecondFinishDate(Date secondFinishDate) {
		this.secondFinishDate = secondFinishDate;
	}

	@ExcelField(title="完成甲供物资领退料的时间", align=2, sort=22)
	public String getFinishDate() {
		return finishDate;
	}

	public void setFinishDate(String finishDate) {
		this.finishDate = finishDate;
	}

	@ExcelField(title="是否超期", align=2, sort=23)
	public String getOverdue() {
		return overdue;
	}

	public void setOverdue(String overdue) {
		this.overdue = overdue;
	}

	@ExcelField(title="是否决算送审", align=2, sort=24)
	public String getTrial() {
		return trial;
	}

	public void setTrial(String trial) {
		this.trial = trial;
	}

	@ExcelField(title="施工单位", align=2, sort=25)
	public String getConstruction() {
		return construction;
	}

	public void setConstruction(String construction) {
		this.construction = construction;
	}

	@ExcelField(title="工作状态（是否关闭）", align=2, sort=26)
	public String getOutConstruction() {
		return outConstruction;
	}

	public void setOutConstruction(String outConstruction) {
		this.outConstruction = outConstruction;
	}

	@ExcelField(title="结算单位", align=2, sort=27)
	public String getSettlement() {
		return settlement;
	}

	public void setSettlement(String settlement) {
		this.settlement = settlement;
	}

	public Double getSettlementPrice() {
		return settlementPrice;
	}

	public void setSettlementPrice(Double settlementPrice) {
		this.settlementPrice = settlementPrice;
	}

	public String getSuggestedAmount() {
		return suggestedAmount;
	}

	public void setSuggestedAmount(String suggestedAmount) {
		this.suggestedAmount = suggestedAmount;
	}

	@Override
	public String toString() {
		return "Information{" +
				"projectId='" + projectId + '\'' +
				", projectName='" + projectName + '\'' +
				", projectType='" + projectType + '\'' +
				", projectGrade='" + projectGrade + '\'' +
				", projectYear='" + projectYear + '\'' +
				", projectTotal='" + projectTotal + '\'' +
				", projectStart=" + projectStart +
				", projectStop=" + projectStop +
				", department='" + department + '\'' +
				", projectFirm='" + projectFirm + '\'' +
				", subDate=" + subDate +
				", releaseDate=" + releaseDate +
				", endDate=" + endDate +
				", resultDate=" + resultDate +
				", approvalDate=" + approvalDate +
				", secondUnits='" + secondUnits + '\'' +
				", firstUnits='" + firstUnits + '\'' +
				", firstFinish='" + firstFinish + '\'' +
				", firstFinishDate=" + firstFinishDate +
				", secondFinish='" + secondFinish + '\'' +
				", secondFinishDate=" + secondFinishDate +
				", overdue='" + overdue + '\'' +
				", trial='" + trial + '\'' +
				", construction='" + construction + '\'' +
				", outConstruction='" + outConstruction + '\'' +
				", settlement='" + settlement + '\'' +
				", complete='" + complete + '\'' +
				", finishDate='" + finishDate + '\'' +
				", noFinishDate='" + noFinishDate + '\'' +
				", underCentralized='" + underCentralized + '\'' +
				", attrs=" + Arrays.toString(attrs) +
				", fileList=" + fileList +
				", extendedStatus='" + extendedStatus + '\'' +
				", extendedTime='" + extendedTime + '\'' +
				", appendStatus='" + appendStatus + '\'' +
				", hiddenSign='" + hiddenSign + '\'' +
				'}';
	}
}