Merge remote-tracking branch 'remotes/origin/master' into bridging

This commit is contained in:
salmanoe 2023-01-05 13:05:45 +07:00
commit 067044596c
2 changed files with 549 additions and 457 deletions

View File

@ -136,10 +136,10 @@ public interface RevIndekKinerjaDao extends PagingAndSortingRepository<IndekKine
+ "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tanggal, "
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "
+ "pasienDaftar.kelompokPasienId as kelompokPasienId, " + "pasienDaftar.rekananId as rekananId, "
+ "pasienDaftar.diskonPegawai as statusDiskon, " + "kategoryPegawai.id as kategoryPegawaiId, "
+ "departemen.id as departemenId, " + "ruangan.id as ruanganId, "
+ "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, " + "shift.jamMasuk as jamMasuk, "
+ "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
+ "pasienDaftar.diskonPegawai as statusDiskon, " + "antrian.pegawaiId as idDPJP, "
+ "kategoryPegawai.id as kategoryPegawaiId, " + "departemen.id as departemenId, "
+ "ruangan.id as ruanganId, " + "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
+ "from PelayananPasienPetugas pelayananPasienPetugas, " + "PegawaiJadwalKerja jadwalKerja, "
+ "Kalender kalender, " + "ShiftKerja shift "
+ "left join pelayananPasienPetugas.pelayananPasien pelayananPasien "
@ -193,10 +193,11 @@ public interface RevIndekKinerjaDao extends PagingAndSortingRepository<IndekKine
+ "dokter.id as idPegawai," + "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tglpel,"
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "
+ "pasienDaftar.kelompokPasienId as kelompokPasienId," + "pasienDaftar.rekananId as rekananId,"
+ "pasienDaftar.diskonPegawai as statusDiskon, " + "kategoryPegawai.id as kategoryPegawaiId, "
+ "kelas.id as idKelas," + "jenisPetugas.jenisPetugasPe as jenisPetugas, "
+ "departemen.id as departemenId, " + "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, "
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
+ "pasienDaftar.diskonPegawai as statusDiskon, " + "antrian.pegawaiId as idDPJP, "
+ "kategoryPegawai.id as kategoryPegawaiId, " + "kelas.id as idKelas,"
+ "jenisPetugas.jenisPetugasPe as jenisPetugas, " + "departemen.id as departemenId, "
+ "to_char(kalender.tanggal, 'yyyy-MM-dd') as tanggalKalender, " + "shift.jamMasuk as jamMasuk, "
+ "shift.jamPulang as jamPulang, " + "shift.namaShift as namaShift) "
+ "from PelayananPasienPetugas pelayananPasienPetugas, " + "PegawaiJadwalKerja jadwalKerja, "
+ "Kalender kalender, " + "ShiftKerja shift "
+ "left join pelayananPasienPetugas.pelayananPasien pelayananPasien "

View File

