63 lines
3.3 KiB
Java
63 lines
3.3 KiB
Java
package com.jasamedika.medifirst2000.dao;
|
|
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import org.springframework.data.jpa.repository.Query;
|
|
import org.springframework.data.repository.PagingAndSortingRepository;
|
|
import org.springframework.data.repository.query.Param;
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
import com.jasamedika.medifirst2000.entities.UraianTugasFlexible;
|
|
|
|
@Repository("UraianTugasFlexibleDao")
|
|
public interface UraianTugasFlexibleDao extends PagingAndSortingRepository<UraianTugasFlexible, String>{
|
|
|
|
@Query(" select new map (uraianTugas.rincianKegiatan as rincianKegiatan,uraianTugas.noRec as noRec, uraianTugas.tgl as tgl,uraianTugas.approvalStatus as approvalStatus, "+
|
|
"uraianTugas.satuan as satuan, uraianTugas.volume as volume, uraianTugas.waktu as waktu, "+
|
|
"atasan.namaLengkap as namaAtasan, atasan.id as idAtasan, pegawai.namaLengkap as namaPegawai, "+
|
|
"pegawai.id as idPegawai) "+
|
|
"from UraianTugasFlexible uraianTugas "+
|
|
"left join uraianTugas.atasan atasan "+
|
|
"left join uraianTugas.pegawai pegawai "+
|
|
"where uraianTugas.statusEnabled is true and pegawai.id = :id "+
|
|
"and to_char(uraianTugas.tgl, 'yyyy-MM-dd') = :date")
|
|
public List<Map<String,Object>> findByIdPegawaiAndByDate(@Param("id") Integer id,@Param("date") String date);
|
|
|
|
@Query(" select new map (uraianTugas.rincianKegiatan as rincianKegiatan,uraianTugas.noRec as noRec, uraianTugas.tgl as tgl,uraianTugas.approvalStatus as approvalStatus, "+
|
|
"uraianTugas.satuan as satuan, uraianTugas.volume as volume, uraianTugas.waktu as waktu, "+
|
|
"atasan.namaLengkap as namaAtasan, atasan.id as idAtasan, pegawai.namaLengkap as namaPegawai, "+
|
|
"pegawai.id as idPegawai) "+
|
|
"from UraianTugasFlexible uraianTugas "+
|
|
"left join uraianTugas.atasan atasan "+
|
|
"left join uraianTugas.pegawai pegawai "+
|
|
"where uraianTugas.statusEnabled is true and uraianTugas.approvalStatus is true and pegawai.id = :id "+
|
|
"and to_char(uraianTugas.tgl, 'yyyy-MM') = :period "+
|
|
" order by uraianTugas.tgl")
|
|
public List<Map<String,Object>> findMonthlyAndverified(@Param("id") Integer id,@Param("period") String period);
|
|
|
|
@Query(" select new map (uraianTugas.rincianKegiatan as rincianKegiatan,uraianTugas.noRec as noRec, uraianTugas.tgl as tgl,uraianTugas.approvalStatus as approvalStatus, "+
|
|
"uraianTugas.satuan as satuan, uraianTugas.volume as volume, uraianTugas.waktu as waktu, "+
|
|
"atasan.namaLengkap as namaAtasan, atasan.id as idAtasan, pegawai.namaLengkap as namaPegawai, "+
|
|
"pegawai.id as idPegawai) "+
|
|
"from UraianTugasFlexible uraianTugas "+
|
|
"left join uraianTugas.atasan atasan "+
|
|
"left join uraianTugas.pegawai pegawai "+
|
|
"where uraianTugas.statusEnabled is true and pegawai.id in (:id) "+
|
|
"and uraianTugas.tgl > :date"+
|
|
" order by pegawai.id, uraianTugas.tgl")
|
|
public List<Map<String,Object>> findByListIdPegawaiAndDate(@Param("id") List<Integer> id,@Param("date") Date date);
|
|
|
|
@Query(" select coalesce(sum( uraianTugas.waktu),0) "+
|
|
"from UraianTugasFlexible uraianTugas "+
|
|
"left join uraianTugas.atasan atasan "+
|
|
"left join uraianTugas.pegawai pegawai "+
|
|
"where uraianTugas.statusEnabled is true and uraianTugas.approvalStatus is true and pegawai.id = :id "+
|
|
"and to_char(uraianTugas.tgl, 'yyyy-MM') = :period ")
|
|
public Integer findSumMonthlyAndverified(@Param("id") Integer id,@Param("period") String period);
|
|
|
|
|
|
|
|
}
|