Update PelayananPasienServiceImpl.java

Perbaikan performance logbook dokter data besar karena grouping harga jasa
This commit is contained in:
Salman Manoe 2023-06-16 10:01:34 +07:00
parent e286732b35
commit 7e36082972

View File

@ -1591,33 +1591,30 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/ */
for (Integer idProduk : listIdProduk) { for (Integer idProduk : listIdProduk) {
for (String persenJasa : listPersenJasa) { for (String persenJasa : listPersenJasa) {
for (Double hargaJasa : listHargaJasa) { for (Double hargaJual : listHargaJual) {
for (Double hargaJual : listHargaJual) { for (Integer idKelompokPasien : listIdKelompokPasien) {
for (Integer idKelompokPasien : listIdKelompokPasien) { for (String tanggal : listTanggal) {
for (String tanggal : listTanggal) { Map<String, Object> mapData = new HashMap<>();
Map<String, Object> mapData = new HashMap<>(); double jumlah = 0.0;
double jumlah = 0.0; 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 (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa"))
if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa")) && hargaJual.equals(map.get("hargaJual"))
&& hargaJasa.equals(map.get("hargaJasa")) && idKelompokPasien.equals(map.get("idKelompokPasien"))
&& hargaJual.equals(map.get("hargaJual")) && tanggal.equals(map.get("tanggal"))) {
&& idKelompokPasien.equals(map.get("idKelompokPasien")) jumlah += Double.parseDouble(map.get("jumlah").toString());
&& tanggal.equals(map.get("tanggal"))) { norecs.add(map.get("idPelayananPasien").toString());
jumlah += Double.parseDouble(map.get("jumlah").toString()); dataHitungKe++;
norecs.add(map.get("idPelayananPasien").toString()); if (dataHitungKe == 1)
dataHitungKe++; mapData.putAll(map);
if (dataHitungKe == 1)
mapData.putAll(map);
}
}
if (CommonUtil.isNotNullOrEmpty(mapData.get("jumlah"))) {
mapData.put("jumlah", jumlah);
mapData.put("norecs", norecs);
dataTanggal.add(mapData);
} }
} }
if (CommonUtil.isNotNullOrEmpty(mapData.get("jumlah"))) {
mapData.put("jumlah", jumlah);
mapData.put("norecs", norecs);
dataTanggal.add(mapData);
}
} }
} }
} }
@ -1628,44 +1625,41 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/ */
for (Integer idProduk : listIdProduk) { for (Integer idProduk : listIdProduk) {
for (String persenJasa : listPersenJasa) { for (String persenJasa : listPersenJasa) {
for (Double hargaJasa : listHargaJasa) { for (Double hargaJual : listHargaJual) {
for (Double hargaJual : listHargaJual) { for (Integer idKelompokPasien : listIdKelompokPasien) {
for (Integer idKelompokPasien : listIdKelompokPasien) { Map<String, Object> mapResult = new HashMap<>();
Map<String, Object> mapResult = new HashMap<>(); List<Map<String, Object>> detail = new ArrayList<>();
List<Map<String, Object>> detail = new ArrayList<>(); int counter = 0;
int counter = 0; double jumlah = 0.0;
double jumlah = 0.0; 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 (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa"))
if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa")) && hargaJual.equals(map.get("hargaJual"))
&& hargaJasa.equals(map.get("hargaJasa")) && idKelompokPasien.equals(map.get("idKelompokPasien"))) {
&& hargaJual.equals(map.get("hargaJual")) mapCount.put("jumlah", map.get("jumlah"));
&& idKelompokPasien.equals(map.get("idKelompokPasien"))) { mapCount.put("norecs", map.get("norecs"));
mapCount.put("jumlah", map.get("jumlah")); mapCount.put("tanggal", map.get("tanggal"));
mapCount.put("norecs", map.get("norecs")); detail.add(mapCount);
mapCount.put("tanggal", map.get("tanggal")); counter++;
detail.add(mapCount); jumlah += Double.parseDouble(map.get("jumlah").toString());
counter++; if (counter == 1)
jumlah += Double.parseDouble(map.get("jumlah").toString()); mapResult.putAll(map);
if (counter == 1)
mapResult.putAll(map);
}
} }
if (CommonUtil.isNotNullOrEmpty(mapResult.get("jumlah"))) { }
/* if (CommonUtil.isNotNullOrEmpty(mapResult.get("jumlah"))) {
* Tambahkan data total /*
*/ * Tambahkan data total
jumlahHargaJasa = jumlah * Double.parseDouble(mapResult.get("hargaJasa").toString()); */
mapResult.put("jumlah", jumlah); jumlahHargaJasa = jumlah * Double.parseDouble(mapResult.get("hargaJasa").toString());
mapResult.put("jumlahHargaJasa", jumlahHargaJasa); mapResult.put("jumlah", jumlah);
/* mapResult.put("jumlahHargaJasa", jumlahHargaJasa);
* Tambahkan data detail /*
*/ * Tambahkan data detail
mapResult.put("detail", detail); */
mapResult.put("detail", detail);
dataResult.add(mapResult); dataResult.add(mapResult);
}
} }
} }
} }
@ -2009,36 +2003,32 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/ */
for (Integer idProduk : listIdProduk) { for (Integer idProduk : listIdProduk) {
for (String persenJasa : listPersenJasa) { for (String persenJasa : listPersenJasa) {
for (Double hargaJasa : listHargaJasa) { for (Double hargaJual : listHargaJual) {
for (Double hargaJual : listHargaJual) { for (Integer idKelompokPasien : listIdKelompokPasien) {
for (Integer idKelompokPasien : listIdKelompokPasien) { for (String jenisRuangan : listJenisRuangan) {
for (String jenisRuangan : listJenisRuangan) { for (String tanggal : listTanggal) {
for (String tanggal : listTanggal) { Map<String, Object> mapData = new HashMap<>();
Map<String, Object> mapData = new HashMap<>(); double jumlah = 0.0;
double jumlah = 0.0; 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 (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa"))
if (idProduk.equals(map.get("idProduk")) && hargaJual.equals(map.get("hargaJual"))
&& persenJasa.equals(map.get("persenJasa")) && idKelompokPasien.equals(map.get("idKelompokPasien"))
&& hargaJasa.equals(map.get("hargaJasa")) && jenisRuangan.equals(map.get("jenisRuangan"))
&& hargaJual.equals(map.get("hargaJual")) && tanggal.equals(map.get("tanggal"))) {
&& idKelompokPasien.equals(map.get("idKelompokPasien")) jumlah += Double.parseDouble(map.get("jumlah").toString());
&& jenisRuangan.equals(map.get("jenisRuangan")) norecs.add(map.get("idPelayananPasien").toString());
&& tanggal.equals(map.get("tanggal"))) { dataHitungKe++;
jumlah += Double.parseDouble(map.get("jumlah").toString()); if (dataHitungKe == 1)
norecs.add(map.get("idPelayananPasien").toString()); mapData.putAll(map);
dataHitungKe++;
if (dataHitungKe == 1)
mapData.putAll(map);
}
}
if (CommonUtil.isNotNullOrEmpty(mapData.get("jumlah"))) {
mapData.put("jumlah", jumlah);
mapData.put("norecs", norecs);
dataTanggal.add(mapData);
} }
} }
if (CommonUtil.isNotNullOrEmpty(mapData.get("jumlah"))) {
mapData.put("jumlah", jumlah);
mapData.put("norecs", norecs);
dataTanggal.add(mapData);
}
} }
} }
} }
@ -2050,47 +2040,43 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
*/ */
for (Integer idProduk : listIdProduk) { for (Integer idProduk : listIdProduk) {
for (String persenJasa : listPersenJasa) { for (String persenJasa : listPersenJasa) {
for (Double hargaJasa : listHargaJasa) { for (Double hargaJual : listHargaJual) {
for (Double hargaJual : listHargaJual) { for (Integer idKelompokPasien : listIdKelompokPasien) {
for (Integer idKelompokPasien : listIdKelompokPasien) { for (String jenisRuangan : listJenisRuangan) {
for (String jenisRuangan : listJenisRuangan) { Map<String, Object> mapResult = new HashMap<>();
Map<String, Object> mapResult = new HashMap<>(); List<Map<String, Object>> detail = new ArrayList<>();
List<Map<String, Object>> detail = new ArrayList<>(); int counter = 0;
int counter = 0; double jumlah = 0.0;
double jumlah = 0.0; 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 (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa"))
if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa")) && hargaJual.equals(map.get("hargaJual"))
&& hargaJasa.equals(map.get("hargaJasa")) && idKelompokPasien.equals(map.get("idKelompokPasien"))
&& hargaJual.equals(map.get("hargaJual")) && jenisRuangan.equals(map.get("jenisRuangan"))) {
&& idKelompokPasien.equals(map.get("idKelompokPasien")) mapCount.put("jumlah", map.get("jumlah"));
&& jenisRuangan.equals(map.get("jenisRuangan"))) { mapCount.put("norecs", map.get("norecs"));
mapCount.put("jumlah", map.get("jumlah")); mapCount.put("tanggal", map.get("tanggal"));
mapCount.put("norecs", map.get("norecs")); detail.add(mapCount);
mapCount.put("tanggal", map.get("tanggal")); counter++;
detail.add(mapCount); jumlah += Double.parseDouble(map.get("jumlah").toString());
counter++; if (counter == 1)
jumlah += Double.parseDouble(map.get("jumlah").toString()); mapResult.putAll(map);
if (counter == 1)
mapResult.putAll(map);
}
}
if (CommonUtil.isNotNullOrEmpty(mapResult.get("jumlah"))) {
/*
* Tambahkan data total
*/
jumlahHargaJasa = jumlah
* Double.parseDouble(mapResult.get("hargaJasa").toString());
mapResult.put("jumlah", jumlah);
mapResult.put("jumlahHargaJasa", jumlahHargaJasa);
/*
* Tambahkan data detail
*/
mapResult.put("detail", detail);
result.add(mapResult);
} }
} }
if (CommonUtil.isNotNullOrEmpty(mapResult.get("jumlah"))) {
/*
* Tambahkan data total
*/
jumlahHargaJasa = jumlah * Double.parseDouble(mapResult.get("hargaJasa").toString());
mapResult.put("jumlah", jumlah);
mapResult.put("jumlahHargaJasa", jumlahHargaJasa);
/*
* Tambahkan data detail
*/
mapResult.put("detail", detail);
result.add(mapResult);
}
} }
} }
} }