throw new MovimentoNonValidoException("AlertMsgTipoMovimentoNonValido");
// dettaglio causale
String codiceCausale = movimentoCaricato.getCodiceCausale();
Integer progressivoCausaleOperazione = movimentoCaricato.getProgressivoCausaleOperazione();
DettaglioCausaleOperazione dettaglioCausaleOperazione = contabilitaFacade.leggiDettaglioCausaleOperazione(codiceCausale, progressivoCausaleOperazione);
if (dettaglioCausaleOperazione == null)
throw new MovimentoNonValidoException("AlertMsgCausaleNonValida");
movimentoCaricato.setDettaglioCausaleOperazione(dettaglioCausaleOperazione);
// gruppo
Long codiceGruppoExp = dettaglioCausaleOperazione.getPianoDeiConti().getCodiceGruppo();
Long codiceGruppoAct = movimentoCaricato.getPianoDeiConti().getCodiceGruppo();
if (!codiceGruppoAct.equals(codiceGruppoExp))
if (movimentoCaricato.isGruppoModificabile())
controllaGruppoValido(codiceGruppoAct);
else
throw new MovimentoNonValidoException("AlertMsgGruppoDiversoDaGruppoCausale");
// mastro
Long codiceMastroExp = dettaglioCausaleOperazione.getPianoDeiConti().getCodiceMastro();
Long codiceMastroAct = movimentoCaricato.getPianoDeiConti().getCodiceMastro();
Mastro mastro = null;
if (codiceMastroAct.equals(codiceMastroExp) || movimentoCaricato.isMastroModificabile()) {
mastro = controllaMastroValido(codiceGruppoAct, codiceMastroAct);
controllaMastroSocietaVeicolo(codiceMastroAct, movimentoCaricato);
}
else
throw new MovimentoNonValidoException("AlertMsgMastroDiversoDaMastroCausale");
// finanziamento
if ("C".equals(mastro.getFlagCodFinanziamento())) {
if (!(new Integer(1)).equals(movimentoCaricato.getCodiceFinanziamento()))
throw new MovimentoNonValidoException("AlertMsgFinanziamentoDiversoDaFinaziamentoMastro");
} else if (!"S".equals(mastro.getFlagCodFinanziamento()))
if (movimentoCaricato.getCodiceFinanziamento() != null)
throw new MovimentoNonValidoException("AlertMsgFinanziamentoDiversoDaFinaziamentoMastro");
// conto
Long codiceContoExp = dettaglioCausaleOperazione.getPianoDeiConti().getCodiceConto();
Long codiceContoAct = movimentoCaricato.getPianoDeiConti().getCodiceConto();
if (!codiceContoAct.equals(codiceContoExp))
if (movimentoCaricato.isContoModificabile())
controllaContoValido(codiceContoAct, movimentoCaricato);
else
throw new MovimentoNonValidoException("AlertMsgContoDiversoDaContoCausale");
// importo
if ("D".equals(dettaglioCausaleOperazione.getSegno())) {
if (!movimentoCaricato.getImportoAvere().equals(0.0))
throw new MovimentoNonValidoException("AlertMsgImportoAvereValorizzato");
}
else if ("A".equals(dettaglioCausaleOperazione.getSegno())) {
if (!movimentoCaricato.getImportoDare().equals(0.0))
throw new MovimentoNonValidoException("AlertMsgImportoDareValorizzato");
}
// descrizione
String descrizioneMovimento = movimentoCaricato.getDescrizioneMovimento();
if (descrizioneMovimento!=null && descrizioneMovimento.length()>60)
throw new MovimentoNonValidoException("AlertMsgDescrizioneTroppoLunga");
// tipo documento iva
movimentoCaricato.setCodiceTipoDocumentoIva(dettaglioCausaleOperazione.getTipoDocumentoIva());
// tipo protocollo
String codiceTipoProtocollo = dettaglioCausaleOperazione.getCodiceTipoProtocollo();
movimentoCaricato.setCodiceTipoProtocollo(codiceTipoProtocollo);
if (StringUtility.checkNull(codiceTipoProtocollo).equals("")) {
movimentoCaricato.setNumeroProtocollo(null);
movimentoCaricato.setDataProtocollo(null);
movimentoCaricato.setTipoProtocollo(null);