Se modifican el servicio de guardar de ServiceUzyTavConvoca

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