se hacen correciones al servicio de guardar pdf

parent d5567565
...@@ -4,6 +4,7 @@ import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConvoca; ...@@ -4,6 +4,7 @@ import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConvoca;
import ec.edu.espe.movilidad.MovilidadWS.service.UzyTavConvoca.IServiceUzyTavConvoca; import ec.edu.espe.movilidad.MovilidadWS.service.UzyTavConvoca.IServiceUzyTavConvoca;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ByteArrayResource; import org.springframework.core.io.ByteArrayResource;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
...@@ -11,6 +12,7 @@ import org.springframework.http.ResponseEntity; ...@@ -11,6 +12,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
...@@ -42,16 +44,24 @@ public class UzyTavConvocaController { ...@@ -42,16 +44,24 @@ public class UzyTavConvocaController {
return new ResponseEntity<>(serviceUzyTavConvoca.guardar(modelUzyTavConvoca), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTavConvoca.guardar(modelUzyTavConvoca), HttpStatus.OK);
} }
@PostMapping("/guardarPDF") @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 { try {
String pdfGuardado = serviceUzyTavConvoca.guardarPDF(file, uzytavconvoca_id); String result = serviceUzyTavConvoca.guardarPDF(file, uzytavconvoca_id, uzytavconvoca_nombre, uzytavconvoca_observacion, uzytavconvoca_estado, uzytavconvoca_fecha_inicio, uzytavconvoca_fecha_fin);
return pdfGuardado; return ResponseEntity.ok(result);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); 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}") @GetMapping("/verPDF/{uzytavconvoca_id}")
public ResponseEntity<ByteArrayResource> verPDF(@PathVariable Long uzytavconvoca_id) { public ResponseEntity<ByteArrayResource> verPDF(@PathVariable Long uzytavconvoca_id) {
// Obtengo el documento mediante el id de convoca // Obtengo el documento mediante el id de convoca
...@@ -69,8 +79,6 @@ public class UzyTavConvocaController { ...@@ -69,8 +79,6 @@ public class UzyTavConvocaController {
// Devuelvo la respuesta con el recurso y los encabezados para la visualización del PDF // Devuelvo la respuesta con el recurso y los encabezados para la visualización del PDF
return ResponseEntity.ok() 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, "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) .contentType(MediaType.APPLICATION_PDF)
.body(resource); .body(resource);
} else { } else {
......
...@@ -4,6 +4,7 @@ import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConsolca; ...@@ -4,6 +4,7 @@ import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConvoca; import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConvoca;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
import java.util.List; import java.util.List;
public interface IServiceUzyTavConvoca { public interface IServiceUzyTavConvoca {
...@@ -16,6 +17,6 @@ public interface IServiceUzyTavConvoca { ...@@ -16,6 +17,6 @@ public interface IServiceUzyTavConvoca {
public ModelUzyTavConvoca editar(Long id, ModelUzyTavConvoca modelUzyTavConvoca); 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); void eliminar(Long id);
} }
...@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; ...@@ -8,6 +8,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
...@@ -51,7 +52,7 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{ ...@@ -51,7 +52,7 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
@Override @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 { try {
byte[] pdfBytes = file.getBytes(); byte[] pdfBytes = file.getBytes();
String pdfNombre = file.getOriginalFilename(); String pdfNombre = file.getOriginalFilename();
...@@ -70,7 +71,7 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{ ...@@ -70,7 +71,7 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
document.setUzytavconvoca_digital_nombre(pdfNombre); document.setUzytavconvoca_digital_nombre(pdfNombre);
document.setUzytavconvoca_digital_url(urlArchivo); document.setUzytavconvoca_digital_url(urlArchivo);
} else { } 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 = new ModelUzyTavConvoca();
document.setUzytavconvoca_id(uzytavconvoca_id); document.setUzytavconvoca_id(uzytavconvoca_id);
document.setUzytavconvoca_digital(pdfBytes); document.setUzytavconvoca_digital(pdfBytes);
...@@ -78,6 +79,12 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{ ...@@ -78,6 +79,12 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
document.setUzytavconvoca_digital_url(urlArchivo); 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); daoUzyTavConvoca.save(document);
...@@ -88,6 +95,7 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{ ...@@ -88,6 +95,7 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
} }
} }
@Override @Override
public void eliminar(Long id) { public void eliminar(Long id) {
ModelUzyTavConvoca dato = daoUzyTavConvoca.findById(id).get(); 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