Files
smartproc-be/src/main/java/com/iconplus/smartproc/repository/SumberDanaRepository.java
2023-06-07 09:27:03 +07:00

38 lines
1.4 KiB
Java

package com.iconplus.smartproc.repository;
import com.iconplus.smartproc.model.entity.SumberDana;
import com.iconplus.smartproc.model.projection.SumberDanaView;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
public interface SumberDanaRepository extends JpaRepository<SumberDana, Long> {
Optional<SumberDana> findByIdAndIsDeleteFalse(Long id);
Optional<SumberDana> findBySumberDanaAndIsDeleteFalse(String sumberDana);
@Query(value = "SELECT sd.id as id, " +
"sd.sumberDana as sumberDana, " +
"sd.keterangan as keterangan, " +
"sd.isActive as isActive " +
"FROM SumberDana sd " +
"WHERE sd.isDelete = false " +
"AND (:search = '' or UPPER(sd.sumberDana) like :search) " +
"ORDER BY sd.id")
Page<SumberDanaView> getListSumberDana(String search, Pageable pageable);
@Query(value = "SELECT sd " +
"FROM SumberDana sd " +
"WHERE sd.isDelete = false " +
"AND sd.sumberDana in (:sumberDanas)")
List<SumberDana> getListSumberDanaByList(List<String> sumberDanas);
}