EN · DE · RU · FR · ES

#600: TimesheetFilter.java

projectforge-business/src/main/java/org/projectforge/business/timesheet/TimesheetFilter.java Typ: Java · Rolle: Timesheet · Quelle: projectforge-business/src/main/java/org/projectforge/business/timesheet/TimesheetFilter.java 229 Zeilen · 125 Code · 69 Kommentare · 35 leer
Filter-/Suchkriterien-Bean für Timesheet-Abfragen. Erweitert BaseSearchFilter, um typisierte Abfrageparameter für Listenansichten und Excel-Exporte bereitzustellen.

Codestruktur

Paket: org.projectforge.business.timesheet

Klassen: TimesheetFilter

Erweitert: BaseSearchFilter

Implementiert: Serializable, TaskDependentFilter

Methoden (20): getTaskId, setTaskId, getUserId, setUserId, getStartTime, setStartTime, getStopTime, setStopTime, setTimePeriod, isMarked, setMarked, isLongFormat, setLongFormat, isRecursive, setRecursive, isOnlyBillable, setOnlyBillable, getOrderType, setOrderType, getTimePeriod

Felder (9): serialVersionUID, timePeriod, userId, taskId, marked, longFormat, recursive, onlyBillable, orderType

Importe: 6 Pakete

Quellcode (gekürzt)

package org.projectforge.business.timesheet;

import org.projectforge.business.task.TaskDependentFilter;
import org.projectforge.common.anots.PropertyInfo;
import org.projectforge.framework.persistence.api.BaseSearchFilter;
import org.projectforge.framework.time.TimePeriod;

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

/**
 * @author Kai Reinhard (k.reinhard@micromata.de)
 */
public class TimesheetFilter extends BaseSearchFilter implements Serializable, TaskDependentFilter
{
  private static final long serialVersionUID = -1449906331186225597L;

  private TimePeriod timePeriod;

  private Long userId;

  private Long taskId;

  private boolean marked;

  @PropertyInfo(i18nKey = "longFormat")
  private boolean longFormat = false;

  @PropertyInfo(i18nKey = "recursive")
  private boolean recursive = true;

  private boolean onlyBillable = false;

  private OrderDirection orderType = OrderDirection.DESC;

  public TimesheetFilter()
  {
  }

  public TimesheetFilter(final BaseSearchFilter filter)
  {
    super(filter);

    if (filter instanceof TimesheetFilter) {
      TimesheetFilter tf = (TimesheetFilter) filter;
      this.timePeriod = tf.timePeriod;
      this.userId = tf.userId;
      this.taskId = tf.taskId;
      this.marked = tf.marked;
      this.longFormat = tf.longFormat;
      this.recursive = tf.recursive;
      this.onlyBillable = tf.onlyBillable;
      this.orderType = tf.orderType;
    }
  }

  @Override
  public Long getTaskId()
  {
    return taskId;
  }

  @Override
  public void setTaskId(final Long taskId)
  {
    this.taskId = taskId;
  }

  public Long getUserId()
  {
    return userId;
  }

  public void setUserId(final Long userId)
  {
    this.userId = userId;
  }

  /**
   * @return the startTime
   */
  public Date getStartTime()
  {
    return getTimePeriod().getFromDate();
  }

  /**
   * @param startTime the startTime to set
   */
  public void setStartTime(final Date startTime)
  {
    getTimePeriod().setFromDate(startTime);
  }

  /**
   * @return the stopTime
   */
  public Date getStopTime()
  {
    return getTimePeriod().getToDate();
  }

  /**
   * @param stopTime the stopTime to set
   */
  public void setStopTime(final Date stopTime)
  {
    getTimePeriod().setToDate(stopTime);
  }

  /**
   * Gets start and stop time from timePeriod.
   *
   * @param timePeriod
   */
  public void setTimePeriod(final TimePeriod timePeriod)
  {
    setStartTime(timePeriod.getFromDate());
    setStopTime(timePeriod.getToDate());
// ... (gekürzt, insgesamt 207 Zeilen)

Git-Verlauf

868d6abb7 2025 -> 2026
63081666f Quellcode-Dateiköpfe: 2024 -> 2025.
4c04cfd65 MAJOR-CHANGE! Migration von Integer-IDs zu Long-IDs (inkl. Fremdschlüssel usw.)
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.