CostLineSummaryDTO.java

package com.tradecloud.dto.api;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.tradecloud.domain.costing.VatType;
import com.tradecloud.dto.api.shipment.AddedCommentDTO;
import io.swagger.annotations.ApiModel;

import java.math.BigDecimal;

@ApiModel(description = CommonAPIMessage.IGNORE_READ_ONLY_FIELDS)
public class CostLineSummaryDTO {
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private String name;
    @JsonProperty(required = true)
    private String code;
    private BigDecimal transactionAmount;
    @JsonPropertyDescription(value = "must be true for override to apply to transaction Amount")
    private boolean  transactionAmountOverride;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private String currency;
    private BigDecimal percentage;
    @JsonPropertyDescription(value = "must be true for override to apply to percentage Amount")
    private boolean  percentageOverride;
    @JsonPropertyDescription(value = "can be overridden, depends on spotOverride being true for override to apply")
    private BigDecimal spotRate;
    @JsonPropertyDescription(value = "must be true for override to apply to spot rate")
    private boolean spotOverride;
    @JsonPropertyDescription(value = "can be overridden, depends on forwardOverride being true for override to apply")
    private BigDecimal forwardRate;
    @JsonPropertyDescription(value = "must be true for override to apply to forward rate")
    private boolean  forwardOverride;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal costingAmount;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal vat;
    @JsonProperty(value="responsible",access = JsonProperty.Access.AUTO)
    @JsonPropertyDescription(value = "all costline marked as exporter will have the same spot or forward rate, " +
            "overriding one will results in all exporter costline overridden.")
    private String responsible;

    @JsonPropertyDescription(value ="applies on actual costing,show variance amount between actual and estimate costing")
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal estimateTransactionAmountVariance;

    @JsonPropertyDescription(value ="applies on actual costing,show variance amount between actual and estimate costing")
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal estimateCostingAmountVariance;

    @JsonProperty(access = JsonProperty.Access.AUTO)
    private BigDecimal estimateTransactionAmount;

    @JsonPropertyDescription(value ="for costline changes, only surcharge and discount comments will be processed")
    private AddedCommentDTO comment;

    private VatType vatType;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public BigDecimal getTransactionAmount() {
        return transactionAmount;
    }

    public void setTransactionAmount(BigDecimal transactionAmount) {
        this.transactionAmount = transactionAmount;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public BigDecimal getPercentage() {
        return percentage;
    }

    public void setPercentage(BigDecimal percentage) {
        this.percentage = percentage;
    }

    public BigDecimal getSpotRate() {
        return spotRate;
    }

    public void setSpotRate(BigDecimal spotRate) {
        this.spotRate = spotRate;
    }

    public BigDecimal getForwardRate() {
        return forwardRate;
    }

    public void setForwardRate(BigDecimal forwardRate) {
        this.forwardRate = forwardRate;
    }

    public BigDecimal getCostingAmount() {
        return costingAmount;
    }

    public void setCostingAmount(BigDecimal costingAmount) {
        this.costingAmount = costingAmount;
    }

    public BigDecimal getVat() {
        return vat;
    }

    public void setVat(BigDecimal vat) {
        this.vat = vat;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public boolean isSpotOverride() {
        return spotOverride;
    }

    public void setSpotOverride(boolean spotOverride) {
        this.spotOverride = spotOverride;
    }

    public boolean isForwardOverride() {
        return forwardOverride;
    }

    public void setForwardOverride(boolean forwardOverride) {
        this.forwardOverride = forwardOverride;
    }

    public String getResponsible() {
        return responsible;
    }

    public void setResponsible(String responsible) {
        this.responsible = responsible;
    }

    public boolean isTransactionAmountOverride() {
        return transactionAmountOverride;
    }

    public void setTransactionAmountOverride(boolean transactionAmountOverride) {
        this.transactionAmountOverride = transactionAmountOverride;
    }

    public boolean isPercentageOverride() {
        return percentageOverride;
    }

    public void setPercentageOverride(boolean percentageOverride) {
        this.percentageOverride = percentageOverride;
    }

    public BigDecimal getEstimateTransactionAmountVariance() {
        return estimateTransactionAmountVariance;
    }

    public void setEstimateTransactionAmountVariance(BigDecimal estimateTransactionAmountVariance) {
        this.estimateTransactionAmountVariance = estimateTransactionAmountVariance;
    }

    public BigDecimal getEstimateCostingAmountVariance() {
        return estimateCostingAmountVariance;
    }

    public void setEstimateCostingAmountVariance(BigDecimal estimateCostingAmountVariance) {
        this.estimateCostingAmountVariance = estimateCostingAmountVariance;
    }

    public BigDecimal getEstimateTransactionAmount() {
        return estimateTransactionAmount;
    }

    public void setEstimateTransactionAmount(BigDecimal estimateTransactionAmount) {
        this.estimateTransactionAmount = estimateTransactionAmount;
    }

    public AddedCommentDTO getComment() {
        return comment;
    }

    public void setComment(AddedCommentDTO comment) {
        this.comment = comment;
    }

    public VatType getVatType() {
        return vatType;
    }

    public void setVatType(VatType vatType) {
        this.vatType = vatType;
    }
}