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

parent 4b55d281
...@@ -22,6 +22,9 @@ dependencies { ...@@ -22,6 +22,9 @@ dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web' 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' compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.oracle.database.jdbc:ojdbc8' runtimeOnly 'com.oracle.database.jdbc:ojdbc8'
annotationProcessor 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok'
......
...@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
...@@ -37,6 +38,19 @@ public class UzyTavConvocaController { ...@@ -37,6 +38,19 @@ public class UzyTavConvocaController {
public ResponseEntity<ModelUzyTavConvoca> guardar(@RequestBody ModelUzyTavConvoca modelUzyTavConvoca) { public ResponseEntity<ModelUzyTavConvoca> guardar(@RequestBody ModelUzyTavConvoca modelUzyTavConvoca) {
return new ResponseEntity<>(serviceUzyTavConvoca.guardar(modelUzyTavConvoca), HttpStatus.OK); 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}") @PutMapping("/editar/{id}")
...@@ -45,6 +59,8 @@ public class UzyTavConvocaController { ...@@ -45,6 +59,8 @@ public class UzyTavConvocaController {
} }
@DeleteMapping("/eliminar/{id}") @DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable Long id) { public ResponseEntity<Void> eliminar(@PathVariable Long id) {
serviceUzyTavConvoca.eliminar(id); serviceUzyTavConvoca.eliminar(id);
......
...@@ -2,6 +2,7 @@ package ec.edu.espe.movilidad.MovilidadWS.service.UzyTavConvoca; ...@@ -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.ModelUzyTavConsolca;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConvoca; import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConvoca;
import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
...@@ -15,5 +16,6 @@ public interface IServiceUzyTavConvoca { ...@@ -15,5 +16,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);
void eliminar(Long id); void eliminar(Long id);
} }
...@@ -5,8 +5,11 @@ import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavConsolca; ...@@ -5,8 +5,11 @@ 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.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Optional;
@Service @Service
public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
...@@ -46,6 +49,45 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{ ...@@ -46,6 +49,45 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
return datoActualizado; 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 @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