Funzione funzione = contabilitaDao.leggiFunzione(codiceFunzione);
if (funzione == null)
throw new FunzioneNotFoundException(codiceFunzione);
CausaleFattura causaleFattura = funzione.getCausaleFattura();
if (causaleFattura == null)
throw new CausaleFatturaNotFoundException(codiceFunzione);
datiFattura.setStd_tp_protocollo(causaleFattura.getCodiceTipoProtocollo());
datiFattura.setTp_protocollo("");
datiFattura.setStd_tp_documento_iva(causaleFattura.getTipoDocumentoIva());
datiFattura.setTp_documento_iva("");
datiFattura.setStd_tp_registro_iva(causaleFattura.getTipoBollatoIva());
datiFattura.setTp_registro_iva("");
if (datiFattura.getStd_tp_protocollo() != null)
checkDataRegistrazioneConProtocollo(datiFattura.getStd_tp_protocollo());
TestataFattura testataFattura = new TestataFattura();
testataFattura.setNumeroFattura(datiFattura.getProgressivoFattura());
testataFattura.setNumeroFatturaCustom(datiFattura.getNumeroFatturaCustom());
String codiceMutuoInterno = causaleFattura.getCodiceMutuoInterno();
if (codiceMutuoInterno != null)
codiceMutuoInterno = codiceMutuoInterno.trim();
if (codiceMutuoInterno == null || "".equals(codiceMutuoInterno)) {
codiceMutuoInterno = datiTestataFattura.getCodiceMutuoInterno();
}
testataFattura.setCodiceMutuoInterno(codiceMutuoInterno);
if (codiceMutuoInterno == null || "".equals(codiceMutuoInterno)) {
gruppoSoggetto = datiTestataFattura.getCodiceGruppo();
mastroSoggetto = datiTestataFattura.getCodiceMastro();
testataFattura.setCodiceGruppo(datiTestataFattura.getCodiceGruppo());
testataFattura.setCodiceMastro(datiTestataFattura.getCodiceMastro());
// per avere il dato dal completatore
datiFattura.setCodiceIntestatario(datiTestataFattura.getCodiceIntestatario());
datiFattura.setTipoIntestatario(datiTestataFattura.getTipoIntestatario());
} else {
gruppoSoggetto = causaleFattura.getCodiceGruppo().longValue();
mastroSoggetto = causaleFattura.getCodiceMastro().longValue();
testataFattura.setCodiceGruppo(causaleFattura.getCodiceGruppo().longValue());
testataFattura.setCodiceMastro(causaleFattura.getCodiceMastro().longValue());
if (!isCreaFattura) {
if (datiTestataFattura.getNumeroSoggetto() != null) {
datiFattura.setCodiceIntestatario(datiTestataFattura.getNumeroSoggetto());
}
datiFattura.setTipoIntestatario("S");
}
}
testataFattura.setTipoIntestatario(datiFattura.getTipoIntestatario());
testataFattura.setNumeroIntestatario(datiFattura.getCodiceIntestatario() != null ? datiFattura.getCodiceIntestatario() : 0l);
testataFattura.setCodiceCausaleFattura(causaleFattura.getCodiceCausaleFattura());
testataFattura.setCodiceCondizioniPagamento(causaleFattura.getCodiceCondPag());
testataFattura.setStatoFattura("P");
testataFattura.setTipoBollatoIva(datiFattura.getStd_tp_registro_iva());
testataFattura.setTipoDocumentoIva(datiFattura.getStd_tp_documento_iva());
testataFattura.setCodiceTipoProtocollo(datiFattura.getStd_tp_protocollo());
testataFattura.setNumeroProtocollo(0);