use of it.cnr.contab.ordmag.ordini.bulk.FatturaOrdineBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaAction method doRettificaConsegna.
public Forward doRettificaConsegna(ActionContext context) {
try {
fillModel(context);
CRUDFatturaPassivaBP bp = Optional.ofNullable(getBusinessProcess(context)).filter(CRUDFatturaPassivaBP.class::isInstance).map(CRUDFatturaPassivaBP.class::cast).orElseThrow(() -> new DetailedRuntimeException("Business Process non valido"));
final List<FatturaOrdineBulk> details = bp.getFattureRigaOrdiniController().getDetails();
details.stream().forEach(fatturaOrdineBulk -> fatturaOrdineBulk.calcolaRettifiche());
return context.findDefaultForward();
} catch (Throwable t) {
return handleException(context, t);
}
}
use of it.cnr.contab.ordmag.ordini.bulk.FatturaOrdineBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaAction method doRemoveFromCRUDMain_Ordini.
public Forward doRemoveFromCRUDMain_Ordini(ActionContext context) throws ApplicationException {
CRUDFatturaPassivaBP bp = (CRUDFatturaPassivaBP) context.getBusinessProcess();
Fattura_passivaBulk fattura = (Fattura_passivaBulk) bp.getModel();
Selection selection = bp.getFattureRigaOrdiniController().getSelection();
Optional.ofNullable(selection).filter(selection1 -> !selection1.isEmpty()).orElseThrow(() -> new ApplicationException("Selezionare le consegne che si desidera eliminare!"));
final List<FatturaOrdineBulk> details = bp.getFattureRigaOrdiniController().getDetails();
final Iterator<Integer> iterator = selection.iterator();
List<FatturaOrdineBulk> bulksToRemove = new ArrayList<FatturaOrdineBulk>();
iterator.forEachRemaining(index -> {
try {
final FatturaOrdineBulk fatturaOrdineBulk = details.get(index);
OrdineAcqConsegnaBulk ordineAcqConsegna = (OrdineAcqConsegnaBulk) bp.createComponentSession().findByPrimaryKey(context.getUserContext(), fatturaOrdineBulk.getOrdineAcqConsegna());
ordineAcqConsegna.setStatoFatt(OrdineAcqConsegnaBulk.STATO_FATT_NON_ASSOCIATA);
ordineAcqConsegna.setToBeUpdated();
bp.createComponentSession().modificaConBulk(context.getUserContext(), ordineAcqConsegna);
bulksToRemove.add(fatturaOrdineBulk);
} catch (ComponentException | RemoteException | BusinessProcessException e) {
throw new DetailedRuntimeException(e);
}
});
bulksToRemove.stream().forEach(fatturaOrdineBulk -> {
final Fattura_passiva_rigaBulk fattura_passiva_rigaBulk = fattura.getFatturaRigaOrdiniHash().getKey(fatturaOrdineBulk);
fatturaOrdineBulk.setToBeDeleted();
bp.getFattureRigaOrdiniController().getDetails().remove(fatturaOrdineBulk);
if (fattura.getFatturaRigaOrdiniHash().get(fattura_passiva_rigaBulk).isEmpty()) {
fattura_passiva_rigaBulk.setStato_cofi(Fattura_passiva_IBulk.STATO_INIZIALE);
}
});
bp.getFattureRigaOrdiniController().getSelection().clear();
return context.findDefaultForward();
}
use of it.cnr.contab.ordmag.ordini.bulk.FatturaOrdineBulk in project sigla-main by consiglionazionaledellericerche.
the class CRUDFatturaPassivaBP method associaOrdineRigaFattura.
public void associaOrdineRigaFattura(ActionContext context, EvasioneOrdineRigaBulk evasioneOrdineRigaBulk, Fattura_passiva_rigaBulk fattura_passiva_rigaBulk) throws BusinessProcessException {
OrdineAcqConsegnaBulk ordineAcqConsegna = evasioneOrdineRigaBulk.getOrdineAcqConsegna();
FatturaOrdineBulk fatturaOrdineBulk = new FatturaOrdineBulk();
fatturaOrdineBulk.setOrdineAcqConsegna(ordineAcqConsegna);
fatturaOrdineBulk.setFatturaPassivaRiga(fattura_passiva_rigaBulk);
fatturaOrdineBulk.setImImponibile(ordineAcqConsegna.getImImponibile());
fatturaOrdineBulk.setImImponibileDivisa(ordineAcqConsegna.getImImponibileDivisa());
fatturaOrdineBulk.setImIva(ordineAcqConsegna.getImIva());
fatturaOrdineBulk.setImIvaDivisa(ordineAcqConsegna.getImIvaDivisa());
fatturaOrdineBulk.setImIvaD(ordineAcqConsegna.getImIvaD());
fatturaOrdineBulk.setImIvaNd(ordineAcqConsegna.getImIvaNd());
fatturaOrdineBulk.setImTotaleConsegna(ordineAcqConsegna.getImTotaleConsegna());
fatturaOrdineBulk.setStatoAss("TOT");
fatturaOrdineBulk.setToBeCreated();
ordineAcqConsegna.setStatoFatt(OrdineAcqConsegnaBulk.STATO_FATT_ASSOCIATA_TOTALMENTE);
ordineAcqConsegna.setToBeUpdated();
try {
if (createComponentSession().isLockedBulk(context.getUserContext(), ordineAcqConsegna))
throw new ApplicationException("Le righe di consegna selezionate sono utilizzate al momento da un'altro utente!");
createComponentSession().modificaConBulk(context.getUserContext(), ordineAcqConsegna);
} catch (ComponentException | RemoteException e) {
throw handleException(e);
}
fattura_passiva_rigaBulk.setStato_cofi(Fattura_passivaBulk.STATO_CONTABILIZZATO);
fattura_passiva_rigaBulk.getFattura_passiva().addToFatturaRigaOrdiniHash(fattura_passiva_rigaBulk, fatturaOrdineBulk);
}
use of it.cnr.contab.ordmag.ordini.bulk.FatturaOrdineBulk in project sigla-main by consiglionazionaledellericerche.
the class OrdiniCRUDController method writeTfoot.
@Override
public void writeTfoot(JspWriter jspWriter) throws IOException {
final EuroFormat euroFormat = new EuroFormat();
final long numberOfColspan = Collections.list(BulkInfo.getBulkInfo(this.getModelClass()).getColumnFieldProperties()).stream().count() - 2;
final Optional<Fattura_passiva_rigaBulk> fattura_passiva_rigaBulk = Optional.ofNullable(getParentController()).filter(CRUDFatturaPassivaBP.class::isInstance).map(CRUDFatturaPassivaBP.class::cast).filter(crudFatturaPassivaBP -> crudFatturaPassivaBP.getDettaglio().getSelection().getFocus() != -1).map(crudFatturaPassivaBP -> crudFatturaPassivaBP.getDettaglio().getDetails().get(crudFatturaPassivaBP.getDettaglio().getSelection().getFocus())).filter(Fattura_passiva_rigaBulk.class::isInstance).map(Fattura_passiva_rigaBulk.class::cast);
final List<FatturaOrdineBulk> fatturaOrdineBulks = getDetails();
if (!fatturaOrdineBulks.isEmpty()) {
final BigDecimal totaleImponibile = BigDecimal.valueOf(fatturaOrdineBulks.stream().mapToDouble(value -> value.getImImponibile().doubleValue()).sum());
final BigDecimal totaleIva = BigDecimal.valueOf(fatturaOrdineBulks.stream().mapToDouble(value -> value.getImIva().doubleValue()).sum());
final BigDecimal differenzaImponibile = fattura_passiva_rigaBulk.get().getIm_imponibile().subtract(totaleImponibile);
final BigDecimal differenzaIva = fattura_passiva_rigaBulk.get().getIm_iva().subtract(totaleIva);
if (differenzaImponibile.compareTo(BigDecimal.ZERO) != 0 || differenzaIva.compareTo(BigDecimal.ZERO) != 0) {
jspWriter.println("<tfoot class=\"bg-danger\">");
jspWriter.println("<tr>");
jspWriter.println("<td class=\"TableHeader text-white font-weight-bold\" colspan=\"" + numberOfColspan + "\" align=\"right\">");
jspWriter.println("<span>Differenze:</span>");
jspWriter.println("</td>");
jspWriter.println("<td class=\"TableHeader text-white font-weight-bold\" align=\"right\">");
jspWriter.print(euroFormat.format(differenzaImponibile));
jspWriter.println("</td>");
jspWriter.println("<td class=\"TableHeader text-white font-weight-bold\" align=\"right\">");
jspWriter.print(euroFormat.format(differenzaIva));
jspWriter.println("</td>");
jspWriter.println("<td class=\"TableHeader text-white font-weight-bold\" align=\"right\">");
jspWriter.print(euroFormat.format(differenzaImponibile.add(differenzaIva)));
jspWriter.println("</td>");
jspWriter.println("</tr>");
jspWriter.println("</tfoot>");
}
jspWriter.println("<tfoot class=\"bg-info\">");
jspWriter.println("<tr>");
jspWriter.println("<td class=\"TableHeader text-primary font-weight-bold\" colspan=\"" + numberOfColspan + "\" align=\"right\">");
jspWriter.println("<span>Totali:</span>");
jspWriter.println("</td>");
jspWriter.println("<td class=\"TableHeader text-primary font-weight-bold\" align=\"right\">");
jspWriter.print(euroFormat.format(totaleImponibile));
jspWriter.println("</td>");
jspWriter.println("<td class=\"TableHeader text-primary font-weight-bold\" align=\"right\">");
jspWriter.print(euroFormat.format(totaleIva));
jspWriter.println("</td>");
jspWriter.println("<td class=\"TableHeader text-primary font-weight-bold\" align=\"right\">");
jspWriter.print(euroFormat.format(totaleImponibile.add(totaleIva)));
jspWriter.println("</td>");
jspWriter.println("</tr>");
jspWriter.println("</tfoot>");
}
}
Aggregations