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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.common.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;
import com.jeeplus.modules.projectcontentinfo.entity.ProjectContentData;
import org.springframework.format.annotation.NumberFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * 合同登记Entity
 * @author ssrh
 * @version 2018-06-12
 */
public class WorkContentContractSum extends DataEntity<WorkContentContractSum> {

	private static final long serialVersionUID = 1L;
	private String projectId;		// 项目id
	private String contentId;		// 工作内容ID
	private String cnumber;		// 合同编号
	private String contCate;		// 合同分类
	private String contAttr;		// 合同属性
	private String lettingAgent;		// 发包人
	private String contractor;		// 承包人
	private String scope;		// 合同范围
	private Date signDate;		// 签约日期
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double targetCost;		// 目标成本
    @NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double contractAmount;		// 合同金额
	@NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double budgetFee;     //预算金额
	@NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double settlementFee;     //结算金额
	@NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double visaChangeFee;      //签证变更金额
	@NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double supplementFee;      //补充协议
	@NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double contractDifference;    //合同调差
	@NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double claimFee;          //索赔金额
	@NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double deductionsParameter;   //扣款台账
	@NumberFormat(style = NumberFormat.Style.CURRENCY)
	private Double dynamicCost;          //动态成本
	private Double withContractAmount;      //与合同金额相比增减
	private Double withTargetCost;        //与目标成本相比增减
	private List<WorkContentSummary> workContentSummaries;  //汇总信息


	public List<WorkContentSummary> getWorkContentSummaries() {
		return workContentSummaries;
	}

	public void setWorkContentSummaries(List<WorkContentSummary> workContentSummaries) {
		this.workContentSummaries = workContentSummaries;
	}

	private WorkContentContractinfo contractinfo;    //合同信息

	private String contractId;   //合同ID

	public String getContractId() {
		return contractId;
	}

	public void setContractId(String contractId) {
		this.contractId = contractId;
	}

	public WorkContentContractSum() {
		super();
	}

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


	public String getProjectId() {
		return projectId;
	}

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

	public String getContentId() {
		return contentId;
	}

	public void setContentId(String contentId) {
		this.contentId = contentId;
	}


	public String getCnumber() {
		return cnumber;
	}

	public void setCnumber(String cnumber) {
		this.cnumber = cnumber;
	}

	public String getContCate() {
		return contCate;
	}

	public void setContCate(String contCate) {
		this.contCate = contCate;
	}

	public String getContAttr() {
		return contAttr;
	}

	public void setContAttr(String contAttr) {
		this.contAttr = contAttr;
	}

	public String getLettingAgent() {
		return lettingAgent;
	}

	public void setLettingAgent(String lettingAgent) {
		this.lettingAgent = lettingAgent;
	}

	public String getContractor() {
		return contractor;
	}

	public void setContractor(String contractor) {
		this.contractor = contractor;
	}

	public String getScope() {
		return scope;
	}

	public void setScope(String scope) {
		this.scope = scope;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getSignDate() {
		return signDate;
	}

	public void setSignDate(Date signDate) {
		this.signDate = signDate;
	}

	public Double getTargetCost() {
		return targetCost;
	}

	public void setTargetCost(Double targetCost) {
		this.targetCost = targetCost;
	}

	public Double getContractAmount() {
		return contractAmount;
	}

	public void setContractAmount(Double contractAmount) {
		this.contractAmount = contractAmount;
	}

	public Double getBudgetFee() {
		return budgetFee;
	}

	public void setBudgetFee(Double budgetFee) {
		this.budgetFee = budgetFee;
	}

	public Double getSettlementFee() {
		return settlementFee;
	}

	public void setSettlementFee(Double settlementFee) {
		this.settlementFee = settlementFee;
	}

	public Double getVisaChangeFee() {
		return visaChangeFee;
	}

	public void setVisaChangeFee(Double visaChangeFee) {
		this.visaChangeFee = visaChangeFee;
	}

	public Double getSupplementFee() {
		return supplementFee;
	}

	public void setSupplementFee(Double supplementFee) {
		this.supplementFee = supplementFee;
	}

	public Double getContractDifference() {
		return contractDifference;
	}

	public void setContractDifference(Double contractDifference) {
		this.contractDifference = contractDifference;
	}

	public Double getClaimFee() {
		return claimFee;
	}

	public void setClaimFee(Double claimFee) {
		this.claimFee = claimFee;
	}

	public Double getDeductionsParameter() {
		return deductionsParameter;
	}

	public void setDeductionsParameter(Double deductionsParameter) {
		this.deductionsParameter = deductionsParameter;
	}

	public Double getDynamicCost() {
		return dynamicCost;
	}

	public void setDynamicCost(Double dynamicCost) {
		this.dynamicCost = dynamicCost;
	}

	public Double getWithContractAmount() {
		return withContractAmount;
	}

	public void setWithContractAmount(Double withContractAmount) {
		this.withContractAmount = withContractAmount;
	}

	public Double getWithTargetCost() {
		return withTargetCost;
	}

	public void setWithTargetCost(Double withTargetCost) {
		this.withTargetCost = withTargetCost;
	}


	public WorkContentContractinfo getContractinfo() {
		return contractinfo;
	}

	public void setContractinfo(WorkContentContractinfo contractinfo) {
		this.contractinfo = contractinfo;
	}
}