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.Alat; @Repository("AlatDao") public interface AlatDao extends PagingAndSortingRepository{ @Query("select count(p.id) from Alat p ") public Integer getCount(); @Query("select new Map (model.noRec as noRec," + "model.noRegisterAset as noRegisterAset, " +"produk.id as produkId, " +"produk.namaProduk as namaProduk) " +"from RegistrasiAset model " +"left join model.produk produk") List> getAllProdukAset(); @Query("select new Map (model.id as id, " + "model.satuanStandar as namaSatuanStandar," + "departemen.id as departemenId," + "departemen.namaDepartemen as namaDepartemen) " +"from SatuanStandar model " +"left join model.departemen departemen " +"where departemen.id in (7) " +"order by model.satuanStandar") List> getAllSatuanStandar(); @Query("select new Map(model.id as alatId, " +"model.namaAlat as namaMesin, " +"registrasiAset.noRec as noRecRegistrasiAset, " +"registrasiAset.noRegisterAset as noRegistrasiAset, " +"model.kapasitasAlat as kapasitasMesin, " +"satuanstandar.id as satuanStandarId, " +"satuanstandar.satuanStandar as namaSatuanStandar, " +"departemen.id as departemenId, " +"departemen.namaDepartemen as namaDepartemen, " +"model.kodeExternal as kodeEkternal, " +"model.namaExternal as namaEkternal, " +"produkaset.id as produkAsetId," +"produkaset.namaProduk as namaProdukAset," +"model.statusEnabled as statusEnabled) " +" from Alat model " +"left join model.departemen departemen " +"left join model.satuanStandar satuanstandar " +"left join model.produkAset produkaset " +"left join model.registrasiAset registrasiAset " + "order by model.id") List> getAllAlat(); @Query("select new Map(model.id as alatId, " +"model.namaAlat as namaMesin, " +"registrasiAset.noRec as noRecRegistrasiAset, " +"registrasiAset.noRegisterAset as noRegistrasiAset, " +"model.kapasitasAlat as kapasitasMesin, " +"satuanstandar.id as satuanStandarId, " +"satuanstandar.satuanStandar as namaSatuanStandar, " +"departemen.id as departemenId, " +"departemen.namaDepartemen as namaDepartemen, " +"model.kodeExternal as kodeEkternal, " +"model.namaExternal as namaEkternal, " +"produkaset.id as produkAsetId," +"produkaset.namaProduk as namaProdukAset," +"model.statusEnabled as statusEnabled) " +" from Alat model " +"left join model.departemen departemen " +"left join model.satuanStandar satuanstandar " +"left join model.produkAset produkaset " +"left join model.registrasiAset registrasiAset " + "where model.id=:alatId") Map getAlatById(@Param("alatId") Integer alatId); @Query("select max(p.id) from Alat p ") public Integer getMaxNoMesin(); @Query("select new Map(model.id as id," + "model.namaAlat as namaAlat," + "model.kdAlat as kdAlat," + "model.kapasitasAlat as kapasitasAlat) " +"from Alat model " +"left join model.produkAset produkAset " +"where produkAset.id=:produkAsetId and model.id=:id") public List> findMesinRegisterAset(@Param("produkAsetId")Integer produkAsetId,@Param("id")Integer id); @Query("select new Map(model.id as id," + "model.namaAlat as namaAlat," + "model.kdAlat as kdAlat," + "model.kapasitasAlat as kapasitasAlat) " +"from Alat model " +"left join model.produkAset produkAset " +"where produkAset.id=:produkAsetId") public List> findMesinRegisterAset(@Param("produkAsetId")Integer produkAsetId); //spesifikasi khusus untuk register asset laundry @Query("select new Map (model.noRec as noRec," + "model.noRegisterAset as noRegisterAset, " +"produk.id as produkId, " +"produk.namaProduk as namaProduk) " +"from RegistrasiAset model " +"left join model.produk produk " + " left join produk.detailJenisProduk detailJenisProduk " + " where detailJenisProduk.id in(179)") List> getAsetLaundry(); @Query("select new Map(model.id as alatId, " +"model.namaAlat as namaMesin, " +"registrasiAset.noRec as noRecRegistrasiAset, " +"registrasiAset.noRegisterAset as noRegistrasiAset, " +"model.kapasitasAlat as kapasitasMesin, " +"satuanstandar.id as satuanStandarId, " +"satuanstandar.satuanStandar as namaSatuanStandar, " +"departemen.id as departemenId, " +"departemen.namaDepartemen as namaDepartemen, " +"model.kodeExternal as kodeEkternal, " +"model.namaExternal as namaEkternal, " +"produkaset.id as produkAsetId," +"produkaset.namaProduk as namaProdukAset," +"model.statusEnabled as statusEnabled) " +" from Alat model " +"left join model.departemen departemen " +"left join model.satuanStandar satuanstandar " +"left join model.produkAset produkaset " + " left join produkaset.detailJenisProduk detailJenisProduk" +" left join model.registrasiAset registrasiAset where detailJenisProduk.id in(179)") List> getMesinLaundry(); }