Merge branch 'dev/remun/logbook-tarif' into prod/no-cron
This commit is contained in:
commit
b872d18aee
@ -415,8 +415,10 @@ public final class Master {
|
||||
|
||||
public static final class SubUnitKerja {
|
||||
public static final Integer KK_ANESTESI = 223;
|
||||
public static final Integer KK_EMERGIC = 218;
|
||||
public static final Integer KK_FARMAKOLOGI = 205;
|
||||
public static final Integer KK_GENETIKA = 198;
|
||||
public static final Integer KK_HEMATO_ONKO = 216;
|
||||
public static final Integer KK_PATOLOGI_ANATOMI = 197;
|
||||
public static final Integer KK_PATOLOGI_KLINIK = 199;
|
||||
public static final Integer KK_PEDIATRIK_GD = 244;
|
||||
|
||||
@ -497,4 +497,8 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends JpaRepository<MapPegawa
|
||||
+ "and mj.unitKerjaPegawaiId in (:listUnitKerjaId) " + "and pg.jenisPegawaiId = 1")
|
||||
Set<Integer> findDokterByUnitKerja(@Param("listUnitKerjaId") List<Integer> listIdUnitKerja);
|
||||
|
||||
@Query("select skj.id from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.subUnitKerjaPegawai skj "
|
||||
+ "where mj.statusEnabled is true " + "and skj.statusEnabled is true " + "and lower(skj.name) like 'kk%' "
|
||||
+ "and mj.pegawaiId = :pegawaiId")
|
||||
List<Integer> findKelompokKerjaByDokter(@Param("pegawaiId") Integer idPegawai);
|
||||
}
|
||||
|
||||
@ -134,12 +134,14 @@ public abstract class BaseVoServiceImpl {
|
||||
Type effectiveDateDataFixType = new TypeToken<List<EffectiveDateDataFixDTO>>() {
|
||||
}.getType();
|
||||
String jsonProdukDokterUmum = getSettingDataFixed(namaField);
|
||||
if (jsonProdukDokterUmum.isEmpty())
|
||||
return result;
|
||||
List<EffectiveDateDataFixDTO> dataFixDTOList = gson.fromJson(jsonProdukDokterUmum, effectiveDateDataFixType);
|
||||
Optional<EffectiveDateDataFixDTO> first = dataFixDTOList.stream()
|
||||
.sorted(Comparator.comparing(EffectiveDateDataFixDTO::getTmt, Comparator.reverseOrder()))
|
||||
.filter(dto -> dto.getTmt() <= date.getTime()).findFirst();
|
||||
if (first.isPresent()) {
|
||||
String[] split = first.get().getNilaiField().split(",");
|
||||
String[] split = first.get().getNilaiField().replace(" ","").split(",");
|
||||
for (String s : split)
|
||||
result.add(Integer.valueOf(s));
|
||||
}
|
||||
|
||||
@ -110,6 +110,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
@Autowired
|
||||
private MapJabatanProfesiDao mapJabatanProfesiDao;
|
||||
|
||||
@Autowired
|
||||
private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitKerjaDao;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> saveProgramKegiatan(ProgramKegiatanVO vo) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
@ -275,6 +278,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
} catch (ParseException e) {
|
||||
return null;
|
||||
}
|
||||
/*
|
||||
* Mendapatkan kelompok kerja dokter
|
||||
*/
|
||||
List<Integer> kelompokKerjaByDokter = mapPegawaiJabatanToUnitKerjaDao.findKelompokKerjaByDokter(idPegawai);
|
||||
Integer idKKDokter = kelompokKerjaByDokter.stream().findFirst().orElse(-1);
|
||||
/*
|
||||
* Mendapatkan daftar jadwal kerja, tanggal dan jam kerja
|
||||
*/
|
||||
@ -320,13 +328,6 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
*/
|
||||
List<Integer> listDetailJenisProduk;
|
||||
List<Integer> listDetailJenisProdukException = new ArrayList<>();
|
||||
List<Integer> drKkPediatrikGDList = pegawaiDao.getDokterByKelompokKerja(KK_PEDIATRIK_GD);
|
||||
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(KK_ANESTESI);
|
||||
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(KK_UMUM);
|
||||
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(KK_PERINATOLOGI);
|
||||
List<Integer> drKkPatologiAnatomiList = pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_ANATOMI);
|
||||
List<Integer> drKkGenetika = pegawaiDao.getDokterByKelompokKerja(KK_GENETIKA);
|
||||
List<Integer> drKkRadiologi = pegawaiDao.getDokterByKelompokKerja(KK_RADIOLOGI);
|
||||
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
|
||||
List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI));
|
||||
List<Integer> idsJenisProdukNonLogbook = getNilaiDataFixByTMT("listJenisProdukNonLogbook", tglAkhir);
|
||||
@ -341,6 +342,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAkhir);
|
||||
List<Integer> idsDokterBPJSffs = splitDataSettingDatafixed("dokterBPJSffs");
|
||||
List<Integer> idsDokterPediatrikGD = getNilaiDataFixByTMT("pr_dokter_pediatrik_gd", tglAkhir);
|
||||
List<Integer> idsDokterHematoOnko = getNilaiDataFixByTMT("pr_dokter_hematoonko_anak", tglAkhir);
|
||||
List<Integer> idsDokterEmergic = getNilaiDataFixByTMT("pr_produk_emergic_anak", tglAkhir);
|
||||
List<Integer> idsPerawat = getNilaiDataFixByTMT("pr_produk_perawat", tglAkhir);
|
||||
List<Integer> listIdPegawaiRemunKelompokBudiRahmat = splitDataSettingDatafixed(
|
||||
"listIdPegawaiRemunKelompokBudiRahmat");
|
||||
List<Integer> idsMonitoringIntervensi = getNilaiDataFixByTMT("idMonitoringIntervensi", tglAkhir);
|
||||
@ -350,11 +354,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
List<Integer> idsKepalaPaketFixedPay = getNilaiDataFixByTMT("idProdukKepalaPaketFixedPay", tglAkhir);
|
||||
List<Integer> paketBukanFixedPay = getNilaiDataFixByTMT("produkPaketBukanFixedPay", tglAkhir);
|
||||
List<Integer> idsKarcis = getNilaiDataFixByTMT("listKarcisIdProduk", tglAkhir);
|
||||
if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
||||
if (KK_PATOLOGI_ANATOMI.equals(idKKDokter)) {
|
||||
listDetailJenisProduk = idsRegDJPPenunjangPA;
|
||||
} else if (pegawaiDao.getDokterByKelompokKerja(KK_PATOLOGI_KLINIK).contains(idPegawai)) {
|
||||
} else if (KK_PATOLOGI_KLINIK.equals(idKKDokter)) {
|
||||
listDetailJenisProduk = idsRegDJPPenunjangPK;
|
||||
} else if (drKkRadiologi.contains(idPegawai)) {
|
||||
} else if (KK_RADIOLOGI.equals(idKKDokter)) {
|
||||
listDetailJenisProduk = idsRegDJPPenunjangRad;
|
||||
} else {
|
||||
listDetailJenisProduk = idsRegDJPMedisUtama;
|
||||
@ -364,9 +368,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
listDetailJenisProdukException.removeAll(listDetailJenisProduk);
|
||||
}
|
||||
/*
|
||||
* TMT KSM Umum mulai menggunakan pembatasan tindakan
|
||||
* TMT Tarif baru tahun 2024
|
||||
*/
|
||||
Date tmtTindakanKSMUmum = new Date(1738342800000L);
|
||||
Date tmtTarif2024 = new Date(1738342800000L);
|
||||
/*
|
||||
* Mendapatkan data mentah pelayanan pasien
|
||||
*/
|
||||
@ -409,7 +413,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
d.put("hargaJual", d.get("komponenTotalTarif"));
|
||||
d.put("isTermasukProporsi", true);
|
||||
double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
|
||||
if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
if (KK_UMUM.equals(idKKDokter) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (terapisRehabMedik.contains(idPegawai)) {
|
||||
@ -497,13 +501,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
|
||||
d.put("isTermasukProporsi", false);
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
} else if (KK_ANESTESI.equals(idKKDokter) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
} else if (KK_ANESTESI.equals(idKKDokter) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
} else if (drKkGenetika.contains(idPegawai)
|
||||
} else if (KK_GENETIKA.equals(idKKDokter)
|
||||
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
|
||||
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
|
||||
/*
|
||||
@ -518,7 +522,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
|
||||
d.put("isTermasukProporsi", false);
|
||||
} else if (drKkPatologiAnatomiList.contains(idPegawai)) {
|
||||
} else if (KK_PATOLOGI_ANATOMI.equals(idKKDokter)) {
|
||||
RemunHargaJasa hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d);
|
||||
d.put("hargaJasa", hargaJasa.getNilai());
|
||||
if (!DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")))
|
||||
@ -590,7 +594,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
* pasien di luar dokter-dokter kk eria
|
||||
*/
|
||||
List<Map<String, Object>> rawDataBpjs2 = new ArrayList<>();
|
||||
if (!drKkPediatrikGDList.contains(idPegawai)) {
|
||||
if (!KK_PEDIATRIK_GD.equals(idKKDokter)) {
|
||||
/*
|
||||
* Dapatkan semua pendaftaran BPJS untuk visite di luar
|
||||
* dokter-dokter kk eria
|
||||
@ -651,7 +655,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
* hari per dokter per pasien kk eria
|
||||
*/
|
||||
List<Map<String, Object>> rawDataBpjs3 = new ArrayList<>();
|
||||
if (drKkPediatrikGDList.contains(idPegawai)) {
|
||||
if (KK_PEDIATRIK_GD.equals(idKKDokter)) {
|
||||
/*
|
||||
* Dapatkan semua pendaftaran BPJS untuk visite dokter-dokter kk
|
||||
* eria
|
||||
@ -718,7 +722,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
* diambil maksimal 2 kali per hari per pasien per dokter kk eria
|
||||
*/
|
||||
List<Map<String, Object>> rawDataBpjs4 = new ArrayList<>();
|
||||
if (drKkPediatrikGDList.contains(idPegawai)) {
|
||||
if (KK_PEDIATRIK_GD.equals(idKKDokter)) {
|
||||
/*
|
||||
* Dapatkan semua pendaftaran BPJS untuk monitoring hemodinamik
|
||||
* gagal organ dokter-dokter kk eria
|
||||
@ -795,7 +799,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
* 2 kali per hari per pasien per dokter kk perinatologi
|
||||
*/
|
||||
List<Map<String, Object>> rawDataBpjs5 = new ArrayList<>();
|
||||
if (drKkPerinatologiList.contains(idPegawai)) {
|
||||
if (KK_PERINATOLOGI.equals(idKKDokter)) {
|
||||
/*
|
||||
* Dapatkan semua pendaftaran BPJS untuk monitoring intervensi
|
||||
* dokter-dokter kk perinatologi
|
||||
@ -989,7 +993,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
/*
|
||||
* Urutan alokasi bpjs sebagai urutan prioritas
|
||||
*/
|
||||
if (drKkPediatrikGDList.contains(idPegawai)) {
|
||||
if (KK_PEDIATRIK_GD.equals(idKKDokter) && tglAwal.before(tmtTarif2024)) {
|
||||
if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) {
|
||||
if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
|
||||
@ -1028,15 +1032,49 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
}
|
||||
}
|
||||
} else if (drKkRadiologi.contains(idPegawai) && (BEDAH_SENTRAL.equals(next.get("idDepartemen"))
|
||||
} else if (KK_PEDIATRIK_GD.equals(idKKDokter)
|
||||
&& idsDokterPediatrikGD.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk eria tarif 2024
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (KK_RADIOLOGI.equals(idKKDokter) && (BEDAH_SENTRAL.equals(next.get("idDepartemen"))
|
||||
|| CATHLAB.equals(next.get("idRuangan")))) {
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (drKsmUmumList.contains(idPegawai)
|
||||
} else if (KK_UMUM.equals(idKKDokter)
|
||||
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTindakanKSMUmum) || tglAwal.after(tmtTindakanKSMUmum))) {
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter ksm umum
|
||||
* Aturan dokter ksm umum tarif 2024
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (KK_PERINATOLOGI.equals(idKKDokter)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk perinatologi tarif 2024
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (KK_HEMATO_ONKO.equals(idKKDokter)
|
||||
&& idsDokterHematoOnko.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk hematologi dan onkologi anak tarif
|
||||
* 2024
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (KK_EMERGIC.equals(idKKDokter)
|
||||
&& idsDokterEmergic.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk emergensi rawat intensif anak tarif
|
||||
* 2024
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
@ -1046,9 +1084,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
*/
|
||||
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
|
||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
|
||||
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTindakanKSMUmum))) {
|
||||
if (!idsPerawat.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
|| (KK_UMUM.equals(idKKDokter)
|
||||
&& !idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTarif2024))) {
|
||||
/*
|
||||
* Dibatasi oleh daftar jenis tindakan tertentu
|
||||
*/
|
||||
@ -1075,9 +1115,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
&& !listDetailJenisProduk.contains(
|
||||
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
|
||||
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
|
||||
&& IGD.equals(next.get("idDepartemen")) && KK_UMUM.equals(idKKDokter)
|
||||
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTindakanKSMUmum)) {
|
||||
&& tglAwal.before(tmtTarif2024)) {
|
||||
/*
|
||||
* Aturan dokter ksm umum di igd
|
||||
*/
|
||||
@ -1087,15 +1127,16 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
&& !listDetailJenisProduk.contains(
|
||||
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
|
||||
&& drKkPerinatologiList.contains(idPegawai)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
||||
&& KK_PERINATOLOGI.equals(idKKDokter)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTarif2024)) {
|
||||
/*
|
||||
* Aturan dokter kk perinatologi dengan pembatasan
|
||||
* tindakan tertentu
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (drAnastesiList.contains(idPegawai)) {
|
||||
} else if (KK_ANESTESI.equals(idKKDokter)) {
|
||||
if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
||||
/*
|
||||
* Aturan dokter kk anestesi dengan pembatasan
|
||||
@ -1116,9 +1157,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
/*
|
||||
* Diluar pembatasan jenis produk
|
||||
*/
|
||||
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTindakanKSMUmum))) {
|
||||
if (!idsPerawat.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
|| (KK_UMUM.equals(idKKDokter)
|
||||
&& !idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTarif2024))) {
|
||||
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
&& (idsRegDJPPenunjangPA
|
||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|
||||
@ -1145,7 +1188,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
* Alokasi bagian remunerasi berdasarkan target rupiah
|
||||
* sesuai tanggal mulai berlaku
|
||||
*/
|
||||
if (drKkPediatrikGDList.contains(idPegawai)) {
|
||||
if (KK_PEDIATRIK_GD.equals(idKKDokter) && tglAwal.before(tmtTarif2024)) {
|
||||
if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) {
|
||||
if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
|
||||
@ -1184,15 +1227,49 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
}
|
||||
}
|
||||
} else if (drKkRadiologi.contains(idPegawai) && (BEDAH_SENTRAL.equals(next.get("idDepartemen"))
|
||||
} else if (KK_PEDIATRIK_GD.equals(idKKDokter)
|
||||
&& idsDokterPediatrikGD.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk eria tarif 2024
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (KK_RADIOLOGI.equals(idKKDokter) && (BEDAH_SENTRAL.equals(next.get("idDepartemen"))
|
||||
|| CATHLAB.equals(next.get("idRuangan")))) {
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (drKsmUmumList.contains(idPegawai)
|
||||
} else if (KK_UMUM.equals(idKKDokter)
|
||||
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTindakanKSMUmum) || tglAwal.after(tmtTindakanKSMUmum))) {
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter ksm umum
|
||||
* Aturan dokter ksm umum tarif 2024
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (KK_PERINATOLOGI.equals(idKKDokter)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk perinatologi tarif 2024
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (KK_HEMATO_ONKO.equals(idKKDokter)
|
||||
&& idsDokterHematoOnko.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk hematologi dan onkologi anak tarif
|
||||
* 2024
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (KK_EMERGIC.equals(idKKDokter)
|
||||
&& idsDokterEmergic.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk emergensi rawat intensif anak tarif
|
||||
* 2024
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
@ -1202,9 +1279,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
*/
|
||||
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
|
||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
|
||||
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTindakanKSMUmum))) {
|
||||
if (!idsPerawat.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
|| (KK_UMUM.equals(idKKDokter)
|
||||
&& !idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTarif2024))) {
|
||||
/*
|
||||
* Dibatasi oleh daftar jenis tindakan tertentu
|
||||
*/
|
||||
@ -1231,9 +1310,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
&& !listDetailJenisProduk.contains(
|
||||
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
|
||||
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
|
||||
&& IGD.equals(next.get("idDepartemen")) && KK_UMUM.equals(idKKDokter)
|
||||
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTindakanKSMUmum)) {
|
||||
&& tglAwal.before(tmtTarif2024)) {
|
||||
/*
|
||||
* Aturan dokter ksm umum di igd
|
||||
*/
|
||||
@ -1243,15 +1322,16 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
&& !listDetailJenisProduk.contains(
|
||||
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
|
||||
&& drKkPerinatologiList.contains(idPegawai)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
||||
&& KK_PERINATOLOGI.equals(idKKDokter)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTarif2024)) {
|
||||
/*
|
||||
* Aturan dokter kk perinatologi dengan pembatasan
|
||||
* tindakan tertentu
|
||||
*/
|
||||
listPelayananRemun.add(next);
|
||||
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
|
||||
} else if (drAnastesiList.contains(idPegawai)) {
|
||||
} else if (KK_ANESTESI.equals(idKKDokter)) {
|
||||
if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
||||
/*
|
||||
* Aturan dokter kk anestesi dengan pembatasan
|
||||
@ -1272,9 +1352,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
/*
|
||||
* Diluar pembatasan jenis produk
|
||||
*/
|
||||
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTindakanKSMUmum))) {
|
||||
if (!idsPerawat.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
|| (KK_UMUM.equals(idKKDokter)
|
||||
&& !idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTarif2024))) {
|
||||
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
&& (idsRegDJPPenunjangPA
|
||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|
||||
@ -1300,7 +1382,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
/*
|
||||
* Alokasi untuk bagian ffs
|
||||
*/
|
||||
if (drKkPediatrikGDList.contains(idPegawai)) {
|
||||
if (KK_PEDIATRIK_GD.equals(idKKDokter) && tglAwal.before(tmtTarif2024)) {
|
||||
if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) {
|
||||
if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
|
||||
@ -1348,18 +1430,63 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (drKkRadiologi.contains(idPegawai) && (BEDAH_SENTRAL.equals(next.get("idDepartemen"))
|
||||
} else if (KK_PEDIATRIK_GD.equals(idKKDokter)
|
||||
&& idsDokterPediatrikGD.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk eria tarif 2024
|
||||
*/
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (KK_RADIOLOGI.equals(idKKDokter) && (BEDAH_SENTRAL.equals(next.get("idDepartemen"))
|
||||
|| CATHLAB.equals(next.get("idRuangan")))) {
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (drKsmUmumList.contains(idPegawai)
|
||||
} else if (KK_UMUM.equals(idKKDokter)
|
||||
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTindakanKSMUmum) || tglAwal.after(tmtTindakanKSMUmum))) {
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter ksm umum
|
||||
* Aturan dokter ksm umum tarif 2024
|
||||
*/
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (KK_PERINATOLOGI.equals(idKKDokter)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk perinatologi tarif 2024
|
||||
*/
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (KK_HEMATO_ONKO.equals(idKKDokter)
|
||||
&& idsDokterHematoOnko.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk hematologi dan onkologi tarif 2024
|
||||
*/
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (KK_EMERGIC.equals(idKKDokter)
|
||||
&& idsDokterEmergic.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& (tglAwal.equals(tmtTarif2024) || tglAwal.after(tmtTarif2024))) {
|
||||
/*
|
||||
* Aturan dokter kk emergensi rawat intensif anak tarif
|
||||
* 2024
|
||||
*/
|
||||
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
|
||||
listPelayananFfs.add(next);
|
||||
@ -1372,9 +1499,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
*/
|
||||
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
|
||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
|
||||
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTindakanKSMUmum))) {
|
||||
if (!idsPerawat.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
|| (KK_UMUM.equals(idKKDokter)
|
||||
&& !idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTarif2024))) {
|
||||
/*
|
||||
* Dibatasi oleh daftar jenis tindakan tertentu
|
||||
*/
|
||||
@ -1407,9 +1536,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
&& !listDetailJenisProduk.contains(
|
||||
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
|
||||
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
|
||||
&& IGD.equals(next.get("idDepartemen")) && KK_UMUM.equals(idKKDokter)
|
||||
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTindakanKSMUmum)) {
|
||||
&& tglAwal.before(tmtTarif2024)) {
|
||||
/*
|
||||
* Aturan dokter ksm umum di igd
|
||||
*/
|
||||
@ -1422,8 +1551,9 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
&& !listDetailJenisProduk.contains(
|
||||
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
|
||||
&& drKkPerinatologiList.contains(idPegawai)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
||||
&& KK_PERINATOLOGI.equals(idKKDokter)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTarif2024)) {
|
||||
/*
|
||||
* Aturan dokter kk perinatologi dengan pembatasan
|
||||
* tindakan tertentu
|
||||
@ -1433,7 +1563,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
} else {
|
||||
listPelayananNonJknLuarJamKerja.add(next);
|
||||
}
|
||||
} else if (drAnastesiList.contains(idPegawai)) {
|
||||
} else if (KK_ANESTESI.equals(idKKDokter)) {
|
||||
if (idsPenunjangBukanAnestesi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
||||
/*
|
||||
* Aturan dokter kk anestesi dengan pembatasan
|
||||
@ -1460,9 +1590,11 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
/*
|
||||
* Diluar pembatasan jenis produk
|
||||
*/
|
||||
if (!drKsmUmumList.contains(idPegawai) || (!idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTindakanKSMUmum))) {
|
||||
if (!idsPerawat.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
|| (KK_UMUM.equals(idKKDokter)
|
||||
&& !idsDokterUmumExclude
|
||||
.contains(Integer.parseInt(next.get("idProduk").toString()))
|
||||
&& tglAwal.before(tmtTarif2024))) {
|
||||
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
|
||||
&& (idsRegDJPPenunjangPA
|
||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user