se hacen correciones al servicio de guardar pdf y editar, además se agrega la…

se hacen correciones al servicio de guardar pdf y editar, además se agrega la tabla y los servicios de usuario
parent 9561a8ac
package ec.edu.espe.movilidad.MovilidadWS.Exceptions;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(value = HttpStatus.NOT_FOUND) //cuando no se encuentre un registro
public class ControlExceptions extends RuntimeException{
public ControlExceptions(String message) {
super(message);
}
}
package ec.edu.espe.movilidad.MovilidadWS.controller;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTProvincia;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTUsuario;
import ec.edu.espe.movilidad.MovilidadWS.service.UzyTProvincia.IServiceUzyTProvincia;
import ec.edu.espe.movilidad.MovilidadWS.service.UzyTUsuario.IServiceUzyTUsuario;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_VERSION;
@RestController
@CrossOrigin(origins = "*")
@RequestMapping(V1_API_VERSION+"/usuario")
public class UzyTUsuarioController {
@Autowired
IServiceUzyTUsuario serviceUzyTUsuario;
@GetMapping("/exampleFindId/{id}")
public ResponseEntity<ModelUzyTUsuario> ListarPorID(@PathVariable String id) {
return new ResponseEntity<>(serviceUzyTUsuario.ListarPorID(Long.valueOf(id)), HttpStatus.OK);
}
@GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTUsuario>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTUsuario.ListarRegistros(), HttpStatus.OK);
}
@PostMapping("/guardar")
public ResponseEntity<ModelUzyTUsuario> guardar(@RequestBody ModelUzyTUsuario modelUzyTUsuario) {
return new ResponseEntity<>(serviceUzyTUsuario.guardar(modelUzyTUsuario), HttpStatus.OK);
}
@PutMapping("/editar/{id}")
public ResponseEntity<ModelUzyTUsuario> editar(@PathVariable String id, @RequestBody ModelUzyTUsuario modelUzyTUsuario) {
return new ResponseEntity<>(serviceUzyTUsuario.editar(Long.valueOf(id), modelUzyTUsuario), HttpStatus.OK);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable String id) {
serviceUzyTUsuario.eliminar(Long.valueOf(id));
return ResponseEntity.ok().build();
}
}
......@@ -12,6 +12,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Optional;
......@@ -40,25 +41,30 @@ public class UzyTavConvocaController {
@PostMapping("/guardar")
public ResponseEntity<ModelUzyTavConvoca> guardar(@RequestBody ModelUzyTavConvoca modelUzyTavConvoca) {
return new ResponseEntity<>(serviceUzyTavConvoca.guardar(modelUzyTavConvoca), HttpStatus.OK);
}
@PostMapping("/guardarPDF")
public ResponseEntity<String> guardarPDF(@RequestParam("file") MultipartFile file,
@RequestParam("uzytavconvoca_id") Long uzytavconvoca_id,
public ResponseEntity<String> guardarConvocatoria(@RequestParam("uzytavconvoca_id") Long uzytavconvoca_id,
@RequestParam("uzytavconvoca_nombre") String uzytavconvoca_nombre,
@RequestParam("uzytavconvoca_digital") MultipartFile uzytavconvoca_digital,
@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 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 ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Error al guardar el archivo PDF");
@RequestParam("uzytavconvoca_fecha_fin")@DateTimeFormat(pattern = "yyyy-MM-dd") Date uzytavconvoca_fecha_fin) throws IOException, IOException {
serviceUzyTavConvoca.guardarConvocatoria(uzytavconvoca_id, uzytavconvoca_nombre, uzytavconvoca_digital,
uzytavconvoca_observacion, uzytavconvoca_estado,
uzytavconvoca_fecha_inicio, uzytavconvoca_fecha_fin);
return new ResponseEntity<>("Convocatoria guardada correctamente", HttpStatus.OK);
}
@PostMapping("/editar")
public ResponseEntity<?> editarConvocatoria(@RequestParam("uzytavconvoca_id") Long uzytavconvoca_id,
@RequestParam("uzytavconvoca_nombre") String uzytavconvoca_nombre,
@RequestParam(value = "uzytavconvoca_digital", required = false) MultipartFile uzytavconvoca_digital,
@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) throws IOException {
serviceUzyTavConvoca.editarConvocatoria(uzytavconvoca_id, uzytavconvoca_nombre, uzytavconvoca_digital, uzytavconvoca_observacion, uzytavconvoca_estado, uzytavconvoca_fecha_inicio, uzytavconvoca_fecha_fin);
return new ResponseEntity<>("Convocatoria editada", HttpStatus.OK);
}
......
package ec.edu.espe.movilidad.MovilidadWS.dao;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTUsuario;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface DaoUzyTUsuario extends JpaRepository<ModelUzyTUsuario, Long> {
}
package ec.edu.espe.movilidad.MovilidadWS.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
import java.util.Set;
@Data
@Entity
@Table(name = "uzytusuario", schema = "UTIC1")
public class ModelUzyTUsuario {
@Id
//@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "uzytusuario_id")
private Long uzytusuario_id;
@Column(name = "uzytusuario_cc")
private String uzytusuario_cc;
@Column(name = "uzytusuario_clave")
private String uzytusuario_clave;
@Column(name = "uzytusuario_nombres")
private String uzytusuario_nombres;
@Column(name = "uzytusuario_apellidos", nullable = false)
private String uzytusuario_apellidos;
@Column(name = "uzytusuario_email")
private String uzytusuario_email;
@Column(name = "uzytusuario_fecharegistro")
private Date fechaRegistro;
@Column(name = "uzytusuario_estado")
private String uzytusuario_estado;
@Column(name = "uzytusuario_mail_sinformul")
private Integer uzytusuario_mail_sinformul;
@Column(name = "uzytusuario_mail_incompletos")
private Integer uzytusuario_mail_incompletos;
@Column(name = "uzytusuario_tipo_doc")
private String uzytusuario_tipo_doc;
@Column(name = "uzytusuario_cod_senescyt")
private String uzytusuario_cod_senescyt;
@Column(name = "uzytusuario_fecha_act_micuenta")
private Date uzytusuario_fecha_act_micuenta;
@Column(name = "uzytusuario_hexadecimalid")
private String uzytusuario_hexadecimalid;
@Column(name = "uzytusuario_tratamiento")
private String uzytusuario_tratamiento;
@Column(name = "uzytusuario_modificacion")
private Integer uzytusuario_modificacion;
@Column(name = "uzytusuario_tipo_user")
private String uzytusuario_tipo_user;
@Column(name = "uzytusuario_email_institucional")
private String uzytusuario_email_institucional;
@Column(name = "uzytusuario_telefono_fijo")
private String uzytusuario_telefono_fijo;
@Column(name = "uzytusuario_telefono_celular")
private String uzytusuario_telefono_celular;
@Column(name = "spriden_id")
private String spriden_id;
@Column(name = "spriden_pidm")
private Integer spriden_pidm;
@Column(name = "uzytusuario_clave_tmp")
private String uzytusuario_clave_tmp;
@Column(name = "spbpers_name_prefix")
private String spbpers_name_prefix;
@Column(name = "spbpers_sex")
private String spbpers_sex;
//RELACIÓN CON LA TABLA ANEXOSPR-TABLA HIJA
@JsonIgnore
@OneToMany(mappedBy = "uzytusuario", cascade = CascadeType.ALL)
private Set<ModelUzyTavAnexoSPR> modelUzyTavAnexoSPRSet;
//RELACIÓN CON LA TABLA COORDINADOR_VINCULACIÓN- TABLA HIJA
@JsonIgnore
@OneToMany(mappedBy = "uzytusuario", cascade = CascadeType.ALL)
private Set<ModelUzyTavCoordinadorVincu> modelUzyTavCoordinadorVincuSet;
//RELACIÓN CON LA TABLA RESPONSABLEPROG MEDIANTE EL CAMPO uzytusuario_id_docente-TABLA HIJA,
@JsonIgnore
@OneToMany(mappedBy = "iddocente", cascade = CascadeType.ALL)
private Set<ModelUzyTavResponsableProg> modelUzyTavResponsableProgSet;
}
package ec.edu.espe.movilidad.MovilidadWS.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.util.Set;
import javax.persistence.*;
import java.time.LocalDate;
@Data
@Entity
@Table(name = "uzytavactaresponsa", schema = "UTIC1")
public class ModelUzyTavActaResponsa {
@Id
@Column(name = "uzytavactaresponsa_code")
private Long uzytavactaresponsa_code;
@Column(name = "uzytavactaresponsa_secuencial")
private Integer uzytavactaresponsa_secuencial;
@Column(name = "uzytavactaresponsa_fecha_crea")
private LocalDate fechaCreacion;
@Column(name = "uzytusuario_id_crea")
private Integer uzytusuario_id_crea;
@Column(name = "uzytavactaresponsa_cerrado", length = 1)
private String cerrado;
@Column(name = "uzytavactaresponsa_doc_nom", length = 250)
private String nombreDocumento;
@Column(name = "uzytavactaresponsa_doc_url", length = 100)
private String urlDocumento;
//RELACIÓN CON LA TABLA RESPONSABLE_PROG-TABLA HIJA
@JsonIgnore
@OneToMany(mappedBy = "uzytavactaresponsa", cascade = CascadeType.ALL)
private Set<ModelUzyTavResponsableProg> modelUzyTavResponsableProgSet;
}
package ec.edu.espe.movilidad.MovilidadWS.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Data
@Entity
@Table(name = "uzytavanexospr", schema = "UTIC1")
public class ModelUzyTavAnexoSPR {
@Id
//@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "uzytavanexospr_id")
private Long uzytavanexosprId;
@Column(name = "uzytavanexospr_nombre")
private String uzytavanexospr_nombre;
@Column(name = "uzytavanexospr_url")
private String uzytavanexospr_url;
@Column(name = "uzytavanexospr_fech_subida")
private Date uzytavanexospr_fech_subida;
@Column(name = "uzytavanexospr_tipo")
private Integer uzytavanexospr_tipo;
@Column(name = "uzytavprograma_v_id")
private Long uzytavprograma_v_id;
@Column(name = "uzytavanexospr_descripcion")
private String uzytavanexospr_descripcion;
//RELACION CON PROYEC-TABLA PADRE
@JsonIgnore
@ManyToOne( cascade = CascadeType.ALL)
@JoinColumn(name = "uzytavproyec_id")
private ModelUzyTavProyec uzytavproyec;
//RELACIÓN CON USUARIO-TABLA PADRE
@JsonIgnore
@ManyToOne( cascade = CascadeType.ALL)
@JoinColumn(name = "uzytusuario_id")
private ModelUzyTUsuario uzytusuario;
}
package ec.edu.espe.movilidad.MovilidadWS.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.*;
@Data
@Entity
@Table(name = "uzytavcoordinador_vincu", schema = "UTIC1")
public class ModelUzyTavCoordinadorVincu {
@Id
//@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "uzytavcoordinador_vincu_id")
private Long uzytavcoordinador_vincu_id;
@Column(name = "stvsubj_code", length = 4)
private String stvsubj_code;
@Column(name = "stvcamp_code", length = 3)
private String stvcamp_code;
@Column(name = "stvmajr_code", length = 4)
private String stvmajr_code;
//RELACIÓN CON LA TABLA USUARIO-TABLA PADRE
@JsonIgnore
@ManyToOne( cascade = CascadeType.ALL)
@JoinColumn(name = "uzytusuario_id")
private ModelUzyTUsuario uzytusuario;
}
package ec.edu.espe.movilidad.MovilidadWS.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.*;
import java.math.BigDecimal;
import java.time.LocalDate;
@Data
@Entity
@Table(name = "uzytavhorejec", schema = "UTIC1")
public class ModelUzyTavHorEjec {
@Id
@Column(name = "uzytavhorejec_code")
private Long code;
@Column(name = "uzytavhorejec_fec_ini")
private LocalDate fechaInicio;
@Column(name = "uzytavhorejec_fec_fin")
private LocalDate fechaFin;
@Column(name = "uzytavhorejec_total", precision = 22, scale = 2)
private BigDecimal totalHorasEjecutadas;
@Column(name = "uzytavhorejec_calificacion", precision = 22, scale = 2)
private BigDecimal calificacion;
//RELACIÓN CON RESPONSABLE PROGRAMA-TABLA PADRE
@JsonIgnore
@ManyToOne( cascade = CascadeType.ALL)
@JoinColumn(name = "uzytavresponsable_prog_id")
private ModelUzyTavResponsableProg uzytavresponsable_prog;
}
package ec.edu.espe.movilidad.MovilidadWS.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.*;
import java.time.LocalDate;
import java.util.Set;
@Data
@Entity
@Table(name = "uzytavresponsable_prog", schema = "UTIC1")
public class ModelUzyTavResponsableProg {
@Id
//@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "uzytavresponsable_prog_id")
private Long uzytavresponsable_prog_id;
@Column(name = "stvsubj_code_dpto", length = 4)
private String stvsubj_code_dpto;
@Column(name = "uzytavresponsable_prog_g_orden")
private Integer uzytavresponsable_prog_g_orden;
@Column(name = "uzytavresponsable_prog_g_horas_planif")
private Integer uzytavresponsable_prog_g_horas_planif;
@Column(name = "stvmajr_code", length = 4)
private String stvmajr_code;
@Column(name = "uzytavresponsable_prog_g_nro_certificados")
private Integer uzytavresponsable_prog_g_nro_certificados;
@Column(name = "uzytavresponsable_prog_g_fecha_creacion")
private LocalDate uzytavresponsable_prog_g_fecha_creacion;
@Column(name = "uzytavresponsable_prog_g_estado", length = 1)
private String uzytavresponsable_prog_g_estado;
@Column(name = "uzytavresponsable_prog_g_verificar", length = 2)
private String verificar;
@Column(name = "uzytavresponsable_prog_g_verfecha")
private LocalDate fechaVerificacion;
@Column(name = "uzytavresponsable_prog_g_responsable", length = 500)
private String responsable;
@Column(name = "uzytavresponsable_prog_g_calificacion")
private Long calificacion;
//RELACIÓN CON USUARIO-TABLA PADRE
@JsonIgnore
@ManyToOne()
@JoinColumn(name = "uzytusuario_id_docente", referencedColumnName = "uzytusuario_id")
private ModelUzyTUsuario iddocente;
//RELACIÓN CON LA TABLA TIPRESS- TABLA PADRE
@JsonIgnore
@ManyToOne()
@JoinColumn(name = "uzytavtipres_id", referencedColumnName = "uzytavtipres_id")
private ModelUzyTavTipres uzytavtipres;
//RELACIÓN CON PROGRAMA- TABLA PADRE
@JsonIgnore
@ManyToOne
@JoinColumn(name = "uzytavprograma_v_id")
private ModelUzyTavPrograma_V uzytavprograma_v;
//RELACIÓN CON PROYECTO
@JsonIgnore
@ManyToOne
@JoinColumn(name = "uzytavproyec_id")
private ModelUzyTavProyec uzytavproyec;
//RELACIÓN CON LA TABLA- RESPONSA
@ManyToOne
@JoinColumn(name = "uzytavactaresponsa_code")
private ModelUzyTavActaResponsa uzytavactaresponsa;
//RELACIÓN CON LA TABLA HOREJEC-TABLA HIJA
@JsonIgnore
@OneToMany(mappedBy = "uzytavresponsable_prog", cascade = CascadeType.ALL)
private Set<ModelUzyTavHorEjec> modelUzyTavHorEjecSet;
}
package ec.edu.espe.movilidad.MovilidadWS.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.*;
import java.util.Set;
@Data
@Entity
@Table(name = "uzytavtipres", schema = "UTIC1")
public class ModelUzyTavTipres {
@Id
//@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "uzytavtipres_id")
private Long id;
@Column(name = "uzytavtipres_descrip", length = 50)
private String descripcion;
@Column(name = "uzytavtipres_orden")
private Integer orden;
//RELACIÓN CON RESPONSABLE_PROG-TABLA HIJA
@JsonIgnore
@OneToMany(mappedBy = "uzytavtipres", cascade = CascadeType.ALL)
private Set<ModelUzyTavResponsableProg> modelUzyTavResponsableProgSet;
}
package ec.edu.espe.movilidad.MovilidadWS.service.UzyTUsuario;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTUsuario;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavProyec;
import java.util.List;
public interface IServiceUzyTUsuario {
public ModelUzyTUsuario ListarPorID(Long id);
public List<ModelUzyTUsuario> ListarRegistros();
public ModelUzyTUsuario guardar(ModelUzyTUsuario modelUzyTUsuario);
public ModelUzyTUsuario editar( Long id, ModelUzyTUsuario modelUzyTUsuario);
void eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.service.UzyTUsuario;
import ec.edu.espe.movilidad.MovilidadWS.dao.DaoUzyTUsuario;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTUsuario;
import ec.edu.espe.movilidad.MovilidadWS.model.ModelUzyTavProyec;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class ServiceUzyTUsuario implements IServiceUzyTUsuario{
@Autowired
DaoUzyTUsuario daoUzyTUsuario;
@Override
public ModelUzyTUsuario ListarPorID(Long id) {
return daoUzyTUsuario.findById(id).get();
}
@Override
public List<ModelUzyTUsuario> ListarRegistros() {
return daoUzyTUsuario.findAll();
}
@Override
public ModelUzyTUsuario guardar(ModelUzyTUsuario modelUzyTUsuario) {
return daoUzyTUsuario.save(modelUzyTUsuario);
}
@Override
public ModelUzyTUsuario editar(Long id, ModelUzyTUsuario modelUzyTUsuario) {
ModelUzyTUsuario dato = daoUzyTUsuario.findById(id).get();
dato.setUzytusuario_id(modelUzyTUsuario.getUzytusuario_id());
dato.setUzytusuario_cc(modelUzyTUsuario.getUzytusuario_cc());
dato.setUzytusuario_clave(modelUzyTUsuario.getUzytusuario_clave());
dato.setUzytusuario_nombres(modelUzyTUsuario.getUzytusuario_nombres());
dato.setUzytusuario_apellidos(modelUzyTUsuario.getUzytusuario_apellidos());
dato.setUzytusuario_email(modelUzyTUsuario.getUzytusuario_email());
dato.setFechaRegistro(modelUzyTUsuario.getFechaRegistro());
dato.setUzytusuario_estado(modelUzyTUsuario.getUzytusuario_estado());
dato.setUzytusuario_mail_incompletos(modelUzyTUsuario.getUzytusuario_mail_incompletos());
dato.setUzytusuario_tipo_doc(modelUzyTUsuario.getUzytusuario_tipo_doc());
dato.setUzytusuario_cod_senescyt(modelUzyTUsuario.getUzytusuario_cod_senescyt());
dato.setUzytusuario_fecha_act_micuenta(modelUzyTUsuario.getUzytusuario_fecha_act_micuenta());
dato.setUzytusuario_hexadecimalid(modelUzyTUsuario.getUzytusuario_hexadecimalid());
dato.setUzytusuario_tratamiento(modelUzyTUsuario.getUzytusuario_tratamiento());
dato.setUzytusuario_modificacion(modelUzyTUsuario.getUzytusuario_modificacion());
dato.setUzytusuario_tipo_user(modelUzyTUsuario.getUzytusuario_tipo_user());
dato.setUzytusuario_email_institucional(modelUzyTUsuario.getUzytusuario_email_institucional());
dato.setUzytusuario_telefono_fijo(modelUzyTUsuario.getUzytusuario_telefono_fijo());
dato.setUzytusuario_telefono_celular(modelUzyTUsuario.getUzytusuario_telefono_celular());
dato.setSpriden_id(modelUzyTUsuario.getSpriden_id());
dato.setSpriden_pidm(modelUzyTUsuario.getSpriden_pidm());
dato.setUzytusuario_clave_tmp(modelUzyTUsuario.getUzytusuario_clave_tmp());
dato.setSpbpers_name_prefix(modelUzyTUsuario.getSpbpers_name_prefix());
dato.setSpbpers_sex(modelUzyTUsuario.getSpbpers_sex());
ModelUzyTUsuario datoActualizado = daoUzyTUsuario.save(dato);
return datoActualizado;
}
@Override
public void eliminar(Long id) {
ModelUzyTUsuario example = daoUzyTUsuario.findById(id).get();
//.orElseThrow(() -> new ControlExcepciones("No existe el registro con el ID : " + id));
daoUzyTUsuario.delete(example);
}
}
......@@ -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.io.IOException;
import java.util.Date;
import java.util.List;
......@@ -13,10 +14,14 @@ public interface IServiceUzyTavConvoca {
public List<ModelUzyTavConvoca> ListarRegistros();
public ModelUzyTavConvoca guardar(ModelUzyTavConvoca modelUzyTavConvoca);
void guardarConvocatoria(Long uzytavconvoca_id, String uzytavconvoca_nombre, MultipartFile uzytavconvoca_digital,
String uzytavconvoca_observacion, String uzytavconvoca_estado,
Date uzytavconvoca_fecha_inicio, Date uzytavconvoca_fecha_fin) throws IOException;
public ModelUzyTavConvoca editar(Long id, ModelUzyTavConvoca modelUzyTavConvoca);
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 editarConvocatoria(Long uzytavconvoca_id, String uzytavconvoca_nombre, MultipartFile uzytavconvoca_digital, String uzytavconvoca_observacion, String uzytavconvoca_estado, Date uzytavconvoca_fecha_inicio, Date uzytavconvoca_fecha_fin) throws IOException;
void eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.service.UzyTavConvoca;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ControlExceptions;
import ec.edu.espe.movilidad.MovilidadWS.dao.DaoUzyTavConvoca;
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;
......@@ -10,7 +10,6 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import java.util.Optional;
@Service
public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
......@@ -26,11 +25,25 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
return daoUzyTavConvoca.findAll();
}
@Override
public ModelUzyTavConvoca guardar(ModelUzyTavConvoca modelUzyTavConvoca) {
return daoUzyTavConvoca.save(modelUzyTavConvoca);
public void guardarConvocatoria(Long uzytavconvoca_id, String uzytavconvoca_nombre, MultipartFile uzytavconvoca_digital, String uzytavconvoca_observacion, String uzytavconvoca_estado, Date uzytavconvoca_fecha_inicio, Date uzytavconvoca_fecha_fin) throws IOException {
ModelUzyTavConvoca convocatoria = new ModelUzyTavConvoca();
convocatoria.setUzytavconvoca_id(uzytavconvoca_id);
convocatoria.setUzytavconvoca_nombre(uzytavconvoca_nombre);
convocatoria.setUzytavconvoca_digital(uzytavconvoca_digital.getBytes());
convocatoria.setUzytavconvoca_observacion(uzytavconvoca_observacion);
convocatoria.setUzytavconvoca_estado(uzytavconvoca_estado);
convocatoria.setUzytavconvoca_fecha_inicio(uzytavconvoca_fecha_inicio);
convocatoria.setUzytavconvoca_fecha_fin(uzytavconvoca_fecha_fin);
convocatoria.setUzytavconvoca_digital_nombre(uzytavconvoca_digital.getOriginalFilename());
String UrlPdf= "localhost/" + uzytavconvoca_id;
convocatoria.setUzytavconvoca_digital_url(UrlPdf);
daoUzyTavConvoca.save(convocatoria);
}
@Override
public ModelUzyTavConvoca editar(Long id, ModelUzyTavConvoca modelUzyTavConvoca) {
ModelUzyTavConvoca dato = daoUzyTavConvoca.findById(id).get();
......@@ -50,52 +63,29 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
return datoActualizado;
}
@Override
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();
// Generar la URL del archivo
String urlArchivo = "localhost/" + 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_digital_nombre(pdfNombre);
document.setUzytavconvoca_digital_url(urlArchivo);
} else {
// Si el documento no existe, se crea una nueva instancia
document = new ModelUzyTavConvoca();
document.setUzytavconvoca_id(uzytavconvoca_id);
document.setUzytavconvoca_digital(pdfBytes);
document.setUzytavconvoca_digital_nombre(pdfNombre);
document.setUzytavconvoca_digital_url(urlArchivo);
public void editarConvocatoria(Long uzytavconvoca_id, String uzytavconvoca_nombre, MultipartFile uzytavconvoca_digital, String uzytavconvoca_observacion, String uzytavconvoca_estado, Date uzytavconvoca_fecha_inicio, Date uzytavconvoca_fecha_fin) throws IOException {
ModelUzyTavConvoca convocatoria = daoUzyTavConvoca.findById(uzytavconvoca_id).orElse(null);
if (convocatoria != null) {// SI ENCUENTRA LA CONVOCATORIA LA EDITA
convocatoria.setUzytavconvoca_nombre(uzytavconvoca_nombre);
convocatoria.setUzytavconvoca_observacion(uzytavconvoca_observacion);
convocatoria.setUzytavconvoca_estado(uzytavconvoca_estado);
convocatoria.setUzytavconvoca_fecha_inicio(uzytavconvoca_fecha_inicio);
convocatoria.setUzytavconvoca_fecha_fin(uzytavconvoca_fecha_fin);
if (!uzytavconvoca_digital.isEmpty()) { //VERIFICA SI EL ARCHIVO NO ESTÁ VACIO PARA PODER EDITARLO, SI ESTÁ VACIO DEJA POR DEFECTO EL ARCHIVO QUE CONTENÍA EL REGISTRO
convocatoria.setUzytavconvoca_digital(uzytavconvoca_digital.getBytes());
convocatoria.setUzytavconvoca_digital_nombre(uzytavconvoca_digital.getOriginalFilename());
}
// 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);
String urlPdf = "localhost/" + uzytavconvoca_id;
convocatoria.setUzytavconvoca_digital_url(urlPdf);
return "Archivo PDF guardado correctamente";
} catch (IOException e) {
e.printStackTrace();
return "Error al guardar el archivo PDF";
daoUzyTavConvoca.save(convocatoria);
}
}
@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