Update PelayananPasienServiceImpl.java
Perbaikan data exist untuk paket dan daftar paket di logbook fixed-pay
This commit is contained in:
parent
e7367e9114
commit
4ddd3446b6
@ -1651,138 +1651,151 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
}
|
||||
Set<String> setIdVoucherExcludeUndone = dataExcludeUndone.stream().map(d -> d.get("idVoucherDaftar").toString())
|
||||
.collect(Collectors.toSet());
|
||||
List<VoucherPaket> listVoucherExcludeUndone = voucherPaketDao.findAllByNoRecIn(setIdVoucherExcludeUndone);
|
||||
List<Integer> listIdPaketExcludeUndone = listVoucherExcludeUndone.stream().map(VoucherPaket::getPaketId)
|
||||
.collect(Collectors.toList());
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
{
|
||||
/*
|
||||
* Transformasi data tindakan utama dan reduce visite utama
|
||||
*/
|
||||
List<Map<String, Object>> layananKepalaPaket = pelayananPasienDao
|
||||
.findPelayananPasienByPaket(setIdVoucherExcludeUndone, listIdPaketExcludeUndone);
|
||||
List<String> concatIdProdukKelas = layananKepalaPaket.stream()
|
||||
.map(l -> l.get("idProduk").toString() + l.get("idKelas").toString()).collect(Collectors.toList());
|
||||
List<HargaNettoProdukByKelas> listTarif = hargaNettoProdukByKelasDao
|
||||
.findByConcateProdukKelas(concatIdProdukKelas);
|
||||
layananKepalaPaket.forEach(l -> {
|
||||
Optional<HargaNettoProdukByKelas> first = listTarif.stream().filter(
|
||||
t -> t.getProdukId().equals(l.get("idProduk")) && t.getKelasId().equals(l.get("idKelas")))
|
||||
.findFirst();
|
||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||
&& first.get().getHargaNetto1() > 0.0) {
|
||||
l.put("hargaJual", first.get().getHargaNetto1());
|
||||
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||
&& first.get().getHargaSatuan() > 0.0) {
|
||||
l.put("hargaJual", first.get().getHargaSatuan());
|
||||
if (CommonUtil.isNotNullOrEmpty(setIdVoucherExcludeUndone)) {
|
||||
List<VoucherPaket> listVoucherExcludeUndone = voucherPaketDao.findAllByNoRecIn(setIdVoucherExcludeUndone);
|
||||
List<Integer> listIdPaketExcludeUndone = listVoucherExcludeUndone.stream().map(VoucherPaket::getPaketId)
|
||||
.collect(Collectors.toList());
|
||||
if (CommonUtil.isNotNullOrEmpty(listIdPaketExcludeUndone)) {
|
||||
{
|
||||
/*
|
||||
* Transformasi data tindakan utama dan reduce visite utama
|
||||
*/
|
||||
List<Map<String, Object>> layananKepalaPaket = pelayananPasienDao
|
||||
.findPelayananPasienByPaket(setIdVoucherExcludeUndone, listIdPaketExcludeUndone);
|
||||
List<String> concatIdProdukKelas = layananKepalaPaket.stream()
|
||||
.map(l -> l.get("idProduk").toString() + l.get("idKelas").toString())
|
||||
.collect(Collectors.toList());
|
||||
List<HargaNettoProdukByKelas> listTarif = hargaNettoProdukByKelasDao
|
||||
.findByConcateProdukKelas(concatIdProdukKelas);
|
||||
layananKepalaPaket.forEach(l -> {
|
||||
Optional<HargaNettoProdukByKelas> first = listTarif.stream()
|
||||
.filter(t -> t.getProdukId().equals(l.get("idProduk"))
|
||||
&& t.getKelasId().equals(l.get("idKelas")))
|
||||
.findFirst();
|
||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||
&& first.get().getHargaNetto1() > 0.0) {
|
||||
l.put("hargaJual", first.get().getHargaNetto1());
|
||||
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||
&& first.get().getHargaSatuan() > 0.0) {
|
||||
l.put("hargaJual", first.get().getHargaSatuan());
|
||||
}
|
||||
});
|
||||
List<HargaNettoProdukByKelasD> listDetailTarif = hargaNettoProdukByKelasDDao
|
||||
.findByConcateProdukKelas(concatIdProdukKelas);
|
||||
layananKepalaPaket.forEach(l -> {
|
||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||
.filter(t -> t.getProdukId().equals(l.get("idProduk"))
|
||||
&& t.getKelasId().equals(l.get("idKelas"))
|
||||
&& JASA_DOKTER_OBGYN.equals(t.getKomponenHargaId()))
|
||||
.findFirst();
|
||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||
&& first.get().getHargaNetto1() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||
&& first.get().getHargaSatuan() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||
} else {
|
||||
l.put("hargaJasa", 0.0);
|
||||
}
|
||||
});
|
||||
result.addAll(layananKepalaPaket);
|
||||
}
|
||||
});
|
||||
List<HargaNettoProdukByKelasD> listDetailTarif = hargaNettoProdukByKelasDDao
|
||||
.findByConcateProdukKelas(concatIdProdukKelas);
|
||||
layananKepalaPaket.forEach(l -> {
|
||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||
.filter(t -> t.getProdukId().equals(l.get("idProduk"))
|
||||
&& t.getKelasId().equals(l.get("idKelas"))
|
||||
&& JASA_DOKTER_OBGYN.equals(t.getKomponenHargaId()))
|
||||
.findFirst();
|
||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||
&& first.get().getHargaNetto1() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||
&& first.get().getHargaSatuan() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||
} else {
|
||||
l.put("hargaJasa", 0.0);
|
||||
}
|
||||
});
|
||||
result.addAll(layananKepalaPaket);
|
||||
}
|
||||
{
|
||||
/*
|
||||
* Transformasi data tindakan lain-lain
|
||||
*/
|
||||
List<MapProdukPaket> listPaketUtama = listMapPaket.stream()
|
||||
.filter(mpaket -> listIdPaketExcludeUndone.contains(mpaket.getPaketId())
|
||||
&& (TINDAKAN_UTAMA.equals(mpaket.getJenisMapping())
|
||||
|| VISITE_UTAMA.equals(mpaket.getJenisMapping())))
|
||||
.collect(Collectors.toList());
|
||||
List<String> listIdMapPaket = listPaketUtama.stream().map(MapProdukPaket::getNoRec)
|
||||
.collect(Collectors.toList());
|
||||
List<Integer> listIdEntri = listMapProduk.stream()
|
||||
.filter(mproduk -> listIdMapPaket.contains(mproduk.getMapProdukPaketId()))
|
||||
.map(MapProdukPaketToProduk::getProdukId).collect(Collectors.toList());
|
||||
List<Map<String, Object>> listDataUtama = dataExcludeUndone.stream()
|
||||
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
|
||||
&& setIdVoucherExcludeUndone.contains(d.get("idVoucherDaftar").toString())
|
||||
&& listIdEntri.contains(Integer.parseInt(d.get("idProduk").toString())))
|
||||
.collect(Collectors.toList());
|
||||
Set<String> setIdPelayananUtama = listDataUtama.stream().map(d -> d.get("idPelayananPasien").toString())
|
||||
.collect(Collectors.toSet());
|
||||
List<Map<String, Object>> layananBadanPaket = dataExcludeUndone.stream()
|
||||
.filter(d -> !setIdPelayananUtama.contains(d.get("idPelayananPasien").toString()))
|
||||
.collect(Collectors.toList());
|
||||
List<String> concatIdProdukKelas = layananBadanPaket.stream()
|
||||
.map(l -> l.get("idProduk").toString() + l.get("idKelas").toString()).collect(Collectors.toList());
|
||||
List<HargaNettoProdukByKelasD> listDetailTarif = hargaNettoProdukByKelasDDao
|
||||
.findByConcateProdukKelas(concatIdProdukKelas);
|
||||
Set<String> setNorecs = layananBadanPaket.stream().map(l -> l.get("idPelayananPasien").toString())
|
||||
.collect(Collectors.toSet());
|
||||
List<Map<String, Object>> mappingBadanPaket = pelayananPasienDao.findByNorecs(setNorecs);
|
||||
layananBadanPaket.forEach(l -> {
|
||||
Optional<Map<String, Object>> firstMap = mappingBadanPaket.stream()
|
||||
.filter(m -> l.get("idPelayananPasien").toString().equals(m.get("norec"))).findFirst();
|
||||
if (firstMap.isPresent()) {
|
||||
if (DOKTER_PEMERIKSA.equals(l.get("idJenisPelaksana"))) {
|
||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
||||
&& t.getKelasId().equals(l.get("idKelas"))
|
||||
&& JASA_DOKTER.equals(t.getKomponenHargaId()))
|
||||
.findFirst();
|
||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||
&& first.get().getHargaNetto1() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||
&& first.get().getHargaSatuan() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||
} else {
|
||||
l.put("hargaJasa", 0.0);
|
||||
}
|
||||
} else if (ASISTEN_SPESIALIS.equals(l.get("idJenisPelaksana"))) {
|
||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
||||
&& t.getKelasId().equals(l.get("idKelas"))
|
||||
&& JASA_ASISTEN_SPESIALIS.equals(t.getKomponenHargaId()))
|
||||
.findFirst();
|
||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||
&& first.get().getHargaNetto1() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||
&& first.get().getHargaSatuan() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||
} else {
|
||||
l.put("hargaJasa", 0.0);
|
||||
}
|
||||
} else if (DOKTER_ANASTESI.equals(l.get("idJenisPelaksana"))) {
|
||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
||||
&& t.getKelasId().equals(l.get("idKelas"))
|
||||
&& JASA_DOKTER_ANASTESI.equals(t.getKomponenHargaId()))
|
||||
.findFirst();
|
||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||
&& first.get().getHargaNetto1() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||
} else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||
&& first.get().getHargaSatuan() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||
} else {
|
||||
l.put("hargaJasa", 0.0);
|
||||
}
|
||||
{
|
||||
/*
|
||||
* Transformasi data tindakan lain-lain
|
||||
*/
|
||||
List<MapProdukPaket> listPaketUtama = listMapPaket.stream()
|
||||
.filter(mpaket -> listIdPaketExcludeUndone.contains(mpaket.getPaketId())
|
||||
&& (TINDAKAN_UTAMA.equals(mpaket.getJenisMapping())
|
||||
|| VISITE_UTAMA.equals(mpaket.getJenisMapping())))
|
||||
.collect(Collectors.toList());
|
||||
List<String> listIdMapPaket = listPaketUtama.stream().map(MapProdukPaket::getNoRec)
|
||||
.collect(Collectors.toList());
|
||||
List<Integer> listIdEntri = listMapProduk.stream()
|
||||
.filter(mproduk -> listIdMapPaket.contains(mproduk.getMapProdukPaketId()))
|
||||
.map(MapProdukPaketToProduk::getProdukId).collect(Collectors.toList());
|
||||
List<Map<String, Object>> listDataUtama = dataExcludeUndone.stream()
|
||||
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
|
||||
&& setIdVoucherExcludeUndone.contains(d.get("idVoucherDaftar").toString())
|
||||
&& listIdEntri.contains(Integer.parseInt(d.get("idProduk").toString())))
|
||||
.collect(Collectors.toList());
|
||||
Set<String> setIdPelayananUtama = listDataUtama.stream()
|
||||
.map(d -> d.get("idPelayananPasien").toString()).collect(Collectors.toSet());
|
||||
List<Map<String, Object>> layananBadanPaket = dataExcludeUndone.stream()
|
||||
.filter(d -> !setIdPelayananUtama.contains(d.get("idPelayananPasien").toString()))
|
||||
.collect(Collectors.toList());
|
||||
List<String> concatIdProdukKelas = layananBadanPaket.stream()
|
||||
.map(l -> l.get("idProduk").toString() + l.get("idKelas").toString())
|
||||
.collect(Collectors.toList());
|
||||
if (CommonUtil.isNotNullOrEmpty(concatIdProdukKelas)) {
|
||||
List<HargaNettoProdukByKelasD> listDetailTarif = hargaNettoProdukByKelasDDao
|
||||
.findByConcateProdukKelas(concatIdProdukKelas);
|
||||
Set<String> setNorecs = layananBadanPaket.stream()
|
||||
.map(l -> l.get("idPelayananPasien").toString()).collect(Collectors.toSet());
|
||||
List<Map<String, Object>> mappingBadanPaket = pelayananPasienDao.findByNorecs(setNorecs);
|
||||
layananBadanPaket.forEach(l -> {
|
||||
Optional<Map<String, Object>> firstMap = mappingBadanPaket.stream()
|
||||
.filter(m -> l.get("idPelayananPasien").toString().equals(m.get("norec")))
|
||||
.findFirst();
|
||||
if (firstMap.isPresent()) {
|
||||
if (DOKTER_PEMERIKSA.equals(l.get("idJenisPelaksana"))) {
|
||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
||||
&& t.getKelasId().equals(l.get("idKelas"))
|
||||
&& JASA_DOKTER.equals(t.getKomponenHargaId()))
|
||||
.findFirst();
|
||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||
&& first.get().getHargaNetto1() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||
} else if (first.isPresent()
|
||||
&& CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||
&& first.get().getHargaSatuan() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||
} else {
|
||||
l.put("hargaJasa", 0.0);
|
||||
}
|
||||
} else if (ASISTEN_SPESIALIS.equals(l.get("idJenisPelaksana"))) {
|
||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
||||
&& t.getKelasId().equals(l.get("idKelas"))
|
||||
&& JASA_ASISTEN_SPESIALIS.equals(t.getKomponenHargaId()))
|
||||
.findFirst();
|
||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||
&& first.get().getHargaNetto1() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||
} else if (first.isPresent()
|
||||
&& CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||
&& first.get().getHargaSatuan() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||
} else {
|
||||
l.put("hargaJasa", 0.0);
|
||||
}
|
||||
} else if (DOKTER_ANASTESI.equals(l.get("idJenisPelaksana"))) {
|
||||
Optional<HargaNettoProdukByKelasD> first = listDetailTarif.stream()
|
||||
.filter(t -> t.getProdukId().equals(firstMap.get().get("produkPaketId"))
|
||||
&& t.getKelasId().equals(l.get("idKelas"))
|
||||
&& JASA_DOKTER_ANASTESI.equals(t.getKomponenHargaId()))
|
||||
.findFirst();
|
||||
if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1())
|
||||
&& first.get().getHargaNetto1() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaNetto1());
|
||||
} else if (first.isPresent()
|
||||
&& CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan())
|
||||
&& first.get().getHargaSatuan() > 0.0) {
|
||||
l.put("hargaJasa", first.get().getHargaSatuan());
|
||||
} else {
|
||||
l.put("hargaJasa", 0.0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
l.put("hargaJasa", 0.0);
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
l.put("hargaJasa", 0.0);
|
||||
result.addAll(layananBadanPaket);
|
||||
}
|
||||
});
|
||||
result.addAll(layananBadanPaket);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user