package com.goafanti.order.bo;

import java.math.BigDecimal;

import com.goafanti.common.utils.excel.Excel;
import com.goafanti.order.enums.NewOrderDunType;
import com.goafanti.order.enums.OrderDunSubject;

import javax.naming.Name;

public class outOrderDunListBo {
	private String id;
	@Excel(name = "合同编号")
	private String contractNo;
	@Excel(name = "订单编号")
	private String orderNo;
	@Excel(name = "客户名称")
	private String userName;
	@Excel(name = "订单负责人")
	private String salesmanName;
	@Excel(name = "订单部门")
	private String depName;
	@Excel(name = "订单状态",readConverterExp = "0=待签单，1=签单待审，2=签单审核通过，3=签单审核拒绝，4=已结项")
	private Integer orderStatus;
	@Excel(name = "项目名称")
	private String commodityName;
	@Excel(name = "项目状态", enumsName = "com.goafanti.order.enums.NewProjectStatus")
	private Integer projectStatus;
	@Excel(name = "签单金额")
	private BigDecimal totalAmount;
	@Excel(name = "已收款")
	private BigDecimal settlementAmount;
	@Excel(name = "未收款")
	private BigDecimal uncollectedAmount;
	@Excel(name = "拨款比例")
	private BigDecimal appropriationRatio;
	@Excel(name = "结算状态",readConverterExp = "0=首付待付清，1=尾款待付清，2=已付清，3=退款待确认，4=全部退款")
	private Integer liquidationStatus;
	@Excel(name = "催收科目")
	private String dunSubject;
	private Integer projectType;
	private Integer dunType;
	@Excel(name = "应收款")
	private BigDecimal accountsReceivable;
	@Excel(name = "催款状态" ,readConverterExp = "0=未启动，1=已启动")
	private Integer dunStatus;
	@Excel(name = "启动日期")
	private String startDate;
	@Excel(name = "签单日期")
	private String signDate;



	private BigDecimal setUpAmount;
	private String customizeName;
	private String customizeTimes;
	@Excel(name = "特批状态")
	private Integer approval;
	@Excel(name = "订单状态")
	private Integer deleteSign;
	@Excel(name = "会员订单",readConverterExp = "0=否，1=是")
	private Integer memberType;

	public void setDunSubject(String dunSubject) {
		this.dunSubject = dunSubject;
	}

	public String getDunSubject() {
		return dunSubject;
	}

	public Integer getApproval() {
		return approval;
	}

	public void setApproval(Integer approval) {
		this.approval = approval;
	}

	public Integer getDeleteSign() {
		return deleteSign;
	}

	public void setDeleteSign(Integer deleteSign) {
		this.deleteSign = deleteSign;
	}

	public Integer getMemberType() {
		return memberType;
	}

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

	public String getId() {
		return id;
	}


	public String getCommodityName() {
		return commodityName;
	}

	public void setCommodityName(String commodityName) {
		this.commodityName = commodityName;
	}

	public void setId(String id) {
		this.id = id;
	}
	public String getContractNo() {
		return contractNo;
	}
	public void setContractNo(String contractNo) {
		this.contractNo = contractNo;
	}
	public String getOrderNo() {
		return orderNo;
	}
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getSalesmanName() {
		return salesmanName;
	}
	public void setSalesmanName(String salesmanName) {
		this.salesmanName = salesmanName;
	}
	public Integer getProjectStatus() {
		return projectStatus;
	}
	public void setProjectStatus(Integer projectStatus) {
		this.projectStatus = projectStatus;
	}
	public BigDecimal getTotalAmount() {
		return totalAmount;
	}
	public void setTotalAmount(BigDecimal totalAmount) {
		this.totalAmount = totalAmount;
	}
	public Integer getLiquidationStatus() {
		return liquidationStatus;
	}
	public void setLiquidationStatus(Integer liquidationStatus) {
		this.liquidationStatus = liquidationStatus;
	}
	public BigDecimal getSettlementAmount() {
		return settlementAmount;
	}
	public void setSettlementAmount(BigDecimal settlementAmount) {
		this.settlementAmount = settlementAmount;
	}
	public BigDecimal getAccountsReceivable() {
		if(getProjectType()!=null&&getDunType()!=null&&
				Integer.valueOf(""+getProjectType()+getDunType())==33&&accountsReceivable==null&&appropriationRatio !=null &&setUpAmount!=null) {
			return setUpAmount.multiply(appropriationRatio);
		}
		return accountsReceivable;
	}
	public void setAccountsReceivable(BigDecimal accountsReceivable) {
		this.accountsReceivable = accountsReceivable;
	}
	public String getStartDate() {
		return startDate;
	}
	public void setStartDate(String startDate) {
		this.startDate = startDate;
	}
	public String getDepName() {
		return depName;
	}
	public void setDepName(String depName) {
		this.depName = depName;
	}
	public String getSignDate() {
		return signDate;
	}
	public void setSignDate(String signDate) {
		this.signDate = signDate;
	}
	public Integer getProjectType() {
		return projectType;
	}
	public void setProjectType(Integer projectType) {
		this.projectType = projectType;
	}
	public Integer getDunStatus() {
		return dunStatus;
	}
	public void setDunStatus(Integer dunStatus) {
		this.dunStatus = dunStatus;
	}
	public Integer getDunType() {
		return dunType;
	}
	public void setDunType(Integer dunType) {
		this.dunType = dunType;
	}
	public BigDecimal getAppropriationRatio() {
		return appropriationRatio;
	}
	public void setAppropriationRatio(BigDecimal appropriationRatio) {
		this.appropriationRatio = appropriationRatio;
	}
	public BigDecimal getSetUpAmount() {
		return setUpAmount;
	}
	public void setSetUpAmount(BigDecimal setUpAmount) {
		this.setUpAmount = setUpAmount;
	}
	public BigDecimal getUncollectedAmount() {
		return uncollectedAmount;
	}
	public void setUncollectedAmount(BigDecimal uncollectedAmount) {
		this.uncollectedAmount = uncollectedAmount;
	}
	public Integer getOrderStatus() {
		return orderStatus;
	}
	public void setOrderStatus(Integer orderStatus) {
		this.orderStatus = orderStatus;
	}
	public String getCustomizeTimes() {
		return customizeTimes;
	}
	public void setCustomizeTimes(String customizeTimes) {
		this.customizeTimes = customizeTimes;
	}
	public String getCustomizeName() {
		return customizeName;
	}
	public void setCustomizeName(String customizeName) {
		this.customizeName = customizeName;
	}


}
