diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java index 0829aff6..c2af06f4 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java @@ -1607,41 +1607,44 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ for (Integer idProduk : listIdProduk) { for (String persenJasa : listPersenJasa) { - for (Double hargaJual : listHargaJual) { - for (Integer idKelompokPasien : listIdKelompokPasien) { - Map mapResult = new HashMap<>(); - List> detail = new ArrayList<>(); - int counter = 0; - double jumlah = 0.0; - double jumlahHargaJasa; - for (Map map : dataTanggal) { - Map mapCount = new HashMap<>(); - if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa")) - && hargaJual.equals(map.get("hargaJual")) - && idKelompokPasien.equals(map.get("idKelompokPasien"))) { - mapCount.put("jumlah", map.get("jumlah")); - mapCount.put("norecs", map.get("norecs")); - mapCount.put("tanggal", map.get("tanggal")); - detail.add(mapCount); - counter++; - jumlah += Double.parseDouble(map.get("jumlah").toString()); - if (counter == 1) - mapResult.putAll(map); + for (Double hargaJasa : listHargaJasa) { + for (Double hargaJual : listHargaJual) { + for (Integer idKelompokPasien : listIdKelompokPasien) { + Map mapResult = new HashMap<>(); + List> detail = new ArrayList<>(); + int counter = 0; + double jumlah = 0.0; + double jumlahHargaJasa; + for (Map map : dataTanggal) { + Map mapCount = new HashMap<>(); + if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa")) + && hargaJasa.equals(map.get("hargaJasa")) + && hargaJual.equals(map.get("hargaJual")) + && idKelompokPasien.equals(map.get("idKelompokPasien"))) { + mapCount.put("jumlah", map.get("jumlah")); + mapCount.put("norecs", map.get("norecs")); + mapCount.put("tanggal", map.get("tanggal")); + detail.add(mapCount); + counter++; + jumlah += Double.parseDouble(map.get("jumlah").toString()); + 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); + 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); - dataResult.add(mapResult); + dataResult.add(mapResult); + } } } } @@ -1991,42 +1994,46 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel */ for (Integer idProduk : listIdProduk) { for (String persenJasa : listPersenJasa) { - for (Double hargaJual : listHargaJual) { - for (Integer idKelompokPasien : listIdKelompokPasien) { - for (String jenisRuangan : listJenisRuangan) { - Map mapResult = new HashMap<>(); - List> detail = new ArrayList<>(); - int counter = 0; - double jumlah = 0.0; - double jumlahHargaJasa; - for (Map map : dataTanggal) { - Map mapCount = new HashMap<>(); - if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa")) - && hargaJual.equals(map.get("hargaJual")) - && idKelompokPasien.equals(map.get("idKelompokPasien")) - && jenisRuangan.equals(map.get("jenisRuangan"))) { - mapCount.put("jumlah", map.get("jumlah")); - mapCount.put("norecs", map.get("norecs")); - mapCount.put("tanggal", map.get("tanggal")); - detail.add(mapCount); - counter++; - jumlah += Double.parseDouble(map.get("jumlah").toString()); - if (counter == 1) - mapResult.putAll(map); + for (Double hargaJasa : listHargaJasa) { + for (Double hargaJual : listHargaJual) { + for (Integer idKelompokPasien : listIdKelompokPasien) { + for (String jenisRuangan : listJenisRuangan) { + Map mapResult = new HashMap<>(); + List> detail = new ArrayList<>(); + int counter = 0; + double jumlah = 0.0; + double jumlahHargaJasa; + for (Map map : dataTanggal) { + Map mapCount = new HashMap<>(); + if (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa")) + && hargaJasa.equals(map.get("hargaJasa")) + && hargaJual.equals(map.get("hargaJual")) + && idKelompokPasien.equals(map.get("idKelompokPasien")) + && jenisRuangan.equals(map.get("jenisRuangan"))) { + mapCount.put("jumlah", map.get("jumlah")); + mapCount.put("norecs", map.get("norecs")); + mapCount.put("tanggal", map.get("tanggal")); + detail.add(mapCount); + counter++; + jumlah += Double.parseDouble(map.get("jumlah").toString()); + 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); } } } @@ -2067,51 +2074,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } private List> groupingTanggalRemun(List> listData) { - Map>>>>>> collectTanggal = listData + Map>>>>>>> collectTanggal = listData .stream() .collect(Collectors.groupingBy(o1 -> Integer.parseInt(o1.get("idProduk").toString()), Collectors.groupingBy(o2 -> o2.get("persenJasa").toString(), - Collectors.groupingBy(o3 -> Double.parseDouble(o3.get("hargaJual").toString()), - Collectors.groupingBy( - o4 -> Integer - .parseInt(o4.get("idKelompokPasien").toString()), - Collectors.groupingBy(o5 -> o5.get("tanggal").toString())))))); - List> result = new ArrayList<>(); - collectTanggal.forEach((k1, v1) -> v1 - .forEach((k2, v2) -> v2.forEach((k3, v3) -> v3.forEach((k4, v4) -> v4.forEach((k5, v5) -> { - HashMap map = new HashMap<>(); - map.put("idProduk", k1); - map.put("persenJasa", k2); - map.put("hargaJual", k3); - map.put("idKelompokPasien", k4); - map.put("tanggal", k5); - List norecs = v5.stream().map(e -> e.get("idPelayananPasien").toString()) - .collect(Collectors.toList()); - map.put("norecs", norecs); - double jumlah = v5.stream().mapToDouble(e -> Double.parseDouble(e.get("jumlah").toString())).sum(); - map.put("jumlah", jumlah); - Optional> first = v5.stream().findFirst(); - first.ifPresent(e -> { - map.put("namaProduk", e.get("namaProduk").toString()); - map.put("kelompokPasien", e.get("kelompokPasien").toString()); - map.put("hargaJasa", Double.parseDouble(e.get("hargaJasa").toString())); - map.put("tglPelayanan", e.get("tglPelayanan")); - map.put("sortIdKelompokPasien", Integer.parseInt(e.get("sortIdKelompokPasien").toString())); - map.put("sortIdKelas", Integer.parseInt(e.get("sortIdKelas").toString())); - }); - result.add(map); - }))))); - return result; - } - - private List> groupingTanggalFfs(List> listData) { - Map>>>>>>> collectTanggal = listData - .stream() - .collect(Collectors.groupingBy(o1 -> Integer.parseInt(o1.get("idProduk").toString()), - Collectors.groupingBy(o2 -> o2.get("persenJasa").toString(), Collectors.groupingBy( - o3 -> Double.parseDouble(o3.get("hargaJual").toString()), Collectors.groupingBy( - o4 -> Integer.parseInt(o4.get("idKelompokPasien").toString()), Collectors - .groupingBy(o5 -> o5.get("jenisRuangan").toString(), + Collectors.groupingBy(o3 -> Double.parseDouble(o3.get("hargaJasa").toString()), + Collectors.groupingBy(o4 -> Double.parseDouble(o4.get("hargaJual").toString()), + Collectors.groupingBy( + o5 -> Integer.parseInt(o5.get("idKelompokPasien") + .toString()), Collectors.groupingBy(o6 -> o6.get("tanggal").toString()))))))); List> result = new ArrayList<>(); collectTanggal.forEach((k1, v1) -> v1.forEach((k2, v2) -> v2 @@ -2119,9 +2090,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel HashMap map = new HashMap<>(); map.put("idProduk", k1); map.put("persenJasa", k2); - map.put("hargaJual", k3); - map.put("idKelompokPasien", k4); - map.put("jenisRuangan", k5); + map.put("hargaJasa", k3); + map.put("hargaJual", k4); + map.put("idKelompokPasien", k5); map.put("tanggal", k6); List norecs = v6.stream().map(e -> e.get("idPelayananPasien").toString()) .collect(Collectors.toList()); @@ -2136,13 +2107,56 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel map.put("tglPelayanan", e.get("tglPelayanan")); map.put("sortIdKelompokPasien", Integer.parseInt(e.get("sortIdKelompokPasien").toString())); map.put("sortIdKelas", Integer.parseInt(e.get("sortIdKelas").toString())); - map.put("jenisRuangan", e.get("jenisRuangan").toString()); }); result.add(map); })))))); return result; } + private List> groupingTanggalFfs(List> listData) { + Map>>>>>>>> collectTanggal = listData + .stream() + .collect(Collectors.groupingBy(o1 -> Integer.parseInt(o1.get("idProduk").toString()), + Collectors.groupingBy(o2 -> o2.get("persenJasa").toString(), Collectors.groupingBy( + o3 -> Double.parseDouble(o3.get("hargaJasa").toString()), Collectors.groupingBy( + o4 -> Double.parseDouble(o4.get("hargaJual").toString()), Collectors + .groupingBy( + o5 -> Integer.parseInt( + o5.get("idKelompokPasien").toString()), + Collectors.groupingBy(o6 -> o6.get("jenisRuangan").toString(), + Collectors.groupingBy( + o7 -> o7.get("tanggal").toString())))))))); + List> result = new ArrayList<>(); + collectTanggal.forEach((k1, v1) -> v1.forEach((k2, v2) -> v2.forEach((k3, v3) -> v3 + .forEach((k4, v4) -> v4.forEach((k5, v5) -> v5.forEach((k6, v6) -> v6.forEach((k7, v7) -> { + HashMap map = new HashMap<>(); + map.put("idProduk", k1); + map.put("persenJasa", k2); + map.put("hargaJasa", k3); + map.put("hargaJual", k4); + map.put("idKelompokPasien", k5); + map.put("jenisRuangan", k6); + map.put("tanggal", k7); + List norecs = v7.stream().map(e -> e.get("idPelayananPasien").toString()) + .collect(Collectors.toList()); + map.put("norecs", norecs); + double jumlah = v7.stream().mapToDouble(e -> Double.parseDouble(e.get("jumlah").toString())).sum(); + map.put("jumlah", jumlah); + Optional> first = v7.stream().findFirst(); + first.ifPresent(e -> { + map.put("namaProduk", e.get("namaProduk").toString()); + map.put("kelompokPasien", e.get("kelompokPasien").toString()); + map.put("hargaJasa", Double.parseDouble(e.get("hargaJasa").toString())); + map.put("tglPelayanan", e.get("tglPelayanan")); + map.put("sortIdKelompokPasien", Integer.parseInt(e.get("sortIdKelompokPasien").toString())); + map.put("sortIdKelas", Integer.parseInt(e.get("sortIdKelas").toString())); + map.put("jenisRuangan", e.get("jenisRuangan").toString()); + }); + result.add(map); + }))))))); + return result; + } + @Override public List> detailLogbookTarifDokter(Integer idPegawai, List norecs) { return pelayananPasienDao.findPelayananPasienByPetugasAndPelayananPasien(idPegawai, norecs);