EN · DE · RU · FR · ES

#443: KostZuweisungDao.java

projectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungDao.java Тип: Java · Роль: Data Access Object · Источник: projectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungDao.java 109 строк · 52 кода · 46 комментариев · 11 пустых
Data Access Object для сущностей KostZuweisung. Расширяет BaseDao для предоставления CRUD-операций, запросов Hibernate Search и доступа к данным на уровне бизнес-логики.

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

Пакет: org.projectforge.business.fibu.kost

Классы: KostZuweisungDao

Расширяет: BaseDao

Методы (6): hasUserSelectAccess, hasUserSelectAccess, hasAccess, setKost1, setKost2, newInstance

Поля (2): kost1Dao, kost2Dao

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

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

package org.projectforge.business.fibu.kost;

import org.projectforge.business.user.ProjectForgeGroup;
import org.projectforge.framework.access.OperationType;
import org.projectforge.framework.persistence.api.BaseDao;
import org.projectforge.framework.persistence.user.entities.PFUserDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class KostZuweisungDao extends BaseDao<KostZuweisungDO>
{
  @Autowired
  private Kost1Dao kost1Dao;

  @Autowired
  private Kost2Dao kost2Dao;

  public KostZuweisungDao()
  {
    super(KostZuweisungDO.class);
  }

  /**
   * Пользователь должен быть участником группы finance или controlling.
   *
   * @see org.projectforge.framework.persistence.api.BaseDao#hasSelectAccess()
   */
  @Override
  public boolean hasUserSelectAccess(final PFUserDO user, final boolean throwException)
  {
    return accessChecker.isUserMemberOfGroup(user, throwException, ProjectForgeGroup.FINANCE_GROUP,
        ProjectForgeGroup.CONTROLLING_GROUP);
  }

  /**
   * @see org.projectforge.framework.persistence.api.BaseDao#hasSelectAccess(PFUserDO,
   *      org.projectforge.core.ExtendedBaseDO, boolean)
   * @see #hasUserSelectAccess(PFUserDO, boolean)
   */
  @Override
  public boolean hasUserSelectAccess(final PFUserDO user, final KostZuweisungDO obj, final boolean throwException)
  {
    return hasUserSelectAccess(user, throwException);
  }

  /**
   * Пользователь должен быть участником группы finance.
   *
   * @see org.projectforge.framework.persistence.api.BaseDao#hasAccess(Object, OperationType)
   */
  @Override
  public boolean hasAccess(final PFUserDO user, final KostZuweisungDO obj, final KostZuweisungDO oldObj,
      final OperationType operationType,
      final boolean throwException)
  {
    return accessChecker.isUserMemberOfGroup(user, throwException, ProjectForgeGroup.FINANCE_GROUP);
  }

  /**
   * @param kostZuweisung
   * @param kost1Id Если null, то kost1 будет установлен в null;
   * @see BaseDao#findOrLoad(Long)
   */
  public void setKost1(final KostZuweisungDO kostZuweisung, Long kost1Id)
  {
    Kost1DO kost1 = kost1Dao.findOrLoad(kost1Id);
    kostZuweisung.setKost1(kost1);
  }

  /**
   * @param kostZuweisung
   * @see BaseDao#findOrLoad(Long)
   */
  public void setKost2(final KostZuweisungDO kostZuweisung, Long kost2Id)
  {
    Kost2DO kost2 = kost2Dao.findOrLoad(kost2Id);
    kostZuweisung.setKost2(kost2);
  }

  @Override
  public KostZuweisungDO newInstance()
  {
    return new KostZuweisungDO();
  }
}

История Git

868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024-> 2025.
1b50060c3 BaseDao: переименовано: get -> find, save -> insert, getList -> select, load -> select
4c04cfd65 MAJOR-CHANGE! Миграция целочисленных id на Long id (включая внешние ключи и т.д.)
5bafe7941 @Repository -> @Service. @Transactional-Аннотации удалены.