2021-01-07 11:34:56 +07:00

151 lines
5.0 KiB
Java

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<IpsrsPerbaikan, String> {
@Query("select a.noOrder from IpsrsPerbaikan a order by a.noOrder asc")
List<String> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<String, Object> 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<String, Object> 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<Map<String, Object>> getHistoryAlat(
@Param("noRec") String noRec);
}