Merge branch 'dev/remun/logbook-tarif' into prod/base

This commit is contained in:
Salman Manoe 2025-02-14 14:41:12 +07:00
commit 389147e756
3 changed files with 114 additions and 121 deletions

View File

@ -214,7 +214,7 @@ public abstract class LocaleController<V extends BaseModelVO> {
// protected EntityManager em;
public String GetSettingDataFixed(String prefix) {
return agamaService.GetSettingDataFixed(prefix);
return agamaService.getSettingDataFixed(prefix);
// StringBuffer buffer = new StringBuffer();
// buffer.append("select model.nilaiField from SettingDataFixed ")
// .append(" model where model.namaField ='" + prefix + "' ");

View File

@ -140,7 +140,7 @@ public final class Master {
public static final class JenisProduk {
public static final Integer LAB_KLINIK = 36; // laboratorium_klinik
public static final Integer[] NONKONSULTASI = { 116, 277 }; // reagensia,barang_umum
public static final Integer[] NONLOGBOOK = { 97, 277, 283 }; // barang_farmasi,barang_umum,vaksin
public static final Integer[] NONLOGBOOK = { 97, 99, 277, 283 }; // barang_farmasi,barang_umum,vaksin
public static final Integer[] NONTINDAKAN = { 97, 283 }; // barang_farmasi,vaksin
public static final Integer OBAT_ALKES = 97; // barang_farmasi
}

View File

@ -30,7 +30,6 @@ import static com.jasamedika.medifirst2000.constants.Master.Departemen.*;
import static com.jasamedika.medifirst2000.constants.Master.GolonganProduk.KONSULTASI;
import static com.jasamedika.medifirst2000.constants.Master.GolonganProduk.VISIT;
import static com.jasamedika.medifirst2000.constants.Master.JenisPetugasPelaksana.*;
import static com.jasamedika.medifirst2000.constants.Master.JenisProduk.NONLOGBOOK;
import static com.jasamedika.medifirst2000.constants.Master.KategoryPegawai.DOKTER_LUAR;
import static com.jasamedika.medifirst2000.constants.Master.Kelas.NON_KELAS;
import static com.jasamedika.medifirst2000.constants.Master.KelompokPasien.KELOMPOK_BPJS;
@ -330,13 +329,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
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", tglAwal);
List<Integer> idsRegDJPAdminNonPK = getNilaiDataFixByTMT("admin_nonpk", tglAwal);
List<Integer> idsRegDJPMedisUtama = getNilaiDataFixByTMT("medis_utama", tglAwal);
List<Integer> idsRegDJPPenunjangPA = getNilaiDataFixByTMT("penunjang_pa", tglAwal);
List<Integer> idsRegDJPPenunjangPK = getNilaiDataFixByTMT("penunjang_pk", tglAwal);
List<Integer> idsRegDJPPenunjangRad = getNilaiDataFixByTMT("penunjang_radiologi", tglAwal);
List<Integer> idsDokterUmumIGD = getNilaiDataFixByTMT("pr_dokter_umum_igd", tglAwal);
List<Integer> idsDokterUmumExclude = getNilaiDataFixByTMT("pr_dokter_umum_exclude", tglAwal);
List<Integer> idsDokterPerinatologi = getNilaiDataFixByTMT("pr_dokter_perinatologi", tglAwal);
List<Integer> idsPenunjangBukanAnestesi = getNilaiDataFixByTMT("pr_penunjang_nonanestesi", tglAwal);
List<Integer> idsDokterBPJSffs = splitDataSettingDatafixed("dokterBPJSffs");
@ -970,7 +969,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
listPelayananNonJknLuarJamKerja.add(next);
}
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !Arrays.asList(NONLOGBOOK)
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk")) && !idsJenisProdukNonLogbook
.contains(Integer.parseInt(next.get("idJenisProduk").toString())))) {
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
listPelayananFfs.add(next);
@ -987,11 +986,16 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/
if (drKkPediatrikGDList.contains(idPegawai)) {
if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) {
if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
/*
* Tarif baru dengan KPTL
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
} else {
/*
* Bpjs untuk dokter-dokter kk pediatrik gawat
@ -1009,7 +1013,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| VISIT.equals(next.get("idGolonganProduk")))
&& (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(NONLOGBOOK).contains(
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString()))))) {
/*
* Dibatasi hanya di rawat jalan atau visite
@ -1027,40 +1031,34 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Selain dokter-dokter kk pediatrik gawat darurat
*/
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
&& !drKsmUmumList.contains(idPegawai)) {
/*
* Dibatasi oleh daftar jenis tindakan tertentu
*/
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& (idsRegDJPPenunjangPA
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| idsRegDJPPenunjangPK.contains(Integer
.parseInt(next.get("idDetailJenisProduk").toString())))) {
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) {
/*
* Pengecualian daftar tindakan penunjang
* yang bebas klaim
* Pengecualian daftar tindakan penunjang yang
* bebas klaim
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(NONLOGBOOK).contains(
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
}
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
} else if (drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/*
* Aturan dokter ksm umum di igd
* Aturan dokter ksm umum
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
@ -1097,8 +1095,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Diluar pembatasan jenis produk
*/
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
if (!drKsmUmumList.contains(idPegawai)) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
@ -1112,7 +1109,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(NONLOGBOOK).contains(
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
@ -1127,11 +1124,16 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/
if (drKkPediatrikGDList.contains(idPegawai)) {
if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) {
if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
/*
* Tarif baru dengan KPTL
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
} else {
/*
* Bpjs untuk dokter-dokter kk pediatrik gawat
@ -1149,7 +1151,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil
.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(NONLOGBOOK).contains(
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString()))))) {
/*
* Dibatasi hanya di rawat jalan atau visite
@ -1167,37 +1169,31 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Selain dokter-dokter kk pediatrik gawat darurat
*/
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
&& !drKsmUmumList.contains(idPegawai)) {
/*
* Dibatasi oleh daftar jenis tindakan tertentu
*/
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& (idsRegDJPPenunjangPA
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| idsRegDJPPenunjangPK.contains(Integer
.parseInt(next.get("idDetailJenisProduk").toString())))) {
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) {
/*
* Pengecualian daftar tindakan penunjang
* yang bebas klaim
* Pengecualian daftar tindakan penunjang yang
* bebas klaim
*/
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(NONLOGBOOK).contains(
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
}
}
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
} else if (drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/*
* Aturan dokter ksm umum di igd
@ -1237,8 +1233,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Diluar pembatasan jenis produk
*/
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
if (!drKsmUmumList.contains(idPegawai)) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
@ -1252,7 +1247,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(NONLOGBOOK).contains(
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
listPelayananRemun.add(next);
capaianRemun += Double.parseDouble(next.get("hargaJasa").toString());
@ -1266,6 +1261,10 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
*/
if (drKkPediatrikGDList.contains(idPegawai)) {
if (CommonUtil.isNotNullOrEmpty(next.get("kptl"))) {
if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
/*
* Tarif baru dengan KPTL
*/
@ -1274,6 +1273,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else {
listPelayananNonJknLuarJamKerja.add(next);
}
}
} else {
/*
* Ffs untuk dokter-dokter kk pediatrik gawat
@ -1294,7 +1294,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|| VISIT.equals(next.get("idGolonganProduk")) && (CommonUtil
.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(NONLOGBOOK).contains(
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString()))))) {
/*
* Dibatasi hanya di rawat jalan atau visite
@ -1318,21 +1318,20 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Selain dokter-dokter kk pediatrik gawat darurat
*/
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& listDetailJenisProduk
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
&& !drKsmUmumList.contains(idPegawai)) {
/*
* Dibatasi oleh daftar jenis tindakan tertentu
*/
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& (idsRegDJPPenunjangPA
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk")) && (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|| idsRegDJPPenunjangPK.contains(Integer
.parseInt(next.get("idDetailJenisProduk").toString())))) {
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString())))) {
/*
* Pengecualian daftar tindakan penunjang
* yang bebas klaim
* Pengecualian daftar tindakan penunjang yang
* bebas klaim
*/
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
listPelayananFfs.add(next);
@ -1341,7 +1340,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
}
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(NONLOGBOOK).contains(
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
listPelayananFfs.add(next);
@ -1349,12 +1348,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
listPelayananNonJknLuarJamKerja.add(next);
}
}
}
} else if ((CommonUtil.isNullOrEmpty(next.get("idDetailJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& !listDetailJenisProduk.contains(
Integer.parseInt(next.get("idDetailJenisProduk").toString()))))
&& IGD.equals(next.get("idDepartemen")) && drKsmUmumList.contains(idPegawai)
} else if (drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
/*
* Aturan dokter ksm umum di igd
@ -1406,8 +1400,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
/*
* Diluar pembatasan jenis produk
*/
if (!drKsmUmumList.contains(idPegawai) || !idsDokterUmumExclude
.contains(Integer.parseInt(next.get("idProduk").toString()))) {
if (!drKsmUmumList.contains(idPegawai)) {
if (CommonUtil.isNotNullOrEmpty(next.get("idDetailJenisProduk"))
&& (idsRegDJPPenunjangPA
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
@ -1424,7 +1417,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
}
} else if (CommonUtil.isNullOrEmpty(next.get("idJenisProduk"))
|| (CommonUtil.isNotNullOrEmpty(next.get("idJenisProduk"))
&& !Arrays.asList(NONLOGBOOK).contains(
&& !idsJenisProdukNonLogbook.contains(
Integer.parseInt(next.get("idJenisProduk").toString())))) {
if (Boolean.parseBoolean(next.get("isJamKerja").toString())) {
listPelayananFfs.add(next);