Update scheduler rekap logbook dokter
Penambahan informasi bulan ibu pulang ranap untuk jenis logbook fixed-pay
This commit is contained in:
parent
7e2335f3fe
commit
a598fa4e8e
@ -53,6 +53,10 @@ public class RekapLogbookDokter extends BaseTransaction {
|
||||
@Column(name = "kelompokpasienfk", insertable = false, updatable = false, nullable = false)
|
||||
private Integer kelompokPasienId;
|
||||
|
||||
@Column(length = 8)
|
||||
@Size(max = 8, message = "Bulan pulang ibu maksimal {max} karaketer")
|
||||
private String bulanPulangIbu;
|
||||
|
||||
@Column(nullable = false)
|
||||
@NotNull(message = "Bulan logbook tidak boleh kosong")
|
||||
@Temporal(DATE)
|
||||
|
||||
@ -2,7 +2,8 @@ package com.jasamedika.medifirst2000.vo;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
import lombok.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.hibernate.validator.constraints.NotBlank;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
@ -36,6 +37,9 @@ public class RekapLogbookDokterVO extends BaseTransactionVO {
|
||||
|
||||
private Integer kelompokPasienId;
|
||||
|
||||
@Size(max = 8, message = "Bulan pulang ibu maksimal {max} karaketer")
|
||||
private String bulanPulangIbu;
|
||||
|
||||
private Date bulan;
|
||||
|
||||
private Double jumlah;
|
||||
|
||||
@ -49,9 +49,9 @@ public class LogbookTask {
|
||||
DateFormat df = new SimpleDateFormat("yyyy-MM");
|
||||
String bulan = df.format(date);
|
||||
List<RekapLogbookDokter> models = new ArrayList<>();
|
||||
idPegawaiByTglPelayanan.forEach(id -> {
|
||||
idPegawaiByTglPelayanan.forEach(idPegawai -> {
|
||||
{
|
||||
Map<String, Object> kinerjaDokter = pelayananPasienService.logbookRemunTarifDokter(id, bulan);
|
||||
Map<String, Object> kinerjaDokter = pelayananPasienService.logbookRemunTarifDokter(idPegawai, bulan);
|
||||
List<Map<String, Object>> remun = (List<Map<String, Object>>) kinerjaDokter.get("data");
|
||||
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
||||
remun.forEach(r -> {
|
||||
@ -67,7 +67,7 @@ public class LogbookTask {
|
||||
rekapLogbookDokter.setKdProfile((short) 0);
|
||||
rekapLogbookDokter.setStatusEnabled(true);
|
||||
Pegawai pegawai = new Pegawai();
|
||||
pegawai.setId(id);
|
||||
pegawai.setId(idPegawai);
|
||||
rekapLogbookDokter.setPegawai(pegawai);
|
||||
rekapLogbookDokter.setJenisLogbook("JKN");
|
||||
KelompokPasien kelompokPasien = new KelompokPasien();
|
||||
@ -80,7 +80,7 @@ public class LogbookTask {
|
||||
});
|
||||
}
|
||||
{
|
||||
List<Map<String, Object>> ffs = pelayananPasienService.logbookFfsTarifDokter(id, bulan);
|
||||
List<Map<String, Object>> ffs = pelayananPasienService.logbookFfsTarifDokter(idPegawai, bulan);
|
||||
List<String> listJenisRuangan = new ArrayList<>();
|
||||
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
||||
ffs.forEach(r -> {
|
||||
@ -102,7 +102,7 @@ public class LogbookTask {
|
||||
rekapLogbookDokter.setKdProfile((short) 0);
|
||||
rekapLogbookDokter.setStatusEnabled(true);
|
||||
Pegawai pegawai = new Pegawai();
|
||||
pegawai.setId(id);
|
||||
pegawai.setId(idPegawai);
|
||||
rekapLogbookDokter.setPegawai(pegawai);
|
||||
rekapLogbookDokter.setJenisLogbook("NON_JKN");
|
||||
rekapLogbookDokter.setJenisRuangan(jenisRuangan);
|
||||
@ -116,40 +116,47 @@ public class LogbookTask {
|
||||
}));
|
||||
}
|
||||
{
|
||||
List<Map<String, Object>> fixedPay = pelayananPasienService.logbookFixedPayDokter(id, bulan);
|
||||
List<Map<String, Object>> fixedPay = pelayananPasienService.logbookFixedPayDokter(idPegawai, bulan);
|
||||
List<String> listJenisRuangan = new ArrayList<>();
|
||||
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
||||
List<String> listBulanIbuPulangRanap = new ArrayList<>();
|
||||
fixedPay.forEach(r -> {
|
||||
if (!listJenisRuangan.contains(r.get("jenisRuangan").toString()))
|
||||
listJenisRuangan.add(r.get("jenisRuangan").toString());
|
||||
if (!listIdKelompokPasien.contains(Integer.parseInt(r.get("idKelompokPasien").toString())))
|
||||
listIdKelompokPasien.add(Integer.parseInt(r.get("idKelompokPasien").toString()));
|
||||
if (!listBulanIbuPulangRanap.contains(r.get("bulanPulangIbu").toString()))
|
||||
listBulanIbuPulangRanap.add(r.get("bulanPulangIbu").toString());
|
||||
});
|
||||
listJenisRuangan.forEach(jenisRuangan -> listIdKelompokPasien.forEach(idKelompokPasien -> {
|
||||
double jumlah = fixedPay.stream()
|
||||
.filter(r -> jenisRuangan.equals(r.get("jenisRuangan"))
|
||||
&& idKelompokPasien.equals(r.get("idKelompokPasien")))
|
||||
.mapToDouble(r -> Double.parseDouble(r.get("jumlah").toString())).sum();
|
||||
double hargaJasa = fixedPay.stream()
|
||||
.filter(r -> jenisRuangan.equals(r.get("jenisRuangan"))
|
||||
&& idKelompokPasien.equals(r.get("idKelompokPasien")))
|
||||
.mapToDouble(r -> Double.parseDouble(r.get("jumlahHargaJasa").toString())).sum();
|
||||
RekapLogbookDokter rekapLogbookDokter = new RekapLogbookDokter();
|
||||
rekapLogbookDokter.setKdProfile((short) 0);
|
||||
rekapLogbookDokter.setStatusEnabled(true);
|
||||
Pegawai pegawai = new Pegawai();
|
||||
pegawai.setId(id);
|
||||
rekapLogbookDokter.setPegawai(pegawai);
|
||||
rekapLogbookDokter.setJenisLogbook("FIXED_PAY");
|
||||
rekapLogbookDokter.setJenisRuangan(jenisRuangan);
|
||||
KelompokPasien kelompokPasien = new KelompokPasien();
|
||||
kelompokPasien.setId(idKelompokPasien);
|
||||
rekapLogbookDokter.setKelompokPasien(kelompokPasien);
|
||||
rekapLogbookDokter.setBulan(date);
|
||||
rekapLogbookDokter.setJumlah(jumlah);
|
||||
rekapLogbookDokter.setCapaian(hargaJasa);
|
||||
models.add(rekapLogbookDokter);
|
||||
}));
|
||||
listJenisRuangan.forEach(jenisRuangan -> listIdKelompokPasien
|
||||
.forEach(idKelompokPasien -> listBulanIbuPulangRanap.forEach(bulanIbuPulangRanap -> {
|
||||
double jumlah = fixedPay.stream()
|
||||
.filter(r -> jenisRuangan.equals(r.get("jenisRuangan"))
|
||||
&& idKelompokPasien.equals(r.get("idKelompokPasien"))
|
||||
&& bulanIbuPulangRanap.equals(r.get("bulanIbuPulang")))
|
||||
.mapToDouble(r -> Double.parseDouble(r.get("jumlah").toString())).sum();
|
||||
double hargaJasa = fixedPay.stream()
|
||||
.filter(r -> jenisRuangan.equals(r.get("jenisRuangan"))
|
||||
&& idKelompokPasien.equals(r.get("idKelompokPasien"))
|
||||
&& bulanIbuPulangRanap.equals(r.get("bulanIbuPulang")))
|
||||
.mapToDouble(r -> Double.parseDouble(r.get("jumlahHargaJasa").toString())).sum();
|
||||
RekapLogbookDokter rekapLogbookDokter = new RekapLogbookDokter();
|
||||
rekapLogbookDokter.setKdProfile((short) 0);
|
||||
rekapLogbookDokter.setStatusEnabled(true);
|
||||
Pegawai pegawai = new Pegawai();
|
||||
pegawai.setId(idPegawai);
|
||||
rekapLogbookDokter.setPegawai(pegawai);
|
||||
rekapLogbookDokter.setJenisLogbook("FIXED_PAY");
|
||||
rekapLogbookDokter.setJenisRuangan(jenisRuangan);
|
||||
KelompokPasien kelompokPasien = new KelompokPasien();
|
||||
kelompokPasien.setId(idKelompokPasien);
|
||||
rekapLogbookDokter.setKelompokPasien(kelompokPasien);
|
||||
rekapLogbookDokter.setBulanPulangIbu(bulanIbuPulangRanap);
|
||||
rekapLogbookDokter.setBulan(date);
|
||||
rekapLogbookDokter.setJumlah(jumlah);
|
||||
rekapLogbookDokter.setCapaian(hargaJasa);
|
||||
models.add(rekapLogbookDokter);
|
||||
})));
|
||||
}
|
||||
});
|
||||
rekapLogbookDokterDao.save(models);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user