Update IndekKinerjaServiceImpl.java
Penyesuaian aturan remun logbook poin kk eria, kk perina, dan perbaikan di radiologi untuk tindakan mandiri dokter anestesi
This commit is contained in:
parent
1b5b14210b
commit
de9b69b896
@ -4731,6 +4731,99 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
|||||||
datePulang = datePulang.plusDays(1);
|
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_ALL)
|
||||||
|
.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 (drAnastesiList.contains(idPegawai)
|
||||||
|
&& (idsPenunjangBukanAnestesi.contains(Integer.parseInt(map.get("idProduk").toString()))
|
||||||
|
|| (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA
|
||||||
|
.equals(Integer.parseInt(map.get("idJenisPelaksana").toString()))
|
||||||
|
&& Master.Departemen.RADIOLOGI
|
||||||
|
.equals(Integer.parseInt(map.get("departemenId").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)
|
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||||
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||||
@ -7353,7 +7446,10 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
|||||||
LocalDateTime PSBBDate = LocalDateTime.of(2020, 9, 14, 0, 0, 0);
|
LocalDateTime PSBBDate = LocalDateTime.of(2020, 9, 14, 0, 0, 0);
|
||||||
LocalDateTime PSBBEnd = LocalDateTime.parse(GetSettingDataFixed("psbbperiod"), dtf);
|
LocalDateTime PSBBEnd = LocalDateTime.parse(GetSettingDataFixed("psbbperiod"), dtf);
|
||||||
|
|
||||||
|
List<Integer> drAnastesiList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_ANESTESI);
|
||||||
List<Integer> drKsmUmumList = pegawaiDao.getDokterByKelompokKerja(Master.SubUnitKerja.KK_UMUM);
|
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> laboranRadiologList = mapPegawaiLaboratRadiologiDao.findPegawaiLaboranRadiolog();
|
||||||
|
|
||||||
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
|
List<Integer> idsRegDJPAdminNonPK = splitDataSettingDatafixed("admin_nonpk");
|
||||||
@ -7381,19 +7477,14 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
|||||||
idPegawai, Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
|
idPegawai, Master.JenisPetugasPelaksana.PETUGAS_PELAKSANA, periode);
|
||||||
|
|
||||||
List<Integer> idsDokterUmumIGD = splitDataSettingDatafixed("pr_dokter_umum_igd");
|
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");
|
||||||
|
|
||||||
if (CommonUtil.isNotNullOrEmpty(listData)) {
|
if (CommonUtil.isNotNullOrEmpty(listData)) {
|
||||||
for (Map<String, Object> map : listData) {
|
for (Map<String, Object> map : listData) {
|
||||||
if (listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))) {
|
if (drKkPediatrikGDList.contains(map.get("idPegawai"))) {
|
||||||
if (idsRegDJPPenunjangPA.contains(Integer.parseInt(map.get("detailId").toString()))
|
if (idsDokterPediatrikGD.contains(map.get("idProduk"))) {
|
||||||
|| idsRegDJPPenunjangPK.contains(Integer.parseInt(map.get("detailId").toString()))) {
|
|
||||||
rawResult.add(map);
|
|
||||||
} else 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);
|
rawResult.add(map);
|
||||||
} else if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) {
|
} else if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) {
|
||||||
Date tanggalPelayanan = (Date) map.get("tanggalPelayanan");
|
Date tanggalPelayanan = (Date) map.get("tanggalPelayanan");
|
||||||
@ -7413,251 +7504,484 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
|
|||||||
LocalTime timePulang = LocalTime.parse(jamPulang);
|
LocalTime timePulang = LocalTime.parse(jamPulang);
|
||||||
LocalDateTime datePulang = LocalDateTime.of(datePelayanan, timePulang);
|
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")) {
|
if (map.get("namaShift").toString().contains("Malam")) {
|
||||||
datePulang = datePulang.plusDays(1);
|
datePulang = datePulang.plusDays(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL)
|
||||||
.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_ALL)
|
|
||||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||||
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||||
&& (dateTimePelayanan.isBefore(datePulang)))) {
|
&& (dateTimePelayanan.isBefore(datePulang)))) {
|
||||||
rawResult.add(map);
|
rawResult.add(map);
|
||||||
}
|
}
|
||||||
} else if (CommonUtil.isNullOrEmpty(map.get("jamMasuk"))
|
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||||
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
.contains(Integer.parseInt(map.get("departemenId").toString()))) {
|
||||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
if (map.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)
|
||||||
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
&& map.get("idPegawai").toString().equals(map.get("idDPJP"))) {
|
||||||
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
rawResult.add(map);
|
||||||
rawResult.add(map);
|
}
|
||||||
}
|
}
|
||||||
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
|
} else if (!drKkPediatrikGDList.contains(map.get("idPegawai"))) {
|
||||||
&& map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai)
|
if (listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))) {
|
||||||
&& idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
|
if (idsRegDJPPenunjangPA.contains(Integer.parseInt(map.get("detailId").toString()))
|
||||||
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
|| idsRegDJPPenunjangPK.contains(Integer.parseInt(map.get("detailId").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))
|
|
||||||
&& dateTimePelayanan.isBefore(datePulang))) {
|
|
||||||
rawResult.add(map);
|
rawResult.add(map);
|
||||||
} else if (map.get("departemenId").equals(Master.Departemen.RAWAT_INAP)
|
} else if (Master.KelompokPasien.BPJS
|
||||||
&& !Arrays.asList(Master.Ruangan.NONRANAP).contains(map.get("ruanganId"))
|
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
||||||
&& Arrays.stream(Master.KONSUL_VISIT)
|
|| Master.KelompokPasien.KEMENKES
|
||||||
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains)
|
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
||||||
&& (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang)
|
|| Master.KelompokPasien.JAMKESDA
|
||||||
|| dateTimePelayanan.isAfter(datePulang))) {
|
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))) {
|
||||||
rawResult.add(map);
|
rawResult.add(map);
|
||||||
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
} else if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) {
|
||||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
Date tanggalPelayanan = (Date) map.get("tanggalPelayanan");
|
||||||
&& (dateTimePelayanan.isBefore(dateMasuk) || dateTimePelayanan.isEqual(datePulang)
|
String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan);
|
||||||
|| dateTimePelayanan.isAfter(datePulang))
|
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))) {
|
||||||
|
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_ALL)
|
||||||
|
.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)
|
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
||||||
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
||||||
rawResult.add(map);
|
rawResult.add(map);
|
||||||
} else if (map.get("departemenId").equals(Master.Departemen.RAWAT_JALAN)
|
}
|
||||||
&& map.get("namaShift").toString().equals("Non Shift")
|
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
|
||||||
&& CommonUtil.isNotNullOrEmpty(jamPulangPSBB)
|
&& map.get("departemenId").equals(Master.Departemen.IGD)
|
||||||
&& (dateTimePelayanan.isEqual(PSBBDate) || dateTimePelayanan.isAfter(PSBBDate))
|
&& drKsmUmumList.contains(idPegawai)
|
||||||
&& (dateTimePelayanan.isBefore(PSBBEnd) || dateTimePelayanan.isEqual(PSBBEnd))) {
|
&& idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
|
||||||
if (((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
||||||
&& dateTimePelayanan.isBefore(datePulangPSBB))) {
|
|| 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))
|
||||||
|
&& 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_ALL)
|
||||||
|
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||||
|
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||||
|
&& dateTimePelayanan.isBefore(datePulang))) {
|
||||||
rawResult.add(map);
|
rawResult.add(map);
|
||||||
}
|
}
|
||||||
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL)
|
} else if (CommonUtil.isNullOrEmpty(map.get("jamMasuk"))
|
||||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||||
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||||
&& 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 (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
|
|
||||||
&& listDetailJenisProdukException.contains(Integer.parseInt(map.get("detailId").toString()))) {
|
|
||||||
if (idsRegDJPPenunjangPA.contains(Integer.parseInt(map.get("detailId").toString()))
|
|
||||||
|| idsRegDJPPenunjangPK.contains(Integer.parseInt(map.get("detailId").toString()))) {
|
|
||||||
rawResult.add(map);
|
|
||||||
} else 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))
|
|
||||||
&& 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)
|
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
||||||
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
||||||
rawResult.add(map);
|
rawResult.add(map);
|
||||||
} else if (map.get("departemenId").equals(Master.Departemen.RAWAT_JALAN)
|
}
|
||||||
&& map.get("namaShift").toString().equals("Non Shift")
|
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
|
||||||
&& CommonUtil.isNotNullOrEmpty(jamPulangPSBB)
|
&& drKkPerinatologiList.contains(idPegawai)
|
||||||
&& (dateTimePelayanan.isEqual(PSBBDate) || dateTimePelayanan.isAfter(PSBBDate))
|
&& idsDokterPerinatologi.contains(Integer.parseInt(map.get("idProduk").toString()))) {
|
||||||
&& (dateTimePelayanan.isBefore(PSBBEnd) || dateTimePelayanan.isEqual(PSBBEnd))) {
|
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|
||||||
if (((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
|| Master.KelompokPasien.KEMENKES
|
||||||
&& dateTimePelayanan.isBefore(datePulangPSBB))) {
|
.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))
|
||||||
|
&& 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_ALL)
|
||||||
|
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||||
|
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||||
|
&& dateTimePelayanan.isBefore(datePulang))) {
|
||||||
rawResult.add(map);
|
rawResult.add(map);
|
||||||
}
|
}
|
||||||
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL)
|
} else if (CommonUtil.isNullOrEmpty(map.get("jamMasuk"))
|
||||||
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
||||||
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||||
&& dateTimePelayanan.isBefore(datePulang))) {
|
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
||||||
|
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
||||||
rawResult.add(map);
|
rawResult.add(map);
|
||||||
}
|
}
|
||||||
} else if (CommonUtil.isNullOrEmpty(map.get("jamMasuk"))
|
} else if (drAnastesiList.contains(idPegawai)
|
||||||
&& Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
|
&& (idsPenunjangBukanAnestesi.contains(Integer.parseInt(map.get("idProduk").toString()))
|
||||||
|
|| (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA
|
||||||
|
.equals(Integer.parseInt(map.get("idJenisPelaksana").toString()))
|
||||||
|
&& Master.Departemen.RADIOLOGI
|
||||||
|
.equals(Integer.parseInt(map.get("departemenId").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()))
|
.contains(Integer.parseInt(map.get("departemenId").toString()))
|
||||||
&& Arrays.asList(Master.Kelas.KELAS_DUA_TIGA_NONKELAS)
|
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
|
||||||
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
|
&& dateTimePelayanan.isBefore(datePulang))) {
|
||||||
rawResult.add(map);
|
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_ALL)
|
||||||
|
.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 (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
|
||||||
|
&& listDetailJenisProdukException
|
||||||
|
.contains(Integer.parseInt(map.get("detailId").toString()))) {
|
||||||
|
if (idsRegDJPPenunjangPA.contains(Integer.parseInt(map.get("detailId").toString()))
|
||||||
|
|| idsRegDJPPenunjangPK.contains(Integer.parseInt(map.get("detailId").toString()))) {
|
||||||
|
rawResult.add(map);
|
||||||
|
} else 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))
|
||||||
|
&& 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_ALL)
|
||||||
|
.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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user