EN · DE · RU · FR · ES

#600 : TimesheetFilter.java

projectforge-business/src/main/java/org/projectforge/business/timesheet/TimesheetFilter.java Type : Java · Rôle : Timesheet · Source : projectforge-business/src/main/java/org/projectforge/business/timesheet/TimesheetFilter.java 229 lignes · 125 code · 69 commentaires · 35 vides
Bean de critères de filtre/recherche pour les requêtes Timesheet. Étend BaseSearchFilter pour fournir des paramètres de requête typés pour les vues de liste et les exportations Excel.

Structure du code

Package : org.projectforge.business.timesheet

Classes : TimesheetFilter

Étend : BaseSearchFilter

Implémente : Serializable, TaskDependentFilter

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

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

Importations : 6 packages

Code source (abrégé)

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 le startTime
   */
  public Date getStartTime()
  {
    return getTimePeriod().getFromDate();
  }

  /**
   * @param startTime le startTime à définir
   */
  public void setStartTime(final Date startTime)
  {
    getTimePeriod().setFromDate(startTime);
  }

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

  /**
   * @param stopTime le stopTime à définir
   */
  public void setStopTime(final Date stopTime)
  {
    getTimePeriod().setToDate(stopTime);
  }

  /**
   * Obtient les heures de début et de fin à partir de timePeriod.
   *
   * @param timePeriod
   */
  public void setTimePeriod(final TimePeriod timePeriod)
  {
    setStartTime(timePeriod.getFromDate());
    setStopTime(timePeriod.getToDate());
// ... (tronqué, total 207 lignes)

Historique Git

868d6abb7 2025 -> 2026
63081666f En-têtes des fichiers source : 2024 -> 2025.
4c04cfd65 CHANGEMENT-MAJEUR ! Migration des identifiants entiers vers des identifiants Long (y compris les clés étrangères, etc.)
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.