package com.sc.sicanet.migracion_sicanet.repository;

import com.sc.sicanet.migracion_sicanet.entity.PrestamosSolicitudes;
import com.sc.sicanet.migracion_sicanet.entity.Socio;
import feign.Param;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import java.util.Optional;

@Repository
public interface PrestamosSolicitudesRepository extends JpaRepository<PrestamosSolicitudes, Integer> {
    Optional<PrestamosSolicitudes> findBySocio(Socio socio);
    Optional<PrestamosSolicitudes> findByImporteSolicitado(Double importeSolicitado);
    Optional<PrestamosSolicitudes> findByControlAndEstatus(String control, String estatus);

    //@Query(value = "SELECT COALESCE(MAX(control), 0) + 1 FROM prestamos_solicitudes WHERE YEAR(fecha_solicitud) = :year AND sucursal = :sucursal", nativeQuery = true)
    @Query(value = "SELECT COUNT(DISTINCT control) + 1 FROM prestamos_solicitudes WHERE YEAR(fecha_solicitud) = :year AND sucursal = :sucursal", nativeQuery = true)
    int obtenerConsecutivo(@Param("year") int year, @Param("sucursal") int sucursal);
}
