Update Aplikasi Remunerasi
- Penerapan perubahan kelompok pasien jaminan kemenkes saat simpan otomatis target capaian medis jam kerja dan luar jam kerja - Penerapan perubahan kelompok pasien jaminan kemenkes di logbook poin kinerja dokter dan cetakannya - Penerapan perubahan kelompok pasien jaminan kemenkes di detail logbook poin kinerja dokter dan cetakannya - Penerapan perubahan kelompok pasien jaminan kemenkes di logbook poin fee for service dan cetakannya - Penerapan perubahan kelompok pasien jaminan kemenkes di cetakan rekap kinerja dokter dan fee for service - Penerapan perubahan kelompok pasien jaminan kemenkes pada tampilan detail pasien logbook kinerja dokter dan fee for service - Penerapan perubahan kelompok pasien jaminan kemenkes di logbook skor kinerja dokter jam kerja dan luar jam kerja - Penerapan perubahan kelompok pasien jaminan kemenkes di detail logbook skor kinerja dokter jam kerja dan luar jam kerja - Penerapan perubahan kelompok pasien jaminan kemenkes saat hitung target skor dokter dan verifikasi logbook skor kinerja - Penerapan perubahan kelompok pasien jaminan kemenkes di logbook pendapatan fee for service - Penerapan perubahan kelompok pasien jaminan kemenkes di detail logbook pendapatan fee for service - Penerapan perubahan kelompok pasien jaminan kemenkes di cetakan pendapatan fee for service - Penerapan perubahan kelompok pasien jaminan kemenkes di cetakan detail pendapatan fee for service - Penerapan perubahan kelompok pasien jaminan kemenkes di cetakan laporan pendapatan remunerasi dan ffs
This commit is contained in:
parent
a91e861d10
commit
b9e5094f24
@ -187,10 +187,11 @@ public class Master {
|
||||
public static final class KelompokPasien {
|
||||
public static final Integer ASURANSI_LAIN = 3;
|
||||
public static final Integer BPJS = 2;
|
||||
public static final Integer KEMENKES = 8;
|
||||
public static final Integer UMUM = 1;
|
||||
|
||||
public static final Integer[] JAMINAN = { 2, 3, 5, 6 };
|
||||
public static final Integer[] KELOMPOK_BPJS = { 2, 4 };
|
||||
public static final Integer[] KELOMPOK_BPJS = { 2, 4, 8 };
|
||||
}
|
||||
|
||||
public static final class KelompokShift {
|
||||
|
||||
@ -118,11 +118,13 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
+ "and su.statusEnabled is true " + "and pd.statusEnabled is true " + "and sk.statusEnabled is true "
|
||||
+ "and pp.tglPelayanan between :tglAwal and :tglAkhir "
|
||||
+ "and cast(pp.tglPelayanan as date) = cast(kl.tanggal as date) "
|
||||
+ "and ((pd.kelompokPasienId in (:listBpjsId) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId = :jaminanKemenkesId)) "
|
||||
+ "or (((pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) "
|
||||
+ "or (pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is null) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is null)) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '14:00:00' else '15:30:00' end)) "
|
||||
+ "or (to_char(pp.tglPelayanan,'dy') in ('fri') and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '15:30:00' else '16:00:00' end))) "
|
||||
+ "and (pd.kelompokPasienId in (:listBpjsId) " + "or (pd.kelompokPasienId not in (:listBpjsId) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') "
|
||||
+ "and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '14:00:00' else '15:30:00' end)) "
|
||||
+ "or (to_char(pp.tglPelayanan,'dy') in ('fri') "
|
||||
+ "and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '15:30:00' else '16:00:00' end))) "
|
||||
+ "and sk.id not in (:listNonjadwalId))) " + "and pg.jenisPegawaiId = :jenisPegawaiId "
|
||||
+ "and djp.jenisProdukId not in (:listNontindakanId) " + "and pr.id <> :karcisId "
|
||||
+ "order by su.name, pr.id")
|
||||
@ -133,7 +135,6 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
@Param("listKategoriRemun") List<Integer> listKategoriRemun,
|
||||
@Param("listInactiveId") List<Integer> listIdInactive, @Param("listKsmId") List<Integer> listIdKsm,
|
||||
@Param("listNontindakanId") List<Integer> listIdNontindakan, @Param("listBpjsId") List<Integer> listIdBpjs,
|
||||
@Param("asuransiLainId") Integer idAsuransiLain, @Param("jaminanKemenkesId") Integer idJaminanKemenkes,
|
||||
@Param("karcisId") Integer idKarcis);
|
||||
|
||||
// Target_pelayanan_luar_jam_kerja
|
||||
@ -153,20 +154,26 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
+ "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "and pd.statusEnabled is true "
|
||||
+ "and sk.statusEnabled is true " + "and pp.tglPelayanan between :tglAwal and :tglAkhir "
|
||||
+ "and cast(pp.tglPelayanan as date) = cast(kl.tanggal as date) "
|
||||
+ "and (((pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) or (pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is null) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is null)) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '14:00:01' else '15:30:01' end) and '23:59:59' or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') and sk.id not in (:listNonjadwalId)) "
|
||||
+ "or (to_char(pp.tglPelayanan,'dy') in ('fri') and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '15:30:01' else '16:00:01'end) and '23:59:59' or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') and sk.id not in (:listNonjadwalId)) "
|
||||
+ "or to_char(pp.tglPelayanan,'dy') in ('sat','sun') " + "or sk.id in (:listNonjadwalId))) "
|
||||
+ "and pg.jenisPegawaiId = :jenisPegawaiId " + "and pg.kedudukanId not in (:listInactiveId) "
|
||||
+ "and jb.kelompokJabatanId in (3,4) " + "and djp.jenisProdukId not in (:listNontindakanId) "
|
||||
+ "and pr.id <> :karcisId " + "order by pg.namaLengkap, pr.id")
|
||||
+ "and (pd.kelompokPasienId not in (:listBpjsId) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') "
|
||||
+ "and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '14:00:01' else '15:30:01' end) and '23:59:59' "
|
||||
+ "or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') "
|
||||
+ "and sk.id not in (:listNonjadwalId)) " + "or (to_char(pp.tglPelayanan,'dy') in ('fri') "
|
||||
+ "and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '15:30:01' else '16:00:01'end) and '23:59:59' "
|
||||
+ "or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') "
|
||||
+ "and sk.id not in (:listNonjadwalId)) " + "or to_char(pp.tglPelayanan,'dy') in ('sat','sun') "
|
||||
+ "or sk.id in (:listNonjadwalId))) " + "and pg.jenisPegawaiId = :jenisPegawaiId "
|
||||
+ "and pg.kedudukanId not in (:listInactiveId) " + "and jb.kelompokJabatanId in (3,4) "
|
||||
+ "and djp.jenisProdukId not in (:listNontindakanId) " + "and pr.id <> :karcisId "
|
||||
+ "order by pg.namaLengkap, pr.id")
|
||||
public List<Map<String, Object>> getDataLayananLuarJamKerja(@Param("tglAwal") Date tglAwal,
|
||||
@Param("tglAkhir") Date tglAkhir, @Param("psbbAwal") Date psbbAwal, @Param("psbbAkhir") Date psbbAkhir,
|
||||
@Param("listNonjadwalId") List<Integer> listIdNonjadwal, @Param("jenisPegawaiId") Integer idJenisPegawai,
|
||||
@Param("listInactiveId") List<Integer> listIdInactive,
|
||||
@Param("listDepartemenId") List<Integer> listIdDepartemen, @Param("listKsmId") List<Integer> listIdKsm,
|
||||
@Param("listNontindakanId") List<Integer> listIdNontindakan, @Param("listBpjsId") List<Integer> listIdBpjs,
|
||||
@Param("asuransiLainId") Integer idAsuransiLain, @Param("jaminanKemenkesId") Integer idJaminanKemenkes,
|
||||
@Param("karcisId") Integer idKarcis);
|
||||
|
||||
// Kinerja_jam_kerja_dokter
|
||||
@ -184,9 +191,13 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
+ "and pg.statusEnabled is true " + "and pd.statusEnabled is true " + "and sk.statusEnabled is true "
|
||||
+ "and to_char(pp.tglPelayanan,'yyyy-MM') = :bulan "
|
||||
+ "and cast(pp.tglPelayanan as date) = cast(kl.tanggal as date) "
|
||||
+ "and ((pd.kelompokPasienId in (:listBpjsId) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId = :jaminanKemenkesId)) or (((pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) or (pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is null) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is null)) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '14:00:00' else '15:30:00' end)) "
|
||||
+ "or (to_char(pp.tglPelayanan,'dy') in ('fri') and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '15:30:00' else '16:00:00' end))) "
|
||||
+ "and (pd.kelompokPasienId in (:listBpjsId) " + "or (pd.kelompokPasienId not in (:listBpjsId) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') "
|
||||
+ "and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '14:00:00' else '15:30:00' end)) "
|
||||
+ "or (to_char(pp.tglPelayanan,'dy') in ('fri') "
|
||||
+ "and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '15:30:00' else '16:00:00' end))) "
|
||||
+ "and sk.id not in (:listNonjadwalId))) " + "and pg.jenisPegawaiId = :jenisPegawaiId "
|
||||
+ "and djp.jenisProdukId not in (:listNontindakanId) " + "and pr.id <> :karcisId "
|
||||
+ "and pg.id in (:listPegawaiId) ";
|
||||
@ -207,7 +218,6 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
@Param("listProdukIgdId") List<Integer> listIdProdukIgd,
|
||||
@Param("listDokterUmumId") List<Integer> listIdDokterUmum, @Param("IgdId") Integer idIgd,
|
||||
@Param("listNontindakanId") List<Integer> listIdNontindakan, @Param("listBpjsId") List<Integer> listIdBpjs,
|
||||
@Param("asuransiLainId") Integer idAsuransiLain, @Param("jaminanKemenkesId") Integer idJaminanKemenkes,
|
||||
@Param("karcisId") Integer idKarcis);
|
||||
|
||||
@Query(kinerjaJamKerjaDokter + sortingKinerjaJamKerjaDokter)
|
||||
@ -217,7 +227,6 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
@Param("listPegawaiId") List<Integer> listIdPegawai,
|
||||
@Param("listDepartemenId") List<Integer> listIdDepartemen,
|
||||
@Param("listNontindakanId") List<Integer> listIdNontindakan, @Param("listBpjsId") List<Integer> listIdBpjs,
|
||||
@Param("asuransiLainId") Integer idAsuransiLain, @Param("jaminanKemenkesId") Integer idJaminanKemenkes,
|
||||
@Param("karcisId") Integer idKarcis);
|
||||
|
||||
// Logbook_kinerja_luar_jam_kerja_dokter
|
||||
@ -234,11 +243,18 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
+ "and pg.statusEnabled is true " + "and pd.statusEnabled is true " + "and sk.statusEnabled is true "
|
||||
+ "and to_char(pp.tglPelayanan,'yyyy-MM') = :bulan "
|
||||
+ "and cast(pp.tglPelayanan as date) = cast(kl.tanggal as date) "
|
||||
+ "and (((pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) or (pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is null) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is null)) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '14:00:01' else '15:30:01' end) and '23:59:59' or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') and sk.id not in (:listNonjadwalId)) "
|
||||
+ "or (to_char(pp.tglPelayanan,'dy') in ('fri') and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '15:30:01' else '16:00:01'end) and '23:59:59' or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') and sk.id not in (:listNonjadwalId)) "
|
||||
+ "or to_char(pp.tglPelayanan,'dy') in ('sat','sun') " + "or sk.id in (:listNonjadwalId))) "
|
||||
+ "and pg.jenisPegawaiId = :jenisPegawaiId " + "and (djp.id in (:listDetailJenisProdukId) "
|
||||
+ "and (pd.kelompokPasienId not in (:listBpjsId) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') "
|
||||
+ "and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '14:00:01' else '15:30:01' end) and '23:59:59' "
|
||||
+ "or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') "
|
||||
+ "and sk.id not in (:listNonjadwalId)) " + "or (to_char(pp.tglPelayanan,'dy') in ('fri') "
|
||||
+ "and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '15:30:01' else '16:00:01'end) and '23:59:59' "
|
||||
+ "or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') "
|
||||
+ "and sk.id not in (:listNonjadwalId)) " + "or to_char(pp.tglPelayanan,'dy') in ('sat','sun') "
|
||||
+ "or sk.id in (:listNonjadwalId))) " + "and pg.jenisPegawaiId = :jenisPegawaiId "
|
||||
+ "and (djp.id in (:listDetailJenisProdukId) "
|
||||
+ "or (djp.id not in (:listDetailJenisProdukId) and pr.id in (:listProdukIgdId) and pg.id in (:listDokterUmumId) and ru.departemenId = :IgdId)) "
|
||||
+ "and djp.jenisProdukId not in (:listNontindakanId) " + "and pr.id <> :karcisId "
|
||||
+ "and pg.id = :pegawaiId " + "order by pr.namaProduk, pp.tglPelayanan")
|
||||
@ -250,13 +266,13 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
@Param("listProdukIgdId") List<Integer> listIdProdukIgd,
|
||||
@Param("listDokterUmumId") List<Integer> listIdDokterUmum, @Param("IgdId") Integer idIgd,
|
||||
@Param("listNontindakanId") List<Integer> listIdNontindakan, @Param("listBpjsId") List<Integer> listIdBpjs,
|
||||
@Param("asuransiLainId") Integer idAsuransiLain, @Param("jaminanKemenkesId") Integer idJaminanKemenkes,
|
||||
@Param("karcisId") Integer idKarcis);
|
||||
|
||||
// Detail_logbook_kinerja_jam_kerja_dokter
|
||||
@Query("select distinct new Map(jpp.id as jenisPetugasId,jpp.jenisPetugasPe as jenisPetugas,"
|
||||
+ "pr.id as produkId,pr.namaProduk as namaProduk,"
|
||||
+ "pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'dd-MM-yyyy HH24:MI:ss') as tglPelayananFormatted,pp.jumlah as jumlah,coalesce(pp.hargaDiscount,0) as hargaDiskon,"
|
||||
+ "pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'dd-MM-yyyy HH24:MI:ss') as tglPelayananFormatted,pp.jumlah as jumlah,"
|
||||
+ "coalesce(pp.hargaDiscount,0) as hargaDiskon,"
|
||||
+ "ru.departemenId as departemenId,ru.id as ruanganId,ru.namaRuangan as namaRuangan,"
|
||||
+ "pd.noRegistrasi as noRegistrasi,pd.diskonPegawai as statusDiskon,"
|
||||
+ "ps.namaPasien as namaPasien,ps.noCm as noCm," + "kp.kelompokPasien as kelompokPasien) "
|
||||
@ -270,11 +286,13 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
+ "and pg.statusEnabled is true " + "and pd.statusEnabled is true " + "and pr.id = :produkId "
|
||||
+ "and to_char(pp.tglPelayanan,'yyyy-MM-dd') = :tglPelayanan "
|
||||
+ "and cast(pp.tglPelayanan as date) = cast(kl.tanggal as date) "
|
||||
+ "and ((pd.kelompokPasienId in (:listBpjsId) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId = :jaminanKemenkesId)) "
|
||||
+ "or (((pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) "
|
||||
+ "or (pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is null) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is null)) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '14:00:00' else '15:30:00' end)) "
|
||||
+ "or (to_char(pp.tglPelayanan,'dy') in ('fri') and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '15:30:00' else '16:00:00' end))) "
|
||||
+ "and (pd.kelompokPasienId in (:listBpjsId) " + "or (pd.kelompokPasienId not in (:listBpjsId) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') "
|
||||
+ "and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '14:00:00' else '15:30:00' end)) "
|
||||
+ "or (to_char(pp.tglPelayanan,'dy') in ('fri') "
|
||||
+ "and to_char(pp.tglPelayanan,'HH24:MI:ss') between '07:00:00' and (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '15:30:00' else '16:00:00' end))) "
|
||||
+ "and sk.id not in (:listNonjadwalId))) " + "and pg.jenisPegawaiId = :jenisPegawaiId "
|
||||
+ "and (djp.id in (:listDetailJenisProdukId) "
|
||||
+ "or (djp.id not in (:listDetailJenisProdukId) and pr.id in (:listProdukIgdId) and pg.id in (:listDokterUmumId) and ru.departemenId = :IgdId)) "
|
||||
@ -289,13 +307,13 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
@Param("listProdukIgdId") List<Integer> listIdProdukIgd,
|
||||
@Param("listDokterUmumId") List<Integer> listIdDokterUmum, @Param("IgdId") Integer idIgd,
|
||||
@Param("listNontindakanId") List<Integer> listIdNontindakan, @Param("listBpjsId") List<Integer> listIdBpjs,
|
||||
@Param("asuransiLainId") Integer idAsuransiLain, @Param("jaminanKemenkesId") Integer idJaminanKemenkes,
|
||||
@Param("karcisId") Integer idKarcis);
|
||||
|
||||
// Detail_logbook_kinerja_luar_jam_kerja_dokter
|
||||
@Query("select distinct new Map(jpp.id as jenisPetugasId,jpp.jenisPetugasPe as jenisPetugas,"
|
||||
+ "pr.id as produkId,pr.namaProduk as namaProduk,"
|
||||
+ "pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'dd-MM-yyyy HH24:MI:ss') as tglPelayananFormatted,pp.jumlah as jumlah,coalesce(pp.hargaDiscount,0) as hargaDiskon,"
|
||||
+ "pp.noRec as noRec,pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'dd-MM-yyyy HH24:MI:ss') as tglPelayananFormatted,pp.jumlah as jumlah,"
|
||||
+ "coalesce(pp.hargaDiscount,0) as hargaDiskon,"
|
||||
+ "ru.departemenId as departemenId,ru.id as ruanganId,ru.namaRuangan as namaRuangan,"
|
||||
+ "pd.noRegistrasi as noRegistrasi,pd.diskonPegawai as statusDiskon,"
|
||||
+ "ps.namaPasien as namaPasien,ps.noCm as noCm," + "kp.kelompokPasien as kelompokPasien) "
|
||||
@ -309,11 +327,18 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
+ "and pg.statusEnabled is true " + "and pd.statusEnabled is true " + "and pr.id = :produkId "
|
||||
+ "and to_char(pp.tglPelayanan,'yyyy-MM-dd') = :tglPelayanan "
|
||||
+ "and cast(pp.tglPelayanan as date) = cast(kl.tanggal as date) "
|
||||
+ "and (((pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) or (pd.kelompokPasienId not in (:listBpjsId) and pd.kelompokPasienId <> :asuransiLainId and pd.rekananId is null) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is not null and pd.rekananId <> :jaminanKemenkesId) or (pd.kelompokPasienId = :asuransiLainId and pd.rekananId is null)) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '14:00:01' else '15:30:01' end) and '23:59:59' or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') and sk.id not in (:listNonjadwalId)) "
|
||||
+ "or (to_char(pp.tglPelayanan,'dy') in ('fri') and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) and ru.departemenId in (:listDepartemenId) then '15:30:01' else '16:00:01'end) and '23:59:59' or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') and sk.id not in (:listNonjadwalId)) "
|
||||
+ "or to_char(pp.tglPelayanan,'dy') in ('sat','sun') " + "or sk.id in (:listNonjadwalId))) "
|
||||
+ "and pg.jenisPegawaiId = :jenisPegawaiId " + "and (djp.id in (:listDetailJenisProdukId) "
|
||||
+ "and (pd.kelompokPasienId not in (:listBpjsId) "
|
||||
+ "and ((to_char(pp.tglPelayanan,'dy') in ('mon','tue','wed','thu') "
|
||||
+ "and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '14:00:01' else '15:30:01' end) and '23:59:59' "
|
||||
+ "or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') "
|
||||
+ "and sk.id not in (:listNonjadwalId)) " + "or (to_char(pp.tglPelayanan,'dy') in ('fri') "
|
||||
+ "and (to_char(pp.tglPelayanan,'HH24:MI:ss') between (case when pp.tglPelayanan between cast(:psbbAwal as timestamp) and cast(:psbbAkhir as timestamp) "
|
||||
+ "and ru.departemenId in (:listDepartemenId) then '15:30:01' else '16:00:01'end) and '23:59:59' "
|
||||
+ "or to_char(pp.tglPelayanan,'HH24:MI:ss') between '00:00:00' and '07:00:00') "
|
||||
+ "and sk.id not in (:listNonjadwalId)) " + "or to_char(pp.tglPelayanan,'dy') in ('sat','sun') "
|
||||
+ "or sk.id in (:listNonjadwalId))) " + "and pg.jenisPegawaiId = :jenisPegawaiId "
|
||||
+ "and (djp.id in (:listDetailJenisProdukId) "
|
||||
+ "or (djp.id not in (:listDetailJenisProdukId) and pr.id in (:listProdukIgdId) and pg.id in (:listDokterUmumId) and ru.departemenId = :IgdId)) "
|
||||
+ "and djp.jenisProdukId not in (:listNontindakanId) " + "and pr.id <> :karcisId "
|
||||
+ "and pg.id = :pegawaiId " + "order by pr.namaProduk, pp.tglPelayanan")
|
||||
@ -326,6 +351,5 @@ public interface IkiDanRemunerasiDao extends PagingAndSortingRepository<IkiDanRe
|
||||
@Param("listProdukIgdId") List<Integer> listIdProdukIgd,
|
||||
@Param("listDokterUmumId") List<Integer> listIdDokterUmum, @Param("IgdId") Integer idIgd,
|
||||
@Param("listNontindakanId") List<Integer> listIdNontindakan, @Param("listBpjsId") List<Integer> listIdBpjs,
|
||||
@Param("asuransiLainId") Integer idAsuransiLain, @Param("jaminanKemenkesId") Integer idJaminanKemenkes,
|
||||
@Param("karcisId") Integer idKarcis);
|
||||
}
|
||||
@ -668,7 +668,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
|
||||
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), Arrays.asList(Master.KategoryPegawai.REMUN),
|
||||
Arrays.asList(Master.KedudukanPegawai.INACTIVE_LOGIN), Arrays.asList(Master.UnitKerja.KSM),
|
||||
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
|
||||
Master.KelompokPasien.ASURANSI_LAIN, Master.Rekanan.JAMINAN_KEMENKES, Master.Produk.KARCIS);
|
||||
Master.Produk.KARCIS);
|
||||
|
||||
// filter detail jenis produk
|
||||
for (Map<String, Object> map : dataRaw) {
|
||||
@ -1184,7 +1184,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
|
||||
Arrays.asList(Master.KedudukanPegawai.INACTIVE_LOGIN),
|
||||
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), Arrays.asList(Master.UnitKerja.KSM),
|
||||
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
|
||||
Master.KelompokPasien.ASURANSI_LAIN, Master.Rekanan.JAMINAN_KEMENKES, Master.Produk.KARCIS);
|
||||
Master.Produk.KARCIS);
|
||||
|
||||
// filter detail jenis produk
|
||||
for (Map<String, Object> map : dataRaw) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1062,7 +1062,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
Arrays.asList(idPegawai), Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), listDetailJenisProduk,
|
||||
Arrays.asList(Master.Produk.DOKTER_UMUM_IGD), drKsmUmumList, Master.Departemen.IGD,
|
||||
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
|
||||
Master.KelompokPasien.ASURANSI_LAIN, Master.Rekanan.JAMINAN_KEMENKES, Master.Produk.KARCIS);
|
||||
Master.Produk.KARCIS);
|
||||
|
||||
/**
|
||||
* Menghitung skor asa dokter anestesi
|
||||
@ -1391,7 +1391,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), listDetailJenisProduk,
|
||||
Arrays.asList(Master.Produk.DOKTER_UMUM_IGD), drKsmUmumList, Master.Departemen.IGD,
|
||||
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
|
||||
Master.KelompokPasien.ASURANSI_LAIN, Master.Rekanan.JAMINAN_KEMENKES, Master.Produk.KARCIS);
|
||||
Master.Produk.KARCIS);
|
||||
|
||||
/**
|
||||
* Menghitung skor asa dokter anestesi
|
||||
@ -1714,7 +1714,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), listDetailJenisProduk,
|
||||
Arrays.asList(Master.Produk.DOKTER_UMUM_IGD), drKsmUmumList, Master.Departemen.IGD,
|
||||
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
|
||||
Master.KelompokPasien.ASURANSI_LAIN, Master.Rekanan.JAMINAN_KEMENKES, Master.Produk.KARCIS);
|
||||
Master.Produk.KARCIS);
|
||||
|
||||
for (Map<String, Object> mapLayanan : dataLayanan) {
|
||||
if (idIndikator.equals(Master.IndikatorKinerjaJamKerja.VISITE)
|
||||
@ -2105,7 +2105,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), listDetailJenisProduk,
|
||||
Arrays.asList(Master.Produk.DOKTER_UMUM_IGD), drKsmUmumList, Master.Departemen.IGD,
|
||||
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS),
|
||||
Master.KelompokPasien.ASURANSI_LAIN, Master.Rekanan.JAMINAN_KEMENKES, Master.Produk.KARCIS);
|
||||
Master.Produk.KARCIS);
|
||||
|
||||
for (Map<String, Object> mapLayanan : dataLayanan) {
|
||||
if (idIndikator.equals(Master.IndikatorKinerjaLuarJamKerja.VISITE)
|
||||
@ -2777,8 +2777,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
List<Map<String, Object>> dataLayanan = ikiDanRemunerasiDao.getDataLogbookJamKerjaDokter(mf.format(bulan),
|
||||
pssbAwal, pssbAkhir, listIdNonjadwal, Master.JenisPegawai.DOKTER, listIdPegawai,
|
||||
Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), Arrays.asList(Master.JenisProduk.NONTINDAKAN),
|
||||
Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.KelompokPasien.ASURANSI_LAIN,
|
||||
Master.Rekanan.JAMINAN_KEMENKES, Master.Produk.KARCIS);
|
||||
Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS), Master.Produk.KARCIS);
|
||||
|
||||
List<Map<String, Object>> dataSkor = skoringTindakanMedisDao.findSkoringLogbookDokter(mf.format(bulan),
|
||||
listIdPegawai, Arrays.asList(Master.UnitKerja.KSM));
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user