package com.goafanti.order.bo;

import com.goafanti.common.enums.OfficialPatentType;
import com.goafanti.common.utils.excel.Excel;
import com.goafanti.common.utils.excel.Excel.ColumnType;
import com.goafanti.core.shiro.token.TokenManager;

import java.math.BigDecimal;
import java.util.List;

public class TOrderTaskListBo {
	@Excel(name = "项目编号")
	private Integer id;
	@Excel(name = "项目名称")
	private String taskName;
	@Excel(name="合同编号")
	private String contractNo;
	@Excel(name="订单编号")
	private String orderNo;
	@Excel(name = "客户名称")
	private String userName;
	@Excel(name = "订单部门")
	private String depName;
	@Excel(name = "订单负责人")
	private String salesmanName;
	@Excel(name = "项目类别")
	private String cname;
	@Excel(name = "是否外包",readConverterExp = "0=否，1=是")
	private Integer outsource;
	@Excel(name = "项目负责人")
	private String receiverName;
	@Excel(name = "项目价格（万元）",scale  =6)
	private BigDecimal commodityPrice;
	@Excel(name = "分配时间")
	private String taskDate;
	@Excel(name = "数量（个）")
	private Integer commodityQuantity;
	@Excel(name = "任务状态",enumsName = "com.goafanti.order.enums.TaskState")
	private Integer taskStatus;
	@Excel(name = "项目状态",enumsName = "com.goafanti.order.enums.NewProjectStatus")
	private Integer projectStatus;
	@Excel(name = "工时",cellType = ColumnType.NUMERIC)
	private Double hours;
	@Excel(name = "完成时间")
	private String taskEndTime;
	@Excel(name = "签单日期")
	private String signTime;
	@Excel(name = "派单日期")
	private String creteTime;
	private Integer alreadyNumber;
	@Excel(name = "特批",readConverterExp = "0=非特批，1=特批待审核，2=特批通过，3=特批驳回，4=董事长特批待审核，5=董事长特批通过，6董事长特批驳回")
	private Integer approval;
	@Excel(name="特批类型")
	private String type;
	private String typeExplain;
	/** 外包部门 */
	private String outsourceName;
	private Integer outsourceStatus;
	private Integer outsourceType;
	private Integer splitStatus;
	private String	splitSuper;
	private Integer splitId;
	private Integer projectType;
	private String splitTimes;
	private String splitAname;
	private String taskReceiver;
	private List<TOrderTaskListBo> splitList;
	//判断是不是自己的单 0 是 1否
	//private Integer distributeSign;
	@Excel(name = "成本(万元)",scale = 6)
	private BigDecimal costAmount;
	@Excel(name = "已付(万元)",scale = 6)
	private BigDecimal partyAmount;
	@Excel(name = "专利分类",readConverterExp = "0=申请，1=变更，2=复审，3=优先权，4=恢复请求权，5=无效宣告请求费，6=强制许可请求费，7=强制许可使用裁决请求费，8=登录、印刷费、印花税")
	private Integer patentType;

	/**
	 * 服务年限
	 */
	private String serviceLife;

	/**
	 * 本次年份
	 */
	private String serviceYear;

	/**
	 * 服务年限计数
	 */
	private Integer yearSum;

	/**
	 * 合同期限
	 */
	private String contractTerm;

	private String taskComment;

	private String pictureUrl;

	private Integer processStatus;

	private Integer memberType;
	private Integer scoreStatus;
	private Integer  scoreNumber;

	private String receiverMobile;
	/**
	 * 项目负责人
	 */
	private String projectMemberName;

	private Integer htMember;
	private Integer additionalDeduction;
	private Integer rdAwardsubsidy;
	private Integer memberProjectType;
	/**
	 * 科技项目等级 0=简易项目，1=市区级，2=省级，3=国家级
	 */
	private Integer technologyProjectType;
	/**
	 * 申请类型 0=普通申请，1=风险代理
	 */
	private Integer ordinaryRisk;
	/**
	 * 天数 0=普通，1=加急
	 */
	private Integer	days;
	/**
	 * 方案 0=无，1=有
	 */
	private Integer	scheme;
	private Integer	cSort;

	public Integer getcSort() {
		return cSort;
	}

	public void setcSort(Integer cSort) {
		this.cSort = cSort;
	}

	public Integer getTechnologyProjectType() {
		return technologyProjectType;
	}

