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

View File

@ -7,6 +7,8 @@ public class Master {
public static final boolean STATUS_ENABLE_FALSE = false;
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 AKOMODASI = "akomodasi";
@ -80,6 +82,9 @@ public class Master {
}
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_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")
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,
@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) "
+ "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 "

View File

@ -1,6 +1,7 @@
package com.jasamedika.medifirst2000.service;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
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.KelompokShiftKerjaCustomVO;
import com.jasamedika.medifirst2000.vo.MonitoringAbsenCustomVO;
import com.jasamedika.medifirst2000.vo.MonitoringAbsenVO;
import com.jasamedika.medifirst2000.vo.StrukHistoriVO;
import com.jasamedika.medifirst2000.vo.UangLemburVO;
@ -105,5 +107,7 @@ public interface MonitoringAbsenService {
List<Map<String, Object>> getRekapStatusWFH(String bulan);
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.IndikatorKinerjaDao;
import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDetailDao;
import com.jasamedika.medifirst2000.dao.KalenderDao;
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao;
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDetailDao;
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.entities.IndikatorKinerja;
import com.jasamedika.medifirst2000.entities.Jabatan;
import com.jasamedika.medifirst2000.entities.Kalender;
import com.jasamedika.medifirst2000.entities.LogbookKinerja;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.SatuanIndikator;
@ -113,6 +115,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
@Autowired
private BobotJenisIndikatorDao bobotJenisIndikatorDao;
@Autowired
private KalenderDao kalenderDao;
@Override
public LogbookKinerjaVO add(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException {
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
@ -124,6 +129,11 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
logbookKinerja.setPegawai(pegawai);
logbookKinerja.setJabatan(jabatan);
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 resultModel = logbookKinerjaDao.save(logbookKinerja);
@ -148,6 +158,11 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
logbookKinerjaBaru.setPegawai(pegawai);
logbookKinerjaBaru.setJabatan(jabatan);
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();
if (existedWorkingRecord.size() > 0 && !vo.getStatusVerifikasi() && vo.getStatusEnabled()) {
@ -347,6 +362,15 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
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
public Map<String, Object> findKontrakKinerja(Integer idPegawai, Integer idJabatan, Long bulan)
throws JpaSystemException {
@ -355,6 +379,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
List<Integer> listIdIndikator = new ArrayList<>();
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,
df.format(new Date(bulan)));
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) {
if (res.get("indikatorId").equals(map.get("indikatorId"))) {
res.put("noRec", map.get("noRec"));
res.put("target", map.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 {
res.put("target", map.get("target"));
}
res.put("bobot", map.get("bobot"));
res.put("isStatusVerifikasi", map.get("isStatusVerifikasi"));
res.put("statusVerifikasi", map.get("statusVerifikasi"));
@ -400,7 +435,13 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
}
if (CommonUtil.isNullOrEmpty(res.get("noRec"))) {
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"));
} else {
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.KomponenHargaDao;
import com.jasamedika.medifirst2000.dao.KomponenIndexDao;
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao;
import com.jasamedika.medifirst2000.dao.LoginUserDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
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.KomponenHarga;
import com.jasamedika.medifirst2000.entities.KomponenIndex;
import com.jasamedika.medifirst2000.entities.LogbookKinerja;
import com.jasamedika.medifirst2000.entities.LoginUser;
import com.jasamedika.medifirst2000.entities.MonitoringAbsen;
import com.jasamedika.medifirst2000.entities.Pegawai;
@ -217,6 +219,9 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
@Autowired
private KalenderDao kalenderDao;
@Autowired
private LogbookKinerjaDao logbookKinerjaDao;
@Override
public Long reduceTime(Date jamAbsensi, Date jamJadwal) {
Long diffMinutes = (long) 0;
@ -747,6 +752,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
MonitoringAbsen model = monitoringAbsenDao.save(monitoringAbsen);
result.put(model.getNoRec() + "", model.noRec);
}
try {
updateLogbookKinerja(temp);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
@ -2181,7 +2192,7 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
result.putAll(rsMap);
}
result.put("listkehadiran", listRs);
return result;
}
@ -4516,4 +4527,107 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
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")
private String namaProfesi;
@Column(name = "jenisprofesi", nullable = true)
@Caption(value = "Jenis Profesi")
private Short jenisProfesi;
@Id
@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)
@ -35,6 +39,14 @@ public class Profesi extends BaseActive {
this.namaProfesi = namaProfesi;
}
public Short getJenisProfesi() {
return jenisProfesi;
}
public void setJenisProfesi(Short jenisProfesi) {
this.jenisProfesi = jenisProfesi;
}
public Integer getId() {
return id;
}

View File

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

View File

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

View File

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