Package org.projectforge.reporting.impl

Source Code of org.projectforge.reporting.impl.ProjektImpl

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2014 Kai Reinhard (k.reinhard@micromata.de)
//
// ProjectForge is dual-licensed.
//
// This community edition is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as published
// by the Free Software Foundation; version 3 of the License.
//
// This community edition is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
// Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, see http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.reporting.impl;

import java.util.List;

import org.projectforge.fibu.ProjektDO;
import org.projectforge.fibu.ProjektStatus;
import org.projectforge.reporting.Kost2Art;
import org.projectforge.reporting.Kunde;
import org.projectforge.reporting.Projekt;
import org.projectforge.web.HtmlHelper;


/**
* Proxy for ProjektDO;
* @author Kai Reinhard (k.reinhard@micromata.de)
* @see ProjektDO
*/
public class ProjektImpl implements Projekt
{
  private ProjektDO projekt;

  private Kunde kunde;

  private List<Kost2Art> kost2Arts;

  public ProjektImpl(ProjektDO projekt)
  {
    this.projekt = projekt;
    if (this.projekt != null) {
      this.kunde = new KundeImpl(this.projekt.getKunde());
    } else {
      this.kunde = new KundeImpl(null);
    }
  }

  public void setKost2Arts(List<Kost2Art> kost2Arts)
  {
    this.kost2Arts = kost2Arts;
  }

  public Integer getId()
  {
    return projekt != null ? projekt.getId() : null;
  }

  public String getDescription()
  {
    return projekt != null ? projekt.getDescription() : "";
  }

  public Integer getInternKost2_4()
  {
    return projekt != null ? projekt.getInternKost2_4() : null;
  }

  public Kunde getKunde()
  {
    return kunde;
  }

  public String getName()
  {
    return projekt != null ? projekt.getName() : "";
  }

  public int getNummer()
  {
    return projekt != null ? projekt.getNummer() : 0;
  }

  public Integer getBereich()
  {
    return projekt != null ? projekt.getBereich() : null;
  }

  public Integer getTeilbereich()
  {
    return projekt != null ? projekt.getTeilbereich() : null;
  }

  public ProjektStatus getStatus()
  {
    return projekt != null ? projekt.getStatus() : null;
  }

  public String getKost()
  {
    return projekt != null ? projekt.getKost() : "";
  }

  public boolean isDeleted()
  {
    return projekt != null ? projekt.isDeleted() : false;
  }

  public String getKost2ArtsAsString()
  {
    if (kost2Arts == null) {
      return "";
    }
    StringBuffer buf = new StringBuffer();
    boolean first = false;
    for (Kost2Art value : kost2Arts) {
      if (first == true) {
        first = false;
      } else {
        buf.append(", ");
      }
      buf.append(value.getFormattedId());
    }
    return buf.toString();
  }

  public String getKost2ArtsAsHtml()
  {
    if (kost2Arts == null) {
      return "";
    }
    HtmlHelper html = new HtmlHelper();
    StringBuffer buf = new StringBuffer();
    boolean first = true;
    for (Kost2Art art : kost2Arts) {
      boolean suppress = true;
      if (art.isExistsAlready() == true) {
        if (first == false) {
          buf.append(", ");
        }
        if (art.isProjektStandard() == true) {
          buf.append("<span");
          html.attribute(buf, "style", "color: green;");
          buf.append(">").append(art.getFormattedId()).append("</span>");
        } else {
          buf.append(art.getFormattedId());
        }
        suppress = false;
      } else if (art.isProjektStandard() == true) {
        if (first == false) {
          buf.append(", ");
        }
        buf.append("<span");
        html.attribute(buf, "style", "text-decoration: line-through; color: gray;");
        buf.append(">").append(art.getFormattedId()).append("</span>");
        suppress = false;
      } else {
        // Suppress output;
      }
      if (suppress == false && first == true) {
        first = false;
      }
    }
    return buf.toString();
  }

  /**
   * Return the kost2Arts only if set previously via setKost2Arts.
   * @see org.projectforge.reporting.Projekt#getKost2Arts()
   * @see #setKost2Arts(int[])
   */
  public List<Kost2Art> getKost2Arts()
  {
    return kost2Arts;
  }
}
TOP

Related Classes of org.projectforge.reporting.impl.ProjektImpl

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.