Penerapan cuti tahunan di cuti bersama tidak memengaruhi jata cuti bersama yang bisa ditangguhkan
53 lines
2.8 KiB
Java
53 lines
2.8 KiB
Java
package com.jasamedika.medifirst2000.dao;
|
|
|
|
import com.jasamedika.medifirst2000.dto.HariLiburTerpakai;
|
|
import com.jasamedika.medifirst2000.entities.Kalender;
|
|
import com.jasamedika.medifirst2000.entities.MapKalenderToHariLibur;
|
|
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 java.util.Date;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
@Repository
|
|
public interface MapKalenderToHariLiburDao extends PagingAndSortingRepository<MapKalenderToHariLibur, Integer> {
|
|
|
|
@Query("select new map (model.id as id, model.namaExternal as name, model.tanggal.tanggal as tanggal) "
|
|
+ "from MapKalenderToHariLibur model where model.statusEnabled is true")
|
|
List<Map<String, Object>> getAllByStatusEnabled();
|
|
|
|
@Query("select model from Kalender model "
|
|
+ "where model.statusEnabled is true and to_char(tanggal,'yyyy-MM-dd') = :tanggal")
|
|
Kalender getKalender(@Param("tanggal") String tgl);
|
|
|
|
@Query("select to_char(kalender.tanggal,'yyyy-MM-dd') " + "from MapKalenderToHariLibur mapLibur "
|
|
+ "inner join mapLibur.tanggal kalender " + "inner join mapLibur.hariLibur hariLibur "
|
|
+ "where hariLibur.id in (8,17) " + "and to_char(kalender.tanggal,'yyyy')=:tahun "
|
|
+ "and mapLibur.statusEnabled is true")
|
|
List<String> getTglCutiBersama(@Param("tahun") String tahun);
|
|
|
|
@Query("select new Map(model.statusEnabled as statusEnabled,model.namaExternal as namaExternal,"
|
|
+ "to_char(kalender.tanggal,'dd-MM-yyyy') as tanggal,to_char(kalender.tanggal,'yyyy-MM-dd') as tanggalId,"
|
|
+ "model.reportDisplay as reportDisplay,model.id as id,model.kodeExternal as kodeExternal,"
|
|
+ "hariLibur.id as hariLiburId,hariLibur.namaHariLibur as hariLiburName," + "model.noRec as noRec) "
|
|
+ "from MapKalenderToHariLibur model " + "inner join model.tanggal kalender "
|
|
+ "inner join model.hariLibur hariLibur " + "where model.statusEnabled is true "
|
|
+ "and to_char(kalender.tanggal,'yyyy')>=:tahun")
|
|
List<Map<String, Object>> getMappingHariLibur(@Param("tahun") String tahun);
|
|
|
|
@Query("select distinct new com.jasamedika.medifirst2000.dto.HariLiburTerpakai("
|
|
+ "pg.id as idPegawai, pg.namaLengkap as namaLengkap, " + "kld.tanggal as tanggal, "
|
|
+ "mkl.isCutiBersamaDitangguhkan as isCBDitangguhkan) "
|
|
+ "from Pegawai pg, Habsen hab, MapKalenderToHariLibur mkl " + "inner join mkl.tanggal kld "
|
|
+ "where pg.id = :idPegawai " + "and pg.idFinger = hab.empl_code "
|
|
+ "and cast(hab.tr_date as date) = kld.tanggal " + "and mkl.hariLiburId = :idHariLibur "
|
|
+ "and kld.tanggal between :tglAwal and :tglAkhir")
|
|
List<HariLiburTerpakai> getPresensiByTahun(@Param("idPegawai") Integer idPegawai,
|
|
@Param("idHariLibur") Integer idHariLibur, @Param("tglAwal") Date tglAwal,
|
|
@Param("tglAkhir") Date tglAkhir);
|
|
|
|
}
|