ShipmentClearingReportDTO.java

package com.tradecloud.dto.shipment.actualunitcosting;

import com.tradecloud.dto.shipment.actualsummarycosting.CommentReportDTO;
import lombok.Getter;
import lombok.Setter;

import javax.xml.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ShipmentClearingReport")
@XmlSeeAlso({AbstractShipmentReportDTO.class})
@Getter
@Setter
public class ShipmentClearingReportDTO extends AbstractShipmentReportDTO {

    private String clearingAgent;
    private String clearingAgentAddress;
    private String customsCode;
    private String supplierCustomsCode;
    private String clearingAgentCustomsCode;
    private String billOfLadingReference;
    private String houseBillOfLadingReference;
    private String vesselName;
    private String vesselCallSign;
    private int noOfInvoices;
    private String vatNumber;
    private String importer;
    private String tariffHeadings;
    private String TDNNo;
    private String idPassport;
    private String totalDutiableCost;
    private String priceOfGoods;
    private boolean masterBillOfLading;
    private String masterBillOfLadingDate;
    private String documentsSupplied;
    private int totalItems;
    private String countryOfOrigin;
    private String countryOfExport;
    private String countryOfDestination;
    private String carrierCode;
    private String cargoCarrierCode;
    private String freightForwarderCode;
    private String tdnNo;
    private String rebateUserCode;
    private String houseBillOfLadingDate;
    private boolean masterAirwaybill;
    private boolean airwaybill;

    private boolean related;
    private boolean notRelated;
    private boolean exempt;

    private String valuationMethod;

    private boolean newGoods;
    private boolean usedGoods;
    private boolean secondHandGoods;
    private boolean waste;
    private boolean scrap;

    private String inlandTransport;

    private String deliverAddress;
    private String specialInstructions;
    private String transporter;
    private String containerReference;

    private String declarerFullName;
    private String declarerName;
    private String declarerInitital;
    private String declarerSurname;
    private String declarerCapacity;
    private String date;

    private String purposeCode;
    private String typeOfGoods;
    private String typeOfGoodsCode;

    private boolean marineInsurance;
    private String shippingMode;
    private boolean restrictedGoods;
    private String invoiceNumbers;

    //SAD500
    private String placeOfCustomsEntry;
    private String placeOfCustomsEntryName;
    private String transportDocumentNumber;
    private String consignorName;
    private String consignorAddress;
    private String marksAndNumbers;
    private int noOfPackages;
    private String noOfPackagesWords;
    private String lrnNumber;
    private String mrnNumber;
    private String cusResStatus;
    private String freightAmount;
    private String freightCurrency;
    private String insuranceAmount;
    private String insuranceCurrency;
    private String containerCargoState;
    private String transportIdentification;
    private String clearingTerminal;
    private String clearingTerminalCode;
    private String cpcCode;
    private String previousProcedureCode;
    private String grossWeight;
    private String grossVolume;
    private String customsValuation;
    private String fileType;
    private String cif;
    private String totalFOB;
    private String totalFOBSales;
    private String assesmentDate;
    private List<ShipmentClearingPageReportSummaryDTO> pageReportSummaryDTOList;
    private String prefenceCode;
    private String customsTotalBeforeCorrection;
    private String cifTotalBeforeCorrection;
    private String vatTotalBeforeCorrection;
    private String customsDutyBeforeCorrection;
    private String schedule1P2BeforeCorrection;
    private String amountDueBeforeCorrection;
    private String penaltiesDueBeforeCorrection;
    private String penaltiesDueAfterCorrection;
    private String vatTotal;
    private String amendReason;
    private String ucrNumber;
    private String receivingBank;
    private String creditTerms;
    private String printIndicator;
    private boolean tradeStatistics;

    private boolean imports = true;

    @XmlElement(name = "customsPaymentMethod")
    private String paymentMethod;
    private String SARSCode;
    private String prcc;
    private String vesselAgent;
    private List<AdvancedPaymentDTO> advancedPaymentDTOS;
    private List<AdditionalClearingInfoDTO> additionalClearingInfoDTOS;

    @XmlElement(name = "comments", required = true)
    private List<CommentReportDTO> commentReportDTOS;

    @XmlElement(name = "ordersPerFinalDestinations", required = true)
    private List<OrdersPerFinalDestinationDTO> ordersPerFinalDestinationDTOS;

    private String apn;
    private String vdn;
    private String vdnApplied;
    private String documentsProduced;

    @XmlElement(name = "vdnInvoiceDTOS", required = true)
    private List<VDNInvoiceDTO> vdnInvoiceDTOS;

    private boolean sadc;
    private String customsOverriddenTotal;

    public List<ShipmentClearingPageReportSummaryDTO> getPageReportSummaryDTOList() {
        if (pageReportSummaryDTOList == null) {
            pageReportSummaryDTOList = new ArrayList<>();
        }
        return pageReportSummaryDTOList;
    }

    public void addShipmentACUReportContainerDTO(ShipmentACUPReportShipmentContainerDTO dto) {
        if (shipmentACUReportContainerDTOList == null) {
            shipmentACUReportContainerDTOList = new ArrayList<>();
        }
        shipmentACUReportContainerDTOList.add(dto);
    }

    public void addAdvancedPaymentDTO(AdvancedPaymentDTO dto) {
        if (advancedPaymentDTOS == null)
            advancedPaymentDTOS = new ArrayList<>();
        advancedPaymentDTOS.add(dto);
    }

    public void addAdditionalClearingInfoDTO(AdditionalClearingInfoDTO dto) {
        if (additionalClearingInfoDTOS == null)
            additionalClearingInfoDTOS = new ArrayList<>();
        additionalClearingInfoDTOS.add(dto);
    }

    public String getPrintIndicator() {
        return printIndicator;
    }

    public void setPrintIndicator(String printIndicator) {
        this.printIndicator = printIndicator;
    }

    public void setCustomsOverriddenTotal(String customsOverriddenTotal) {
        this.customsOverriddenTotal = customsOverriddenTotal;
    }

    public String getCustomsOverriddenTotal() {
        return customsOverriddenTotal;
    }
}