Search in sources :

Example 1 with Ass_anag_voce_epHome

use of it.cnr.contab.coepcoan00.tabrif.bulk.Ass_anag_voce_epHome in project sigla-main by consiglionazionaledellericerche.

the class ScritturaPartitaDoppiaComponent method validaAssociazioneAnagConto.

/**
 * valida la correttezza dell'associazione fra anagrafico e conto
 *
 * Nome: Nessuna associzione fra anagrafico-conto
 * Pre:  Per la scrittura in partita doppia e' stato selezionato un terzo le cui caratteristiche anagrafiche non
 *       sono state messe in relazione con neanche un conto definito per la scrittura (sia in avere che in dare)
 * Post: Una segnalazione di errore viene restituita all'utente
 *
 * Nome: Almeno un'associzione fra anagrafico-conto
 * Pre:  Per la scrittura in partita doppia e' stato selezionato un terzo le cui caratteristiche anagrafiche
 *       sono state messe in relazione con un conto definito per la scrittura (in avere o in dare)
 * Post: La scrittura supera la validazione anagrafica-conto
 *
 * @param userContext <code>UserContext</code>
 * @param scrittura <code>Scrittura_partita_doppiaBulk</code> da validare
 */
private void validaAssociazioneAnagConto(UserContext userContext, Scrittura_partita_doppiaBulk scrittura) throws ComponentException, PersistencyException {
    List result = ((Ass_anag_voce_epHome) getHome(userContext, Ass_anag_voce_epBulk.class)).findAssociazioniPerScrittura(scrittura);
    if (result == null || (result != null && result.size() == 0))
        throw new ApplicationException("Non esiste nessuna associazione fra l'anagrafica selezionata e i conti economico-patrimoniali");
    Ass_anag_voce_epBulk ass = (Ass_anag_voce_epBulk) result.get(0);
    Movimento_cogeBulk movimento;
    for (Iterator j = scrittura.getMovimentiAvereColl().iterator(); j.hasNext(); ) {
        movimento = (Movimento_cogeBulk) j.next();
        if (movimento.getConto().equalsByPrimaryKey(ass.getConto()))
            return;
    }
    for (Iterator j = scrittura.getMovimentiDareColl().iterator(); j.hasNext(); ) {
        movimento = (Movimento_cogeBulk) j.next();
        if (movimento.getConto().equalsByPrimaryKey(ass.getConto()))
            return;
    }
    throw new ApplicationException("Non esiste nessuna associazione fra l'anagrafica selezionata e i conti economico-patrimoniali");
}
Also used : Ass_anag_voce_epHome(it.cnr.contab.coepcoan00.tabrif.bulk.Ass_anag_voce_epHome) Ass_anag_voce_epBulk(it.cnr.contab.coepcoan00.tabrif.bulk.Ass_anag_voce_epBulk) BulkList(it.cnr.jada.bulk.BulkList)

Aggregations

Ass_anag_voce_epBulk (it.cnr.contab.coepcoan00.tabrif.bulk.Ass_anag_voce_epBulk)1 Ass_anag_voce_epHome (it.cnr.contab.coepcoan00.tabrif.bulk.Ass_anag_voce_epHome)1 BulkList (it.cnr.jada.bulk.BulkList)1