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

136 lines
5.3 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.Alat;
@Repository("AlatDao")
public interface AlatDao extends PagingAndSortingRepository<Alat, Integer>{
@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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<String, Object> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> getMesinLaundry();
}