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.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import com.jasamedika.medifirst2000.entities.IpsrsPelaksanaanPerbaikan; import com.jasamedika.medifirst2000.entities.IpsrsPerbaikan; @Repository("ipsrsPerbaikanDao") public interface IpsrsPerbaikanDao extends PagingAndSortingRepository { @Query("select a.noOrder from IpsrsPerbaikan a order by a.noOrder asc") List noOrder(); @Query("select distinct NEW Map (" + "b.kdRuangan as kdRuangan, " + "b.namaRuangan as namaRuangan, " + "b.id as id) " + "from RegistrasiAset a " + "left join a.ruangan b " + "where b.id is not null order by b.id") List> getRuanganMaintenance(); @Query("select distinct NEW Map (" + "a.noRec as noRec, " + "a.noSeri as noSeri, " + "b.kdRuangan as kdRuangan, " + "b.namaRuangan as namaRuangan, " + "c.kdProduk as kdProduk, " + "c.namaProduk as namaProduk, " + "d.merkProduk as merkProduk, " + "e.typeProduk as typeProduk) " + "from RegistrasiAset a " + "left join a.ruangan b " + "left join a.produk c " + "left join a.merkProduk d " + "left join a.typeProduk e " + "where b.id=:id and b.id is not null") List> getAllRegistrasiByRuangan( @Param("id") Integer id); @Query("select NEW Map (" + "a.id as id, " + "a.namaLengkap as namaLengkap) " + "from Pegawai a " + "where a.ruanganId=:id order by a.namaLengkap") List> getPegawaiByRuangan( @Param("id") Integer id); @Query("select NEW Map (" + "a.id as id, " + "a.namaLengkap as namaLengkap) " + "from Pegawai a " + "where a.jenisPegawaiId=10 order by a.namaLengkap") List> getTeknisi(); @Query("select NEW Map (" + "a.id as id, " + "b.namaProduk as namaProduk, " + "c.satuanStandar as satuanStandar, " + "a.hargaNetto1 as hargaNetto1) " + "from StokProdukGlobal a " + "left join a.produk b " + "left join b.satuanStandar c " + "left join b.detailJenisProduk d " + "where a.ruanganId=229 and b.detailJenisProdukId=449") List> getSukuCadang(); @Query("select NEW Map (" + "a.noRec as noRec, " + "a.noOrder as noOrder, " + "d.kdProduk as kdProduk, " + "d.namaProduk as namaProduk, " + "a.tglPesan as tglPesan, " + "e.merkProduk as merkProduk, " + "f.typeProduk as typeProduk, " + "c.noSeri as noSeri, " + "a.keluhan as keluhan, " + "b.namaLengkap as pelapor, " + "h.namaRuangan as namaRuangan, " + "g.statusPengerjaan as statusPengerjaan, " + "g.statusRespon as statusRespon, " + "g.ketStatusRespon as ketStatusRespon) " + "from IpsrsPerbaikan a " + "left join a.pelapor b " + "left join a.registrasiAset c " + "left join c.produk d " + "left join c.merkProduk e " + "left join c.typeProduk f " + "left join a.ipsrsStatusPerbaikan g " + "left join c.ruangan h " + "where g.statusRespon=0 " + "order by a.tglPesan desc") List> getAllPermintaanPerbaikan(); @Query("select NEW Map (" + "a.noRec as noRec, " + "b.namaLengkap as pelapor, " + "c.statusPengerjaan as statusPengerjaan, " + "c.statusRespon as statusRespon, " + "c.waktuRespon as waktuRespon, " + "c.ketStatusRespon as ketStatusRespon, " + "e.id as id, " + "b.id as pelaporId) " + "from IpsrsPerbaikan a " + "left join a.pelapor b " + "left join a.ipsrsStatusPerbaikan c " + "left join a.registrasiAset d " + "left join d.ruangan e " + "where a.noRec=:noRec") Map getOnePermintaanPerbaikan( @Param("noRec") String noRec); @Query("select a from IpsrsPelaksanaanPerbaikan a " + "left join a.ipsrsPelaksanaanPerbaikanSukuCadang b " + "left join a.ipsrsPelaksanaanPerbaikanListTeknisi c " + "where a.ipsrsPerbaikanId=:noRec") IpsrsPelaksanaanPerbaikan getAllIpsrsPerbaikanByNoRec( @Param("noRec") String noRec); @Query("select NEW Map (" + "a.tglPesan as tglPesan, " + "e.namaProduk as namaProduk, " + "d.namaRuangan as namaRuangan, " + "c.namaLengkap as namaLengkap, " + "a.keluhan as keluhan) " + "from IpsrsPerbaikan a " + "left join a.registrasiAset b " + "left join a.pelapor c " + "left join c.ruangan d " + "left join b.produk e " + "where a.noRec=:noRec") Map getAlertPermintaanPerbaikan( @Param("noRec") String noRec); @Query("select NEW Map (" + "b.tglMulaiPeriksa as tglServiceAlat, " + "a.keluhan as namaPemeliharaan) " + "from IpsrsPerbaikan a " + "left join a.ipsrsPelaksanaanPerbaikan b " + "left join a.ipsrsStatusPerbaikan c " + "left join a.registrasiAset d " + "where d.noRec=:noRec and c.statusPengerjaan=1") List> getHistoryAlat( @Param("noRec") String noRec); }