Update remunerasi services

Pembuatan logbook poin analisis acuan konsultasi eksekutif
This commit is contained in:
salmanoe 2022-11-15 22:41:32 +07:00
parent ab70ec1211
commit faa29f9338
6 changed files with 593 additions and 646 deletions

View File

@ -132,14 +132,6 @@ public interface RevIndekKinerjaDao extends PagingAndSortingRepository<IndekKine
+ "or (harga.statusEnabled is false and harga.reportDisplay <> 'tarif_2022_Nov')) " + "or (harga.statusEnabled is false and harga.reportDisplay <> 'tarif_2022_Nov')) "
+ "and harga.kelasId = :idKelasSatu) as hargaKelas1, " + "pelayananPasien.noRec as noRec, " + "and harga.kelasId = :idKelasSatu) as hargaKelas1, " + "pelayananPasien.noRec as noRec, "
+ "coalesce(pelayananPasien.hargaSatuan, 0) as harga, " + "coalesce(pelayananPasien.hargaSatuan, 0) as harga, "
+ "coalesce((select coalesce(ppd.hargaJual,0) from PelayananPasienDetail ppd "
+ "where ppd.pelayananPasienId = pelayananPasien.noRec "
+ "and ((ppd.komponenHargaId = 35 and jenisPetugas.id = 4) "
+ "or (ppd.komponenHargaId = 22 and jenisPetugas.id = 13) "
+ "or (ppd.komponenHargaId = 21 and jenisPetugas.id = 6))),"
+ "(select coalesce(ppd.hargaJual,0) from PelayananPasienDetail ppd "
+ "where ppd.pelayananPasienId = pelayananPasien.noRec "
+ "and ppd.komponenHargaId = 21 and jenisPetugas.id = 4),0) as hargaKomponen, "
+ "coalesce(pelayananPasien.hargaDiscount,0) as diskon, " + "pelayananPasien.jumlah as count, " + "coalesce(pelayananPasien.hargaDiscount,0) as diskon, " + "pelayananPasien.jumlah as count, "
+ "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tanggal, " + "to_char(pelayananPasien.tglPelayanan,'yyyy-MM-dd') as tanggal, "
+ "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, " + "cast(pelayananPasien.tglPelayanan as timestamp) as tanggalPelayanan, "

View File