	public void setTechnologyProjectType(Integer technologyProjectType) {
		this.technologyProjectType = technologyProjectType;
	}

	public Integer getOrdinaryRisk() {
		return ordinaryRisk;
	}

	public void setOrdinaryRisk(Integer ordinaryRisk) {
		this.ordinaryRisk = ordinaryRisk;
	}

	public Integer getDays() {
		return days;
	}

	public void setDays(Integer days) {
		this.days = days;
	}

	public Integer getScheme() {
		return scheme;
	}

	public void setScheme(Integer scheme) {
		this.scheme = scheme;
	}

	public Integer getMemberProjectType() {
		return memberProjectType;
	}

	public void setMemberProjectType(Integer memberProjectType) {
		this.memberProjectType = memberProjectType;
	}

	public Integer getHtMember() {
		return htMember;
	}

	public void setHtMember(Integer htMember) {
		this.htMember = htMember;
	}

	public Integer getAdditionalDeduction() {
		return additionalDeduction;
	}

	public void setAdditionalDeduction(Integer additionalDeduction) {
		this.additionalDeduction = additionalDeduction;
	}

	public Integer getRdAwardsubsidy() {
		return rdAwardsubsidy;
	}

	public void setRdAwardsubsidy(Integer rdAwardsubsidy) {
		this.rdAwardsubsidy = rdAwardsubsidy;
	}

	public String getProjectMemberName() {
		return projectMemberName;
	}

	public void setProjectMemberName(String projectMemberName) {
		this.projectMemberName = projectMemberName;
	}

	public Integer getScoreStatus() {
		return scoreStatus;
	}

	public void setScoreStatus(Integer scoreStatus) {
		this.scoreStatus = scoreStatus;
	}

	public Integer getScoreNumber() {
		return scoreNumber;
	}

