package com.jasamedika.medifirst2000.dao; import java.util.List; import java.util.Map; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.query.Param; import com.jasamedika.medifirst2000.entities.ItJadwalPerawatan; public interface ItJadwalPerawatanDao extends CrudRepository{ @Query("select new map(itJadwalPerawatan.noRec as noRec, " + " to_char(itJadwalPerawatan.tanggal,'yyyy-mm-dd') as tanggalInput, " + " itJadwalPerawatan.tglJadwal as tglJadwal, " + " itJadwalPerawatan.keterangan as keterangan, " + " itJadwalPerawatan.statusPengerjaan as statusPengerjaan, " + " ruangan.id as idRuangan, " + " ruangan.namaRuangan as namaRuangan, " + " strukOrder.noOrder as noOrder) " + " from ItJadwalPerawatan itJadwalPerawatan " + " left join itJadwalPerawatan.strukOrder strukOrder " + " left join itJadwalPerawatan.ruangan ruangan " + " where (itJadwalPerawatan.statusEnabled is null or itJadwalPerawatan.statusEnabled is true) " + " and date(itJadwalPerawatan.tanggal) between date(:startDate) and date(:endDate)") List> getJadwalPerawatanAll(@Param("startDate")String startDate, @Param("endDate")String endDate); //set it jadwalperawatanby norec @Query("select new map(itJadwalPerawatan.noRec as noRec, " + " to_char(itJadwalPerawatan.tanggal,'yyyy-mm-dd') as tanggalInput, " + " to_char(itJadwalPerawatan.tglPelaksanaan, 'yyyy-mm-dd') as tglPelaksanaan, " + " itJadwalPerawatan.tglJadwal as tglJadwal, " + " itJadwalPerawatan.keterangan as keterangan, " + " itJadwalPerawatan.statusPengerjaan as statusPengerjaan, " + " ruangan.id as idRuangan, " + " ruangan.namaRuangan as namaRuangan, " + " strukOrder.noOrder as noOrder) " + " from ItJadwalPerawatan itJadwalPerawatan " + " left join itJadwalPerawatan.strukOrder strukOrder " + " left join itJadwalPerawatan.ruangan ruangan " + " where (itJadwalPerawatan.statusEnabled is null or itJadwalPerawatan.statusEnabled is true) " + " and itJadwalPerawatan.noRec=:noRec") List> getJadwalPerawatanByNoRec(@Param("noRec")String noRec); @Query("select new map(asetItem.noRec as noRec, " + " asetItem.kondisi as kondisi, " + " registrasiAset.noRec as noRecRegistrasiAset, " + " ruangan.namaRuangan as namaRuangan, " + " to_char(a.tglPelaksanaan, 'dd-mm-yyyy') as tglPelaksanaan, " + " jenisProduk.jenisProduk as jenisProduk, " + " registrasiAset.noRegisterAset as noRegisterAset, " + " produk.id as idProduk, produk.namaProduk as namaProduk) " + " from ItJadwalPerawatan a " + " left join a.itJadwalPerawatanItem asetItem " + " left join asetItem.registrasiAset registrasiAset "+ " left join registrasiAset.produk produk " + " left join produk.detailJenisProduk detailJenisProduk " + " left join detailJenisProduk.jenisProduk jenisProduk " + " left join a.ruangan ruangan " + " where asetItem.statusEnabled in('true') and a.noRec=:noRec") List> getLembarKerjaPemeliharaanBarangITI(@Param("noRec")String noRec); @Query("select new map(teknisiItem.noRec as noRec, " + " teknisi.id as idPegawai, " + " teknisi.namaLengkap as namaPegawai) " + " from ItJadwalPerawatan a " + " left join a.itJadwalPerawatanTeknisi teknisiItem " + " left join teknisiItem.teknisi teknisi " + " where teknisiItem.statusEnabled in('true') " + " and a.noRec=:noRec") List> getTeknisiJadwalPerawatanByNoRec(@Param("noRec")String noRec); @Query("select new map(asetItem.noRec as noRec, " + " asetItem.kondisi as kondisi, " + " registrasiAset.noRec as noRecRegistrasiAset, " + " produk.id as idProduk, produk.namaProduk as namaProduk) " + " from ItJadwalPerawatan a " + " left join a.itJadwalPerawatanItem asetItem " + " left join asetItem.registrasiAset registrasiAset "+ " left join registrasiAset.produk produk " + " where asetItem.statusEnabled in('true') and a.noRec=:noRec") List> getProdukJadwalPerawatanByNoRec(@Param("noRec")String noRec); }