Skip to content

Commit

Permalink
Gestione registrazione fattura elettronica con compenso senza calcolo…
Browse files Browse the repository at this point in the history
… -solo utenti con accesso 'AMMFATTURDOCSFATPASA' - es. Casistica notai
  • Loading branch information
rosangela.pucciarelli committed Dec 6, 2016
1 parent e98e026 commit 2b31137
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 17 deletions.
Expand Up @@ -1144,7 +1144,8 @@ public Forward doOnFlSenzaCalcoliChange(ActionContext context) {
compenso.setIncarichi_repertorio_anno(null);
compenso.setContratto(null);
compenso.setOggetto_contratto(null);
compenso.resetDatiFattura();
if(!compenso.getFl_generata_fattura())
compenso.resetDatiFattura();

// Puo' valere TRUE solo se il compenso è senza calcoli
if(!compenso.isSenzaCalcoli() && compenso.getFl_recupero_rate().booleanValue())
Expand Down Expand Up @@ -1745,7 +1746,7 @@ private void impostaStatoCompenso(ActionContext context) throws BusinessProcessE

CRUDCompensoBP bp = (CRUDCompensoBP)getBusinessProcess(context);
CompensoBulk compenso = (CompensoBulk)bp.getModel();

if (compenso.getImportoObbligazione().compareTo(new java.math.BigDecimal(0))<=0){
if (compenso.getObbligazioneScadenzario()!=null)
compenso = bp.doEliminaObbligazione(context);
Expand Down
Expand Up @@ -1498,7 +1498,7 @@ private void elaboraCompenso(UserContext userContext, CompensoBulk compenso)
cs.setNull(11, java.sql.Types.NUMERIC);
cs.setNull(12, java.sql.Types.NUMERIC);
}
if (compenso.isElettronica()) {
if (compenso.isElettronica() && !compenso.isSenzaCalcoli()) {
cs.setObject(13, compenso.getFatturaPassiva().getDocumentoEleTestata().getIdPaese());
cs.setObject(14, compenso.getFatturaPassiva().getDocumentoEleTestata().getIdCodice());
cs.setObject(15, compenso.getFatturaPassiva().getDocumentoEleTestata().getIdentificativoSdi());
Expand Down Expand Up @@ -2544,8 +2544,8 @@ public OggettoBulk inizializzaBulkPerInserimento(UserContext userContext,
throw handleException(compenso, e);
} catch (java.text.ParseException e) {
throw handleException(compenso, e);
}

}
return compenso;
}

Expand Down Expand Up @@ -3083,6 +3083,12 @@ public CompensoBulk inizializzaCompensoPerFattura(

compenso.setFl_documento_ele(fp.isElettronica());
compenso.setTi_istituz_commerc(fp.getTi_istituz_commerc());
if(compenso.isElettronica())
try {
compenso.setUserAbilitatoSenzaCalcolo(((it.cnr.contab.utente00.nav.ejb.GestioneLoginComponentSession)it.cnr.jada.util.ejb.EJBCommonServices.createEJB("CNRUTENZE00_NAV_EJB_GestioneLoginComponentSession")).controllaAccesso(userContext, "AMMFATTURDOCSFATPASA"));
} catch (RemoteException e) {
throw handleException(compenso, e);
}

// Settaggio Terzo
completaTerzo(userContext, compenso);
Expand Down Expand Up @@ -4095,7 +4101,7 @@ public CompensoBulk reloadCompenso(UserContext userContext,
getHomeCache(userContext).fetchAll(userContext);

if (compenso !=null && compenso.getIm_totale_compenso()!=null && bulk.getFatturaPassiva() != null && bulk.getFatturaPassiva().getIm_totale_fattura()!=null &&
compenso.getIm_totale_compenso().compareTo(bulk.getFatturaPassiva().getIm_totale_fattura())!=0)
compenso.getIm_totale_compenso().compareTo(bulk.getFatturaPassiva().getIm_totale_fattura())!=0 && !compenso.isSenzaCalcoli())
throw new it.cnr.jada.comp.ApplicationException("Importo totale del compenso calcolato: " + compenso.getIm_totale_compenso() + " diverso da quello della fattura: "+ bulk.getFatturaPassiva().getIm_totale_fattura());

compenso.setPgCompensoPerClone(pgTmp);
Expand Down Expand Up @@ -4935,7 +4941,7 @@ private void validaCompenso(UserContext userContext, CompensoBulk compenso)
if ((compenso.getDt_fattura_fornitore().compareTo(data_limite) < 0)||(data_limite_sup!=null && compenso.getDt_fattura_fornitore().compareTo(data_limite_sup) > 0)) {
compenso.setFl_liquidazione_differita(false);
throw new it.cnr.jada.comp.ApplicationException(
"Non � possibile indicare la liquidazione differita con la data fattura fornitore indicata.");
"Non è possibile indicare la liquidazione differita con la data fattura fornitore indicata.");
}
}
// Controlli aggiunti per l'Art.35 DL n.223/2006
Expand All @@ -4944,23 +4950,28 @@ private void validaCompenso(UserContext userContext, CompensoBulk compenso)
&& !compenso.LIBERO_FONDO_ECO.equals(compenso
.getStato_pagamento_fondo_eco()))
throw new it.cnr.jada.comp.ApplicationException(
"Il compenso non pu� essere associato a fondo economale per il tipo di trattamento prescelto");
"Il compenso non può essere associato a fondo economale per il tipo di trattamento prescelto");
if (compenso.getFl_generata_fattura()
&& compenso.getPartita_iva() == null
&& !((TerzoBulk) compenso.getTerzo()).getAnagrafico()
.getFl_non_obblig_p_iva())
throw new it.cnr.jada.comp.ApplicationException(
"Per poter generare la fattura � necessario che il terzo abbia la Partita Iva");
"Per poter generare la fattura è necessario che il terzo abbia la Partita Iva");
if (compenso.getFl_generata_fattura()
&& compenso.getCodice_fiscale() == null)
throw new it.cnr.jada.comp.ApplicationException(
"Per poter generare la fattura � necessario che il terzo abbia il Codice Fiscale valorizzato");
"Per poter generare la fattura è necessario che il terzo abbia il Codice Fiscale valorizzato");

