Update LogbookTask.java
Penyesuaian cut-off tarif baru untuk scheduler rekap logbook dokter
This commit is contained in:
parent
f7fb78722d
commit
eccbc161f5
@ -5,6 +5,7 @@ import com.jasamedika.medifirst2000.entities.*;
|
|||||||
import com.jasamedika.medifirst2000.service.LogbookRemunService;
|
import com.jasamedika.medifirst2000.service.LogbookRemunService;
|
||||||
import com.jasamedika.medifirst2000.service.PelayananPasienService;
|
import com.jasamedika.medifirst2000.service.PelayananPasienService;
|
||||||
import com.jasamedika.medifirst2000.service.RekapLogbookDokterService;
|
import com.jasamedika.medifirst2000.service.RekapLogbookDokterService;
|
||||||
|
import com.jasamedika.medifirst2000.service.RemunerasiService;
|
||||||
import com.jasamedika.medifirst2000.util.DateUtil;
|
import com.jasamedika.medifirst2000.util.DateUtil;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -16,7 +17,9 @@ import java.math.BigDecimal;
|
|||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.YearMonth;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
@ -31,7 +34,7 @@ import static com.jasamedika.medifirst2000.constants.Master.Profesi.TERAPI;
|
|||||||
*/
|
*/
|
||||||
@Component
|
@Component
|
||||||
public class LogbookTask {
|
public class LogbookTask {
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(PasienTask.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(LogbookTask.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PelayananPasienPetugasDao pelayananPasienPetugasDao;
|
private PelayananPasienPetugasDao pelayananPasienPetugasDao;
|
||||||
@ -42,6 +45,9 @@ public class LogbookTask {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PelayananPasienService pelayananPasienService;
|
private PelayananPasienService pelayananPasienService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RemunerasiService remunerasiService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private RekapLogbookDokterService rekapLogbookDokterService;
|
private RekapLogbookDokterService rekapLogbookDokterService;
|
||||||
|
|
||||||
@ -81,11 +87,18 @@ public class LogbookTask {
|
|||||||
Set<Integer> idPegawaiByTglPelayanan = pelayananPasienPetugasDao.findPegawaiByTglPelayanan(tglAwal, tglAkhir);
|
Set<Integer> idPegawaiByTglPelayanan = pelayananPasienPetugasDao.findPegawaiByTglPelayanan(tglAwal, tglAkhir);
|
||||||
DateFormat df = new SimpleDateFormat("yyyy-MM");
|
DateFormat df = new SimpleDateFormat("yyyy-MM");
|
||||||
String bulan = df.format(date);
|
String bulan = df.format(date);
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
|
||||||
|
YearMonth oct24 = YearMonth.parse("2024-10", formatter);
|
||||||
|
YearMonth month = YearMonth.parse(bulan, formatter);
|
||||||
List<RekapLogbookDokter> models = new ArrayList<>();
|
List<RekapLogbookDokter> models = new ArrayList<>();
|
||||||
idPegawaiByTglPelayanan.forEach(idPegawai -> {
|
idPegawaiByTglPelayanan.forEach(idPegawai -> {
|
||||||
{
|
{
|
||||||
Map<String, Object> kinerjaDokter = pelayananPasienService.logbookRemunTarifDokter(idPegawai, bulan,
|
Map<String, Object> kinerjaDokter;
|
||||||
null);
|
if (month.isBefore(oct24)) {
|
||||||
|
kinerjaDokter = pelayananPasienService.logbookRemunTarifDokter(idPegawai, bulan, null);
|
||||||
|
} else {
|
||||||
|
kinerjaDokter = remunerasiService.logbookRemunTarifDokter(idPegawai, bulan, null);
|
||||||
|
}
|
||||||
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 -> {
|
||||||
@ -114,7 +127,12 @@ public class LogbookTask {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
List<Map<String, Object>> ffs = pelayananPasienService.logbookFfsTarifDokter(idPegawai, bulan, null);
|
List<Map<String, Object>> ffs;
|
||||||
|
if (month.isBefore(oct24)) {
|
||||||
|
ffs = pelayananPasienService.logbookFfsTarifDokter(idPegawai, bulan, null);
|
||||||
|
} else {
|
||||||
|
ffs = remunerasiService.logbookFfsTarifDokter(idPegawai, bulan, null);
|
||||||
|
}
|
||||||
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 -> {
|
||||||
@ -150,8 +168,12 @@ public class LogbookTask {
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
List<Map<String, Object>> fixedPay = pelayananPasienService.logbookFixedPayDokter(idPegawai, bulan,
|
List<Map<String, Object>> fixedPay;
|
||||||
null);
|
if (month.isBefore(oct24)) {
|
||||||
|
fixedPay = pelayananPasienService.logbookFixedPayDokter(idPegawai, bulan, null);
|
||||||
|
} else {
|
||||||
|
fixedPay = remunerasiService.logbookFixedPayDokter(idPegawai, bulan, null);
|
||||||
|
}
|
||||||
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<>();
|
List<String> listBulanIbuPulangRanap = new ArrayList<>();
|
||||||
@ -222,6 +244,9 @@ public class LogbookTask {
|
|||||||
private void saveRekapDetailLogbookDokter(Set<Integer> idPegawaiKelompokKerja, Date date) {
|
private void saveRekapDetailLogbookDokter(Set<Integer> idPegawaiKelompokKerja, Date date) {
|
||||||
DateFormat df = new SimpleDateFormat("yyyy-MM");
|
DateFormat df = new SimpleDateFormat("yyyy-MM");
|
||||||
String bulan = df.format(date);
|
String bulan = df.format(date);
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
|
||||||
|
YearMonth oct24 = YearMonth.parse("2024-09", formatter);
|
||||||
|
YearMonth month = YearMonth.parse(bulan, formatter);
|
||||||
ExecutorService executorService = Executors.newFixedThreadPool(50);
|
ExecutorService executorService = Executors.newFixedThreadPool(50);
|
||||||
CountDownLatch latch = new CountDownLatch(50);
|
CountDownLatch latch = new CountDownLatch(50);
|
||||||
try {
|
try {
|
||||||
@ -237,8 +262,12 @@ public class LogbookTask {
|
|||||||
logbookRemun.setTanggalTarikData(new Date());
|
logbookRemun.setTanggalTarikData(new Date());
|
||||||
LogbookRemun savedRemun = logbookRemunDao.save(logbookRemun);
|
LogbookRemun savedRemun = logbookRemunDao.save(logbookRemun);
|
||||||
{
|
{
|
||||||
Map<String, Object> kinerjaDokter = pelayananPasienService.logbookRemunTarifDokter(idPegawai,
|
Map<String, Object> kinerjaDokter;
|
||||||
bulan, null);
|
if (month.isBefore(oct24)) {
|
||||||
|
kinerjaDokter = pelayananPasienService.logbookRemunTarifDokter(idPegawai, bulan, null);
|
||||||
|
} else {
|
||||||
|
kinerjaDokter = remunerasiService.logbookRemunTarifDokter(idPegawai, bulan, null);
|
||||||
|
}
|
||||||
List<Map<String, Object>> remun = (List<Map<String, Object>>) kinerjaDokter.get("data");
|
List<Map<String, Object>> remun = (List<Map<String, Object>>) kinerjaDokter.get("data");
|
||||||
for (Map<String, Object> map : remun) {
|
for (Map<String, Object> map : remun) {
|
||||||
List<String> listNorecPelayananPasienPetugas = new ArrayList<>();
|
List<String> listNorecPelayananPasienPetugas = new ArrayList<>();
|
||||||
@ -296,8 +325,12 @@ public class LogbookTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
List<Map<String, Object>> ffs = pelayananPasienService.logbookFfsTarifDokter(idPegawai, bulan,
|
List<Map<String, Object>> ffs;
|
||||||
null);
|
if (month.isBefore(oct24)) {
|
||||||
|
ffs = pelayananPasienService.logbookFfsTarifDokter(idPegawai, bulan, null);
|
||||||
|
} else {
|
||||||
|
ffs = remunerasiService.logbookFfsTarifDokter(idPegawai, bulan, null);
|
||||||
|
}
|
||||||
for (Map<String, Object> fee : ffs) {
|
for (Map<String, Object> fee : ffs) {
|
||||||
List<String> listNorecPelayananPasienPetugas = new ArrayList<>();
|
List<String> listNorecPelayananPasienPetugas = new ArrayList<>();
|
||||||
{
|
{
|
||||||
@ -355,8 +388,12 @@ public class LogbookTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
List<Map<String, Object>> ffs = pelayananPasienService.logbookFfsLuarTarifDokter(idPegawai,
|
List<Map<String, Object>> ffs;
|
||||||
bulan, null);
|
if (month.isBefore(oct24)) {
|
||||||
|
ffs = pelayananPasienService.logbookFfsLuarTarifDokter(idPegawai, bulan, null);
|
||||||
|
} else {
|
||||||
|
ffs = remunerasiService.logbookFfsLuarTarifDokter(idPegawai, bulan, null);
|
||||||
|
}
|
||||||
for (Map<String, Object> fee : ffs) {
|
for (Map<String, Object> fee : ffs) {
|
||||||
List<String> listNorecPelayananPasienPetugas = new ArrayList<>();
|
List<String> listNorecPelayananPasienPetugas = new ArrayList<>();
|
||||||
{
|
{
|
||||||
@ -414,8 +451,12 @@ public class LogbookTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
List<Map<String, Object>> fixedPay = pelayananPasienService.logbookFixedPayDokter(idPegawai,
|
List<Map<String, Object>> fixedPay;
|
||||||
bulan, null);
|
if (month.isBefore(oct24)) {
|
||||||
|
fixedPay = pelayananPasienService.logbookFixedPayDokter(idPegawai, bulan, null);
|
||||||
|
} else {
|
||||||
|
fixedPay = remunerasiService.logbookFixedPayDokter(idPegawai, bulan, null);
|
||||||
|
}
|
||||||
for (Map<String, Object> pay : fixedPay) {
|
for (Map<String, Object> pay : fixedPay) {
|
||||||
List<String> listNorecPelayananPasienPetugas = new ArrayList<>();
|
List<String> listNorecPelayananPasienPetugas = new ArrayList<>();
|
||||||
{
|
{
|
||||||
@ -471,8 +512,12 @@ public class LogbookTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
List<Map<String, Object>> klaimMpp = pelayananPasienService.logbookKlaimMppDokter(idPegawai,
|
List<Map<String, Object>> klaimMpp;
|
||||||
bulan);
|
if (month.isBefore(oct24)) {
|
||||||
|
klaimMpp = pelayananPasienService.logbookKlaimMppDokter(idPegawai, bulan);
|
||||||
|
} else {
|
||||||
|
klaimMpp = remunerasiService.logbookKlaimMppDokter(idPegawai, bulan);
|
||||||
|
}
|
||||||
for (Map<String, Object> mpp : klaimMpp) {
|
for (Map<String, Object> mpp : klaimMpp) {
|
||||||
List<String> listNorecPelayananPasienPetugas = new ArrayList<>();
|
List<String> listNorecPelayananPasienPetugas = new ArrayList<>();
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user