From 71c1d783cba0aeb1a5d405484b8602edf9ff9395 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 21 Oct 2024 08:54:28 +0700 Subject: [PATCH] Update logbook task Penyesuaian scheduler rekap logbook dokter dengan constraint check dan indexing database --- .../entities/constant/KelompokPasienM.java | 36 ++++++++++++++++++ .../task/schedule/LogbookTask.java | 37 ++++++++++++------- 2 files changed, 60 insertions(+), 13 deletions(-) create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/constant/KelompokPasienM.java diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/constant/KelompokPasienM.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/constant/KelompokPasienM.java new file mode 100644 index 00000000..0115d2a7 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/constant/KelompokPasienM.java @@ -0,0 +1,36 @@ +package com.jasamedika.medifirst2000.entities.constant; + +/** + * @author salmanoe + * @version 1.0.0 + * @since 18/10/2024 + */ +public enum KelompokPasienM { + + UMUM_PRIBADI(1), BPJS(2), ASURANSI_LAIN(3), PERUSAHAAN(5), PERJANJIAN(6), NON_BPJS(7), JAMINAN_KEMENKES(8), JAMKESDA(9); + + private final long id; + + KelompokPasienM(long id) { + this.id = id; + } + + public long id() { + return this.id; + } + + @Override + public String toString() { + return Long.toString(id); + } + + public static KelompokPasienM valueOf(long id) { + for (KelompokPasienM kelompokPasien : values()) { + if (kelompokPasien.id == id) { + return kelompokPasien; + } + } + throw new IllegalArgumentException("No matching constant for [" + id + "]"); + } + +} diff --git a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/task/schedule/LogbookTask.java b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/task/schedule/LogbookTask.java index 7b5d3673..085ac3b4 100644 --- a/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/task/schedule/LogbookTask.java +++ b/jasamedika-pelayanan/src/main/java/com/jasamedika/medifirst2000/task/schedule/LogbookTask.java @@ -2,6 +2,7 @@ package com.jasamedika.medifirst2000.task.schedule; import com.jasamedika.medifirst2000.dao.*; import com.jasamedika.medifirst2000.entities.*; +import com.jasamedika.medifirst2000.entities.constant.KelompokPasienM; import com.jasamedika.medifirst2000.service.LogbookRemunService; import com.jasamedika.medifirst2000.service.PelayananPasienService; import com.jasamedika.medifirst2000.service.RekapLogbookDokterService; @@ -280,7 +281,8 @@ public class LogbookTask { logbookDokter.setKdProfile((short) 0); logbookDokter.setStatusEnabled(true); logbookDokter.setJenisLogbook("JKN"); - logbookDokter.setKelompokPasien(map.get("kelompokPasien").toString()); + logbookDokter.setKelompokPasien( + getKelompokPasien(Integer.parseInt(map.get("idKelompokPasien").toString()))); logbookDokter.setKeterangan(map.get("keterangan").toString()); logbookDokter.setPersenJasa( Double.parseDouble(map.get("persenJasa").toString().replace("%", ""))); @@ -341,9 +343,10 @@ public class LogbookTask { LogbookDokter logbookDokter = new LogbookDokter(); logbookDokter.setKdProfile((short) 0); logbookDokter.setStatusEnabled(true); - logbookDokter.setJenisLogbook("NON-JKN DALAM JAM KERJA"); - logbookDokter.setJenisRuangan(fee.get("jenisRuangan").toString()); - logbookDokter.setKelompokPasien(fee.get("kelompokPasien").toString()); + logbookDokter.setJenisLogbook("NON_JKN_DALAM_JAM_KERJA"); + logbookDokter.setJenisRuangan(fee.get("jenisRuangan").toString().toUpperCase()); + logbookDokter.setKelompokPasien( + getKelompokPasien(Integer.parseInt(fee.get("idKelompokPasien").toString()))); logbookDokter.setKeterangan(fee.get("keterangan").toString()); logbookDokter.setPersenJasa( Double.parseDouble(fee.get("persenJasa").toString().replace("%", ""))); @@ -404,9 +407,10 @@ public class LogbookTask { LogbookDokter logbookDokter = new LogbookDokter(); logbookDokter.setKdProfile((short) 0); logbookDokter.setStatusEnabled(true); - logbookDokter.setJenisLogbook("NON-JKN LUAR JAM KERJA"); - logbookDokter.setJenisRuangan(fee.get("jenisRuangan").toString()); - logbookDokter.setKelompokPasien(fee.get("kelompokPasien").toString()); + logbookDokter.setJenisLogbook("NON_JKN_LUAR_JAM_KERJA"); + logbookDokter.setJenisRuangan(fee.get("jenisRuangan").toString().toUpperCase()); + logbookDokter.setKelompokPasien( + getKelompokPasien(Integer.parseInt(fee.get("idKelompokPasien").toString()))); logbookDokter.setKeterangan(fee.get("keterangan").toString()); logbookDokter.setPersenJasa( Double.parseDouble(fee.get("persenJasa").toString().replace("%", ""))); @@ -467,9 +471,10 @@ public class LogbookTask { LogbookDokter logbookDokter = new LogbookDokter(); logbookDokter.setKdProfile((short) 0); logbookDokter.setStatusEnabled(true); - logbookDokter.setJenisLogbook("FIXED-PAY"); - logbookDokter.setJenisRuangan(pay.get("jenisRuangan").toString()); - logbookDokter.setKelompokPasien(pay.get("kelompokPasien").toString()); + logbookDokter.setJenisLogbook("FIXED_PAY"); + logbookDokter.setJenisRuangan(pay.get("jenisRuangan").toString().toUpperCase()); + logbookDokter.setKelompokPasien( + getKelompokPasien(Integer.parseInt(pay.get("idKelompokPasien").toString()))); logbookDokter.setKeterangan(pay.get("keterangan").toString()); logbookDokter.setProduk(pay.get("namaProduk").toString()); logbookDokter.setProdukId(Integer.parseInt(pay.get("idProduk").toString())); @@ -528,9 +533,10 @@ public class LogbookTask { LogbookDokter logbookDokter = new LogbookDokter(); logbookDokter.setKdProfile((short) 0); logbookDokter.setStatusEnabled(true); - logbookDokter.setJenisLogbook("KLAIM MPP"); - logbookDokter.setJenisRuangan(mpp.get("jenisRuangan").toString()); - logbookDokter.setKelompokPasien(mpp.get("kelompokPasien").toString()); + logbookDokter.setJenisLogbook("KLAIM_MPP"); + logbookDokter.setJenisRuangan(mpp.get("jenisRuangan").toString().toUpperCase()); + logbookDokter.setKelompokPasien( + getKelompokPasien(Integer.parseInt(mpp.get("idKelompokPasien").toString()))); logbookDokter.setKeterangan(mpp.get("keterangan").toString()); logbookDokter.setProduk(mpp.get("namaProduk").toString()); logbookDokter.setProdukId(Integer.parseInt(mpp.get("idProduk").toString())); @@ -580,4 +586,9 @@ public class LogbookTask { Thread.currentThread().interrupt(); } } + + private String getKelompokPasien(Integer idKelompokPasien) { + KelompokPasienM kelompokPasien = KelompokPasienM.valueOf(idKelompokPasien); + return kelompokPasien.name(); + } }