- penambahan konstanta indikator-indikator kehadiran

- pembuatan service menghitung target hari kerja terintegrasi dengan pengaturan hari libur
- penyesuaian service simpan kontrak kinerja terhadap perhitungan target hari kerja
- penyesuaian service edit kontrak kinerja terhadap perhitugnan target hari kerja
- penambahan service simpan verifikasi indikator kehadiran di monitoring presensi
- penambahan kolom jenis profesi untuk membedakan tkl ppa dan non-ppa
- penambahan informasi waktu istirahat saat simpan verifikasi monitoring absensi
This commit is contained in:
salmanoe 2021-10-15 16:57:36 +07:00
parent 5e971f4bdc
commit bbc3e52c5e
11 changed files with 340 additions and 150 deletions

View File

@ -424,14 +424,17 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
listRawatInapDto.add(dtoIbu); listRawatInapDto.add(dtoIbu);
/* /*
* Konsultasi List<Object[]> list3 = reportingPelayananRekamMedisService. * Konsultasi List<Object[]> list3 =
* reportingPelayananRekamMedisService.
* findSuratPermintaanMasukByRuanganKelas(ruangan, kelas, bulan, tahun); * findSuratPermintaanMasukByRuanganKelas(ruangan, kelas, bulan, tahun);
* *
* InstalasiRawatInapDto dtoBayiKonsultasi = new InstalasiRawatInapDto(); * InstalasiRawatInapDto dtoBayiKonsultasi = new
* InstalasiRawatInapDto dtoAnakKonsultasi = new InstalasiRawatInapDto(); * InstalasiRawatInapDto(); InstalasiRawatInapDto dtoAnakKonsultasi =
* InstalasiRawatInapDto dtoIbuKonsultasi = new InstalasiRawatInapDto(); * new InstalasiRawatInapDto(); InstalasiRawatInapDto dtoIbuKonsultasi =
* dtoBayiKonsultasi.setNo("3"); dtoBayiKonsultasi.setDeskripsi("Konsultasi"); * new InstalasiRawatInapDto(); dtoBayiKonsultasi.setNo("3");
* dtoBayiKonsultasi.setLevel1("Bayi"); dtoAnakKonsultasi.setLevel1("Anak"); * dtoBayiKonsultasi.setDeskripsi("Konsultasi");
* dtoBayiKonsultasi.setLevel1("Bayi");
* dtoAnakKonsultasi.setLevel1("Anak");
* dtoIbuKonsultasi.setLevel1("Ibu"); * dtoIbuKonsultasi.setLevel1("Ibu");
* *
* for (Object[] data : list3) { String tanggal=((String) * for (Object[] data : list3) { String tanggal=((String)
@ -444,8 +447,8 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
* dtoBayiKonsultasi, jumlah, elements); }else * dtoBayiKonsultasi, jumlah, elements); }else
* if(bayiAnakIbu.equalsIgnoreCase("anak")){ populateTgl(data, * if(bayiAnakIbu.equalsIgnoreCase("anak")){ populateTgl(data,
* dtoAnakKonsultasi, jumlah, elements); }else * dtoAnakKonsultasi, jumlah, elements); }else
* if(bayiAnakIbu.equalsIgnoreCase("ibu")){ populateTgl(data, dtoIbuKonsultasi, * if(bayiAnakIbu.equalsIgnoreCase("ibu")){ populateTgl(data,
* jumlah, elements); } } * dtoIbuKonsultasi, jumlah, elements); } }
* *
* listRawatInapDto.add(dtoBayiKonsultasi); * listRawatInapDto.add(dtoBayiKonsultasi);
* listRawatInapDto.add(dtoAnakKonsultasi); * listRawatInapDto.add(dtoAnakKonsultasi);
@ -2472,10 +2475,11 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
/* /*
* String tandaVital=""; for(Object[] data: papTandaVital) { * String tandaVital=""; for(Object[] data: papTandaVital) {
* if((CommonUtil.isNotNullOrEmpty(data))) { String kesadaran = * if((CommonUtil.isNotNullOrEmpty(data))) { String kesadaran =
* ((String)data[0]);if(CommonUtil.isNullOrEmpty(kesadaran)){kesadaran= "";} * ((String)data[0]);if(CommonUtil.isNullOrEmpty(kesadaran)){kesadaran=
* String rasiOksigen = * "";} String rasiOksigen =
* ((String)data[1]);if(CommonUtil.isNullOrEmpty(rasiOksigen)){ rasiOksigen="";} * ((String)data[1]);if(CommonUtil.isNullOrEmpty(rasiOksigen)){
* String gcs = ((String)data[2]);if(CommonUtil.isNullOrEmpty(gcs)){gcs="";} * rasiOksigen="";} String gcs =
* ((String)data[2]);if(CommonUtil.isNullOrEmpty(gcs)){gcs="";}
* tandaVital = "Kesadaran Terganggu : "+kesadaran+ * tandaVital = "Kesadaran Terganggu : "+kesadaran+
* "\n Rasi Oksigen : "+rasiOksigen+"\n Gcs : "+gcs; } * "\n Rasi Oksigen : "+rasiOksigen+"\n Gcs : "+gcs; }
* *
@ -2577,8 +2581,8 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
String anamansisData = ""; String anamansisData = "";
String riwayatPenyakitData = ""; String riwayatPenyakitData = "";
/* /*
* for(Object[] data: anamansis) { if((CommonUtil.isNotNullOrEmpty(data))) { * for(Object[] data: anamansis) {
* String anamansisDokter = * if((CommonUtil.isNotNullOrEmpty(data))) { String anamansisDokter =
* ((String)data[0]);if(CommonUtil.isNullOrEmpty(anamansisDokter)){ * ((String)data[0]);if(CommonUtil.isNullOrEmpty(anamansisDokter)){
* anamansisDokter="";} String anamansisSuster = * anamansisDokter="";} String anamansisSuster =
* ((String)data[1]);if(CommonUtil.isNullOrEmpty(anamansisDokter)){ * ((String)data[1]);if(CommonUtil.isNullOrEmpty(anamansisDokter)){
@ -2971,10 +2975,11 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
/* /*
* String tandaVital=""; for(Object[] data: papTandaVital) { * String tandaVital=""; for(Object[] data: papTandaVital) {
* if((CommonUtil.isNotNullOrEmpty(data))) { String kesadaran = * if((CommonUtil.isNotNullOrEmpty(data))) { String kesadaran =
* ((String)data[0]);if(CommonUtil.isNullOrEmpty(kesadaran)){kesadaran= "";} * ((String)data[0]);if(CommonUtil.isNullOrEmpty(kesadaran)){kesadaran=
* String rasiOksigen = * "";} String rasiOksigen =
* ((String)data[1]);if(CommonUtil.isNullOrEmpty(rasiOksigen)){ rasiOksigen="";} * ((String)data[1]);if(CommonUtil.isNullOrEmpty(rasiOksigen)){
* String gcs = ((String)data[2]);if(CommonUtil.isNullOrEmpty(gcs)){gcs="";} * rasiOksigen="";} String gcs =
* ((String)data[2]);if(CommonUtil.isNullOrEmpty(gcs)){gcs="";}
* tandaVital = "Kesadaran Terganggu : "+kesadaran+ * tandaVital = "Kesadaran Terganggu : "+kesadaran+
* "\n Rasi Oksigen : "+rasiOksigen+"\n Gcs : "+gcs; } * "\n Rasi Oksigen : "+rasiOksigen+"\n Gcs : "+gcs; }
* *
@ -4199,34 +4204,22 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
KartuPengendaliDto kartuPengendaliDto = reportService.generateKartuPengendali(noRec); KartuPengendaliDto kartuPengendaliDto = reportService.generateKartuPengendali(noRec);
m.addObject("dataSource", kartuPengendaliDto.getKartuPengendaliDetail()); m.addObject("dataSource", kartuPengendaliDto.getKartuPengendaliDetail());
m.addObject("total", m.addObject("total", kartuPengendaliDto.getKartuPengendaliHeader().getTotal() != null
kartuPengendaliDto.getKartuPengendaliHeader().getTotal() != null ? kartuPengendaliDto.getKartuPengendaliHeader().getTotal().toString() : "");
? kartuPengendaliDto.getKartuPengendaliHeader().getTotal().toString() m.addObject("ppn", kartuPengendaliDto.getKartuPengendaliHeader().getPpn() != null
: ""); ? kartuPengendaliDto.getKartuPengendaliHeader().getPpn().toString() : "");
m.addObject("ppn", m.addObject("subTotal", kartuPengendaliDto.getKartuPengendaliHeader().getSubTotal() != null
kartuPengendaliDto.getKartuPengendaliHeader().getPpn() != null ? kartuPengendaliDto.getKartuPengendaliHeader().getSubTotal().toString() : "");
? kartuPengendaliDto.getKartuPengendaliHeader().getPpn().toString()
: "");
m.addObject("subTotal",
kartuPengendaliDto.getKartuPengendaliHeader().getSubTotal() != null
? kartuPengendaliDto.getKartuPengendaliHeader().getSubTotal().toString()
: "");
m.addObject("namaPengendali", kartuPengendaliDto.getKartuPengendaliHeader().getNamaPengendali()); m.addObject("namaPengendali", kartuPengendaliDto.getKartuPengendaliHeader().getNamaPengendali());
m.addObject("noUsulan", kartuPengendaliDto.getKartuPengendaliHeader().getNoUsulan()); m.addObject("noUsulan", kartuPengendaliDto.getKartuPengendaliHeader().getNoUsulan());
m.addObject("tanggalUsulan", m.addObject("tanggalUsulan", kartuPengendaliDto.getKartuPengendaliHeader().getTanggalUsulan() != null
kartuPengendaliDto.getKartuPengendaliHeader().getTanggalUsulan() != null ? kartuPengendaliDto.getKartuPengendaliHeader().getTanggalUsulan().toString() : "");
? kartuPengendaliDto.getKartuPengendaliHeader().getTanggalUsulan().toString()
: "");
m.addObject("paketPengadaan", kartuPengendaliDto.getKartuPengendaliHeader().getPaketPengadaan()); m.addObject("paketPengadaan", kartuPengendaliDto.getKartuPengendaliHeader().getPaketPengadaan());
m.addObject("tanggalDibutuhkan", m.addObject("tanggalDibutuhkan", kartuPengendaliDto.getKartuPengendaliHeader().getTanggalDibutuhkan() != null
kartuPengendaliDto.getKartuPengendaliHeader().getTanggalDibutuhkan() != null ? kartuPengendaliDto.getKartuPengendaliHeader().getTanggalDibutuhkan().toString() : "");
? kartuPengendaliDto.getKartuPengendaliHeader().getTanggalDibutuhkan().toString()
: "");
m.addObject("asalProduk", kartuPengendaliDto.getKartuPengendaliHeader().getAsalProduk()); m.addObject("asalProduk", kartuPengendaliDto.getKartuPengendaliHeader().getAsalProduk());
m.addObject("kodeMataAnggaran", m.addObject("kodeMataAnggaran", kartuPengendaliDto.getKartuPengendaliHeader().getKodeMataAnggaran() != null
kartuPengendaliDto.getKartuPengendaliHeader().getKodeMataAnggaran() != null ? kartuPengendaliDto.getKartuPengendaliHeader().getKodeMataAnggaran().toString() : "");
? kartuPengendaliDto.getKartuPengendaliHeader().getKodeMataAnggaran().toString()
: "");
m.addObject("jenisDirektur", kartuPengendaliDto.getJenisDirektur()); m.addObject("jenisDirektur", kartuPengendaliDto.getJenisDirektur());
m.addObject("jenisPengendali", kartuPengendaliDto.getJenisPengendali()); m.addObject("jenisPengendali", kartuPengendaliDto.getJenisPengendali());
m.addObject("namaLengkapPpk", kartuPengendaliDto.getPpk().getNamaLengkap()); m.addObject("namaLengkapPpk", kartuPengendaliDto.getPpk().getNamaLengkap());
@ -4249,14 +4242,10 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
HPSDto hPSDto = reportService.generateHPS(noRec); HPSDto hPSDto = reportService.generateHPS(noRec);
String tahun = new SimpleDateFormat("yyyy").format(hPSDto.getKartuPengendaliHeader().getTahun()).toString(); String tahun = new SimpleDateFormat("yyyy").format(hPSDto.getKartuPengendaliHeader().getTahun()).toString();
m.addObject("dataSource", hPSDto.getKartuPengendaliDetail()); m.addObject("dataSource", hPSDto.getKartuPengendaliDetail());
m.addObject("total", m.addObject("total", hPSDto.getKartuPengendaliHeader().getTotal() != null
hPSDto.getKartuPengendaliHeader().getTotal() != null ? hPSDto.getKartuPengendaliHeader().getTotal().toString() : "");
? hPSDto.getKartuPengendaliHeader().getTotal().toString() m.addObject("ppn", hPSDto.getKartuPengendaliHeader().getPpn() != null
: ""); ? hPSDto.getKartuPengendaliHeader().getPpn().toString() : "");
m.addObject("ppn",
hPSDto.getKartuPengendaliHeader().getPpn() != null
? hPSDto.getKartuPengendaliHeader().getPpn().toString()
: "");
m.addObject("tahun", tahun); m.addObject("tahun", tahun);
m.addObject("title", hPSDto.getKartuPengendaliHeader().getTitle()); m.addObject("title", hPSDto.getKartuPengendaliHeader().getTitle());
m.addObject("paketPengadaan", hPSDto.getKartuPengendaliHeader().getPaketPengadaan()); m.addObject("paketPengadaan", hPSDto.getKartuPengendaliHeader().getPaketPengadaan());
@ -4404,26 +4393,20 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
LampiranSPPHDto dto = reportService.generateLampiranSPPH(noRec); LampiranSPPHDto dto = reportService.generateLampiranSPPH(noRec);
String noUsulan = dto.getKartuPengendaliHeader().getNoUsulan() != null String noUsulan = dto.getKartuPengendaliHeader().getNoUsulan() != null
? dto.getKartuPengendaliHeader().getNoUsulan() ? dto.getKartuPengendaliHeader().getNoUsulan() : "";
: "";
String namaPengendali = dto.getKartuPengendaliHeader().getNamaPengendali() != null String namaPengendali = dto.getKartuPengendaliHeader().getNamaPengendali() != null
? dto.getKartuPengendaliHeader().getNamaPengendali() ? dto.getKartuPengendaliHeader().getNamaPengendali() : "";
: "";
Date tgl = dto.getKartuPengendaliHeader().getTanggalUsulan(); Date tgl = dto.getKartuPengendaliHeader().getTanggalUsulan();
String tahun = tgl != null ? new SimpleDateFormat("yyyy").format(tgl).toString() : ""; String tahun = tgl != null ? new SimpleDateFormat("yyyy").format(tgl).toString() : "";
String tanggal = tgl != null ? new SimpleDateFormat("dd-MM-yyyy").format(tgl).toString() : ""; String tanggal = tgl != null ? new SimpleDateFormat("dd-MM-yyyy").format(tgl).toString() : "";
String pengadaan = dto.getPengadaan().getNamaPengadaan(); String pengadaan = dto.getPengadaan().getNamaPengadaan();
m.addObject("dataSource", dto.getKartuPengendaliDetail()); m.addObject("dataSource", dto.getKartuPengendaliDetail());
m.addObject("total", m.addObject("total", dto.getKartuPengendaliHeader().getTotal() != null
dto.getKartuPengendaliHeader().getTotal() != null ? dto.getKartuPengendaliHeader().getTotal().toString() ? dto.getKartuPengendaliHeader().getTotal().toString() : "");
: ""); m.addObject("ppn", dto.getKartuPengendaliHeader().getPpn() != null
m.addObject("ppn", ? dto.getKartuPengendaliHeader().getPpn().toString() : "");
dto.getKartuPengendaliHeader().getPpn() != null ? dto.getKartuPengendaliHeader().getPpn().toString() m.addObject("subTotal", dto.getKartuPengendaliHeader().getSubTotal() != null
: ""); ? dto.getKartuPengendaliHeader().getSubTotal().toString() : "");
m.addObject("subTotal",
dto.getKartuPengendaliHeader().getSubTotal() != null
? dto.getKartuPengendaliHeader().getSubTotal().toString()
: "");
m.addObject("tanggalUsulan", tanggal); m.addObject("tanggalUsulan", tanggal);
m.addObject("tahun", tahun); m.addObject("tahun", tahun);
m.addObject("pengadaan", pengadaan); m.addObject("pengadaan", pengadaan);
@ -4441,19 +4424,16 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
LampiranSPPHDto dto = reportService.generateLampiranSPPH(noRec); LampiranSPPHDto dto = reportService.generateLampiranSPPH(noRec);
String noUsulan = dto.getKartuPengendaliHeader().getNoUsulan() != null String noUsulan = dto.getKartuPengendaliHeader().getNoUsulan() != null
? dto.getKartuPengendaliHeader().getNoUsulan() ? dto.getKartuPengendaliHeader().getNoUsulan() : "";
: "";
String namaPengendali = dto.getKartuPengendaliHeader().getNamaPengendali() != null String namaPengendali = dto.getKartuPengendaliHeader().getNamaPengendali() != null
? dto.getKartuPengendaliHeader().getNamaPengendali() ? dto.getKartuPengendaliHeader().getNamaPengendali() : "";
: "";
Date tgl = dto.getKartuPengendaliHeader().getTanggalUsulan(); Date tgl = dto.getKartuPengendaliHeader().getTanggalUsulan();
String tahun = tgl != null ? new SimpleDateFormat("yyyy").format(tgl).toString() : ""; String tahun = tgl != null ? new SimpleDateFormat("yyyy").format(tgl).toString() : "";
String tanggal = tgl != null ? new SimpleDateFormat("dd-MM-yyyy").format(tgl).toString() : ""; String tanggal = tgl != null ? new SimpleDateFormat("dd-MM-yyyy").format(tgl).toString() : "";
String pengadaan = dto.getPengadaan().getNamaPengadaan(); String pengadaan = dto.getPengadaan().getNamaPengadaan();
m.addObject("dataSource", dto.getKartuPengendaliDetail()); m.addObject("dataSource", dto.getKartuPengendaliDetail());
m.addObject("total", m.addObject("total", dto.getKartuPengendaliHeader().getTotal() != null
dto.getKartuPengendaliHeader().getTotal() != null ? dto.getKartuPengendaliHeader().getTotal().toString() ? dto.getKartuPengendaliHeader().getTotal().toString() : "");
: "");
m.addObject("tanggal", tanggal); m.addObject("tanggal", tanggal);
m.addObject("tahun", tahun); m.addObject("tahun", tahun);
m.addObject("pengadaan", pengadaan); m.addObject("pengadaan", pengadaan);
@ -4470,19 +4450,16 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
LampiranSPPHDto dto = reportService.generateLampiranSPPH(noRec); LampiranSPPHDto dto = reportService.generateLampiranSPPH(noRec);
String noUsulan = dto.getKartuPengendaliHeader().getNoUsulan() != null String noUsulan = dto.getKartuPengendaliHeader().getNoUsulan() != null
? dto.getKartuPengendaliHeader().getNoUsulan() ? dto.getKartuPengendaliHeader().getNoUsulan() : "";
: "";
String namaPengendali = dto.getKartuPengendaliHeader().getNamaPengendali() != null String namaPengendali = dto.getKartuPengendaliHeader().getNamaPengendali() != null
? dto.getKartuPengendaliHeader().getNamaPengendali() ? dto.getKartuPengendaliHeader().getNamaPengendali() : "";
: "";
Date tgl = dto.getKartuPengendaliHeader().getTanggalUsulan(); Date tgl = dto.getKartuPengendaliHeader().getTanggalUsulan();
String tahun = tgl != null ? new SimpleDateFormat("yyyy").format(tgl).toString() : ""; String tahun = tgl != null ? new SimpleDateFormat("yyyy").format(tgl).toString() : "";
String tanggal = tgl != null ? new SimpleDateFormat("dd-MM-yyyy").format(tgl).toString() : ""; String tanggal = tgl != null ? new SimpleDateFormat("dd-MM-yyyy").format(tgl).toString() : "";
String pengadaan = dto.getPengadaan().getNamaPengadaan(); String pengadaan = dto.getPengadaan().getNamaPengadaan();
m.addObject("dataSource", dto.getKartuPengendaliDetail()); m.addObject("dataSource", dto.getKartuPengendaliDetail());
m.addObject("total", m.addObject("total", dto.getKartuPengendaliHeader().getTotal() != null
dto.getKartuPengendaliHeader().getTotal() != null ? dto.getKartuPengendaliHeader().getTotal().toString() ? dto.getKartuPengendaliHeader().getTotal().toString() : "");
: "");
m.addObject("tanggal", tanggal); m.addObject("tanggal", tanggal);
m.addObject("tahun", tahun); m.addObject("tahun", tahun);
m.addObject("pengadaan", pengadaan); m.addObject("pengadaan", pengadaan);
@ -4499,19 +4476,16 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
LampiranSPPHDto dto = reportService.generateLampiranSPPH(noRec); LampiranSPPHDto dto = reportService.generateLampiranSPPH(noRec);
String noUsulan = dto.getKartuPengendaliHeader().getNoUsulan() != null String noUsulan = dto.getKartuPengendaliHeader().getNoUsulan() != null
? dto.getKartuPengendaliHeader().getNoUsulan() ? dto.getKartuPengendaliHeader().getNoUsulan() : "";
: "";
String namaPengendali = dto.getKartuPengendaliHeader().getNamaPengendali() != null String namaPengendali = dto.getKartuPengendaliHeader().getNamaPengendali() != null
? dto.getKartuPengendaliHeader().getNamaPengendali() ? dto.getKartuPengendaliHeader().getNamaPengendali() : "";
: "";
Date tgl = dto.getKartuPengendaliHeader().getTanggalUsulan(); Date tgl = dto.getKartuPengendaliHeader().getTanggalUsulan();
String tahun = tgl != null ? new SimpleDateFormat("yyyy").format(tgl).toString() : ""; String tahun = tgl != null ? new SimpleDateFormat("yyyy").format(tgl).toString() : "";
String tanggal = tgl != null ? new SimpleDateFormat("dd-MM-yyyy").format(tgl).toString() : ""; String tanggal = tgl != null ? new SimpleDateFormat("dd-MM-yyyy").format(tgl).toString() : "";
String pengadaan = dto.getPengadaan().getNamaPengadaan(); String pengadaan = dto.getPengadaan().getNamaPengadaan();
m.addObject("dataSource", dto.getKartuPengendaliDetail()); m.addObject("dataSource", dto.getKartuPengendaliDetail());
m.addObject("total", m.addObject("total", dto.getKartuPengendaliHeader().getTotal() != null
dto.getKartuPengendaliHeader().getTotal() != null ? dto.getKartuPengendaliHeader().getTotal().toString() ? dto.getKartuPengendaliHeader().getTotal().toString() : "");
: "");
m.addObject("tanggal", tanggal); m.addObject("tanggal", tanggal);
m.addObject("tahun", tahun); m.addObject("tahun", tahun);
m.addObject("pengadaan", pengadaan); m.addObject("pengadaan", pengadaan);
@ -4725,7 +4699,8 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
@RequestParam(value = "startDate", required = false) String startDate, @RequestParam(value = "startDate", required = false) String startDate,
@RequestParam(value = "endDate", required = false) String endDate) { @RequestParam(value = "endDate", required = false) String endDate) {
Map<String, Object> kehadiran = monitoringAbsenService.jumlahKehadiran(idPegawai, startDate, endDate); Map<String, Object> kehadiran = monitoringAbsenService.jumlahKehadiran(null, null, idPegawai, startDate,
endDate);
Map<String, Object> temp = ((List<Map<String, Object>>) kehadiran.get("listkehadiran")).get(0); Map<String, Object> temp = ((List<Map<String, Object>>) kehadiran.get("listkehadiran")).get(0);
m.addObject("dataSource", kehadiran.get("listkehadiran")); m.addObject("dataSource", kehadiran.get("listkehadiran"));
m.addObject("namaPegawai", temp.get("nama")); m.addObject("namaPegawai", temp.get("nama"));
@ -5063,17 +5038,14 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
// alamatPasien // alamatPasien
Map<String, Object> mapAlamatPasien = (Map<String, Object>) result.get("alamatPasien"); Map<String, Object> mapAlamatPasien = (Map<String, Object>) result.get("alamatPasien");
alamatPasien = (mapAlamatPasien.get("alamatLengkap") != null alamatPasien = (mapAlamatPasien.get("alamatLengkap") != null
? "Jln " + (String) mapAlamatPasien.get("alamatLengkap") ? "Jln " + (String) mapAlamatPasien.get("alamatLengkap") : "")
: "")
+ (mapAlamatPasien.get("desaKelurahan") != null + (mapAlamatPasien.get("desaKelurahan") != null
? ", Kelurahan " + (String) mapAlamatPasien.get("desaKelurahan") ? ", Kelurahan " + (String) mapAlamatPasien.get("desaKelurahan") : "")
: "")
+ (mapAlamatPasien.get("rtrw") != null ? ", RT/RW " + (String) mapAlamatPasien.get("rtrw") : "") + (mapAlamatPasien.get("rtrw") != null ? ", RT/RW " + (String) mapAlamatPasien.get("rtrw") : "")
+ (mapAlamatPasien.get("kecamatan") != null ? ", Kecamatan " + (String) mapAlamatPasien.get("kecamatan") + (mapAlamatPasien.get("kecamatan") != null ? ", Kecamatan " + (String) mapAlamatPasien.get("kecamatan")
: "") : "")
+ (mapAlamatPasien.get("kotaKabupaten") != null + (mapAlamatPasien.get("kotaKabupaten") != null
? ", Kota/Kab " + (String) mapAlamatPasien.get("kotaKabupaten") ? ", Kota/Kab " + (String) mapAlamatPasien.get("kotaKabupaten") : "")
: "")
+ (mapAlamatPasien.get("propinsi") != null ? ", Provinsi " + (String) mapAlamatPasien.get("propinsi") + (mapAlamatPasien.get("propinsi") != null ? ", Provinsi " + (String) mapAlamatPasien.get("propinsi")
: ""); : "");
@ -5111,8 +5083,7 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
m.addObject("telahDibayar", biaya.get("telahDibayar")); m.addObject("telahDibayar", biaya.get("telahDibayar"));
m.addObject("sisaYangBelumDibayar", biaya.get("sisaYangBelumDibayar")); m.addObject("sisaYangBelumDibayar", biaya.get("sisaYangBelumDibayar"));
BigDecimal sisaYangBelumDibayar = biaya.get("sisaYangBelumDibayar") != null BigDecimal sisaYangBelumDibayar = biaya.get("sisaYangBelumDibayar") != null
? (BigDecimal) biaya.get("sisaYangBelumDibayar") ? (BigDecimal) biaya.get("sisaYangBelumDibayar") : BigDecimal.valueOf(0.0);
: BigDecimal.valueOf(0.0);
String terbilang = IndonesianNumberToWords.convert(sisaYangBelumDibayar.longValue()); String terbilang = IndonesianNumberToWords.convert(sisaYangBelumDibayar.longValue());
m.addObject("terbilang", StringUtils.capitalize(terbilang)); m.addObject("terbilang", StringUtils.capitalize(terbilang));
@ -5790,42 +5761,48 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
return m; return m;
} }
// @RequestMapping("/lapPermohonanCuti") // @RequestMapping("/lapPermohonanCuti")
// public ModelAndView generateAllRlapCapaianKinerja(ModelAndView m, // public ModelAndView generateAllRlapCapaianKinerja(ModelAndView m,
// @RequestParam(value = "format", required = false) String format, // @RequestParam(value = "format", required = false) String format,
// @RequestParam(value = "noRecPlanning", required = true) String noRecPlanning, // @RequestParam(value = "noRecPlanning", required = true) String
// @RequestParam(value = "idAtasan1", required = false) Integer idAtasan1, // noRecPlanning,
// @RequestParam(value = "idAtasan2", required = false) Integer idAtasan2) { // @RequestParam(value = "idAtasan1", required = false) Integer idAtasan1,
// // @RequestParam(value = "idAtasan2", required = false) Integer idAtasan2) {
// List<Map<String, Object>> result = new ArrayList<Map<String, Object>>(); //
// Map<String, Object> data = reportService.generateLapPermohonanCuti(noRecPlanning, idAtasan1, idAtasan2, 0); // List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
// result.add(data); // Map<String, Object> data =
// m.addObject("dataSource", result); // reportService.generateLapPermohonanCuti(noRecPlanning, idAtasan1,
// m.addObject("format", "pdf"); // idAtasan2, 0);
// // result.add(data);
// if (format != null && !format.isEmpty()) { // m.addObject("dataSource", result);
// m.addObject("format", format); // m.addObject("format", "pdf");
// } //
// return m; // if (format != null && !format.isEmpty()) {
// } // m.addObject("format", format);
// }
// return m;
// }
// @RequestMapping("/lapSuratIzinCuti") // @RequestMapping("/lapSuratIzinCuti")
// public ModelAndView generateSuratIzinCuti(ModelAndView m, // public ModelAndView generateSuratIzinCuti(ModelAndView m,
// @RequestParam(value = "format", required = false) String format, // @RequestParam(value = "format", required = false) String format,
// @RequestParam(value = "noRecPlanning", required = true) String noRecPlanning, // @RequestParam(value = "noRecPlanning", required = true) String
// @RequestParam(value = "jabatanAtasanId", required = true) Integer jabatanAtasanId) { // noRecPlanning,
// // @RequestParam(value = "jabatanAtasanId", required = true) Integer
// List<Map<String, Object>> result = new ArrayList<Map<String, Object>>(); // jabatanAtasanId) {
// Map<String, Object> data = reportService.generateLapSuratIzinCuti(noRecPlanning, jabatanAtasanId); //
// result.add(data); // List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
// m.addObject("dataSource", result); // Map<String, Object> data =
// m.addObject("format", "pdf"); // reportService.generateLapSuratIzinCuti(noRecPlanning, jabatanAtasanId);
// // result.add(data);
// if (format != null && !format.isEmpty()) { // m.addObject("dataSource", result);
// m.addObject("format", format); // m.addObject("format", "pdf");
// } //
// return m; // if (format != null && !format.isEmpty()) {
// } // m.addObject("format", format);
// }
// return m;
// }
@RequestMapping("/lapSuratIzin") @RequestMapping("/lapSuratIzin")
public ModelAndView generateSuratIzin(ModelAndView m, public ModelAndView generateSuratIzin(ModelAndView m,
@ -5833,12 +5810,14 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
@RequestParam(value = "noRecPlanning", required = true) String noRecPlanning) { @RequestParam(value = "noRecPlanning", required = true) String noRecPlanning) {
/* /*
* List<Map<String, Object>> result = new ArrayList<Map<String, Object>>(); * List<Map<String, Object>> result = new ArrayList<Map<String,
* Map<String, Object> data = * Object>>(); Map<String, Object> data =
* reportService.generateLapSuratIzinCuti(noRecPlanning); result.add(data); * reportService.generateLapSuratIzinCuti(noRecPlanning);
* m.addObject("dataSource", result); m.addObject("format", "pdf"); * result.add(data); m.addObject("dataSource", result);
* m.addObject("format", "pdf");
* *
* if (format != null && !format.isEmpty()) { m.addObject("format", format); } * if (format != null && !format.isEmpty()) { m.addObject("format",
* format); }
*/ */
return m; return m;
} }

View File

@ -7,6 +7,8 @@ public class Master {
public static final boolean STATUS_ENABLE_FALSE = false; public static final boolean STATUS_ENABLE_FALSE = false;
public static final boolean STATUS_ENABLE_TRUE = true; public static final boolean STATUS_ENABLE_TRUE = true;
public static final Double MENIT_KERJA_HARIAN = 8.0 * 60.0;
public static final String TIDAK_ADA_PERUBAHAN_DATA = "Tidak Ada Perubahan Data!"; public static final String TIDAK_ADA_PERUBAHAN_DATA = "Tidak Ada Perubahan Data!";
public static final String AKOMODASI = "akomodasi"; public static final String AKOMODASI = "akomodasi";
@ -80,6 +82,9 @@ public class Master {
} }
public static final class IndikatorKinerja { public static final class IndikatorKinerja {
public static final Integer KETEPATAN_KEHADIRAN = 357;
public static final Integer PEMENUHAN_HARI_KERJA = 351;
public static final Integer PEMENUHAN_JAM_KERJA = 350;
public static final Integer PELAYANAN_MEDIS_JAM_KERJA = 466; public static final Integer PELAYANAN_MEDIS_JAM_KERJA = 466;
public static final Integer PELAYANAN_MEDIS_LUAR_JAM_KERJA = 522; public static final Integer PELAYANAN_MEDIS_LUAR_JAM_KERJA = 522;
} }

