Untitled
unknown
plain_text
2 years ago
1.2 kB
8
Indexable
public void updateTerminal(NgaTerminal ngaTerminal) throws PersistenceException {
Long terminalId = ngaTerminal.getTerminalId();
try {
NgaTerminalOld ngaTerminalOld;
NgaTerminal terminalSelected = terminalRepository.findByTerminalId(terminalId);
NgaTerminal terminalByCode = terminalRepository.findByZoneCode(ngaTerminal.getZone(), ngaTerminal.getSalepointCode(), ngaTerminal.getTerminalSalepointCode());
if (terminalByCode != null && !ngaTerminal.getTerminalId().equals(terminalByCode.getTerminalId())) {
throw new PersistenceException("Impossible to update terminalId " + terminalId + " because there is another terminalId " + terminalByCode.getTerminalId() + " already present on legacy key " + terminalByCode.getZone() + "-" + terminalByCode.getSalepointCode() + "-" + terminalByCode.getTerminalSalepointCode());
}
ngaTerminalOld = TerminalUtils.copyTerminal(terminalSelected);
entityManager.persist(ngaTerminalOld);
entityManager.flush();
terminalRepository.saveAndFlush( ngaTerminal);
} catch (Exception e) {
logger.error("NgaPersistenceServices|updateTerminal() - Error due to terminalId: ", terminalId,e);
throw new PersistenceException(e.getMessage(), e);
}
}Editor is loading...