package com.utopiaindustries.qualitychecker.models;

import androidx.annotation.NonNull;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

public class InspectionReport implements Serializable {
    private static final long serialVersionUID = 1L;

    private long id;
    private boolean fri;
    private String code;
    private String generatedBy;
    private String generatedAt;
    private long siteId;
    private long floorId;
    private long departmentId;
    private long functionId;
    private String generalRemarks;
    private String reportResult;
    private String qualityAuditor;
    private String productionRepresentative;
    private String qcRepresentative;
    private String floor;
    private String auditDate;
    private String appVersion;
    private String sku;


    // wrapper
    List<InspectionReportItem> items;

    private String filePath;
    private  long wrapperId;

    public InspectionReport(){
        this.fri = true;
    }

    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 String getGeneratedBy() {
        return generatedBy;
    }

    public void setGeneratedBy(String generatedBy) {
        this.generatedBy = generatedBy;
    }

    public String getGeneratedAt() {
        return generatedAt;
    }

    public void setGeneratedAt(String generatedAt) {
        this.generatedAt = generatedAt;
    }

    public long getSiteId() {
        return siteId;
    }

    public void setSiteId(long siteId) {
        this.siteId = siteId;
    }

    public long getFloorId() {
        return floorId;
    }

    public void setFloorId(long floorId) {
        this.floorId = floorId;
    }

    public long getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(long departmentId) {
        this.departmentId = departmentId;
    }

    public long getFunctionId() {
        return functionId;
    }

    public void setFunctionId(long functionId) {
        this.functionId = functionId;
    }

    public String getGeneralRemarks() {
        return generalRemarks;
    }

    public void setGeneralRemarks(String generalRemarks) {
        this.generalRemarks = generalRemarks;
    }

    public String getReportResult() {
        return reportResult;
    }

    public void setReportResult(String reportResult) {
        this.reportResult = reportResult;
    }

    public String getFloor() {
        return floor;
    }

    public void setFloor(String floor) {
        this.floor = floor;
    }

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

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

    public boolean getFri() {
        return fri;
    }

    public void setFri(boolean fri) {
        this.fri = fri;
    }

    public long getWrapperId() {
        return wrapperId;
    }

    public void setWrapperId(long wrapperId) {
        this.wrapperId = wrapperId;
    }

    public String getQualityAuditor() {
        return qualityAuditor;
    }

    public void setQualityAuditor(String qualityAuditor) {
        this.qualityAuditor = qualityAuditor;
    }

    public String getProductionRepresentative() {
        return productionRepresentative;
    }

    public void setProductionRepresentative(String productionRepresentative) {
        this.productionRepresentative = productionRepresentative;
    }

    public String getQcRepresentative() {
        return qcRepresentative;
    }

    public void setQcRepresentative(String qcRepresentative) {
        this.qcRepresentative = qcRepresentative;
    }

    public String getFilePath() {
        return filePath;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    public String getAuditDate() {
        return auditDate;
    }

    public void setAuditDate(String auditDate) {
        this.auditDate = auditDate;
    }

    public String getAppVersion() {
        return appVersion;
    }

    public void setAppVersion(String appVersion) {
        this.appVersion = appVersion;
    }

    public String getSku() {
        return sku;
    }

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

    @Override
    public String toString() {
        return "InspectionReport{" +
                "id=" + id +
                ", fri=" + fri +
                ", code='" + code + '\'' +
                ", generatedBy='" + generatedBy + '\'' +
                ", generatedAt='" + generatedAt + '\'' +
                ", siteId=" + siteId +
                ", floorId=" + floorId +
                ", departmentId=" + departmentId +
                ", functionId=" + functionId +
                ", generalRemarks='" + generalRemarks + '\'' +
                ", reportResult='" + reportResult + '\'' +
                ", qualityAuditor='" + qualityAuditor + '\'' +
                ", productionRepresentative='" + productionRepresentative + '\'' +
                ", qcRepresentative='" + qcRepresentative + '\'' +
                ", floor='" + floor + '\'' +
                ", items=" + items +
                ", filePath='" + filePath + '\'' +
                ", auditDate='" + auditDate + '\'' +
                ", wrapperId=" + wrapperId +
                '}';
    }
}