package com.utopiaindustries.model.ctp;

import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

public class PackagingItems implements InventoryArtifact {
    private long id;
    private long itemId;
    private String sku;
    private String barcode;
    private long jobCardId;
    @DateTimeFormat( pattern = "yyyy-MM-dd HH:mm:ss" )
    private LocalDateTime createdAt;
    private String createdBy;
    private boolean isQa;
    private long finishedItemId;
    private boolean isSegregated;
    // wrapper
    private JobCard jobCard;
    private long accountId;
    private String qaStatus;
    private long bundleId;
    private String accountTitle;

    public long getId() {
        return id;
    }

    @Override
    public String getType() {
        return "-";
    }

    public void setId(long id) {
        this.id = id;
    }

    public long getItemId() {
        return itemId;
    }

    public void setItemId(long itemId) {
        this.itemId = itemId;
    }

    public String getSku() {
        return sku;
    }

    public void setSku(String sku) {
        this.sku = sku;
    }

    public String getBarcode() {
        return barcode;
    }

    public void setBarcode(String barcode) {
        this.barcode = barcode;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public long getJobCardId() {
        return jobCardId;
    }

    public void setJobCardId(long jobCardId) {
        this.jobCardId = jobCardId;
    }

    public boolean getIsQa() {
        return isQa;
    }

    public void setIsQa(boolean qa) {
        isQa = qa;
    }

    public long getFinishedItemId() {
        return finishedItemId;
    }

    public void setFinishedItemId(long finishedItemId) {
        this.finishedItemId = finishedItemId;
    }

    public JobCard getJobCard() {
        return jobCard;
    }

    public void setJobCard(JobCard jobCard) {
        this.jobCard = jobCard;
    }

    public boolean getIsSegregated() {
        return isSegregated;
    }

    public void setIsSegregated(boolean segregated) {
        isSegregated = segregated;
    }

    public long getAccountId() {
        return accountId;
    }

    public void setAccountId(long accountId) {
        this.accountId = accountId;
    }

    public String getQaStatus() {
        return qaStatus;
    }

    public void setQaStatus(String qaStatus) {
        this.qaStatus = qaStatus;
    }

    public BigDecimal getWrapQuantity(){
        return null;
    }

    public long getMasterBundleId(){
        return 0;
    }

    public long getBundleId(){
        return bundleId;
    }

    public void setBundleId(long bundleId) {
        this.bundleId = bundleId;
    }

    public String getAccountTitle() {
        return accountTitle;
    }

    public void setAccountTitle(String accountTitle) {
        this.accountTitle = accountTitle;
    }

    @Override
    public String toString() {
        return "PackagingItems{" +
                "id=" + id +
                ", itemId=" + itemId +
                ", sku='" + sku + '\'' +
                ", barcode='" + barcode + '\'' +
                ", jobCardId=" + jobCardId +
                ", createdAt=" + createdAt +
                ", createdBy='" + createdBy + '\'' +
                ", isQa=" + isQa +
                ", finishedItemId=" + finishedItemId +
                ", isSegregated=" + isSegregated +
                ", jobCard=" + jobCard +
                ", accountId=" + accountId +
                ", qaStatus='" + qaStatus + '\'' +
                ", bundleId=" + bundleId +
                ", accountTitle='" + accountTitle + '\'' +
                '}';
    }
}