validaDatiLiquidazione(compenso);

if (compenso.isStatoCompensoEseguiCalcolo())
throw new it.cnr.jada.comp.ApplicationException(
"E' necessario eseguire il calcolo prima di continuare");
// controllo omesso sull'esegui calcolo per !compenso.isSenzaCalcoli() da fare al riporta
if (compenso !=null && compenso.getIm_totale_compenso()!=null && compenso.getFatturaPassiva() != null && compenso.getFatturaPassiva().getIm_totale_fattura()!=null &&
compenso.getIm_totale_compenso().compareTo(compenso.getFatturaPassiva().getIm_totale_fattura())!=0)
throw new it.cnr.jada.comp.ApplicationException("Importo totale del compenso calcolato: " + compenso.getIm_totale_compenso() + " diverso da quello della fattura: "+ compenso.getFatturaPassiva().getIm_totale_fattura());


validaObbligazione(userContext, compenso.getObbligazioneScadenzario(),
compenso);
Expand All @@ -4974,7 +4985,7 @@ private void validaCompenso(UserContext userContext, CompensoBulk compenso)
compenso.setPg_trovato(null);
if (isObbligatoriaIndicazioneTrovato(voce) && compenso.getPg_trovato()==null )
throw new it.cnr.jada.comp.ApplicationException(
"Attenzione! Non � stato inserito il Brevetto/Trovato mentre la voce di bilancio utilizzata per la contabilizzazione del dettaglio collegato ne prevede l'indicazione obbligatoria");
"Attenzione! Non è stato inserito il Brevetto/Trovato mentre la voce di bilancio utilizzata per la contabilizzazione del dettaglio collegato ne prevede l'indicazione obbligatoria");
}
}

Expand Down Expand Up @@ -5256,7 +5267,7 @@ private void validaDatiLiquidazione(CompensoBulk compenso)
"Inserire la Tipologia di Rischio");
if (compenso.getImponibile_inail() == null)
throw new it.cnr.jada.comp.ApplicationException(
"L'imponibile INAIL non pu� essere vuoto");
"L'imponibile INAIL non può essere vuoto");
}
}

Expand Down Expand Up @@ -5332,10 +5343,10 @@ else if (compenso.getImportoObbligazione().compareTo(

if (obblig.getIm_obbligazione() == null)
throw new it.cnr.jada.comp.ApplicationException(
"L'Importo dell'impegno � un dato obbligatorio");
"L'Importo dell'impegno è un dato obbligatorio");
if (scadenza.getIm_scadenza() == null)
throw new it.cnr.jada.comp.ApplicationException(
"L'Importo della scadenza � un dato obbligatorio");
"L'Importo della scadenza è un dato obbligatorio");

// Importo della scadenza diverso da quello del compenso
if (scadenza.getIm_scadenza().compareTo(
Expand Down
Expand Up @@ -220,7 +220,7 @@ public class CompensoBulk extends CompensoBase implements IDefferUpdateSaldi, ID
private Tipo_prestazione_compensoBulk tipoPrestazioneCompenso;
private java.util.Collection tipiPrestazioneCompenso;
private java.sql.Timestamp dataInizioObbligoRegistroUnico;

private boolean userAbilitatoSenzaCalcolo = false;
public CompensoBulk() {
super();
}
Expand Down Expand Up @@ -1620,7 +1620,7 @@ public boolean isROFindVoceIva() {
*/
public boolean isROFlagSenzaCalcoli() {

if (isAssociatoADocumento() || isROPerChiusura() || getFatturaPassiva() != null)
if (isDaMissione() || isDaMinicarriera() || isDaConguaglio() || isDaBonus() || isROPerChiusura() || (isDaFatturaPassiva() && !isUserAbilitatoSenzaCalcolo()))
return true;
return false;
}
Expand Down Expand Up @@ -1663,7 +1663,7 @@ public boolean isROLineaAttivita() {
* @return boolean
*/
public boolean isROModalitaPagamento() {
return isROPerChiusura() || isDaFatturaPassiva();
return isROPerChiusura();// || isDaFatturaPassiva();
}

/**
Expand Down Expand Up @@ -3394,4 +3394,13 @@ public java.util.List getMandatiRigaAssociati() {
public void setMandatiRigaAssociati(java.util.List mandatiRigaAssociati) {
this.mandatiRigaAssociati = mandatiRigaAssociati;
}

public void setUserAbilitatoSenzaCalcolo(boolean b) {
this.userAbilitatoSenzaCalcolo=b;

}

public boolean isUserAbilitatoSenzaCalcolo() {
return userAbilitatoSenzaCalcolo;
}
}

0 comments on commit 2b31137

Please sign in to comment.