penerapan diskon jasamedis 100% di logbook dokter
This commit is contained in:
parent
1bd2d6cfd3
commit
735d02ab7f
@ -17,78 +17,50 @@ import com.jasamedika.medifirst2000.entities.PelayananPasienDetail;
|
||||
@Repository("pendapatanDao")
|
||||
public interface PendapatanDao extends PagingAndSortingRepository<PelayananPasienDetail, String> {
|
||||
|
||||
String pendapatanDokterStr = "select new Map(dokter.id as idPegawai, "
|
||||
+ "dokter.namaLengkap as nama, "
|
||||
+ "jenisPetugas.id as idJenisPelaksana, "
|
||||
+ "detail.id as detailId, "
|
||||
+ "detail.detailJenisProduk as detailJenisProduk, "
|
||||
+ "produk.id as idProduk, "
|
||||
+ "produk.namaProduk as namaProduk, "
|
||||
+ "kelas.id as idKelas, "
|
||||
+ "kelas.namaKelas as namaKelas, "
|
||||
String pendapatanDokterStr = "select new Map(dokter.id as idPegawai, " + "dokter.namaLengkap as nama, "
|
||||
+ "jenisPetugas.id as idJenisPelaksana, " + "detail.id as detailId, "
|
||||
+ "detail.detailJenisProduk as detailJenisProduk, " + "produk.id as idProduk, "
|
||||
+ "produk.namaProduk as namaProduk, " + "kelas.id as idKelas, " + "kelas.namaKelas as namaKelas, "
|
||||
+ "(select distinct harga.hargaNetto1 from HargaNettoProdukByKelas harga "
|
||||
+ "where harga.produkId = produk.id and harga.statusEnabled is true and harga.kelasId = kelas.id "
|
||||
+ "and harga.kelasId = pelayananPasien.kelasId) as hargaKelas, "
|
||||
+ "(select distinct coalesce(hargaD.hargaNetto1, 0) from HargaNettoProdukByKelasD hargaD "
|
||||
+ "left join hargaD.komponenHarga komponenHarga "
|
||||
+ "where hargaD.statusEnabled is true "
|
||||
+ "left join hargaD.komponenHarga komponenHarga " + "where hargaD.statusEnabled is true "
|
||||
+ "and hargaD.produkId = produk.id and hargaD.produkId = pelayananPasien.produkId "
|
||||
+ "and hargaD.kelasId = kelas.id and hargaD.kelasId = pelayananPasien.kelasId "
|
||||
+ "and komponenHarga.id = pelayananPasienDetail.komponenHargaId) as tarifJasa, "
|
||||
+ "pelayananPasien.hargaSatuan as harga, "
|
||||
+ "pelayananPasien.jumlah as count, "
|
||||
+ "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tanggal, "
|
||||
+ "pelayananPasien.hargaSatuan as harga, " + "pelayananPasien.hargaDiscount as diskon, "
|
||||
+ "pelayananPasien.jumlah as count, " + "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tanggal, "
|
||||
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "
|
||||
+ "coalesce(pelayananPasienDetail.hargaJual, 0) as hargaJual,"
|
||||
+ "coalesce(pelayananPasienDetail.hargaDiscount, 0) as hargaDiskon,"
|
||||
+ "pelayananPasienDetail.komponenHargaId as idJasa,"
|
||||
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, "
|
||||
+ "kategoryPegawai.id as kategoryPegawaiId, "
|
||||
+ "departemen.id as departemenId, "
|
||||
+ "ruangan.id as ruanganId, "
|
||||
+ "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
||||
+ "shift.jamMasuk as jamMasuk, "
|
||||
+ "shift.jamPulang as jamPulang, "
|
||||
+ "shift.namaShift as namaShift) "
|
||||
+ "from PelayananPasienPetugas pelayananPasienPetugas, "
|
||||
+ "PelayananPasienDetail pelayananPasienDetail, "
|
||||
+ "PegawaiJadwalKerja jadwalKerja, "
|
||||
+ "Kalender kalender, "
|
||||
+ "ShiftKerja shift "
|
||||
+ "pelayananPasienDetail.komponenHargaId as idJasa," + "pasienDaftar.kelompokPasienId as kelompokPasienId, "
|
||||
+ "pasienDaftar.isDiskonPegawai as statusDiskon, " + "kategoryPegawai.id as kategoryPegawaiId, "
|
||||
+ "departemen.id as departemenId, " + "ruangan.id as ruanganId, "
|
||||
+ "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, " + "shift.jamMasuk as jamMasuk, "
|
||||
+ "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
|
||||
+ "from PelayananPasienPetugas pelayananPasienPetugas, " + "PelayananPasienDetail pelayananPasienDetail, "
|
||||
+ "PegawaiJadwalKerja jadwalKerja, " + "Kalender kalender, " + "ShiftKerja shift "
|
||||
+ "left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
|
||||
+ "left join pelayananPasienPetugas.kdjenispetugaspe jenisPetugas "
|
||||
+ "left join pelayananPasienPetugas.kdpegawai dokter "
|
||||
+ "left join pelayananPasien.produk produk "
|
||||
+ "left join pelayananPasien.kelas kelas "
|
||||
+ "left join pelayananPasien.pasienDaftar antrian "
|
||||
+ "left join dokter.kategoryPegawai kategoryPegawai "
|
||||
+ "left join produk.detailJenisProduk detail "
|
||||
+ "left join antrian.ruangan ruangan "
|
||||
+ "left join antrian.pasienDaftar pasienDaftar "
|
||||
+ "left join detail.jenisProduk jenisProduk "
|
||||
+ "left join ruangan.departemen departemen "
|
||||
+ "left join pelayananPasienPetugas.kdpegawai dokter " + "left join pelayananPasien.produk produk "
|
||||
+ "left join pelayananPasien.kelas kelas " + "left join pelayananPasien.pasienDaftar antrian "
|
||||
+ "left join dokter.kategoryPegawai kategoryPegawai " + "left join produk.detailJenisProduk detail "
|
||||
+ "left join antrian.ruangan ruangan " + "left join antrian.pasienDaftar pasienDaftar "
|
||||
+ "left join detail.jenisProduk jenisProduk " + "left join ruangan.departemen departemen "
|
||||
+ "where pelayananPasien.noRec = pelayananPasienDetail.pelayananPasienId "
|
||||
+ "and pelayananPasienDetail.pasienDaftarId = antrian.noRec "
|
||||
+ "and pelayananPasienDetail.produkId = produk.id "
|
||||
+ "and dokter.id = jadwalKerja.pegawaiId "
|
||||
+ "and kalender.id = jadwalKerja.tanggalId "
|
||||
+ "and shift.id = jadwalKerja.shiftId "
|
||||
+ "and pelayananPasienDetail.produkId = produk.id " + "and dokter.id = jadwalKerja.pegawaiId "
|
||||
+ "and kalender.id = jadwalKerja.tanggalId " + "and shift.id = jadwalKerja.shiftId "
|
||||
+ "and to_char(kalender.tanggal, 'yyyy-MM-dd') = to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
||||
+ "and pelayananPasienPetugas.statusEnabled is not false "
|
||||
+ "and pelayananPasien.statusEnabled is not false "
|
||||
+ "and antrian.statusEnabled is not false "
|
||||
+ "and pasienDaftar.statusEnabled is not false "
|
||||
+ "and pelayananPasienDetail.statusEnabled is true "
|
||||
+ "and jenisPetugas.statusEnabled is true "
|
||||
+ "and dokter.statusEnabled is true "
|
||||
+ "and produk.statusEnabled is true "
|
||||
+ "and detail.statusEnabled is true "
|
||||
+ "and kelas.statusEnabled is true "
|
||||
+ "and kategoryPegawai.statusEnabled is true "
|
||||
+ "and ruangan.statusEnabled is true "
|
||||
+ "and departemen.statusEnabled is true "
|
||||
+ "and jenisProduk.statusEnabled is true "
|
||||
+ "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai "
|
||||
+ "and pelayananPasien.statusEnabled is not false " + "and antrian.statusEnabled is not false "
|
||||
+ "and pasienDaftar.statusEnabled is not false " + "and pelayananPasienDetail.statusEnabled is true "
|
||||
+ "and jenisPetugas.statusEnabled is true " + "and dokter.statusEnabled is true "
|
||||
+ "and produk.statusEnabled is true " + "and detail.statusEnabled is true "
|
||||
+ "and kelas.statusEnabled is true " + "and kategoryPegawai.statusEnabled is true "
|
||||
+ "and ruangan.statusEnabled is true " + "and departemen.statusEnabled is true "
|
||||
+ "and jenisProduk.statusEnabled is true " + "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai "
|
||||
+ "and jenisPetugas.id <> :idPetugasPelaksana "
|
||||
+ "and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') = :month ";
|
||||
|
||||
@ -101,10 +73,11 @@ public interface PendapatanDao extends PagingAndSortingRepository<PelayananPasie
|
||||
+ "coalesce(pelayananPasienDetail.hargaDiscount, 0) as hargaDiskon,"
|
||||
+ "pelayananPasienDetail.komponenHargaId as idKomponenHarga," + "pasienDaftar.noRegistrasi as noRegistrasi,"
|
||||
+ "pasienDaftar.tglRegistrasi as tglRegistrasi," + "pasienDaftar.tglPulang as tglPulang,"
|
||||
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, " + "produk.id as idProduk,"
|
||||
+ "produk.namaProduk as namaProduk," + "dokter.id as idPegawai,"
|
||||
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, " + "pasienDaftar.isDiskonPegawai as statusDiskon, "
|
||||
+ "produk.id as idProduk," + "produk.namaProduk as namaProduk," + "dokter.id as idPegawai,"
|
||||
+ "pelayananPasien.noRec as noRecPelayananPasien," + "pelayananPasien.jumlah as jumlah,"
|
||||
+ "pelayananPasien.hargaSatuan as harga," + "pelayananPasien.tglPelayanan as tglpelayanan,"
|
||||
+ "pelayananPasien.hargaSatuan as harga," + "pelayananPasien.hargaDiscount as diskon,"
|
||||
+ "pelayananPasien.tglPelayanan as tglpelayanan,"
|
||||
+ "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tglpel,"
|
||||
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "
|
||||
+ "kategoryPegawai.id as kategoryPegawaiId, " + "kelas.id as idKelas," + "kelas.namaKelas as namaKelas,"
|
||||
@ -198,9 +171,10 @@ public interface PendapatanDao extends PagingAndSortingRepository<PelayananPasie
|
||||
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, " + "produk.id as idProduk,"
|
||||
+ "produk.namaProduk as namaProduk," + "dokter.id as idPegawai,"
|
||||
+ "kategoryPegawai.id as kategoryPegawaiId, " + "jenisPetugas.id as idJenisPelaksana, "
|
||||
+ "jenisPetugas.jenisPetugasPe as jenisPetugas, " + "departemen.id as departemenId, " + "ruangan.id as ruanganId, "
|
||||
+ "ruangan.namaRuangan as ruangan," + "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
||||
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
|
||||
+ "jenisPetugas.jenisPetugasPe as jenisPetugas, " + "departemen.id as departemenId, "
|
||||
+ "ruangan.id as ruanganId, " + "ruangan.namaRuangan as ruangan,"
|
||||
+ "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, " + "shift.jamMasuk as jamMasuk, "
|
||||
+ "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
|
||||
+ "from PelayananPasienPetugas pelayananPasienPetugas, " + "PelayananPasienDetail pelayananPasienDetail, "
|
||||
+ "PegawaiJadwalKerja jadwalKerja, " + "Kalender kalender, " + "ShiftKerja shift "
|
||||
+ "left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
|
||||
@ -213,7 +187,7 @@ public interface PendapatanDao extends PagingAndSortingRepository<PelayananPasie
|
||||
+ "left join pasienDaftar.pasien pasien "
|
||||
+ "where pelayananPasien.noRec = pelayananPasienDetail.pelayananPasienId "
|
||||
+ "and pelayananPasienDetail.pasienDaftarId = antrian.noRec "
|
||||
+ "and pelayananPasienDetail.produkId = produk.id " + "and dokter.id = jadwalKerja.pegawaiId "
|
||||
+ "and pelayananPasienDetail.produkId = produk.id " + "and dokter.id = jadwalKerja.pegawaiId "
|
||||
+ "and kalender.id = jadwalKerja.tanggalId " + "and shift.id = jadwalKerja.shiftId "
|
||||
+ "and to_char(kalender.tanggal, 'yyyy-MM-dd') = to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
||||
+ "and (pelayananPasienPetugas.statusEnabled is null or pelayananPasienPetugas.statusEnabled is true) "
|
||||
|
||||
@ -29,7 +29,7 @@ public interface RevIndekKinerjaDao extends PagingAndSortingRepository<IndekKine
|
||||
+ " order by produk.namaProduk, kelas.namaKelas, pelayananPasien.tglPelayanan asc")
|
||||
public List<Map<String, Object>> findByIdUser(@Param("id") Integer id, @Param("startDate") String startDate,
|
||||
@Param("endDate") String endDate, @Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
||||
|
||||
|
||||
@Query(" select new Map( pelayananPasien.tglPelayanan as tglPelayanan,jenisProduk.id as idJenisProduk,"
|
||||
+ " produk.namaProduk as namaProduk, produk.id as idProduk, kelas.namaKelas as namaKelas)"
|
||||
+ " from PelayananPasienPetugas pelayananPasienPetugas"
|
||||
@ -37,13 +37,12 @@ public interface RevIndekKinerjaDao extends PagingAndSortingRepository<IndekKine
|
||||
+ " left join pelayananPasien.produk produk " + " left join produk.detailJenisProduk detail"
|
||||
+ " left join pelayananPasien.kelas kelas " + " left join detail.jenisProduk jenisProduk "
|
||||
+ " where pelayananPasienPetugas.ObjectPegawaiId=:id and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
||||
+ " between :startDate and :endDate and detail.id in :listIdJenisProduk "
|
||||
+ " and produk.id = :idProduk "
|
||||
+ " between :startDate and :endDate and detail.id in :listIdJenisProduk " + " and produk.id = :idProduk "
|
||||
+ " order by pelayananPasien.tglPelayanan, produk.namaProduk, kelas.namaKelas asc")
|
||||
public List<Map<String, Object>> findTindakanByIdUser(@Param("id") Integer id, @Param("startDate") String startDate,
|
||||
@Param("endDate") String endDate, @Param("idProduk") Integer idProduk,
|
||||
@Param("endDate") String endDate, @Param("idProduk") Integer idProduk,
|
||||
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
||||
|
||||
|
||||
@Query(" select new Map( pelayananPasien.tglPelayanan as tglPelayanan,jenisProduk.id as idJenisProduk,"
|
||||
+ " produk.namaProduk as namaProduk, produk.id as idProduk, kelas.namaKelas as namaKelas)"
|
||||
+ " from PelayananPasienPetugas pelayananPasienPetugas"
|
||||
@ -55,7 +54,7 @@ public interface RevIndekKinerjaDao extends PagingAndSortingRepository<IndekKine
|
||||
+ " order by pelayananPasien.tglPelayanan, produk.namaProduk, kelas.namaKelas asc")
|
||||
public List<Map<String, Object>> findTindakanByIdUser(@Param("id") Integer id, @Param("startDate") String startDate,
|
||||
@Param("endDate") String endDate, @Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
||||
|
||||
|
||||
@Query(" select distinct new Map(produk.id as id, produk.namaProduk as namaProduk)"
|
||||
+ " from PelayananPasienPetugas pelayananPasienPetugas"
|
||||
+ " left join pelayananPasienPetugas.pelayananPasien pelayananPasien"
|
||||
@ -64,8 +63,9 @@ public interface RevIndekKinerjaDao extends PagingAndSortingRepository<IndekKine
|
||||
+ " where pelayananPasienPetugas.ObjectPegawaiId=:id and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') "
|
||||
+ " between :startDate and :endDate and detail.id in :listIdJenisProduk "
|
||||
+ " order by produk.namaProduk asc")
|
||||
public List<Map<String, Object>> getAllTindakanByPeriod(@Param("id") Integer id, @Param("startDate") String startDate,
|
||||
@Param("endDate") String endDate, @Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
||||
public List<Map<String, Object>> getAllTindakanByPeriod(@Param("id") Integer id,
|
||||
@Param("startDate") String startDate, @Param("endDate") String endDate,
|
||||
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
||||
|
||||
String QueryList = "select new map(case when pelayananPasienPetugas.kdjenispetugaspe.id in (6,13) then pelayananPasienPetugas.kdjenispetugaspe.id else 4 end as idJenisPelaksana, "
|
||||
+ "detail.id as detailId,detail.detailJenisProduk as detailJenisProduk"
|
||||
@ -75,32 +75,29 @@ public interface RevIndekKinerjaDao extends PagingAndSortingRepository<IndekKine
|
||||
+ ",pelayananPasien.hargaSatuan as harga) from PelayananPasienPetugas pelayananPasienPetugas "
|
||||
+ " left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
|
||||
+ " left join pelayananPasien.produk produk " + " left join produk.detailJenisProduk detail"
|
||||
+ " left join pelayananPasien.kelas kelas "
|
||||
+ " where pelayananPasienPetugas.statusEnabled is true "
|
||||
+ " and pelayananPasien.statusEnabled is true "
|
||||
+ " and produk.statusEnabled is true "
|
||||
+ " and detail.statusEnabled is true "
|
||||
+ " and kelas.statusEnabled is true "
|
||||
+ " left join pelayananPasien.kelas kelas " + " where pelayananPasienPetugas.statusEnabled is true "
|
||||
+ " and pelayananPasien.statusEnabled is true " + " and produk.statusEnabled is true "
|
||||
+ " and detail.statusEnabled is true " + " and kelas.statusEnabled is true "
|
||||
+ " and pelayananPasienPetugas.kdjenispetugaspe.id <> 2 "
|
||||
+ " and pelayananPasienPetugas.ObjectPegawaiId =:id "
|
||||
// + " and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') = :month "
|
||||
// + " and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') = :month
|
||||
// "
|
||||
+ " and detail.id in (:listIdJenisProduk) ";
|
||||
|
||||
String orderList = " group by case when pelayananPasienPetugas.kdjenispetugaspe.id in (6,13) then pelayananPasienPetugas.kdjenispetugaspe.id else 4 end, detail.id ,detail.detailJenisProduk ,produk.namaProduk , produk.id , kelas.namaKelas , "
|
||||
+ " kelas.id,pelayananPasien.hargaSatuan "
|
||||
+ " order by produk.namaProduk, kelas.namaKelas asc ";
|
||||
|
||||
+ " kelas.id,pelayananPasien.hargaSatuan " + " order by produk.namaProduk, kelas.namaKelas asc ";
|
||||
|
||||
String monthPelayanan = " and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') = :month ";
|
||||
|
||||
|
||||
String tanggalPelayanan = " and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') = :tanggal ";
|
||||
|
||||
@Query(QueryList + monthPelayanan + orderList)
|
||||
public List<Map<String, Object>> findIdProdukByIdUser(@Param("id") Integer id, @Param("month") String month,
|
||||
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
||||
|
||||
|
||||
@Query(QueryList + tanggalPelayanan + orderList)
|
||||
public List<Map<String, Object>> findIdProdukHarianByIdUser(@Param("id") Integer id, @Param("tanggal") String tanggal,
|
||||
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
||||
public List<Map<String, Object>> findIdProdukHarianByIdUser(@Param("id") Integer id,
|
||||
@Param("tanggal") String tanggal, @Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
||||
|
||||
@Query(" select distinct new Map (jenisProduk.id as idJenisProduk, CAST(sum(pelayananPasien.jumlah) as long) as count ,"
|
||||
+ " produk.namaProduk as namaProduk, produk.id as idProduk)"
|
||||
@ -113,246 +110,170 @@ public interface RevIndekKinerjaDao extends PagingAndSortingRepository<IndekKine
|
||||
public List<Map<String, Object>> findCountTindakanByIdUser(@Param("id") Integer id,
|
||||
@Param("startDate") String startDate, @Param("endDate") String endDate,
|
||||
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
||||
|
||||
|
||||
@Query(" select distinct CAST(sum(pelayananPasien.jumlah) as long) as capaian "
|
||||
|
||||
@Query(" select distinct CAST(sum(pelayananPasien.jumlah) as long) as capaian "
|
||||
+ " from PelayananPasienPetugas pelayananPasienPetugas "
|
||||
+ " left join pelayananPasienPetugas.pelayananPasien pelayananPasien"
|
||||
+ " left join pelayananPasien.produk produk " + " left join produk.detailJenisProduk detail"
|
||||
+ " left join pelayananPasien.kelas kelas " + " left join detail.jenisProduk jenisProduk "
|
||||
+ " where pelayananPasienPetugas.ObjectPegawaiId=:id and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
||||
+ " between :startDate and :endDate and detail.id in :listIdJenisProduk")
|
||||
public Long findTotalTindakan(@Param("id") Integer id,
|
||||
@Param("startDate") String startDate,@Param("endDate") String endDate,
|
||||
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk );
|
||||
|
||||
String tindakanDokterQuery = "select new Map(dokter.id as idPegawai, "
|
||||
+ "jenisPetugas.id as idJenisPelaksana, "
|
||||
+ "detail.id as detailId, "
|
||||
+ "detail.detailJenisProduk as detailJenisProduk, "
|
||||
+ "produk.id as idProduk, "
|
||||
+ "produk.namaProduk as namaProduk, "
|
||||
+ "kelas.id as idKelas, "
|
||||
+ "kelas.namaKelas as namaKelas, "
|
||||
public Long findTotalTindakan(@Param("id") Integer id, @Param("startDate") String startDate,
|
||||
@Param("endDate") String endDate, @Param("listIdJenisProduk") List<Integer> listIdJenisProduk);
|
||||
|
||||
String tindakanDokterQuery = "select new Map(dokter.id as idPegawai, " + "jenisPetugas.id as idJenisPelaksana, "
|
||||
+ "detail.id as detailId, " + "detail.detailJenisProduk as detailJenisProduk, " + "produk.id as idProduk, "
|
||||
+ "produk.namaProduk as namaProduk, " + "kelas.id as idKelas, " + "kelas.namaKelas as namaKelas, "
|
||||
+ "(select distinct harga.hargaNetto1 from HargaNettoProdukByKelas harga "
|
||||
+ "where harga.produkId = produk.id and harga.statusEnabled is true and harga.kelasId = :idKelasSatu) as hargaKelas1, "
|
||||
+ "pelayananPasien.hargaSatuan as harga, "
|
||||
+ "pelayananPasien.jumlah as count, "
|
||||
+ "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tanggal, "
|
||||
+ "pelayananPasien.hargaSatuan as harga, " + "pelayananPasien.hargaDiscount as diskon, "
|
||||
+ "pelayananPasien.jumlah as count, " + "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tanggal, "
|
||||
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "
|
||||
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, "
|
||||
+ "kategoryPegawai.id as kategoryPegawaiId, "
|
||||
+ "departemen.id as departemenId, "
|
||||
+ "ruangan.id as ruanganId, "
|
||||
+ "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
||||
+ "shift.jamMasuk as jamMasuk, "
|
||||
+ "shift.jamPulang as jamPulang, "
|
||||
+ "shift.namaShift as namaShift) "
|
||||
+ "from PelayananPasienPetugas pelayananPasienPetugas, "
|
||||
+ "PegawaiJadwalKerja jadwalKerja, "
|
||||
+ "Kalender kalender, "
|
||||
+ "ShiftKerja shift "
|
||||
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, " + "pasienDaftar.isDiskonPegawai as statusDiskon, "
|
||||
+ "kategoryPegawai.id as kategoryPegawaiId, " + "departemen.id as departemenId, "
|
||||
+ "ruangan.id as ruanganId, " + "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
||||
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
|
||||
+ "from PelayananPasienPetugas pelayananPasienPetugas, " + "PegawaiJadwalKerja jadwalKerja, "
|
||||
+ "Kalender kalender, " + "ShiftKerja shift "
|
||||
+ "left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
|
||||
+ "left join pelayananPasienPetugas.kdjenispetugaspe jenisPetugas "
|
||||
+ "left join pelayananPasienPetugas.kdpegawai dokter "
|
||||
+ "left join pelayananPasien.produk produk "
|
||||
+ "left join pelayananPasien.kelas kelas "
|
||||
+ "left join pelayananPasien.pasienDaftar antrian "
|
||||
+ "left join dokter.kategoryPegawai kategoryPegawai "
|
||||
+ "left join produk.detailJenisProduk detail "
|
||||
+ "left join antrian.ruangan ruangan "
|
||||
+ "left join antrian.pasienDaftar pasienDaftar "
|
||||
+ "left join detail.jenisProduk jenisProduk "
|
||||
+ "left join ruangan.departemen departemen "
|
||||
+ "where dokter.id = jadwalKerja.pegawaiId "
|
||||
+ "and kalender.id = jadwalKerja.tanggalId "
|
||||
+ "left join pelayananPasienPetugas.kdpegawai dokter " + "left join pelayananPasien.produk produk "
|
||||
+ "left join pelayananPasien.kelas kelas " + "left join pelayananPasien.pasienDaftar antrian "
|
||||
+ "left join dokter.kategoryPegawai kategoryPegawai " + "left join produk.detailJenisProduk detail "
|
||||
+ "left join antrian.ruangan ruangan " + "left join antrian.pasienDaftar pasienDaftar "
|
||||
+ "left join detail.jenisProduk jenisProduk " + "left join ruangan.departemen departemen "
|
||||
+ "where dokter.id = jadwalKerja.pegawaiId " + "and kalender.id = jadwalKerja.tanggalId "
|
||||
+ "and shift.id = jadwalKerja.shiftId "
|
||||
+ "and to_char(kalender.tanggal, 'yyyy-MM-dd') = to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
||||
+ "and (pelayananPasienPetugas.statusEnabled is null or pelayananPasienPetugas.statusEnabled is true) "
|
||||
+ "and (pelayananPasien.statusEnabled is null or pelayananPasien.statusEnabled is true) "
|
||||
+ "and (antrian.statusEnabled is null or antrian.statusEnabled is true) "
|
||||
+ "and (pasienDaftar.statusEnabled is null or pasienDaftar.statusEnabled is true) "
|
||||
+ "and jenisPetugas.statusEnabled is true "
|
||||
+ "and dokter.statusEnabled is true "
|
||||
+ "and produk.statusEnabled is true "
|
||||
+ "and detail.statusEnabled is true "
|
||||
+ "and kelas.statusEnabled is true "
|
||||
+ "and kategoryPegawai.statusEnabled is true "
|
||||
+ "and ruangan.statusEnabled is true "
|
||||
+ "and departemen.statusEnabled is true "
|
||||
+ "and jenisProduk.statusEnabled is true "
|
||||
+ "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai "
|
||||
+ "and jenisPetugas.statusEnabled is true " + "and dokter.statusEnabled is true "
|
||||
+ "and produk.statusEnabled is true " + "and detail.statusEnabled is true "
|
||||
+ "and kelas.statusEnabled is true " + "and kategoryPegawai.statusEnabled is true "
|
||||
+ "and ruangan.statusEnabled is true " + "and departemen.statusEnabled is true "
|
||||
+ "and jenisProduk.statusEnabled is true " + "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai "
|
||||
+ "and jenisPetugas.id <> :idPetugasPelaksana "
|
||||
+ "and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') = :month ";
|
||||
|
||||
|
||||
String orderGrid = "order by produk.namaProduk, kelas.namaKelas, to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd')";
|
||||
|
||||
|
||||
String orderCetak = "order by to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd'), produk.namaProduk, kelas.namaKelas";
|
||||
|
||||
|
||||
@Query(tindakanDokterQuery + orderGrid)
|
||||
public List<Map<String, Object>> getAllTindakanDokter(@Param("idKelasSatu") Integer idKelasSatu, @Param("idPegawai") Integer idPegawai,
|
||||
@Param("idPetugasPelaksana") int idPetugasPelaksana, @Param("month") String month);
|
||||
|
||||
public List<Map<String, Object>> getAllTindakanDokter(@Param("idKelasSatu") Integer idKelasSatu,
|
||||
@Param("idPegawai") Integer idPegawai, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
||||
@Param("month") String month);
|
||||
|
||||
@Query(tindakanDokterQuery + orderCetak)
|
||||
public List<Map<String, Object>> getAllTindakanDokterCetak(@Param("idKelasSatu") Integer idKelasSatu, @Param("idPegawai") Integer idPegawai,
|
||||
@Param("idPetugasPelaksana") int idPetugasPelaksana, @Param("month") String month);
|
||||
|
||||
public List<Map<String, Object>> getAllTindakanDokterCetak(@Param("idKelasSatu") Integer idKelasSatu,
|
||||
@Param("idPegawai") Integer idPegawai, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
||||
@Param("month") String month);
|
||||
|
||||
String detailPasienQuery = "select new Map(pelayananPasienPetugas.noRec as norecPetugas,"
|
||||
+ "ruangan.namaRuangan as ruangan,"
|
||||
+ "pelayananPasien.noRec as noRecPelayananPasien,"
|
||||
+ "detail.id as detailId, "
|
||||
+ "produk.namaProduk as namaProduk,"
|
||||
+ "pasien.namaPasien as namapasien,"
|
||||
+ "pasien.noCm as noCm,"
|
||||
+ "pasien.tglLahir as tglLahir,"
|
||||
+ "pasienDaftar.noRegistrasi as noRegistrasi,"
|
||||
+ "pasienDaftar.tglRegistrasi as tglRegistrasi,"
|
||||
+ "pelayananPasien.hargaSatuan as harga,"
|
||||
+ "ruangan.namaRuangan as ruangan," + "pelayananPasien.noRec as noRecPelayananPasien,"
|
||||
+ "detail.id as detailId, " + "produk.namaProduk as namaProduk," + "pasien.namaPasien as namapasien,"
|
||||
+ "pasien.noCm as noCm," + "pasien.tglLahir as tglLahir," + "pasienDaftar.noRegistrasi as noRegistrasi,"
|
||||
+ "pasienDaftar.tglRegistrasi as tglRegistrasi," + "pelayananPasien.hargaSatuan as harga,"
|
||||
+ "(select distinct harga.hargaNetto1 from HargaNettoProdukByKelas harga "
|
||||
+ "where harga.produkId = produk.id and harga.statusEnabled is true and harga.kelasId = :idKelasSatu) as hargaKelas1,"
|
||||
+ "pelayananPasien.tglPelayanan as tglpelayanan,"
|
||||
+ "kelas.namaKelas as namaKelas,"
|
||||
+ "pasienDaftar.tglPulang as tglPulang,"
|
||||
+ "produk.id as idProduk,"
|
||||
+ "dokter.id as idPegawai,"
|
||||
+ "pelayananPasien.tglPelayanan as tglpelayanan," + "kelas.namaKelas as namaKelas,"
|
||||
+ "pasienDaftar.tglPulang as tglPulang," + "produk.id as idProduk," + "dokter.id as idPegawai,"
|
||||
+ "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tglpel,"
|
||||
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "
|
||||
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, "
|
||||
+ "kategoryPegawai.id as kategoryPegawaiId, "
|
||||
+ "kelas.id as idKelas,"
|
||||
+ "jenisPetugas.jenisPetugasPe as jenisPetugas, "
|
||||
+ "departemen.id as departemenId, "
|
||||
+ "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
||||
+ "shift.jamMasuk as jamMasuk, "
|
||||
+ "shift.jamPulang as jamPulang, "
|
||||
+ "shift.namaShift as namaShift) "
|
||||
+ "from PelayananPasienPetugas pelayananPasienPetugas, "
|
||||
+ "PegawaiJadwalKerja jadwalKerja, "
|
||||
+ "Kalender kalender, "
|
||||
+ "ShiftKerja shift "
|
||||
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, " + "kategoryPegawai.id as kategoryPegawaiId, "
|
||||
+ "kelas.id as idKelas," + "jenisPetugas.jenisPetugasPe as jenisPetugas, "
|
||||
+ "departemen.id as departemenId, " + "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
||||
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
|
||||
+ "from PelayananPasienPetugas pelayananPasienPetugas, " + "PegawaiJadwalKerja jadwalKerja, "
|
||||
+ "Kalender kalender, " + "ShiftKerja shift "
|
||||
+ "left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
|
||||
+ "left join pelayananPasienPetugas.kdjenispetugaspe jenisPetugas "
|
||||
+ "left join pelayananPasienPetugas.kdpegawai dokter "
|
||||
+ "left join pelayananPasien.produk produk "
|
||||
+ "left join pelayananPasien.kelas kelas "
|
||||
+ "left join pelayananPasien.pasienDaftar antrian "
|
||||
+ "left join dokter.kategoryPegawai kategoryPegawai "
|
||||
+ "left join produk.detailJenisProduk detail "
|
||||
+ "left join antrian.ruangan ruangan "
|
||||
+ "left join antrian.pasienDaftar pasienDaftar "
|
||||
+ "left join detail.jenisProduk jenisProduk "
|
||||
+ "left join ruangan.departemen departemen "
|
||||
+ "left join pasienDaftar.pasien pasien "
|
||||
+ "where dokter.id = jadwalKerja.pegawaiId "
|
||||
+ "and kalender.id = jadwalKerja.tanggalId "
|
||||
+ "and shift.id = jadwalKerja.shiftId "
|
||||
+ "left join pelayananPasienPetugas.kdpegawai dokter " + "left join pelayananPasien.produk produk "
|
||||
+ "left join pelayananPasien.kelas kelas " + "left join pelayananPasien.pasienDaftar antrian "
|
||||
+ "left join dokter.kategoryPegawai kategoryPegawai " + "left join produk.detailJenisProduk detail "
|
||||
+ "left join antrian.ruangan ruangan " + "left join antrian.pasienDaftar pasienDaftar "
|
||||
+ "left join detail.jenisProduk jenisProduk " + "left join ruangan.departemen departemen "
|
||||
+ "left join pasienDaftar.pasien pasien " + "where dokter.id = jadwalKerja.pegawaiId "
|
||||
+ "and kalender.id = jadwalKerja.tanggalId " + "and shift.id = jadwalKerja.shiftId "
|
||||
+ "and to_char(kalender.tanggal, 'yyyy-MM-dd') = to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
||||
+ "and (pelayananPasienPetugas.statusEnabled is null or pelayananPasienPetugas.statusEnabled is true) "
|
||||
+ "and (pelayananPasien.statusEnabled is null or pelayananPasien.statusEnabled is true) "
|
||||
+ "and (antrian.statusEnabled is null or antrian.statusEnabled is true) "
|
||||
+ "and (pasienDaftar.statusEnabled is null or pasienDaftar.statusEnabled is true) "
|
||||
+ "and jenisPetugas.statusEnabled is true "
|
||||
+ "and dokter.statusEnabled is true "
|
||||
+ "and produk.statusEnabled is true "
|
||||
+ "and detail.statusEnabled is true "
|
||||
+ "and kelas.statusEnabled is true "
|
||||
+ "and kategoryPegawai.statusEnabled is true "
|
||||
+ "and ruangan.statusEnabled is true "
|
||||
+ "and departemen.statusEnabled is true "
|
||||
+ "and jenisProduk.statusEnabled is true "
|
||||
+ "and antrian.kelasId = :idKelas "
|
||||
+ "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai "
|
||||
+ "and produk.id = :idProduk "
|
||||
+ "and jenisPetugas.statusEnabled is true " + "and dokter.statusEnabled is true "
|
||||
+ "and produk.statusEnabled is true " + "and detail.statusEnabled is true "
|
||||
+ "and kelas.statusEnabled is true " + "and kategoryPegawai.statusEnabled is true "
|
||||
+ "and ruangan.statusEnabled is true " + "and departemen.statusEnabled is true "
|
||||
+ "and jenisProduk.statusEnabled is true " + "and antrian.kelasId = :idKelas "
|
||||
+ "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai " + "and produk.id = :idProduk "
|
||||
+ "and jenisPetugas.id <> :idPetugasPelaksana ";
|
||||
|
||||
|
||||
String detailPasienQueryBundled = "select new Map(pelayananPasienPetugas.noRec as norecPetugas,"
|
||||
+ "ruangan.namaRuangan as ruangan,"
|
||||
+ "pelayananPasien.noRec as noRecPelayananPasien,"
|
||||
+ "detail.id as detailId, "
|
||||
+ "produk.namaProduk as namaProduk,"
|
||||
+ "pasien.namaPasien as namapasien,"
|
||||
+ "pasien.noCm as noCm,"
|
||||
+ "pasien.tglLahir as tglLahir,"
|
||||
+ "pasienDaftar.noRegistrasi as noRegistrasi,"
|
||||
+ "pasienDaftar.tglRegistrasi as tglRegistrasi,"
|
||||
+ "pelayananPasien.hargaSatuan as harga,"
|
||||
+ "ruangan.namaRuangan as ruangan," + "pelayananPasien.noRec as noRecPelayananPasien,"
|
||||
+ "detail.id as detailId, " + "produk.namaProduk as namaProduk," + "pasien.namaPasien as namapasien,"
|
||||
+ "pasien.noCm as noCm," + "pasien.tglLahir as tglLahir," + "pasienDaftar.noRegistrasi as noRegistrasi,"
|
||||
+ "pasienDaftar.tglRegistrasi as tglRegistrasi," + "pelayananPasien.hargaSatuan as harga,"
|
||||
+ "(select distinct harga.hargaNetto1 from HargaNettoProdukByKelas harga "
|
||||
+ "where harga.produkId = produk.id and harga.statusEnabled is true and harga.kelasId = :idKelasSatu) as hargaKelas1,"
|
||||
+ "pelayananPasien.tglPelayanan as tglpelayanan,"
|
||||
+ "kelas.namaKelas as namaKelas,"
|
||||
+ "pasienDaftar.tglPulang as tglPulang,"
|
||||
+ "produk.id as idProduk,"
|
||||
+ "dokter.id as idPegawai,"
|
||||
+ "pelayananPasien.tglPelayanan as tglpelayanan," + "kelas.namaKelas as namaKelas,"
|
||||
+ "pasienDaftar.tglPulang as tglPulang," + "produk.id as idProduk," + "dokter.id as idPegawai,"
|
||||
+ "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tglpel,"
|
||||
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "
|
||||
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, "
|
||||
+ "kategoryPegawai.id as kategoryPegawaiId, "
|
||||
+ "kelas.id as idKelas,"
|
||||
+ "jenisPetugas.jenisPetugasPe as jenisPetugas, "
|
||||
+ "departemen.id as departemenId, "
|
||||
+ "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
||||
+ "shift.jamMasuk as jamMasuk, "
|
||||
+ "shift.jamPulang as jamPulang, "
|
||||
+ "shift.namaShift as namaShift) "
|
||||
+ "from PelayananPasienPetugas pelayananPasienPetugas, "
|
||||
+ "PegawaiJadwalKerja jadwalKerja, "
|
||||
+ "Kalender kalender, "
|
||||
+ "ShiftKerja shift "
|
||||
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, " + "kategoryPegawai.id as kategoryPegawaiId, "
|
||||
+ "kelas.id as idKelas," + "jenisPetugas.jenisPetugasPe as jenisPetugas, "
|
||||
+ "departemen.id as departemenId, " + "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
|
||||
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
|
||||
+ "from PelayananPasienPetugas pelayananPasienPetugas, " + "PegawaiJadwalKerja jadwalKerja, "
|
||||
+ "Kalender kalender, " + "ShiftKerja shift "
|
||||
+ "left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
|
||||
+ "left join pelayananPasienPetugas.kdjenispetugaspe jenisPetugas "
|
||||
+ "left join pelayananPasienPetugas.kdpegawai dokter "
|
||||
+ "left join pelayananPasien.produk produk "
|
||||
+ "left join pelayananPasien.kelas kelas "
|
||||
+ "left join pelayananPasien.pasienDaftar antrian "
|
||||
+ "left join dokter.kategoryPegawai kategoryPegawai "
|
||||
+ "left join produk.detailJenisProduk detail "
|
||||
+ "left join antrian.ruangan ruangan "
|
||||
+ "left join antrian.pasienDaftar pasienDaftar "
|
||||
+ "left join detail.jenisProduk jenisProduk "
|
||||
+ "left join ruangan.departemen departemen "
|
||||
+ "left join pasienDaftar.pasien pasien "
|
||||
+ "where dokter.id = jadwalKerja.pegawaiId "
|
||||
+ "and kalender.id = jadwalKerja.tanggalId "
|
||||
+ "and shift.id = jadwalKerja.shiftId "
|
||||
+ "left join pelayananPasienPetugas.kdpegawai dokter " + "left join pelayananPasien.produk produk "
|
||||
+ "left join pelayananPasien.kelas kelas " + "left join pelayananPasien.pasienDaftar antrian "
|
||||
+ "left join dokter.kategoryPegawai kategoryPegawai " + "left join produk.detailJenisProduk detail "
|
||||
+ "left join antrian.ruangan ruangan " + "left join antrian.pasienDaftar pasienDaftar "
|
||||
+ "left join detail.jenisProduk jenisProduk " + "left join ruangan.departemen departemen "
|
||||
+ "left join pasienDaftar.pasien pasien " + "where dokter.id = jadwalKerja.pegawaiId "
|
||||
+ "and kalender.id = jadwalKerja.tanggalId " + "and shift.id = jadwalKerja.shiftId "
|
||||
+ "and to_char(kalender.tanggal, 'yyyy-MM-dd') = to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') "
|
||||
+ "and (pelayananPasienPetugas.statusEnabled is null or pelayananPasienPetugas.statusEnabled is true) "
|
||||
+ "and (pelayananPasien.statusEnabled is null or pelayananPasien.statusEnabled is true) "
|
||||
+ "and (antrian.statusEnabled is null or antrian.statusEnabled is true) "
|
||||
+ "and (pasienDaftar.statusEnabled is null or pasienDaftar.statusEnabled is true) "
|
||||
+ "and jenisPetugas.statusEnabled is true "
|
||||
+ "and dokter.statusEnabled is true "
|
||||
+ "and produk.statusEnabled is true "
|
||||
+ "and detail.statusEnabled is true "
|
||||
+ "and kelas.statusEnabled is true "
|
||||
+ "and kategoryPegawai.statusEnabled is true "
|
||||
+ "and ruangan.statusEnabled is true "
|
||||
+ "and departemen.statusEnabled is true "
|
||||
+ "and jenisProduk.statusEnabled is true "
|
||||
+ "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai "
|
||||
+ "and jenisPetugas.statusEnabled is true " + "and dokter.statusEnabled is true "
|
||||
+ "and produk.statusEnabled is true " + "and detail.statusEnabled is true "
|
||||
+ "and kelas.statusEnabled is true " + "and kategoryPegawai.statusEnabled is true "
|
||||
+ "and ruangan.statusEnabled is true " + "and departemen.statusEnabled is true "
|
||||
+ "and jenisProduk.statusEnabled is true " + "and pelayananPasienPetugas.ObjectPegawaiId = :idPegawai "
|
||||
+ "and jenisPetugas.id <> :idPetugasPelaksana ";
|
||||
|
||||
|
||||
String tanggal = "and to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') = :tgl ";
|
||||
|
||||
|
||||
String bulan = "and to_char(pelayananPasien.tglPelayanan,'yyyy-MM') = :periode ";
|
||||
|
||||
|
||||
String orderTanggal = "order by pelayananPasien.tglPelayanan";
|
||||
|
||||
|
||||
@Query(detailPasienQuery + tanggal + orderTanggal)
|
||||
public List<Map<String, Object>> getDetailPasienTindakanDokter(@Param("idKelasSatu") Integer idKelasSatu, @Param("idKelas") Integer idKelas,
|
||||
@Param("idPegawai") Integer idPegawai, @Param("idProduk") Integer idProduk, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
||||
public List<Map<String, Object>> getDetailPasienTindakanDokter(@Param("idKelasSatu") Integer idKelasSatu,
|
||||
@Param("idKelas") Integer idKelas, @Param("idPegawai") Integer idPegawai,
|
||||
@Param("idProduk") Integer idProduk, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
||||
@Param("tgl") String tgl);
|
||||
|
||||
|
||||
@Query(detailPasienQuery + bulan + orderTanggal)
|
||||
public List<Map<String, Object>> getDetailPasienTindakanDokterPerPeriode(@Param("idKelasSatu") Integer idKelasSatu, @Param("idKelas") Integer idKelas,
|
||||
@Param("idPegawai") Integer idPegawai, @Param("idProduk") Integer idProduk, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
||||
public List<Map<String, Object>> getDetailPasienTindakanDokterPerPeriode(@Param("idKelasSatu") Integer idKelasSatu,
|
||||
@Param("idKelas") Integer idKelas, @Param("idPegawai") Integer idPegawai,
|
||||
@Param("idProduk") Integer idProduk, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
||||
@Param("periode") String periode);
|
||||
|
||||
|
||||
@Query(detailPasienQueryBundled + tanggal + orderTanggal)
|
||||
public List<Map<String, Object>> getDetailPasienTindakanDokter(@Param("idKelasSatu") Integer idKelasSatu, @Param("idPegawai") Integer idPegawai,
|
||||
@Param("idPetugasPelaksana") int idPetugasPelaksana, @Param("tgl") String tgl);
|
||||
|
||||
public List<Map<String, Object>> getDetailPasienTindakanDokter(@Param("idKelasSatu") Integer idKelasSatu,
|
||||
@Param("idPegawai") Integer idPegawai, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
||||
@Param("tgl") String tgl);
|
||||
|
||||
@Query(detailPasienQueryBundled + bulan + orderTanggal)
|
||||
public List<Map<String, Object>> getDetailPasienTindakanDokterPerPeriode(@Param("idKelasSatu") Integer idKelasSatu, @Param("idPegawai") Integer idPegawai,
|
||||
@Param("idPetugasPelaksana") int idPetugasPelaksana, @Param("periode") String periode);
|
||||
public List<Map<String, Object>> getDetailPasienTindakanDokterPerPeriode(@Param("idKelasSatu") Integer idKelasSatu,
|
||||
@Param("idPegawai") Integer idPegawai, @Param("idPetugasPelaksana") int idPetugasPelaksana,
|
||||
@Param("periode") String periode);
|
||||
|
||||
}
|
||||
|
||||
@ -13,121 +13,122 @@ import com.jasamedika.medifirst2000.vo.TabelAcuanIndeksIKIVO;
|
||||
|
||||
public interface IndekKinerjaService {
|
||||
|
||||
Map<String,Object> saveIndekKinerja(List<IndekKinerjaVO> vo);
|
||||
|
||||
Map<String, Object> saveIndekKinerja(List<IndekKinerjaVO> vo);
|
||||
|
||||
Pegawai getPegawaiByUserLogin();
|
||||
|
||||
Map<String, Object> findPegawaiByRuangan(Integer tahun, Integer bulan, Integer pegawai);
|
||||
|
||||
|
||||
List<Map<String, Object>> findByUserId(String startDate, String endDate);
|
||||
|
||||
List<Map<String, Object>> findTindakanByUserId(Integer idPegawai,String startDate, String endDate, Integer idProduk);
|
||||
|
||||
|
||||
List<Map<String, Object>> findTindakanByUserId(Integer idPegawai, String startDate, String endDate,
|
||||
Integer idProduk);
|
||||
|
||||
List<Map<String, Object>> findAllTindakanByPeriod(Integer idPegawai);
|
||||
|
||||
|
||||
List<Map<String, Object>> findTindakanByIdUserAndPeriod(String date);
|
||||
|
||||
|
||||
List<Map<String, Object>> findCountTindakanByIdUserAndPeriod(String startDate, String endDate);
|
||||
|
||||
|
||||
List<Map<String, Object>> findCountTindakanByIdUserAndPeriod(Integer idPegawai, String startDate, String endDate);
|
||||
|
||||
|
||||
Double getPoin(Double jasaDokter, Double tarif, Double total);
|
||||
|
||||
List<Map<String, Object>> findUraianTugas();
|
||||
|
||||
Map<String, Object> detailPoin (String tgl, Integer idPegawai);
|
||||
|
||||
Map<String, Object> getIndekKinerjaKuantitasData (String periode, Integer idPegawai, Boolean isNew);
|
||||
|
||||
Map<String, Object> getRekapitulasiCapaianUraianTugas (String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getIndekKinerjaKuantitasPerUnitKerja (String periode,Integer idUnitKerja);
|
||||
|
||||
List<Map<String, Object>> findUraianTugasByTanggal (String date);
|
||||
|
||||
Map<String, Object> SaveTotalIndexKinerja (NilaiIndexKinerjaIndividuVO vo);
|
||||
|
||||
|
||||
List<Map<String, Object>> findUraianTugas();
|
||||
|
||||
Map<String, Object> detailPoin(String tgl, Integer idPegawai);
|
||||
|
||||
Map<String, Object> getIndekKinerjaKuantitasData(String periode, Integer idPegawai, Boolean isNew);
|
||||
|
||||
Map<String, Object> getRekapitulasiCapaianUraianTugas(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getIndekKinerjaKuantitasPerUnitKerja(String periode, Integer idUnitKerja);
|
||||
|
||||
List<Map<String, Object>> findUraianTugasByTanggal(String date);
|
||||
|
||||
Map<String, Object> SaveTotalIndexKinerja(NilaiIndexKinerjaIndividuVO vo);
|
||||
|
||||
Map<String, Object> saveIndekKinerjaIndividu(IndeksKinerjaIndividuVO vo);
|
||||
|
||||
|
||||
Map<String, Object> saveAllIndekKinerja(IndeksKinerjaIndividuCustomVO vo);
|
||||
|
||||
Map<String, Object> findKualitasAndInovasi( String periode, Integer idPegawai);
|
||||
|
||||
Map<String, Object> findKehadiran( String periode,Integer idPegawai);
|
||||
|
||||
Map<String, Object> rekapIKI( Integer ruanganId,String periode);
|
||||
|
||||
|
||||
Map<String, Object> findKualitasAndInovasi(String periode, Integer idPegawai);
|
||||
|
||||
Map<String, Object> findKehadiran(String periode, Integer idPegawai);
|
||||
|
||||
Map<String, Object> rekapIKI(Integer ruanganId, String periode);
|
||||
|
||||
public List<Integer> splitIdProdukAdministrasi();
|
||||
|
||||
Map<String, Object> rekapPoin (String periode, int idPegawai) ;
|
||||
|
||||
Map<String, Object> saveTabelAcuanIndeksIKI (List<TabelAcuanIndeksIKIVO> vos) ;
|
||||
|
||||
|
||||
Map<String, Object> rekapPoin(String periode, int idPegawai);
|
||||
|
||||
Map<String, Object> saveTabelAcuanIndeksIKI(List<TabelAcuanIndeksIKIVO> vos);
|
||||
|
||||
List<Map<String, Object>> findAcuanIndeksIKI();
|
||||
|
||||
|
||||
Double getIndeksIKI(Double nilai);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokter (String periode, Integer idPegawai);
|
||||
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokter(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterReview(String periode, Integer idPegawai);
|
||||
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterReviewForReport(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterForfeeForService (String periode, Integer idPegawai);
|
||||
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterForfeeForService(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterForfeeForServiceReview(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterReport (String periode, Integer idPegawai);
|
||||
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterReport(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterReportReview(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanDokter (String periode, Integer idPegawai);
|
||||
|
||||
void generateAllTindakanDokter ();
|
||||
|
||||
List<Map<String, Object>> findPatientDetailForEveryTindakan(Integer idProduk, Integer idKelas,
|
||||
Integer idPegawai, String tgl, Boolean ffs);
|
||||
|
||||
|
||||
List<Map<String, Object>> getAllTindakanDokter(String periode, Integer idPegawai);
|
||||
|
||||
void generateAllTindakanDokter();
|
||||
|
||||
List<Map<String, Object>> findPatientDetailForEveryTindakan(Integer idProduk, Integer idKelas, Integer idPegawai,
|
||||
String tgl, Boolean ffs);
|
||||
|
||||
List<Map<String, Object>> findPatientDetailForEveryTindakanReview(Integer idProduk, Integer idKelas,
|
||||
Integer idPegawai, String tgl, Boolean ffs);
|
||||
|
||||
|
||||
List<Map<String, Object>> findPatientDetailForEveryTindakanReview(Integer idPegawai, String tgl, Boolean ffs);
|
||||
|
||||
Map<String, Object> saveMapKalenderToHariLibur(MapKalenderToHariLiburVO vo);
|
||||
|
||||
List<Map<String, Object>> getAllMapKalenderToHariLibur ();
|
||||
|
||||
Double getNilai(Double jumlah, Double target) ;
|
||||
|
||||
Double getHasil(Double nilai, Double bobot);
|
||||
|
||||
Map<String, Object> saveMapKalenderToHariLibur(MapKalenderToHariLiburVO vo);
|
||||
|
||||
List<Map<String, Object>> getAllMapKalenderToHariLibur();
|
||||
|
||||
Double getNilai(Double jumlah, Double target);
|
||||
|
||||
Double getHasil(Double nilai, Double bobot);
|
||||
|
||||
List<Map<String, Object>> reportrekapitulasi(Integer idPegawai, String periode, Boolean isFFS);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterReport2(String periode, Integer idPegawai);
|
||||
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterReport2Review(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterForfeeForServiceReport(String periode, Integer idPegawai);
|
||||
|
||||
|
||||
List<Map<String, Object>> getAllTindakanByDokterForfeeForServiceReportReview(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanRekapReport(String periode, Integer idPegawai);
|
||||
|
||||
|
||||
List<Map<String, Object>> getAllTindakanRekapReportRev(String periode, Integer idPegawai);
|
||||
|
||||
|
||||
List<Map<String, Object>> getAllTindakanRekapReportReview(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> getAllTindakanRekapReportWithPasien(String periode, Integer idPegawai);
|
||||
|
||||
List<Map<String, Object>> findPatientDetailForEveryTindakanAll(Integer idProduk, Double harga, Integer idPegawai,
|
||||
String tgl);
|
||||
|
||||
|
||||
List<Map<String, Object>> findPatientDetailForEveryTindakanAllV2(Integer idPegawai, String tgl);
|
||||
|
||||
List<Integer> splitIdProdukAdministrasiAndLaborat();
|
||||
List<Integer> splitIdProdukAdministrasiAndLaborat();
|
||||
|
||||
List<Integer> getDetailProdukAdministrasi(Integer idPegawai);
|
||||
|
||||
List<Integer> getDetailProdukAdministrasi(Integer idPegawai);
|
||||
|
||||
List<Integer> getDetailProdukAdministrasi(Pegawai pgw);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -416,6 +416,31 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Formula menghitung poin logbook dokter dengan penyesuaian poin jika
|
||||
* diskon jasamedis
|
||||
*
|
||||
* @param totalTarif
|
||||
* : harga tindakan yang disepakati
|
||||
* @param percentage
|
||||
* : persentase bagian tertentu yang menjadi hak dokter
|
||||
* @param tarif
|
||||
* : konstanta pembagi
|
||||
* @param isDiskonJasamedis
|
||||
* : status diskon jasamedis yang dilakukan dokter
|
||||
* @return poin logbook medis
|
||||
*/
|
||||
public Double getPoinLogbookDokter(Double totalTarif, Double percentage, Double tarif, Boolean isDiskonJasamedis) {
|
||||
if (isDiskonJasamedis) {
|
||||
return 0.0;
|
||||
} else {
|
||||
DecimalFormat df = new DecimalFormat("#.##");
|
||||
Double poin = (totalTarif * percentage) / tarif;
|
||||
Double result = Double.parseDouble(df.format(poin));
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findUraianTugas() {
|
||||
Pegawai pegawai = this.getPegawaiByUserLogin();
|
||||
@ -2980,6 +3005,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
Double totalTindakan = 0.0;
|
||||
Double totalProduk = 0.0;
|
||||
int counter = 0;
|
||||
boolean isDiskonJasamedis = false;
|
||||
for (Map<String, Object> map : countResult) {
|
||||
Map<String, Object> countMap = new HashMap<>();
|
||||
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
||||
@ -3025,6 +3051,11 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
} else if ((Integer) mapResult
|
||||
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
|
||||
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
|
||||
if (Double.parseDouble(mapResult.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(mapResult.get("statusDiskon"))
|
||||
|| !Boolean.valueOf(mapResult.get("statusDiskon").toString()))) {
|
||||
isDiskonJasamedis = true;
|
||||
}
|
||||
} else {
|
||||
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI;
|
||||
}
|
||||
@ -3034,11 +3065,17 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS;
|
||||
} else {
|
||||
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
|
||||
if (Double.parseDouble(mapResult.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(mapResult.get("statusDiskon"))
|
||||
|| !Boolean.valueOf(mapResult.get("statusDiskon").toString()))) {
|
||||
isDiskonJasamedis = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
percentage = percentage / 100;
|
||||
point = getPoin(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI);
|
||||
point = getPoinLogbookDokter(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI,
|
||||
isDiskonJasamedis);
|
||||
pointQty = point * totalProduk.doubleValue();
|
||||
formatPointQty = Double.parseDouble(df.format(pointQty));
|
||||
|
||||
@ -3899,6 +3936,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
List<Map<String, Object>> datas = new ArrayList<>();
|
||||
Double totalTindakan = 0.0;
|
||||
int counter = 0;
|
||||
boolean isDiskonJasamedis = false;
|
||||
for (Map<String, Object> map : countResult) {
|
||||
Map<String, Object> countMap = new HashMap<>();
|
||||
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
||||
@ -3942,6 +3980,11 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
} else if ((Integer) mapResult
|
||||
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
|
||||
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
|
||||
if (Double.parseDouble(mapResult.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(mapResult.get("statusDiskon"))
|
||||
|| !Boolean.valueOf(mapResult.get("statusDiskon").toString()))) {
|
||||
isDiskonJasamedis = true;
|
||||
}
|
||||
} else {
|
||||
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI;
|
||||
}
|
||||
@ -3951,11 +3994,17 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS;
|
||||
} else {
|
||||
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
|
||||
if (Double.parseDouble(mapResult.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(mapResult.get("statusDiskon"))
|
||||
|| !Boolean.valueOf(mapResult.get("statusDiskon").toString()))) {
|
||||
isDiskonJasamedis = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
percentage = percentage / 100;
|
||||
point = getPoin(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI);
|
||||
point = getPoinLogbookDokter(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI,
|
||||
isDiskonJasamedis);
|
||||
pointQty = point * totalTindakan.doubleValue();
|
||||
|
||||
tindakanTotal += totalTindakan.longValue();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user