Package no.ugland.utransprod.model

Source Code of no.ugland.utransprod.model.Assembly

package no.ugland.utransprod.model;

import java.util.Calendar;
import java.util.Date;

import org.apache.commons.lang.builder.CompareToBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;

/**
* Klasse som representerer tabell ASSEMBLY
*
* @author atle.brekka
*/
public class Assembly extends BaseObject implements Comparable<Assembly> {
  private static final long serialVersionUID = 1L;

  private Integer assemblyId;

  // private AssemblyTeam assemblyTeam;
  private Supplier supplier;

  private Order order;

  private Integer assemblyYear;

  private Integer assemblyWeek;

  // private String comment;

  private String planned;

  private String firstPlanned;

  private Date assembliedDate;

  private Deviation deviation;

  private Integer inactive;

  public static final Assembly UNKNOWN = new Assembly() {

    private static final long serialVersionUID = 7650049577311091406L;
  };

  public Assembly() {
    super();
  }

  /**
   * @param aAssemblyId
   * @param aAssemblyTeam
   * @param aOrder
   * @param aAssemblyYear
   * @param aAssemblyWeek
   * @param aComment
   * @param plannedDay
   * @param firstPlannedDay
   * @param aAssembliedDate
   * @param aDeviation
   * @param isInactive
   */
  public Assembly(
      final Integer aAssemblyId,
      // final AssemblyTeam aAssemblyTeam,
      final Supplier aSupplier, final Order aOrder,
      final Integer aAssemblyYear,
      final Integer aAssemblyWeek,
      // final String aComment,
      final String plannedDay, final String firstPlannedDay,
      final Date aAssembliedDate, final Deviation aDeviation,
      final Integer isInactive) {
    super();
    this.assemblyId = aAssemblyId;
    // this.assemblyTeam = aAssemblyTeam;
    this.order = aOrder;
    this.assemblyYear = aAssemblyYear;
    this.assemblyWeek = aAssemblyWeek;
    // this.comment = aComment;
    this.planned = plannedDay;
    this.firstPlanned = firstPlannedDay;
    this.assembliedDate = aAssembliedDate;
    this.deviation = aDeviation;
    this.inactive = isInactive;
    this.supplier = aSupplier;
  }

  /**
   * @param aAssemblyId
   * @param aAssemblyTeam
   * @param aOrder
   * @param aAssemblyYear
   * @param aAssemblyWeek
   * @param aComment
   * @param plannedDay
   * @param firstPlannedDay
   * @param aAssembliedDate
   * @param isInactive
   */
  public Assembly(
      final Integer aAssemblyId,
      // final AssemblyTeam aAssemblyTeam,
      final Supplier aSupplier, final Order aOrder,
      final Integer aAssemblyYear, final Integer aAssemblyWeek,
      // final String aComment,
      final String plannedDay, final String firstPlannedDay,
      final Date aAssembliedDate, final Integer isInactive) {
    this(aAssemblyId,
    // aAssemblyTeam,
        aSupplier, aOrder, aAssemblyYear, aAssemblyWeek,
        // aComment,
        plannedDay, firstPlannedDay, aAssembliedDate, null, isInactive);
  }

  /**
   * @return uke
   */
  public final Integer getAssemblyWeek() {
    return assemblyWeek;
  }

  /**
   * @param aAssemblyWeek
   */
  public final void setAssemblyWeek(final Integer aAssemblyWeek) {
    this.assemblyWeek = aAssemblyWeek;
  }

  /**
   * @return id
   */
  public final Integer getAssemblyId() {
    return assemblyId;
  }

  /**
   * @param aAssemblyId
   */
  public final void setAssemblyId(final Integer aAssemblyId) {
    this.assemblyId = aAssemblyId;
  }

  /**
   * @return monteringsteam
   */
  /*
   * public final AssemblyTeam getAssemblyTeam() { return assemblyTeam; }
   */

  /**
   * @param aAssemblyTeam
   */
  /*
   * public final void setAssemblyTeam(final AssemblyTeam aAssemblyTeam) {
   * this.assemblyTeam = aAssemblyTeam; }
   */

  /**
   * @return �r
   */
  public final Integer getAssemblyYear() {
    return assemblyYear;
  }

