flagSoggetto = "F";
}
if (!"S".equals(flagSoggetto) && !"M".equals(flagSoggetto) && !"B".equals(flagSoggetto) && !"F".equals(flagSoggetto))
throw new ErrataTipologiaSottocontoException(flagSoggetto);
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());
movimentoContabile.setCodiceCausale(dettaglioCausale.getCodiceCausaleOperazione());
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);
if ("D".equalsIgnoreCase(dettaglioCausale.getSegno())) {
movimentoContabile.setImportoDare(voce.getImportoVoce());
movimentoContabile.setImportoAvere(0.0);
movimentoContabile.setDescrizioneMovimento(StringUtils.substring(voce.getDescrizioneMovimentoDare(), 0, 60));
} else if ("A".equalsIgnoreCase(dettaglioCausale.getSegno())) {
movimentoContabile.setImportoAvere(voce.getImportoVoce());
movimentoContabile.setImportoDare(0.0);
movimentoContabile.setDescrizioneMovimento(StringUtils.substring(voce.getDescrizioneMovimentoAvere(), 0, 60));
}
movimentoContabile.setDataRegistrazione(datiFattura.getDataRegistrazione());
if ("S".equalsIgnoreCase(dettaglioCausale.getFlagDataCompetenza()) && voce.isNullDataCompetenza())
throw new DataCompetenzaNotFoundException();
movimentoContabile.setDataCompetenza(!voce.isNullDataCompetenza() ? voce.getDataCompetenza() : datiFattura.getDataRegistrazione());
if (!"S".equalsIgnoreCase(dettaglioCausale.getFlagDataValuta()))
movimentoContabile.setDataValuta(null);
else
movimentoContabile.setDataValuta(voce.getDataValuta());
movimentoContabile.setDataEmissione(null);
movimentoContabile.setRiferimentoDocumento(null);
movimentoContabile.setCodiceTipoProtocollo(datiFattura.getTp_protocollo());
movimentoContabile.setNumeroProtocollo(0);
movimentoContabile.setCodiceTipoDocumentoIva(null);
movimentoContabile.setFlagModificabile("S");
movimentoContabile.setNumeroBollato(0l);
movimentoContabile.setTipoMovimento("C");
movimentoContabile.setDataProtocollo(null);
Long progr_antm = 0L;
if (causaleAntiMafia != null) {
GestioneAntiMafia antimafia = new GestioneAntiMafia(contabilitaDao);
progr_antm = antimafia.creaAntiMafia(voce, causaleAntiMafia, datiFattura.getDataRegistrazione(), datiFattura.getNumeroArticolo(),
datiFattura.getProgressivoRigaArticolo());
}
movimentoContabile.setNumeroAntm(progr_antm);
movimentoContabile.setCodiceFinanziamento(calcolaCodiceFinanziamento());
movimentoContabile.setProgressivoCausaleOperazione(dettaglioCausale.getProgressivoCausaleOperazione());
movimentoContabile.setCodiceSocietaVeicolo(datiFattura.getCodiceSocietaVeicolo());
contabilitaDao.scriviMovimentoContabile(movimentoContabile);
if (dettaglioCausale.getCodicePartita() != null && !"".equals(dettaglioCausale.getCodicePartita())) {
voce.setGruppoPartitario(dettaglioCausale.getPianoDeiConti().getCodiceGruppo());