@ -70,7 +70,11 @@ public interface IndekKinerjaService {
List<Map<String, Object>> getAllTindakanByDokter(String periode, Integer idPegawai); List<Map<String, Object>> getAllTindakanByDokter(String periode, Integer idPegawai);
List<Map<String, Object>> getAllTindakanByDokterReview(String periode, Integer idPegawai); /**
* @param idAlternatif
* = 1-Reguler, 2-Eksekutif
*/
List<Map<String, Object>> getAllTindakanByDokterReview(String periode, Integer idPegawai, Integer idAlternatif);
List<Map<String, Object>> getAllTindakanByDokterReviewForReport(String periode, Integer idPegawai); List<Map<String, Object>> getAllTindakanByDokterReviewForReport(String periode, Integer idPegawai);
@ -80,7 +84,7 @@ public interface IndekKinerjaService {
List<Map<String, Object>> getAllTindakanByDokterReport(String periode, Integer idPegawai); List<Map<String, Object>> getAllTindakanByDokterReport(String periode, Integer idPegawai);
List<Map<String, Object>> getAllTindakanByDokterReportReview(String periode, Integer idPegawai); List<Map<String, Object>> getAllTindakanByDokterReportReview(String periode, Integer idPegawai, Integer idAlternatif);
List<Map<String, Object>> getAllTindakanDokter(String periode, Integer idPegawai); List<Map<String, Object>> getAllTindakanDokter(String periode, Integer idPegawai);

View File

@ -2667,7 +2667,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
@Override @Override
public List<Map<String, Object>> getAllTindakanByDokterReview(String periode, Integer idPegawai) { public List<Map<String, Object>> getAllTindakanByDokterReview(String periode, Integer idPegawai,
Integer idAlternatif) {
if (pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(Master.KategoryPegawai.DOKTER_LUAR)) if (pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(Master.KategoryPegawai.DOKTER_LUAR))
.contains(idPegawai)) { .contains(idPegawai)) {
return new ArrayList<>(); return new ArrayList<>();
@ -2679,7 +2680,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
List<Integer> listProdukId = new ArrayList<>(); List<Integer> listProdukId = new ArrayList<>();
List<Integer> listKelasId = new ArrayList<>(); List<Integer> listKelasId = new ArrayList<>();
List<Double> listHargaKomponen = new ArrayList<>();
List<Integer> listPelaksanaId = new ArrayList<>(); List<Integer> listPelaksanaId = new ArrayList<>();
List<Integer> listDetailJenisProduk = new ArrayList<>(); List<Integer> listDetailJenisProduk = new ArrayList<>();
List<Integer> listDetailJenisProdukException = new ArrayList<>(); List<Integer> listDetailJenisProdukException = new ArrayList<>();
@ -2694,16 +2694,13 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM"); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
Date datePeriode = new Date(); Date datePeriode = new Date();
Date dateAkhirTarifLama = batasAkhirTarifLama();
boolean isSatuTarif = true;
try { try {
datePeriode = dateFormat.parse(periode); datePeriode = dateFormat.parse(periode);
if (dateAkhirTarifLama != null && datePeriode.after(dateAkhirTarifLama)) {
isSatuTarif = false;
}
} catch (ParseException e) { } catch (ParseException e) {
e.printStackTrace(); e.printStackTrace();
} }
Date dateAkhirTarifLama = batasAkhirTarifLama();
boolean isSatuTarif = false;
DecimalFormat df = new DecimalFormat("#.##"); DecimalFormat df = new DecimalFormat("#.##");
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@ -2744,6 +2741,19 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Double komponenDasar = Double.parseDouble(GetSettingDataFixed("ld_komponen_dasar")); Double komponenDasar = Double.parseDouble(GetSettingDataFixed("ld_komponen_dasar"));
Double persenOperator = Double.parseDouble(GetSettingDataFixed("ld_persen_operator")); Double persenOperator = Double.parseDouble(GetSettingDataFixed("ld_persen_operator"));
Double persenCooperator = Double.parseDouble(GetSettingDataFixed("ld_persen_cooperator")); Double persenCooperator = Double.parseDouble(GetSettingDataFixed("ld_persen_cooperator"));
if (idAlternatif == 1 && (datePeriode.before(dateAkhirTarifLama) || datePeriode.equals(dateAkhirTarifLama))) {
komponenDasar = 45_000.0;
persenOperator = 30.0;
persenCooperator = 15.0;
} else if (idAlternatif == 1 && datePeriode.after(dateAkhirTarifLama)) {
komponenDasar = 120_000.0;
persenOperator = 60.0;
persenCooperator = 30.0;
} else if (idAlternatif == 2 && datePeriode.after(dateAkhirTarifLama)) {
komponenDasar = 210_000.0;
persenOperator = 70.0;
persenCooperator = 35.0;
}
// LOGIC_RULES_REMUN // LOGIC_RULES_REMUN
if (CommonUtil.isNotNullOrEmpty(listData)) { if (CommonUtil.isNotNullOrEmpty(listData)) {
@ -2842,8 +2852,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai) && map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|| Master.KelompokPasien.KEMENKES || Master.KelompokPasien.KEMENKES
.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
@ -3040,9 +3049,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
if (!listKelasId.contains(Integer.parseInt(map.get("idKelas").toString()))) { if (!listKelasId.contains(Integer.parseInt(map.get("idKelas").toString()))) {
listKelasId.add(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())) { if (!listTanggalPelayanan.contains(map.get("tanggal").toString())) {
listTanggalPelayanan.add(map.get("tanggal").toString()); listTanggalPelayanan.add(map.get("tanggal").toString());
} }
@ -3054,7 +3060,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Collections.sort(listKelasId, Collections.reverseOrder()); Collections.sort(listKelasId, Collections.reverseOrder());
for (Integer idProduk : listProdukId) { for (Integer idProduk : listProdukId) {
for (Integer idKelas : listKelasId) { for (Integer idKelas : listKelasId) {
for (Double hargaKomponen : listHargaKomponen) {
for (Integer idPelaksana : listPelaksanaId) { for (Integer idPelaksana : listPelaksanaId) {
for (String tanggal : listTanggalPelayanan) { for (String tanggal : listTanggalPelayanan) {
Map<String, Object> mapResult1 = new HashMap<>(); Map<String, Object> mapResult1 = new HashMap<>();
@ -3066,7 +3071,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
for (Map<String, Object> map : rawResult) { for (Map<String, Object> map : rawResult) {
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& map.get("tanggal").toString().equals(tanggal) && map.get("tanggal").toString().equals(tanggal)
&& (Double.parseDouble(map.get("diskon").toString()) > 0 && (Double.parseDouble(map.get("diskon").toString()) > 0
@ -3079,7 +3083,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk } else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& map.get("tanggal").toString().equals(tanggal)) { && map.get("tanggal").toString().equals(tanggal)) {
count2 = count2 + Double.parseDouble(map.get("count").toString()); count2 = count2 + Double.parseDouble(map.get("count").toString());
@ -3101,11 +3104,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} }
} }
}
for (Integer idProduk : listProdukId) { for (Integer idProduk : listProdukId) {
for (Integer idKelas : listKelasId) { for (Integer idKelas : listKelasId) {
for (Double hargaKomponen : listHargaKomponen) {
for (Integer idPelaksana : listPelaksanaId) { for (Integer idPelaksana : listPelaksanaId) {
Map<String, Object> mapResult1 = new HashMap<>(); Map<String, Object> mapResult1 = new HashMap<>();
Map<String, Object> mapResult2 = new HashMap<>(); Map<String, Object> mapResult2 = new HashMap<>();
@ -3127,7 +3128,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Map<String, Object> countMap = new HashMap<>(); Map<String, Object> countMap = new HashMap<>();
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& (Double.parseDouble(map.get("diskon").toString()) > 0 && (Double.parseDouble(map.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer
@ -3145,8 +3145,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} else if (map.get("namaProduk").toString().toLowerCase().contains("visit")) { } else if (map.get("namaProduk").toString().toLowerCase().contains("visit")) {
totalVisit1 = totalVisit1 + Double.parseDouble(map.get("count").toString()); totalVisit1 = totalVisit1 + Double.parseDouble(map.get("count").toString());
} else { } else {
totalTindakan1 = totalTindakan1 totalTindakan1 = totalTindakan1 + Double.parseDouble(map.get("count").toString());
+ Double.parseDouble(map.get("count").toString());
} }
totalProduk1 = totalProduk1 + Double.parseDouble(map.get("count").toString()); totalProduk1 = totalProduk1 + Double.parseDouble(map.get("count").toString());
counter1 = counter1 + 1; counter1 = counter1 + 1;
@ -3155,7 +3154,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk } else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana) { && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana) {
countMap.put("count", map.get("count")); countMap.put("count", map.get("count"));
if (isSatuTarif && CommonUtil.isNotNullOrEmpty(map.get("hargaKelas1"))) { if (isSatuTarif && CommonUtil.isNotNullOrEmpty(map.get("hargaKelas1"))) {
@ -3170,8 +3168,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} else if (map.get("namaProduk").toString().toLowerCase().contains("visit")) { } else if (map.get("namaProduk").toString().toLowerCase().contains("visit")) {
totalVisit2 = totalVisit2 + Double.parseDouble(map.get("count").toString()); totalVisit2 = totalVisit2 + Double.parseDouble(map.get("count").toString());
} else { } else {
totalTindakan2 = totalTindakan2 totalTindakan2 = totalTindakan2 + Double.parseDouble(map.get("count").toString());
+ Double.parseDouble(map.get("count").toString());
} }
totalProduk2 = totalProduk2 + Double.parseDouble(map.get("count").toString()); totalProduk2 = totalProduk2 + Double.parseDouble(map.get("count").toString());
counter2 = counter2 + 1; counter2 = counter2 + 1;
@ -3192,16 +3189,14 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
if (drAnastesiList.contains(idPegawai)) { if (drAnastesiList.contains(idPegawai)) {
if (idsPenunjangBukanAnestesi if (idsPenunjangBukanAnestesi.contains(mapResult1.get("idProduk"))) {
.contains(mapResult1.get("idProduk"))) {
percentage = persenOperator; percentage = persenOperator;
} else if ((Integer) mapResult1 } else if ((Integer) mapResult1
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) { .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
percentage = persenOperator; percentage = persenOperator;
if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0 if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) && (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) || Integer
|| Integer.valueOf(mapResult1.get("statusDiskon").toString()) .valueOf(mapResult1.get("statusDiskon").toString()).equals(0))) {
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult1.get("noRec").toString()); .totalDiskonJasamedis(mapResult1.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis) if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -3213,15 +3208,14 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
percentage = persenCooperator; percentage = persenCooperator;
} }
} else { } else {
if ((Integer) mapResult1.get( if ((Integer) mapResult1
"idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) { .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) {
percentage = persenCooperator; percentage = persenCooperator;
} else { } else {
percentage = persenOperator; percentage = persenOperator;
if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0 if (Double.parseDouble(mapResult1.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) && (CommonUtil.isNullOrEmpty(mapResult1.get("statusDiskon")) || Integer
|| Integer.valueOf(mapResult1.get("statusDiskon").toString()) .valueOf(mapResult1.get("statusDiskon").toString()).equals(0))) {
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult1.get("noRec").toString()); .totalDiskonJasamedis(mapResult1.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis) if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -3232,16 +3226,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} }
if (datePeriode.after(dateAkhirTarifLama)) {
point = getPoinLogbookDokter(
Double.parseDouble(mapResult1.get("hargaKomponen").toString()),
isDiskonJasamedis1);
} else {
percentage = percentage / 100; percentage = percentage / 100;
point = getPoinLogbookDokter(harga, percentage, point = getPoinLogbookDokter(harga, percentage, komponenDasar, isDiskonJasamedis1);
komponenDasar, isDiskonJasamedis1);
}
pointQty = point * totalProduk1.doubleValue(); pointQty = point * totalProduk1.doubleValue();
formatPointQty = Double.parseDouble(df.format(pointQty)); formatPointQty = Double.parseDouble(df.format(pointQty));
@ -3294,16 +3280,14 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
if (drAnastesiList.contains(idPegawai)) { if (drAnastesiList.contains(idPegawai)) {
if (idsPenunjangBukanAnestesi if (idsPenunjangBukanAnestesi.contains(mapResult2.get("idProduk"))) {
.contains(mapResult2.get("idProduk"))) {
percentage = persenOperator; percentage = persenOperator;
} else if ((Integer) mapResult2 } else if ((Integer) mapResult2
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) { .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
percentage = persenOperator; percentage = persenOperator;
if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0 if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) && (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) || Integer
|| Integer.valueOf(mapResult2.get("statusDiskon").toString()) .valueOf(mapResult2.get("statusDiskon").toString()).equals(0))) {
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult2.get("noRec").toString()); .totalDiskonJasamedis(mapResult2.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis) if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -3315,15 +3299,14 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
percentage = persenCooperator; percentage = persenCooperator;
} }
} else { } else {
if ((Integer) mapResult2.get( if ((Integer) mapResult2
"idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) { .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.ASISTEN_SPESIALIS) {
percentage = persenCooperator; percentage = persenCooperator;
} else { } else {
percentage = persenOperator; percentage = persenOperator;
if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0 if (Double.parseDouble(mapResult2.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) && (CommonUtil.isNullOrEmpty(mapResult2.get("statusDiskon")) || Integer
|| Integer.valueOf(mapResult2.get("statusDiskon").toString()) .valueOf(mapResult2.get("statusDiskon").toString()).equals(0))) {
.equals(0))) {
Double totalDiskonJasamedis = pelayananPasienDetailDao Double totalDiskonJasamedis = pelayananPasienDetailDao
.totalDiskonJasamedis(mapResult2.get("noRec").toString()); .totalDiskonJasamedis(mapResult2.get("noRec").toString());
if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis) if (CommonUtil.isNotNullOrEmpty(totalDiskonJasamedis)
@ -3334,16 +3317,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} }
if (datePeriode.after(dateAkhirTarifLama)) {
point = getPoinLogbookDokter(
Double.parseDouble(mapResult2.get("hargaKomponen").toString()),
isDiskonJasamedis2);
} else {
percentage = percentage / 100; percentage = percentage / 100;
point = getPoinLogbookDokter(harga, percentage, point = getPoinLogbookDokter(harga, percentage, komponenDasar, isDiskonJasamedis2);
komponenDasar, isDiskonJasamedis2);
}
pointQty = point * totalProduk2.doubleValue(); pointQty = point * totalProduk2.doubleValue();
formatPointQty = Double.parseDouble(df.format(pointQty)); formatPointQty = Double.parseDouble(df.format(pointQty));
@ -3388,7 +3363,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} }
} }
}
return result; return result;
} }
@ -3553,8 +3527,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai) && map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|| Master.KelompokPasien.KEMENKES || Master.KelompokPasien.KEMENKES
.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
@ -3829,8 +3802,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
if (drAnastesiList.contains(idPegawai)) { if (drAnastesiList.contains(idPegawai)) {
if (idsPenunjangBukanAnestesi if (idsPenunjangBukanAnestesi.contains(mapResult.get("idProduk"))) {
.contains(mapResult.get("idProduk"))) {
percentage = persenOperator; percentage = persenOperator;
} else if ((Integer) mapResult } else if ((Integer) mapResult
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) { .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
@ -3870,14 +3842,13 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
@Override @Override
public List<Map<String, Object>> getAllTindakanByDokterReportReview(String periode, Integer idPegawai) { public List<Map<String, Object>> getAllTindakanByDokterReportReview(String periode, Integer idPegawai, Integer idAlternatif) {
List<Map<String, Object>> result = new ArrayList<>(); List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> rawResult = new ArrayList<>(); List<Map<String, Object>> rawResult = new ArrayList<>();
List<Map<String, Object>> countResult = new ArrayList<>(); List<Map<String, Object>> countResult = new ArrayList<>();
List<Integer> listProdukId = new ArrayList<>(); List<Integer> listProdukId = new ArrayList<>();
List<Integer> listKelasId = new ArrayList<>(); List<Integer> listKelasId = new ArrayList<>();
List<Double> listHargaKomponen = new ArrayList<>();
List<Integer> listPelaksanaId = new ArrayList<>(); List<Integer> listPelaksanaId = new ArrayList<>();
List<Integer> listDetailJenisProduk = new ArrayList<>(); List<Integer> listDetailJenisProduk = new ArrayList<>();
List<Integer> listDetailJenisProdukException = new ArrayList<>(); List<Integer> listDetailJenisProdukException = new ArrayList<>();
@ -3898,16 +3869,13 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM"); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
Date datePeriode = new Date(); Date datePeriode = new Date();
Date dateAkhirTarifLama = batasAkhirTarifLama();
boolean isSatuTarif = true;
try { try {
datePeriode = dateFormat.parse(periode); datePeriode = dateFormat.parse(periode);
if (dateAkhirTarifLama != null && datePeriode.after(dateAkhirTarifLama)) {
isSatuTarif = false;
}
} catch (ParseException e) { } catch (ParseException e) {
e.printStackTrace(); e.printStackTrace();
} }
Date dateAkhirTarifLama = batasAkhirTarifLama();
boolean isSatuTarif = false;
int maxday = monitoringAbsenService.iterateDate(periode + "-01"); int maxday = monitoringAbsenService.iterateDate(periode + "-01");
@ -3944,6 +3912,19 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Double komponenDasar = Double.parseDouble(GetSettingDataFixed("ld_komponen_dasar")); Double komponenDasar = Double.parseDouble(GetSettingDataFixed("ld_komponen_dasar"));
Double persenOperator = Double.parseDouble(GetSettingDataFixed("ld_persen_operator")); Double persenOperator = Double.parseDouble(GetSettingDataFixed("ld_persen_operator"));
Double persenCooperator = Double.parseDouble(GetSettingDataFixed("ld_persen_cooperator")); Double persenCooperator = Double.parseDouble(GetSettingDataFixed("ld_persen_cooperator"));
if (idAlternatif == 1 && (datePeriode.before(dateAkhirTarifLama) || datePeriode.equals(dateAkhirTarifLama))) {
komponenDasar = 45_000.0;
persenOperator = 30.0;
persenCooperator = 15.0;
} else if (idAlternatif == 1 && datePeriode.after(dateAkhirTarifLama)) {
komponenDasar = 120_000.0;
persenOperator = 60.0;
persenCooperator = 30.0;
} else if (idAlternatif == 2 && datePeriode.after(dateAkhirTarifLama)) {
komponenDasar = 210_000.0;
persenOperator = 70.0;
persenCooperator = 35.0;
}
if (CommonUtil.isNotNullOrEmpty(listData)) { if (CommonUtil.isNotNullOrEmpty(listData)) {
for (Map<String, Object> map : listData) { for (Map<String, Object> map : listData) {
@ -4042,8 +4023,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai) && map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|| Master.KelompokPasien.KEMENKES || Master.KelompokPasien.KEMENKES
.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
@ -4240,9 +4220,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
if (!listKelasId.contains(Integer.parseInt(map.get("idKelas").toString()))) { if (!listKelasId.contains(Integer.parseInt(map.get("idKelas").toString()))) {
listKelasId.add(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())) { if (!listTanggalPelayanan.contains(map.get("tanggal").toString())) {
listTanggalPelayanan.add(map.get("tanggal").toString()); listTanggalPelayanan.add(map.get("tanggal").toString());
} }
@ -4254,7 +4231,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Collections.sort(listKelasId, Collections.reverseOrder()); Collections.sort(listKelasId, Collections.reverseOrder());
for (Integer idProduk : listProdukId) { for (Integer idProduk : listProdukId) {
for (Integer idKelas : listKelasId) { for (Integer idKelas : listKelasId) {
for (Double hargaKomponen : listHargaKomponen) {
for (Integer idPelaksana : listPelaksanaId) { for (Integer idPelaksana : listPelaksanaId) {
for (String tanggal : listTanggalPelayanan) { for (String tanggal : listTanggalPelayanan) {
Map<String, Object> mapResult1 = new HashMap<>(); Map<String, Object> mapResult1 = new HashMap<>();
@ -4266,7 +4242,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
for (Map<String, Object> map : rawResult) { for (Map<String, Object> map : rawResult) {
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& map.get("tanggal").toString().equals(tanggal) && map.get("tanggal").toString().equals(tanggal)
&& (Double.valueOf(map.get("diskon").toString()) > 0 && (Double.valueOf(map.get("diskon").toString()) > 0
@ -4279,7 +4254,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk } else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& map.get("tanggal").toString().equals(tanggal)) { && map.get("tanggal").toString().equals(tanggal)) {
count2 = count2 + Double.parseDouble(map.get("count").toString()); count2 = count2 + Double.parseDouble(map.get("count").toString());
@ -4301,11 +4275,9 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} }
} }
}
for (Integer idProduk : listProdukId) { for (Integer idProduk : listProdukId) {
for (Integer idKelas : listKelasId) { for (Integer idKelas : listKelasId) {
for (Double hargaKomponen : listHargaKomponen) {
for (Integer idPelaksana : listPelaksanaId) { for (Integer idPelaksana : listPelaksanaId) {
Map<String, Object> mapResult1 = new HashMap<>(); Map<String, Object> mapResult1 = new HashMap<>();
Map<String, Object> mapResult2 = new HashMap<>(); Map<String, Object> mapResult2 = new HashMap<>();
@ -4321,7 +4293,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Map<String, Object> countMap = new HashMap<>(); Map<String, Object> countMap = new HashMap<>();
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana
&& (Double.valueOf(map.get("diskon").toString()) > 0 && (Double.valueOf(map.get("diskon").toString()) > 0
&& (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer && (CommonUtil.isNullOrEmpty(map.get("statusDiskon")) || Integer
@ -4347,7 +4318,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk } else if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas && Integer.parseInt(map.get("idKelas").toString()) == idKelas
&& Double.parseDouble(map.get("hargaKomponen").toString()) == hargaKomponen
&& Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana) { && Integer.parseInt(map.get("idJenisPelaksana").toString()) == idPelaksana) {
countMap.put("count", map.get("count")); countMap.put("count", map.get("count"));
if (isSatuTarif && CommonUtil.isNotNullOrEmpty(map.get("hargaKelas1"))) { if (isSatuTarif && CommonUtil.isNotNullOrEmpty(map.get("hargaKelas1"))) {
@ -4382,8 +4352,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
if (drAnastesiList.contains(idPegawai)) { if (drAnastesiList.contains(idPegawai)) {
if (idsPenunjangBukanAnestesi if (idsPenunjangBukanAnestesi.contains(mapResult1.get("idProduk"))) {
.contains(mapResult1.get("idProduk"))) {
percentage = persenOperator; percentage = persenOperator;
} else if ((Integer) mapResult1 } else if ((Integer) mapResult1
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) { .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
@ -4422,16 +4391,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} }
if (datePeriode.after(dateAkhirTarifLama)) {
point = getPoinLogbookDokter(
Double.parseDouble(mapResult1.get("hargaKomponen").toString()),
isDiskonJasamedis1);
} else {
percentage = percentage / 100; percentage = percentage / 100;
point = getPoinLogbookDokter(harga, percentage, point = getPoinLogbookDokter(harga, percentage, komponenDasar, isDiskonJasamedis1);
komponenDasar, isDiskonJasamedis1);
}
pointQty = point * totalTindakan1.doubleValue(); pointQty = point * totalTindakan1.doubleValue();
tindakanTotal += totalTindakan1.longValue(); tindakanTotal += totalTindakan1.longValue();
@ -4447,8 +4408,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
mapResult1.put("totalPoin", totalPoint); mapResult1.put("totalPoin", totalPoint);
mapResult1.put("totalPoint", df.format(totalPoint)); mapResult1.put("totalPoint", df.format(totalPoint));
mapResult1.put("hargas", CurrencyUtil.getPriceInINA(harga).replace("Rp.", "")); mapResult1.put("hargas", CurrencyUtil.getPriceInINA(harga).replace("Rp.", ""));
Double komponens = Double.parseDouble(mapResult1.get("hargaKomponen").toString());
mapResult1.put("komponens", CurrencyUtil.getPriceInINA(komponens).replace("Rp.", ""));
mapResult1.put("maxDay", maxday); mapResult1.put("maxDay", maxday);
result.add(mapResult1); result.add(mapResult1);
@ -4465,8 +4424,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
if (drAnastesiList.contains(idPegawai)) { if (drAnastesiList.contains(idPegawai)) {
if (idsPenunjangBukanAnestesi if (idsPenunjangBukanAnestesi.contains(mapResult2.get("idProduk"))) {
.contains(mapResult2.get("idProduk"))) {
percentage = persenOperator; percentage = persenOperator;
} else if ((Integer) mapResult2 } else if ((Integer) mapResult2
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) { .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
@ -4505,16 +4463,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} }
if (datePeriode.after(dateAkhirTarifLama)) {
point = getPoinLogbookDokter(
Double.parseDouble(mapResult2.get("hargaKomponen").toString()),
isDiskonJasamedis2);
} else {
percentage = percentage / 100; percentage = percentage / 100;
point = getPoinLogbookDokter(harga, percentage, point = getPoinLogbookDokter(harga, percentage, komponenDasar, isDiskonJasamedis2);
komponenDasar, isDiskonJasamedis2);
}
pointQty = point * totalTindakan2.doubleValue(); pointQty = point * totalTindakan2.doubleValue();
tindakanTotal += totalTindakan2.longValue(); tindakanTotal += totalTindakan2.longValue();
@ -4530,8 +4480,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
mapResult2.put("totalPoin", totalPoint); mapResult2.put("totalPoin", totalPoint);
mapResult2.put("totalPoint", df.format(totalPoint)); mapResult2.put("totalPoint", df.format(totalPoint));
mapResult2.put("hargas", CurrencyUtil.getPriceInINA(harga).replace("Rp.", "")); mapResult2.put("hargas", CurrencyUtil.getPriceInINA(harga).replace("Rp.", ""));
Double komponens = Double.parseDouble(mapResult2.get("hargaKomponen").toString());
mapResult2.put("komponens", CurrencyUtil.getPriceInINA(komponens).replace("Rp.", ""));
mapResult2.put("maxDay", maxday); mapResult2.put("maxDay", maxday);
result.add(mapResult2); result.add(mapResult2);
@ -4540,7 +4488,6 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} }
} }
}
return result; return result;
} }
@ -4612,8 +4559,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
rawResult.add(map); rawResult.add(map);
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD && drKsmUmumList.contains(idPegawai)
.contains(Integer.parseInt(map.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
rawResult.add(map); rawResult.add(map);
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException) } else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
&& listDetailJenisProdukException && listDetailJenisProdukException
@ -4714,8 +4661,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD && drKsmUmumList.contains(idPegawai)
.contains(Integer.parseInt(map.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) { if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) {
Date tanggalPelayanan = (Date) map.get("tanggalPelayanan"); Date tanggalPelayanan = (Date) map.get("tanggalPelayanan");
String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan); String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan);
@ -4975,8 +4922,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
if (drAnastesiList.contains(idPegawai)) { if (drAnastesiList.contains(idPegawai)) {
if (idsPenunjangBukanAnestesi if (idsPenunjangBukanAnestesi.contains(mapResult.get("idProduk"))) {
.contains(mapResult.get("idProduk"))) {
percentage = persenOperator; percentage = persenOperator;
} else if ((Integer) mapResult } else if ((Integer) mapResult
.get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) { .get("idJenisPelaksana") == Master.JenisPetugasPelaksana.DOKTER_PEMERIKSA) {
@ -5268,8 +5214,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD && drKsmUmumList.contains(idPegawai)
.contains(Integer.parseInt(map.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|| Master.KelompokPasien.KEMENKES || Master.KelompokPasien.KEMENKES
.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
@ -5665,8 +5611,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
result.add(map); result.add(map);
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD && drKsmUmumList.contains(idPegawai)
.contains(Integer.parseInt(map.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
result.add(map); result.add(map);
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException) } else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
&& listDetailJenisProdukException && listDetailJenisProdukException
@ -5868,8 +5814,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD && drKsmUmumList.contains(idPegawai)
.contains(Integer.parseInt(map.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) { if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) {
Date tanggalPelayanan = (Date) map.get("tanggalPelayanan"); Date tanggalPelayanan = (Date) map.get("tanggalPelayanan");
String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan); String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan);
@ -6388,8 +6334,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai) && map.get("departemenId").equals(Master.Departemen.IGD) && drKsmUmumList.contains(idPegawai)
&& idsDokterUmumIGD && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|| Master.KelompokPasien.KEMENKES || Master.KelompokPasien.KEMENKES
.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
@ -7731,7 +7676,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Integer.parseInt(map.get("departemenId").toString()))) { Integer.parseInt(map.get("departemenId").toString()))) {
if (map.get("ruanganId") if (map.get("ruanganId")
.equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY) .equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY)
&& idsKonsultasiDokterJaga.contains(map.get("idProduk"))) { && idsKonsultasiDokterJaga
.contains(map.get("idProduk"))) {
ffs = ffs + (new Double(Double ffs = ffs + (new Double(Double
.parseDouble(map.get("count").toString()))) .parseDouble(map.get("count").toString())))
.longValue(); .longValue();
@ -7774,7 +7720,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Integer.parseInt(map.get("departemenId").toString()))) { Integer.parseInt(map.get("departemenId").toString()))) {
if (map.get("ruanganId") if (map.get("ruanganId")
.equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY) .equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY)
&& idsKonsultasiDokterJaga.contains(map.get("idProduk"))) { && idsKonsultasiDokterJaga
.contains(map.get("idProduk"))) {
ffs = ffs + (new Double(Double ffs = ffs + (new Double(Double
.parseDouble(map.get("count").toString()))) .parseDouble(map.get("count").toString())))
.longValue(); .longValue();
@ -7930,8 +7877,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD && drKsmUmumList.contains(idPegawai)
.contains(Integer.parseInt(map.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
&& Integer.parseInt(map.get("idKelas").toString()) == idKelas) { && Integer.parseInt(map.get("idKelas").toString()) == idKelas) {
if (!dokterLuar.contains(idPegawai)) { if (!dokterLuar.contains(idPegawai)) {
@ -8145,7 +8092,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Integer.parseInt(map.get("departemenId").toString()))) { Integer.parseInt(map.get("departemenId").toString()))) {
if (map.get("ruanganId") if (map.get("ruanganId")
.equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY) .equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY)
&& idsKonsultasiDokterJaga.contains(map.get("idProduk"))) { && idsKonsultasiDokterJaga
.contains(map.get("idProduk"))) {
ffs = ffs + (new Double( ffs = ffs + (new Double(
Double.parseDouble(map.get("count").toString()))) Double.parseDouble(map.get("count").toString())))
.longValue(); .longValue();
@ -8182,7 +8130,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Integer.parseInt(map.get("departemenId").toString()))) { Integer.parseInt(map.get("departemenId").toString()))) {
if (map.get("ruanganId") if (map.get("ruanganId")
.equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY) .equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY)
&& idsKonsultasiDokterJaga.contains(map.get("idProduk"))) { && idsKonsultasiDokterJaga
.contains(map.get("idProduk"))) {
ffs = ffs + (new Double( ffs = ffs + (new Double(
Double.parseDouble(map.get("count").toString()))) Double.parseDouble(map.get("count").toString())))
.longValue(); .longValue();
@ -8546,7 +8495,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Integer.parseInt(map.get("departemenId").toString()))) { Integer.parseInt(map.get("departemenId").toString()))) {
if (map.get("ruanganId") if (map.get("ruanganId")
.equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY) .equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY)
&& idsKonsultasiDokterJaga.contains(map.get("idProduk"))) { && idsKonsultasiDokterJaga
.contains(map.get("idProduk"))) {
ffs = ffs + (new Double(Double ffs = ffs + (new Double(Double
.parseDouble(map.get("count").toString()))) .parseDouble(map.get("count").toString())))
.longValue(); .longValue();
@ -8589,7 +8539,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
Integer.parseInt(map.get("departemenId").toString()))) { Integer.parseInt(map.get("departemenId").toString()))) {
if (map.get("ruanganId") if (map.get("ruanganId")
.equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY) .equals(Master.Ruangan.KLINIK_FALSE_EMERGENCY)
&& idsKonsultasiDokterJaga.contains(map.get("idProduk"))) { && idsKonsultasiDokterJaga
.contains(map.get("idProduk"))) {
ffs = ffs + (new Double(Double ffs = ffs + (new Double(Double
.parseDouble(map.get("count").toString()))) .parseDouble(map.get("count").toString())))
.longValue(); .longValue();
@ -8902,8 +8853,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD && drKsmUmumList.contains(idPegawai)
.contains(Integer.parseInt(map.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) if (Master.KelompokPasien.BPJS.equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
|| Master.KelompokPasien.KEMENKES || Master.KelompokPasien.KEMENKES
.equals(Integer.parseInt(map.get("kelompokPasienId").toString())) .equals(Integer.parseInt(map.get("kelompokPasienId").toString()))
@ -9100,8 +9051,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
result.add(map); result.add(map);
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD && drKsmUmumList.contains(idPegawai)
.contains(Integer.parseInt(map.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
result.add(map); result.add(map);
} else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException) } else if (CommonUtil.isNotNullOrEmpty(listDetailJenisProdukException)
&& listDetailJenisProdukException && listDetailJenisProdukException
@ -9203,8 +9154,8 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
} }
} else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString())) } else if (!listDetailJenisProduk.contains(Integer.parseInt(map.get("detailId").toString()))
&& map.get("departemenId").equals(Master.Departemen.IGD) && map.get("departemenId").equals(Master.Departemen.IGD)
&& drKsmUmumList.contains(idPegawai) && idsDokterUmumIGD && drKsmUmumList.contains(idPegawai)
.contains(Integer.parseInt(map.get("idProduk").toString()))) { && idsDokterUmumIGD.contains(Integer.parseInt(map.get("idProduk").toString()))) {
if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) { if (CommonUtil.isNotNullOrEmpty(map.get("jamMasuk"))) {
Date tanggalPelayanan = (Date) map.get("tanggalPelayanan"); Date tanggalPelayanan = (Date) map.get("tanggalPelayanan");
String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan); String tglPelayanan = new SimpleDateFormat("yyyy-MM-dd").format(tanggalPelayanan);

View File

@ -7056,13 +7056,14 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
@RequestParam(value = "format", required = false) String format, @RequestParam(value = "format", required = false) String format,
@RequestParam(value = "periode", required = true) String periode, @RequestParam(value = "periode", required = true) String periode,
@RequestParam(value = "idDokter", required = false) Integer idDokter, @RequestParam(value = "idDokter", required = false) Integer idDokter,
@RequestParam(value = "idAlternatif", required = false) Integer idAlternatif,
@RequestParam(value = "idJabatan", required = false) Integer idJabatan) { @RequestParam(value = "idJabatan", required = false) Integer idJabatan) {
List<Map<String, Object>> datas = new ArrayList<>(); List<Map<String, Object>> datas = new ArrayList<>();
if (!pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(Master.KategoryPegawai.DOKTER_LUAR)) if (!pegawaiDao.getPegawaiByKategoryPegawai(Arrays.asList(Master.KategoryPegawai.DOKTER_LUAR))
.contains(idDokter)) { .contains(idDokter)) {
datas = indekKinerjaService.getAllTindakanByDokterReportReview(periode, idDokter); datas = indekKinerjaService.getAllTindakanByDokterReportReview(periode, idDokter, idAlternatif);
} }
String[] splitData = periode.split("-"); String[] splitData = periode.split("-");
periode = periode.substring(5, 7); periode = periode.substring(5, 7);

View File

@ -63,7 +63,6 @@
<field name="tindakanTotal" class="java.lang.Long"/> <field name="tindakanTotal" class="java.lang.Long"/>
<field name="totalPoint" class="java.lang.String"/> <field name="totalPoint" class="java.lang.String"/>
<field name="maxDay" class="java.lang.Integer"/> <field name="maxDay" class="java.lang.Integer"/>
<field name="komponens" class="java.lang.String"/>
<background> <background>
<band splitType="Stretch"/> <band splitType="Stretch"/>
</background> </background>

View File

@ -4808,11 +4808,11 @@ public class SdmController extends LocaleController<AkunVO> {
return RestUtil.getJsonResponse(result, HttpStatus.OK); return RestUtil.getJsonResponse(result, HttpStatus.OK);
} }
@RequestMapping(value = "/get-all-tindakan-dokter-rescored/{month}/{idPegawai}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/get-all-tindakan-dokter-rescored/{month}/{idPegawai}/{idAlternatif}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<Map<String, Object>>> getAllTindakanReview(@PathVariable("month") String month, public ResponseEntity<List<Map<String, Object>>> getAllTindakanReview(@PathVariable("month") String month,
@PathVariable("idPegawai") Integer idPegawai, HttpServletRequest request) { @PathVariable("idPegawai") Integer idPegawai, @PathVariable("idAlternatif") Integer idAlternatif, HttpServletRequest request) {
try { try {
List<Map<String, Object>> result = indekKinerjaService.getAllTindakanByDokterReview(month, idPegawai); List<Map<String, Object>> result = indekKinerjaService.getAllTindakanByDokterReview(month, idPegawai, idAlternatif);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request)); getMessage(MessageResource.LABEL_SUCCESS, request));