if (!"D".equalsIgnoreCase(dettaglioCausale.getSegno()) && !"A".equalsIgnoreCase(dettaglioCausale.getSegno())) {
throw new SegnoCausaleNonPrevistoException(dettaglioCausale.getSegno());
}
MovimentoContabile movimentoContabile = new MovimentoContabile();
MovimentoContabileId id = new MovimentoContabileId();
id.setNumeroArticolo(datiFattura.getNumeroArticolo());
id.setProgressivoRigaArticolo(datiFattura.setProgressivoRigaArticolo(datiFattura.getProgressivoRigaArticolo() + 1));
movimentoContabile.setMovimentoContabileId(id);
movimentoContabile.setNumeroArticoloCustom(datiFattura.getNumeroArticoloCustom());
if (datiFattura.getStd_tp_protocollo() != null && !"".equals(datiFattura.getStd_tp_protocollo())) {
movimentoContabile.setDataProtocollo(datiFattura.getDataRegistrazione());
}
String reg_iva = datiFattura.getStd_tp_registro_iva();
if ("D".equalsIgnoreCase(dettaglioCausale.getSegno())) {
reg_iva = compilaMovimentoDare(reg_iva, movimentoContabile);
movimentoContabile.setImportoAvere(0.0);
} else if ("A".equalsIgnoreCase(dettaglioCausale.getSegno())) {
reg_iva = compilaMovimentoAvere(reg_iva, movimentoContabile);
movimentoContabile.setImportoDare(0.0);
}
if (causaleAntiMafia != null) {
Long progr_antm = 0L;
GestioneAntiMafia antimafia = new GestioneAntiMafia(contabilitaDao);
progr_antm = antimafia.creaAntiMafia(voce, causaleAntiMafia, datiFattura.getDataRegistrazione(), datiFattura.getNumeroArticolo(),
datiFattura.getProgressivoRigaArticolo());
movimentoContabile.setNumeroAntm(progr_antm);
} else {
movimentoContabile.setNumeroAntm(0L);
}
if (voce.getDataCompetenza() == null) {
movimentoContabile.setDataCompetenza(datiFattura.getDataRegistrazione());
} else {
movimentoContabile.setDataCompetenza(voce.getDataCompetenza());
}
if (!"S".equalsIgnoreCase(dettaglioCausale.getFlagDataValuta()))
movimentoContabile.setDataValuta(null);
else
movimentoContabile.setDataValuta(voce.getDataValuta());
movimentoContabile.setCodiceCausale(dettaglioCausale.getCodiceCausaleOperazione());
movimentoContabile.setProgressivoCausaleOperazione(dettaglioCausale.getProgressivoCausaleOperazione());
PianoDeiConti pianoDeiConti = new PianoDeiConti();
pianoDeiConti.setCodiceGruppo(dettaglioCausale.getPianoDeiConti().getCodiceGruppo());
pianoDeiConti.setCodiceMastro(dettaglioCausale.getPianoDeiConti().getCodiceMastro());
if (dettaglioCausale.getPianoDeiConti().getCodiceConto() != null)
pianoDeiConti.setCodiceConto(dettaglioCausale.getPianoDeiConti().getCodiceConto());
else
pianoDeiConti.setCodiceConto(null);
if (pianoDeiConti.getCodiceConto() == null || pianoDeiConti.getCodiceConto().longValue() == 0)
if (!"S".equals(dettaglioCausale.getTipoConto()) && !"M".equals(dettaglioCausale.getTipoConto()))
pianoDeiConti.setCodiceConto(voce.getConto());
else if ("M".equals(dettaglioCausale.getTipoConto()))
pianoDeiConti.setCodiceConto(voce.getNumeroMutuo());
else if ("S".equals(dettaglioCausale.getTipoConto()))
pianoDeiConti.setCodiceConto(voce.getNumeroSoggetto());
movimentoContabile.setPianoDeiConti(pianoDeiConti);
movimentoContabile.setDataRegistrazione(datiFattura.getDataRegistrazione());
movimentoContabile.setDataEmissione(datiFattura.getDataRegistrazione());
movimentoContabile.setFlagModificabile("S");
movimentoContabile.setNumeroBollato(0L);
movimentoContabile.setTipoMovimento("C");
movimentoContabile.setCodiceFinanziamento(null);
movimentoContabile.setCodiceSocietaVeicolo(datiFattura.getCodiceSocietaVeicolo());
contabilitaDao.scriviMovimentoContabile(movimentoContabile);
if (dettaglioCausale.getCodicePartita() != null && !"".equals(dettaglioCausale.getCodicePartita())) {
voce.setGruppoPartitario(dettaglioCausale.getPianoDeiConti().getCodiceGruppo());