Subversion Repositories SmartDukaan

Rev

Rev 35054 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package com.spice.profitmandi.dao.model;

import com.spice.profitmandi.common.util.FileUtil;
import com.spice.profitmandi.common.util.FormattingUtils;
import com.spice.profitmandi.dao.enumuration.inventory.CatalogMovingEnum;

import java.io.Serializable;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;

public class WarehouseItemAgeingModel {
    private int itemId;
    private int purchaseId;
    private String brand;
    private String supplierName;
    private String modelNumber;
    private String modelName;
    private String color;
    private LocalDateTime invoiceDate;
    private LocalDateTime created;
    private String warehouseName;
    private CatalogMovingEnum status;
    private long currentQuantity;

    public WarehouseItemAgeingModel(int itemId, int purchaseId, String brand, String supplierName,
                                    String modelNumber, String modelName, String color, LocalDateTime invoiceDate,
                                    LocalDateTime created, String warehouseName, CatalogMovingEnum status, long currentQuantity) {
        this.itemId = itemId;
        this.purchaseId = purchaseId;
        this.brand = brand;
        this.supplierName = supplierName;
        this.modelNumber = modelNumber;
        this.modelName = modelName;
        this.color = color;
        this.invoiceDate = invoiceDate;
        this.created = created;
        this.warehouseName = warehouseName;
        this.status = status;
        this.currentQuantity = currentQuantity;
    }

    // Getters and setters
    public int getItemId() { return itemId; }
    public void setItemId(int itemId) { this.itemId = itemId; }

    public int getPurchaseId() { return purchaseId; }
    public void setPurchaseId(int purchaseId) { this.purchaseId = purchaseId; }

    public String getBrand() { return brand; }
    public void setBrand(String brand) { this.brand = brand; }

    public String getSupplierName() { return supplierName; }
    public void setSupplierName(String supplierName) { this.supplierName = supplierName; }

    public String getModelNumber() { return modelNumber; }
    public void setModelNumber(String modelNumber) { this.modelNumber = modelNumber; }

    public String getModelName() { return modelName; }
    public void setModelName(String modelName) { this.modelName = modelName; }

    public String getColor() { return color; }
    public void setColor(String color) { this.color = color; }

    public LocalDateTime getInvoiceDate() { return invoiceDate; }
    public void setInvoiceDate(LocalDateTime invoiceDate) { this.invoiceDate = invoiceDate; }

    public LocalDateTime getCreated() { return created; }
    public void setCreated(LocalDateTime created) { this.created = created; }

    public String getWarehouseName() { return warehouseName; }
    public void setWarehouseName(String warehouseName) { this.warehouseName = warehouseName; }

    public CatalogMovingEnum getStatus() { return status; }
    public void setStatus(CatalogMovingEnum status) { this.status = status; }

    public long getCurrentQuantity() { return currentQuantity; }
    public void setCurrentQuantity(long currentQuantity) { this.currentQuantity = currentQuantity; }

    @Override
    public String toString() {
        return "WarehouseItemAgeingModel{" +
                "itemId=" + itemId +
                ", purchaseId=" + purchaseId +
                ", brand='" + brand + '\'' +
                ", supplierName='" + supplierName + '\'' +
                ", modelNumber='" + modelNumber + '\'' +
                ", modelName='" + modelName + '\'' +
                ", color='" + color + '\'' +
                ", invoiceDate=" + invoiceDate +
                ", created=" + created +
                ", warehouseName='" + warehouseName + '\'' +
                ", status=" + status +
                ", currentQuantity=" + currentQuantity +
                '}';
    }

    public int getAge() {
        return (int) Duration.between(this.invoiceDate, LocalDateTime.now()).toDays();
    }
    public List<? extends Serializable> toRow() {
        return Arrays.asList(this.getSupplierName(), this.getStatus(), this.getBrand(), this.getModelName() + " " + this.getModelNumber(), this.getColor(), this.getAge(),
                this.getWarehouseName(), FormattingUtils.formatDate(this.getCreated()), this.getCurrentQuantity());
    }
}