38 lines
1.4 KiB
Java
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);
|
|
|
|
|
|
}
|