@ -19,7 +19,6 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.joda.time.Chronology;
import org.joda.time.chrono.ISOChronology;
@ -32,7 +31,6 @@ import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.CustomIndexKerjaDao;
import com.jasamedika.medifirst2000.dao.DetailLogbookDokterDao;
import com.jasamedika.medifirst2000.dao.HargaNettoProdukByKelasDDao;
import com.jasamedika.medifirst2000.dao.IkiDanRemunerasiDao;
import com.jasamedika.medifirst2000.dao.IndekKinerjaDao;
import com.jasamedika.medifirst2000.dao.IndeksKinerjaIndividuDao;
@ -171,9 +169,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
@Autowired
private DetailLogbookDokterDao detailLogbookDokterDao;
@Autowired
private HargaNettoProdukByKelasDDao detailHargaNettoDao;
@Autowired
private PelayananPasienDetailDao pelayananPasienDetailDao;
@ -1726,8 +1721,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
if (CommonUtil.isNotNullOrEmpty(data.get("tanggal"))) {
Calendar cal = Calendar.getInstance();
cal.setTime((Date) data.get("tanggal"));
int month = cal.get(cal.MONTH) + 1;
data.put("date", +month + "/" + cal.get(cal.DATE) + "/" + cal.get(cal.YEAR));
int month = cal.get(Calendar.MONTH) + 1;
data.put("date", +month + "/" + cal.get(Calendar.DATE) + "/" + cal.get(Calendar.YEAR));
}
}
return result;
@ -2777,18 +2772,51 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
// LOGIC_RULES_REMUN
if (CommonUtil.isNotNullOrEmpty(listData)) {
for (Map<String, Object> map : listData) {
if (drKkPediatrikGDList.contains(map.get("idPegawai"))) {
if (idsDokterPediatrikGD.contains(map.get("idProduk"))) {
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);
if (map.get("namaShift").toString().contains("Malam")) {
datePulang = datePulang.plusDays(1);
}
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 (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
.contains(Integer.parseInt(map.get("departemenId").toString()))) {
if (map.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)
&& map.get("idPegawai").toString().equals(map.get("idDPJP"))) {
rawResult.add(map);
}
}
} else if (!drKkPediatrikGDList.contains(map.get("idPegawai"))) {
if (listDetailJenisProduk.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 ((drKkPediatrikGDList.contains(idPegawai)
&& idsDokterPediatrikGD.contains(Integer.parseInt(map.get("idProduk").toString()))
&& Master.Ruangan.ICU.equals(map.get("ruanganId")))
|| (drKkPediatrikGDList.contains(idPegawai) && Arrays.stream(Master.KONSUL_VISIT)
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains))) {
rawResult.add(map);
} else if (!drKkPediatrikGDList.contains(idPegawai)) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
} 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
@ -2875,9 +2903,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
rawResult.add(map);
}
}
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai)
&& map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|| Master.KelompokPasien.KEMENKES
@ -2967,18 +2995,13 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
rawResult.add(map);
}
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
&& listDetailJenisProdukException.contains(Integer.parseInt(map.get("detailId").toString()))) {
&& 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 ((drKkPediatrikGDList.contains(idPegawai)
&& idsDokterPediatrikGD.contains(Integer.parseInt(map.get("idProduk").toString()))
&& Master.Ruangan.ICU.equals(map.get("ruanganId")))
|| (drKkPediatrikGDList.contains(idPegawai) && Arrays.stream(Master.KONSUL_VISIT)
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains))) {
rawResult.add(map);
} else if (!drKkPediatrikGDList.contains(idPegawai)) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
} 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
@ -4000,18 +4023,51 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
// LOGIC_RULES_REMUN
if (CommonUtil.isNotNullOrEmpty(listData)) {
for (Map<String, Object> map : listData) {
if (drKkPediatrikGDList.contains(map.get("idPegawai"))) {
if (idsDokterPediatrikGD.contains(map.get("idProduk"))) {
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);
if (map.get("namaShift").toString().contains("Malam")) {
datePulang = datePulang.plusDays(1);
}
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 (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
.contains(Integer.parseInt(map.get("departemenId").toString()))) {
if (map.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)
&& map.get("idPegawai").toString().equals(map.get("idDPJP"))) {
rawResult.add(map);
}
}
} else if (!drKkPediatrikGDList.contains(map.get("idPegawai"))) {
if (listDetailJenisProduk.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 ((drKkPediatrikGDList.contains(idPegawai)
&& idsDokterPediatrikGD.contains(Integer.parseInt(map.get("idProduk").toString()))
&& Master.Ruangan.ICU.equals(map.get("ruanganId")))
|| (drKkPediatrikGDList.contains(idPegawai) && Arrays.stream(Master.KONSUL_VISIT)
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains))) {
rawResult.add(map);
} else if (!drKkPediatrikGDList.contains(idPegawai)) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
} 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
@ -4099,9 +4155,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
.contains(Integer.parseInt(map.get("idKelas").toString()))) {
rawResult.add(map);
}
}
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai)
&& map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|| Master.KelompokPasien.KEMENKES
@ -4191,18 +4247,13 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
rawResult.add(map);
}
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
&& listDetailJenisProdukException.contains(Integer.parseInt(map.get("detailId").toString()))) {
&& 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 ((drKkPediatrikGDList.contains(idPegawai)
&& idsDokterPediatrikGD.contains(Integer.parseInt(map.get("idProduk").toString()))
&& Master.Ruangan.ICU.equals(map.get("ruanganId")))
|| (drKkPediatrikGDList.contains(idPegawai) && Arrays.stream(Master.KONSUL_VISIT)
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains))) {
rawResult.add(map);
} else if (!drKkPediatrikGDList.contains(idPegawai)) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
} 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
@ -5098,30 +5149,261 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
if (!ffs) {
if (CommonUtil.isNotNullOrEmpty(listData)) {
for (Map<String, Object> map : listData) {
if (drKkPediatrikGDList.contains(map.get("idPegawai"))) {
if (idsDokterPediatrikGD.contains(map.get("idProduk"))) {
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);
if (map.get("namaShift").toString().contains("Malam")) {
datePulang = datePulang.plusDays(1);
}
if (Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN)
.contains(Integer.parseInt(map.get("departemenId").toString()))
&& ((dateTimePelayanan.isEqual(dateMasuk) || dateTimePelayanan.isAfter(dateMasuk))
&& dateTimePelayanan.isBefore(datePulang))) {
result.add(map);
}
} else if (Arrays.asList(Master.Departemen.GRUP_RAWAT_INAP)
.contains(Integer.parseInt(map.get("departemenId").toString()))) {
if (map.get("namaProduk").toString().toLowerCase().contains(Master.VISIT)
&& map.get("idPegawai").toString().equals(map.get("idDPJP"))) {
result.add(map);
}
}
} else if (!drKkPediatrikGDList.contains(map.get("idPegawai"))) {
if (listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))) {
if (idsRegDJPPenunjangPA.contains(Integer.parseInt(map.get("detailId").toString()))
|| idsRegDJPPenunjangPK.contains(Integer.parseInt(map.get("detailId").toString()))) {
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(map.get("detailId").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 (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))) {
&& !Integer.valueOf(map.get("statusDiskon").toString())
.equals(0))) {
result.add(map);
}
}
} else if ((drKkPediatrikGDList.contains(idPegawai)
&& idsDokterPediatrikGD.contains(Integer.parseInt(map.get("idProduk").toString()))
&& Master.Ruangan.ICU.equals(map.get("ruanganId")))
|| (drKkPediatrikGDList.contains(idPegawai) && Arrays.stream(Master.KONSUL_VISIT)
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains))) {
} 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 (!drKkPediatrikGDList.contains(idPegawai)) {
}
} 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 (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (Master.KelompokPasien.BPJS
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|| Master.KelompokPasien.KEMENKES
@ -5316,196 +5598,12 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
}
}
}
}
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD.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()))) {
if (idsRegDJPPenunjangPA.contains(Integer.parseInt(map.get("detailId").toString()))
|| idsRegDJPPenunjangPK.contains(Integer.parseInt(map.get("detailId").toString()))) {
|| idsRegDJPPenunjangPK
.contains(Integer.parseInt(map.get("detailId").toString()))) {
if (diskon > 0 && (CommonUtil.isNullOrEmpty(statusDiskon) || statusDiskon.equals(0))) {
if (Double.valueOf(map.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon"))
@ -5515,19 +5613,12 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} 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))) {
&& CommonUtil.isNotNullOrEmpty(map.get("statusDiskon")) && !Integer
.valueOf(map.get("statusDiskon").toString()).equals(0))) {
result.add(map);
}
}
} else if ((drKkPediatrikGDList.contains(idPegawai)
&& idsDokterPediatrikGD.contains(Integer.parseInt(map.get("idProduk").toString()))
&& Master.Ruangan.ICU.equals(map.get("ruanganId")))
|| (drKkPediatrikGDList.contains(idPegawai) && Arrays.stream(Master.KONSUL_VISIT)
.anyMatch(map.get("namaProduk").toString().toLowerCase()::contains))) {
result.add(map);
} else if (!drKkPediatrikGDList.contains(idPegawai)) {
if (Master.KelompokPasien.BPJS
} else if (Master.KelompokPasien.BPJS
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|| Master.KelompokPasien.KEMENKES
.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))