package com.utopiaindustries.model.ctp;

import java.time.LocalDateTime;
import java.util.List;

public class JobCard {

    public enum Status{
        DRAFT,
        POSTED,
    }

    public enum InventoryStatus {
        NOT_RECEIVED_YET,
        RECEIVED
    }

    private long id;
    private String code;
    private long jobOrderId;
    private LocalDateTime createdAt;
    private String createdBy;
    private String status;
    private String inventoryStatus;
    private String customer;
    private String lotNumber;
    private long purchaseOrderId;
    private long locationSiteId;
    private String description;
    // wrapper
    private List<JobCardItem> items;
    private long toAccountId;
    private String purchaseOrderTitle;
    private String locationTitle;

    public long getId() {
        return id;
    }

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

    public String getCode() {
        return code;
    }

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

    public long getJobOrderId() {
        return jobOrderId;
    }

    public void setJobOrderId(long jobOrderId) {
        this.jobOrderId = jobOrderId;
    }

    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 String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getInventoryStatus() {
        return inventoryStatus;
    }

    public void setInventoryStatus(String inventoryStatus) {
        this.inventoryStatus = inventoryStatus;
    }


    public String getCustomer() {
        return customer;
    }

    public void setCustomer(String customer) {
        this.customer = customer;
    }

    public String getLotNumber() {
        return lotNumber;
    }

    public void setLotNumber(String lotNumber) {
        this.lotNumber = lotNumber;
    }

    public long getPurchaseOrderId() {
        return purchaseOrderId;
    }

    public void setPurchaseOrderId(long purchaseOrderId) {
        this.purchaseOrderId = purchaseOrderId;
    }

    public long getLocationSiteId() {
        return locationSiteId;
    }

    public void setLocationSiteId(long locationSiteId) {
        this.locationSiteId = locationSiteId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public List<JobCardItem> getItems() {
        return items;
    }

    public void setItems(List<JobCardItem> items) {
        this.items = items;
    }

    public long getToAccountId() {
        return toAccountId;
    }

    public void setToAccountId(long toAccountId) {
        this.toAccountId = toAccountId;
    }

    public String getPurchaseOrderTitle() {
        return purchaseOrderTitle;
    }

    public void setPurchaseOrderTitle(String purchaseOrderTitle) {
        this.purchaseOrderTitle = purchaseOrderTitle;
    }

    public String getLocationTitle() {
        return locationTitle;
    }

    public void setLocationTitle(String locationTitle) {
        this.locationTitle = locationTitle;
    }

    @Override
    public String toString() {
        return "JobCard{" +
                "id=" + id +
                ", code='" + code + '\'' +
                ", jobOrderId=" + jobOrderId +
                ", createdAt=" + createdAt +
                ", createdBy='" + createdBy + '\'' +
                ", status='" + status + '\'' +
                ", inventoryStatus='" + inventoryStatus + '\'' +
                ", customer='" + customer + '\'' +
                ", lotNumber='" + lotNumber + '\'' +
                ", purchaseOrderId=" + purchaseOrderId +
                ", locationSiteId=" + locationSiteId +
                ", description='" + description + '\'' +
                ", items=" + items +
                ", toAccountId=" + toAccountId +
                ", purchaseOrderTitle='" + purchaseOrderTitle + '\'' +
                ", locationTitle='" + locationTitle + '\'' +
                '}';
    }
}
