package org.jeecg.modules.financeManage.entity;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @Description: 项目应收款主表
 * @author： jeecg-boot
 * @date：   2019-07-22
 * @version： V1.0
 */
@Data
@TableName("fd_project_receivables")
public class FdProjectReceivables implements Serializable {
    private static final long serialVersionUID = 1L;
    
	/**项目应收款主表主键*/
	@TableId(type = IdType.UUID)
	private String id;
	/**项目名称*/
	private String projectName;
	/**申办方名称*/
	private String applicantname;
	/**申办方id*/
	private String pkApplicant;
	/**合同方id*/
	private String pkContractparty;
	/**合同方名称*/
	private String contractpartyname;
	/**合同号*/
	private String contractno;
	/**客户名称*/
	private String clientname;
	/**客户id*/
	private String pkClient;
	/**收款单号码*/
	private String code;
	/**收款单日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	private Date orderdate;
	/**BD负责人*/
	private String bdPerson;
	/**BD负责人id*/
	private String bdPersonId;
	/**PM负责人*/
	private String bmPerson;
	/**财务负责人*/
	private String financePerson;
	/**财务负责人ID*/
	private String financePersonId;
	/**备注*/
	private String memo;
	/**化合物*/
	private String compound;
	/**合同金额*/
	private Double contractamount;
	/**货币种类*/
	private String currencyType;
	/**货币种类id*/
	private String currencyTypeId;
	/**状态（0保存，1审核，2弃审）*/
	private String state;
	/**创建人*/
	private String createBy;
	/**创建人名称*/
	private String createName;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**最后修改人*/
	private String updateBy;
	/**updateName*/
	private String updateName;
	/**最后修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	private Date updateTime;
	/**删除状态*/
	private String delFlag;

	//合同id
	private String contractId;

	//PM负责人Id （项目档案的项目经理）
	private String bmPersonId;

	//合同说明
	private String contractDescription;

	//合同最终总金额
	private String finalTotalAmount;

	//项目号
	private String projectFileNo;
	//项目档案id
	private String pkProjectFile;

	private String def1;
	private String def2;
	private String def3;
	private String def4;
	private String def5;
	//付款方
	private String payerName;


	//客户档案信用期
	@TableField(exist = false)
	private String creditPeriod;

	//附件集合
	@TableField(exist = false)
	private List<FdProjectReceivablesUpload> fdProjectReceivablesUploadList;
}
