Update PelayananPasienServiceImpl.java

Rollback filter harga jasa di logbook dokter
This commit is contained in:
Salman Manoe 2023-06-26 08:54:41 +07:00
parent 1965c07bd6
commit 9012ce1a28

View File

@ -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<String, Object> mapResult = new HashMap<>();
List<Map<String, Object>> detail = new ArrayList<>();
int counter = 0;
double jumlah = 0.0;
double jumlahHargaJasa;
for (Map<String, Object> map : dataTanggal) {
Map<String, Object> 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<String, Object> mapResult = new HashMap<>();
List<Map<String, Object>> detail = new ArrayList<>();
int counter = 0;
double jumlah = 0.0;
double jumlahHargaJasa;
for (Map<String, Object> map : dataTanggal) {
Map<String, Object> 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<String, Object> mapResult = new HashMap<>();
List<Map<String, Object>> detail = new ArrayList<>();
int counter = 0;
double jumlah = 0.0;
double jumlahHargaJasa;
for (Map<String, Object> map : dataTanggal) {
Map<String, Object> 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<String, Object> mapResult = new HashMap<>();
List<Map<String, Object>> detail = new ArrayList<>();
int counter = 0;
double jumlah = 0.0;
double jumlahHargaJasa;
for (Map<String, Object> map : dataTanggal) {
Map<String, Object> 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<Map<String, Object>> groupingTanggalRemun(List<Map<String, Object>> listData) {
Map<Integer, Map<String, Map<Double, Map<Integer, Map<String, List<Map<String, Object>>>>>>> collectTanggal = listData
Map<Integer, Map<String, Map<Double, Map<Double, Map<Integer, Map<String, List<Map<String, Object>>>>>>>> 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<Map<String, Object>> result = new ArrayList<>();
collectTanggal.forEach((k1, v1) -> v1
.forEach((k2, v2) -> v2.forEach((k3, v3) -> v3.forEach((k4, v4) -> v4.forEach((k5, v5) -> {
HashMap<String, Object> map = new HashMap<>();
map.put("idProduk", k1);
map.put("persenJasa", k2);
map.put("hargaJual", k3);
map.put("idKelompokPasien", k4);
map.put("tanggal", k5);
List<String> 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<Map<String, Object>> 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<Map<String, Object>> groupingTanggalFfs(List<Map<String, Object>> listData) {
Map<Integer, Map<String, Map<Double, Map<Integer, Map<String, Map<String, List<Map<String, Object>>>>>>>> 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<Map<String, Object>> result = new ArrayList<>();
collectTanggal.forEach((k1, v1) -> v1.forEach((k2, v2) -> v2
@ -2119,9 +2090,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
HashMap<String, Object> 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<String> 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<Map<String, Object>> groupingTanggalFfs(List<Map<String, Object>> listData) {
Map<Integer, Map<String, Map<Double, Map<Double, Map<Integer, Map<String, Map<String, List<Map<String, Object>>>>>>>>> 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<Map<String, Object>> 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<String, Object> 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<String> 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<Map<String, Object>> 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<Map<String, Object>> detailLogbookTarifDokter(Integer idPegawai, List<String> norecs) {
return pelayananPasienDao.findPelayananPasienByPetugasAndPelayananPasien(idPegawai, norecs);