Se modifican el servicio de guardar de ServiceUzyTavConvoca

parent f77f42cd
......@@ -12,7 +12,10 @@ public interface DaoUzyTavConvoca extends JpaRepository<ModelUzyTavConvoca, Long
@Query("SELECT c FROM ModelUzyTavConvoca c ORDER BY c.uzytavconvoca_id DESC")
List<ModelUzyTavConvoca> findAll();
@Query("SELECT CASE WHEN COUNT(c) > 0 THEN true ELSE false END FROM ModelUzyTavConvoca c WHERE c.uzytavconvoca_estado IN ('A', 'I')")
boolean existsByUzytavconvocaEstadoAorI();
@Query("SELECT CASE WHEN COUNT(c) > 0 THEN true ELSE false END FROM ModelUzyTavConvoca c WHERE c.uzytavconvoca_estado = 'A'")
boolean existsActive();
@Query("SELECT CASE WHEN COUNT(c) > 0 THEN true ELSE false END FROM ModelUzyTavConvoca c WHERE c.uzytavconvoca_estado = 'I'")
boolean existsInactive();
}
......@@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.transaction.Transactional;
import java.io.IOException;
import java.nio.file.*;
import java.util.*;
......@@ -198,9 +197,11 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
}
@Override
public DtoUzyTavConvoca guardar(DtoUzyTavConvoca dtoUzyTavConvoca) {
boolean existsWithStateAorI = daoUzyTavConvoca.existsByUzytavconvocaEstadoAorI();
if (existsWithStateAorI) {
throw new DuplicateStateException("Solo puede haber un registro con un estado A o I");
boolean active = daoUzyTavConvoca.existsActive();
boolean inactive = daoUzyTavConvoca.existsInactive();
if (active || inactive) {
throw new DuplicateStateException("No se puede guardar el registro debido a que ya existe un registro con estado 'A' o 'I'");
}
try {
ModelUzyTavConvoca entityw = modelMapper.dtoToEntity(dtoUzyTavConvoca);
......@@ -214,7 +215,6 @@ public class ServiceUzyTavConvoca implements IServiceUzyTavConvoca{
}
@Override
@Transactional
public DtoUzyTavConvoca editar(Long id, DtoUzyTavConvoca dtoUzyTavConvoca) {
if (id <= 0) {
throw new IllegalArgumentException("El ID del registro debe ser válido y mayor que cero.");
......
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