salmanoe 8d8b0af40c Update DateUtil.java
Perbaikan kondisi query hanya melibatkan timestamp datatype untuk peningkatan performance
2022-10-17 09:38:08 +07:00

40 lines
1.8 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.Kalender;
@Repository("KalenderDao")
public interface KalenderDao extends PagingAndSortingRepository<Kalender, Integer> {
@Query("select k.tanggal from Kalender k where to_char(k.tanggal,'yyyy-MM-dd') between :startDate and :endDate")
List<Date> getDateFromPeriodicParameter(@Param("startDate") String tglAwal, @Param("endDate") String tglAkhir);
@Query("select new Map(k.id as kalendarId," + "k.tanggal as date," + "to_char(k.tanggal,'yyyy-MM-dd') as strDate,"
+ "concat(k.hariKeDlmBulan,' ',k.namaBulan,' ',k.tahunKalender) as tanggal) "
+ "from Kalender k where to_char(k.tanggal,'yyyy-MM-dd') between :tglAwal and :tglAkhir")
List<Map<String, Object>> getTanggalFromPeriodicParameter(@Param("tglAwal") String tglAwal,
@Param("tglAkhir") String tglAkhir);
@Query("select new Map(k.id as id,to_char(k.tanggal,'dd') as tanggal) "
+ "from Kalender k where k.tanggal between :start and :end")
List<Map<String, Object>> getKalenderBulanan(@Param("start") Date start, @Param("end") Date end);
@Query(nativeQuery = true, value = "select kal.tanggal from kalender_s kal order by kal.tanggal desc limit 1")
Date getLastDateData();
@Query(nativeQuery = true, value = "select kl.* from kalender_s kl "
+ "left join mapkalendertoharilibur_m mkl on kl.id = mkl.objecttanggalfk "
+ "where kl.tanggal between :start and :end "
+ "and kl.namahari not in ('Sabtu', 'Minggu') and mkl.id is null")
List<Kalender> getTargetKerja(@Param("start") Date start, @Param("end") Date end);
}