mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-13 00:48:49 +00:00
reimpresion a SK
This commit is contained in:
@ -530,7 +530,16 @@ public class PresupuestoController {
|
||||
"presupuesto.duplicar.success.title",
|
||||
"presupuesto.duplicar.success.text",
|
||||
"presupuesto.duplicar.error.title",
|
||||
"presupuesto.duplicar.error.internal"
|
||||
"presupuesto.duplicar.error.internal",
|
||||
"presupuesto.reimprimir.title",
|
||||
"presupuesto.reimprimir.text",
|
||||
"presupuesto.reimprimir.confirm",
|
||||
"presupuesto.reimprimir.cancelar",
|
||||
"presupuesto.reimprimir.aceptar",
|
||||
"presupuesto.reimprimir.success.title",
|
||||
"presupuesto.reimprimir.success.text",
|
||||
"presupuesto.reimprimir.error.title",
|
||||
"presupuesto.reimprimir.error.internal"
|
||||
);
|
||||
|
||||
Map<String, String> translations = translationService.getTranslations(locale, keys);
|
||||
@ -555,7 +564,26 @@ public class PresupuestoController {
|
||||
"presupuesto.exito.guardado",
|
||||
"presupuesto.add.error.save.title",
|
||||
"presupuesto.iva-reducido",
|
||||
"presupuesto.iva-reducido-descripcion");
|
||||
"presupuesto.iva-reducido-descripcion",
|
||||
"presupuesto.duplicar.title",
|
||||
"presupuesto.duplicar.text",
|
||||
"presupuesto.duplicar.confirm",
|
||||
"presupuesto.duplicar.cancelar",
|
||||
"presupuesto.duplicar.aceptar",
|
||||
"presupuesto.duplicar.required",
|
||||
"presupuesto.duplicar.success.title",
|
||||
"presupuesto.duplicar.success.text",
|
||||
"presupuesto.duplicar.error.title",
|
||||
"presupuesto.duplicar.error.internal",
|
||||
"presupuesto.reimprimir.title",
|
||||
"presupuesto.reimprimir.text",
|
||||
"presupuesto.reimprimir.confirm",
|
||||
"presupuesto.reimprimir.cancelar",
|
||||
"presupuesto.reimprimir.aceptar",
|
||||
"presupuesto.reimprimir.success.title",
|
||||
"presupuesto.reimprimir.success.text",
|
||||
"presupuesto.reimprimir.error.title",
|
||||
"presupuesto.reimprimir.error.internal");
|
||||
|
||||
Map<String, String> translations = translationService.getTranslations(locale, keys);
|
||||
model.addAttribute("languageBundle", translations);
|
||||
@ -801,16 +829,22 @@ public class PresupuestoController {
|
||||
return "OK";
|
||||
}
|
||||
|
||||
@PostMapping("/duplicar/{id}")
|
||||
@PostMapping("/api/duplicar/{id}")
|
||||
@ResponseBody
|
||||
public Map<String, Object> duplicarPresupuesto(
|
||||
@PathVariable Long id,
|
||||
@RequestParam(name = "titulo", defaultValue = "") String titulo) {
|
||||
|
||||
Long entity = presupuestoService.duplicarPresupuesto(id, titulo);
|
||||
|
||||
return Map.of("id", entity);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PostMapping("/api/reimprimir/{id}")
|
||||
@ResponseBody
|
||||
public Map<String, Object> reimprimirPresupuesto(@PathVariable Long id) {
|
||||
|
||||
Long entity = presupuestoService.reimprimirPresupuesto(id);
|
||||
return Map.of("id", entity);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1023,6 +1023,7 @@ public class PresupuestoService {
|
||||
resumen.put("iva_importe_4", presupuesto.getIvaImporte4());
|
||||
resumen.put("iva_importe_21", presupuesto.getIvaImporte21());
|
||||
resumen.put("total_con_iva", presupuesto.getTotalConIva());
|
||||
resumen.put("isReimpresion", presupuesto.getIsReimpresion());
|
||||
|
||||
return resumen;
|
||||
}
|
||||
@ -1226,6 +1227,18 @@ public class PresupuestoService {
|
||||
HashMap<String, Object> result = new HashMap<>();
|
||||
try {
|
||||
|
||||
Presupuesto presupuestoExistente = null;
|
||||
if (id != null) {
|
||||
presupuestoExistente = presupuestoRepository.findById(id).orElse(null);
|
||||
}
|
||||
if (presupuestoExistente != null) {
|
||||
// merge de datos que no están en el formulario
|
||||
presupuesto.setIsReimpresion(presupuestoExistente.getIsReimpresion());
|
||||
presupuesto.setProveedor(presupuestoExistente.getProveedor());
|
||||
presupuesto.setProveedorRef1(presupuestoExistente.getProveedorRef1());
|
||||
presupuesto.setProveedorRef2(presupuestoExistente.getProveedorRef2());
|
||||
}
|
||||
|
||||
presupuesto.setDatosMaquetacionJson(
|
||||
datosMaquetacion != null ? new ObjectMapper().writeValueAsString(datosMaquetacion) : null);
|
||||
presupuesto.setDatosMarcapaginasJson(
|
||||
@ -1378,6 +1391,24 @@ public class PresupuestoService {
|
||||
nuevo.setEstado(Presupuesto.Estado.borrador);
|
||||
nuevo.setTitulo(titulo != null && !titulo.isEmpty() ? titulo : "[D] " + presupuesto.getTitulo());
|
||||
nuevo.setIsReimpresion(false);
|
||||
nuevo.setProveedor(null);
|
||||
nuevo.setProveedorRef1(null);
|
||||
nuevo.setProveedorRef2(null);
|
||||
presupuestoRepository.saveAndFlush(nuevo);
|
||||
return nuevo.getId();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public long reimprimirPresupuesto(Long presupuestoId) {
|
||||
|
||||
Presupuesto presupuesto = presupuestoRepository.findById(presupuestoId).orElse(null);
|
||||
if (presupuesto != null) {
|
||||
Presupuesto nuevo = presupuesto.clone();
|
||||
nuevo.setId(null); // para que se genere uno nuevo
|
||||
nuevo.setEstado(Presupuesto.Estado.borrador);
|
||||
nuevo.setTitulo("[R] " + presupuesto.getTitulo());
|
||||
nuevo.setIsReimpresion(true);
|
||||
presupuestoRepository.saveAndFlush(nuevo);
|
||||
return nuevo.getId();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user