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