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.OrderPelayanan; import com.jasamedika.medifirst2000.entities.StrukOrder; @Repository("PsrsPermintaanPerbaikanDao") public interface PsrsPermintaanPerbaikanDao extends PagingAndSortingRepository{ //add by iwankasan //12.12.2017 @Query("select new map(strukkonfi3_.noKonfirmasi as noVerifikasi, " + " orderpelay2_.noRec as noRecOrderPelayanan, " + " strukorder6_.noRec as noRec, " + " strukorder6_.noOrderIntern as noOrder, " + " strukorder6_.tglOrder as tglOrder, " + " pegawai7_.namaLengkap as namaTeknisi, " + " ruangan8_.namaRuangan as ruanganPemesan, " + " pegawai11_.namaLengkap as userPemesan, " + " ruangan9_.namaRuangan as ruanganTujuan, " + " strukorder6_.keteranganOrder as keteranganOrder, " + " strukorder6_.keteranganLainnya as keteranganLainnya, " + " strukkirim1_.nokirim as noRespon, " + " jenis5_.id as idJenis, " + " jenis5_.jenisProduk as jenisProduk) " + " from KirimProduk kirimprodu0_ " + " right join kirimprodu0_.noKirim strukkirim1_ " + " right join strukkirim1_.noorder strukorder6_ " + " left join strukorder6_.ruangan ruangan8_ " + " left join strukorder6_.ruanganTujuan ruangan9_ " + " left join strukorder6_.jenisPermintaan jenispermi10_ " + " left join strukorder6_.pegawaiOrder pegawai11_ " + " left join strukkirim1_.pegawaiPengirim pegawai7_ " + " left join kirimprodu0_.noKonfirmasi strukkonfi3_, " + " OrderPelayanan orderpelay2_ " + " left join orderpelay2_.registrasiAset registrasi4_ " + " left join registrasi4_.produk produk5_ " + " left join produk5_.detailJenisProduk detailjenis5_ " + " left join detailjenis5_.jenisProduk jenis5_, " + //dateStart,dateEnd,noOrder " MapPegawaiIpsrs mappegawai5_ " + " left join mappegawai5_.jenisProduk mappegawai0_ " + " left join mappegawai5_.pegawai mappegawai1_ " + " where orderpelay2_.strukOrderId=strukorder6_.noRec " + " and strukorder6_.keteranganOrder<>'Permintaan Barang Dari Ruangan (Aset)' " + " and strukorder6_.kelompokTransaksiId in(68) " + " and strukorder6_.ruanganTujuanId in(229) " + " and mappegawai1_.id=:idLogin and mappegawai5_.statusEnabled in('true')" + " group by strukorder6_.noRec, strukorder6_.noOrderIntern, " + " strukorder6_.tglOrder, " + " pegawai7_.namaLengkap, ruangan8_.namaRuangan, " + " pegawai11_.namaLengkap, ruangan9_.namaRuangan, " + " strukkonfi3_.noKonfirmasi, " + " strukorder6_.keteranganOrder, " + " orderpelay2_.noRec, " + " strukorder6_.keteranganLainnya, " + " strukkirim1_.nokirim, " + " jenis5_.id, jenis5_.jenisProduk order by strukorder6_.tglOrder desc") List> getPermintaanPerbaikanbyGroupPegawai(@Param("idLogin") Integer idLogin); @Query("select new map(asalsukuca2_.asalSukuCadang as asalSukuCadang) " + " from PlanningPelayanan planningpe0_ " + " left join planningpe0_.strukPlaning strukplann1_ " + " left join strukplann1_.asalSukuCadang asalsukuca2_ " + " left join planningpe0_.strukOrder strukorder3_ " + " where strukorder3_.noRec=:noRec") Map getFindAsalSukuCadang(@Param("noRec") String noRec); @Query("select new map(strukkonfi3_.noKonfirmasi as noVerifikasi, " + " orderpelay2_.noRec as noRecOrderPelayanan, " + " strukorder6_.noRec as noRec, " + " strukorder6_.noOrderIntern as noOrder, " + " strukorder6_.tglOrder as tglOrder, " + " pegawai7_.namaLengkap as namaTeknisi, " + " ruangan8_.namaRuangan as ruanganPemesan, " + " pegawai11_.namaLengkap as userPemesan, " + " ruangan9_.namaRuangan as ruanganTujuan, " + " strukorder6_.keteranganOrder as keteranganOrder, " + " strukorder6_.keteranganLainnya as keteranganLainnya, " + " strukkirim1_.nokirim as noRespon, " + " jenis5_.id as idJenis, " + " jenis5_.jenisProduk as jenisProduk) " + " from KirimProduk kirimprodu0_ " + " right join kirimprodu0_.noKirim strukkirim1_ " + " right join strukkirim1_.noorder strukorder6_ " + " left join strukorder6_.ruangan ruangan8_ " + " left join strukorder6_.ruanganTujuan ruangan9_ " + " left join strukorder6_.jenisPermintaan jenispermi10_ " + " left join strukorder6_.pegawaiOrder pegawai11_ " + " left join strukkirim1_.pegawaiPengirim pegawai7_ " + " left join kirimprodu0_.noKonfirmasi strukkonfi3_, " + " OrderPelayanan orderpelay2_ " + " left join orderpelay2_.registrasiAset registrasi4_ " + " left join registrasi4_.produk produk5_ " + " left join produk5_.detailJenisProduk detailjenis5_ " + " left join detailjenis5_.jenisProduk jenis5_, " + " MapPegawaiIpsrs mappegawai5_ " + " left join mappegawai5_.jenisProduk mappegawai0_ " + " left join mappegawai5_.pegawai mappegawai1_ " + " where orderpelay2_.strukOrderId=strukorder6_.noRec " + " and date(strukorder6_.tglOrder) between date(:startDate) and date(:endDate) " + " and strukorder6_.keteranganOrder<>'Permintaan Barang Dari Ruangan (Aset)' " + " and strukorder6_.kelompokTransaksiId in(68) " + " and strukorder6_.ruanganTujuanId in(229) " + " and mappegawai1_.id=:idLogin and mappegawai5_.statusEnabled in('true')" + " group by strukorder6_.noRec, strukorder6_.noOrderIntern, " + " strukorder6_.tglOrder, " + " pegawai7_.namaLengkap, ruangan8_.namaRuangan, " + " pegawai11_.namaLengkap, ruangan9_.namaRuangan, " + " strukkonfi3_.noKonfirmasi, " + " strukorder6_.keteranganOrder, " + " orderpelay2_.noRec, " + " strukorder6_.keteranganLainnya, " + " strukkirim1_.nokirim, " + " jenis5_.id, jenis5_.jenisProduk order by strukorder6_.tglOrder desc") List> getPermintaanPerbaikanByDate(@Param("idLogin") Integer idLogin, @Param("startDate") String startDate, @Param("endDate") String endDate); @Query("select new map(strukkonfi3_.noKonfirmasi as noVerifikasi, " + " orderpelay2_.noRec as noRecOrderPelayanan, " + " strukorder6_.noRec as noRec, " + " strukorder6_.noOrderIntern as noOrder, " + " strukorder6_.tglOrder as tglOrder, " + " pegawai7_.namaLengkap as namaTeknisi, " + " ruangan8_.namaRuangan as ruanganPemesan, " + " pegawai11_.namaLengkap as userPemesan, " + " ruangan9_.namaRuangan as ruanganTujuan, " + " strukorder6_.keteranganOrder as keteranganOrder, " + " strukorder6_.keteranganLainnya as keteranganLainnya, " + " strukkirim1_.nokirim as noRespon, " + " jenis5_.id as idJenis, " + " jenis5_.jenisProduk as jenisProduk) " + " from KirimProduk kirimprodu0_ " + " right join kirimprodu0_.noKirim strukkirim1_ " + " right join strukkirim1_.noorder strukorder6_ " + " left join strukorder6_.ruangan ruangan8_ " + " left join strukorder6_.ruanganTujuan ruangan9_ " + " left join strukorder6_.jenisPermintaan jenispermi10_ " + " left join strukorder6_.pegawaiOrder pegawai11_ " + " left join strukkirim1_.pegawaiPengirim pegawai7_ " + " left join kirimprodu0_.noKonfirmasi strukkonfi3_, " + " OrderPelayanan orderpelay2_ " + " left join orderpelay2_.registrasiAset registrasi4_ " + " left join registrasi4_.produk produk5_ " + " left join produk5_.detailJenisProduk detailjenis5_ " + " left join detailjenis5_.jenisProduk jenis5_, " + " MapPegawaiIpsrs mappegawai5_ " + " left join mappegawai5_.jenisProduk mappegawai0_ " + " left join mappegawai5_.pegawai mappegawai1_ " + " where orderpelay2_.strukOrderId=strukorder6_.noRec " + " and strukorder6_.noOrderIntern=:noOrder " + " and strukorder6_.keteranganOrder<>'Permintaan Barang Dari Ruangan (Aset)' " + " and strukorder6_.kelompokTransaksiId in(68) " + " and strukorder6_.ruanganTujuanId in(229) " + " and mappegawai1_.id=:idLogin and mappegawai5_.statusEnabled in('true')" + " group by strukorder6_.noRec, strukorder6_.noOrderIntern, " + " strukorder6_.tglOrder, " + " pegawai7_.namaLengkap, ruangan8_.namaRuangan, " + " pegawai11_.namaLengkap, ruangan9_.namaRuangan, " + " strukkonfi3_.noKonfirmasi, " + " strukorder6_.keteranganOrder, " + " orderpelay2_.noRec, " + " strukorder6_.keteranganLainnya, strukkirim1_.nokirim, jenis5_.id, jenis5_.jenisProduk") List> getPermintaanPerbaikanByStrukOrder(@Param("idLogin") Integer idLogin, @Param("noOrder") String noOrder); @Query("select new map(strukkonfi3_.noKonfirmasi as noVerifikasi, " + " orderpelay2_.noRec as noRecOrderPelayanan, " + " strukorder6_.noRec as noRec, " + " strukorder6_.noOrderIntern as noOrder, " + " strukorder6_.tglOrder as tglOrder, " + " pegawai7_.namaLengkap as namaTeknisi, " + " ruangan8_.namaRuangan as ruanganPemesan, " + " pegawai11_.namaLengkap as userPemesan, " + " ruangan9_.namaRuangan as ruanganTujuan, " + " strukorder6_.keteranganOrder as keteranganOrder, " + " strukorder6_.keteranganLainnya as keteranganLainnya, " + " strukkirim1_.nokirim as noRespon, " + " jenis5_.id as idJenis, " + " jenis5_.jenisProduk as jenisProduk) " + " from KirimProduk kirimprodu0_ " + " right join kirimprodu0_.noKirim strukkirim1_ " + " right join strukkirim1_.noorder strukorder6_ " + " left join strukorder6_.ruangan ruangan8_ " + " left join strukorder6_.ruanganTujuan ruangan9_ " + " left join strukorder6_.jenisPermintaan jenispermi10_ " + " left join strukorder6_.pegawaiOrder pegawai11_ " + " left join strukkirim1_.pegawaiPengirim pegawai7_ " + " left join kirimprodu0_.noKonfirmasi strukkonfi3_, " + " OrderPelayanan orderpelay2_ " + " left join orderpelay2_.registrasiAset registrasi4_ " + " left join registrasi4_.produk produk5_ " + " left join produk5_.detailJenisProduk detailjenis5_ " + " left join detailjenis5_.jenisProduk jenis5_, " + " MapPegawaiIpsrs mappegawai5_ " + " left join mappegawai5_.jenisProduk mappegawai0_ " + " left join mappegawai5_.pegawai mappegawai1_ " + " where orderpelay2_.strukOrderId=strukorder6_.noRec " + " and date(strukorder6_.tglOrder) between date(:startDate) and date(:endDate) " + " and strukorder6_.keteranganOrder=:jenisOrder " + " and strukorder6_.keteranganOrder<>'Permintaan Barang Dari Ruangan (Aset)' " + " and strukorder6_.kelompokTransaksiId in(68) " + " and strukorder6_.ruanganTujuanId in(229) " + " and mappegawai1_.id=:idLogin and mappegawai5_.statusEnabled in('true')" + " group by strukorder6_.noRec, strukorder6_.noOrderIntern, " + " strukorder6_.tglOrder, " + " pegawai7_.namaLengkap, ruangan8_.namaRuangan, " + " pegawai11_.namaLengkap, ruangan9_.namaRuangan, " + " strukkonfi3_.noKonfirmasi, " + " strukorder6_.keteranganOrder, " + " orderpelay2_.noRec, " + " strukorder6_.keteranganLainnya, " + " strukkirim1_.nokirim, jenis5_.id, jenis5_.jenisProduk order by strukorder6_.tglOrder desc") List> getPermintaanPerbaikanByKetOrder(@Param("idLogin") Integer idLogin, @Param("jenisOrder") String jenisOrder, @Param("startDate") String startDate, @Param("endDate") String endDate); @Query("select new map(a.noRec as noRec, c.noRec as strukOrder, a.qtyProduk as qtyProduk, " + " d.id as idProduk, d.namaProduk as namaProduk) from PlanningPelayananDbhp a " + " left join a.strukPlanning b " + " left join a.strukOrder c " + " left join a.produk d where c.noRec=:strukOrder") List> getOrderSukuCadangbyStrukOrder(@Param("strukOrder") String strukOrder); @Query("select 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 group by b.kdRuangan, b.namaRuangan, b.id") public List> getRuanganOnAsetMap(); //get all trans perbaikan untuk dashboard perbaikan @Query("select new map(registrasi5_.noRec as noRecRegistrasiAset, " + " strukkonfi4_.noKonfirmasi as noKonfirmasi, " + " strukkonfi4_.tglKonfirmasi as tanggalKonfirmasi, " + " strukverif1_.tglverifikasi as tanggalSelesai, " + " coalesce(pegawai1_.namaLengkap, '-') as namaVerifikator, " + " strukorder7_.tglOrder as tanggalOrder, " + " strukkirim2_.tglkirim as tanggalRespon, " + " strukkonfi4_.tglKonfirmasi as tanggalMulai, " + " registrasi5_.noRegisterAset as noAset, " + " strukverif1_.noverifikasi as noVerifikasi, " + " produk6_.namaProduk as namaProduk, " + " coalesce(merkProduk1_.merkProduk, '-') as merkProduk, " + " coalesce(typeProduk1_.typeProduk, '-') as typeProduk, " + " orderpelay3_.noRec as noRecOrderPelayanan, " + " strukorder7_.noRec as noRec, " + " strukorder7_.noOrderIntern as noOrder, " + " strukorder7_.tglOrder as tanggalOrder, " + " coalesce(ruangan9_.namaRuangan, '-') as ruanganPemesan, " + " coalesce(pegawai12_.namaLengkap, '-') as userPemesan, " + " coalesce(ruangan10_.namaRuangan, '-') as ruanganTujuan, " + " strukorder7_.keteranganOrder as keteranganOrder, " + " strukorder7_.keteranganLainnya as keteranganLainnya, " + " jenis5_.id as idJenis, " + " jenis5_.jenisProduk as jenisProduk) from " + " KirimProduk kirimprodu0_ " + " left join kirimprodu0_.noVerifikasi strukverif1_ " + " left join strukverif1_.loginUser loginuser1_ " + " left join loginuser1_.pegawai pegawai1_ " + " right join kirimprodu0_.noKirim strukkirim2_ " + " right join strukkirim2_.noorder strukorder7_ " + " left join strukorder7_.ruangan ruangan9_ " + " left join strukorder7_.ruanganTujuan ruangan10_ " + " left join strukorder7_.jenisPermintaan jenispermi11_ " + " left join strukorder7_.pegawaiOrder pegawai12_ " + " left join strukkirim2_.pegawaiPengirim pegawai8_ " + " left join kirimprodu0_.noKonfirmasi strukkonfi4_ , OrderPelayanan orderpelay3_ " + " left join orderpelay3_.registrasiAset registrasi5_ " + " left join registrasi5_.produk produk6_ " + " left join produk6_.merkProduk merkProduk1_ " + " left join produk6_.typeProduk typeProduk1_ " + " left join produk6_.detailJenisProduk detailjenis5_ " + " left join detailjenis5_.jenisProduk jenis5_, " + " MapPegawaiIpsrs mappegawai5_ " + " left join mappegawai5_.jenisProduk mappegawai0_ " + " left join mappegawai5_.pegawai mappegawai1_ " + " where orderpelay3_.strukOrderId=strukorder7_.noRec " + " and strukorder7_.keteranganOrder<>'Permintaan Barang Dari Ruangan (Aset)' " + " and strukorder7_.ruanganTujuanId=229 " + " and mappegawai1_.id=:idLogin " + " and date(strukorder7_.tglOrder) between date(:startDate) and date(:endDate) " + " group by " + " strukorder7_.noRec , " + " strukverif1_.tglverifikasi , " + " strukkonfi4_.tglKonfirmasi , " + " strukverif1_.noverifikasi , " + " registrasi5_.noRegisterAset , " + " produk6_.namaProduk , " + " strukorder7_.noOrderIntern, " + " strukorder7_.tglOrder, " + " ruangan9_.namaRuangan , " + " pegawai12_.namaLengkap , " + " ruangan10_.namaRuangan , " + " strukkonfi4_.noKonfirmasi , " + " strukorder7_.keteranganOrder , " + " orderpelay3_.noRec , " + " strukorder7_.keteranganLainnya , " + " strukkirim2_.tglkirim , " + " strukkonfi4_.tglKonfirmasi , " + " registrasi5_.noRec, " + " pegawai1_.namaLengkap, " + " merkProduk1_.merkProduk, " + " typeProduk1_.typeProduk, jenis5_.id, jenis5_.jenisProduk " + " order by strukorder7_.tglOrder desc") public List> getMonitoringPerbaikan(@Param("idLogin") Integer idLogin, @Param("startDate") String startDate, @Param("endDate") String endDate); @Query("select new map(coalesce(statuspeke3_.statusPekerjaan, '-') as statusPekerjaan) " + " from PlanningPelayanan planningpe0_ " + " left join planningpe0_.strukPlaning strukplann1_ " + " left join strukplann1_.asalSukuCadang asalsukuca2_ " + " left join strukplann1_.statusPekerjaan statuspeke3_ " + " left join planningpe0_.strukOrder strukorder4_ " + " where strukorder4_.noRec=:noRec") public Map getStatusPekerjaan(@Param("noRec") String noRec); @Query("select a from OrderPelayanan a where a.noRec=:noOrderPelayanan") List findOrderPelayanannoRec(@Param("noOrderPelayanan")String noOrderPelayanan); //filter data to building asset //created by iwankasan //date : 22.01.2018 @Query("select new map(registrasiAset.noRec as noRec, " + " registrasiAset.noRegisterAset as noRegisterAset, " + " produk.namaProduk as namaProduk, " + " produk.id as idProduk) from RegistrasiAset registrasiAset " + " left join registrasiAset.produk produk " + " left join produk.detailJenisProduk detailJenisProduk " + " left join detailJenisProduk.jenisProduk jenisProduk " + " where detailJenisProduk.id in('447') and jenisProduk.id=:idJenis") public List> getAssetGedungByJenisAsset(@Param("idJenis")Integer idJenis); //filter data to non-building asset //created by iwankasan //date : 22.01.2018 @Query("select new map (produk.namaProduk as namaProduk," + " produk.id as idProduk, registerAset.noRec as noRec) " + " from RegistrasiAset registerAset " + " left join registerAset.produk produk " + " left join registerAset.typeProduk typeProduk " + " left join registerAset.merkProduk merkProduk " + " left join produk.detailJenisProduk detailJenisProduk " + " left join detailJenisProduk.jenisProduk jenisProduk " + " where registerAset.ruanganId in(:ruanganId) " + " and detailJenisProduk.id <>447 and jenisProduk.id=:idJenis " + " group by produk.namaProduk,produk.id,registerAset.noRec") public List> getAssetNonGedungByJenisAsset(@Param("ruanganId")Integer ruanganId, @Param("idJenis")Integer idJenis); //filter data orderpelayanan @Query("select orderPelayanan from OrderPelayanan orderPelayanan " + " left join orderPelayanan.noOrder strukOrder " + " where orderPelayanan.noRec=:noOrderPelayanan") OrderPelayanan getOrderPelayananByNoRec(@Param("noOrderPelayanan")String noOrderPelayanan); //Menampilan data registrasi building asset //with menampilan data perbaikan setelah dilakuan respont @Query("select new map(orderPelayanan.noRec as noRecOrderPelayanan, " + " registrasiAset.noRec as noRecRegistrasiAset, " + " registrasiAset.noRegisterAset as noRegisterAset, " + " produk.id as idProduk, " + " produk.namaExternal as namaExternal) " + " from OrderPelayanan orderPelayanan " + " left join orderPelayanan.noOrder strukOrder" + " left join orderPelayanan.registrasiAset registrasiAset " + " left join registrasiAset.produk produk " + " left join produk.detailJenisProduk detailJenisProduk " + " left join detailJenisProduk.jenisProduk jenisProduk " + " where detailJenisProduk.id in('447') " + " and orderPelayanan.noRec=:noOrderPelayanan") public List> getAssetGedungByOrderPelayanan(@Param("noOrderPelayanan")String noOrderPelayanan); //Menampilan data registrasi non building asset //with menampilan data perbaikan setelah dilakuan respont @Query("select new map(orderPelayanan.noRec as noRecOrderPelayanan, " + " registrasiAset.noRec as noRecRegistrasiAset, " + " registrasiAset.noRegisterAset as noRegisterAset, " + " registrasiAset.noSeri as noSeri," + " produk.id as idProduk, " + " produk.namaExternal as namaExternal, " + " produk.merkProduk.merkProduk as merkProduk, " + " produk.typeProduk.typeProduk as typeProduk) " + " from OrderPelayanan orderPelayanan " + " left join orderPelayanan.noOrder strukOrder" + " left join orderPelayanan.registrasiAset registrasiAset " + " left join registrasiAset.produk produk " + " left join produk.detailJenisProduk detailJenisProduk " + " left join detailJenisProduk.jenisProduk jenisProduk " + " where detailJenisProduk.id<>447 " + " and orderPelayanan.noRec=:noOrderPelayanan") public List> getAssetNonGedungByOrderPelayanan(@Param("noOrderPelayanan")String noOrderPelayanan); //get idJenis from strukOrder @Query("select new map(jenisProduk.id as id, registrasiAset.ruanganId as ruanganId) " + " from OrderPelayanan orderPelayanan " + " left join orderPelayanan.registrasiAset registrasiAset " + " left join orderPelayanan.strukOrder strukOrder" + " left join registrasiAset.produk produk " + " left join produk.detailJenisProduk detailJenisProduk " + " left join detailJenisProduk.jenisProduk jenisProduk where strukOrder.noRec=:noRec") public Map getJenisProdukByStrukOrder(@Param("noRec")String noRec); @Query("select new map(registrasiAset.noRec as noRec, " + " registrasiAset.noRegisterAset as noRegisterAset, " + " registrasiAset.noSeri as noSeri," + " produk.namaProduk as namaProduk, " + " produk.id as idProduk, " + " merkProduk.merkProduk as merkProduk, " + " typeProduk.typeProduk as typeProduk) " + " from RegistrasiAset registrasiAset " + " left join registrasiAset.produk produk " + " left join produk.typeProduk typeProduk " + " left join produk.merkProduk merkProduk " + " left join produk.detailJenisProduk detailJenisProduk " + " left join detailJenisProduk.jenisProduk jenisProduk " + " where jenisProduk.id=:idJenis and registrasiAset.ruanganId=:ruanganId") public List> getRegistrasiAssetByJenisProduk(@Param("idJenis")Integer idJenis, @Param("ruanganId")Integer idRuangan); }