Skip to content

Commit

Permalink
BugID: 1367 - Fatturazione elettronica
Browse files Browse the repository at this point in the history
  • Loading branch information
mdurso committed Apr 7, 2015
1 parent 5b2c32b commit dadb07b
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 14 deletions.
Expand Up @@ -4862,6 +4862,7 @@ public Forward doCreaCompenso(ActionContext context) {
Integer esercizioScrivania = it.cnr.contab.utenze00.bp.CNRUserContext.getEsercizio(context.getUserContext());
java.math.BigDecimal quotaEsente = new java.math.BigDecimal(0);
java.math.BigDecimal quotaEsenteNonImpo = new java.math.BigDecimal(0);
java.math.BigDecimal imBollo = new java.math.BigDecimal(0);

Fattura_passiva_IBulk fp = (Fattura_passiva_IBulk)bp.getModel();

Expand Down Expand Up @@ -4894,10 +4895,12 @@ public Forward doCreaCompenso(ActionContext context) {
{
quotaEsente = fp.getDocumentoEleTestata().calcolaImQuotaEsente(fp.getDocumentoEleTestata());
quotaEsenteNonImpo = fp.getDocumentoEleTestata().calcolaImQuotaEsenteNonImpo(fp.getDocumentoEleTestata());
if(fp.getDocumentoEleTestata().getImportoBollo()!=null)
imBollo = fp.getDocumentoEleTestata().getImportoBollo();

compenso.setIm_lordo_percipiente(fp.getDocumentoEleTestata().calcolaImLordoPercipiente(fp.getDocumentoEleTestata()).add(quotaEsente).add(quotaEsenteNonImpo));
compenso.setQuota_esente(quotaEsenteNonImpo);
compenso.setQuota_esente_no_iva(quotaEsente.add(quotaEsenteNonImpo));
compenso.setIm_lordo_percipiente(fp.getDocumentoEleTestata().calcolaImLordoPercipiente(fp.getDocumentoEleTestata()).add(quotaEsente).add(quotaEsenteNonImpo).add(imBollo));
compenso.setQuota_esente(quotaEsenteNonImpo.add(imBollo));
compenso.setQuota_esente_no_iva(quotaEsente.add(quotaEsenteNonImpo).add(imBollo));
}

it.cnr.contab.compensi00.ejb.CompensoComponentSession component = (it.cnr.contab.compensi00.ejb.CompensoComponentSession)bp.createComponentSession("CNRCOMPENSI00_EJB_CompensoComponentSession",it.cnr.contab.compensi00.ejb.CompensoComponentSession.class );
Expand Down
Expand Up @@ -160,6 +160,7 @@
import it.cnr.jada.persistency.sql.SQLBuilder;
import it.cnr.jada.util.RemoteIterator;
import it.cnr.jada.util.ejb.EJBCommonServices;
import it.gov.fatturapa.sdi.fatturapa.v1.SoggettoEmittenteType;

import java.io.FileNotFoundException;
import java.io.IOException;
Expand Down Expand Up @@ -7084,15 +7085,84 @@ public void validaFatturaElettronica(UserContext aUC,Fattura_passivaBulk fattura
if (fatturaPassiva.getDocumentoEleTestata() == null)
throw new it.cnr.jada.comp.ApplicationException("Attenzione: non è possibile recuperare il documento elettronico!");

if ((fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getCodice_fiscale()!= null &&
fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getCodice_fiscale().compareTo(fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale())!=0)
&&
(fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getPartita_iva()!= null &&
fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getPartita_iva().compareTo(fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva())!=0))
throw new it.cnr.jada.comp.ApplicationException("Almeno uno tra Codice Fiscale e Partita IVA del fornitore deve coincidere con quello inserito nel documento elettronico. CF: " + fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getCodice_fiscale() + " PI: " + fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getPartita_iva() + "!");

if (fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getSoggettoEmittente() == null ||
!fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getSoggettoEmittente().equals(SoggettoEmittenteType.TZ.value()))
// il fornitore è il prestatore
{
if (((fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getCodice_fiscale()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getCodice_fiscale().compareTo(fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale())!=0
)
||
fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale()== null
||
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getCodice_fiscale() ==null
)
&&
((fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getPartita_iva()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getPartita_iva().compareTo(fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva())!=0
)
||
fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva()== null
||
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getPartita_iva() == null
)
)
throw new it.cnr.jada.comp.ApplicationException("Almeno uno tra Codice Fiscale e Partita IVA del fornitore deve coincidere con quello inserito per il prestatore nel documento elettronico. CF: " + fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getCodice_fiscale() + " PI: " + fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getPrestatoreAnag().getPartita_iva() + "!");
}

if (fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getSoggettoEmittente() != null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getSoggettoEmittente().equals(SoggettoEmittenteType.TZ.value()))
// il fornitore è l'intermediario o il rappresentante
{
if (((fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getIntermediarioCodicefiscale()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getIntermediarioCodicefiscale().compareTo(fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale())!=0
)
||
fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale()== null
||
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getIntermediarioCodicefiscale() ==null
)
&&
((fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getIntermediarioCodice()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getIntermediarioCodice().compareTo(fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva())!=0
)
||
fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva()== null
||
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getIntermediarioCodice() == null
)

&&

((fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getRappresentanteCodicefiscale()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getRappresentanteCodicefiscale().compareTo(fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale())!=0
)
||
fatturaPassiva.getFornitore().getAnagrafico().getCodice_fiscale()== null
||
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getRappresentanteCodicefiscale() ==null
)
&&
((fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getRappresentanteCodice()!= null &&
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getRappresentanteCodice().compareTo(fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva())!=0
)
||
fatturaPassiva.getFornitore().getAnagrafico().getPartita_iva()== null
||
fatturaPassiva.getDocumentoEleTestata().getDocumentoEleTrasmissione().getRappresentanteCodice() == null
)

)
throw new it.cnr.jada.comp.ApplicationException("Almeno uno tra Codice Fiscale e Partita IVA del fornitore deve coincidere con quelli inseriti per il Rappresentante fiscale/Intermediario nel documento elettronico.");

}

if (fatturaPassiva.getDocumentoEleTestata().getNumeroDocumento().compareTo(fatturaPassiva.getNr_fattura_fornitore())!=0)
throw new it.cnr.jada.comp.ApplicationException("Numero Fattura fornitore diverso da quello inserito nel documento elettronico: " + fatturaPassiva.getDocumentoEleTestata().getNumeroDocumento() + "!");

Expand All @@ -7101,7 +7171,7 @@ public void validaFatturaElettronica(UserContext aUC,Fattura_passivaBulk fattura

if (fatturaPassiva.getDocumentoEleTestata().getImportoDocumento()== null ||
fatturaPassiva.getIm_totale_fattura() == null ||
fatturaPassiva.getDocumentoEleTestata().getImportoDocumento().compareTo(fatturaPassiva.getIm_totale_fattura())!= 0)
(fatturaPassiva.getDocumentoEleTestata().getImportoDocumento()).compareTo(fatturaPassiva.getIm_totale_fattura())!= 0)
throw new it.cnr.jada.comp.ApplicationException("Totale Fattura: "+ fatturaPassiva.getIm_totale_fattura() + " diverso da quello inserito nel documento elettronico: " + fatturaPassiva.getDocumentoEleTestata().getImportoDocumento() + "!");

Hashtable<String, BigDecimal> mapNatura = new Hashtable<String, BigDecimal>(), mapIva = new Hashtable<String, BigDecimal>();
Expand Down
Expand Up @@ -1783,7 +1783,8 @@ public boolean isROFornitoreSearchTool() {
(fattura_passiva_intrastatColl != null &&
!fattura_passiva_intrastatColl.isEmpty()) ||
(fattura_passiva_dettColl != null &&
!fattura_passiva_dettColl.isEmpty()) ||
!fattura_passiva_dettColl.isEmpty()) &&
!(isElettronica() && getPg_fattura_passiva()==null) ||
isStampataSuRegistroIVA();
}
/**
Expand Down

0 comments on commit dadb07b

Please sign in to comment.