- perbaikan fitur sotk di kontrak kinerja hanya untuk pkwt, pegawai tetap, cpns, dan pns
- perbaikan fitur sotk atasan di verifikasi catatan kegiatan harian - penyesuaian service get data kontrak kinerja jika ada data mapping indikator jabatan dihapus di menu tersebut
This commit is contained in:
parent
6b25124b4e
commit
45f04a3761
@ -83,23 +83,28 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
|
||||
@Query("select distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap) "
|
||||
+ "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")
|
||||
List<Map<String, Object>> findAksesPegawaiByStaf(@Param("pegawaiId") Integer idPegawai);
|
||||
+ "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) "
|
||||
+ "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 "
|
||||
+ "and mjp.statusEnabled is true " + "and mja.statusEnabled is true " + "and pgb.statusEnabled is true "
|
||||
+ "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "and pg.id = :pegawaiId")
|
||||
List<Map<String, Object>> findAksesPegawaiByAtasan(@Param("pegawaiId") Integer idPegawai);
|
||||
+ "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "and pg.id = :pegawaiId "
|
||||
+ "and pgb.kategoryPegawaiId in (:listKategoryPegawaiId)")
|
||||
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) "
|
||||
+ "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 "
|
||||
+ "and mjp.statusEnabled is true " + "and mjn.statusEnabled is true " + "and pgb.statusEnabled is true "
|
||||
+ "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "and pg.id = :pegawaiId")
|
||||
List<Map<String, Object>> findAksesPegawaiByPenilai(@Param("pegawaiId") Integer idPegawai);
|
||||
+ "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "and pg.id = :pegawaiId "
|
||||
+ "and pgb.kategoryPegawaiId in (:listKategoryPegawaiId)")
|
||||
List<Map<String, Object>> findAksesPegawaiByPenilai(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
||||
|
||||
}
|
||||
|
||||
@ -1051,4 +1051,10 @@ 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 "
|
||||
+ "where pg.statusEnabled is true " + "and pg.kategoryPegawaiId in (:listKategoryPegawaiId)")
|
||||
public List<Map<String, Object>> findPegawaiByListKategori(
|
||||
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai);
|
||||
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.jasamedika.medifirst2000.service.impl;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
@ -13,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.jasamedika.medifirst2000.constants.Master;
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao;
|
||||
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDetailDao;
|
||||
@ -142,7 +144,8 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai) {
|
||||
List<Map<String, Object>> result = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai);
|
||||
List<Map<String, Object>> result = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai,
|
||||
Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU));
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||
result.sort(Comparator.comparing(m -> (String) m.get("namaLengkap"), String.CASE_INSENSITIVE_ORDER));
|
||||
|
||||
@ -23,6 +23,7 @@ import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.AnggaranRemunerasiDao;
|
||||
import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDao;
|
||||
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao;
|
||||
import com.jasamedika.medifirst2000.dao.PegawaiDao;
|
||||
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
|
||||
import com.jasamedika.medifirst2000.entities.Jabatan;
|
||||
import com.jasamedika.medifirst2000.entities.LogbookKinerja;
|
||||
@ -64,6 +65,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
@Autowired
|
||||
private AnggaranRemunerasiDao anggaranRemunerasiDao;
|
||||
|
||||
@Autowired
|
||||
private PegawaiDao pegawaiDao;
|
||||
|
||||
@Override
|
||||
public LogbookKinerjaVO add(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException {
|
||||
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
|
||||
@ -251,15 +255,22 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
DateFormat df = new SimpleDateFormat("yyyy-MM");
|
||||
|
||||
List<Map<String, Object>> listMap = logbookKinerjaDao.findIndikatorByJabatan(idJabatan);
|
||||
List<Map<String, Object>> data = logbookKinerjaDao.findKontrakKinerja(idPegawai, idJabatan,
|
||||
df.format(new Date(bulan)));
|
||||
|
||||
for (Map<String, Object> map : listMap) {
|
||||
if (!listIdIndikator.contains(map.get("indikatorId"))) {
|
||||
listIdIndikator.add(Integer.valueOf(map.get("indikatorId").toString()));
|
||||
listRes.add(map);
|
||||
}
|
||||
}
|
||||
for (Map<String, Object> map : data) {
|
||||
if (!listIdIndikator.contains(map.get("indikatorId"))) {
|
||||
listIdIndikator.add(Integer.valueOf(map.get("indikatorId").toString()));
|
||||
listRes.add(map);
|
||||
}
|
||||
}
|
||||
|
||||
List<Map<String, Object>> data = logbookKinerjaDao.findKontrakKinerja(idPegawai, idJabatan,
|
||||
df.format(new Date(bulan)));
|
||||
for (Map<String, Object> res : listRes) {
|
||||
res.put("noRecMap", res.get("noRecMap"));
|
||||
for (Map<String, Object> map : data) {
|
||||
@ -394,24 +405,48 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
@Override
|
||||
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
List<Map<String, Object>> rsAll = new ArrayList<>();
|
||||
List<Integer> listPurnaWaktu = Arrays.asList(Master.KategoryPegawai.PURNA_WAKTU);
|
||||
|
||||
List<Map<String, Object>> aksesByStaf = logbookKinerjaDao.findAksesPegawaiByStaf(idPegawai);
|
||||
List<Map<String, Object>> aksesByAtasan = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai);
|
||||
List<Map<String, Object>> aksesByPenilai = logbookKinerjaDao.findAksesPegawaiByPenilai(idPegawai);
|
||||
List<Integer> listIdSDM = pegawaiDao.getPegawaiSDMforCred(Master.UnitKerja.BAG_SDM,
|
||||
Master.SubUnitKerja.SUBBAG_KESEJAHTERAAN);
|
||||
if (listIdSDM.contains(idPegawai)) {
|
||||
rsAll = pegawaiDao.findPegawaiByListKategori(listPurnaWaktu);
|
||||
result.addAll(rsAll);
|
||||
for (Map<String, Object> map : result) {
|
||||
map.put("isModifAkses", false);
|
||||
}
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(aksesByStaf)) {
|
||||
List<Map<String, Object>> aksesByStaf = logbookKinerjaDao.findAksesPegawaiByStaf(idPegawai, listPurnaWaktu);
|
||||
List<Map<String, Object>> aksesByAtasan = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai, listPurnaWaktu);
|
||||
List<Map<String, Object>> aksesByPenilai = logbookKinerjaDao.findAksesPegawaiByPenilai(idPegawai,
|
||||
listPurnaWaktu);
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(aksesByStaf) && CommonUtil.isNullOrEmpty(rsAll)) {
|
||||
for (Map<String, Object> map : aksesByStaf) {
|
||||
map.put("isModifAkses", false);
|
||||
}
|
||||
result.addAll(aksesByStaf);
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(aksesByAtasan)) {
|
||||
for (Map<String, Object> map : aksesByAtasan) {
|
||||
map.put("isModifAkses", true);
|
||||
if (CommonUtil.isNullOrEmpty(rsAll)) {
|
||||
for (Map<String, Object> map : aksesByAtasan) {
|
||||
map.put("isModifAkses", true);
|
||||
}
|
||||
result.addAll(aksesByAtasan);
|
||||
} else {
|
||||
for (Map<String, Object> res : result) {
|
||||
for (Map<String, Object> map : aksesByAtasan) {
|
||||
if (res.get("id").equals(map.get("id"))) {
|
||||
res.put("isModifAkses", true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
result.addAll(aksesByAtasan);
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(aksesByPenilai)) {
|
||||
if (CommonUtil.isNotNullOrEmpty(aksesByPenilai) && CommonUtil.isNullOrEmpty(rsAll)) {
|
||||
for (Map<String, Object> map : aksesByPenilai) {
|
||||
map.put("isModifAkses", false);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user