se hacen correciones al servicio de guardar pdf

parent d5567565
......@@ -4,6 +4,7 @@ import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConvoca;
import ec.edu.espe.movilidad.MovilidadWS.service.UzyTavConvoca.IServiceUzyTavConvoca;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
......@@ -11,6 +12,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
import java.util.List;
import java.util.Optional;
......@@ -42,16 +44,24 @@ public class UzyTavConvocaController {
return new ResponseEntity<>(serviceUzyTavConvoca.guardar(modelUzyTavConvoca), HttpStatus.OK);
}
@PostMapping("/guardarPDF")
public String guardarPDF(@RequestParam("file") MultipartFile file, @RequestParam("uzytavconvoca_id") Long uzytavconvoca_id) {
public ResponseEntity<String> guardarPDF(@RequestParam("file") MultipartFile file,
@RequestParam("uzytavconvoca_id") Long uzytavconvoca_id,
@RequestParam("uzytavconvoca_nombre") String uzytavconvoca_nombre,
@RequestParam("uzytavconvoca_observacion") String uzytavconvoca_observacion,
@RequestParam("uzytavconvoca_estado") String uzytavconvoca_estado,
@RequestParam("uzytavconvoca_fecha_inicio") @DateTimeFormat(pattern = "yyyy-MM-dd") Date uzytavconvoca_fecha_inicio,
@RequestParam("uzytavconvoca_fecha_fin") @DateTimeFormat(pattern = "yyyy-MM-dd") Date uzytavconvoca_fecha_fin) {
try {
String pdfGuardado = serviceUzyTavConvoca.guardarPDF(file, uzytavconvoca_id);
return pdfGuardado;
String result = serviceUzyTavConvoca.guardarPDF(file, uzytavconvoca_id, uzytavconvoca_nombre, uzytavconvoca_observacion, uzytavconvoca_estado, uzytavconvoca_fecha_inicio, uzytavconvoca_fecha_fin);
return ResponseEntity.ok(result);
} catch (Exception e) {
e.printStackTrace();
return "Error al guardar el archivo PDF";
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Error al guardar el archivo PDF");
}
}
@GetMapping("/verPDF/{uzytavconvoca_id}")
public ResponseEntity<ByteArrayResource> verPDF(@PathVariable Long uzytavconvoca_id) {
// Obtengo el documento mediante el id de convoca
......@@ -69,8 +79,6 @@ public class UzyTavConvocaController {
// Devuelvo la respuesta con el recurso y los encabezados para la visualización del PDF
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_DISPOSITION, "inline; filename="+nombrePDF) //inline para visualizar en el navegador y filename el nombre q deve de mostrar el archivo
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + nombrePDF) //attachment para que me permita descargar el archivo
.contentType(MediaType.APPLICATION_PDF)
.body(resource);
} else {
......
......@@ -4,6 +4,7 @@ import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConvoca;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
import java.util.List;
public interface IServiceUzyTavConvoca {
......@@ -16,6 +17,6 @@ public interface IServiceUzyTavConvoca {
public ModelUzyTavConvoca editar(Long id, ModelUzyTavConvoca modelUzyTavConvoca);
public String guardarPDF (MultipartFile file, Long uzytavconvoca_id);
public String guardarPDF (MultipartFile file, Long uzytavconvoca_id, String uzytavconvoca_nombre, String uzytavconvoca_observacion, String uzytavconvoca_estado, Date uzytavconvoca_fecha_inicio, Date uzytavconvoca_fecha_fin);
void eliminar(Long id);
}
......@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Optional;
......@@ -51,7 +52,7 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
@Override
public String guardarPDF(MultipartFile file, Long uzytavconvoca_id) {
public String guardarPDF(MultipartFile file, Long uzytavconvoca_id, String uzytavconvoca_nombre, String uzytavconvoca_observacion, String uzytavconvoca_estado, Date uzytavconvoca_fecha_inicio, Date uzytavconvoca_fecha_fin) {
try {
byte[] pdfBytes = file.getBytes();
String pdfNombre = file.getOriginalFilename();
......@@ -70,7 +71,7 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
document.setUzytavconvoca_digital_nombre(pdfNombre);
document.setUzytavconvoca_digital_url(urlArchivo);
} else {
// Si el documento no existe, se creo una nueva instancia
// Si el documento no existe, se crea una nueva instancia
document = new ModelUzyTavConvoca();
document.setUzytavconvoca_id(uzytavconvoca_id);
document.setUzytavconvoca_digital(pdfBytes);
......@@ -78,6 +79,12 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
document.setUzytavconvoca_digital_url(urlArchivo);
}
// Guardar los demás campos
document.setUzytavconvoca_nombre(uzytavconvoca_nombre);
document.setUzytavconvoca_observacion(uzytavconvoca_observacion);
document.setUzytavconvoca_estado(uzytavconvoca_estado);
document.setUzytavconvoca_fecha_inicio(uzytavconvoca_fecha_inicio);
document.setUzytavconvoca_fecha_fin(uzytavconvoca_fecha_fin);
daoUzyTavConvoca.save(document);
......@@ -88,6 +95,7 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
}
}
@Override
public void eliminar(Long id) {
ModelUzyTavConvoca dato = daoUzyTavConvoca.findById(id).get();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment