Compare commits
No commits in common. "master" and "ade/monitoring/check-health3" have entirely different histories.
master
...
ade/monito
@ -15,7 +15,7 @@
|
||||
</context-param>
|
||||
<context-param>
|
||||
<param-name>spring.profiles.default</param-name>
|
||||
<param-value>bridging</param-value>
|
||||
<param-value>localhost</param-value>
|
||||
</context-param>
|
||||
|
||||
<listener>
|
||||
|
||||
@ -461,10 +461,6 @@ public final class Master {
|
||||
public static final Integer KSM_OBGYN = 59;
|
||||
}
|
||||
|
||||
public static final class AppDefaultVariabel {
|
||||
public static final Integer RECURSIVE_BATCH = 8000;
|
||||
}
|
||||
|
||||
public static final class User {
|
||||
public static final Integer MOBILE_JKN = 3;
|
||||
}
|
||||
|
||||
@ -333,25 +333,24 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement
|
||||
logbookKinerjaDetailDao.save(catatanKinerja);
|
||||
}
|
||||
{
|
||||
Optional<LogbookKinerja> byIdLogbook = logbookKinerjaDao.findByNoRec(catatanKinerja.getLogbookKinerjaId());
|
||||
Optional<LogbookKinerja> byIdLogbook = logbookKinerjaDao
|
||||
.findByNoRec(catatanKinerja.getLogbookKinerjaId());
|
||||
byIdLogbook.ifPresent(logbookKinerja -> {
|
||||
if (Arrays.asList(PERCENTAGE).contains(logbookKinerja.getIndikatorKinerja().getSatuanIndikatorId())) {
|
||||
List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao.findAvgCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE));
|
||||
Optional<Map<String, Object>> catatan = listCatatan.stream().filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst();
|
||||
if (catatan.isPresent()) {
|
||||
logbookKinerja.setCapaian(Double.parseDouble(catatan.get().get("avgCapaian").toString()));
|
||||
} else {
|
||||
logbookKinerja.setCapaian(0.0);
|
||||
}
|
||||
|
||||
if (Arrays.asList(PERCENTAGE)
|
||||
.contains(logbookKinerja.getIndikatorKinerja().getSatuanIndikatorId())) {
|
||||
List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao
|
||||
.findAvgCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE));
|
||||
Optional<Map<String, Object>> catatan = listCatatan.stream()
|
||||
.filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst();
|
||||
catatan.ifPresent(
|
||||
c -> logbookKinerja.setCapaian(Double.parseDouble(c.get("avgCapaian").toString())));
|
||||
} else {
|
||||
List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao.findSumCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE));
|
||||
Optional<Map<String, Object>> catatan = listCatatan.stream().filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst();
|
||||
if (catatan.isPresent()) {
|
||||
logbookKinerja.setCapaian(Double.parseDouble(catatan.get().get("sumCapaian").toString()));
|
||||
} else {
|
||||
logbookKinerja.setCapaian(0.0);
|
||||
}
|
||||
List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao
|
||||
.findSumCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE));
|
||||
Optional<Map<String, Object>> catatan = listCatatan.stream()
|
||||
.filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst();
|
||||
catatan.ifPresent(
|
||||
c -> logbookKinerja.setCapaian(Double.parseDouble(c.get("sumCapaian").toString())));
|
||||
}
|
||||
logbookKinerjaDao.save(logbookKinerja);
|
||||
});
|
||||
|
||||
@ -264,21 +264,17 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
return result;
|
||||
}
|
||||
|
||||
public Map<String, Object> jamEfektifTunggal(Date jadwalPulang, Date jadwalMasuk, long waktuIstirahat, String shift, float factorRate) {
|
||||
public Map<String, Object> jamEfektifTunggal(Date jadwalPulang, Date jadwalMasuk, long waktuIstirahat, String shift) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
String jam_efektif;
|
||||
long minutes;
|
||||
Long minutesAbsen = (long) 0;
|
||||
Long minutesJadwal = (long) 0;
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(factorRate)) {
|
||||
minutesJadwal = (long) (factorRate * 60);
|
||||
}else{
|
||||
if (CommonUtil.isNotNullOrEmpty(jadwalMasuk) && CommonUtil.isNotNullOrEmpty(jadwalPulang)) {
|
||||
minutesJadwal = reduceTime(jadwalPulang, jadwalMasuk);
|
||||
if (minutesJadwal > 30) {
|
||||
minutesJadwal = minutesJadwal - waktuIstirahat; // 30_adalah_waktu_istirahat
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(jadwalMasuk) && CommonUtil.isNotNullOrEmpty(jadwalPulang)) {
|
||||
minutesJadwal = reduceTime(jadwalPulang, jadwalMasuk);
|
||||
if (minutesJadwal > 30) {
|
||||
minutesJadwal = minutesJadwal - waktuIstirahat; // 30_adalah_waktu_istirahat
|
||||
}
|
||||
}
|
||||
|
||||
@ -1658,8 +1654,8 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(data.get("namaShift")) && ((data.get("namaShift").equals("Pagi Malam")) || (data.get("namaShift").equals("Non Shift MOD")))) {
|
||||
//if (CommonUtil.isNotNullOrEmpty(data.get("namaShift")) && (data.get("namaShift").equals("Non Shift MOD"))) {
|
||||
if (CommonUtil.isNotNullOrEmpty(data.get("namaShift")) && ((data.get("namaShift").equals("Pagi Malam"))
|
||||
|| (data.get("namaShift").equals("Non Shift MOD")))) {
|
||||
try {
|
||||
List<Map<String, Object>> listAbsensiPagi = new ArrayList<>();
|
||||
List<Map<String, Object>> listAbsensiPM = new ArrayList<>();
|
||||
@ -1810,11 +1806,11 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
Map<String, Object> jamEfektif = null;
|
||||
|
||||
if (i == 1) {
|
||||
jamEfektif = jamEfektif(absensiDate, absensiMasuk, jadwalPulang, jadwalMasuk, (Integer) data.get("idKelompokShiftKerja"), waktuIstirahatPagi, "Pagi");
|
||||
//jamEfektif = jamEfektifFactorRate((float) data.get("factorRate"), "Pagi");
|
||||
//jamEfektif = jamEfektif(absensiDate, absensiMasuk, jadwalPulang, jadwalMasuk, (Integer) data.get("idKelompokShiftKerja"), waktuIstirahatPagi, "Pagi");
|
||||
jamEfektif = jamEfektifFactorRate((float) data.get("factorRate"), "Pagi");
|
||||
} else if (i == 2) {
|
||||
jamEfektif = jamEfektif(absensiDate, absensiMasuk, jadwalPulang, jadwalMasuk, (Integer) data.get("idKelompokShiftKerja"), waktuIstirahatMalam, "Malam");
|
||||
//jamEfektif = jamEfektifFactorRate((float) data.get("factorRate"), "Malam");
|
||||
//jamEfektif = jamEfektif(absensiDate, absensiMasuk, jadwalPulang, jadwalMasuk, (Integer) data.get("idKelompokShiftKerja"), waktuIstirahatMalam, "Malam");
|
||||
jamEfektif = jamEfektifFactorRate((float) data.get("factorRate"), "Malam");
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(jamEfektif)) {
|
||||
@ -1874,7 +1870,7 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
if (target.before(twoDaysAgo) || target.equals(twoDaysAgo)) {
|
||||
absenTunggal++;
|
||||
Map<String, Object> jamEfektif = new HashMap<>();
|
||||
jamEfektif = jamEfektifTunggal(jadwalPulang, jadwalMasuk, (long) data.get("waktuIstirahat"), (String) data.get("namaShift"), (float) factorRateX);
|
||||
jamEfektif = jamEfektifTunggal(jadwalPulang, jadwalMasuk, (long) data.get("waktuIstirahat"), (String) data.get("namaShift"));
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(jamEfektif)) {
|
||||
jamEf = (String) jamEfektif.get("jam_efektif");
|
||||
@ -1894,9 +1890,9 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
data.put("terlambat", "0");
|
||||
data.put("telat", (long) 0);
|
||||
}
|
||||
} catch (ParseException e) {
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
} else if ((CommonUtil.isNotNullOrEmpty(data.get("absensiPulang")) && CommonUtil.isNullOrEmpty(data.get("absensiMasuk"))) && (CommonUtil.isNotNullOrEmpty(jamMasuk) && CommonUtil.isNotNullOrEmpty(jamPulang))) {
|
||||
absenTunggal++;
|
||||
@ -2022,18 +2018,18 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
dataPM.put("verifikasi", "X");
|
||||
}
|
||||
}
|
||||
|
||||
dataPM.put("jamEfektif", jamEf); //xxx
|
||||
dataPM.put("jam_efektif", jamEf); //xxx
|
||||
dataPM.put("kelebihanJamKerja", kelebihanJamKerja);
|
||||
|
||||
data.put("jamEfektif", jamEf);
|
||||
data.put("jam_efektif", jamEf);
|
||||
data.put("kelebihanJamKerja", kelebihanJamKerja);
|
||||
rsMap.put("jumlahCountKelebihanJamKerja", jumlahCountKelebihanJamKerja);
|
||||
rsMap.put("jumlahKelebihanJamKerja", jumlahKelebihanJamKerja / 60);
|
||||
rsMap.put("jumlahKelebihanMenitKerja", jumlahKelebihanJamKerja);
|
||||
dataPM.put("jumlahTerlambat", jumlahTerlambat.toString()); //xxx
|
||||
dataPM.put("jumlahJamEfektif", jumlahJamEfektif.toString()); //xxx
|
||||
dataPM.put("jumlahPulangAwal", jumlahPulangAwal.toString()); //xxx
|
||||
dataPM.put("alasan", alasanCuti); //xxx
|
||||
listkehadiran.add(dataPM);
|
||||
data.put("jumlahTerlambat", jumlahTerlambat.toString());
|
||||
data.put("jumlahJamEfektif", jumlahJamEfektif.toString());
|
||||
data.put("jumlahPulangAwal", jumlahPulangAwal.toString());
|
||||
data.put("alasan", alasanCuti);
|
||||
listkehadiran.add(data);
|
||||
}
|
||||
rsMap.put("jumlahKelebihanJamKerja", jumlahKelebihanJamKerja / 60);
|
||||
rsMap.put("jumlahKelebihanMenitKerja", jumlahKelebihanJamKerja);
|
||||
@ -2177,25 +2173,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
if (target.before(twoDaysAgo) || target.equals(twoDaysAgo)) {
|
||||
absenTunggal++;
|
||||
Map<String, Object> jamEfektif = new HashMap<>();
|
||||
jamEfektif = jamEfektifTunggal(jadwalPulang, jadwalMasuk, (long) data.get("waktuIstirahat"), (String) data.get("namaShift"), (float) factorRateX);
|
||||
jamEfektif = jamEfektifTunggal(jadwalPulang, jadwalMasuk, (long) data.get("waktuIstirahat"), (String) data.get("namaShift"));
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(jamEfektif)) {
|
||||
jamEf = (String) jamEfektif.get("jam_efektif");
|
||||
jumlahJamEfektif += (Long) jamEfektif.get("Minutes_Efektif");
|
||||
|
||||
if (count == 1) {
|
||||
if ( CommonUtil.isNotNullOrEmpty(data.get("terlambat"))) {
|
||||
jumlahTerlambat -= (long) data.get("terlambat");
|
||||
jumlahCountTerlambat -= 1;
|
||||
data.put("terlambat", "0");
|
||||
data.put("telat", (long) 0);
|
||||
}
|
||||
}else{
|
||||
jumlahTerlambat += (long) 0;
|
||||
data.put("terlambat", "0");
|
||||
data.put("telat", (long) 0);
|
||||
}
|
||||
|
||||
if (((Integer) jamEfektif.get("hariKerja")) != 0) {
|
||||
harikerja += (Integer) jamEfektif.get("hariKerja");
|
||||
p1 += (Integer) jamEfektif.get("p1");
|
||||
@ -2204,11 +2187,11 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
malam += (Integer) jamEfektif.get("malam");
|
||||
data.putAll(jamEfektif);
|
||||
}
|
||||
}else{
|
||||
jumlahTerlambat += (long) 0;
|
||||
data.put("terlambat", "0");
|
||||
data.put("telat", (long) 0);
|
||||
}
|
||||
|
||||
jumlahTerlambat += (long) 0;
|
||||
data.put("terlambat", "0");
|
||||
data.put("telat", (long) 0);
|
||||
}
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
@ -2216,8 +2199,6 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
|
||||
} else if ((CommonUtil.isNotNullOrEmpty(data.get("absensiPulang")) && CommonUtil.isNullOrEmpty(data.get("absensiMasuk"))) && (CommonUtil.isNotNullOrEmpty(jamMasuk) && CommonUtil.isNotNullOrEmpty(jamPulang))) {
|
||||
absenTunggal++;
|
||||
|
||||
System.out.print("terlambat 2");
|
||||
} else if ( CommonUtil.isNotNullOrEmpty(data.get("factorRate")) && factorRateX > 0.0 && Arrays.asList(listKetidakhadiran).contains(data.get("kodeShift")) ) {
|
||||
//System.out.print("Ini Gua Cuti 123");
|
||||
Map<String, Object> jamEfektif = new HashMap<>();
|
||||
@ -2387,19 +2368,17 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(listkehadiran) && CommonUtil.isNotNullOrEmpty(groupKodeShift)) {
|
||||
if (Arrays.asList(listKetidakhadiran).contains(groupKodeShift)) {
|
||||
long jumlah = listkehadiran.stream().filter(
|
||||
dataShift.put(groupKodeShift, listkehadiran.stream().filter(
|
||||
p -> p.containsKey("kodeShift") &&
|
||||
groupKodeShift.equals(p.get("kodeShift"))
|
||||
).count();
|
||||
dataShift.put(groupKodeShift, jumlah);
|
||||
).count());
|
||||
}else{
|
||||
long jumlah = listkehadiran.stream().filter(
|
||||
dataShift.put(groupKodeShift, listkehadiran.stream().filter(
|
||||
p -> p.containsKey("kodeShift") &&
|
||||
groupKodeShift.equals(p.get("kodeShift")) &&
|
||||
!p.get("absensiMasuk").equals("-") &&
|
||||
!p.get("absensiPulang").equals("-")
|
||||
).count();
|
||||
dataShift.put(groupKodeShift, jumlah);
|
||||
).count());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1877,17 +1877,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
.map(d -> d.get("paketId").toString() + d.get("idKelas").toString()).collect(Collectors.toList()));
|
||||
allConcatProdukKelas.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk")))
|
||||
.map(d -> d.get("idProduk").toString() + d.get("idKelas").toString()).collect(Collectors.toList()));
|
||||
//List<HargaNettoProdukByKelasD> tarifDetailReguler = hargaNettoProdukByKelasDDao.findByConcateProdukKelas(allConcatProdukKelas); // Ganti Versi batching
|
||||
|
||||
final int BATCH_SIZE = Master.AppDefaultVariabel.RECURSIVE_BATCH; // Limitasi Jumlah Data Per Batch
|
||||
int total = allConcatProdukKelas.size();
|
||||
List<HargaNettoProdukByKelasD> tarifDetailReguler = new ArrayList<>();
|
||||
for (int i = 0; i < total; i += BATCH_SIZE) {
|
||||
int end = Math.min(i + BATCH_SIZE, total);
|
||||
List<String> batchKeys = allConcatProdukKelas.subList(i, end);
|
||||
List<HargaNettoProdukByKelasD> batchResult = hargaNettoProdukByKelasDDao.findByConcateProdukKelas(batchKeys);
|
||||
tarifDetailReguler.addAll(batchResult);
|
||||
}
|
||||
List<HargaNettoProdukByKelasD> tarifDetailReguler = hargaNettoProdukByKelasDDao
|
||||
.findByConcateProdukKelas(allConcatProdukKelas);
|
||||
List<String> allConcatProdukNonkelas = listData.stream()
|
||||
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("regRefId")))
|
||||
.map(d -> d.get("regRefId").toString() + NON_KELAS).collect(Collectors.toList());
|
||||
@ -1895,17 +1886,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
.map(d -> d.get("paketId").toString() + NON_KELAS).collect(Collectors.toList()));
|
||||
allConcatProdukNonkelas.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk")))
|
||||
.map(d -> d.get("idProduk").toString() + NON_KELAS).collect(Collectors.toList()));
|
||||
//List<HargaNettoProdukByKelasD> tarifDetailNonKelas = hargaNettoProdukByKelasDDao.findByConcateProdukKelas(allConcatProdukNonkelas); // Ganti Versi batching
|
||||
|
||||
final int BATCH_SIZE_NB = Master.AppDefaultVariabel.RECURSIVE_BATCH;
|
||||
int totalNB = allConcatProdukNonkelas.size();
|
||||
List<HargaNettoProdukByKelasD> tarifDetailNonKelas = new ArrayList<>();
|
||||
for (int i = 0; i < totalNB; i += BATCH_SIZE_NB) {
|
||||
int end = Math.min(i + BATCH_SIZE_NB, totalNB);
|
||||
List<String> batchKeys = allConcatProdukNonkelas.subList(i, end);
|
||||
List<HargaNettoProdukByKelasD> batchResult = hargaNettoProdukByKelasDDao.findByConcateProdukKelas(batchKeys);
|
||||
tarifDetailNonKelas.addAll(batchResult);
|
||||
}
|
||||
List<HargaNettoProdukByKelasD> tarifDetailNonKelas = hargaNettoProdukByKelasDDao
|
||||
.findByConcateProdukKelas(allConcatProdukNonkelas);
|
||||
Set<Map<String, Object>> ibuPaketDiRanapByDokter = pelayananPasienDao.findPasienPaketDiRanapByDokter(drKsmObgyn,
|
||||
allProdukEntriId, Arrays.asList(GRUP_RAWAT_INAP));
|
||||
Set<Integer> setIdIbu = ibuPaketDiRanapByDokter.stream()
|
||||
@ -2266,9 +2248,6 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
|
||||
} else {
|
||||
remunFfs = this.splitRemunFfs(idPegawai, bulan);
|
||||
}
|
||||
|
||||
// cek disini
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("remun");
|
||||
Double target = Double.parseDouble(remunFfs.get("targetRemun").toString());
|
||||
|
||||
@ -2655,16 +2655,7 @@ public class SdmController extends LocaleController<AkunVO> {
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK);
|
||||
} catch (Exception e) {
|
||||
Map<String, Object> error = new HashMap<>();
|
||||
error.put("message", e.getMessage());
|
||||
|
||||
if (e.getStackTrace() != null && e.getStackTrace().length > 0) {
|
||||
error.put("line", e.getStackTrace()[0].getLineNumber());
|
||||
error.put("class", e.getStackTrace()[0].getClassName());
|
||||
error.put("method", e.getStackTrace()[0].getMethodName());
|
||||
}
|
||||
|
||||
return RestUtil.getJsonResponse(error, HttpStatus.INTERNAL_SERVER_ERROR);
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
@ -6004,7 +5995,17 @@ public class SdmController extends LocaleController<AkunVO> {
|
||||
body.put("message", "ready");
|
||||
body.put("time", now);
|
||||
|
||||
return ResponseEntity.ok(body);
|
||||
long latency = System.currentTimeMillis() - startTime;
|
||||
|
||||
Map<String, Object> response = new LinkedHashMap<>();
|
||||
response.put("url", request.getRequestURL().toString());
|
||||
response.put("status_code", HttpStatus.OK.value());
|
||||
response.put("is_ok", true);
|
||||
response.put("latency_ms", latency);
|
||||
response.put("body", body);
|
||||
response.put("checked_at", now);
|
||||
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user