package com.ecep.contract.vo;

import com.ecep.contract.model.IdentityEntity;
import com.ecep.contract.model.NamedEntity;
import com.ecep.contract.ContractPayWay;
import java.time.LocalDate;
import java.time.LocalDateTime;
import lombok.Data;

@Data
public class ContractVo implements IdentityEntity, NamedEntity, CompanyBasedVo, ProjectBasedVo {
    private Integer id;
    private String guid;
    private String code;
    private String name;
    /**
     * 合同对应的合作方公司
     */
    private Integer companyId;
    /**
     * 合同所属项目
     */
    private Integer project;

    private Integer typeId;
    private Integer kindId;
    private Integer groupId;
    /**
     * 合同的父合同编码
     */
    private String parentCode;
    private LocalDate orderDate;
    private LocalDate startDate;
    private LocalDate endDate;

    private Integer setupPersonId;
    private LocalDate setupDate;

    private Integer inurePersonId;
    private LocalDate inureDate;

    private Integer varyPersonId;
    private LocalDate varyDate;

    /**
     * 合同所属业务员
     */
    private Integer employeeId;
    /**
     * 经办人
     */
    private Integer handlerId;
    private String state;
    private String path;
    private String description;
    private Double amount;
    private boolean standardPayWay = false;
    private boolean standardPContractText = false;
    private Double totalQuantity;
    private Double totalAmount;
    private Double totalUnTaxAmount;
    private Double execQuantity;
    private Double execAmount;
    private Double execUnTaxAmount;
    private ContractPayWay payWay;
    private boolean active = false;
    private LocalDateTime created;
    private Integer version;
}