Update PelayananPasienServiceImpl.java
Penerapan aturan persentase operasi non-jkn 1 dokter di 1 waktu
This commit is contained in:
parent
c43e6fb74a
commit
9119900a20
@ -657,6 +657,153 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
rawDataBpjs3.add(d);
|
rawDataBpjs3.add(d);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* Dapatkan semua pendaftaran non-jkn
|
||||||
|
*/
|
||||||
|
List<Map<String, Object>> listEpisode = new ArrayList<>();
|
||||||
|
for (Map<String, Object> d : listData) {
|
||||||
|
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))
|
||||||
|
&& Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
|
||||||
|
if (!listEpisode.contains(d.get("idPasienDaftar"))) {
|
||||||
|
Map<String, Object> episode = new HashMap<>();
|
||||||
|
episode.put("id", d.get("idPasienDaftar"));
|
||||||
|
episode.put("count", 1);
|
||||||
|
listEpisode.add(episode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Filter tindakan operasi non-jkn, persen jasa tereduksi seiring
|
||||||
|
* banyaknya operasi yang dilakukan di satu episode pasien yang sama
|
||||||
|
*/
|
||||||
|
for (Map<String, Object> d : listData) {
|
||||||
|
for (Map<String, Object> e : listEpisode) {
|
||||||
|
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))
|
||||||
|
&& Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||||
|
&& d.get("idPasienDaftar").equals(e.get("id"))) {
|
||||||
|
if (e.get("count").equals(1)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 100% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
1.0 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
1.0 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
1.0 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else if (e.get("count").equals(2)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 50% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.5 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.5 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.5 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else if (e.get("count").equals(3)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 40% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.4 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.4 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.4 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else if (e.get("count").equals(4)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 30% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.3 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.3 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.3 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else if (e.get("count").equals(5)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 20% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.2 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.2 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.2 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else if (e.get("count").equals(6)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 10% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.1 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.1 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.1 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 0% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.0 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.0 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.0 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Alokasi data diurutkan dulu untuk jam kerja. Asumsi jam kerja dokter
|
* Alokasi data diurutkan dulu untuk jam kerja. Asumsi jam kerja dokter
|
||||||
* nonshift
|
* nonshift
|
||||||
@ -999,6 +1146,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<Map<String, Object>> dataTanggal = new ArrayList<>();
|
List<Map<String, Object>> dataTanggal = new ArrayList<>();
|
||||||
List<Integer> listIdProduk = new ArrayList<>();
|
List<Integer> listIdProduk = new ArrayList<>();
|
||||||
List<String> listPersenJasa = new ArrayList<>();
|
List<String> listPersenJasa = new ArrayList<>();
|
||||||
|
List<Double> listHargaJasa = new ArrayList<>();
|
||||||
List<Double> listHargaJual = new ArrayList<>();
|
List<Double> listHargaJual = new ArrayList<>();
|
||||||
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
||||||
List<String> listTanggal = new ArrayList<>();
|
List<String> listTanggal = new ArrayList<>();
|
||||||
@ -1108,6 +1256,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
||||||
if (!listPersenJasa.contains(d.get("persenJasa")))
|
if (!listPersenJasa.contains(d.get("persenJasa")))
|
||||||
listPersenJasa.add(d.get("persenJasa").toString());
|
listPersenJasa.add(d.get("persenJasa").toString());
|
||||||
|
if (!listHargaJasa.contains(d.get("hargaJasa")))
|
||||||
|
listHargaJasa.add(Double.valueOf(d.get("hargaJasa").toString()));
|
||||||
if (!listHargaJual.contains(d.get("hargaJual")))
|
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(d.get("idKelompokPasien")))
|
if (!listIdKelompokPasien.contains(d.get("idKelompokPasien")))
|
||||||
@ -1120,6 +1270,7 @@ 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) {
|
||||||
@ -1129,6 +1280,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
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"))
|
||||||
|
&& hargaJasa.equals(map.get("hargaJasa"))
|
||||||
&& hargaJual.equals(map.get("hargaJual"))
|
&& hargaJual.equals(map.get("hargaJual"))
|
||||||
&& idKelompokPasien.equals(map.get("idKelompokPasien"))
|
&& idKelompokPasien.equals(map.get("idKelompokPasien"))
|
||||||
&& tanggal.equals(map.get("tanggal"))) {
|
&& tanggal.equals(map.get("tanggal"))) {
|
||||||
@ -1149,11 +1301,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Pengelompokkan produk layanan
|
* Pengelompokkan produk layanan
|
||||||
*/
|
*/
|
||||||
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<>();
|
||||||
@ -1164,6 +1318,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
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"))
|
||||||
|
&& hargaJasa.equals(map.get("hargaJasa"))
|
||||||
&& hargaJual.equals(map.get("hargaJual"))
|
&& hargaJual.equals(map.get("hargaJual"))
|
||||||
&& idKelompokPasien.equals(map.get("idKelompokPasien"))) {
|
&& idKelompokPasien.equals(map.get("idKelompokPasien"))) {
|
||||||
mapCount.put("jumlah", map.get("jumlah"));
|
mapCount.put("jumlah", map.get("jumlah"));
|
||||||
@ -1194,6 +1349,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Final sorting
|
* Final sorting
|
||||||
*/
|
*/
|
||||||
@ -1237,6 +1393,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<Map<String, Object>> dataTanggal = new ArrayList<>();
|
List<Map<String, Object>> dataTanggal = new ArrayList<>();
|
||||||
List<Integer> listIdProduk = new ArrayList<>();
|
List<Integer> listIdProduk = new ArrayList<>();
|
||||||
List<String> listPersenJasa = new ArrayList<>();
|
List<String> listPersenJasa = new ArrayList<>();
|
||||||
|
List<Double> listHargaJasa = new ArrayList<>();
|
||||||
List<Double> listHargaJual = new ArrayList<>();
|
List<Double> listHargaJual = new ArrayList<>();
|
||||||
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
||||||
List<String> listTanggal = new ArrayList<>();
|
List<String> listTanggal = new ArrayList<>();
|
||||||
@ -1314,6 +1471,153 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* Dapatkan semua pendaftaran non-jkn
|
||||||
|
*/
|
||||||
|
List<Map<String, Object>> listEpisode = new ArrayList<>();
|
||||||
|
for (Map<String, Object> d : listData) {
|
||||||
|
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))
|
||||||
|
&& Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))) {
|
||||||
|
if (!listEpisode.contains(d.get("idPasienDaftar"))) {
|
||||||
|
Map<String, Object> episode = new HashMap<>();
|
||||||
|
episode.put("id", d.get("idPasienDaftar"));
|
||||||
|
episode.put("count", 1);
|
||||||
|
listEpisode.add(episode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Filter tindakan operasi non-jkn, persen jasa tereduksi seiring
|
||||||
|
* banyaknya operasi yang dilakukan di satu episode pasien yang sama
|
||||||
|
*/
|
||||||
|
for (Map<String, Object> d : listData) {
|
||||||
|
for (Map<String, Object> e : listEpisode) {
|
||||||
|
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))
|
||||||
|
&& Master.Departemen.BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|
||||||
|
&& d.get("idPasienDaftar").equals(e.get("id"))) {
|
||||||
|
if (e.get("count").equals(1)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 100% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
1.0 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
1.0 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
1.0 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else if (e.get("count").equals(2)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 50% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.5 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.5 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.5 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else if (e.get("count").equals(3)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 40% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.4 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.4 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.4 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else if (e.get("count").equals(4)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 30% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.3 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.3 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.3 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else if (e.get("count").equals(5)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 20% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.2 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.2 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.2 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else if (e.get("count").equals(6)) {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 10% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.1 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.1 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.1 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
* Mendapatkan 0% dari tarif
|
||||||
|
*/
|
||||||
|
if (Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.0 * persenOperatorIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.0 * persenAsistenIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
} else if (Master.JenisPetugasPelaksana.DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
|
||||||
|
d.put("hargaJasa",
|
||||||
|
0.0 * persenAnestesiIBS / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
|
}
|
||||||
|
int count = Integer.parseInt(e.get("count").toString());
|
||||||
|
e.put("count", ++count);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Populate data filter
|
* Populate data filter
|
||||||
*/
|
*/
|
||||||
@ -1322,6 +1626,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
||||||
if (!listPersenJasa.contains(d.get("persenJasa")))
|
if (!listPersenJasa.contains(d.get("persenJasa")))
|
||||||
listPersenJasa.add(d.get("persenJasa").toString());
|
listPersenJasa.add(d.get("persenJasa").toString());
|
||||||
|
if (!listHargaJasa.contains(d.get("hargaJasa")))
|
||||||
|
listHargaJasa.add(Double.valueOf(d.get("hargaJasa").toString()));
|
||||||
if (!listHargaJual.contains(d.get("hargaJual")))
|
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(d.get("idKelompokPasien")))
|
if (!listIdKelompokPasien.contains(d.get("idKelompokPasien")))
|
||||||
@ -1336,6 +1642,7 @@ 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) {
|
||||||
@ -1345,7 +1652,9 @@ 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 (idProduk.equals(map.get("idProduk")) && persenJasa.equals(map.get("persenJasa"))
|
if (idProduk.equals(map.get("idProduk"))
|
||||||
|
&& persenJasa.equals(map.get("persenJasa"))
|
||||||
|
&& hargaJasa.equals(map.get("hargaJasa"))
|
||||||
&& hargaJual.equals(map.get("hargaJual"))
|
&& hargaJual.equals(map.get("hargaJual"))
|
||||||
&& idKelompokPasien.equals(map.get("idKelompokPasien"))
|
&& idKelompokPasien.equals(map.get("idKelompokPasien"))
|
||||||
&& jenisRuangan.equals(map.get("jenisRuangan"))
|
&& jenisRuangan.equals(map.get("jenisRuangan"))
|
||||||
@ -1368,11 +1677,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Pengelompokkan produk layanan
|
* Pengelompokkan produk layanan
|
||||||
*/
|
*/
|
||||||
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) {
|
||||||
@ -1384,6 +1695,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
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"))
|
||||||
|
&& hargaJasa.equals(map.get("hargaJasa"))
|
||||||
&& hargaJual.equals(map.get("hargaJual"))
|
&& hargaJual.equals(map.get("hargaJual"))
|
||||||
&& idKelompokPasien.equals(map.get("idKelompokPasien"))
|
&& idKelompokPasien.equals(map.get("idKelompokPasien"))
|
||||||
&& jenisRuangan.equals(map.get("jenisRuangan"))) {
|
&& jenisRuangan.equals(map.get("jenisRuangan"))) {
|
||||||
@ -1401,7 +1713,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
/*
|
/*
|
||||||
* Tambahkan data total
|
* Tambahkan data total
|
||||||
*/
|
*/
|
||||||
jumlahHargaJasa = jumlah * Double.parseDouble(mapResult.get("hargaJasa").toString());
|
jumlahHargaJasa = jumlah
|
||||||
|
* Double.parseDouble(mapResult.get("hargaJasa").toString());
|
||||||
mapResult.put("jumlah", jumlah);
|
mapResult.put("jumlah", jumlah);
|
||||||
mapResult.put("jumlahHargaJasa", jumlahHargaJasa);
|
mapResult.put("jumlahHargaJasa", jumlahHargaJasa);
|
||||||
/*
|
/*
|
||||||
@ -1415,6 +1728,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Final sorting
|
* Final sorting
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user