Se corrigen los servicios de ModelUzyTClasificadorPresup

parent ccaec483
package ec.edu.espe.movilidad.MovilidadWS.Controller;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTClasificadorPresup;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTClasificadorPresup;
import ec.edu.espe.movilidad.MovilidadWS.Service.UzyTClasificadorPresup.IServiceUzyTClasificadorPresup;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_VERSION;
......@@ -15,51 +15,53 @@ import static ec.edu.espe.movilidad.MovilidadWS.Constant.GlobalConstants.V1_API_
@CrossOrigin(origins = "*")
@RequestMapping(V1_API_VERSION+"/clasificadorP")
public class UzyTClasificadorPresupController {
@Autowired
IServiceUzyTClasificadorPresup serviceUzyTClasificadorPresup;
private final IServiceUzyTClasificadorPresup serviceUzyTClasificadorPresup;
public UzyTClasificadorPresupController(IServiceUzyTClasificadorPresup serviceUzyTClasificadorPresup) {
this.serviceUzyTClasificadorPresup = serviceUzyTClasificadorPresup;
}
@GetMapping("/exampleFindId/{id}")
public ResponseEntity<ModelUzyTClasificadorPresup> ListarPorID(@PathVariable Long id) {
public ResponseEntity<DtoUzyTClasificadorPresup> ListarPorID(@PathVariable Long id) {
return new ResponseEntity<>(serviceUzyTClasificadorPresup.ListarPorID(id), HttpStatus.OK);
}
@GetMapping("/obtenerClasificadorPresup")
public ResponseEntity<List<ModelUzyTClasificadorPresup>> obtenerClasificadorPresup() {
public ResponseEntity<List<Object[]> > obtenerClasificadorPresup() {
return new ResponseEntity<>(serviceUzyTClasificadorPresup.obtenerClasificadorPresup(), HttpStatus.OK);
}
@GetMapping("/getAll")
public ResponseEntity<List<ModelUzyTClasificadorPresup>> ListarRegistros() {
public ResponseEntity<List<DtoUzyTClasificadorPresup>> ListarRegistros() {
return new ResponseEntity<>(serviceUzyTClasificadorPresup.ListarRegistros(), HttpStatus.OK);
}
@PostMapping("/guardar")
public ResponseEntity<ModelUzyTClasificadorPresup> guardar(@RequestParam(value = "uzytclasificador_presup_padre", required = false) Long uzytclasificador_presup_padre, @RequestBody ModelUzyTClasificadorPresup modelUzyTClasificadorPresup) {
if (uzytclasificador_presup_padre != null) {
ModelUzyTClasificadorPresup uzyTClasificadorPresup = serviceUzyTClasificadorPresup.ListarPorID(uzytclasificador_presup_padre);
modelUzyTClasificadorPresup.setUzytclasificador_presup_padre(uzyTClasificadorPresup);
} else {
modelUzyTClasificadorPresup.setUzytclasificador_presup_padre(null);
}
ModelUzyTClasificadorPresup resultado = serviceUzyTClasificadorPresup.guardar(uzytclasificador_presup_padre, modelUzyTClasificadorPresup);
return ResponseEntity.ok(resultado);
@PostMapping("/guardar")
public ResponseEntity<DtoUzyTClasificadorPresup> guardar(@Valid @RequestBody DtoUzyTClasificadorPresup dtoUzyTClasificadorPresup) {
DtoUzyTClasificadorPresup savedDto = serviceUzyTClasificadorPresup.guardar(dtoUzyTClasificadorPresup);
return ResponseEntity.ok(savedDto);
}
@PutMapping("/editar/{id}")
public ResponseEntity<ModelUzyTClasificadorPresup> editar(@PathVariable Long id, @RequestBody ModelUzyTClasificadorPresup modelUzyTClasificadorPresup) {
return new ResponseEntity<>(serviceUzyTClasificadorPresup.editar(id, modelUzyTClasificadorPresup), HttpStatus.OK);
public ResponseEntity<DtoUzyTClasificadorPresup> editar(@PathVariable Long id, @RequestBody DtoUzyTClasificadorPresup dtoUzyTClasificadorPresup) {
return new ResponseEntity<>(serviceUzyTClasificadorPresup.editar(id, dtoUzyTClasificadorPresup), HttpStatus.OK);
}
@DeleteMapping("/eliminar/{id}")
public ResponseEntity<Void> eliminar(@PathVariable Long id) {
serviceUzyTClasificadorPresup.eliminar(id);
return ResponseEntity.ok().build();
public ResponseEntity<String> eliminar(@PathVariable Long id){
boolean eliminado = serviceUzyTClasificadorPresup.eliminar(id);
if (eliminado) {
return ResponseEntity.ok("El registro se eliminó exitosamente.");
} else {
return ResponseEntity.notFound().build();
}
}
}
......@@ -3,14 +3,16 @@ package ec.edu.espe.movilidad.MovilidadWS.Dao;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTClasificadorPresup;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface DaoUzyTClasificadorPresup extends JpaRepository<ModelUzyTClasificadorPresup, Long> {
//Obtener los datos relacionados con el id del padre y ordeados
@Query("SELECT c FROM ModelUzyTClasificadorPresup c LEFT JOIN c.uzytclasificador_presup_padre h ORDER BY c.uzytclasificador_presup_padre")
List<ModelUzyTClasificadorPresup> obtenerClasificadorPresup();
@Query("SELECT c FROM ModelUzyTClasificadorPresup c LEFT JOIN c.clasificadorPresup p ORDER BY p.uzytclasificador_presup_id")
List<Object[]> obtenerClasificadorPresup();
}
package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
@Data
public class DtoUzyTClasificadorPresup {
......
......@@ -3,14 +3,21 @@ package ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTClasificadorPresup;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTClasificadorPresup;
import org.modelmapper.ModelMapper;
import org.modelmapper.PropertyMap;
import org.springframework.stereotype.Component;
import javax.persistence.EntityManager;
import java.util.List;
import java.util.stream.Collectors;
@Component
public class UzyTClasificadorPresupMapper {
private final ModelMapper modelMapper;
private final EntityManager entityManager;
public UzyTClasificadorPresupMapper(ModelMapper modelMapper) {
public UzyTClasificadorPresupMapper(ModelMapper modelMapper, EntityManager entityManager) {
this.modelMapper = modelMapper;
this.entityManager = entityManager;
configureMappings();
}
public DtoUzyTClasificadorPresup entityToDto(ModelUzyTClasificadorPresup entity) {
......@@ -18,6 +25,27 @@ public class UzyTClasificadorPresupMapper {
}
public ModelUzyTClasificadorPresup dtoToEntity(DtoUzyTClasificadorPresup dto) {
return modelMapper.map(dto, ModelUzyTClasificadorPresup.class);
ModelUzyTClasificadorPresup entity = modelMapper.map(dto, ModelUzyTClasificadorPresup.class);
Long presupPadre = dto.getUzytclasificador_presup_padre();
ModelUzyTClasificadorPresup clasificadorPresup = entityManager.find(ModelUzyTClasificadorPresup.class, presupPadre);
entity.setClasificadorPresup(clasificadorPresup);
return entity;
}
public List<DtoUzyTClasificadorPresup> entitiesToDtos(List<ModelUzyTClasificadorPresup> entities) {
return entities.stream()
.map(this::entityToDto)
.collect(Collectors.toList());
}
private void configureMappings() {
modelMapper.addMappings(new PropertyMap<ModelUzyTClasificadorPresup, DtoUzyTClasificadorPresup>() {
@Override
protected void configure() {
map().setUzytclasificador_presup_id(source.getUzytclasificador_presup_id());
map().setUzytclasificador_presup_padre(source.getClasificadorPresup().getUzytclasificador_presup_id());
}
});
}
}
package ec.edu.espe.movilidad.MovilidadWS.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import java.util.LinkedHashSet;
import java.util.Set;
@Data
@Getter
@Setter
@Entity
@Table(name = "uzytclasificador_presup", schema = "UTIC1")
public class ModelUzyTClasificadorPresup {
......@@ -29,9 +32,15 @@ public class ModelUzyTClasificadorPresup {
//RELACIÓN PADRE CONSIGO MISMA
@ManyToOne
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "uzytclasificador_presup_padre", referencedColumnName = "uzytclasificador_presup_id")
private ModelUzyTClasificadorPresup uzytclasificador_presup_padre;
private ModelUzyTClasificadorPresup clasificadorPresup;
@JsonIgnore
@OneToMany(mappedBy = "clasificadorPresup")
private Set<ModelUzyTClasificadorPresup> clasificadorPresupSet = new LinkedHashSet<>();
//RELACIÓN CON CLASSPRE-TABLA HIJA
......
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTClasificadorPresup;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTClasificadorPresup;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTClasificadorPresup;
import java.util.List;
public interface IServiceUzyTClasificadorPresup {
public ModelUzyTClasificadorPresup ListarPorID(Long id);
DtoUzyTClasificadorPresup ListarPorID(Long id);
public List<ModelUzyTClasificadorPresup> ListarRegistros();
List<DtoUzyTClasificadorPresup> ListarRegistros();
List<ModelUzyTClasificadorPresup> obtenerClasificadorPresup();
List<Object[]> obtenerClasificadorPresup();
public ModelUzyTClasificadorPresup guardar(Long uzytclasificador_presup_padre, ModelUzyTClasificadorPresup modelUzyTClasificadorPresup);
DtoUzyTClasificadorPresup guardar(DtoUzyTClasificadorPresup dtoUzyTClasificadorPresup);
public ModelUzyTClasificadorPresup editar( Long id, ModelUzyTClasificadorPresup modelUzyTClasificadorPresup);
DtoUzyTClasificadorPresup editar( Long id, DtoUzyTClasificadorPresup dtoUzyTClasificadorPresup);
void eliminar(Long id);
boolean eliminar(Long id);
}
package ec.edu.espe.movilidad.MovilidadWS.Service.UzyTClasificadorPresup;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTClasificadorPresup;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTClasificadorPresup;
import ec.edu.espe.movilidad.MovilidadWS.Exceptions.ResourceNotFoundException;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTClasificadorPresupMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTClasificadorPresup;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
import java.util.NoSuchElementException;
@Service
public class ServiceUzyTClasificadorPresup implements IServiceUzyTClasificadorPresup{
@Autowired
DaoUzyTClasificadorPresup daoUzyTClasificadorPresup;
@Override
public ModelUzyTClasificadorPresup ListarPorID(@PathVariable Long id) {
return daoUzyTClasificadorPresup.findById(id).get();
private final DaoUzyTClasificadorPresup daoUzyTClasificadorPresup;
private final UzyTClasificadorPresupMapper mapper;
public ServiceUzyTClasificadorPresup(DaoUzyTClasificadorPresup daoUzyTClasificadorPresup, UzyTClasificadorPresupMapper mapper) {
this.daoUzyTClasificadorPresup = daoUzyTClasificadorPresup;
this.mapper = mapper;
}
@Override
public List<ModelUzyTClasificadorPresup> ListarRegistros() {
public DtoUzyTClasificadorPresup ListarPorID(@PathVariable Long id) {
ModelUzyTClasificadorPresup entity = daoUzyTClasificadorPresup.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("No se encontró el registro con ID: " + id));
return mapper.entityToDto(entity);
}
return daoUzyTClasificadorPresup.findAll();
@Override
public List<DtoUzyTClasificadorPresup> ListarRegistros() {
List<ModelUzyTClasificadorPresup> entities = daoUzyTClasificadorPresup.findAll();
return mapper.entitiesToDtos(entities);
}
@Override
public List<ModelUzyTClasificadorPresup> obtenerClasificadorPresup() {
public List<Object[]> obtenerClasificadorPresup() {
return daoUzyTClasificadorPresup.obtenerClasificadorPresup();
}
@Override
public ModelUzyTClasificadorPresup guardar(Long uzytclasificador_presup_padre, ModelUzyTClasificadorPresup modelUzyTClasificadorPresup) {
if (uzytclasificador_presup_padre != null) {
ModelUzyTClasificadorPresup uzyTClasificadorPresup = daoUzyTClasificadorPresup.findById(uzytclasificador_presup_padre)
.orElseThrow(() -> new NoSuchElementException("No se encontró el objeto padre con el ID proporcionado"));
modelUzyTClasificadorPresup.setUzytclasificador_presup_padre(uzyTClasificadorPresup);
} else {
modelUzyTClasificadorPresup.setUzytclasificador_presup_padre(null);
}
return daoUzyTClasificadorPresup.save(modelUzyTClasificadorPresup);
public DtoUzyTClasificadorPresup guardar(DtoUzyTClasificadorPresup dtoUzyTClasificadorPresup) {
ModelUzyTClasificadorPresup entity = mapper.dtoToEntity(dtoUzyTClasificadorPresup);
ModelUzyTClasificadorPresup nuevoEntity = daoUzyTClasificadorPresup.save(entity);
return mapper.entityToDto(nuevoEntity);
}
@Override
public ModelUzyTClasificadorPresup editar(@PathVariable Long id, ModelUzyTClasificadorPresup modelUzyTClasificadorPresup) {
ModelUzyTClasificadorPresup dato = daoUzyTClasificadorPresup.findById(id).get();
//.orElseThrow(()->new ControlExcepciones("No existe el registro con el ID : " + id));
//Seteamos los nuevos datos del registro
dato.setUzytclasificador_presup_id(modelUzyTClasificadorPresup.getUzytclasificador_presup_id());
dato.setUzytclasificador_presup_nombre(modelUzyTClasificadorPresup.getUzytclasificador_presup_nombre());
dato.setUzytclasificador_presup_ejercicio(modelUzyTClasificadorPresup.getUzytclasificador_presup_ejercicio());
dato.setUzytclasificador_presup_estado(modelUzyTClasificadorPresup.getUzytclasificador_presup_estado());
ModelUzyTClasificadorPresup datoActualizado = daoUzyTClasificadorPresup.save(dato);
return datoActualizado;
public DtoUzyTClasificadorPresup editar(@PathVariable Long id, DtoUzyTClasificadorPresup dtoUzyTClasificadorPresup) {
try {
ModelUzyTClasificadorPresup entity = daoUzyTClasificadorPresup.findById(id).get();
if (entity != null) {
entity.setUzytclasificador_presup_nombre(dtoUzyTClasificadorPresup.getUzytclasificador_presup_nombre());
entity.setUzytclasificador_presup_ejercicio(dtoUzyTClasificadorPresup.getUzytclasificador_presup_ejercicio());
entity.setUzytclasificador_presup_estado(dtoUzyTClasificadorPresup.getUzytclasificador_presup_estado());
ModelUzyTClasificadorPresup updatedEntity = daoUzyTClasificadorPresup.save(entity);
return mapper.entityToDto(updatedEntity);
}else {
throw new ResourceNotFoundException("No se encontró el registro con ID: " + id);
}
} catch (Exception e) {
throw new ResourceNotFoundException("Error al editar el registro: " + e.getMessage());
}
}
@Override
public void eliminar(@PathVariable Long id) {
ModelUzyTClasificadorPresup dato = daoUzyTClasificadorPresup.findById(id).get();
//.orElseThrow(() -> new ControlExcepciones("No existe el registro con el ID : " + id));
daoUzyTClasificadorPresup.delete(dato);
@Override
public boolean eliminar(Long id) {
ModelUzyTClasificadorPresup entity = daoUzyTClasificadorPresup.findById(id).orElse(null);
if (entity != null) {
daoUzyTClasificadorPresup.delete(entity);
return true;
}
return false;
}
}
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