Update IndekKinerjaServiceImpl.java

Perbaikan fitur cari logbook poin untuk dokter anestesi tindakan mandiri di radiologi
This commit is contained in:
Salman Manoe 2023-06-14 08:35:47 +07:00
parent 3867ba0bd9
commit 99cec79e44

View File

@ -3053,6 +3053,99 @@ 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_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)
.contains(Integer.parseInt(map.get("departemenId").toString()))
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
@ -8292,8 +8385,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
.contains(Integer.parseInt(map.get("detailId").toString()))
&& !idsRegDJPPenunjangPK.contains(
Integer.parseInt(map.get("detailId").toString()))) {
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL).contains(
Integer.parseInt(map.get("departemenId").toString()))) {
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL)
.contains(Integer.parseInt(
map.get("departemenId").toString()))) {
if (map.get("ruanganId")
.equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY)
&& idsKonsultasiDokterJaga
@ -8336,8 +8430,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
.contains(Integer.parseInt(map.get("detailId").toString()))
&& !idsRegDJPPenunjangPK.contains(
Integer.parseInt(map.get("detailId").toString()))) {
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL).contains(
Integer.parseInt(map.get("departemenId").toString()))) {
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL)
.contains(Integer.parseInt(
map.get("departemenId").toString()))) {
if (map.get("ruanganId")
.equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY)
&& idsKonsultasiDokterJaga
@ -9111,8 +9206,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
.contains(Integer.parseInt(map.get("detailId").toString()))
&& !idsRegDJPPenunjangPK.contains(
Integer.parseInt(map.get("detailId").toString()))) {
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL).contains(
Integer.parseInt(map.get("departemenId").toString()))) {
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL)
.contains(Integer.parseInt(
map.get("departemenId").toString()))) {
if (map.get("ruanganId")
.equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY)
&& idsKonsultasiDokterJaga
@ -9155,8 +9251,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
.contains(Integer.parseInt(map.get("detailId").toString()))
&& !idsRegDJPPenunjangPK.contains(
Integer.parseInt(map.get("detailId").toString()))) {
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL).contains(
Integer.parseInt(map.get("departemenId").toString()))) {
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN_ALL)
.contains(Integer.parseInt(
map.get("departemenId").toString()))) {
if (map.get("ruanganId")
.equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY)
&& idsKonsultasiDokterJaga