package com.inkasso.factoring.financingmanagement.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.inkasso.factoring.acceptanceManagement.entity.CAcceptanceBasicInfo;
import com.inkasso.factoring.acceptanceManagement.entity.CAcceptanceGoodsInfo;

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

/**
 * @Description : 验收单货物信息Vo
 * @Author : L.Jia
 * @Date: 2023-12-20 11:07
 */
public class AcceptanceGoodsInfoVo {

    /**
     * 验收单Id
     */
    private Long acceptanceId;

    /**
     * 验收单编号
     */
    private String acceptanceNumber;

    /**
     * 验收单状态
     */
    private String acceptanceStatus;

    /**
     * 预计结算日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date expectedSettlementDate;

    /**
     * 结算单Id
     */
    private Long settlementId;

    /**
     * 结算单号
     */
    private String settlementNumber;

    /**
     * 结算单状态
     */
    private String settlementStatus;

    /**
     * 验收数量
     */
    private BigDecimal acceptanceNumTotal;

    /**
     * 结算金额
     */
    private BigDecimal settlementAmountTotal;

    /**
     * 是否签署确认 0否 1是
     */
    private Integer signConfirm;

    /**
     * 验收单相关货物信息
     */
    private List<CAcceptanceGoodsInfo> acceptanceGoodInfos;

    public AcceptanceGoodsInfoVo() {
    }

    public AcceptanceGoodsInfoVo(CAcceptanceBasicInfo acceptanceBasicInfo) {
        this.acceptanceId = acceptanceBasicInfo.getId();
        this.acceptanceNumber = acceptanceBasicInfo.getAcceptanceGoodsNumber();
        this.expectedSettlementDate = acceptanceBasicInfo.getExpectedSettlementDate();
        this.signConfirm = acceptanceBasicInfo.getSignConfirm();
    }

    public Long getAcceptanceId() {
        return acceptanceId;
    }

    public void setAcceptanceId(Long acceptanceId) {
        this.acceptanceId = acceptanceId;
    }

    public Long getSettlementId() {
        return settlementId;
    }

    public void setSettlementId(Long settlementId) {
        this.settlementId = settlementId;
    }

    public String getAcceptanceNumber() {
        return acceptanceNumber;
    }

    public void setAcceptanceNumber(String acceptanceNumber) {
        this.acceptanceNumber = acceptanceNumber;
    }

    public String getAcceptanceStatus() {
        return acceptanceStatus;
    }

    public void setAcceptanceStatus(String acceptanceStatus) {
        this.acceptanceStatus = acceptanceStatus;
    }

    public Date getExpectedSettlementDate() {
        return expectedSettlementDate;
    }

    public void setExpectedSettlementDate(Date expectedSettlementDate) {
        this.expectedSettlementDate = expectedSettlementDate;
    }

    public String getSettlementNumber() {
        return settlementNumber;
    }

    public void setSettlementNumber(String settlementNumber) {
        this.settlementNumber = settlementNumber;
    }

    public String getSettlementStatus() {
        return settlementStatus;
    }

    public void setSettlementStatus(String settlementStatus) {
        this.settlementStatus = settlementStatus;
    }

    public List<CAcceptanceGoodsInfo> getAcceptanceGoodInfos() {
        return acceptanceGoodInfos;
    }

    public void setAcceptanceGoodInfos(List<CAcceptanceGoodsInfo> acceptanceGoodInfos) {
        this.acceptanceGoodInfos = acceptanceGoodInfos;
    }

    public BigDecimal getAcceptanceNumTotal() {
        return acceptanceNumTotal;
    }

    public void setAcceptanceNumTotal(BigDecimal acceptanceNumTotal) {
        this.acceptanceNumTotal = acceptanceNumTotal;
    }

    public BigDecimal getSettlementAmountTotal() {
        return settlementAmountTotal;
    }

    public void setSettlementAmountTotal(BigDecimal settlementAmountTotal) {
        this.settlementAmountTotal = settlementAmountTotal;
    }

    public Integer getSignConfirm() {
        return signConfirm;
    }

    public void setSignConfirm(Integer signConfirm) {
        this.signConfirm = signConfirm;
    }
}
