Update PelayananPasienServiceImpl.java
Perbaikan logbook dokter remun baru untuk pencegahan semua data bernilai null
This commit is contained in:
parent
cec06a965a
commit
9bf3c3ae09
@ -474,14 +474,20 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
listData = listData.stream().filter(d -> !Master.JenisProduk.OBAT_ALKES.equals(d.get("idJenisProduk")))
|
listData = listData.stream().filter(d -> !Master.JenisProduk.OBAT_ALKES.equals(d.get("idJenisProduk")))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
/*
|
/*
|
||||||
* Mapping persentase jasa remunerasi dan harga jasa remunerasi
|
* Mapping set awal persentase jasa remunerasi dan harga jasa remunerasi
|
||||||
*/
|
*/
|
||||||
for (Map<String, Object> d : listData)
|
for (Map<String, Object> d : listData)
|
||||||
if (CommonUtil.isNotNullOrEmpty(d.get("totalDiskon"))
|
if (CommonUtil.isNotNullOrEmpty(d.get("totalDiskon"))
|
||||||
&& Double.parseDouble(d.get("totalDiskon").toString()) > 0.0) {
|
&& Double.parseDouble(d.get("totalDiskon").toString()) > 0.0) {
|
||||||
|
/*
|
||||||
|
* Untuk diskon jasa medis oleh dpjp
|
||||||
|
*/
|
||||||
d.put("hargaJasa", 0.0);
|
d.put("hargaJasa", 0.0);
|
||||||
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||||
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
|
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
|
||||||
|
/*
|
||||||
|
* Set harga jasa pasien bpjs di ibs
|
||||||
|
*/
|
||||||
double persenTarif = persenTarifJasaBedah / 100;
|
double persenTarif = persenTarifJasaBedah / 100;
|
||||||
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
double persenJasa = persenOperatorIBS / 100;
|
double persenJasa = persenOperatorIBS / 100;
|
||||||
@ -494,6 +500,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
d.put("hargaJasa", persenJasa * persenTarif * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenJasa * persenTarif * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
}
|
}
|
||||||
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
|
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
|
||||||
|
/*
|
||||||
|
* Set harga jasa di ibs selain pasien bpjs
|
||||||
|
*/
|
||||||
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
d.put("hargaJasa", persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
@ -544,7 +553,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
for (Map<String, Object> d : rawDataBpjs0)
|
for (Map<String, Object> d : rawDataBpjs0)
|
||||||
if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||||
&& listIdPelayananPasien.contains(d.get("idPelayananPasien").toString())) {
|
&& listIdPelayananPasien.contains(d.get("idPelayananPasien"))) {
|
||||||
rawDataBpjs1.add(d);
|
rawDataBpjs1.add(d);
|
||||||
} else if (!Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
|
} else if (!Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
|
||||||
rawDataBpjs1.add(d);
|
rawDataBpjs1.add(d);
|
||||||
@ -560,13 +569,16 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
.filter(d -> !Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|
.filter(d -> !Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|
||||||
&& !Master.Ruangan.NICU.equals(d.get("idRuangan"))
|
&& !Master.Ruangan.NICU.equals(d.get("idRuangan"))
|
||||||
&& Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk")))
|
&& Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk")))
|
||||||
.sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan"))).collect(Collectors.toList());
|
.sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan"),
|
||||||
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
|
.collect(Collectors.toList());
|
||||||
List<String> listIdPelayananPasien = new ArrayList<>();
|
List<String> listIdPelayananPasien = new ArrayList<>();
|
||||||
List<LocalDate> listLocalDate = new ArrayList<>();
|
List<LocalDate> listLocalDate = new ArrayList<>();
|
||||||
LocalDate startDate = tglAwal.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
LocalDate startDate = tglAwal.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||||
LocalDate endDate = tglAkhir.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
LocalDate endDate = tglAkhir.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||||
for (LocalDate dateDay = startDate; dateDay.isBefore(endDate); dateDay = dateDay.plusDays(1))
|
for (LocalDate dateDay = startDate; dateDay.isBefore(endDate); dateDay = dateDay.plusDays(1))
|
||||||
for (Map<String, Object> b : visitBpjs) {
|
for (Map<String, Object> b : visitBpjs) {
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(b.get("tglPelayanan"))) {
|
||||||
LocalDate sDate = ((Date) b.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
LocalDate sDate = ((Date) b.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
||||||
.toLocalDate();
|
.toLocalDate();
|
||||||
if (dateDay.equals(sDate) && !listLocalDate.contains(sDate)) {
|
if (dateDay.equals(sDate) && !listLocalDate.contains(sDate)) {
|
||||||
@ -574,6 +586,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
listIdPelayananPasien.add(b.get("idPelayananPasien").toString());
|
listIdPelayananPasien.add(b.get("idPelayananPasien").toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
for (Map<String, Object> d : rawDataBpjs1)
|
for (Map<String, Object> d : rawDataBpjs1)
|
||||||
if (!Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|
if (!Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|
||||||
&& !Master.Ruangan.NICU.equals(d.get("idRuangan"))
|
&& !Master.Ruangan.NICU.equals(d.get("idRuangan"))
|
||||||
@ -596,7 +609,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
.filter(d -> (Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|
.filter(d -> (Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|
||||||
|| Master.Ruangan.NICU.equals(d.get("idRuangan")))
|
|| Master.Ruangan.NICU.equals(d.get("idRuangan")))
|
||||||
&& Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk")))
|
&& Master.GolonganProduk.VISIT.equals(d.get("idGolonganProduk")))
|
||||||
.sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan"))).collect(Collectors.toList());
|
.sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan"),
|
||||||
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
|
.collect(Collectors.toList());
|
||||||
List<String> listIdPelayananPasien = new ArrayList<>();
|
List<String> listIdPelayananPasien = new ArrayList<>();
|
||||||
List<LocalDate> listLocalDate = new ArrayList<>();
|
List<LocalDate> listLocalDate = new ArrayList<>();
|
||||||
LocalDate startDate = tglAwal.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
LocalDate startDate = tglAwal.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||||
@ -604,6 +619,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
for (LocalDate dateDay = startDate; dateDay.isBefore(endDate); dateDay = dateDay.plusDays(1)) {
|
for (LocalDate dateDay = startDate; dateDay.isBefore(endDate); dateDay = dateDay.plusDays(1)) {
|
||||||
int count = 1;
|
int count = 1;
|
||||||
for (Map<String, Object> b : visitBpjs) {
|
for (Map<String, Object> b : visitBpjs) {
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(b.get("tglPelayanan"))) {
|
||||||
LocalDate sDate = ((Date) b.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
LocalDate sDate = ((Date) b.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
||||||
.toLocalDate();
|
.toLocalDate();
|
||||||
if (dateDay.equals(sDate) && !listLocalDate.contains(sDate) && count <= 2) {
|
if (dateDay.equals(sDate) && !listLocalDate.contains(sDate) && count <= 2) {
|
||||||
@ -613,6 +629,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
for (Map<String, Object> d : rawDataBpjs2)
|
for (Map<String, Object> d : rawDataBpjs2)
|
||||||
if ((Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|
if ((Master.Ruangan.ICU_PICU.equals(d.get("idRuangan"))
|
||||||
|| Master.Ruangan.NICU.equals(d.get("idRuangan")))
|
|| Master.Ruangan.NICU.equals(d.get("idRuangan")))
|
||||||
@ -631,10 +648,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
*/
|
*/
|
||||||
List<Map<String, Object>> listDataJamKerja = new ArrayList<>();
|
List<Map<String, Object>> listDataJamKerja = new ArrayList<>();
|
||||||
for (Map<String, Object> d : listData) {
|
for (Map<String, Object> d : listData) {
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(d.get("tglPelayanan"))) {
|
||||||
LocalDate tglPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
LocalDate tglPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
||||||
.toLocalDate();
|
.toLocalDate();
|
||||||
LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant()
|
||||||
.toLocalDateTime();
|
.atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||||
for (Map<String, Object> j : listJadwalKerja) {
|
for (Map<String, Object> j : listJadwalKerja) {
|
||||||
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))
|
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))
|
||||||
&& CommonUtil.isNotNullOrEmpty(j.get("jamMasuk"))) {
|
&& CommonUtil.isNotNullOrEmpty(j.get("jamMasuk"))) {
|
||||||
@ -653,18 +671,21 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Setelah diurutkan jam kerja, alokasi urutan data di luar jam kerja.
|
* Setelah diurutkan jam kerja, alokasi urutan data di luar jam kerja.
|
||||||
* Asumsi jam kerja dokter nonshift
|
* Asumsi jam kerja dokter nonshift
|
||||||
*/
|
*/
|
||||||
List<Map<String, Object>> listDataLuarJamKerja = new ArrayList<>();
|
List<Map<String, Object>> listDataLuarJamKerja = new ArrayList<>();
|
||||||
for (Map<String, Object> d : listData) {
|
for (Map<String, Object> d : listData) {
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(d.get("tglPelayanan"))) {
|
||||||
LocalDate tglPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
LocalDate tglPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
||||||
.toLocalDate();
|
.toLocalDate();
|
||||||
LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant()
|
||||||
.toLocalDateTime();
|
.atZone(ZoneId.systemDefault()).toLocalDateTime();
|
||||||
for (Map<String, Object> j : listJadwalKerja) {
|
for (Map<String, Object> j : listJadwalKerja) {
|
||||||
LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault())
|
||||||
|
.toLocalDate();
|
||||||
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien")))
|
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien")))
|
||||||
if (CommonUtil.isNullOrEmpty(j.get("jamMasuk"))) {
|
if (CommonUtil.isNullOrEmpty(j.get("jamMasuk"))) {
|
||||||
if (tglPelayanan.isEqual(tglMasuk)) {
|
if (tglPelayanan.isEqual(tglMasuk)) {
|
||||||
@ -683,6 +704,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
* Tanggal pelayanan null akan dianggap sebagai luar jam kerja
|
||||||
|
*/
|
||||||
|
listDataLuarJamKerja.add(d);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Offer data yang sudah diurutkan dalam queue
|
* Offer data yang sudah diurutkan dalam queue
|
||||||
@ -736,9 +763,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
Double capaianRemun = 0.0;
|
Double capaianRemun = 0.0;
|
||||||
if (pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(Master.KategoryPegawai.DOKTER_LUAR))
|
if (pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(Master.KategoryPegawai.DOKTER_LUAR))
|
||||||
.contains(idPegawai)) {
|
.contains(idPegawai)) {
|
||||||
|
/*
|
||||||
|
* Dokter luar hanya mendapatkan ffs
|
||||||
|
*/
|
||||||
for (Map<String, Object> next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll()) {
|
for (Map<String, Object> next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll()) {
|
||||||
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(next.get("idKelompokPasien"))
|
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(next.get("idKelompokPasien"))
|
||||||
&& idsDokterBPJSffs.contains(idPegawai)) {
|
&& idsDokterBPJSffs.contains(idPegawai)) {
|
||||||
|
/*
|
||||||
|
* dokter-dokter tertentu yang hanya dapat pasien bpjs
|
||||||
|
*/
|
||||||
listPelayananFfs.add(next);
|
listPelayananFfs.add(next);
|
||||||
} else {
|
} else {
|
||||||
listPelayananFfs.add(next);
|
listPelayananFfs.add(next);
|
||||||
@ -747,8 +780,17 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
} else {
|
} else {
|
||||||
for (Map<String, Object> next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll())
|
for (Map<String, Object> next = queuePelayanan.poll(); next != null; next = queuePelayanan.poll())
|
||||||
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(next.get("idKelompokPasien"))) {
|
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(next.get("idKelompokPasien"))) {
|
||||||
|
/*
|
||||||
|
* Urutan alokasi bpjs sebagai urutan prioritas
|
||||||
|
*/
|
||||||
if (drKkPediatrikGDList.contains(idPegawai)) {
|
if (drKkPediatrikGDList.contains(idPegawai)) {
|
||||||
|
/*
|
||||||
|
* Bpjs untuk dokter-dokter kk pediatrik gawat darurat
|
||||||
|
*/
|
||||||
if (idsDokterPediatrikGD.contains(next.get("idProduk"))) {
|
if (idsDokterPediatrikGD.contains(next.get("idProduk"))) {
|
||||||
|
/*
|
||||||
|
* Dibatasi oleh daftar tindakan tertentu
|
||||||
|
*/
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else {
|
} else {
|
||||||
@ -756,35 +798,54 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
}
|
}
|
||||||
} else if (!drKkPediatrikGDList.contains(idPegawai)) {
|
} else if (!drKkPediatrikGDList.contains(idPegawai)) {
|
||||||
|
/*
|
||||||
|
* Selain dokter-dokter kk pediatrik gawat darurat
|
||||||
|
*/
|
||||||
if (listDetailJenisProduk.contains(next.get("idDetailJenisProduk"))) {
|
if (listDetailJenisProduk.contains(next.get("idDetailJenisProduk"))) {
|
||||||
|
/*
|
||||||
|
* Dibatasi oleh daftar jenis tindakan tertentu
|
||||||
|
*/
|
||||||
if (idsRegDJPPenunjangPA.contains(next.get("idDetailJenisProduk"))
|
if (idsRegDJPPenunjangPA.contains(next.get("idDetailJenisProduk"))
|
||||||
|| idsRegDJPPenunjangPK.contains(next.get("idDetailJenisProduk"))) {
|
|| idsRegDJPPenunjangPK.contains(next.get("idDetailJenisProduk"))) {
|
||||||
|
/*
|
||||||
|
* Pengecualian daftar tindakan penunjang yang
|
||||||
|
* bebas klaim
|
||||||
|
*/
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else {
|
} else {
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
}
|
}
|
||||||
} else if (!listDetailJenisProduk
|
} else if (!listDetailJenisProduk.contains(next.get("idDetailJenisProduk"))
|
||||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|
&& Master.Departemen.IGD.equals(next.get("idDepartemen"))
|
||||||
&& next.get("idDepartemen").equals(Master.Departemen.IGD)
|
|
||||||
&& drKsmUmumList.contains(idPegawai)
|
&& drKsmUmumList.contains(idPegawai)
|
||||||
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
&& idsDokterUmumIGD.contains(next.get("idProduk"))) {
|
||||||
|
/*
|
||||||
|
* Aturan dokter ksm umum di igd
|
||||||
|
*/
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else if (!listDetailJenisProduk
|
} else if (!listDetailJenisProduk.contains(next.get("idDetailJenisProduk"))
|
||||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|
|
||||||
&& drKkPerinatologiList.contains(idPegawai)
|
&& drKkPerinatologiList.contains(idPegawai)
|
||||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
&& idsDokterPerinatologi.contains(next.get("idProduk"))) {
|
||||||
|
/*
|
||||||
|
* Aturan dokter kk perinatologi dengan pembatasan
|
||||||
|
* tindakan tertentu
|
||||||
|
*/
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
|
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
|
||||||
&& listDetailJenisProdukException
|
&& listDetailJenisProdukException.contains(next.get("idDetailJenisProduk"))) {
|
||||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
|
/*
|
||||||
if (idsRegDJPPenunjangPA
|
* Diluar pembatasan jenis produk
|
||||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|
*/
|
||||||
|| idsRegDJPPenunjangPK
|
if (idsRegDJPPenunjangPA.contains(next.get("idDetailJenisProduk"))
|
||||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
|
|| idsRegDJPPenunjangPK.contains(next.get("idDetailJenisProduk"))) {
|
||||||
|
/*
|
||||||
|
* Pengecualian daftar tindakan penunjang yang
|
||||||
|
* bebas klaim
|
||||||
|
*/
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else {
|
} else {
|
||||||
@ -794,8 +855,18 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (capaianRemun < targetRemun && (date.equals(dateLine) || date.after(dateLine))) {
|
} else if (capaianRemun < targetRemun && (date.equals(dateLine) || date.after(dateLine))) {
|
||||||
|
/*
|
||||||
|
* Alokasi bagian remunerasi berdasarkan target rupiah
|
||||||
|
* sesuai tanggal mulai berlaku
|
||||||
|
*/
|
||||||
if (drKkPediatrikGDList.contains(idPegawai)) {
|
if (drKkPediatrikGDList.contains(idPegawai)) {
|
||||||
|
/*
|
||||||
|
* Bpjs untuk dokter-dokter kk pediatrik gawat darurat
|
||||||
|
*/
|
||||||
if (idsDokterPediatrikGD.contains(next.get("idProduk"))) {
|
if (idsDokterPediatrikGD.contains(next.get("idProduk"))) {
|
||||||
|
/*
|
||||||
|
* Dibatasi oleh daftar tindakan tertentu
|
||||||
|
*/
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else {
|
} else {
|
||||||
@ -803,35 +874,54 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
}
|
}
|
||||||
} else if (!drKkPediatrikGDList.contains(idPegawai)) {
|
} else if (!drKkPediatrikGDList.contains(idPegawai)) {
|
||||||
|
/*
|
||||||
|
* Selain dokter-dokter kk pediatrik gawat darurat
|
||||||
|
*/
|
||||||
if (listDetailJenisProduk.contains(next.get("idDetailJenisProduk"))) {
|
if (listDetailJenisProduk.contains(next.get("idDetailJenisProduk"))) {
|
||||||
|
/*
|
||||||
|
* Dibatasi oleh daftar jenis tindakan tertentu
|
||||||
|
*/
|
||||||
if (idsRegDJPPenunjangPA.contains(next.get("idDetailJenisProduk"))
|
if (idsRegDJPPenunjangPA.contains(next.get("idDetailJenisProduk"))
|
||||||
|| idsRegDJPPenunjangPK.contains(next.get("idDetailJenisProduk"))) {
|
|| idsRegDJPPenunjangPK.contains(next.get("idDetailJenisProduk"))) {
|
||||||
|
/*
|
||||||
|
* Pengecualian daftar tindakan penunjang yang
|
||||||
|
* bebas klaim
|
||||||
|
*/
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else {
|
} else {
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
}
|
}
|
||||||
} else if (!listDetailJenisProduk
|
} else if (!listDetailJenisProduk.contains(next.get("idDetailJenisProduk"))
|
||||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|
&& Master.Departemen.IGD.equals(next.get("idDepartemen"))
|
||||||
&& next.get("idDepartemen").equals(Master.Departemen.IGD)
|
|
||||||
&& drKsmUmumList.contains(idPegawai)
|
&& drKsmUmumList.contains(idPegawai)
|
||||||
&& idsDokterUmumIGD.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
&& idsDokterUmumIGD.contains(next.get("idProduk"))) {
|
||||||
|
/*
|
||||||
|
* Aturan dokter ksm umum di igd
|
||||||
|
*/
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else if (!listDetailJenisProduk
|
} else if (!listDetailJenisProduk.contains(next.get("idDetailJenisProduk"))
|
||||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|
|
||||||
&& drKkPerinatologiList.contains(idPegawai)
|
&& drKkPerinatologiList.contains(idPegawai)
|
||||||
&& idsDokterPerinatologi.contains(Integer.parseInt(next.get("idProduk").toString()))) {
|
&& idsDokterPerinatologi.contains(next.get("idProduk"))) {
|
||||||
|
/*
|
||||||
|
* Aturan dokter kk perinatologi dengan pembatasan
|
||||||
|
* tindakan tertentu
|
||||||
|
*/
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
|
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
|
||||||
&& listDetailJenisProdukException
|
&& listDetailJenisProdukException.contains(next.get("idDetailJenisProduk"))) {
|
||||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
|
/*
|
||||||
if (idsRegDJPPenunjangPA
|
* Diluar pembatasan jenis produk
|
||||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))
|
*/
|
||||||
|| idsRegDJPPenunjangPK
|
if (idsRegDJPPenunjangPA.contains(next.get("idDetailJenisProduk"))
|
||||||
.contains(Integer.parseInt(next.get("idDetailJenisProduk").toString()))) {
|
|| idsRegDJPPenunjangPK.contains(next.get("idDetailJenisProduk"))) {
|
||||||
|
/*
|
||||||
|
* Pengecualian daftar tindakan penunjang yang
|
||||||
|
* bebas klaim
|
||||||
|
*/
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else {
|
} else {
|
||||||
@ -841,6 +931,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
/*
|
||||||
|
* Alokasi untuk bagian ffs
|
||||||
|
*/
|
||||||
listPelayananFfs.add(next);
|
listPelayananFfs.add(next);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -848,9 +941,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
* Sorting data remun diurutkan
|
* Sorting data remun diurutkan
|
||||||
*/
|
*/
|
||||||
listPelayananRemun = listPelayananRemun.stream()
|
listPelayananRemun = listPelayananRemun.stream()
|
||||||
.sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan")))
|
.sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan"),
|
||||||
.sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString())))
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
.sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString())))
|
.sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString()),
|
||||||
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
|
.sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString()),
|
||||||
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
.sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList());
|
.sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList());
|
||||||
result.put("remun", listPelayananRemun);
|
result.put("remun", listPelayananRemun);
|
||||||
/*
|
/*
|
||||||
@ -861,9 +957,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
/*
|
/*
|
||||||
* Sorting data ffs diurutkan
|
* Sorting data ffs diurutkan
|
||||||
*/
|
*/
|
||||||
listPelayananFfs = listPelayananFfs.stream().sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan")))
|
listPelayananFfs = listPelayananFfs.stream()
|
||||||
.sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelompokPasien").toString())))
|
.sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan"),
|
||||||
.sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelas").toString())))
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
|
.sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelompokPasien").toString()),
|
||||||
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
|
.sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelas").toString()),
|
||||||
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
.sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList());
|
.sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList());
|
||||||
result.put("ffs", listPelayananFfs);
|
result.put("ffs", listPelayananFfs);
|
||||||
return result;
|
return result;
|
||||||
@ -903,6 +1003,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
for (Map<String, Object> d : listData) {
|
for (Map<String, Object> d : listData) {
|
||||||
if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||||
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
|
&& Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
|
||||||
|
/*
|
||||||
|
* Set persen jasa dan harga jasa pasien bpjs di ibs
|
||||||
|
*/
|
||||||
double persenTarif = persenTarifJasaBedah / 100;
|
double persenTarif = persenTarifJasaBedah / 100;
|
||||||
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
double persenJasa = persenOperatorIBS / 100;
|
double persenJasa = persenOperatorIBS / 100;
|
||||||
@ -924,6 +1027,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
persenJasa * persenTarif * Double.parseDouble(d.get("hargaJual").toString()));
|
persenJasa * persenTarif * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
}
|
}
|
||||||
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
|
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
|
||||||
|
/*
|
||||||
|
* Set persen jasa dan harga jasa di ibs selain pasien bpjs
|
||||||
|
*/
|
||||||
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
d.put("persenJasa", persenOperatorIBS.toString() + "%");
|
d.put("persenJasa", persenOperatorIBS.toString() + "%");
|
||||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||||
@ -967,15 +1073,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
* Populate data filter
|
* Populate data filter
|
||||||
*/
|
*/
|
||||||
listData.forEach(d -> {
|
listData.forEach(d -> {
|
||||||
if (!listIdProduk.contains(Integer.valueOf(d.get("idProduk").toString())))
|
if (!listIdProduk.contains(d.get("idProduk")))
|
||||||
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
||||||
if (!listPersenJasa.contains(d.get("persenJasa").toString()))
|
if (!listPersenJasa.contains(d.get("persenJasa")))
|
||||||
listPersenJasa.add(d.get("persenJasa").toString());
|
listPersenJasa.add(d.get("persenJasa").toString());
|
||||||
if (!listHargaJual.contains(Double.valueOf(d.get("hargaJual").toString())))
|
if (!listHargaJual.contains(d.get("hargaJual")))
|
||||||
listHargaJual.add(Double.valueOf(d.get("hargaJual").toString()));
|
listHargaJual.add(Double.valueOf(d.get("hargaJual").toString()));
|
||||||
if (!listIdKelompokPasien.contains(Integer.valueOf(d.get("idKelompokPasien").toString())))
|
if (!listIdKelompokPasien.contains(d.get("idKelompokPasien")))
|
||||||
listIdKelompokPasien.add(Integer.valueOf(d.get("idKelompokPasien").toString()));
|
listIdKelompokPasien.add(Integer.valueOf(d.get("idKelompokPasien").toString()));
|
||||||
if (!listTanggal.contains(d.get("tanggal").toString()))
|
if (!listTanggal.contains(d.get("tanggal")))
|
||||||
listTanggal.add(d.get("tanggal").toString());
|
listTanggal.add(d.get("tanggal").toString());
|
||||||
});
|
});
|
||||||
/*
|
/*
|
||||||
@ -991,11 +1097,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<String> norecs = new ArrayList<>();
|
List<String> norecs = new ArrayList<>();
|
||||||
int dataHitungKe = 0;
|
int dataHitungKe = 0;
|
||||||
for (Map<String, Object> map : listData) {
|
for (Map<String, Object> map : listData) {
|
||||||
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa"))
|
||||||
&& persenJasa.equals(map.get("persenJasa"))
|
&& hargaJual.equals(map.get("hargaJual"))
|
||||||
&& Double.parseDouble(map.get("hargaJual").toString()) == hargaJual
|
&& idKelompokPasien.equals(map.get("idKelompokPasien"))
|
||||||
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien
|
&& tanggal.equals(map.get("tanggal"))) {
|
||||||
&& map.get("tanggal").toString().equals(tanggal)) {
|
|
||||||
jumlah += Double.parseDouble(map.get("jumlah").toString());
|
jumlah += Double.parseDouble(map.get("jumlah").toString());
|
||||||
norecs.add(map.get("idPelayananPasien").toString());
|
norecs.add(map.get("idPelayananPasien").toString());
|
||||||
dataHitungKe++;
|
dataHitungKe++;
|
||||||
@ -1027,10 +1132,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
double jumlahHargaJasa = 0.0;
|
double jumlahHargaJasa = 0.0;
|
||||||
for (Map<String, Object> map : dataTanggal) {
|
for (Map<String, Object> map : dataTanggal) {
|
||||||
Map<String, Object> mapCount = new HashMap<>();
|
Map<String, Object> mapCount = new HashMap<>();
|
||||||
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa"))
|
||||||
&& persenJasa.equals(map.get("persenJasa"))
|
&& hargaJual.equals(map.get("hargaJual"))
|
||||||
&& Double.parseDouble(map.get("hargaJual").toString()) == hargaJual
|
&& idKelompokPasien.equals(map.get("idKelompokPasien"))) {
|
||||||
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien) {
|
|
||||||
mapCount.put("jumlah", map.get("jumlah"));
|
mapCount.put("jumlah", map.get("jumlah"));
|
||||||
mapCount.put("norecs", map.get("norecs"));
|
mapCount.put("norecs", map.get("norecs"));
|
||||||
mapCount.put("tanggal", map.get("tanggal"));
|
mapCount.put("tanggal", map.get("tanggal"));
|
||||||
@ -1062,9 +1166,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
/*
|
/*
|
||||||
* Final sorting
|
* Final sorting
|
||||||
*/
|
*/
|
||||||
dataResult = dataResult.stream().sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan")))
|
dataResult = dataResult.stream()
|
||||||
.sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString())))
|
.sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan"),
|
||||||
.sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString())))
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
|
.sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString()),
|
||||||
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
|
.sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString()),
|
||||||
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
.sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList());
|
.sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList());
|
||||||
dataResult.forEach(r -> {
|
dataResult.forEach(r -> {
|
||||||
/*
|
/*
|
||||||
@ -1123,10 +1231,14 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
for (Map<String, Object> d : listData) {
|
for (Map<String, Object> d : listData) {
|
||||||
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
|
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))) {
|
||||||
/*
|
/*
|
||||||
* Dokter luar yang klaim ffs dengan persen jasa dari tarif
|
* Set persen jasa dokter luar yang klaim ffs dengan persen jasa
|
||||||
* total
|
* dari tarif total
|
||||||
*/
|
*/
|
||||||
d.put("persenJasa", persenBPJS.toString() + "%");
|
d.put("persenJasa", persenBPJS.toString() + "%");
|
||||||
|
/*
|
||||||
|
* Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter
|
||||||
|
* tertentu
|
||||||
|
*/
|
||||||
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
if (Double.parseDouble(d.get("hargaJasa").toString()) != 0.0)
|
||||||
d.put("hargaJasa", persenBPJS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenBPJS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
} else if (Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||||
@ -1174,15 +1286,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
* Populate data filter
|
* Populate data filter
|
||||||
*/
|
*/
|
||||||
listData.forEach(d -> {
|
listData.forEach(d -> {
|
||||||
if (!listIdProduk.contains(Integer.valueOf(d.get("idProduk").toString())))
|
if (!listIdProduk.contains(d.get("idProduk")))
|
||||||
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
||||||
if (!listPersenJasa.contains(d.get("persenJasa").toString()))
|
if (!listPersenJasa.contains(d.get("persenJasa")))
|
||||||
listPersenJasa.add(d.get("persenJasa").toString());
|
listPersenJasa.add(d.get("persenJasa").toString());
|
||||||
if (!listHargaJual.contains(Double.valueOf(d.get("hargaJual").toString())))
|
if (!listHargaJual.contains(d.get("hargaJual")))
|
||||||
listHargaJual.add(Double.valueOf(d.get("hargaJual").toString()));
|
listHargaJual.add(Double.valueOf(d.get("hargaJual").toString()));
|
||||||
if (!listIdKelompokPasien.contains(Integer.valueOf(d.get("idKelompokPasien").toString())))
|
if (!listIdKelompokPasien.contains(d.get("idKelompokPasien")))
|
||||||
listIdKelompokPasien.add(Integer.valueOf(d.get("idKelompokPasien").toString()));
|
listIdKelompokPasien.add(Integer.valueOf(d.get("idKelompokPasien").toString()));
|
||||||
if (!listTanggal.contains(d.get("tanggal").toString()))
|
if (!listTanggal.contains(d.get("tanggal")))
|
||||||
listTanggal.add(d.get("tanggal").toString());
|
listTanggal.add(d.get("tanggal").toString());
|
||||||
});
|
});
|
||||||
/*
|
/*
|
||||||
@ -1198,11 +1310,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<String> norecs = new ArrayList<>();
|
List<String> norecs = new ArrayList<>();
|
||||||
int dataHitungKe = 0;
|
int dataHitungKe = 0;
|
||||||
for (Map<String, Object> map : listData) {
|
for (Map<String, Object> map : listData) {
|
||||||
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa"))
|
||||||
&& persenJasa.equals(map.get("persenJasa"))
|
&& hargaJual.equals(map.get("hargaJual"))
|
||||||
&& Double.parseDouble(map.get("hargaJual").toString()) == hargaJual
|
&& idKelompokPasien.equals(map.get("idKelompokPasien"))
|
||||||
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien
|
&& tanggal.equals(map.get("tanggal"))) {
|
||||||
&& map.get("tanggal").toString().equals(tanggal)) {
|
|
||||||
jumlah += Double.parseDouble(map.get("jumlah").toString());
|
jumlah += Double.parseDouble(map.get("jumlah").toString());
|
||||||
norecs.add(map.get("idPelayananPasien").toString());
|
norecs.add(map.get("idPelayananPasien").toString());
|
||||||
dataHitungKe++;
|
dataHitungKe++;
|
||||||
@ -1234,10 +1345,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
double jumlahHargaJasa = 0.0;
|
double jumlahHargaJasa = 0.0;
|
||||||
for (Map<String, Object> map : dataTanggal) {
|
for (Map<String, Object> map : dataTanggal) {
|
||||||
Map<String, Object> mapCount = new HashMap<>();
|
Map<String, Object> mapCount = new HashMap<>();
|
||||||
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa"))
|
||||||
&& persenJasa.equals(map.get("persenJasa"))
|
&& hargaJual.equals(map.get("hargaJual"))
|
||||||
&& Double.parseDouble(map.get("hargaJual").toString()) == hargaJual
|
&& idKelompokPasien.equals(map.get("idKelompokPasien"))) {
|
||||||
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien) {
|
|
||||||
mapCount.put("jumlah", map.get("jumlah"));
|
mapCount.put("jumlah", map.get("jumlah"));
|
||||||
mapCount.put("norecs", map.get("norecs"));
|
mapCount.put("norecs", map.get("norecs"));
|
||||||
mapCount.put("tanggal", map.get("tanggal"));
|
mapCount.put("tanggal", map.get("tanggal"));
|
||||||
@ -1268,9 +1378,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
/*
|
/*
|
||||||
* Final sorting
|
* Final sorting
|
||||||
*/
|
*/
|
||||||
result = result.stream().sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan")))
|
result = result.stream()
|
||||||
.sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString())))
|
.sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan"),
|
||||||
.sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString())))
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
|
.sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString()),
|
||||||
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
|
.sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString()),
|
||||||
|
Comparator.nullsLast(Comparator.naturalOrder())))
|
||||||
.sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList());
|
.sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList());
|
||||||
result.forEach(r -> {
|
result.forEach(r -> {
|
||||||
/*
|
/*
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user