Update service pelayanan pasien
- Pembuatan service detail logbook dokter - Penambahan informasi target logbook remun - Perbaikan urutan pelayanan bpjs ke dalam queue pembagian logbook remun dan ffs - penerapan setting data fix persen jasa dan simulasi target remun - Perbaikan sorting harga layanan terendah atau kelas, tanggal pelayanan, dan kelompok pasien
This commit is contained in:
parent
33e6a74edc
commit
cde365e1aa
@ -198,10 +198,12 @@ public interface PelayananPasienDao extends PagingAndSortingRepository<Pelayanan
|
|||||||
List<PelayananPasien> findAll(@Param("noRegistrasi") String noRegistrasi);
|
List<PelayananPasien> findAll(@Param("noRegistrasi") String noRegistrasi);
|
||||||
|
|
||||||
@Query("select new Map(pr.id as idProduk,pr.namaProduk as namaProduk,pr.detailJenisProdukId as idDetailJenisProduk,"
|
@Query("select new Map(pr.id as idProduk,pr.namaProduk as namaProduk,pr.detailJenisProdukId as idDetailJenisProduk,"
|
||||||
+ "djp.jenisProdukId as idJenisProduk," + "kp.id as idKelompokPasien,kp.kelompokPasien as kelompokPasien,"
|
+ "djp.jenisProdukId as idJenisProduk," + "kp.id as idKelompokPasien,"
|
||||||
+ "kls.id as idKelas,kls.namaKelas as namaKelas,"
|
+ "case when kp.id = 2 then 1 when kp.id = 4 then 2 when kp.id = 8 then 3 when kp.id = 9 then 4 when kp.id = 1 then 5 when kp.id = 5 then 6 when kp.id = 6 then 7 when kp.id = 3 then 8 when kp.id = 7 then 9 else 10 end as sortIdKelompokPasien,"
|
||||||
+ "ppp.noRec as idPelayananPasienPetugas,ppp.ObjectPegawaiId as idPegawai,"
|
+ "kp.kelompokPasien as kelompokPasien," + "kls.id as idKelas,"
|
||||||
+ "pp.noRec as idPelayananPasien,pp.hargaJual as hargaJual,pp.jumlah as jumlah,"
|
+ "case when kls.id = 6 then 1 when kls.id = 1 then 2 when kls.id = 2 then 3 when kls.id =3 then 4 when kls.id = 8 then 5 when kls.id = 5 then 6 when kls.id = 21 then 7 else 8 end as sortIdKelas,"
|
||||||
|
+ "kls.namaKelas as namaKelas," + "ppp.noRec as idPelayananPasienPetugas,ppp.ObjectPegawaiId as idPegawai,"
|
||||||
|
+ "pp.noRec as idPelayananPasien,coalesce(pp.hargaJual,0) as hargaJual,coalesce(pp.jumlah,0) as jumlah,"
|
||||||
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd') as tanggal,"
|
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd') as tanggal,"
|
||||||
+ "apd.noRec as idAntrianPasienDiperiksa,apd.pegawaiId as idDPJP," + "ru.departemenId as idDepartemen,"
|
+ "apd.noRec as idAntrianPasienDiperiksa,apd.pegawaiId as idDPJP," + "ru.departemenId as idDepartemen,"
|
||||||
+ "pd.noRec as idPasienDaftar) " + "from PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp "
|
+ "pd.noRec as idPasienDaftar) " + "from PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp "
|
||||||
@ -213,7 +215,30 @@ public interface PelayananPasienDao extends PagingAndSortingRepository<Pelayanan
|
|||||||
+ "and pp.tglPelayanan between :tglAwal and :tglAkhir "
|
+ "and pp.tglPelayanan between :tglAwal and :tglAkhir "
|
||||||
+ "order by case when kp.id = 2 then 1 when kp.id = 4 then 2 when kp.id = 8 then 3 when kp.id = 9 then 4 "
|
+ "order by case when kp.id = 2 then 1 when kp.id = 4 then 2 when kp.id = 8 then 3 when kp.id = 9 then 4 "
|
||||||
+ "when kp.id = 1 then 5 when kp.id = 5 then 6 when kp.id = 6 then 7 when kp.id = 3 then 8 when kp.id = 7 then 9 else 10 end asc, "
|
+ "when kp.id = 1 then 5 when kp.id = 5 then 6 when kp.id = 6 then 7 when kp.id = 3 then 8 when kp.id = 7 then 9 else 10 end asc, "
|
||||||
+ "pp.tglPelayanan")
|
+ "pp.tglPelayanan, " + "pp.hargaJual, "
|
||||||
|
+ "case when kls.id = 6 then 1 when kls.id = 1 then 2 when kls.id = 2 then 3 when kls.id =3 then 4 when kls.id = 8 then 5 when kls.id = 5 then 6 when kls.id = 21 then 7 else 8 end asc,"
|
||||||
|
+ "pr.namaProduk")
|
||||||
List<Map<String, Object>> findPelayananPasienByPetugasAndTanggal(@Param("pegawaiId") Integer idPegawai,
|
List<Map<String, Object>> findPelayananPasienByPetugasAndTanggal(@Param("pegawaiId") Integer idPegawai,
|
||||||
@Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir);
|
@Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir);
|
||||||
|
|
||||||
|
@Query("select new Map(pr.namaProduk as namaProduk,"
|
||||||
|
+ "coalesce(pp.hargaJual,0) as hargaJual,coalesce(pp.jumlah,0) as jumlah,"
|
||||||
|
+ "kp.kelompokPasien as kelompokPasien," + "kls.namaKelas as namaKelas,"
|
||||||
|
+ "to_char(pp.tglPelayanan,'yyyy-MM-dd HH24:MI:ss') as tanggal," + "ru.namaRuangan as namaRuangan,"
|
||||||
|
+ "ps.namaPasien as namaPasien,ps.noCm as noCm," + "pd.noRegistrasi as noRegistrasi) "
|
||||||
|
+ "from PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp "
|
||||||
|
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "left join pp.produk pr "
|
||||||
|
+ "left join pp.kelas kls " + "left join pd.kelompokPasien kp " + "left join pd.pasien ps "
|
||||||
|
+ "left join apd.ruangan ru " + "left join pr.detailJenisProduk djp "
|
||||||
|
+ "where (ppp.statusEnabled is true or ppp.statusEnabled is null) "
|
||||||
|
+ "and (pp.statusEnabled is true or pp.statusEnabled is null) "
|
||||||
|
+ "and (pd.statusEnabled is true or pd.statusEnabled is null) " + "and ppp.ObjectPegawaiId = :pegawaiId "
|
||||||
|
+ "and pp.noRec in (:norecs) "
|
||||||
|
+ "order by case when kp.id = 2 then 1 when kp.id = 4 then 2 when kp.id = 8 then 3 when kp.id = 9 then 4 "
|
||||||
|
+ "when kp.id = 1 then 5 when kp.id = 5 then 6 when kp.id = 6 then 7 when kp.id = 3 then 8 when kp.id = 7 then 9 else 10 end asc, "
|
||||||
|
+ "pp.tglPelayanan, " + "pp.hargaJual, "
|
||||||
|
+ "case when kls.id = 6 then 1 when kls.id = 1 then 2 when kls.id = 2 then 3 when kls.id =3 then 4 when kls.id = 8 then 5 when kls.id = 5 then 6 when kls.id = 21 then 7 else 8 end asc,"
|
||||||
|
+ "pr.namaProduk")
|
||||||
|
List<Map<String, Object>> findPelayananPasienByPetugasAndPelayananPasien(@Param("pegawaiId") Integer idPegawai,
|
||||||
|
@Param("norecs") List<String> norecs);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,9 +19,11 @@ public interface PelayananPasienService {
|
|||||||
|
|
||||||
String resetKlaimDiskon(String noRegistrasi);
|
String resetKlaimDiskon(String noRegistrasi);
|
||||||
|
|
||||||
Map<String, List<Map<String, Object>>> splitRemunFfs(Integer idPegawai, String bulan);
|
Map<String, Object> splitRemunFfs(Integer idPegawai, String bulan);
|
||||||
|
|
||||||
|
Map<String, Object> logbookRemunTarifDokter(Integer idPegawai, String bulan);
|
||||||
|
|
||||||
List<Map<String, Object>> logbookRemunTarifDokter(Integer idPegawai, String bulan);
|
|
||||||
|
|
||||||
List<Map<String, Object>> logbookFfsTarifDokter(Integer idPegawai, String bulan);
|
List<Map<String, Object>> logbookFfsTarifDokter(Integer idPegawai, String bulan);
|
||||||
|
|
||||||
|
List<Map<String, Object>> detailLogbookTarifDokter(Integer idPegawai, List<String> norecs);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -409,8 +409,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, List<Map<String, Object>>> splitRemunFfs(Integer idPegawai, String bulan) {
|
public Map<String, Object> splitRemunFfs(Integer idPegawai, String bulan) {
|
||||||
Map<String, List<Map<String, Object>>> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
DateFormat df = new SimpleDateFormat("yyyy-MM");
|
DateFormat df = new SimpleDateFormat("yyyy-MM");
|
||||||
DateTimeFormatter jamFormat = DateTimeFormatter.ofPattern("HH.mm");
|
DateTimeFormatter jamFormat = DateTimeFormatter.ofPattern("HH.mm");
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
@ -428,13 +428,24 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<Map<String, Object>> listJadwalKerja = pegawaiJadwalKerjaDao.findJamMasukJamPulang(idPegawai, tglAwal,
|
List<Map<String, Object>> listJadwalKerja = pegawaiJadwalKerjaDao.findJamMasukJamPulang(idPegawai, tglAwal,
|
||||||
tglAkhir);
|
tglAkhir);
|
||||||
/*
|
/*
|
||||||
* Mendapatkan nominal target remunerasi
|
* Mendapatkan nominal target remunerasi untuk simulasi
|
||||||
|
*/
|
||||||
|
Double targetRemun = 0.0;
|
||||||
|
String sdTarget = GetSettingDataFixed("targetRemunJasaDokter");
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(sdTarget))
|
||||||
|
targetRemun = Double.parseDouble(sdTarget);
|
||||||
|
/*
|
||||||
|
* Mendapatkan nominal target remunerasi yang telah dilakukan mapping
|
||||||
*/
|
*/
|
||||||
TargetRemunDokterDetail target = targetRemunDokterDetailDao.findByPegawaiIdAndTmt(idPegawai, tglAwal, tglAkhir);
|
TargetRemunDokterDetail target = targetRemunDokterDetailDao.findByPegawaiIdAndTmt(idPegawai, tglAwal, tglAkhir);
|
||||||
Double targetRemun = 33_000_000.00;
|
if (CommonUtil.isNotNullOrEmpty(target) && CommonUtil.isNotNullOrEmpty(target.getRupiah()))
|
||||||
if (CommonUtil.isNotNullOrEmpty(target) && CommonUtil.isNotNullOrEmpty(target.getRupiah())) {
|
|
||||||
targetRemun = target.getRupiah();
|
targetRemun = target.getRupiah();
|
||||||
}
|
/*
|
||||||
|
* Mendapatkan persentase jasa
|
||||||
|
*/
|
||||||
|
Double persenKonsultasi = Double.parseDouble(GetSettingDataFixed("persenRemunKonsultasiDokter").toString());
|
||||||
|
Double persenVisite = Double.parseDouble(GetSettingDataFixed("persenRemunVisiteDokter").toString());
|
||||||
|
Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenRemunTindakanDokter").toString());
|
||||||
/*
|
/*
|
||||||
* Mendapatkan data mentah pelayanan pasien
|
* Mendapatkan data mentah pelayanan pasien
|
||||||
*/
|
*/
|
||||||
@ -449,15 +460,22 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
* Mapping persentase jasa remunerasi - Konsultasi 15% - Visite 20% -
|
* Mapping persentase jasa remunerasi - Konsultasi 15% - Visite 20% -
|
||||||
* Tindakan 15%
|
* Tindakan 15%
|
||||||
*/
|
*/
|
||||||
for (Map<String, Object> d : listData) {
|
for (Map<String, Object> d : listData)
|
||||||
if (d.get("namaProduk").toString().toLowerCase().contains("konsul")) {
|
if (d.get("namaProduk").toString().toLowerCase().contains("konsul")) {
|
||||||
d.put("hargaJasa", 0.15 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
} else if (d.get("namaProduk").toString().toLowerCase().contains("visit")) {
|
} else if (d.get("namaProduk").toString().toLowerCase().contains("visit")) {
|
||||||
d.put("hargaJasa", 0.2 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
} else {
|
} else {
|
||||||
d.put("hargaJasa", 0.15 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
}
|
}
|
||||||
}
|
/*
|
||||||
|
* Alokasi data diambil terlebih dahulu untuk kelompok BPJS, Jaminan
|
||||||
|
* Kemenkes, dan Jaminan Kesda
|
||||||
|
*/
|
||||||
|
List<Map<String, Object>> listDataBpjs = new ArrayList<>();
|
||||||
|
for (Map<String, Object> d : listData)
|
||||||
|
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien")))
|
||||||
|
listDataBpjs.add(d);
|
||||||
/*
|
/*
|
||||||
* Alokasi data diurutkan dulu untuk jam kerja. Asumsi jam kerja dokter
|
* Alokasi data diurutkan dulu untuk jam kerja. Asumsi jam kerja dokter
|
||||||
* nonshift
|
* nonshift
|
||||||
@ -469,7 +487,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
LocalDateTime tglJamPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
||||||
.toLocalDateTime();
|
.toLocalDateTime();
|
||||||
for (Map<String, Object> j : listJadwalKerja) {
|
for (Map<String, Object> j : listJadwalKerja) {
|
||||||
if (CommonUtil.isNotNullOrEmpty(j.get("jamMasuk"))) {
|
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien"))
|
||||||
|
&& CommonUtil.isNotNullOrEmpty(j.get("jamMasuk"))) {
|
||||||
LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault())
|
LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault())
|
||||||
.toLocalDate();
|
.toLocalDate();
|
||||||
LocalTime jamMasuk = LocalTime.from(jamFormat.parse(j.get("jamMasuk").toString()));
|
LocalTime jamMasuk = LocalTime.from(jamFormat.parse(j.get("jamMasuk").toString()));
|
||||||
@ -483,7 +502,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@ -498,28 +516,32 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
.toLocalDateTime();
|
.toLocalDateTime();
|
||||||
for (Map<String, Object> j : listJadwalKerja) {
|
for (Map<String, Object> j : listJadwalKerja) {
|
||||||
LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
LocalDate tglMasuk = ((Date) j.get("tanggal")).toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||||
if (CommonUtil.isNullOrEmpty(j.get("jamMasuk"))) {
|
if (!Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(d.get("idKelompokPasien")))
|
||||||
if (tglPelayanan.isEqual(tglMasuk)) {
|
if (CommonUtil.isNullOrEmpty(j.get("jamMasuk"))) {
|
||||||
listDataLuarJamKerja.add(d);
|
if (tglPelayanan.isEqual(tglMasuk)) {
|
||||||
break;
|
listDataLuarJamKerja.add(d);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
LocalTime jamMasuk = LocalTime.from(jamFormat.parse(j.get("jamMasuk").toString()));
|
||||||
|
LocalTime jamPulang = LocalTime.from(jamFormat.parse(j.get("jamPulang").toString()));
|
||||||
|
LocalDateTime tglJamMasuk = LocalDateTime.of(tglMasuk, jamMasuk);
|
||||||
|
LocalDateTime tglJamPulang = LocalDateTime.of(tglMasuk, jamPulang);
|
||||||
|
if ((tglPelayanan.isEqual(tglMasuk) && tglJamPelayanan.isBefore(tglJamMasuk))
|
||||||
|
|| (tglPelayanan.isEqual(tglMasuk) && tglJamPelayanan.isAfter(tglJamPulang))) {
|
||||||
|
listDataLuarJamKerja.add(d);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
LocalTime jamMasuk = LocalTime.from(jamFormat.parse(j.get("jamMasuk").toString()));
|
|
||||||
LocalTime jamPulang = LocalTime.from(jamFormat.parse(j.get("jamPulang").toString()));
|
|
||||||
LocalDateTime tglJamMasuk = LocalDateTime.of(tglMasuk, jamMasuk);
|
|
||||||
LocalDateTime tglJamPulang = LocalDateTime.of(tglMasuk, jamPulang);
|
|
||||||
if ((tglPelayanan.isEqual(tglMasuk) && tglJamPelayanan.isBefore(tglJamMasuk))
|
|
||||||
|| (tglPelayanan.isEqual(tglMasuk) && tglJamPelayanan.isAfter(tglJamPulang))) {
|
|
||||||
listDataLuarJamKerja.add(d);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Offer data yang sudah diurutkan dalam queue
|
* Offer data yang sudah diurutkan dalam queue
|
||||||
*/
|
*/
|
||||||
Queue<Map<String, Object>> queuePelayanan = new ArrayDeque<>();
|
Queue<Map<String, Object>> queuePelayanan = new ArrayDeque<>();
|
||||||
|
listDataBpjs.forEach(pelayanan -> {
|
||||||
|
queuePelayanan.offer(pelayanan);
|
||||||
|
});
|
||||||
listDataJamKerja.forEach(pelayanan -> {
|
listDataJamKerja.forEach(pelayanan -> {
|
||||||
queuePelayanan.offer(pelayanan);
|
queuePelayanan.offer(pelayanan);
|
||||||
});
|
});
|
||||||
@ -536,7 +558,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(next.get("idKelompokPasien"))) {
|
if (Arrays.asList(Master.KelompokPasien.KELOMPOK_BPJS).contains(next.get("idKelompokPasien"))) {
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else if (capaianRemun <= targetRemun) {
|
} else if (capaianRemun < targetRemun) {
|
||||||
listPelayananRemun.add(next);
|
listPelayananRemun.add(next);
|
||||||
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
capaianRemun += Double.valueOf(next.get("hargaJasa").toString());
|
||||||
} else {
|
} else {
|
||||||
@ -545,32 +567,48 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
/*
|
/*
|
||||||
* Sorting data remun diurutkan
|
* Sorting data remun diurutkan
|
||||||
*/
|
*/
|
||||||
List<Map<String, Object>> remunSorted = listPelayananRemun.stream()
|
listPelayananRemun = listPelayananRemun.stream()
|
||||||
.sorted(Comparator.comparing(o1 -> o1.get("namaProduk").toString()))
|
.sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan")))
|
||||||
.sorted(Comparator.comparing(o2 -> o2.get("namaKelas").toString()))
|
.sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString())))
|
||||||
.sorted(Comparator.comparing(o3 -> (Date) o3.get("tglPelayanan"))).collect(Collectors.toList());
|
.sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString())))
|
||||||
result.put("remun", remunSorted);
|
.sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList());
|
||||||
|
result.put("remun", listPelayananRemun);
|
||||||
|
/*
|
||||||
|
* Informasi target
|
||||||
|
*/
|
||||||
|
result.put("targetRemun", targetRemun);
|
||||||
|
result.put("targetRemunFormatted", new DecimalFormat("Rp#,##0.00").format(targetRemun));
|
||||||
/*
|
/*
|
||||||
* Sorting data ffs diurutkan
|
* Sorting data ffs diurutkan
|
||||||
*/
|
*/
|
||||||
List<Map<String, Object>> ffsSorted = listPelayananFfs.stream()
|
listPelayananFfs = listPelayananFfs.stream().sorted(Comparator.comparing(o -> (Date) o.get("tglPelayanan")))
|
||||||
.sorted(Comparator.comparing(o1 -> o1.get("namaProduk").toString()))
|
.sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelompokPasien").toString())))
|
||||||
.sorted(Comparator.comparing(o2 -> o2.get("namaKelas").toString()))
|
.sorted(Comparator.comparing(o -> Integer.parseInt(o.get("sortIdKelas").toString())))
|
||||||
.sorted(Comparator.comparing(o3 -> (Date) o3.get("tglPelayanan"))).collect(Collectors.toList());
|
.sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList());
|
||||||
result.put("ffs", ffsSorted);
|
result.put("ffs", listPelayananFfs);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> logbookRemunTarifDokter(Integer idPegawai, String bulan) {
|
public Map<String, Object> logbookRemunTarifDokter(Integer idPegawai, String bulan) {
|
||||||
List<Map<String, Object>> result = new ArrayList<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
List<Map<String, Object>> dataResult = new ArrayList<>();
|
||||||
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<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<>();
|
||||||
Map<String, List<Map<String, Object>>> remunFfs = this.splitRemunFfs(idPegawai, bulan);
|
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
|
||||||
List<Map<String, Object>> listData = remunFfs.get("remun");
|
@SuppressWarnings("unchecked")
|
||||||
|
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("remun");
|
||||||
|
Double target = Double.parseDouble(remunFfs.get("targetRemun").toString());
|
||||||
|
String targetFormatted = remunFfs.get("targetRemunFormatted").toString();
|
||||||
|
/*
|
||||||
|
* Mendapatkan persentase jasa
|
||||||
|
*/
|
||||||
|
Double persenKonsultasi = Double.parseDouble(GetSettingDataFixed("persenRemunKonsultasiDokter").toString());
|
||||||
|
Double persenVisite = Double.parseDouble(GetSettingDataFixed("persenRemunVisiteDokter").toString());
|
||||||
|
Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenRemunTindakanDokter").toString());
|
||||||
/*
|
/*
|
||||||
* Mapping persentase jasa remunerasi - Konsultasi 15% - Visite 20% -
|
* Mapping persentase jasa remunerasi - Konsultasi 15% - Visite 20% -
|
||||||
* Tindakan 15%
|
* Tindakan 15%
|
||||||
@ -578,13 +616,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
for (Map<String, Object> d : listData) {
|
for (Map<String, Object> d : listData) {
|
||||||
if (d.get("namaProduk").toString().toLowerCase().contains("konsul")) {
|
if (d.get("namaProduk").toString().toLowerCase().contains("konsul")) {
|
||||||
d.put("persenJasa", "15%");
|
d.put("persenJasa", "15%");
|
||||||
d.put("hargaJasa", 0.15 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
} else if (d.get("namaProduk").toString().toLowerCase().contains("visit")) {
|
} else if (d.get("namaProduk").toString().toLowerCase().contains("visit")) {
|
||||||
d.put("persenJasa", "20%");
|
d.put("persenJasa", "20%");
|
||||||
d.put("hargaJasa", 0.2 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
} else {
|
} else {
|
||||||
d.put("persenJasa", "15%");
|
d.put("persenJasa", "15%");
|
||||||
d.put("hargaJasa", 0.15 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@ -609,6 +647,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
for (String tanggal : listTanggal) {
|
for (String tanggal : listTanggal) {
|
||||||
Map<String, Object> mapData = new HashMap<>();
|
Map<String, Object> mapData = new HashMap<>();
|
||||||
double jumlah = 0.0;
|
double jumlah = 0.0;
|
||||||
|
List<String> norecs = new ArrayList<>();
|
||||||
int dataHitungKe = 0;
|
int dataHitungKe = 0;
|
||||||
for (Map<String, Object> map : listData) {
|
for (Map<String, Object> map : listData) {
|
||||||
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
||||||
@ -616,6 +655,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien
|
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien
|
||||||
&& map.get("tanggal").toString().equals(tanggal)) {
|
&& map.get("tanggal").toString().equals(tanggal)) {
|
||||||
jumlah += Double.parseDouble(map.get("jumlah").toString());
|
jumlah += Double.parseDouble(map.get("jumlah").toString());
|
||||||
|
norecs.add(map.get("idPelayananPasien").toString());
|
||||||
dataHitungKe++;
|
dataHitungKe++;
|
||||||
if (dataHitungKe == 1)
|
if (dataHitungKe == 1)
|
||||||
mapData.putAll(map);
|
mapData.putAll(map);
|
||||||
@ -623,6 +663,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
if (CommonUtil.isNotNullOrEmpty(mapData.get("jumlah"))) {
|
if (CommonUtil.isNotNullOrEmpty(mapData.get("jumlah"))) {
|
||||||
mapData.put("jumlah", jumlah);
|
mapData.put("jumlah", jumlah);
|
||||||
|
mapData.put("norecs", norecs);
|
||||||
dataTanggal.add(mapData);
|
dataTanggal.add(mapData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -646,6 +687,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
&& Double.parseDouble(map.get("hargaJual").toString()) == hargaJual
|
&& Double.parseDouble(map.get("hargaJual").toString()) == hargaJual
|
||||||
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien) {
|
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien) {
|
||||||
mapCount.put("jumlah", map.get("jumlah"));
|
mapCount.put("jumlah", map.get("jumlah"));
|
||||||
|
mapCount.put("norecs", map.get("norecs"));
|
||||||
mapCount.put("tanggal", map.get("tanggal"));
|
mapCount.put("tanggal", map.get("tanggal"));
|
||||||
detail.add(mapCount);
|
detail.add(mapCount);
|
||||||
counter++;
|
counter++;
|
||||||
@ -665,25 +707,42 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
* Tambahkan data detail
|
* Tambahkan data detail
|
||||||
*/
|
*/
|
||||||
mapResult.put("detail", detail);
|
mapResult.put("detail", detail);
|
||||||
/*
|
|
||||||
* Hapus informasi tidak perlu
|
dataResult.add(mapResult);
|
||||||
*/
|
|
||||||
mapResult.remove("idDPJP");
|
|
||||||
mapResult.remove("tglPelayanan");
|
|
||||||
mapResult.remove("tanggal");
|
|
||||||
mapResult.remove("idKelas");
|
|
||||||
mapResult.remove("namaKelas");
|
|
||||||
mapResult.remove("idPelayananPasienPetugas");
|
|
||||||
mapResult.remove("idPelayananPasien");
|
|
||||||
mapResult.remove("idDepartemen");
|
|
||||||
mapResult.remove("idPasienDaftar");
|
|
||||||
mapResult.remove("idPegawai");
|
|
||||||
mapResult.remove("idAntrianPasienDiperiksa");
|
|
||||||
result.add(mapResult);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* Final sorting
|
||||||
|
*/
|
||||||
|
dataResult = dataResult.stream().sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan")))
|
||||||
|
.sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString())))
|
||||||
|
.sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString())))
|
||||||
|
.sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList());
|
||||||
|
dataResult.forEach(r -> {
|
||||||
|
/*
|
||||||
|
* Hapus informasi tidak perlu
|
||||||
|
*/
|
||||||
|
r.remove("idDPJP");
|
||||||
|
r.remove("tglPelayanan");
|
||||||
|
r.remove("tanggal");
|
||||||
|
r.remove("idKelas");
|
||||||
|
r.remove("namaKelas");
|
||||||
|
r.remove("idPelayananPasienPetugas");
|
||||||
|
r.remove("idPelayananPasien");
|
||||||
|
r.remove("norecs");
|
||||||
|
r.remove("idDepartemen");
|
||||||
|
r.remove("idPasienDaftar");
|
||||||
|
r.remove("idPegawai");
|
||||||
|
r.remove("idAntrianPasienDiperiksa");
|
||||||
|
});
|
||||||
|
/*
|
||||||
|
* Put all result mapping
|
||||||
|
*/
|
||||||
|
result.put("data", dataResult);
|
||||||
|
result.put("target", target);
|
||||||
|
result.put("targetFormatted", targetFormatted);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -692,10 +751,18 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<Map<String, Object>> result = new ArrayList<>();
|
List<Map<String, Object>> result = new ArrayList<>();
|
||||||
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<Double> listHargaJual = new ArrayList<>();
|
||||||
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
||||||
List<String> listTanggal = new ArrayList<>();
|
List<String> listTanggal = new ArrayList<>();
|
||||||
Map<String, List<Map<String, Object>>> remunFfs = this.splitRemunFfs(idPegawai, bulan);
|
Map<String, Object> remunFfs = this.splitRemunFfs(idPegawai, bulan);
|
||||||
List<Map<String, Object>> listData = remunFfs.get("ffs");
|
@SuppressWarnings("unchecked")
|
||||||
|
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("ffs");
|
||||||
|
/*
|
||||||
|
* Mendapatkan persentase jasa
|
||||||
|
*/
|
||||||
|
Double persenKonsultasi = Double.parseDouble(GetSettingDataFixed("persenJasaKonsultasiDokter").toString());
|
||||||
|
Double persenVisite = Double.parseDouble(GetSettingDataFixed("persenJasaVisiteDokter").toString());
|
||||||
|
Double persenTindakan = Double.parseDouble(GetSettingDataFixed("persenJasaTindakanDokter").toString());
|
||||||
/*
|
/*
|
||||||
* Mapping persentase jasa remunerasi - Konsultasi 60% - Visite 60% -
|
* Mapping persentase jasa remunerasi - Konsultasi 60% - Visite 60% -
|
||||||
* Tindakan 30%
|
* Tindakan 30%
|
||||||
@ -703,13 +770,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
for (Map<String, Object> d : listData) {
|
for (Map<String, Object> d : listData) {
|
||||||
if (d.get("namaProduk").toString().toLowerCase().contains("konsul")) {
|
if (d.get("namaProduk").toString().toLowerCase().contains("konsul")) {
|
||||||
d.put("persenJasa", "60%");
|
d.put("persenJasa", "60%");
|
||||||
d.put("hargaJasa", 0.6 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenKonsultasi / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
} else if (d.get("namaProduk").toString().toLowerCase().contains("visit")) {
|
} else if (d.get("namaProduk").toString().toLowerCase().contains("visit")) {
|
||||||
d.put("persenJasa", "60%");
|
d.put("persenJasa", "60%");
|
||||||
d.put("hargaJasa", 0.6 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenVisite / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
} else {
|
} else {
|
||||||
d.put("persenJasa", "30%");
|
d.put("persenJasa", "30%");
|
||||||
d.put("hargaJasa", 0.3 * Double.parseDouble(d.get("hargaJual").toString()));
|
d.put("hargaJasa", persenTindakan / 100 * Double.parseDouble(d.get("hargaJual").toString()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@ -718,6 +785,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
listData.forEach(d -> {
|
listData.forEach(d -> {
|
||||||
if (!listIdProduk.contains(Integer.valueOf(d.get("idProduk").toString())))
|
if (!listIdProduk.contains(Integer.valueOf(d.get("idProduk").toString())))
|
||||||
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
||||||
|
if (!listHargaJual.contains(Double.valueOf(d.get("hargaJual").toString())))
|
||||||
|
listHargaJual.add(Double.valueOf(d.get("hargaJual").toString()));
|
||||||
if (!listIdKelompokPasien.contains(Integer.valueOf(d.get("idKelompokPasien").toString())))
|
if (!listIdKelompokPasien.contains(Integer.valueOf(d.get("idKelompokPasien").toString())))
|
||||||
listIdKelompokPasien.add(Integer.valueOf(d.get("idKelompokPasien").toString()));
|
listIdKelompokPasien.add(Integer.valueOf(d.get("idKelompokPasien").toString()));
|
||||||
if (!listTanggal.contains(d.get("tanggal").toString()))
|
if (!listTanggal.contains(d.get("tanggal").toString()))
|
||||||
@ -727,24 +796,30 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
* Pengelompokkan tanggal pelayanan
|
* Pengelompokkan tanggal pelayanan
|
||||||
*/
|
*/
|
||||||
for (Integer idProduk : listIdProduk) {
|
for (Integer idProduk : listIdProduk) {
|
||||||
for (Integer idKelompokPasien : listIdKelompokPasien) {
|
for (Double hargaJual : listHargaJual) {
|
||||||
for (String tanggal : listTanggal) {
|
for (Integer idKelompokPasien : listIdKelompokPasien) {
|
||||||
Map<String, Object> mapData = new HashMap<>();
|
for (String tanggal : listTanggal) {
|
||||||
double jumlah = 0.0;
|
Map<String, Object> mapData = new HashMap<>();
|
||||||
int dataHitungKe = 0;
|
double jumlah = 0.0;
|
||||||
for (Map<String, Object> map : listData) {
|
List<String> norecs = new ArrayList<>();
|
||||||
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
int dataHitungKe = 0;
|
||||||
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien
|
for (Map<String, Object> map : listData) {
|
||||||
&& map.get("tanggal").toString().equals(tanggal)) {
|
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
||||||
jumlah += Double.parseDouble(map.get("jumlah").toString());
|
&& Double.parseDouble(map.get("hargaJual").toString()) == hargaJual
|
||||||
dataHitungKe++;
|
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien
|
||||||
if (dataHitungKe == 1)
|
&& map.get("tanggal").toString().equals(tanggal)) {
|
||||||
mapData.putAll(map);
|
jumlah += Double.parseDouble(map.get("jumlah").toString());
|
||||||
|
norecs.add(map.get("idPelayananPasien").toString());
|
||||||
|
dataHitungKe++;
|
||||||
|
if (dataHitungKe == 1)
|
||||||
|
mapData.putAll(map);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(mapData.get("jumlah"))) {
|
||||||
|
mapData.put("jumlah", jumlah);
|
||||||
|
mapData.put("norecs", norecs);
|
||||||
|
dataTanggal.add(mapData);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (CommonUtil.isNotNullOrEmpty(mapData.get("jumlah"))) {
|
|
||||||
mapData.put("jumlah", jumlah);
|
|
||||||
dataTanggal.add(mapData);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -753,54 +828,75 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
* Pengelompokkan produk layanan
|
* Pengelompokkan produk layanan
|
||||||
*/
|
*/
|
||||||
for (Integer idProduk : listIdProduk) {
|
for (Integer idProduk : listIdProduk) {
|
||||||
for (Integer idKelompokPasien : listIdKelompokPasien) {
|
for (Double hargaJual : listHargaJual) {
|
||||||
Map<String, Object> mapResult = new HashMap<>();
|
for (Integer idKelompokPasien : listIdKelompokPasien) {
|
||||||
List<Map<String, Object>> detail = new ArrayList<>();
|
Map<String, Object> mapResult = new HashMap<>();
|
||||||
int counter = 0;
|
List<Map<String, Object>> detail = new ArrayList<>();
|
||||||
double jumlah = 0.0;
|
int counter = 0;
|
||||||
double jumlahHargaJasa = 0.0;
|
double jumlah = 0.0;
|
||||||
for (Map<String, Object> map : dataTanggal) {
|
double jumlahHargaJasa = 0.0;
|
||||||
Map<String, Object> mapCount = new HashMap<>();
|
for (Map<String, Object> map : dataTanggal) {
|
||||||
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
Map<String, Object> mapCount = new HashMap<>();
|
||||||
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien) {
|
if (Integer.parseInt(map.get("idProduk").toString()) == idProduk
|
||||||
mapCount.put("jumlah", map.get("jumlah"));
|
&& Double.parseDouble(map.get("hargaJual").toString()) == hargaJual
|
||||||
mapCount.put("tanggal", map.get("tanggal"));
|
&& Integer.parseInt(map.get("idKelompokPasien").toString()) == idKelompokPasien) {
|
||||||
detail.add(mapCount);
|
mapCount.put("jumlah", map.get("jumlah"));
|
||||||
counter++;
|
mapCount.put("norecs", map.get("norecs"));
|
||||||
jumlah += Double.parseDouble(map.get("jumlah").toString());
|
mapCount.put("tanggal", map.get("tanggal"));
|
||||||
if (counter == 1)
|
detail.add(mapCount);
|
||||||
mapResult.putAll(map);
|
counter++;
|
||||||
|
jumlah += Double.parseDouble(map.get("jumlah").toString());
|
||||||
|
if (counter == 1)
|
||||||
|
mapResult.putAll(map);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(mapResult.get("jumlah"))) {
|
||||||
|
/*
|
||||||
|
* Tambahkan data total
|
||||||
|
*/
|
||||||
|
jumlahHargaJasa = jumlah * Double.parseDouble(mapResult.get("hargaJasa").toString());
|
||||||
|
mapResult.put("jumlah", jumlah);
|
||||||
|
mapResult.put("jumlahHargaJasa", jumlahHargaJasa);
|
||||||
|
/*
|
||||||
|
* Tambahkan data detail
|
||||||
|
*/
|
||||||
|
mapResult.put("detail", detail);
|
||||||
|
result.add(mapResult);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (CommonUtil.isNotNullOrEmpty(mapResult.get("jumlah"))) {
|
|
||||||
/*
|
|
||||||
* Tambahkan data total
|
|
||||||
*/
|
|
||||||
jumlahHargaJasa = jumlah * Double.parseDouble(mapResult.get("hargaJasa").toString());
|
|
||||||
mapResult.put("jumlah", jumlah);
|
|
||||||
mapResult.put("jumlahHargaJasa", jumlahHargaJasa);
|
|
||||||
/*
|
|
||||||
* Tambahkan data detail
|
|
||||||
*/
|
|
||||||
mapResult.put("detail", detail);
|
|
||||||
/*
|
|
||||||
* Hapus informasi tidak perlu
|
|
||||||
*/
|
|
||||||
mapResult.remove("idDPJP");
|
|
||||||
mapResult.remove("tglPelayanan");
|
|
||||||
mapResult.remove("tanggal");
|
|
||||||
mapResult.remove("idKelas");
|
|
||||||
mapResult.remove("namaKelas");
|
|
||||||
mapResult.remove("idPelayananPasienPetugas");
|
|
||||||
mapResult.remove("idPelayananPasien");
|
|
||||||
mapResult.remove("idDepartemen");
|
|
||||||
mapResult.remove("idPasienDaftar");
|
|
||||||
mapResult.remove("idPegawai");
|
|
||||||
mapResult.remove("idAntrianPasienDiperiksa");
|
|
||||||
result.add(mapResult);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* Final sorting
|
||||||
|
*/
|
||||||
|
result = result.stream().sorted(Comparator.comparing(o1 -> (Date) o1.get("tglPelayanan")))
|
||||||
|
.sorted(Comparator.comparing(o2 -> Integer.parseInt(o2.get("sortIdKelompokPasien").toString())))
|
||||||
|
.sorted(Comparator.comparing(o3 -> Integer.parseInt(o3.get("sortIdKelas").toString())))
|
||||||
|
.sorted(Comparator.comparing(o4 -> o4.get("namaProduk").toString())).collect(Collectors.toList());
|
||||||
|
result.forEach(r -> {
|
||||||
|
/*
|
||||||
|
* Hapus informasi tidak perlu
|
||||||
|
*/
|
||||||
|
r.remove("idDPJP");
|
||||||
|
r.remove("tglPelayanan");
|
||||||
|
r.remove("tanggal");
|
||||||
|
r.remove("idKelas");
|
||||||
|
r.remove("namaKelas");
|
||||||
|
r.remove("idPelayananPasienPetugas");
|
||||||
|
r.remove("idPelayananPasien");
|
||||||
|
r.remove("norecs");
|
||||||
|
r.remove("idDepartemen");
|
||||||
|
r.remove("idPasienDaftar");
|
||||||
|
r.remove("idPegawai");
|
||||||
|
r.remove("idAntrianPasienDiperiksa");
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Map<String, Object>> detailLogbookTarifDokter(Integer idPegawai, List<String> norecs) {
|
||||||
|
List<Map<String, Object>> result = pelayananPasienDao.findPelayananPasienByPetugasAndPelayananPasien(idPegawai,
|
||||||
|
norecs);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2730,10 +2730,10 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/dokter/logbook-tarif/remun/{idPegawai}/{bulan}", method = RequestMethod.GET)
|
@RequestMapping(value = "/dokter/logbook-tarif/remun/{idPegawai}/{bulan}", method = RequestMethod.GET)
|
||||||
public ResponseEntity<List<Map<String, Object>>> getLogbookRemunTarifDokter(HttpServletRequest request,
|
public ResponseEntity<Map<String, Object>> getLogbookRemunTarifDokter(HttpServletRequest request,
|
||||||
@PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) {
|
@PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) {
|
||||||
try {
|
try {
|
||||||
List<Map<String, Object>> result = pelayananPasienService.logbookRemunTarifDokter(idPegawai, bulan);
|
Map<String, Object> result = pelayananPasienService.logbookRemunTarifDokter(idPegawai, bulan);
|
||||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||||
@ -2766,4 +2766,29 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
|||||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/dokter/logbook-tarif/detail/{idPegawai}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<List<Map<String, Object>>> getDetailLogbookTarifDokter(HttpServletRequest request,
|
||||||
|
@PathVariable("idPegawai") Integer idPegawai, @RequestBody List<String> norecs) {
|
||||||
|
try {
|
||||||
|
List<Map<String, Object>> result = pelayananPasienService.detailLogbookTarifDokter(idPegawai, norecs);
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||||
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS_OK,
|
||||||
|
getMessage(MessageResource.LABEL_SUCCESS_OK, request));
|
||||||
|
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||||
|
} else {
|
||||||
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_ERROR,
|
||||||
|
getMessage(MessageResource.LABEL_ERROR, request));
|
||||||
|
return RestUtil.getJsonHttptatus(HttpStatus.BAD_REQUEST, mapHeaderMessage);
|
||||||
|
}
|
||||||
|
} catch (ServiceVOException sve) {
|
||||||
|
LOGGER.error("Got exception {} when get detail logbook tarif dokter", sve.getMessage());
|
||||||
|
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
|
||||||
|
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||||
|
} catch (JpaSystemException jse) {
|
||||||
|
LOGGER.error("Got exception {} when get detail logbook tarif dokter", jse.getMessage());
|
||||||
|
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||||
|
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user