Se agrega el servicio para subir un archivo pdf a la tabla convoca

parent 4b55d281
......@@ -22,6 +22,9 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'commons-fileupload:commons-fileupload:1.4'
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.12.5'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.oracle.database.jdbc:ojdbc8'
annotationProcessor 'org.projectlombok:lombok'
......
......@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
......@@ -37,6 +38,19 @@ public class UzyTavConvocaController {
public ResponseEntity<ModelUzyTavConvoca> guardar(@RequestBody ModelUzyTavConvoca modelUzyTavConvoca) {
return new ResponseEntity<>(serviceUzyTavConvoca.guardar(modelUzyTavConvoca), HttpStatus.OK);
}
@PostMapping("/guardarPDF")
public String guardarPDF(@RequestParam("file") MultipartFile file, @RequestParam("uzytavconvoca_id") Long uzytavconvoca_id) {
try {
String result = serviceUzyTavConvoca.guardarPDF(file, uzytavconvoca_id);
return result;
} catch (Exception e) {
e.printStackTrace();
return "Error al guardar el archivo PDF";
}
}
@PutMapping("/editar/{id}")
......@@ -45,6 +59,8 @@ public class UzyTavConvocaController {
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable Long id) {
serviceUzyTavConvoca.eliminar(id);
......
......@@ -2,6 +2,7 @@ package ec.edu.espe.movilidad.MovilidadWS.service.UzyTavConvoca;
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.List;
......@@ -15,5 +16,6 @@ public interface IServiceUzyTavConvoca {
public ModelUzyTavConvoca editar(Long id, ModelUzyTavConvoca modelUzyTavConvoca);
public String guardarPDF (MultipartFile file, Long uzytavconvoca_id);
void eliminar(Long id);
}
......@@ -5,8 +5,11 @@ import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConvoca;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import java.util.Optional;
@Service
public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
......@@ -46,6 +49,45 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
return datoActualizado;
}
@Override
public String guardarPDF(MultipartFile file, Long uzytavconvoca_id) {
try {
byte[] pdfBytes = file.getBytes();
String pdfNombre = file.getOriginalFilename();
// Generar la URL del archivo
//String urlArchivo = "D:\\Usuario\\Nueva carpeta (2)\\TESIS\\BACK END\\V2\\prototipoWs-master\\uploads" + uzytavconvoca_id;
// Verifico si el documento ya existe en la base de datos
Optional<ModelUzyTavConvoca> existingDocument = daoUzyTavConvoca.findById(uzytavconvoca_id);
ModelUzyTavConvoca document;
if (existingDocument.isPresent()) {
// Si el documento existe, actualizo el registro con los nuevos datos
document = existingDocument.get();
document.setUzytavconvoca_digital(pdfBytes);
document.setUzytavconvoca_nombre(pdfNombre);
//document.setUzytavconvoca_url(urlArchivo);
} else {
// Si el documento no existe, se creo una nueva instancia
document = new ModelUzyTavConvoca();
document.setUzytavconvoca_id(uzytavconvoca_id);
document.setUzytavconvoca_digital(pdfBytes);
document.setUzytavconvoca_nombre(pdfNombre);
//document.setUzytavconvoca_url(urlArchivo);
}
daoUzyTavConvoca.save(document);
return "Archivo PDF guardado correctamente";
} catch (IOException e) {
e.printStackTrace();
return "Error al guardar el archivo PDF";
}
}
@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