- penambahan tanggal masuk pegawai untuk validasi simpan kontrak kinerja individu
- penambahan kriteria penilaian kinerja individu - perbaikan pembulatan desimal di dashboard pencatatan kinerja - penerapan asumsi berlaku sip dan str sampai 1 tahun karena pandemi covid-19
This commit is contained in:
parent
38632dd8cc
commit
7d11d54ded
@ -74,7 +74,7 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
|
||||
+ "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator,"
|
||||
+ "ik.id as idIndikator,ik.namaIndikator as namaIndikator,"
|
||||
+ "si.id as satuanId,si.satuanIndikator as satuanIndikator,"
|
||||
+ "lk.target as target,round(lk.capaian/lk.target, 2) as fragCapaian,lk.bobot as bobot) "
|
||||
+ "lk.target as target,lk.capaian/lk.target as fragCapaian,lk.bobot as bobot) "
|
||||
+ "from LogbookKinerja lk, MapPegawaiJabatanToUnitKerja mj " + "inner join lk.indikatorKinerja ik "
|
||||
+ "inner join ik.satuanIndikator si " + "inner join lk.pegawai pg " + "inner join lk.jabatan jb "
|
||||
+ "where lk.pegawaiId = mj.pegawaiId " + "and lk.jabatanId = mj.jabatanId " + "and mj.pegawaiId = pg.id "
|
||||
@ -85,14 +85,14 @@ 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 distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap) "
|
||||
@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 "
|
||||
+ "and pg.id = :pegawaiId " + "and pg.kategoryPegawaiId in (:listKategoryPegawaiId)")
|
||||
List<Map<String, Object>> findAksesPegawaiByStaf(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
||||
|
||||
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap) "
|
||||
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap,pgb.tglMasuk as tglMasuk) "
|
||||
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mja " + "inner join mjp.pegawai pgb "
|
||||
+ "inner join mjp.atasanLangsung pg " + "inner join mja.jabatan jb "
|
||||
+ "where mjp.atasanLangsungId = mja.pegawaiId " + "and mja.pegawaiId = pg.id "
|
||||
@ -102,7 +102,7 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
|
||||
List<Map<String, Object>> findAksesPegawaiByAtasan(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
||||
|
||||
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap) "
|
||||
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap,pgb.tglMasuk as tglMasuk) "
|
||||
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mjn " + "inner join mjp.pegawai pgb "
|
||||
+ "inner join mjp.pejabatPenilai pg " + "inner join mjn.jabatan jb "
|
||||
+ "where mjp.pejabatPenilaiId = mjn.pegawaiId " + "and mjn.pegawaiId = pg.id "
|
||||
|
||||
@ -1062,7 +1062,7 @@ public interface PegawaiDao extends PagingAndSortingRepository<Pegawai, Integer>
|
||||
@Query("select new Map(pg.id as id,pg.shiftKerjaId as shiftKerjaId) from Pegawai pg where pg.statusEnabled is true and pg.id in (:listIdPegawai)")
|
||||
public List<Map<String, Object>> getListKelompokShiftKerja(@Param("listIdPegawai") List<Integer> listIdPegawai);
|
||||
|
||||
@Query("select new Map (pg.id as id,pg.namaLengkap as namaLengkap) " + "from Pegawai pg "
|
||||
@Query("select new Map (pg.id as id,pg.namaLengkap as namaLengkap,pg.tglMasuk as tglMasuk) " + "from Pegawai pg "
|
||||
+ "where pg.statusEnabled is true " + "and pg.kategoryPegawaiId in (:listKategoryPegawaiId)")
|
||||
public List<Map<String, Object>> findPegawaiByListKategori(
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
||||
|
||||
@ -16,10 +16,10 @@ public interface TabelAcuanIndeksIKIDao extends PagingAndSortingRepository<Tabel
|
||||
@Query("select tabelAcuanIndeksIKI " + "from TabelAcuanIndeksIKI tabelAcuanIndeksIKI ")
|
||||
public List<TabelAcuanIndeksIKI> findAllAcuan();
|
||||
|
||||
@Query("select aiki.indeks from TabelAcuanIndeksIKI aiki " + "where aiki.statusEnabled is true "
|
||||
+ "and ((:hasil between aiki.nilaiBawah and aiki.nilaiAtas) "
|
||||
@Query("select new Map(aiki.indeks as indeks,aiki.kriteria as kriteria) " + "from TabelAcuanIndeksIKI aiki "
|
||||
+ "where aiki.statusEnabled is true " + "and ((:hasil between aiki.nilaiBawah and aiki.nilaiAtas) "
|
||||
+ "or (:hasil > 1000 and aiki.nilaiAtas = 1000))")
|
||||
public Double findIKI(@Param("hasil") Double hasil);
|
||||
public Map<String, Object> findIKI(@Param("hasil") Double hasil);
|
||||
|
||||
@Query("select new Map(aiki.nilaiBawah as nilaiBawah,aiki.nilaiAtas as nilaiAtas,"
|
||||
+ "aiki.indeks as iki,aiki.kriteria as kriteria) " + "from TabelAcuanIndeksIKI aiki "
|
||||
|
||||
@ -441,7 +441,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
RoundingMode.HALF_UP));
|
||||
data.add(map);
|
||||
} else {
|
||||
hasil += Double.valueOf(map.get("fragCapaian").toString())
|
||||
hasil += Double.parseDouble(df.format(Double.valueOf(map.get("fragCapaian").toString())))
|
||||
* Double.valueOf(map.get("bobot").toString());
|
||||
map.put("persenCapaianDibulatkan",
|
||||
new BigDecimal(Double.valueOf(map.get("fragCapaian").toString()) * 100).setScale(2,
|
||||
@ -475,9 +475,10 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
listJenisIndikator.add(jenisIndikator);
|
||||
}
|
||||
|
||||
Double iki = tabelAcuanIndeksIKIDao.findIKI(totAllPersen);
|
||||
if (CommonUtil.isNullOrEmpty(iki)) {
|
||||
iki = 0.0;
|
||||
Double iki = 0.0;
|
||||
Map<String, Object> acuanIndeks = tabelAcuanIndeksIKIDao.findIKI(totAllPersen);
|
||||
if (CommonUtil.isNotNullOrEmpty(acuanIndeks)) {
|
||||
iki = Double.valueOf(acuanIndeks.get("indeks").toString());
|
||||
}
|
||||
|
||||
double targetRupiahP1 = nilaiJabatan * Master.Remunerasi.IKI_STANDAR * pir * Master.Remunerasi.PERSEN_P1;
|
||||
@ -1162,14 +1163,19 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
result.put("perilaku", jiData);
|
||||
}
|
||||
}
|
||||
Double iki = tabelAcuanIndeksIKIDao.findIKI(Double.parseDouble(df.format(tHasil)));
|
||||
if (CommonUtil.isNullOrEmpty(iki)) {
|
||||
iki = 0.00;
|
||||
|
||||
Double iki = 0.0;
|
||||
String kriteria = "-";
|
||||
Map<String, Object> acuanIndeks = tabelAcuanIndeksIKIDao.findIKI(Double.parseDouble(df.format(tHasil)));
|
||||
if (CommonUtil.isNotNullOrEmpty(acuanIndeks)) {
|
||||
iki = Double.valueOf(acuanIndeks.get("indeks").toString());
|
||||
kriteria = acuanIndeks.get("kriteria").toString();
|
||||
}
|
||||
|
||||
result.put("tBobot", tBobot);
|
||||
result.put("tHasil", Double.parseDouble(df.format(tHasil)));
|
||||
result.put("iki", iki);
|
||||
result.put("kriteria", kriteria);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -5,6 +5,8 @@ import java.security.NoSuchAlgorithmException;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Calendar;
|
||||
@ -2870,9 +2872,25 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
||||
public Map<String, Object> getpegawaiSipStrExpiredByPegawai() {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
|
||||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
LocalDateTime today = LocalDateTime.now();
|
||||
|
||||
LocalDateTime PSBBDate = LocalDateTime.of(2020, 9, 14, 0, 0, 0);
|
||||
LocalDateTime PSBBEnd = LocalDateTime.parse(GetSettingDataFixed("psbbperiod"), dtf);
|
||||
|
||||
LoginUser loginUser = loginUserService.getLoginUser();
|
||||
Map<String, Object> sip = pegawaiDao.findSipExpiredByPegawai(getNextSixMonth(), loginUser.getPegawai().getId());
|
||||
Map<String, Object> str = pegawaiDao.findStrExpiredByPegawai(getNextSixMonth(), loginUser.getPegawai().getId());
|
||||
|
||||
Map<String, Object> sip = new HashMap<>();
|
||||
Map<String, Object> str = new HashMap<>();
|
||||
if ((today.equals(PSBBDate) || today.isAfter(PSBBDate)) && (today.isBefore(PSBBEnd) || today.equals(PSBBEnd))) {
|
||||
sip = pegawaiDao.findSipExpiredByPegawai(getPreviousSixMonth(), loginUser.getPegawai().getId());
|
||||
str = pegawaiDao.findStrExpiredByPegawai(getPreviousSixMonth(), loginUser.getPegawai().getId());
|
||||
} else {
|
||||
sip = pegawaiDao.findSipExpiredByPegawai(getNextSixMonth(), loginUser.getPegawai().getId());
|
||||
str = pegawaiDao.findStrExpiredByPegawai(getNextSixMonth(), loginUser.getPegawai().getId());
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(sip) && CommonUtil.isNotNullOrEmpty(str)) {
|
||||
result.putAll(sip);
|
||||
result.put("tglBerakhirStr", str.get("tglBerakhirStr"));
|
||||
@ -2894,6 +2912,13 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
||||
return cal.getTime();
|
||||
}
|
||||
|
||||
public Date getPreviousSixMonth() {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(new Date());
|
||||
cal.add(Calendar.MONTH, -5);
|
||||
return cal.getTime();
|
||||
}
|
||||
|
||||
@Transactional(readOnly = false)
|
||||
public void disableIsprimary(Integer idPegawai, Integer id) {
|
||||
mapPegawaiJabatanToUnitKerjaDao.changeIsNotPrimary(idPegawai, id);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user