Merge branch 'dev/pegawai/tmt-str' into dev/base

This commit is contained in:
Salman Manoe 2024-02-20 14:16:43 +07:00
commit 0e10c20c24
5 changed files with 112 additions and 1214 deletions

View File

@ -354,8 +354,9 @@ public interface PegawaiDao extends JpaRepository<Pegawai, Integer>, JpaSpecific
+ "pegawai.nilaiJabatan as nilaiJabatan," + "levelTingkat.id as idLevelTingkat,"
+ "levelTingkat.levelTingkat as levelTingkat," + "pegawai.grade as grade," + "pegawai.noSip as noSip,"
+ "pegawai.tglTerbitSip as tglTerbitSip," + "pegawai.tglBerakhirSip as tglBerakhirSip,"
+ "pegawai.noStr as noStr," + "pegawai.tglTerbitStr as tglTerbitStr,"
+ "pegawai.tglBerakhirStr as tglBerakhirStr," + "pegawai.gelarDepan as gelarDepan,"
+ "pegawai.isSipSeumurHidup as isSipSeumurHidup," + "pegawai.noStr as noStr,"
+ "pegawai.tglTerbitStr as tglTerbitStr," + "pegawai.tglBerakhirStr as tglBerakhirStr,"
+ "pegawai.isStrSeumurHidup as isStrSeumurHidup," + "pegawai.gelarDepan as gelarDepan,"
+ "pegawai.gelarBelakang as gelarBelakang," + "pegawai.tempatLahir as tempatLahir,"
+ "golongan.golonganPegawai as namaGolongan," + "agama.agama as agama,"
+ "detailKategoryPegawai.detailKategoryPegawai as detailKategoryPegawai,"
@ -667,7 +668,8 @@ public interface PegawaiDao extends JpaRepository<Pegawai, Integer>, JpaSpecific
+ "left join mapPegawai.pegawai p " + "left join mapPegawai.subUnitKerjaPegawai subUnitKerja "
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where mapPegawai.isPrimary is true "
+ "and mapPegawai.statusEnabled is true " + "and p.statusEnabled is true " + "and p.id = :id "
+ "and tglBerakhirSip <= :date " + "order by tglBerakhirSip, namaLengkap")
+ "and tglBerakhirSip <= :date " + "and p.isSipSeumurHidup is false "
+ "order by tglBerakhirSip, namaLengkap")
Map<String, Object> findSipExpiredByPegawai(@Param("date") Date date, @Param("id") Integer id);
@Query("select new map (p.id as id, " + "p.tglBerakhirStr as tglBerakhirStr, "
@ -677,7 +679,8 @@ public interface PegawaiDao extends JpaRepository<Pegawai, Integer>, JpaSpecific
+ "left join mapPegawai.pegawai p " + "left join mapPegawai.subUnitKerjaPegawai subUnitKerja "
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where mapPegawai.isPrimary is true "
+ "and mapPegawai.statusEnabled is true " + "and p.statusEnabled is true " + "and p.id = :id "
+ "and tglBerakhirStr <= :date " + "order by tglBerakhirStr, namaLengkap")
+ "and tglBerakhirStr <= :date " + "and p.isStrSeumurHidup is false "
+ "order by tglBerakhirStr, namaLengkap")
Map<String, Object> findStrExpiredByPegawai(@Param("date") Date date, @Param("id") Integer id);
@Query("select new map (unitKerja.name as unitKerja, count(pegawai.id) as value )"
@ -872,7 +875,8 @@ public interface PegawaiDao extends JpaRepository<Pegawai, Integer>, JpaSpecific
+ "pegawai.rekananId as rekananId," + "pegawai.statusRhesus as statusRhesus, "
+ "pegawai.shiftKerjaId as shiftKerjaId, " + "pegawai.statusKawinId as statusKawinId, "
+ "pegawai.sukuId as sukuId, " + "pegawai.tempatLahir as tempatLahir, "
+ "pegawai.tglBerakhirSip as tglBerakhirSip, " + "pegawai.tglBerakhirStr as tglBerakhirStr, "
+ "pegawai.tglBerakhirSip as tglBerakhirSip, " + "pegawai.isSipSeumurHidup as isSipSeumurHidup, "
+ "pegawai.tglBerakhirStr as tglBerakhirStr, " + "pegawai.isStrSeumurHidup as isStrSeumurHidup, "
+ "pegawai.tglLahir as tglLahir, " + "pegawai.tglMasuk as tglMasuk, " + "pegawai.tglkeluar as tglkeluar, "
+ "pegawai.tglPensiun as tglPensiun, " + "pegawai.tglTerbitSip as tglTerbitSip, "
+ "pegawai.tglTerbitStr as tglTerbitStr, " + "pegawai.typePegawaiId as typePegawaiId) "

View File

@ -1,15 +1,5 @@
package com.jasamedika.medifirst2000.dao.custom.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.persistence.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.dao.PegawaiDao;
import com.jasamedika.medifirst2000.dao.custom.PegawaiDaoCustom;
@ -17,6 +7,14 @@ import com.jasamedika.medifirst2000.dao.custom.base.impl.CoreDaoImpl;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.PegawaiJadwalKerja;
import com.jasamedika.medifirst2000.util.CommonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import javax.persistence.Query;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* Repository PegawaiDaoCustomImpl class
@ -329,8 +327,9 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
+ "pegawai.nilaiJabatan as nilaiJabatan," + "levelTingkat.id as idLevelTingkat,"
+ "levelTingkat.levelTingkat as levelTingkat," + "pegawai.grade as grade," + "pegawai.noSip as noSip,"
+ "pegawai.tglTerbitSip as tglTerbitSip," + "pegawai.tglBerakhirSip as tglBerakhirSip,"
+ "pegawai.noStr as noStr," + "pegawai.tglTerbitStr as tglTerbitStr,"
+ "pegawai.tglBerakhirStr as tglBerakhirStr," + "pegawai.gelarDepan as gelarDepan,"
+ "pegawai.isSipSeumurHidup as isSipSeumurHidup," + "pegawai.noStr as noStr,"
+ "pegawai.tglTerbitStr as tglTerbitStr," + "pegawai.tglBerakhirStr as tglBerakhirStr,"
+ "pegawai.isStrSeumurHidup as isStrSeumurHidup," + "pegawai.gelarDepan as gelarDepan,"
+ "pegawai.gelarBelakang as gelarBelakang," + "pegawai.tempatLahir as tempatLahir,"
+ "golongan.golonganPegawai as namaGolongan," + "agama.agama as agama,"
+ "detailKategoryPegawai.detailKategoryPegawai as detailKategoryPegawai,"

View File

@ -1,67 +1,11 @@
package com.jasamedika.medifirst2000.service.impl;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.google.gson.Gson;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.EvaluasiJabatanDao;
import com.jasamedika.medifirst2000.dao.HistoryDataPegawaiDao;
import com.jasamedika.medifirst2000.dao.LoginUserDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.PangkatDao;
import com.jasamedika.medifirst2000.dao.PegawaiDao;
import com.jasamedika.medifirst2000.dao.PegawaiJadwalKerjaDao;
import com.jasamedika.medifirst2000.entities.Agama;
import com.jasamedika.medifirst2000.entities.DetailKategoryPegawai;
import com.jasamedika.medifirst2000.entities.Dokumen;
import com.jasamedika.medifirst2000.entities.Eselon;
import com.jasamedika.medifirst2000.entities.Golongan;
import com.jasamedika.medifirst2000.entities.GolonganDarah;
import com.jasamedika.medifirst2000.entities.GolonganPegawai;
import com.jasamedika.medifirst2000.entities.HistoryDataPegawai;
import com.jasamedika.medifirst2000.entities.Jabatan;
import com.jasamedika.medifirst2000.entities.JenisKelamin;
import com.jasamedika.medifirst2000.entities.JenisPegawai;
import com.jasamedika.medifirst2000.entities.KategoryPegawai;
import com.jasamedika.medifirst2000.entities.Kedudukan;
import com.jasamedika.medifirst2000.entities.KelompokShift;
import com.jasamedika.medifirst2000.entities.KelompokUser;
import com.jasamedika.medifirst2000.entities.KualifikasiJurusan;
import com.jasamedika.medifirst2000.entities.LevelTingkat;
import com.jasamedika.medifirst2000.entities.LoginUser;
import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerja;
import com.jasamedika.medifirst2000.entities.Negara;
import com.jasamedika.medifirst2000.entities.NilaiKelompokJabatan;
import com.jasamedika.medifirst2000.entities.Pangkat;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.Pendidikan;
import com.jasamedika.medifirst2000.entities.PenghasilanTidakKenaPajak;
import com.jasamedika.medifirst2000.entities.Rekanan;
import com.jasamedika.medifirst2000.entities.Ruangan;
import com.jasamedika.medifirst2000.entities.SatuanKerja;
import com.jasamedika.medifirst2000.entities.StatusPegawai;
import com.jasamedika.medifirst2000.entities.StatusPerkawinan;
import com.jasamedika.medifirst2000.entities.StatusPerkawinanPegawai;
import com.jasamedika.medifirst2000.entities.SubUnitKerjaPegawai;
import com.jasamedika.medifirst2000.entities.Suku;
import com.jasamedika.medifirst2000.entities.TypePegawai;
import com.jasamedika.medifirst2000.entities.UnitKerjaPegawai;
import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.entities.*;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.LoginUserService;
import com.jasamedika.medifirst2000.service.PegawaiService;
import com.jasamedika.medifirst2000.service.RekamDataPegawaiService;
@ -69,46 +13,22 @@ import com.jasamedika.medifirst2000.service.RiwayatJabatanService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.DateUtil;
import com.jasamedika.medifirst2000.util.PasswordUtil;
import com.jasamedika.medifirst2000.vo.AgamaVO;
import com.jasamedika.medifirst2000.vo.DetailKategoryPegawaiVO;
import com.jasamedika.medifirst2000.vo.DokumenVO;
import com.jasamedika.medifirst2000.vo.EselonVO;
import com.jasamedika.medifirst2000.vo.GolonganDarahVO;
import com.jasamedika.medifirst2000.vo.GolonganPegawaiVO;
import com.jasamedika.medifirst2000.vo.JabatanVO;
import com.jasamedika.medifirst2000.vo.JenisKelaminVO;
import com.jasamedika.medifirst2000.vo.JenisPegawaiVO;
import com.jasamedika.medifirst2000.vo.KategoryPegawaiVO;
import com.jasamedika.medifirst2000.vo.KedudukanVO;
import com.jasamedika.medifirst2000.vo.KelompokShiftVO;
import com.jasamedika.medifirst2000.vo.KualifikasiJurusanVO;
import com.jasamedika.medifirst2000.vo.LevelTingkatVO;
import com.jasamedika.medifirst2000.vo.MapPegawaiJabatanToUnitKerjaVO;
import com.jasamedika.medifirst2000.vo.NegaraVO;
import com.jasamedika.medifirst2000.vo.NilaiKelompokJabatanVO;
import com.jasamedika.medifirst2000.vo.PangkatVO;
import com.jasamedika.medifirst2000.vo.PegawaiVO;
import com.jasamedika.medifirst2000.vo.PendidikanVO;
import com.jasamedika.medifirst2000.vo.PenghasilanTidakKenaPajakVO;
import com.jasamedika.medifirst2000.vo.RekamDataPegawaiCustomVO;
import com.jasamedika.medifirst2000.vo.RekamDataPegawaiVO;
import com.jasamedika.medifirst2000.vo.RekananVO;
import com.jasamedika.medifirst2000.vo.RiwayatJabatanVO;
import com.jasamedika.medifirst2000.vo.RuanganVO;
import com.jasamedika.medifirst2000.vo.SatuanKerjaVO;
import com.jasamedika.medifirst2000.vo.StatusPegawaiVO;
import com.jasamedika.medifirst2000.vo.StatusPerkawinanPegawaiVO;
import com.jasamedika.medifirst2000.vo.StatusPerkawinanVO;
import com.jasamedika.medifirst2000.vo.SubUnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.SukuVO;
import com.jasamedika.medifirst2000.vo.TypePegawaiVO;
import com.jasamedika.medifirst2000.vo.UnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* Implement class for RekamDataPegawaiService
*
* @author Generator
* @param <T>
*/
@Service("rekamDataPegawaiService")
public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements RekamDataPegawaiService {
@ -251,7 +171,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
@Override
@Transactional
public Map<String, Object> saveRekamDataPegawaiRev(RekamDataPegawaiVO vo) {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> result = new HashMap<>();
Pegawai pegawai = new Pegawai();
String perubahan = "";
@ -820,7 +740,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
pegawai.setPangkat(pangkatConverter.transferVOToModel(vo.getPangkat(), new Pangkat()));
perubahan += "ubah pangkat, ";
}
/**
/*
* field golongan dan golonganPegawai sudah deprecated karena
* field pangkat sudah terasosiasi langsung dengan
* golonganPegawai
@ -834,7 +754,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
} else if (CommonUtil.isNullOrEmpty(pegawai.getPangkat()) && CommonUtil.isNotNullOrEmpty(vo.getPangkat())) {
pegawai.setPangkat(pangkatConverter.transferVOToModel(vo.getPangkat(), new Pangkat()));
perubahan += "pangkat, ";
/**
/*
* field golongan dan golonganPegawai sudah deprecated karena
* field pangkat sudah terasosiasi langsung dengan
* golonganPegawai
@ -848,7 +768,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
} else if (CommonUtil.isNotNullOrEmpty(pegawai.getPangkat()) && CommonUtil.isNullOrEmpty(vo.getPangkat())) {
pegawai.setPangkat(null);
perubahan += "hapus pangkat, ";
/**
/*
* field golongan dan golonganPegawai sudah deprecated karena
* field pangkat sudah terasosiasi langsung dengan
* golonganPegawai
@ -1063,7 +983,6 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
if (CommonUtil.isNotNullOrEmpty(pegawai.getPensiun()) && CommonUtil.isNotNullOrEmpty(usiaPensiun)) {
if (!pegawai.getPensiun().equals(usiaPensiun)) {
pegawai.setPensiun(usiaPensiun);
;
perubahan += "hitung ulang usia pensiun, ";
}
} else if (CommonUtil.isNullOrEmpty(pegawai.getPensiun())
@ -1123,6 +1042,22 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
perubahan += "hapus tanggal berakhir sip, ";
}
if (CommonUtil.isNotNullOrEmpty(pegawai.getIsSipSeumurHidup())
&& CommonUtil.isNotNullOrEmpty(vo.getIsSipSeumurHidup())) {
if (!pegawai.getIsSipSeumurHidup().equals(vo.getIsSipSeumurHidup())) {
pegawai.setIsSipSeumurHidup(vo.getIsSipSeumurHidup());
perubahan += "ubah status SIP berlaku seumur hidup, ";
}
} else if (CommonUtil.isNullOrEmpty(pegawai.getIsSipSeumurHidup())
&& CommonUtil.isNotNullOrEmpty(vo.getIsSipSeumurHidup())) {
pegawai.setIsSipSeumurHidup(vo.getIsSipSeumurHidup());
perubahan += "status SIP berlaku seumur hidup, ";
} else if (CommonUtil.isNotNullOrEmpty(pegawai.getIsSipSeumurHidup())
&& CommonUtil.isNullOrEmpty(vo.getIsSipSeumurHidup())) {
pegawai.setIsSipSeumurHidup(vo.getIsSipSeumurHidup());
perubahan += "hapus status SIP berlaku seumur hidup, ";
}
if (CommonUtil.isNotNullOrEmpty(pegawai.getNoStr()) && CommonUtil.isNotNullOrEmpty(vo.getNoStr())) {
if (!pegawai.getNoStr().equals(vo.getNoStr())) {
pegawai.setNoStr(vo.getNoStr());
@ -1168,6 +1103,22 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
perubahan += "hapus tanggal berakhir str, ";
}
if (CommonUtil.isNotNullOrEmpty(pegawai.getIsStrSeumurHidup())
&& CommonUtil.isNotNullOrEmpty(vo.getIsStrSeumurHidup())) {
if (!pegawai.getIsStrSeumurHidup().equals(vo.getIsStrSeumurHidup())) {
pegawai.setIsStrSeumurHidup(vo.getIsStrSeumurHidup());
perubahan += "ubah status STR berlaku seumur hidup, ";
}
} else if (CommonUtil.isNullOrEmpty(pegawai.getIsStrSeumurHidup())
&& CommonUtil.isNotNullOrEmpty(vo.getIsStrSeumurHidup())) {
pegawai.setIsStrSeumurHidup(vo.getIsStrSeumurHidup());
perubahan += "status STR berlaku seumur hidup, ";
} else if (CommonUtil.isNotNullOrEmpty(pegawai.getIsStrSeumurHidup())
&& CommonUtil.isNullOrEmpty(vo.getIsStrSeumurHidup())) {
pegawai.setIsStrSeumurHidup(vo.getIsStrSeumurHidup());
perubahan += "hapus status STR berlaku seumur hidup, ";
}
if (CommonUtil.isNotNullOrEmpty(pegawai.getTypePegawaiId())
&& CommonUtil.isNotNullOrEmpty(vo.getTypePegawai())) {
if (!pegawai.getTypePegawaiId().equals(vo.getTypePegawai().getId())) {
@ -1455,7 +1406,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
if (CommonUtil.isNotNullOrEmpty(vo.getPangkat())) {
pegawai.setPangkat(pangkatConverter.transferVOToModel(vo.getPangkat(), new Pangkat()));
perubahan += "pangkat, ";
/**
/*
* field golongan dan golonganPegawai sudah deprecated karena
* field pangkat sudah terasosiasi langsung dengan
* golonganPegawai
@ -1600,7 +1551,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
}
// Simpan mapping jabatan untuk pegawai baru saja
List<Map<String, Object>> listMappingId = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> listMappingId = new ArrayList<>();
if (CommonUtil.isNotNullOrEmpty(vo.getMappingJabatan()) && CommonUtil.isNullOrEmpty(vo.getId())) {
for (MapPegawaiJabatanToUnitKerjaVO mapVo : vo.getMappingJabatan()) {
MapPegawaiJabatanToUnitKerja map = new MapPegawaiJabatanToUnitKerja();
@ -1623,7 +1574,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
}
}
if (CommonUtil.isNotNullOrEmpty(mapVo.getNilaiJabatan())) {
if (mapVo.getNilaiJabatan().equals(0)) {
if (mapVo.getNilaiJabatan() == 0.0) {
mapVo.setSumberData(null);
}
}
@ -2057,7 +2008,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
List<Map<String, Object>> lnj = mapPegawaiJabatanToUnitKerjaDao
.findNilaiJabatanByPegawai(resultDomain.getId());
if (lnj.size() > 1) {
if (!Boolean.valueOf(lnj.get(0).get("isPrimary").toString())) {
if (!Boolean.parseBoolean(lnj.get(0).get("isPrimary").toString())) {
mapPegawaiJabatanToUnitKerjaDao.changeIsNotPrimary(resultDomain.getId(),
Integer.valueOf(lnj.get(0).get("id").toString()));
mapPegawaiJabatanToUnitKerjaDao.changeIsPrimary(resultDomain.getId(),
@ -2087,9 +2038,8 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
@Override
@Transactional
public Map<String, Object> saveRekamDataPegawai(RekamDataPegawaiVO vo) {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> dataPegawai = new HashMap<String, Object>();
// BeanUtils.copyProperties(dest, orig);
Map<String, Object> result = new HashMap<>();
Map<String, Object> dataPegawai = new HashMap<>();
Date currDate = new Date();
Date start = DateUtil.startMonth(currDate);
@ -2098,10 +2048,8 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
if (CommonUtil.isNotNullOrEmpty(vo)) {
try {
dataPegawai = vo.ToMap();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException | IllegalAccessException e) {
throw new ServiceVOException(e.getMessage());
}
}
Pegawai model = new Pegawai();
@ -2110,13 +2058,6 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
}
String perubahan = "";
// model = rekamDataPegawaiConverter.transferVOToModel(vo, model);
// SET DATA NEGARA
// Negara negara = new Negara();
// negara.setId(0);
// model.setNegara(negara);
// model.setNoIdentitas(vo.getNoIdentitas());
model.setKdProfile((short) 0);
if (dataPegawai.containsKey("noIdentitas")) {
@ -2314,7 +2255,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
}
// Shift Kerja
if (CommonUtil.isNotNullOrEmpty(vo.getShiftKerja())) {
Integer currKelShift = 0;
Integer currKelShift;
if (CommonUtil.isNotNullOrEmpty(vo.getId())) {
currKelShift = pegawaiDao.getKelompokShiftByIdPegawai(vo.getId());
if (CommonUtil.isNullOrEmpty(currKelShift)) {
@ -2422,22 +2363,6 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
model.setDokumen(dokumenLamarConverter.transferVOToModel(vo.getDokumen(), new Dokumen()));
perubahan += "dokumen lamar, ";
}
// Atasan Langsung
// if (CommonUtil.isNotNullOrEmpty(vo.getAtasanLangsung())) {
// model.setAtasanLangsung(
// pegawaiConverter.transferVOToModel(vo.getAtasanLangsung(), new
// Pegawai()));
// perubahan += "atasan langsung, ";
// }
// Pejabat Penilai
// if (CommonUtil.isNotNullOrEmpty(vo.getPejabatPenilai())) {
// model.setPejabatPenilai(
// pegawaiConverter.transferVOToModel(vo.getPejabatPenilai(), new
// Pegawai()));
// perubahan += "pejabat penilai, ";
// }
if (dataPegawai.containsKey("nilaiJabatan")) {
model.setNilaiJabatan(vo.getNilaiJabatan());
perubahan += "nilai jabatan, ";
@ -2545,24 +2470,6 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
resultDomain.setQPegawai(resultDomain.getId().shortValue());
rekamDataPegawaiDao.save(resultDomain);
this.saveHistoryPegawai(model, perubahan);
// Proses pembentukan username dan password pegawai baru
// List<LoginUser> pegId =
// loginUserDao.findAllLoginUserByIdPegawai(resultDomain.getId());
// if (CommonUtil.isNullOrEmpty(pegId)) {
// LoginUser pegNama = loginUserDao
// .findLoginUserByNamaUser(resultDomain.getNama().toLowerCase().replace("
// ", "."));
// if (CommonUtil.isNullOrEmpty(pegNama)) {
// this.saveLoginUser(resultDomain,
// Master.LoginUser.GENERATED_NEW_LOGIN);
// } else {
// this.saveLoginUser(resultDomain,
// Master.LoginUser.GENERATED_USED_LOGIN);
// }
// } else {
// this.resetLoginUser(model.getId());
// }
}
result.put("noRec", resultDomain.getId());
result.put("namaUser", username);
@ -2573,16 +2480,16 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
private String username;
@Transactional
public String saveLoginUser(Pegawai pegawai, Integer isNew) {
public void saveLoginUser(Pegawai pegawai, Integer isNew) {
LoginUser loginUser = new LoginUser();
PasswordUtil passwordUtil = new PasswordUtil();
try {
/**
/*
* password default pegawai baru
*/
loginUser.setKataSandi(passwordUtil.encryptPassword("rsabhk79"));
} catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
e.printStackTrace();
throw new ServiceVOException(e.getMessage());
}
KelompokUser kelompokUser = new KelompokUser();
kelompokUser.setId(0);
@ -2595,24 +2502,21 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
loginUser.setNamaUser(pegawai.getNama().toLowerCase().replace(" ", "."));
loginUser.setNamaExternal(pegawai.getNama().toLowerCase().replace(" ", "."));
} else if (isNew == 0) {
LoginUser cekIterasiLoginUser = new LoginUser();
Integer str = 0;
LoginUser cekIterasiLoginUser;
int str = 0;
// check username yang sudah terpakai
do {
str = str + 1;
cekIterasiLoginUser = loginUserDao.findLoginUserByNamaUser(
pegawai.getNama().toLowerCase().replace(" ", ".").concat(str.toString()));
pegawai.getNama().toLowerCase().replace(" ", ".").concat(Integer.toString(str)));
} while (CommonUtil.isNotNullOrEmpty(cekIterasiLoginUser));
username = pegawai.getNama().toLowerCase().replace(" ", ".").concat(str.toString());
username = pegawai.getNama().toLowerCase().replace(" ", ".").concat(Integer.toString(str));
loginUser.setNamaUser(username);
loginUser.setNamaExternal(username);
}
loginUserDao.save(loginUser);
return username;
}
public void saveHistoryPegawai(Pegawai model, String perubahan) {
@ -2845,7 +2749,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
@Override
public void resetLoginUser(Integer idPegawai) {
List<LoginUser> allLoginUserDetail = new ArrayList<LoginUser>();
List<LoginUser> allLoginUserDetail = new ArrayList<>();
List<LoginUser> allLoginUser = loginUserDao.findAllLoginUserByIdPegawai(idPegawai);
for (LoginUser loginUser : allLoginUser) {
allLoginUserDetail.add(loginUserDao.findOne(loginUser.getId()));
@ -2862,9 +2766,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
@Override
public Map<String, Object> getpegawaiStrExpiredByPegawai() {
LoginUser loginUser = loginUserService.getLoginUser();
Map<String, Object> result = pegawaiDao.findStrExpiredByPegawai(getNextSixMonth(),
loginUser.getPegawai().getId());
return result;
return pegawaiDao.findStrExpiredByPegawai(getNextSixMonth(), loginUser.getPegawai().getId());
}
@Override
@ -2897,12 +2799,12 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
return cal.getTime();
}
@Transactional(readOnly = false)
@Transactional
public void disableIsprimary(Integer idPegawai, Integer id) {
mapPegawaiJabatanToUnitKerjaDao.changeIsNotPrimary(idPegawai, id);
}
@Transactional(readOnly = false)
@Transactional
public void disableIsprimary(Integer idPegawai) {
mapPegawaiJabatanToUnitKerjaDao.changeIsPrimary(idPegawai);
}

View File

@ -543,6 +543,10 @@ public class Pegawai extends BaseMasterPegawai {
@Column(name = "tglBerakhirSip")
private Date tglBerakhirSip;
@Column(nullable = false, columnDefinition = "boolean default false")
@Caption("Status SIP berlaku seumur hidup")
private Boolean isSipSeumurHidup;
@Column(name = "noStr")
private String noStr;
@ -552,6 +556,10 @@ public class Pegawai extends BaseMasterPegawai {
@Column(name = "tglBerakhirStr")
private Date tglBerakhirStr;
@Column(nullable = false, columnDefinition = "boolean default false")
@Caption("Status STR berlaku seumur hidup")
private Boolean isStrSeumurHidup;
@JsonBackReference
@OneToMany(cascade = CascadeType.ALL, fetch = LAZY, mappedBy = "pegawai")
private Set<RiwayatPendidikan> riwayatPendidikanSet = new HashSet<>();