Skip to content

Commit

Permalink
Gestione prezzo fattura passiva con 6 decimali
Browse files Browse the repository at this point in the history
  • Loading branch information
rpagano committed Apr 21, 2015
1 parent c9cead5 commit 82a1d91
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 9 deletions.
Expand Up @@ -5970,7 +5970,7 @@ public void validaRiga (UserContext aUC,Fattura_passiva_rigaBulk riga) throws Co
throw new it.cnr.jada.comp.ApplicationException("Inserire un bene per la riga.");
if (riga.getVoce_iva() == null || riga.getVoce_iva().getCrudStatus() == OggettoBulk.UNDEFINED)
throw new it.cnr.jada.comp.ApplicationException("Inserire una voce IVA per la riga.");
if (riga.getQuantita() == null || riga.getQuantita().intValue() <= 0)
if (riga.getQuantita() == null || riga.getQuantita().compareTo(BigDecimal.ZERO) != 1)
throw new it.cnr.jada.comp.ApplicationException("La quantit� specificata NON � valida.");
if (riga.getPrezzo_unitario() == null)
throw new it.cnr.jada.comp.ApplicationException("Il prezzo unitario specificato NON � valido.");
Expand Down Expand Up @@ -7282,7 +7282,7 @@ public void validaFatturaElettronica(UserContext aUC,Fattura_passivaBulk fattura
String key = (String)i.next();
BigDecimal value = mapNatura.get(key);
BigDecimal valueEle = mapNaturaEle.get(key);
BigDecimal valueEleArr = mapNaturaEleArr.get(key);
BigDecimal valueEleArr = Utility.nvl(mapNaturaEleArr.get(key));
if ((valueEleArr.compareTo(new BigDecimal(0))==0 && value!=null && valueEle!=null && value.compareTo(valueEle)!=0) ||
(valueEleArr.compareTo(new BigDecimal(0))!=0 && value!=null && valueEle!=null && ((value.subtract(valueEle)).abs()).compareTo(valueEleArr.abs())!=0) ||
(value==null && valueEle!=null) || (value!=null && valueEle==null))
Expand All @@ -7298,7 +7298,7 @@ public void validaFatturaElettronica(UserContext aUC,Fattura_passivaBulk fattura
String key = (String)i.next();
BigDecimal value = mapIva.get(key);
BigDecimal valueEle = mapIvaEle.get(key);
BigDecimal valueEleArr = mapIvaEleArr.get(key);
BigDecimal valueEleArr = Utility.nvl(mapIvaEleArr.get(key));
if ((valueEleArr.compareTo(new BigDecimal(0))==0 && value!=null && valueEle!=null && value.compareTo(valueEle)!=0) ||
(valueEleArr.compareTo(new BigDecimal(0))!=0 && value!=null && valueEle!=null && ((value.subtract(valueEle)).abs()).compareTo(valueEleArr.abs())!=0) ||
(value==null && valueEle!=null) || (value!=null && valueEle==null))
Expand Down
Expand Up @@ -186,7 +186,7 @@
property="prezzo_unitario"
inputType="TEXT"
nullable="false"
formatName="it.cnr.contab.util.GenericPrezzoUnitarioFormat"
formatName="it.cnr.contab.util.Importo6CifreFormat"
readonlyProperty="ROdetail"
label="Prezzo Unitario" />
<fieldProperty
Expand Down
Expand Up @@ -65,7 +65,7 @@
propertyName="lineaPrezzounitario"
sqlTypeName="DECIMAL"
columnSize="17"
columnScale="2"
columnScale="6"
nullable="true" />
<columnMapping
columnName="TIPO_SCONTOMAG"
Expand Down
Expand Up @@ -518,7 +518,7 @@ private void elaboraFattura(FatturaElettronicaType fatturaElettronicaType, BigIn
docEleLinea.setLineaUnitamisura(dettaglioLinea.getUnitaMisura());
docEleLinea.setInizioDatacompetenza(convert(dettaglioLinea.getDataInizioPeriodo()));
docEleLinea.setFineDatacompetenza(convert(dettaglioLinea.getDataFinePeriodo()));
docEleLinea.setLineaPrezzounitario(truncBigDecimal(dettaglioLinea.getPrezzoUnitario()));
docEleLinea.setLineaPrezzounitario(truncBigDecimal(dettaglioLinea.getPrezzoUnitario(), 6));
if (dettaglioLinea.getScontoMaggiorazione() != null && !dettaglioLinea.getScontoMaggiorazione().isEmpty()) {
if (dettaglioLinea.getScontoMaggiorazione().size() == 1) {
if (dettaglioLinea.getScontoMaggiorazione().get(0).getTipo() != null)
Expand Down Expand Up @@ -826,13 +826,17 @@ private DocumentoEleAcquistoBulk caricaAcquisto(DatiDocumentiCorrelatiType datiO
}

private BigDecimal truncBigDecimal(BigDecimal bigDecimal) {
return truncBigDecimal(bigDecimal, 2);
}

private BigDecimal truncBigDecimal(BigDecimal bigDecimal, int scale) {
if (bigDecimal == null)
return null;
if (bigDecimal.scale() > 2)
return bigDecimal.setScale(2, RoundingMode.DOWN);
if (bigDecimal.scale() > scale)
return bigDecimal.setScale(scale, RoundingMode.DOWN);
return bigDecimal;
}

private java.sql.Timestamp convert(XMLGregorianCalendar calendar) {
if (calendar == null)
return null;
Expand Down

0 comments on commit 82a1d91

Please sign in to comment.