View File

@ -29,4 +29,10 @@ public interface KalenderDao extends PagingAndSortingRepository<Kalender, Intege
@Query(nativeQuery = true, value = "select kal.tanggal from kalender_s kal order by kal.tanggal desc limit 1") @Query(nativeQuery = true, value = "select kal.tanggal from kalender_s kal order by kal.tanggal desc limit 1")
Date getLastDateData(); Date getLastDateData();
@Query(nativeQuery = true, value = "select kl.* from kalender_s kl "
+ "left join mapkalendertoharilibur_m mkl on kl.id = mkl.objecttanggalfk "
+ "where to_char(kl.tanggal, 'yyyy-MM') = :bulan "
+ "and kl.namahari not in ('Sabtu', 'Minggu') and mkl.id is null")
List<Kalender> getTargetKerja(@Param("bulan") String bulan);
} }

View File

@ -85,6 +85,12 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
List<Map<String, Object>> findLogbookKinerja(@Param("pegawaiId") Integer idPegawai, List<Map<String, Object>> findLogbookKinerja(@Param("pegawaiId") Integer idPegawai,
@Param("jabatanId") Integer idJabatan, @Param("bulan") String bulan); @Param("jabatanId") Integer idJabatan, @Param("bulan") String bulan);
@Query("select lkt from LogbookKinerja lkt " + "where lkt.statusEnabled is true "
+ "and lkt.pegawaiId = :pegawaiId " + "and to_char(lkt.bulan,'yyyy-MM') = :bulan "
+ "and lkt.indikatorKinerjaId = :indikatorId")
List<LogbookKinerja> findLogbookKinerja(@Param("pegawaiId") Integer idPegawai, @Param("bulan") String bulan,
@Param("indikatorId") Integer idIndikator);
@Query("select distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap,pg.tglMasuk as tglMasuk) " @Query("select distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap,pg.tglMasuk as tglMasuk) "
+ "from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.pegawai pg " + "inner join mj.jabatan jb " + "from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.pegawai pg " + "inner join mj.jabatan jb "
+ "where mj.statusEnabled is true " + "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "where mj.statusEnabled is true " + "and pg.statusEnabled is true " + "and jb.statusEnabled is true "

View File

@ -1,6 +1,7 @@
package com.jasamedika.medifirst2000.service; package com.jasamedika.medifirst2000.service;
import java.text.ParseException;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -10,6 +11,7 @@ import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.vo.InputLemburSdmCustomVO; import com.jasamedika.medifirst2000.vo.InputLemburSdmCustomVO;
import com.jasamedika.medifirst2000.vo.KelompokShiftKerjaCustomVO; import com.jasamedika.medifirst2000.vo.KelompokShiftKerjaCustomVO;
import com.jasamedika.medifirst2000.vo.MonitoringAbsenCustomVO; import com.jasamedika.medifirst2000.vo.MonitoringAbsenCustomVO;
import com.jasamedika.medifirst2000.vo.MonitoringAbsenVO;
import com.jasamedika.medifirst2000.vo.StrukHistoriVO; import com.jasamedika.medifirst2000.vo.StrukHistoriVO;
import com.jasamedika.medifirst2000.vo.UangLemburVO; import com.jasamedika.medifirst2000.vo.UangLemburVO;
@ -106,4 +108,6 @@ public interface MonitoringAbsenService {
List<Map<String, Object>> getDataHabsen(String tglAwal, String tglAkhir, Integer idPegawai); List<Map<String, Object>> getDataHabsen(String tglAwal, String tglAkhir, Integer idPegawai);
void updateLogbookKinerja(MonitoringAbsenVO vo) throws ParseException;
} }

View File

@ -30,6 +30,7 @@ import com.jasamedika.medifirst2000.dao.BobotJenisIndikatorDao;
import com.jasamedika.medifirst2000.dao.IkiDanRemunerasiDao; import com.jasamedika.medifirst2000.dao.IkiDanRemunerasiDao;
import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDao; import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDao;
import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDetailDao; import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDetailDao;
import com.jasamedika.medifirst2000.dao.KalenderDao;
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao; import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao;
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDetailDao; import com.jasamedika.medifirst2000.dao.LogbookKinerjaDetailDao;
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDokterDao; import com.jasamedika.medifirst2000.dao.LogbookKinerjaDokterDao;
@ -41,6 +42,7 @@ import com.jasamedika.medifirst2000.dao.SkoringTindakanMedisDao;
import com.jasamedika.medifirst2000.dao.TabelAcuanIndeksIKIDao; import com.jasamedika.medifirst2000.dao.TabelAcuanIndeksIKIDao;
import com.jasamedika.medifirst2000.entities.IndikatorKinerja; import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
import com.jasamedika.medifirst2000.entities.Jabatan; import com.jasamedika.medifirst2000.entities.Jabatan;
import com.jasamedika.medifirst2000.entities.Kalender;
import com.jasamedika.medifirst2000.entities.LogbookKinerja; import com.jasamedika.medifirst2000.entities.LogbookKinerja;
import com.jasamedika.medifirst2000.entities.Pegawai; import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.SatuanIndikator; import com.jasamedika.medifirst2000.entities.SatuanIndikator;
@ -113,6 +115,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
@Autowired @Autowired
private BobotJenisIndikatorDao bobotJenisIndikatorDao; private BobotJenisIndikatorDao bobotJenisIndikatorDao;
@Autowired
private KalenderDao kalenderDao;
@Override @Override
public LogbookKinerjaVO add(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException { public LogbookKinerjaVO add(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException {
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()); Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
@ -124,6 +129,11 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
logbookKinerja.setPegawai(pegawai); logbookKinerja.setPegawai(pegawai);
logbookKinerja.setJabatan(jabatan); logbookKinerja.setJabatan(jabatan);
logbookKinerja.setIndikatorKinerja(indikatorKinerja); logbookKinerja.setIndikatorKinerja(indikatorKinerja);
if (vo.getIndikatorKinerja().getId().equals(Master.IndikatorKinerja.PEMENUHAN_JAM_KERJA)) {
Integer targetHariKerja = hitungTargetHariKerja(vo.getBulan());
Double targetJamKerja = targetHariKerja.doubleValue() * Master.MENIT_KERJA_HARIAN;
logbookKinerja.setTarget(targetJamKerja);
}
logbookKinerja.setCapaian(0.0); logbookKinerja.setCapaian(0.0);
LogbookKinerja resultModel = logbookKinerjaDao.save(logbookKinerja); LogbookKinerja resultModel = logbookKinerjaDao.save(logbookKinerja);
@ -148,6 +158,11 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
logbookKinerjaBaru.setPegawai(pegawai); logbookKinerjaBaru.setPegawai(pegawai);
logbookKinerjaBaru.setJabatan(jabatan); logbookKinerjaBaru.setJabatan(jabatan);
logbookKinerjaBaru.setIndikatorKinerja(indikatorKinerja); logbookKinerjaBaru.setIndikatorKinerja(indikatorKinerja);
if (vo.getIndikatorKinerja().getId().equals(Master.IndikatorKinerja.PEMENUHAN_JAM_KERJA)) {
Integer targetHariKerja = hitungTargetHariKerja(vo.getBulan());
Double targetJamKerja = targetHariKerja.doubleValue() * Master.MENIT_KERJA_HARIAN;
logbookKinerjaBaru.setTarget(targetJamKerja);
}
LogbookKinerjaVO resultVO = new LogbookKinerjaVO(); LogbookKinerjaVO resultVO = new LogbookKinerjaVO();
if (existedWorkingRecord.size() > 0 && !vo.getStatusVerifikasi() && vo.getStatusEnabled()) { if (existedWorkingRecord.size() > 0 && !vo.getStatusVerifikasi() && vo.getStatusEnabled()) {
@ -347,6 +362,15 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
return result; return result;
} }
private Integer hitungTargetHariKerja(Date bulan) {
DateFormat df = new SimpleDateFormat("yyyy-MM");
List<Kalender> targetPresensi = kalenderDao.getTargetKerja(df.format(bulan));
Integer result = targetPresensi.size();
return result;
}
@Override @Override
public Map<String, Object> findKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan) public Map<String, Object> findKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan)
throws JpaSystemException { throws JpaSystemException {
@ -355,6 +379,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Integer> listIdIndikator = new ArrayList<>(); List<Integer> listIdIndikator = new ArrayList<>();
DateFormat df = new SimpleDateFormat("yyyy-MM"); DateFormat df = new SimpleDateFormat("yyyy-MM");
Integer targetHariKerja = hitungTargetHariKerja(new Date(bulan));
Double targetJamKerja = targetHariKerja.doubleValue() * Master.MENIT_KERJA_HARIAN;
List<Map<String, Object>> listMap = logbookKinerjaDao.findIndikatorByJabatan(idJabatan, List<Map<String, Object>> listMap = logbookKinerjaDao.findIndikatorByJabatan(idJabatan,
df.format(new Date(bulan))); df.format(new Date(bulan)));
List<Map<String, Object>> data = logbookKinerjaDao.findKontrakKinerja(idPegawai, idJabatan, List<Map<String, Object>> data = logbookKinerjaDao.findKontrakKinerja(idPegawai, idJabatan,
@ -392,7 +419,15 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
for (Map<String, Object> map : data) { for (Map<String, Object> map : data) {
if (res.get("indikatorId").equals(map.get("indikatorId"))) { if (res.get("indikatorId").equals(map.get("indikatorId"))) {
res.put("noRec", map.get("noRec")); res.put("noRec", map.get("noRec"));
if (res.get("indikatorId").equals(Master.IndikatorKinerja.PEMENUHAN_JAM_KERJA)) {
res.put("target", targetJamKerja);
} else if (res.get("indikatorId").equals(Master.IndikatorKinerja.PEMENUHAN_HARI_KERJA)) {
res.put("target", targetHariKerja.doubleValue());
} else if (res.get("indikatorId").equals(Master.IndikatorKinerja.KETEPATAN_KEHADIRAN)) {
res.put("target", 100.0);
} else {
res.put("target", map.get("target")); res.put("target", map.get("target"));
}
res.put("bobot", map.get("bobot")); res.put("bobot", map.get("bobot"));
res.put("isStatusVerifikasi", map.get("isStatusVerifikasi")); res.put("isStatusVerifikasi", map.get("isStatusVerifikasi"));
res.put("statusVerifikasi", map.get("statusVerifikasi")); res.put("statusVerifikasi", map.get("statusVerifikasi"));
@ -400,7 +435,13 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
} }
if (CommonUtil.isNullOrEmpty(res.get("noRec"))) { if (CommonUtil.isNullOrEmpty(res.get("noRec"))) {
res.put("noRec", null); res.put("noRec", null);
if (CommonUtil.isNotNullOrEmpty(res.get("target"))) { if (res.get("indikatorId").equals(Master.IndikatorKinerja.PEMENUHAN_JAM_KERJA)) {
res.put("target", targetJamKerja);
} else if (res.get("indikatorId").equals(Master.IndikatorKinerja.PEMENUHAN_HARI_KERJA)) {
res.put("target", targetHariKerja.doubleValue());
} else if (res.get("indikatorId").equals(Master.IndikatorKinerja.KETEPATAN_KEHADIRAN)) {
res.put("target", 100.0);
} else if (CommonUtil.isNotNullOrEmpty(res.get("target"))) {
res.put("target", res.get("target")); res.put("target", res.get("target"));
} else { } else {
res.put("target", null); res.put("target", null);

View File

@ -32,6 +32,7 @@ import com.jasamedika.medifirst2000.dao.KalenderDao;
import com.jasamedika.medifirst2000.dao.KelompokTransaksiDao; import com.jasamedika.medifirst2000.dao.KelompokTransaksiDao;
import com.jasamedika.medifirst2000.dao.KomponenHargaDao; import com.jasamedika.medifirst2000.dao.KomponenHargaDao;
import com.jasamedika.medifirst2000.dao.KomponenIndexDao; import com.jasamedika.medifirst2000.dao.KomponenIndexDao;
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao;
import com.jasamedika.medifirst2000.dao.LoginUserDao; import com.jasamedika.medifirst2000.dao.LoginUserDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao; import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.MonitoringAbsenDao; import com.jasamedika.medifirst2000.dao.MonitoringAbsenDao;
@ -57,6 +58,7 @@ import com.jasamedika.medifirst2000.entities.KelompokShift;
import com.jasamedika.medifirst2000.entities.KelompokTransaksi; import com.jasamedika.medifirst2000.entities.KelompokTransaksi;
import com.jasamedika.medifirst2000.entities.KomponenHarga; import com.jasamedika.medifirst2000.entities.KomponenHarga;
import com.jasamedika.medifirst2000.entities.KomponenIndex; import com.jasamedika.medifirst2000.entities.KomponenIndex;
import com.jasamedika.medifirst2000.entities.LogbookKinerja;
import com.jasamedika.medifirst2000.entities.LoginUser; import com.jasamedika.medifirst2000.entities.LoginUser;
import com.jasamedika.medifirst2000.entities.MonitoringAbsen; import com.jasamedika.medifirst2000.entities.MonitoringAbsen;
import com.jasamedika.medifirst2000.entities.Pegawai; import com.jasamedika.medifirst2000.entities.Pegawai;
@ -217,6 +219,9 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
@Autowired @Autowired
private KalenderDao kalenderDao; private KalenderDao kalenderDao;
@Autowired
private LogbookKinerjaDao logbookKinerjaDao;
@Override @Override
public Long reduceTime(Date jamAbsensi, Date jamJadwal) { public Long reduceTime(Date jamAbsensi, Date jamJadwal) {
Long diffMinutes = (long) 0; Long diffMinutes = (long) 0;
@ -747,6 +752,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
MonitoringAbsen model = monitoringAbsenDao.save(monitoringAbsen); MonitoringAbsen model = monitoringAbsenDao.save(monitoringAbsen);
result.put(model.getNoRec() + "", model.noRec); result.put(model.getNoRec() + "", model.noRec);
} }
try {
updateLogbookKinerja(temp);
} catch (ParseException e) {
e.printStackTrace();
}
} }
} }
@ -4516,4 +4527,107 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
return result; return result;
} }
@Override
@Transactional
public void updateLogbookKinerja(MonitoringAbsenVO vo) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM");
DateFormat hf = new SimpleDateFormat("HH.mm");
Double menitKCapaian = 0.0;
Double hariKCapaian = 0.0;
if (CommonUtil.isNotNullOrEmpty(vo)) {
Date jadwalMasuk = hf.parse(vo.getJadwalmasuk());
Date jadwalPulang = hf.parse(vo.getJadwalPulang());
Long menitKTarget = reduceTime(jadwalPulang, jadwalMasuk) - vo.getWaktuIstirahat();
if (CommonUtil.isNotNullOrEmpty(vo.getJamEfektif())) {
Calendar cal = Calendar.getInstance();
Date jamEfektif = hf.parse(vo.getJamEfektif());
cal.setTime(jamEfektif);
Integer menitEfektif = cal.get(Calendar.HOUR) * 60 + cal.get(Calendar.MINUTE);
menitKCapaian = menitEfektif.doubleValue();
hariKCapaian = menitKCapaian / menitKTarget.doubleValue();
} else if (CommonUtil.isNotNullOrEmpty(vo.getAbsensiMasuk()) && vo.getAbsensiPulang().equals("-")
&& vo.getPulangAwal().equals(0)) {
// absen tunggal
Calendar cal1 = Calendar.getInstance();
cal1.setTime(jadwalMasuk);
int menitJMasuk = cal1.get(Calendar.HOUR) * 60 + cal1.get(Calendar.MINUTE);
Calendar cal2 = Calendar.getInstance();
Date PresensiMasuk = hf.parse(vo.getAbsensiMasuk());
cal2.setTime(PresensiMasuk);
int menitPMasuk = cal2.get(Calendar.HOUR) * 60 + cal2.get(Calendar.MINUTE);
if (menitPMasuk >= menitJMasuk) {
menitKCapaian = menitKTarget.doubleValue() / 2 - (menitPMasuk - menitJMasuk);
} else if (menitPMasuk < menitJMasuk) {
menitKCapaian = menitKTarget.doubleValue() / 2;
}
hariKCapaian = menitKCapaian / menitKTarget.doubleValue();
}
}
Iterable<LogbookKinerja> rsModelsJamKerja = new ArrayList<>();
if (menitKCapaian > 0.0) {
List<LogbookKinerja> modelsJamKerja = new ArrayList<>();
List<LogbookKinerja> models = logbookKinerjaDao.findLogbookKinerja(vo.getPegawai().getId(),
df.format(vo.getTglPresensi()), Master.IndikatorKinerja.PEMENUHAN_JAM_KERJA);
if (CommonUtil.isNotNullOrEmpty(models)) {
for (LogbookKinerja model : models) {
Double capaianJamKerja = model.getCapaian() + menitKCapaian;
model.setCapaian(capaianJamKerja);
modelsJamKerja.add(model);
}
rsModelsJamKerja = logbookKinerjaDao.save(modelsJamKerja);
}
}
Iterable<LogbookKinerja> rsModelsHariKerja = new ArrayList<>();
if (hariKCapaian > 0.0) {
List<LogbookKinerja> modelsHariKerja = new ArrayList<>();
List<LogbookKinerja> models = logbookKinerjaDao.findLogbookKinerja(vo.getPegawai().getId(),
df.format(vo.getTglPresensi()), Master.IndikatorKinerja.PEMENUHAN_HARI_KERJA);
if (CommonUtil.isNotNullOrEmpty(models)) {
for (LogbookKinerja model : models) {
Double capaianHariKerja = model.getCapaian() + hariKCapaian;
model.setCapaian(capaianHariKerja);
modelsHariKerja.add(model);
}
rsModelsHariKerja = logbookKinerjaDao.save(modelsHariKerja);
}
}
if (CommonUtil.isNotNullOrEmpty(rsModelsJamKerja) && CommonUtil.isNotNullOrEmpty(rsModelsHariKerja)) {
List<LogbookKinerja> models = logbookKinerjaDao.findLogbookKinerja(vo.getPegawai().getId(),
df.format(vo.getTglPresensi()), Master.IndikatorKinerja.KETEPATAN_KEHADIRAN);
for (LogbookKinerja model : models) {
Double capaianTepatHadir = 0.0;
for (LogbookKinerja modelJamKerja : rsModelsJamKerja) {
for (LogbookKinerja modelHariKerja : rsModelsHariKerja) {
if (model.getJabatan().getId().equals(modelJamKerja.getJabatan().getId())
&& model.getJabatan().getId().equals(modelHariKerja.getJabatan().getId())
&& modelJamKerja.getJabatan().getId().equals(modelHariKerja.getJabatan().getId())) {
capaianTepatHadir = ((modelJamKerja.getCapaian() / modelJamKerja.getTarget() * 100)
+ (modelHariKerja.getCapaian() / modelHariKerja.getTarget() * 100)) / 2;
break;
}
}
}
model.setCapaian(capaianTepatHadir);
logbookKinerjaDao.save(model);
}
}
}
} }

View File

@ -21,6 +21,10 @@ public class Profesi extends BaseActive {
@Caption(value = "Nama Profesi") @Caption(value = "Nama Profesi")
private String namaProfesi; private String namaProfesi;
@Column(name = "jenisprofesi", nullable = true)
@Caption(value = "Jenis Profesi")
private Short jenisProfesi;
@Id @Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.sdm_profesi_m_id_seq") @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.sdm_profesi_m_id_seq")
@SequenceGenerator(name = "public.sdm_profesi_m_id_seq", sequenceName = "public.sdm_profesi_m_id_seq", allocationSize = 1) @SequenceGenerator(name = "public.sdm_profesi_m_id_seq", sequenceName = "public.sdm_profesi_m_id_seq", allocationSize = 1)
@ -35,6 +39,14 @@ public class Profesi extends BaseActive {
this.namaProfesi = namaProfesi; this.namaProfesi = namaProfesi;
} }
public Short getJenisProfesi() {
return jenisProfesi;
}
public void setJenisProfesi(Short jenisProfesi) {
this.jenisProfesi = jenisProfesi;
}
public Integer getId() { public Integer getId() {
return id; return id;
} }

View File

@ -47,6 +47,9 @@ public class MonitoringAbsenVO extends BaseTransactionVO {
@Caption(value = "Jam Efektif") @Caption(value = "Jam Efektif")
private String jamEfektif; private String jamEfektif;
@Caption(value = "Waktu Istirahat")
private Integer waktuIstirahat;
@Caption(value = "Tanggal") @Caption(value = "Tanggal")
private String tanggal; private String tanggal;
@ -190,6 +193,14 @@ public class MonitoringAbsenVO extends BaseTransactionVO {
this.jamEfektif = jamEfektif; this.jamEfektif = jamEfektif;
} }
public Integer getWaktuIstirahat() {
return waktuIstirahat;
}
public void setWaktuIstirahat(Integer waktuIstirahat) {
this.waktuIstirahat = waktuIstirahat;
}
public String getTanggal() { public String getTanggal() {
return tanggal; return tanggal;
} }

View File

@ -8,6 +8,9 @@ public class ProfesiVO extends BaseActiveVO {
@Caption(value = "Nama Profesi") @Caption(value = "Nama Profesi")
private String namaProfesi; private String namaProfesi;
@Caption(value = "Jenis Profesi")
private Short jenisProfesi;
protected Integer id; protected Integer id;
public String getNamaProfesi() { public String getNamaProfesi() {
@ -18,6 +21,14 @@ public class ProfesiVO extends BaseActiveVO {
this.namaProfesi = namaProfesi; this.namaProfesi = namaProfesi;
} }
public Short getJenisProfesi() {
return jenisProfesi;
}
public void setJenisProfesi(Short jenisProfesi) {
this.jenisProfesi = jenisProfesi;
}
public Integer getId() { public Integer getId() {
return id; return id;
} }

View File

@ -1538,11 +1538,11 @@ public class SdmController extends LocaleController<AkunVO> {
private PesertaDidikService pesertaDidikService; private PesertaDidikService pesertaDidikService;
/* /*
* @RequestMapping(value = "/save-peserta-didik", method = RequestMethod.POST, * @RequestMapping(value = "/save-peserta-didik", method =
* produces = MediaType.APPLICATION_JSON_VALUE, consumes = * RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes
* MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<Map<String, Object>> * = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<Map<String,
* savePesertaDidik(@Valid @RequestBody PesertaDidikVO vo, HttpServletRequest * Object>> savePesertaDidik(@Valid @RequestBody PesertaDidikVO vo,
* request) { try { SimpleDateFormat format = new * HttpServletRequest request) { try { SimpleDateFormat format = new
* SimpleDateFormat("dd-MM-yyyy"); * SimpleDateFormat("dd-MM-yyyy");
* *
* Map<String, Object> result = pesertaDidikService.savePesertaDidik(vo); if * Map<String, Object> result = pesertaDidikService.savePesertaDidik(vo); if
@ -1553,12 +1553,13 @@ public class SdmController extends LocaleController<AkunVO> {
* *
* } catch (ServiceVOException e) { * } catch (ServiceVOException e) {
* LOGGER.error("Got exception {} when add Pasien", e.getMessage()); * LOGGER.error("Got exception {} when add Pasien", e.getMessage());
* addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage()); return * addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
* RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, * return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR,
* mapHeaderMessage); } catch (JpaSystemException jse) { * mapHeaderMessage); } catch (JpaSystemException jse) {
* LOGGER.error("Got exception {} when add Pasien", jse.getMessage()); * LOGGER.error("Got exception {} when add Pasien", jse.getMessage());
* addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); * addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
* return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); } * return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
* }
* *
* } * }
*/ */
@ -2930,7 +2931,7 @@ public class SdmController extends LocaleController<AkunVO> {
Map<String, Object> result = null; Map<String, Object> result = null;
try { try {
result = monitoringAbsenService.jumlahKehadiran(idPegawai, startDate, endDate); result = monitoringAbsenService.jumlahKehadiran(null, null, idPegawai, startDate, endDate);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request)); getMessage(MessageResource.LABEL_SUCCESS, request));
@ -2985,7 +2986,7 @@ public class SdmController extends LocaleController<AkunVO> {
Map<String, Object> result = null; Map<String, Object> result = null;
try { try {
result = monitoringAbsenService.findKehadiranByRuangan(idUnitKerja, startDate, endDate); result = monitoringAbsenService.jumlahKehadiran(idUnitKerja, null, null, startDate, endDate);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request)); getMessage(MessageResource.LABEL_SUCCESS, request));
@ -3002,7 +3003,7 @@ public class SdmController extends LocaleController<AkunVO> {
Map<String, Object> result = null; Map<String, Object> result = null;
try { try {
result = monitoringAbsenService.findKehadiranByRuangan(idUnitKerja, idSubUnitKerja, startDate, endDate); result = monitoringAbsenService.jumlahKehadiran(idUnitKerja, idSubUnitKerja, null, startDate, endDate);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request)); getMessage(MessageResource.LABEL_SUCCESS, request));
@ -3113,8 +3114,8 @@ public class SdmController extends LocaleController<AkunVO> {
} }
/* /*
* Reza------------------------------------------------------------------------- * Reza---------------------------------------------------------------------
* ------------------------------------------ * ---- ------------------------------------------
*/ */
@Autowired @Autowired