EN · DE · RU · FR · ES

#600: TimesheetFilter.java

projectforge-business/src/main/java/org/projectforge/business/timesheet/TimesheetFilter.java Тип: Java · Роль: Timesheet · Источник: projectforge-business/src/main/java/org/projectforge/business/timesheet/TimesheetFilter.java 229 строк · 125 кода · 69 комментариев · 35 пустых
Бин критериев фильтрации/поиска для запросов Timesheet. Расширяет BaseSearchFilter, предоставляя типизированные параметры запроса для представлений списков и экспорта в Excel.

Структура кода

Пакет: org.projectforge.business.timesheet

Классы: TimesheetFilter

Расширяет: BaseSearchFilter

Реализует: Serializable, TaskDependentFilter

Методы (20): getTaskId, setTaskId, getUserId, setUserId, getStartTime, setStartTime, getStopTime, setStopTime, setTimePeriod, isMarked, setMarked, isLongFormat, setLongFormat, isRecursive, setRecursive, isOnlyBillable, setOnlyBillable, getOrderType, setOrderType, getTimePeriod

Поля (9): serialVersionUID, timePeriod, userId, taskId, marked, longFormat, recursive, onlyBillable, orderType

Импорты: 6 пакетов

Исходный код (сокращённый)

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());
// ... (сокращено, всего 207 строк)

История Git

868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024-> 2025.
4c04cfd65 MAJOR-CHANGE! Миграция целочисленных id на Long id (включая внешние ключи и т.д.)
b6092df09 Авторские права 2023 -> 2024
ab45d51fa Авторские права 2001-2022 -> 2001-2023.