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

106 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.ItPelaksanaanPerbaikan;
@Repository("itPelaksanaanPerbaikanDao")
public interface ItPelaksanaanPerbaikanDao extends PagingAndSortingRepository<ItPelaksanaanPerbaikan, String>{
@Query("select media from ItPelaksanaanPerbaikan media "
+ "left join media.itPerbaikan itPerbaikan "
+ "where itPerbaikan.noRec =:noRec ")
ItPelaksanaanPerbaikan getByItPerbaikan(@Param("noRec")String noRec);
//get all pelaksanaanperbaikan
@Query("select new map(itPerbaikan.noRec as noRec, " +
" to_char(itPerbaikan.tglPesan, 'yyyy-mm-dd') as tglPesan, " +
" itPerbaikan.keluhan as keluhan, " +
" pelapor.id as idPelapor, pelapor.namaLengkap as namaPelapor, " +
" strukOrder.noRec as noRecStrukOrder, " +
" strukOrder.keteranganOrder as keteranganOrder, " +
" ruangan.id as idRuangan, ruangan.namaRuangan as namaRuangan, " +
" produk.id as idProduk, produk.namaProduk as namaProduk) " +
" from ItPerbaikan itPerbaikan " +
" left join itPerbaikan.strukOrder strukOrder " +
" left join strukOrder.ruangan ruangan " +
" left join itPerbaikan.itStatusPerbaikan itStatusPerbaikan " +
" left join itPerbaikan.pelapor pelapor " +
" left join itPerbaikan.registrasiAset registrasiAset " +
" left join registrasiAset.produk produk where " +
" itPerbaikan.statusEnabled in('true') " +
" and date(itPerbaikan.tglPesan) between date(:startDate) and date(:endDate)")
List<Map<String, Object>> getPelaksanaanPerbaikanAll(@Param("startDate")String startDate, @Param("endDate")String endDate);
//get pelaksanaanperbaikan by norec
@Query("select new map(itPerbaikan.noRec as noRec, " +
" to_char(itPerbaikan.tglPesan, 'yyyy-mm-dd') as tglPesan, " +
" itPerbaikan.keluhan as keluhan, " +
" pelapor.id as idPelapor, pelapor.namaLengkap as namaPelapor, " +
" strukOrder.noRec as noRecStrukOrder, " +
" strukOrder.keteranganOrder as keteranganOrder, " +
" ruangan.id as idRuangan, ruangan.namaRuangan as namaRuangan, " +
" produk.id as idProduk, produk.namaProduk as namaProduk, "+
" itPelaksanaanPerbaikan.analisaTeknisi as analisaTeknisi, "+
" itPelaksanaanPerbaikan.analisaKerusakan as analisaKerusakan, "+
" itPelaksanaanPerbaikan.tglMulaiPeriksa as tglMulaiPeriksa )"+
" from ItPerbaikan itPerbaikan " +
" left join itPerbaikan.strukOrder strukOrder " +
" left join strukOrder.ruangan ruangan " +
" left join itPerbaikan.itStatusPerbaikan itStatusPerbaikan " +
" left join itPerbaikan.pelapor pelapor " +
" left join itPerbaikan.registrasiAset registrasiAset " +
" left join registrasiAset.produk produk "+
" left join itPerbaikan.itPelaksanaanPerbaikan itPelaksanaanPerbaikan"+
" where " +
" itPerbaikan.statusEnabled in('true') " +
" and itPerbaikan.noRec=:noRec")
List<Map<String, Object>> getPelaksanaanPerbaikanByNoRec(@Param("noRec")String noRec);
//statusperbaikan
@Query("select new map(itStatusPerbaikan.noRec as noRecStatusPerbaikan, " +
" itStatusPerbaikan.statusPengerjaan as statusPengerjaan, " +
" itStatusPerbaikan.statusRespon as statusRespon, " +
" itStatusPerbaikan.waktuRespon as waktuRespon, " +
" itStatusPerbaikan.ketStatusRespon as ketStatusRespon) " +
" from ItStatusPerbaikan itStatusPerbaikan " +
" left join itStatusPerbaikan.itPerbaikan itPerbaikan " +
" where itPerbaikan.noRec=:noRec")
List<Map<String, Object>> getStatusPerbaikanByPerbaikan(@Param("noRec")String noRec);
//teknisi
@Query("select new map(a.noRec as noRecListTeknisi, " +
" teknisi.id as idTeknisi, teknisi.namaLengkap as namaTeknisi) " +
" from ItPelaksanaanPerbaikanListTeknisi a " +
" left join a.teknisi teknisi " +
" left join a.itPelaksanaanPerbaikan itPelaksanaanPerbaikan " +
" left join itPelaksanaanPerbaikan.itPerbaikan itPerbaikan " +
" where itPerbaikan.noRec=:noRec and "+
" (a.statusEnabled is null or a.statusEnabled is true)")
List<Map<String, Object>> getTeknisiByPerbaikan(@Param("noRec")String noRec);
//sukucadang
@Query("select new map(a.noRec as noRecSukuCadang, " +
" a.qty as qty, " +
" stokProdukGlobal.id as idStockProdukGlobal, " +
" produk.id as idProduk, " +
" produk.namaProduk as namaProduk, " +
" tujuanRuangan.id as idRuangTujuan, " +
" tujuanRuangan.namaRuangan as namaRuangan) " +
" from ItPelaksanaanPerbaikanSukuCadang a " +
" left join a.itPelaksanaanPerbaikan itPelaksanaanPerbaikan " +
" left join a.stokProdukGlobal stokProdukGlobal " +
" left join stokProdukGlobal.produk produk " +
" left join a.tujuanRuangan tujuanRuangan " +
" left join itPelaksanaanPerbaikan.itPerbaikan itPerbaikan " +
" where itPerbaikan.noRec=:noRec")
List<Map<String, Object>> getSukuCadang(@Param("noRec")String noRec);
}