Salman Manoe 0e3b77fdc2 Update domain entity
Penerapan lombok untuk mengurangi boilerplate code
2025-02-11 14:41:44 +07:00

80 lines
2.4 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.JadwalDpjpRawatInap;
@Repository("JadwalDpjpRawatInapDao")
public interface JadwalDpjpRawatInapDao extends PagingAndSortingRepository<JadwalDpjpRawatInap, String>{
@Query("select NEW Map ("
+ "a.tglAwal as tglAwal,"
+ "a.tglAkhir as tglAkhir,"
+ "b.id as ruanganId,"
+ "b.namaRuangan as namaRuangan,"
+ "c.id as dokterId,"
+ "c.namaLengkap as namaDokter) "
+ "from JadwalDpjpRawatInap a "
+ "left join a.ruangan b "
+ "left join a.dokter c "
+ "where c.id=:id")
List<Map<String, Object>> getAll(@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.id as ruanganId,"
+ "a.namaRuangan as namaRuangan) "
+ "from Ruangan a "
+ "left join a.departemen b "
+ "where b.id=:id")
List<Map<String, Object>> ruangan(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.id as dokterId,"
+ "a.namaLengkap as namaDokter) "
+ "from Pegawai a "
+ "left join a.jenisPegawai b "
+ "where b.id=:id and a.statusEnabled=true")
List<Map<String, Object>> dokter(
@Param("id") Integer id);
@Query("select a.nilaiField from SettingDataFixed a where a.namaField=:value")
String getSettingDataFixed(@Param("value") String value);
@Query("select NEW Map ("
+ "b.id as dokterId,"
+ "b.namaLengkap as namaDokter) "
+ "from JadwalDpjpRawatInap a "
+ "left join a.dokter b "
+ "left join a.ruangan c "
+ "where c.id=:id")
List<Map<String, Object>> getJadwalDpjpByRuangan(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.noRec as noRec,"
+ "b.id as dokterId,"
+ "b.namaLengkap as namaDokter,"
+ "a.tglAwal as tglAwal,"
+ "a.tglAkhir as tglAkhir,"
+ "c.id as ruanganId,"
+ "c.namaRuangan as namaRuangan) "
+ "from JadwalDpjpRawatInap a "
+ "left join a.dokter b "
+ "left join a.ruangan c "
+ "where c.id=:id and "
+ "(date(:dateNow) "
+ "between date(a.tglAwal) and "
+ "date(a.tglAkhir))")
List<Map<String, Object>> getJadwalDpjpDokterPelayanan(
@Param("id") Integer id,
@Param("dateNow") Date dateNow);
}