EN · DE · RU · FR · ES

#443: KostZuweisungDao.java

projectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungDao.java Typ: Java · Rolle: Datenzugriffsobjekt · Quelle: projectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungDao.java 109 Zeilen · 52 Code · 46 Kommentare · 11 leer
Datenzugriffsobjekt für KostZuweisung-Entitäten. Erweitert BaseDao, um CRUD-Operationen, Hibernate-Search-Abfragen und Datenzugriff auf Geschäftslogikebene bereitzustellen.

Codestruktur

Paket: org.projectforge.business.fibu.kost

Klassen: KostZuweisungDao

Erweitert: BaseDao

Methoden (6): hasUserSelectAccess, hasUserSelectAccess, hasAccess, setKost1, setKost2, newInstance

Felder (2): kost1Dao, kost2Dao

Importe: 6 Pakete

Quellcode (gekürzt)

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);
  }

  /**
   * Benutzer muss Mitglied der Gruppe Finanzen oder Controlling sein.
   *
   * @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);
  }

  /**
   * Benutzer muss Mitglied der Gruppe Finanzen sein.
   *
   * @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 Wenn null, wird kost1 auf null gesetzt;
   * @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-Verlauf

868d6abb7 2025 -> 2026
63081666f Quellcode-Dateiköpfe: 2024 -> 2025.
1b50060c3 BaseDao: umbenannt: get -> find, save -> insert, getList -> select, load -> select
4c04cfd65 MAJOR-CHANGE! Migration von Integer-IDs zu Long-IDs (inkl. Fremdschlüssel usw.)
5bafe7941 @Repository -> @Service. @Transactional-Anmerkungen entfernt.