ContractVO.java 2.67 KB
package vion.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import vion.model.ContractLog;

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

@Getter
@Setter
public class ContractVO {
    private Long id;

    /**
     * 合同名称
     */
    private String name;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 合同类型:1-维保合同 2-框架合同 3-集成合同 4-供货合同 5-供货施工合同 0-其他
     */
    private Integer type;

    /**
     * 合同签订日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date signDate;

    /**
     * 合同维保开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date maintainSdate;

    /**
     * 合同维保结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date maintainEdate;

    /**
     * 合同进度:1-签订 2-发货 3-货到 4-安装 5-验收 6-质保
     */
    private Integer status;

    /**
     * 合同总金额
     */
    private BigDecimal totalAmount;

    /**
     * 合同已收金额:人工编辑
     */
    private BigDecimal paidAmount;

    /**
     * 合同应收金额:
     * 根据【合同进度】,由系统判断出应该收到的金额
     */
    private BigDecimal receivableAmount;

    /**
     * 合同未收金额:total-(paid+receivable)
     */
    private BigDecimal outstandingAmount;

    /**
     * 合同签订主体
     */
    private String subject;

    /**
     * 合同甲方名称
     */
    private String customerName;

    /**
     * 销售人员名称
     */
    private String saleName;

    /**
     * 备注
     */
    private String remark;

    /**
     * 记录创建者
     */
    private Long createUser;

    /**
     * 记录最后一次修改者
     */
    private Long modifyUser;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date modifyTime;

    /**
     * 合同质保周期(月)
     */
    private Integer warrantyPeriod;

    /**
     * 终验日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date finalDate;

    /**
     * 财务状态
     */
    private Integer financialStatus;

    /**
     * 开票金额
     */
    private BigDecimal invoiceAmount;

    /**
     * 合同关联的项目名
     */
    private List<StoreVO> storeVOS;

    private List<ContractLog> contractLogs;
}