package vn.azteam.tpf.service.dto;

import java.io.Serializable;
import java.sql.Date;
import java.util.Objects;

/**
 * A DTO for the TBBlockDetailsReport entity.
 */
public class TBFarmResultReportDTO implements Serializable {

    private Long activityId;
    private Long cropId;
    private Long parameterId;
    private String membraneHouseName;
    private String lotCode;
    private Date nurseryDay;
    private Date plantingDay;
    private Date harvestDay;
    private Double nurseryNumber;
    private Double plantingNumber;
    private Double plantRemovalNumber;
    private Double inQuantity;
    private Double outQuantity;
    private Double passRate;
    private Integer numberDaysCultivation;


    public Long getActivityId() {
        return activityId;
    }

    public void setActivityId(Long activityId) {
        this.activityId = activityId;
    }

    public Long getCropId() {
        return cropId;
    }

    public void setCropId(Long cropId) {
        this.cropId = cropId;
    }

    public Long getParameterId() {
        return parameterId;
    }

    public void setParameterId(Long parameterId) {
        this.parameterId = parameterId;
    }

    public String getMembraneHouseName() {
        return membraneHouseName;
    }

    public void setMembraneHouseName(String membraneHouseName) {
        this.membraneHouseName = membraneHouseName;
    }

    public String getLotCode() {
        return lotCode;
    }

    public void setLotCode(String lotCode) {
        this.lotCode = lotCode;
    }

    public Date getNurseryDay() {
        return nurseryDay;
    }

    public void setNurseryDay(Date nurseryDay) {
        this.nurseryDay = nurseryDay;
    }

    public Date getPlantingDay() {
        return plantingDay;
    }

    public void setPlantingDay(Date plantingDay) {
        this.plantingDay = plantingDay;
    }

    public Date getHarvestDay() {
        return harvestDay;
    }

    public void setHarvestDay(Date harvestDay) {
        this.harvestDay = harvestDay;
    }

    public Double getNurseryNumber() {
        return nurseryNumber;
    }

    public void setNurseryNumber(Double nurseryNumber) {
        this.nurseryNumber = nurseryNumber;
    }

    public Double getPlantingNumber() {
        return plantingNumber;
    }

    public void setPlantingNumber(Double plantingNumber) {
        this.plantingNumber = plantingNumber;
    }

    public Double getPlantRemovalNumber() {
        return plantRemovalNumber;
    }

    public void setPlantRemovalNumber(Double plantRemovalNumber) {
        this.plantRemovalNumber = plantRemovalNumber;
    }

    public Double getInQuantity() {
        return inQuantity;
    }

    public void setInQuantity(Double inQuantity) {
        this.inQuantity = inQuantity;
    }

    public Double getOutQuantity() {
        return outQuantity;
    }

    public void setOutQuantity(Double outQuantity) {
        this.outQuantity = outQuantity;
    }

    public Double getPassRate() {
        return passRate;
    }

    public void setPassRate(Double passRate) {
        this.passRate = passRate;
    }

    public Integer getNumberDaysCultivation() {
        return numberDaysCultivation;
    }

    public void setNumberDaysCultivation(Integer numberDaysCultivation) {
        this.numberDaysCultivation = numberDaysCultivation;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        TBFarmResultReportDTO that = (TBFarmResultReportDTO) o;
        return Objects.equals(activityId, that.activityId) && Objects.equals(cropId, that.cropId) && Objects.equals(parameterId, that.parameterId) && Objects.equals(membraneHouseName, that.membraneHouseName) && Objects.equals(lotCode, that.lotCode) && Objects.equals(nurseryDay, that.nurseryDay) && Objects.equals(plantingDay, that.plantingDay) && Objects.equals(harvestDay, that.harvestDay) && Objects.equals(nurseryNumber, that.nurseryNumber) && Objects.equals(plantingNumber, that.plantingNumber) && Objects.equals(plantRemovalNumber, that.plantRemovalNumber) && Objects.equals(inQuantity, that.inQuantity) && Objects.equals(outQuantity, that.outQuantity) && Objects.equals(passRate, that.passRate) && Objects.equals(numberDaysCultivation, that.numberDaysCultivation);
    }

    @Override
    public int hashCode() {
        return Objects.hash(activityId, cropId, parameterId, membraneHouseName, lotCode, nurseryDay, plantingDay, harvestDay, nurseryNumber, plantingNumber, plantRemovalNumber, inQuantity, outQuantity, passRate, numberDaysCultivation);
    }

    @Override
    public String toString() {
        return "TBFarmResultReportDTO{" +
            "activityId=" + activityId +
            ", cropId=" + cropId +
            ", parameterId=" + parameterId +
            ", membraneHouseName='" + membraneHouseName + '\'' +
            ", lotCode='" + lotCode + '\'' +
            ", nurseryDay=" + nurseryDay +
            ", plantingDay=" + plantingDay +
            ", harvestDay=" + harvestDay +
            ", nurseryNumber=" + nurseryNumber +
            ", plantingNumber=" + plantingNumber +
            ", plantRemovalNumber=" + plantRemovalNumber +
            ", inQuantity=" + inQuantity +
            ", outQuantity=" + outQuantity +
            ", passRate=" + passRate +
            ", numberDaysCultivation=" + numberDaysCultivation +
            '}';
    }
}
