use of sic.modelo.NotaCredito in project sic by belluccifranco.
the class NotaController method getReporteNota.
@GetMapping("/notas/{idNota}/reporte")
@ResponseStatus(HttpStatus.OK)
public ResponseEntity<byte[]> getReporteNota(@PathVariable long idNota) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_PDF);
Nota nota = notaService.getNotaPorId(idNota);
String fileName = (nota instanceof NotaCredito) ? "NotaCredito.pdf" : (nota instanceof NotaDebito) ? "NotaDebito.pdf" : "Nota.pdf";
headers.add("content-disposition", "inline; filename=" + fileName);
headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");
byte[] reportePDF = notaService.getReporteNota(nota);
return new ResponseEntity<>(reportePDF, headers, HttpStatus.OK);
}
use of sic.modelo.NotaCredito in project sic by belluccifranco.
the class DetalleNotaCreditoGUI method btnGuardarActionPerformed.
// </editor-fold>//GEN-END:initComponents
private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
// GEN-FIRST:event_btnGuardarActionPerformed
NotaCredito notaCredito = new NotaCredito();
notaCredito.setFecha(new Date());
notaCredito.setMotivo(cmbMotivo.getSelectedItem().toString());
notaCredito.setFacturaVenta(fv);
notaCredito.setSubTotal((Double) txt_Subtotal.getValue());
notaCredito.setDescuentoPorcentaje((Double) txt_Decuento_porcentaje.getValue());
notaCredito.setDescuentoNeto((Double) txt_Decuento_neto.getValue());
notaCredito.setRecargoPorcentaje((Double) txt_Recargo_porcentaje.getValue());
notaCredito.setRecargoNeto((Double) txt_Recargo_neto.getValue());
notaCredito.setSubTotalBruto(subTotalBruto);
notaCredito.setIva21Neto((Double) txt_IVA21_neto.getValue());
notaCredito.setIva105Neto((Double) txt_IVA105_neto.getValue());
notaCredito.setTotal((Double) txt_Total.getValue());
notaCredito.setRenglonesNotaCredito(renglones);
try {
NotaCredito nc = RestClient.getRestTemplate().postForObject("/notas/credito/empresa/" + EmpresaActiva.getInstance().getEmpresa().getId_Empresa() + "/cliente/" + fv.getCliente().getId_Cliente() + "/usuario/" + UsuarioActivo.getInstance().getUsuario().getId_Usuario() + "/factura/" + fv.getId_Factura() + "?modificarStock=" + modificarStock, notaCredito, NotaCredito.class);
if (nc != null) {
if (Desktop.isDesktopSupported()) {
byte[] reporte = RestClient.getRestTemplate().getForObject("/notas/" + nc.getIdNota() + "/reporte", byte[].class);
File f = new File(System.getProperty("user.home") + "/NotaCredito.pdf");
Files.write(f.toPath(), reporte);
Desktop.getDesktop().open(f);
}
} else {
JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_plataforma_no_soportada"), "Error", JOptionPane.ERROR_MESSAGE);
}
notaCreada = true;
this.dispose();
} catch (RestClientResponseException ex) {
JOptionPane.showMessageDialog(this, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
} catch (ResourceAccessException ex) {
LOGGER.error(ex.getMessage());
JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_conexion"), "Error", JOptionPane.ERROR_MESSAGE);
} catch (IOException ex) {
LOGGER.error(ex.getMessage());
JOptionPane.showMessageDialog(this, ResourceBundle.getBundle("Mensajes").getString("mensaje_error_IOException"), "Error", JOptionPane.ERROR_MESSAGE);
}
}
use of sic.modelo.NotaCredito in project sic by belluccifranco.
the class NotaServiceImpl method getIvaNetoNota.
@Override
public double getIvaNetoNota(Long idNota) {
Nota nota = this.getNotaPorId(idNota);
double ivaNeto = 0.0;
if (nota instanceof NotaCredito) {
ivaNeto = this.getRenglonesDeNotaCredito(nota.getIdNota()).stream().map((renglonNota) -> (renglonNota.getIvaPorcentaje() / 100) * renglonNota.getImporte()).reduce(ivaNeto, (accumulator, _item) -> accumulator + _item);
} else {
ivaNeto = this.getRenglonesDeNotaDebito(idNota).stream().map((r) -> r.getIvaNeto()).reduce(ivaNeto, (accumulator, _item) -> accumulator + _item);
}
return ivaNeto;
}
Aggregations