  /**
   * @param aAssemblyYear
   */
  public final void setAssemblyYear(final Integer aAssemblyYear) {
    this.assemblyYear = aAssemblyYear;
  }

  /**
   * @return kommentar
   */
  /*
   * public final String getComment() { return comment; }
   */

  /**
   * @param aComment
   */
  /*
   * public final void setComment(final String aComment) { this.comment =
   * aComment; }
   */

  /**
   * @return ordre
   */
  public final Order getOrder() {
    return order;
  }

  /**
   * @param aOrder
   */
  public final void setOrder(final Order aOrder) {
    this.order = aOrder;
  }

  /**
   * @param other
   * @return sammenlikning
   * @see java.lang.Comparable#compareTo(java.lang.Object)
   */
  public final int compareTo(final Assembly other) {
    return new CompareToBuilder().append(supplier, other.supplier).append(
        assemblyYear, other.assemblyYear).append(assemblyWeek,
        other.assemblyWeek)// .append(comment, other.comment)
        .toComparison();
  }

  /**
   * @see no.ugland.utransprod.model.BaseObject#toString()
   */
  @Override
  public final String toString() {
    return assemblyWeek != null ? assemblyWeek.toString() : "" + "-"
        + assemblyYear + "-" + supplier;
  }

  /**
   * @return f�rst planlagt
   */
  public final String getFirstPlanned() {
    return firstPlanned;
  }

  /**
   * @param firstPlannedDay
   */
  public final void setFirstPlanned(final String firstPlannedDay) {
    this.firstPlanned = firstPlannedDay;
  }

  /**
   * @return planlagt
   */
  public final String getPlanned() {
    return planned;
  }

  /**
   * @param plannedDay
   */
  public final void setPlanned(final String plannedDay) {
    this.planned = plannedDay;
  }

  /**
   * @return true dersom montert
   */
  public final Boolean getAssembliedBool() {
    if (assembliedDate != null) {
      return true;
    }
    return false;
  }

  /**
   * @param assemblied
   */
  public final void setAssembliedBool(final Boolean assemblied) {
    if (assemblied) {
      this.assembliedDate = Calendar.getInstance().getTime();
    } else {
      this.assembliedDate = null;
    }
  }

  /**
   * @return �r og uke som streng
   */
  public final String getYearWeekString() {
    return String.format("%1$d%2$02d", assemblyYear, assemblyWeek);
  }

  /**
   * @return dato for montering
   */
  public final Date getAssembliedDate() {
    return assembliedDate;
  }

  /**
   * @param aAssembliedDate
   */
  public final void setAssembliedDate(final Date aAssembliedDate) {
    this.assembliedDate = aAssembliedDate;
  }

  /**
   * @see no.ugland.utransprod.model.BaseObject#equals(java.lang.Object)
   */
  @Override
  public final boolean equals(final Object other) {
    if (!(other instanceof Assembly)) {
      return false;
    }
    Assembly castOther = (Assembly) other;
    return new EqualsBuilder().append(supplier, castOther.supplier).append(
        order, castOther.order).append(assemblyYear,
        castOther.assemblyYear).append(assemblyWeek,
        castOther.assemblyWeek).isEquals();
  }

  /**
   * @see no.ugland.utransprod.model.BaseObject#hashCode()
   */
  @Override
  public final int hashCode() {
    return new HashCodeBuilder().append(supplier).append(order).append(
        assemblyYear).append(assemblyWeek).toHashCode();
  }

  /**
   * @return avvik
   */
  public final Deviation getDeviation() {
    return deviation;
  }

  /**
   * @param aDeviation
   */
  public final void setDeviation(final Deviation aDeviation) {
    this.deviation = aDeviation;
  }

  /**
   * @return 1 dersom inaktiv
   */
  public final Integer getInactive() {
    return inactive;
  }

  /**
   * @param isInactive
   */
  public final void setInactive(final Integer isInactive) {
    this.inactive = isInactive;
  }

  public Supplier getSupplier() {
    return supplier;
  }

  public void setSupplier(Supplier supplier) {
    this.supplier = supplier;
  }

  public boolean isForWeek(final Integer year, final Integer week) {
    return assemblyYear.equals(year) && assemblyWeek.equals(week);
  }

}
TOP

Related Classes of no.ugland.utransprod.model.Assembly

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.