SE arreglan los servicios de programa

parent 71b0e00f
package ec.edu.espe.movilidad.MovilidadWS.Controller; package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTPerfilMenu; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPrograma_V;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_V;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPrograma_V.IServiceUzyTavPrograma_V; import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPrograma_V.IServiceUzyTavPrograma_V;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
...@@ -17,36 +16,43 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_ ...@@ -17,36 +16,43 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_
@RequestMapping(V1_API_VERSION+"/programav") @RequestMapping(V1_API_VERSION+"/programav")
public class UzyTavPrograma_VController { public class UzyTavPrograma_VController {
private final IServiceUzyTavPrograma_V serviceUzyTavProgramaV;
@Autowired @Autowired
IServiceUzyTavPrograma_V serviceUzyTavProgramaV; public UzyTavPrograma_VController(IServiceUzyTavPrograma_V serviceUzyTavProgramaV) {
this.serviceUzyTavProgramaV = serviceUzyTavProgramaV;
}
@GetMapping("/exampleFindId/{id}") @GetMapping("/exampleFindId/{id}")
public ResponseEntity<ModelUzyTavPrograma_V> ListarPorID(@PathVariable Long id) { public ResponseEntity<DtoUzyTavPrograma_V> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTavProgramaV.ListarPorID(id), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTavProgramaV.ListarPorID(id), HttpStatus.OK);
} }
@GetMapping("/getAll") @GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTavPrograma_V>> ListarRegistros() { public ResponseEntity<List<DtoUzyTavPrograma_V>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTavProgramaV.ListarRegistros(), HttpStatus.OK); return new ResponseEntity<>(serviceUzyTavProgramaV.ListarRegistros(), HttpStatus.OK);
} }
@PostMapping("/guardar") @PostMapping("/guardar")
public ResponseEntity<ModelUzyTavPrograma_V> guardar(@RequestBody ModelUzyTavPrograma_V modelUzyTavProgramaV) { public ResponseEntity<DtoUzyTavPrograma_V> guardar(@RequestBody DtoUzyTavPrograma_V dtoUzyTavProgramaV) {
return new ResponseEntity<>(serviceUzyTavProgramaV.guardar(modelUzyTavProgramaV), HttpStatus.OK); DtoUzyTavPrograma_V savedDto = serviceUzyTavProgramaV.guardar(dtoUzyTavProgramaV);
}
@PutMapping("/editar/{id}") return ResponseEntity.ok(savedDto);
public ResponseEntity<ModelUzyTavPrograma_V> editar(@PathVariable Long id, @RequestBody ModelUzyTavPrograma_V modelUzyTavProgramaV) {
return new ResponseEntity<>(serviceUzyTavProgramaV.editar(id, modelUzyTavProgramaV), HttpStatus.OK);
} }
@PutMapping("/editar/{id}")
public ResponseEntity<DtoUzyTavPrograma_V> editar(@PathVariable Long id, @RequestBody DtoUzyTavPrograma_V dtoUzyTavProgramaV) {
return new ResponseEntity<>(serviceUzyTavProgramaV.editar(id, dtoUzyTavProgramaV), HttpStatus.OK);
}
@DeleteMapping("/eliminar/{id}") @DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable Long id) { public ResponseEntity<String> eliminar(@PathVariable Long id) {
serviceUzyTavProgramaV.eliminar(id); boolean eliminado = serviceUzyTavProgramaV.eliminar(id);
return ResponseEntity.ok().build(); if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
} }
} }
...@@ -2,6 +2,9 @@ package ec.edu.espe.movilidad.MovilidadWS.Dao; ...@@ -2,6 +2,9 @@ package ec.edu.espe.movilidad.MovilidadWS.Dao;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_V; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_V;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface DaoUzyTavPrograma_V extends JpaRepository<ModelUzyTavPrograma_V, Long> { public interface DaoUzyTavPrograma_V extends JpaRepository<ModelUzyTavPrograma_V, Long> {
} }
\ No newline at end of file
...@@ -7,8 +7,8 @@ import javax.validation.constraints.Size; ...@@ -7,8 +7,8 @@ import javax.validation.constraints.Size;
@Data @Data
public class DtoUzyTLineaOperativa { public class DtoUzyTLineaOperativa {
private Long uzytavlineaoperativa_ID; private Long uzytavlineaoperativa_ID;
@Size(max = 1000)
private String uzytavlineaoperativa_DESCRIP; private String uzytavlineaoperativa_DESCRIP;
@Size(max = 1)
private String uzytavlineaoperativa_ESTADO; private String uzytavlineaoperativa_ESTADO;
} }
\ No newline at end of file
package ec.edu.espe.movilidad.MovilidadWS.Dto; package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data; import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.sql.Blob; import java.sql.Blob;
import java.sql.Clob; import java.sql.Clob;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Set;
@Data @Data
public class DtoUzyTavPrograma_V { public class DtoUzyTavPrograma_V {
...@@ -18,7 +22,7 @@ public class DtoUzyTavPrograma_V { ...@@ -18,7 +22,7 @@ public class DtoUzyTavPrograma_V {
private Date uzytavprograma_vfecha_fin; private Date uzytavprograma_vfecha_fin;
private String stvsubj_code; private String stvsubj_code;
private String uzytavprograma_vmonto_nombre; private String uzytavprograma_vmonto_nombre;
private Blob uzytavprograma_vmonto_digi; private Byte[] uzytavprograma_vmonto_digi;
private String uzytavprograma_vsituacion_actual; private String uzytavprograma_vsituacion_actual;
private String uzytavprograma_vmetas; private String uzytavprograma_vmetas;
private String uzytavprograma_vpoliticas; private String uzytavprograma_vpoliticas;
...@@ -26,7 +30,7 @@ public class DtoUzyTavPrograma_V { ...@@ -26,7 +30,7 @@ public class DtoUzyTavPrograma_V {
private String uzytavprograma_vperderia_no_ejecuta; private String uzytavprograma_vperderia_no_ejecuta;
private String uzytavprograma_vresultados_impacto; private String uzytavprograma_vresultados_impacto;
private String uzytavprograma_vproyecto_nombre; private String uzytavprograma_vproyecto_nombre;
private Blob uzytavprograma_vproyecto_digi; private Byte[] uzytavprograma_vproyecto_digi;
private String uzytavprograma_vfactor_c_exito; private String uzytavprograma_vfactor_c_exito;
private String uzytavprograma_vubicacion; private String uzytavprograma_vubicacion;
private String uzytavprograma_vdiagnostico; private String uzytavprograma_vdiagnostico;
...@@ -38,16 +42,19 @@ public class DtoUzyTavPrograma_V { ...@@ -38,16 +42,19 @@ public class DtoUzyTavPrograma_V {
private Date uzytavprograma_vfecha_finr; private Date uzytavprograma_vfecha_finr;
private String uzytavprograma_vestado; private String uzytavprograma_vestado;
private Integer uzytavprograma_vcobertura; private Integer uzytavprograma_vcobertura;
private Clob uzytavprograma_vubicacion2; private String uzytavprograma_vubicacion2;
private Clob uzytavprograma_vdiagnostico2; private String uzytavprograma_vdiagnostico2;
private String uzytavprograma_vestado_activo; private String uzytavprograma_vestado_activo;
private String uzytavprograma_vevaluacion_cual; private String uzytavprograma_vevaluacion_cual;
private Date uzytavprograma_vfecha_cierre; private Date uzytavprograma_vfecha_cierre;
private Date uzytavprograma_vfecha_evaluacion; private Date uzytavprograma_vfecha_evaluacion;
private Clob uzytavprograma_vresumen2; private String uzytavprograma_vresumen2;
private Clob uzytavprograma_vlinea_base2; private String uzytavprograma_vlinea_base2;
private Clob uzytavprograma_vbeneficios2; private String uzytavprograma_vbeneficios2;
private Clob uzytavprograma_vfactor_c_exito2; private String uzytavprograma_vfactor_c_exito2;
private Long uzytavlineaoperativa_id;
private Long uzytavlineaoperativa_ID;
} }
package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import java.util.Date;
@Data
public class DtoUzytavprogramaV {
private Long uzytavprograma_v_id;
private String uzytavprograma_vnombre;
private String uzytavprograma_vresumen;
private Date uzytavprograma_vfecha_presenta;
private Date uzytavprograma_vfecha_inicio;
private Date uzytavprograma_vfecha_fin;
private String stvsubj_code;
private String uzytavprograma_vmonto_nombre;
private byte[] uzytavprograma_vmonto_digi;
private String uzytavprograma_vsituacion_actual;
private String uzytavprograma_vmetas;
private String uzytavprograma_vpoliticas;
private String uzytavprograma_vviavilidad_tecnica;
private String uzytavprograma_vperderia_no_ejecuta;
private String uzytavprograma_vresultados_impacto;
private String uzytavprograma_vproyecto_nombre;
private byte[] uzytavprograma_vproyecto_digi;
private String uzytavprograma_vfactor_c_exito;
private String uzytavprograma_vubicacion;
private String uzytavprograma_vdiagnostico;
private String uzytavprograma_vlinea_base;
private String uzytavprograma_vbeneficios;
private Integer uzytavprograma_vduracion_anios;
private Integer uzytavprograma_vdiuracion_meses;
private String stvcamp_code;
private Date uzytavprograma_vfecha_finr;
private String uzytavprograma_vestado;
private Integer uzytavprograma_vcobertura;
private String uzytavprograma_vubicacion2;
private String uzytavprograma_vdiagnostico2;
private String uzytavprograma_vestado_activo;
private String uzytavprograma_vevaluacion_cual;
private Date uzytavprograma_vfecha_cierre;
private Date uzytavprograma_vfecha_evaluacion;
private String uzytavprograma_vresumen2;
private String uzytavprograma_vlinea_base2;
private String uzytavprograma_vbeneficios2;
private String uzytavprograma_vfactor_c_exito2;
private DtoUzyTLineaOperativa uzytlineaoperativa;
}
package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class; package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTLineaOperativa;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTMenu;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPrograma_V; import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPrograma_V;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTLineaOperativa;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTMenu;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_V; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_V;
import org.modelmapper.ModelMapper; import org.modelmapper.ModelMapper;
import org.modelmapper.PropertyMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.persistence.EntityManager;
import java.util.List;
import java.util.stream.Collectors;
@Component @Component
public class Uzytavprograma_VMapper { public class Uzytavprograma_VMapper {
private final ModelMapper modelMapper;
@Autowired
private EntityManager entityManager;
private ModelMapper modelMapper;
public Uzytavprograma_VMapper(ModelMapper modelMapper) { public Uzytavprograma_VMapper(ModelMapper modelMapper) {
this.modelMapper = modelMapper; this.modelMapper = modelMapper;
configureMappings();
} }
//Convierte entidad a dto
public DtoUzyTavPrograma_V entityToDto(ModelUzyTavPrograma_V entity) {
return modelMapper.map(entity, DtoUzyTavPrograma_V.class);
}
// Convierte de DTO a Entidad
public ModelUzyTavPrograma_V dtoToEntity(DtoUzyTavPrograma_V dto) {
ModelUzyTavPrograma_V entity = modelMapper.map(dto, ModelUzyTavPrograma_V.class);
// Obtener el ID de la línea operativa desde el DTO y establecerlo en la entidad
Long lineaOperativaId = dto.getUzytavlineaoperativa_ID();
ModelUzyTLineaOperativa lineaOperativa = entityManager.find(ModelUzyTLineaOperativa.class, lineaOperativaId);
entity.setUzytlineaoperativa(lineaOperativa);
public ModelUzyTavPrograma_V entityToDto(ModelUzyTavPrograma_V entity) { return entity;
return modelMapper.map(entity, ModelUzyTavPrograma_V.class);
} }
public ModelUzyTavPrograma_V dtoToEntity(ModelUzyTavPrograma_V dto) {
return modelMapper.map(dto, ModelUzyTavPrograma_V.class);
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTavPrograma_V, DtoUzyTavPrograma_V>() {
@Override
protected void configure() {
map().setUzytavprograma_v_id(source.getUzytavprograma_v_id());
map().setUzytavlineaoperativa_ID(source.getUzytlineaoperativa().getUzytavlineaoperativa_ID());
}
});
} }
} }
package ec.edu.espe.movilidad.MovilidadWS.Model; package ec.edu.espe.movilidad.MovilidadWS.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTLineaOperativa;
import lombok.Data; import lombok.Data;
import javax.persistence.*; import javax.persistence.*;
import javax.validation.constraints.Size; import javax.validation.constraints.Size;
import java.util.HashSet;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.util.Set; import java.util.Set;
...@@ -26,9 +29,10 @@ public class ModelUzyTLineaOperativa { ...@@ -26,9 +29,10 @@ public class ModelUzyTLineaOperativa {
@Column(name = "uzytavlineaoperativa_ESTADO", length = 1) @Column(name = "uzytavlineaoperativa_ESTADO", length = 1)
private String uzytavlineaoperativa_ESTADO; private String uzytavlineaoperativa_ESTADO;
@OneToMany(mappedBy = "uzytlineaoperativa")
private Set<ModelUzyTavPrograma_V> modelUzyTavProgramaVSet = new LinkedHashSet<>();
@JsonIgnore
@OneToMany(mappedBy = "uzytlineaoperativa")
private Set<ModelUzyTavPrograma_V> modelUzyTavProgramaVSet;
} }
...@@ -19,7 +19,6 @@ public class ModelUzyTavPrograma_V { ...@@ -19,7 +19,6 @@ public class ModelUzyTavPrograma_V {
private Long uzytavprograma_v_id; private Long uzytavprograma_v_id;
@Column(name = "uzytavprograma_vnombre") @Column(name = "uzytavprograma_vnombre")
private String uzytavprograma_vnombre; private String uzytavprograma_vnombre;
...@@ -43,7 +42,7 @@ public class ModelUzyTavPrograma_V { ...@@ -43,7 +42,7 @@ public class ModelUzyTavPrograma_V {
@Lob @Lob
@Column(name = "uzytavprograma_vmonto_digi") @Column(name = "uzytavprograma_vmonto_digi")
private byte[] uzytavprograma_vmonto_digi; private Byte[] uzytavprograma_vmonto_digi;
@Column(name = "uzytavprograma_vsituacion_actual") @Column(name = "uzytavprograma_vsituacion_actual")
private String uzytavprograma_vsituacion_actual; private String uzytavprograma_vsituacion_actual;
...@@ -68,7 +67,7 @@ public class ModelUzyTavPrograma_V { ...@@ -68,7 +67,7 @@ public class ModelUzyTavPrograma_V {
@Lob @Lob
@Column(name = "uzytavprograma_vproyecto_digi") @Column(name = "uzytavprograma_vproyecto_digi")
private byte[] uzytavprograma_vproyecto_digi; private Byte[] uzytavprograma_vproyecto_digi;
@Column(name = "uzytavprograma_vfactor_c_exito") @Column(name = "uzytavprograma_vfactor_c_exito")
private String uzytavprograma_vfactor_c_exito; private String uzytavprograma_vfactor_c_exito;
...@@ -142,9 +141,7 @@ public class ModelUzyTavPrograma_V { ...@@ -142,9 +141,7 @@ public class ModelUzyTavPrograma_V {
//RELACION CON PROYECTO de UNO A MUCHOS //RELACION CON PROYECTO de UNO A MUCHOS
//@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
//@JoinColumn(name = "uzytavprograma_v_id", referencedColumnName = "uzytavprograma_v_id")
//Set<ModelUzyTavProyec> modelUzyTavProyecs = new HashSet<>();
@JsonIgnore @JsonIgnore
@OneToMany(mappedBy = "uzytavprograma_v", cascade = CascadeType.ALL) @OneToMany(mappedBy = "uzytavprograma_v", cascade = CascadeType.ALL)
...@@ -163,10 +160,10 @@ public class ModelUzyTavPrograma_V { ...@@ -163,10 +160,10 @@ public class ModelUzyTavPrograma_V {
@OneToMany(mappedBy = "uzytavprograma_v", cascade = CascadeType.ALL) @OneToMany(mappedBy = "uzytavprograma_v", cascade = CascadeType.ALL)
private Set<ModelUzyTavZonaDetalle> modelUzyTavZonaDetalleSet; private Set<ModelUzyTavZonaDetalle> modelUzyTavZonaDetalleSet;
//, nullable = false @ManyToOne
//, optional = false @JoinColumn(name = "uzytavlineaoperativa_ID")
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "UZYTAVLINEAOPERATIVA_ID")
private ModelUzyTLineaOperativa uzytlineaoperativa; private ModelUzyTLineaOperativa uzytlineaoperativa;
} }
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPrograma_V; package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTavPrograma_V;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTavPrograma_V;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTPerfil; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTPerfil;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_V; import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTavPrograma_V;
...@@ -7,13 +8,13 @@ import java.util.List; ...@@ -7,13 +8,13 @@ import java.util.List;
public interface IServiceUzyTavPrograma_V { public interface IServiceUzyTavPrograma_V {
public ModelUzyTavPrograma_V ListarPorID(Long id); public DtoUzyTavPrograma_V ListarPorID(Long id);
public List<ModelUzyTavPrograma_V> ListarRegistros(); public List<DtoUzyTavPrograma_V> ListarRegistros();
public ModelUzyTavPrograma_V guardar(ModelUzyTavPrograma_V modelUzyTavProgramaV); public DtoUzyTavPrograma_V guardar(DtoUzyTavPrograma_V dtoUzyTavProgramaV);
public ModelUzyTavPrograma_V editar(Long id, ModelUzyTavPrograma_V modelUzyTavProgramaV); public DtoUzyTavPrograma_V editar(Long id, DtoUzyTavPrograma_V dtoUzyTavProgramaV);
void eliminar(Long id); public boolean eliminar(Long id);
} }
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