Update IndekKinerjaServiceImpl.java

Penambahan filter harga komponen di logbook poin dan cetakan
This commit is contained in:
salmanoe 2022-11-11 13:14:11 +07:00
parent f726e8449d
commit 0ed7719aa1

View File

@ -2679,6 +2679,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> listProdukId = new ArrayList<>();
List<Integer> listKelasId = new ArrayList<>();
List<Double> listHargaKomponen = new ArrayList<>();
List<Integer> listPelaksanaId = new ArrayList<>();
List<Integer> listDetailJenisProduk = new ArrayList<>();
List<Integer> listDetailJenisProdukException = new ArrayList<>();
@ -3032,6 +3033,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
if (!listKelasId.contains(Integer.parseInt(map.get("idKelas").toString()))) {
listKelasId.add(Integer.parseInt(map.get("idKelas").toString()));
}
if (!listHargaKomponen.contains(Double.parseDouble(map.get("hargaKomponen").toString()))) {
listHargaKomponen.add(Double.parseDouble(map.get("hargaKomponen").toString()));
}
if (!listTanggalPelayanan.contains(map.get("tanggal").toString())) {
listTanggalPelayanan.add(map.get("tanggal").toString());
}
@ -3043,6 +3047,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Collections.sort(listKelasId, Collections.reverseOrder());
for (Integer idProduk : listProdukId) {
for (Integer idKelas : listKelasId) {
for (Double hargaKomponen : listHargaKomponen) {
for (Integer idPelaksana : listPelaksanaId) {
for (String tanggal : listTanggalPelayanan) {
Map<String, Object> mapResult1 = new HashMap<>();
@ -3054,6 +3059,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
for (Map<String, Object> map : rawResult) {
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& map.get("tanggal").toString().equals(tanggal)
&& (Double.parseDouble(map.get("diskon").toString()) > 0
@ -3066,6 +3072,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
}
} else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& map.get("tanggal").toString().equals(tanggal)) {
count2 = count2 + Double.parseDouble(map.get("count").toString());
@ -3087,9 +3094,11 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
}
}
}
}
for (Integer idProduk : listProdukId) {
for (Integer idKelas : listKelasId) {
for (Double hargaKomponen : listHargaKomponen) {
for (Integer idPelaksana : listPelaksanaId) {
Map<String, Object> mapResult1 = new HashMap<>();
Map<String, Object> mapResult2 = new HashMap<>();
@ -3111,6 +3120,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Map<String, Object> countMap = new HashMap<>();
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& (Double.parseDouble(map.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer
@ -3128,7 +3138,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} else if (map.get("namaProduk").toString().toLowerCase().contains("visit")) {
totalVisit1 = totalVisit1 + Double.parseDouble(map.get("count").toString());
} else {
totalTindakan1 = totalTindakan1 + Double.parseDouble(map.get("count").toString());
totalTindakan1 = totalTindakan1
+ Double.parseDouble(map.get("count").toString());
}
totalProduk1 = totalProduk1 + Double.parseDouble(map.get("count").toString());
counter1 = counter1 + 1;
@ -3137,6 +3148,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
}
} else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana) {
countMap.put("count", map.get("count"));
if (isSatuTarif && CommonUtil.isNotNullOrEmpty(map.get("hargaKelas1"))) {
@ -3151,7 +3163,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} else if (map.get("namaProduk").toString().toLowerCase().contains("visit")) {
totalVisit2 = totalVisit2 + Double.parseDouble(map.get("count").toString());
} else {
totalTindakan2 = totalTindakan2 + Double.parseDouble(map.get("count").toString());
totalTindakan2 = totalTindakan2
+ Double.parseDouble(map.get("count").toString());
}
totalProduk2 = totalProduk2 + Double.parseDouble(map.get("count").toString());
counter2 = counter2 + 1;
@ -3179,8 +3192,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) || Integer
.valueOf(mapResult1.get("statusDiskon").toString()).equals(0))) {
&& (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon"))
|| Integer.valueOf(mapResult1.get("statusDiskon").toString())
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult1.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -3192,14 +3206,15 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI;
}
} else {
if ((Integer) mapResult1
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) {
if ((Integer) mapResult1.get(
"idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS;
} else {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) || Integer
.valueOf(mapResult1.get("statusDiskon").toString()).equals(0))) {
&& (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon"))
|| Integer.valueOf(mapResult1.get("statusDiskon").toString())
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult1.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -3216,8 +3231,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
isDiskonJasamedis1);
} else {
percentage = percentage / 100;
point = getPoinLogbookDokter(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI,
isDiskonJasamedis1);
point = getPoinLogbookDokter(harga, percentage,
Master.LogbookDokter.TARIF_REMUNERASI, isDiskonJasamedis1);
}
pointQty = point * totalProduk1.doubleValue();
@ -3279,8 +3294,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) || Integer
.valueOf(mapResult2.get("statusDiskon").toString()).equals(0))) {
&& (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon"))
|| Integer.valueOf(mapResult2.get("statusDiskon").toString())
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult2.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -3292,14 +3308,15 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI;
}
} else {
if ((Integer) mapResult2
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) {
if ((Integer) mapResult2.get(
"idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS;
} else {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) || Integer
.valueOf(mapResult2.get("statusDiskon").toString()).equals(0))) {
&& (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon"))
|| Integer.valueOf(mapResult2.get("statusDiskon").toString())
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult2.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -3316,8 +3333,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
isDiskonJasamedis2);
} else {
percentage = percentage / 100;
point = getPoinLogbookDokter(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI,
isDiskonJasamedis2);
point = getPoinLogbookDokter(harga, percentage,
Master.LogbookDokter.TARIF_REMUNERASI, isDiskonJasamedis2);
}
pointQty = point * totalProduk2.doubleValue();
@ -3364,6 +3381,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
}
}
}
}
return result;
}
@ -3845,6 +3863,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> listProdukId = new ArrayList<>();
List<Integer> listKelasId = new ArrayList<>();
List<Double> listHargaKomponen = new ArrayList<>();
List<Integer> listPelaksanaId = new ArrayList<>();
List<Integer> listDetailJenisProduk = new ArrayList<>();
List<Integer> listDetailJenisProdukException = new ArrayList<>();
@ -4200,6 +4219,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
if (!listKelasId.contains(Integer.parseInt(map.get("idKelas").toString()))) {
listKelasId.add(Integer.parseInt(map.get("idKelas").toString()));
}
if (!listHargaKomponen.contains(Double.parseDouble(map.get("hargaKomponen").toString()))) {
listHargaKomponen.add(Double.parseDouble(map.get("hargaKomponen").toString()));
}
if (!listTanggalPelayanan.contains(map.get("tanggal").toString())) {
listTanggalPelayanan.add(map.get("tanggal").toString());
}
@ -4211,6 +4233,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Collections.sort(listKelasId, Collections.reverseOrder());
for (Integer idProduk : listProdukId) {
for (Integer idKelas : listKelasId) {
for (Double hargaKomponen : listHargaKomponen) {
for (Integer idPelaksana : listPelaksanaId) {
for (String tanggal : listTanggalPelayanan) {
Map<String, Object> mapResult1 = new HashMap<>();
@ -4222,6 +4245,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
for (Map<String, Object> map : rawResult) {
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& map.get("tanggal").toString().equals(tanggal)
&& (Double.valueOf(map.get("diskon").toString()) > 0
@ -4234,6 +4258,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
}
} else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& map.get("tanggal").toString().equals(tanggal)) {
count2 = count2 + Double.parseDouble(map.get("count").toString());
@ -4255,9 +4280,11 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
}
}
}
}
for (Integer idProduk : listProdukId) {
for (Integer idKelas : listKelasId) {
for (Double hargaKomponen : listHargaKomponen) {
for (Integer idPelaksana : listPelaksanaId) {
Map<String, Object> mapResult1 = new HashMap<>();
Map<String, Object> mapResult2 = new HashMap<>();
@ -4273,6 +4300,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Map<String, Object> countMap = new HashMap<>();
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& (Double.valueOf(map.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer
@ -4288,7 +4316,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
totalTindakan1 = totalTindakan1 + Double.parseDouble(map.get("count").toString());
String tgl = map.get("tanggal").toString().substring(8, 10);
Long count = (new Double(Double.parseDouble(map.get("count").toString()))).longValue();
Long count = (new Double(Double.parseDouble(map.get("count").toString())))
.longValue();
mapResult1.put(tgl, count.toString());
counter1 = counter1 + 1;
@ -4297,6 +4326,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
}
} else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana) {
countMap.put("count", map.get("count"));
if (isSatuTarif && CommonUtil.isNotNullOrEmpty(map.get("hargaKelas1"))) {
@ -4309,7 +4339,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
totalTindakan2 = totalTindakan2 + Double.parseDouble(map.get("count").toString());
String tgl = map.get("tanggal").toString().substring(8, 10);
Long count = (new Double(Double.parseDouble(map.get("count").toString()))).longValue();
Long count = (new Double(Double.parseDouble(map.get("count").toString())))
.longValue();
mapResult2.put(tgl, count.toString());
counter2 = counter2 + 1;
@ -4337,8 +4368,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) || Integer
.valueOf(mapResult1.get("statusDiskon").toString()).equals(0))) {
&& (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon"))
|| Integer.valueOf(mapResult1.get("statusDiskon").toString())
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult1.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -4350,14 +4382,15 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI;
}
} else {
if ((Integer) mapResult1
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) {
if ((Integer) mapResult1.get(
"idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS;
} else {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) || Integer
.valueOf(mapResult1.get("statusDiskon").toString()).equals(0))) {
&& (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon"))
|| Integer.valueOf(mapResult1.get("statusDiskon").toString())
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult1.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -4374,8 +4407,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
isDiskonJasamedis1);
} else {
percentage = percentage / 100;
point = getPoinLogbookDokter(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI,
isDiskonJasamedis1);
point = getPoinLogbookDokter(harga, percentage,
Master.LogbookDokter.TARIF_REMUNERASI, isDiskonJasamedis1);
}
pointQty = point * totalTindakan1.doubleValue();
@ -4416,8 +4449,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) || Integer
.valueOf(mapResult2.get("statusDiskon").toString()).equals(0))) {
&& (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon"))
|| Integer.valueOf(mapResult2.get("statusDiskon").toString())
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult2.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -4429,14 +4463,15 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_ANASTESI;
}
} else {
if ((Integer) mapResult2
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) {
if ((Integer) mapResult2.get(
"idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_ASISTEN_SPESIALIS;
} else {
percentage = Master.LogbookDokter.PERSENTASE_TINDAKAN_DOKTER_PEMERIKSA;
if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) || Integer
.valueOf(mapResult2.get("statusDiskon").toString()).equals(0))) {
&& (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon"))
|| Integer.valueOf(mapResult2.get("statusDiskon").toString())
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult2.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -4453,8 +4488,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
isDiskonJasamedis2);
} else {
percentage = percentage / 100;
point = getPoinLogbookDokter(harga, percentage, Master.LogbookDokter.TARIF_REMUNERASI,
isDiskonJasamedis2);
point = getPoinLogbookDokter(harga, percentage,
Master.LogbookDokter.TARIF_REMUNERASI, isDiskonJasamedis2);
}
pointQty = point * totalTindakan2.doubleValue();
@ -4480,6 +4515,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
}
}
}
}
return result;
}