KontoDao.javaPaquete: org.projectforge.business.fibu
Clases: KontoDao
Extiende: BaseDao
Métodos (5): afterInsertOrModify, getKonto, newInstance, getKontoCache, onInsertOrModify
Campos (2): USER_RIGHT_ID, kontoCache
Importaciones: 8 paquetes
package org.projectforge.business.fibu;
import kotlin.Pair;
import org.jetbrains.annotations.NotNull;
import org.projectforge.business.user.UserRightId;
import org.projectforge.common.i18n.UserException;
import org.projectforge.framework.access.OperationType;
import org.projectforge.framework.persistence.api.BaseDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class KontoDao extends BaseDao<KontoDO> {
public static final UserRightId USER_RIGHT_ID = UserRightId.FIBU_ACCOUNTS;
@Autowired
private KontoCache kontoCache;
public KontoDao() {
super(KontoDO.class);
userRightId = USER_RIGHT_ID;
}
@Override
public void afterInsertOrModify(@NotNull final KontoDO obj, final OperationType operationType) {
getKontoCache().refresh();
}
public KontoDO getKonto(final Integer kontonummer) {
if (kontonummer == null) {
return null;
}
return persistenceService.selectNamedSingleResult(
KontoDO.FIND_BY_NUMMER,
KontoDO.class,
new Pair<>("nummer", kontonummer));
}
@NotNull
@Override
public KontoDO newInstance() {
return new KontoDO();
}
/**
* @return el kontoCache
*/
public KontoCache getKontoCache() {
return kontoCache;
}
@Override
public void onInsertOrModify(final KontoDO obj, final OperationType operationType) {
if (obj.getNummer() != null && obj.getNummer() > 0) {
KontoDO existingAccount = getKonto(obj.getNummer());
//Caso de inserción
if (existingAccount != null && (obj.getId() == null || !obj.getId().equals(existingAccount.getId()))) {
throw new UserException("fibu.konto.validate.duplicate");
}
}
}
}
868d6abb7 2025 -> 2026 63081666f Encabezados de archivos fuente: 2024-> 2025. 5989b32fd BaseDao: mecanismo de onChangeListener refactorizado. 1b50060c3 BaseDao: renombrado: get -> find, save -> insert, getList -> select, load -> select 3aeda5ef5 Cambio grande: todos los save|update|...InTrans renombrados (InTrans eliminado). PfPesistenceContext ya no es necesario como parámetro (se usa ThreadLocal en su lugar). (todas las pruebas de todos los paquetes: OK).