Update IndekKinerjaServiceImpl.java
Penambahan aturan remunerasi dokter kk perinatologi
This commit is contained in:
parent
72ead6395b
commit
45140a909d
@ -401,6 +401,7 @@ public class Master {
|
||||
public static final Integer KK_PATOLOGI_ANATOMI = 197;
|
||||
public static final Integer KK_PATOLOGI_KLINIK = 199;
|
||||
public static final Integer KK_PEDIATRIK_GD = 244;
|
||||
public static final Integer KK_PERINATOLOGI = 217;
|
||||
public static final Integer KK_RADIOLOGI = 203;
|
||||
public static final Integer KK_UMUM = 222;
|
||||
public static final Integer SUBBAG_KESEJAHTERAAN = 26;
|
||||
|
||||
@ -2706,6 +2706,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_ANESTESI);
|
||||
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
|
||||
List<Integer> drKkPediatrikGDList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PEDIATRIK_GD);
|
||||
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI);
|
||||
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
|
||||
|
||||
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
|
||||
@ -2734,6 +2735,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
|
||||
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
|
||||
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
|
||||
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
|
||||
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
|
||||
Double komponenDasar = Double.parseDouble(GetSettingDataFixed("ld_komponen_dasar"));
|
||||
Double persenOperator = Double.parseDouble(GetSettingDataFixed("ld_persen_operator"));
|
||||
@ -2953,6 +2955,97 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
datePulang = datePulang.plusDays(1);
|
||||
}
|
||||
|
||||
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||
&& dateTimePelayanan.isBefore(datePulang))) {
|
||||
rawResult.add(map);
|
||||
} else if (map.get("departemenId").equals(Master.Departemen.RAWAT_INAP)
|
||||
&& !Arrays.asList(Master.Ruangan.NONRANAP).contains(map.get("ruanganId"))
|
||||
&& Arrays.stream(Master.KONSUL_VISIT)
|
||||
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains)
|
||||
&& (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang)
|
||||
|| dateTimePelayanan.isAfter(datePulang))) {
|
||||
rawResult.add(map);
|
||||
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang)
|
||||
|| dateTimePelayanan.isAfter(datePulang))
|
||||
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
||||
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
||||
rawResult.add(map);
|
||||
} else if (map.get("departemenId").equals(Master.Departemen.RAWAT_JALAN)
|
||||
&& map.get("namaShift").toString().equals("Non Shift")
|
||||
&& CommonUtil.isNotNullOrEmpty(jamPulangPSBB)
|
||||
&& (dateTimePelayanan.isEqual(PSBBDate) || dateTimePelayanan.isAfter(PSBBDate))
|
||||
&& (dateTimePelayanan.isBefore(PSBBEnd) || dateTimePelayanan.isEqual(PSBBEnd))) {
|
||||
if (((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||
&& dateTimePelayanan.isBefore(datePulangPSBB))) {
|
||||
rawResult.add(map);
|
||||
}
|
||||
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||
&& dateTimePelayanan.isBefore(datePulang))) {
|
||||
rawResult.add(map);
|
||||
}
|
||||
} else if (CommonUtil.isNullOrEmpty(map.get("jamMasuk"))
|
||||
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
||||
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
||||
rawResult.add(map);
|
||||
}
|
||||
|
||||
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
|
||||
&& drKkPerinatologiList.contains(idPegawai)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(map.get("idProduk").toString()))) {
|
||||
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
||||
|| Master.KelompokPasien.KEMENKES
|
||||
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
||||
|| Master.KelompokPasien.JAMKESDA
|
||||
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) {
|
||||
rawResult.add(map);
|
||||
} else if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) {
|
||||
Date tanggalPelayanan = (Date) map.get("tanggalPelayanan");
|
||||
String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan);
|
||||
String waktuPelayanan = new SimpleDateFormat("HH:mm:ss").format(tanggalPelayanan);
|
||||
LocalDate datePelayanan = LocalDate.parse(tglPelayanan);
|
||||
LocalTime timePelayanan = LocalTime.parse(waktuPelayanan);
|
||||
LocalDateTime dateTimePelayanan = LocalDateTime.of(datePelayanan, timePelayanan);
|
||||
|
||||
String jamMasuk = map.get("jamMasuk").toString().substring(0, 2) + ":"
|
||||
+ map.get("jamMasuk").toString().substring(3) + ":00";
|
||||
LocalTime timeMasuk = LocalTime.parse(jamMasuk);
|
||||
LocalDateTime dateMasuk = LocalDateTime.of(datePelayanan, timeMasuk);
|
||||
|
||||
String jamPulang = map.get("jamPulang").toString().substring(0, 2) + ":"
|
||||
+ map.get("jamPulang").toString().substring(3) + ":00";
|
||||
LocalTime timePulang = LocalTime.parse(jamPulang);
|
||||
LocalDateTime datePulang = LocalDateTime.of(datePelayanan, timePulang);
|
||||
|
||||
String jamPulangPSBB = "";
|
||||
LocalTime timePulangPSBB = LocalTime.now();
|
||||
LocalDateTime datePulangPSBB = LocalDateTime.now();
|
||||
if (getDayOfWeek((Date) map.get("tanggalPelayanan")) == 1
|
||||
|| getDayOfWeek((Date) map.get("tanggalPelayanan")) == 2
|
||||
|| getDayOfWeek((Date) map.get("tanggalPelayanan")) == 3
|
||||
|| getDayOfWeek((Date) map.get("tanggalPelayanan")) == 4) {
|
||||
jamPulangPSBB = "14:00:00";
|
||||
timePulangPSBB = LocalTime.parse(jamPulangPSBB);
|
||||
datePulangPSBB = LocalDateTime.of(datePelayanan, timePulangPSBB);
|
||||
} else if (getDayOfWeek((Date) map.get("tanggalPelayanan")) == 5) {
|
||||
jamPulangPSBB = "14:30:00";
|
||||
timePulangPSBB = LocalTime.parse(jamPulangPSBB);
|
||||
datePulangPSBB = LocalDateTime.of(datePelayanan, timePulangPSBB);
|
||||
} else {
|
||||
datePulangPSBB = LocalDateTime.of(datePelayanan, timePulang);
|
||||
}
|
||||
|
||||
if (map.get("namaShift").toString().contains("Malam")) {
|
||||
datePulang = datePulang.plusDays(1);
|
||||
}
|
||||
|
||||
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||
@ -3957,6 +4050,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_ANESTESI);
|
||||
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
|
||||
List<Integer> drKkPediatrikGDList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PEDIATRIK_GD);
|
||||
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI);
|
||||
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
|
||||
|
||||
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
|
||||
@ -3985,6 +4079,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
|
||||
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
|
||||
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
|
||||
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
|
||||
List<Integer> idsPenunjangBukanAnestesi = splitDataSettingDatafixed("pr_penunjang_nonanestesi");
|
||||
Double komponenDasar = Double.parseDouble(GetSettingDataFixed("ld_komponen_dasar"));
|
||||
Double persenOperator = Double.parseDouble(GetSettingDataFixed("ld_persen_operator"));
|
||||
@ -4205,6 +4300,96 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
datePulang = datePulang.plusDays(1);
|
||||
}
|
||||
|
||||
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||
&& dateTimePelayanan.isBefore(datePulang))) {
|
||||
rawResult.add(map);
|
||||
} else if (map.get("departemenId").equals(Master.Departemen.RAWAT_INAP)
|
||||
&& !Arrays.asList(Master.Ruangan.NONRANAP).contains(map.get("ruanganId"))
|
||||
&& Arrays.stream(Master.KONSUL_VISIT)
|
||||
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains)
|
||||
&& (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang)
|
||||
|| dateTimePelayanan.isAfter(datePulang))) {
|
||||
rawResult.add(map);
|
||||
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang)
|
||||
|| dateTimePelayanan.isAfter(datePulang))
|
||||
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
||||
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
||||
rawResult.add(map);
|
||||
} else if (map.get("departemenId").equals(Master.Departemen.RAWAT_JALAN)
|
||||
&& map.get("namaShift").toString().equals("Non Shift")
|
||||
&& CommonUtil.isNotNullOrEmpty(jamPulangPSBB)
|
||||
&& (dateTimePelayanan.isEqual(PSBBDate) || dateTimePelayanan.isAfter(PSBBDate))
|
||||
&& (dateTimePelayanan.isBefore(PSBBEnd) || dateTimePelayanan.isEqual(PSBBEnd))) {
|
||||
if (((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||
&& dateTimePelayanan.isBefore(datePulangPSBB))) {
|
||||
rawResult.add(map);
|
||||
}
|
||||
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||
&& dateTimePelayanan.isBefore(datePulang))) {
|
||||
rawResult.add(map);
|
||||
}
|
||||
} else if (CommonUtil.isNullOrEmpty(map.get("jamMasuk"))
|
||||
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
||||
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
||||
rawResult.add(map);
|
||||
}
|
||||
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
|
||||
&& drKkPerinatologiList.contains(idPegawai)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(map.get("idProduk").toString()))) {
|
||||
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
||||
|| Master.KelompokPasien.KEMENKES
|
||||
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
||||
|| Master.KelompokPasien.JAMKESDA
|
||||
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) {
|
||||
rawResult.add(map);
|
||||
} else if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) {
|
||||
Date tanggalPelayanan = (Date) map.get("tanggalPelayanan");
|
||||
String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan);
|
||||
String waktuPelayanan = new SimpleDateFormat("HH:mm:ss").format(tanggalPelayanan);
|
||||
LocalDate datePelayanan = LocalDate.parse(tglPelayanan);
|
||||
LocalTime timePelayanan = LocalTime.parse(waktuPelayanan);
|
||||
LocalDateTime dateTimePelayanan = LocalDateTime.of(datePelayanan, timePelayanan);
|
||||
|
||||
String jamMasuk = map.get("jamMasuk").toString().substring(0, 2) + ":"
|
||||
+ map.get("jamMasuk").toString().substring(3) + ":00";
|
||||
LocalTime timeMasuk = LocalTime.parse(jamMasuk);
|
||||
LocalDateTime dateMasuk = LocalDateTime.of(datePelayanan, timeMasuk);
|
||||
|
||||
String jamPulang = map.get("jamPulang").toString().substring(0, 2) + ":"
|
||||
+ map.get("jamPulang").toString().substring(3) + ":00";
|
||||
LocalTime timePulang = LocalTime.parse(jamPulang);
|
||||
LocalDateTime datePulang = LocalDateTime.of(datePelayanan, timePulang);
|
||||
|
||||
String jamPulangPSBB = "";
|
||||
LocalTime timePulangPSBB = LocalTime.now();
|
||||
LocalDateTime datePulangPSBB = LocalDateTime.now();
|
||||
if (getDayOfWeek((Date) map.get("tanggalPelayanan")) == 1
|
||||
|| getDayOfWeek((Date) map.get("tanggalPelayanan")) == 2
|
||||
|| getDayOfWeek((Date) map.get("tanggalPelayanan")) == 3
|
||||
|| getDayOfWeek((Date) map.get("tanggalPelayanan")) == 4) {
|
||||
jamPulangPSBB = "14:00:00";
|
||||
timePulangPSBB = LocalTime.parse(jamPulangPSBB);
|
||||
datePulangPSBB = LocalDateTime.of(datePelayanan, timePulangPSBB);
|
||||
} else if (getDayOfWeek((Date) map.get("tanggalPelayanan")) == 5) {
|
||||
jamPulangPSBB = "14:30:00";
|
||||
timePulangPSBB = LocalTime.parse(jamPulangPSBB);
|
||||
datePulangPSBB = LocalDateTime.of(datePelayanan, timePulangPSBB);
|
||||
} else {
|
||||
datePulangPSBB = LocalDateTime.of(datePelayanan, timePulang);
|
||||
}
|
||||
|
||||
if (map.get("namaShift").toString().contains("Malam")) {
|
||||
datePulang = datePulang.plusDays(1);
|
||||
}
|
||||
|
||||
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||
@ -5113,6 +5298,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
List<Integer> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
|
||||
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
|
||||
List<Integer> drKkPediatrikGDList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PEDIATRIK_GD);
|
||||
List<Integer> drKkPerinatologiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_PERINATOLOGI);
|
||||
|
||||
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
|
||||
List<Integer> idsRegDJPMedisUtama = splitDataSettingDatafixed("medis_utama");
|
||||
@ -5145,6 +5331,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
|
||||
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
|
||||
List<Integer> idsDokterPediatrikGD = splitDataSettingDatafixed("pr_dokter_pediatrik_gd");
|
||||
List<Integer> idsDokterPerinatologi = splitDataSettingDatafixed("pr_dokter_perinatologi");
|
||||
|
||||
if (!ffs) {
|
||||
if (CommonUtil.isNotNullOrEmpty(listData)) {
|
||||
@ -5598,6 +5785,203 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
|
||||
&& drKkPerinatologiList.contains(idPegawai)
|
||||
&& idsDokterPerinatologi.contains(Integer.parseInt(map.get("idProduk").toString()))) {
|
||||
if (Master.KelompokPasien.BPJS
|
||||
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
||||
|| Master.KelompokPasien.KEMENKES
|
||||
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
||||
|| Master.KelompokPasien.JAMKESDA
|
||||
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) {
|
||||
if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || statusDiskon.equals(0))) {
|
||||
if (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon"))
|
||||
|| Integer.valueOf(map.get("statusDiskon").toString()).equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
} else {
|
||||
if (Double.valueOf(map.get("diskon").toString()) == 0
|
||||
|| (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) && !Integer
|
||||
.valueOf(map.get("statusDiskon").toString()).equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) {
|
||||
Date tanggalPelayanan = (Date) map.get("tanggalPelayanan");
|
||||
String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan);
|
||||
String waktuPelayanan = new SimpleDateFormat("HH:mm:ss").format(tanggalPelayanan);
|
||||
LocalDate datePelayanan = LocalDate.parse(tglPelayanan);
|
||||
LocalTime timePelayanan = LocalTime.parse(waktuPelayanan);
|
||||
LocalDateTime dateTimePelayanan = LocalDateTime.of(datePelayanan, timePelayanan);
|
||||
|
||||
String jamMasuk = map.get("jamMasuk").toString().substring(0, 2) + ":"
|
||||
+ map.get("jamMasuk").toString().substring(3) + ":00";
|
||||
LocalTime timeMasuk = LocalTime.parse(jamMasuk);
|
||||
LocalDateTime dateMasuk = LocalDateTime.of(datePelayanan, timeMasuk);
|
||||
|
||||
String jamPulang = map.get("jamPulang").toString().substring(0, 2) + ":"
|
||||
+ map.get("jamPulang").toString().substring(3) + ":00";
|
||||
LocalTime timePulang = LocalTime.parse(jamPulang);
|
||||
LocalDateTime datePulang = LocalDateTime.of(datePelayanan, timePulang);
|
||||
|
||||
String jamPulangPSBB = "";
|
||||
LocalTime timePulangPSBB = LocalTime.now();
|
||||
LocalDateTime datePulangPSBB = LocalDateTime.now();
|
||||
if (getDayOfWeek((Date) map.get("tanggalPelayanan")) == 1
|
||||
|| getDayOfWeek((Date) map.get("tanggalPelayanan")) == 2
|
||||
|| getDayOfWeek((Date) map.get("tanggalPelayanan")) == 3
|
||||
|| getDayOfWeek((Date) map.get("tanggalPelayanan")) == 4) {
|
||||
jamPulangPSBB = "14:00:00";
|
||||
timePulangPSBB = LocalTime.parse(jamPulangPSBB);
|
||||
datePulangPSBB = LocalDateTime.of(datePelayanan, timePulangPSBB);
|
||||
} else if (getDayOfWeek((Date) map.get("tanggalPelayanan")) == 5) {
|
||||
jamPulangPSBB = "14:30:00";
|
||||
timePulangPSBB = LocalTime.parse(jamPulangPSBB);
|
||||
datePulangPSBB = LocalDateTime.of(datePelayanan, timePulangPSBB);
|
||||
} else {
|
||||
datePulangPSBB = LocalDateTime.of(datePelayanan, timePulang);
|
||||
}
|
||||
|
||||
if (map.get("namaShift").toString().contains("Malam")) {
|
||||
datePulang = datePulang.plusDays(1);
|
||||
}
|
||||
|
||||
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& ((dateTimePelayanan.isEqual(dateMasuk)
|
||||
|| dateTimePelayanan.isAfter(dateMasuk))
|
||||
&& dateTimePelayanan.isBefore(datePulang))) {
|
||||
if (diskon > 0
|
||||
&& (CommonUtil.isNullOrEmpty(statusDiskon) || statusDiskon.equals(0))) {
|
||||
if (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer
|
||||
.valueOf(map.get("statusDiskon").toString()).equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
} else {
|
||||
if (Double.valueOf(map.get("diskon").toString()) == 0
|
||||
|| (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& CommonUtil.isNotNullOrEmpty(map.get("statusDiskon"))
|
||||
&& !Integer.valueOf(map.get("statusDiskon").toString())
|
||||
.equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
} else if (map.get("departemenId").equals(Master.Departemen.RAWAT_INAP)
|
||||
&& !Arrays.asList(Master.Ruangan.NONRANAP).contains(map.get("ruanganId"))
|
||||
&& Arrays.stream(Master.KONSUL_VISIT)
|
||||
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains)
|
||||
&& (dateTimePelayanan.isBefore(dateMasuk)
|
||||
|| dateTimePelayanan.isEqual(datePulang)
|
||||
|| dateTimePelayanan.isAfter(datePulang))) {
|
||||
if (diskon > 0
|
||||
&& (CommonUtil.isNullOrEmpty(statusDiskon) || statusDiskon.equals(0))) {
|
||||
if (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer
|
||||
.valueOf(map.get("statusDiskon").toString()).equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
} else {
|
||||
if (Double.valueOf(map.get("diskon").toString()) == 0
|
||||
|| (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& CommonUtil.isNotNullOrEmpty(map.get("statusDiskon"))
|
||||
&& !Integer.valueOf(map.get("statusDiskon").toString())
|
||||
.equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& (dateTimePelayanan.isBefore(dateMasuk)
|
||||
|| dateTimePelayanan.isEqual(datePulang)
|
||||
|| dateTimePelayanan.isAfter(datePulang))
|
||||
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
||||
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
||||
if (diskon > 0
|
||||
&& (CommonUtil.isNullOrEmpty(statusDiskon) || statusDiskon.equals(0))) {
|
||||
if (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer
|
||||
.valueOf(map.get("statusDiskon").toString()).equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
} else {
|
||||
if (Double.valueOf(map.get("diskon").toString()) == 0
|
||||
|| (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& CommonUtil.isNotNullOrEmpty(map.get("statusDiskon"))
|
||||
&& !Integer.valueOf(map.get("statusDiskon").toString())
|
||||
.equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
} else if (map.get("departemenId").equals(Master.Departemen.RAWAT_JALAN)
|
||||
&& map.get("namaShift").toString().equals("Non Shift")
|
||||
&& CommonUtil.isNotNullOrEmpty(jamPulangPSBB)
|
||||
&& (dateTimePelayanan.isEqual(PSBBDate) || dateTimePelayanan.isAfter(PSBBDate))
|
||||
&& (dateTimePelayanan.isBefore(PSBBEnd)
|
||||
|| dateTimePelayanan.isEqual(PSBBEnd))) {
|
||||
if (((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||
&& dateTimePelayanan.isBefore(datePulangPSBB))) {
|
||||
if (diskon > 0
|
||||
&& (CommonUtil.isNullOrEmpty(statusDiskon) || statusDiskon.equals(0))) {
|
||||
if (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer
|
||||
.valueOf(map.get("statusDiskon").toString()).equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
} else {
|
||||
if (Double.valueOf(map.get("diskon").toString()) == 0
|
||||
|| (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& CommonUtil.isNotNullOrEmpty(map.get("statusDiskon"))
|
||||
&& !Integer.valueOf(map.get("statusDiskon").toString())
|
||||
.equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& ((dateTimePelayanan.isEqual(dateMasuk)
|
||||
|| dateTimePelayanan.isAfter(dateMasuk))
|
||||
&& dateTimePelayanan.isBefore(datePulang))) {
|
||||
if (diskon > 0
|
||||
&& (CommonUtil.isNullOrEmpty(statusDiskon) || statusDiskon.equals(0))) {
|
||||
if (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer
|
||||
.valueOf(map.get("statusDiskon").toString()).equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
} else {
|
||||
if (Double.valueOf(map.get("diskon").toString()) == 0
|
||||
|| (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& CommonUtil.isNotNullOrEmpty(map.get("statusDiskon"))
|
||||
&& !Integer.valueOf(map.get("statusDiskon").toString())
|
||||
.equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (CommonUtil.isNullOrEmpty(map.get("jamMasuk"))
|
||||
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
||||
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
||||
if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || statusDiskon.equals(0))) {
|
||||
if (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon"))
|
||||
|| Integer.valueOf(map.get("statusDiskon").toString()).equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
} else {
|
||||
if (Double.valueOf(map.get("diskon").toString()) == 0
|
||||
|| (Double.valueOf(map.get("diskon").toString()) > 0
|
||||
&& CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) && !Integer
|
||||
.valueOf(map.get("statusDiskon").toString()).equals(0))) {
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
|
||||
&& listDetailJenisProdukException
|
||||
.contains(Integer.parseInt(map.get("detailId").toString()))) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user