	public void setScoreNumber(Integer scoreNumber) {
		this.scoreNumber = scoreNumber;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getTypeExplain() {
		return typeExplain;
	}

	public void setTypeExplain(String typeExplain) {
		this.typeExplain = typeExplain;
	}

	public String getReceiverMobile() {
		return receiverMobile;
	}

	public void setReceiverMobile(String receiverMobile) {
		this.receiverMobile = receiverMobile;
	}

	public Integer getMemberType() {
		return memberType;
	}

	public void setMemberType(Integer memberType) {
		this.memberType = memberType;
	}

	public String getPictureUrl() {
		return pictureUrl;
	}

	public void setPictureUrl(String pictureUrl) {
		this.pictureUrl = pictureUrl;
	}

	public Integer getProcessStatus() {
		return processStatus;
	}

	public void setProcessStatus(Integer processStatus) {
		this.processStatus = processStatus;
	}

	public String getTaskComment() {
		return taskComment;
	}

	public void setTaskComment(String taskComment) {
		this.taskComment = taskComment;
	}

	public String getServiceLife() {
		return serviceLife;
	}

	public void setServiceLife(String serviceLife) {
		this.serviceLife = serviceLife;
	}

	public String getServiceYear() {
		return serviceYear;
	}

	public void setServiceYear(String serviceYear) {
		this.serviceYear = serviceYear;
	}

	public Integer getYearSum() {
		return yearSum;
	}

	public void setYearSum(Integer yearSum) {
		this.yearSum = yearSum;
	}

	public String getContractTerm() {
		return contractTerm;
	}

	public void setContractTerm(String contractTerm) {
		this.contractTerm = contractTerm;
	}

	public Integer getPatentType() {
		return patentType;
	}

	public String getPatentTypeName() {
		if (patentType!=null) return OfficialPatentType.getValueByCode(this.patentType);
		return "";
	}

	public void setPatentType(Integer patentType) {
		this.patentType = patentType;
	}

	public String getSplitSuper() {
		return splitSuper;
	}
	public void setSplitSuper(String splitSuper) {
		this.splitSuper = splitSuper;
	}
	public String getSplitTimes() {
		return splitTimes;
	}
	public void setSplitTimes(String splitTimes) {
		this.splitTimes = splitTimes;
	}
	public String getSplitAname() {
		return splitAname;
	}
	public void setSplitAname(String splitAname) {
		this.splitAname = splitAname;
	}
	public String getContractNo() {
		return contractNo;
	}
	public void setContractNo(String contractNo) {
		this.contractNo = contractNo;
	}
	public String getCreteTime() {
		return creteTime;
	}
	public void setCreteTime(String creteTime) {
		this.creteTime = creteTime;
	}
	public String getSignTime() {
		return signTime;
	}
	public void setSignTime(String signTime) {
		this.signTime = signTime;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getTaskName() {
		return taskName;
	}
	public void setTaskName(String taskName) {
		this.taskName = taskName;
	}
	public String getOrderNo() {
		return orderNo;
	}
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
	public String getCname() {
		return cname;
	}
	public void setCname(String cname) {
		this.cname = cname;
	}
	public String getReceiverName() {
		return receiverName;
	}
	public void setReceiverName(String receiverName) {
		this.receiverName = receiverName;
	}
	public Integer getProjectStatus() {
		return projectStatus;
	}
	public void setProjectStatus(Integer projectStatus) {
		this.projectStatus = projectStatus;
	}
	public Integer getTaskStatus() {
		return taskStatus;
	}
	public void setTaskStatus(Integer taskStatus) {
		this.taskStatus = taskStatus;
	}
	public String getTaskDate() {
		return taskDate;
	}
	public void setTaskDate(String taskDate) {
		this.taskDate = taskDate;
	}
	public Integer getCommodityQuantity() {
		return commodityQuantity;
	}
	public void setCommodityQuantity(Integer commodityQuantity) {
		this.commodityQuantity = commodityQuantity;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public Double getHours() {
		return hours;
	}
	public void setHours(Double hours) {
		this.hours = hours;
		if(this.hours==null)this.hours=Double.parseDouble("0");
	}
	public String getDepName() {
		return depName;
	}
	public void setDepName(String depName) {
		this.depName = depName;
	}
	public Integer getAlreadyNumber() {
		return alreadyNumber;
	}
	public void setAlreadyNumber(Integer alreadyNumber) {
		this.alreadyNumber = alreadyNumber;
	}
	public String getOutsourceName() {
		return outsourceName;
	}
	public void setOutsourceName(String outsourceName) {
		this.outsourceName = outsourceName;
	}

	public String getTaskEndTime() {
		return taskEndTime;
	}
	public void setTaskEndTime(String taskEndTime) {
		this.taskEndTime = taskEndTime;
	}
	public BigDecimal getCommodityPrice() {
		return commodityPrice;
	}
	public void setCommodityPrice(BigDecimal commodityPrice) {
		this.commodityPrice = commodityPrice;
	}
	public String getSalesmanName() {
		return salesmanName;
	}
	public void setSalesmanName(String salesmanName) {
		this.salesmanName = salesmanName;
	}
	public Integer getApproval() {
		return approval;
	}
	public void setApproval(Integer approval) {
		this.approval = approval;
	}
	public Integer getOutsource() {
		return outsource;
	}
	public void setOutsource(Integer outsource) {
		this.outsource = outsource;
	}
	public Integer getOutsourceStatus() {
		return outsourceStatus;
	}
	public void setOutsourceStatus(Integer outsourceStatus) {
		this.outsourceStatus = outsourceStatus;
	}
	public Integer getSplitStatus() {
		return splitStatus;
	}
	public void setSplitStatus(Integer splitStatus) {
		this.splitStatus = splitStatus;
	}
	public List<TOrderTaskListBo> getSplitList() {
		return splitList;
	}
	public void setSplitList(List<TOrderTaskListBo> splitList) {
		this.splitList = splitList;
	}
	public Integer getDistributeSign() {
		if (TokenManager.getAdminId().equals(getTaskReceiver())) {
			return 0;
		}
		return 1;
	}
	public String getTaskReceiver() {
		return taskReceiver;
	}
	public void setTaskReceiver(String taskReceiver) {
		this.taskReceiver = taskReceiver;
	}
	public Integer getSplitId() {
		return splitId;
	}
	public void setSplitId(Integer splitId) {
		this.splitId = splitId;
	}
	public Integer getProjectType() {
		return projectType;
	}
	public void setProjectType(Integer projectType) {
		this.projectType = projectType;
	}
	public BigDecimal getCostAmount() {
		return costAmount;
	}
	public void setCostAmount(BigDecimal costAmount) {
		this.costAmount = costAmount;
	}
	public BigDecimal getPartyAmount() {
		return partyAmount;
	}
	public void setPartyAmount(BigDecimal partyAmount) {
		this.partyAmount = partyAmount;
	}
	public Integer getOutsourceType() {
		return outsourceType;
	}
	public void setOutsourceType(Integer outsourceType) {
		this.outsourceType = outsourceType;
	}


}
