perbaikan service simpan rekam data pegawai baru terhadap perhitungan nilai jabatan, mapping kelompok jabatan, dan sumber data
This commit is contained in:
parent
bc8f69c4b0
commit
1dd28f5b6b
@ -20,6 +20,7 @@ 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;
|
||||
@ -195,6 +196,9 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
||||
@Autowired
|
||||
private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitkerjaDao;
|
||||
|
||||
@Autowired
|
||||
private EvaluasiJabatanDao evaluasiJabatanDao;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<LevelTingkatVO, LevelTingkat> levelTingkatConverter;
|
||||
|
||||
@ -1609,6 +1613,21 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
||||
mapVo.setJabatan(null);
|
||||
}
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(mapVo.getSumberData())) {
|
||||
if (mapVo.getSumberData().equals(0)) {
|
||||
mapVo.setSumberData(null);
|
||||
}
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(mapVo.getGrade())) {
|
||||
if (mapVo.getGrade().getId().equals(Master.EMPTY_DATA)) {
|
||||
mapVo.setGrade(null);
|
||||
}
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(mapVo.getNilaiJabatan())) {
|
||||
if (mapVo.getNilaiJabatan().equals(0)) {
|
||||
mapVo.setSumberData(null);
|
||||
}
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(mapVo.getUnitKerjaPegawai())) {
|
||||
if (mapVo.getUnitKerjaPegawai().getId().equals(Master.EMPTY_DATA)) {
|
||||
mapVo.setUnitKerjaPegawai(null);
|
||||
@ -1638,6 +1657,22 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
||||
map.setId(vo.getId());
|
||||
map.setKdProfile(Master.KODE_PROFILE);
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(map.getSumberData())
|
||||
&& CommonUtil.isNotNullOrEmpty(mapVo.getSumberData())) {
|
||||
if (!map.getSumberData().equals(mapVo.getSumberData())) {
|
||||
map.setSumberData(mapVo.getSumberData());
|
||||
perubahan += "ubah sumber data, ";
|
||||
}
|
||||
} else if (CommonUtil.isNullOrEmpty(map.getSumberData())
|
||||
&& CommonUtil.isNotNullOrEmpty(mapVo.getSumberData())) {
|
||||
map.setSumberData(mapVo.getSumberData());
|
||||
perubahan += "sumber data, ";
|
||||
} else if (CommonUtil.isNotNullOrEmpty(map.getSumberData())
|
||||
&& CommonUtil.isNullOrEmpty(mapVo.getSumberData())) {
|
||||
map.setSumberData(mapVo.getSumberData());
|
||||
perubahan += "hapus sumber data, ";
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(map.getStatusEnabled())
|
||||
&& CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) {
|
||||
if (!map.getStatusEnabled().equals(vo.getStatusEnabled())) {
|
||||
@ -1679,8 +1714,20 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
||||
riwayatJabatanVo.setJabatan(mapVo.getJabatan());
|
||||
riwayatJabatanVo.setNamaJabatan(mapVo.getJabatan().getNamaJabatan());
|
||||
riwayatJabatanVo.setPegawai(mapVo.getPegawai());
|
||||
riwayatJabatanVo.setSumberData(mapVo.getSumberData());
|
||||
riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||
riwayatJabatanService.add(riwayatJabatanVo);
|
||||
|
||||
// Find nilai jabatan dan grade
|
||||
List<Map<String, Object>> ej = evaluasiJabatanDao
|
||||
.findEvaluasiByJabatan(mapVo.getJabatan().getId());
|
||||
if (CommonUtil.isNotNullOrEmpty(ej)) {
|
||||
map.setNilaiJabatan(Double.valueOf(ej.get(0).get("totalNilai").toString()));
|
||||
NilaiKelompokJabatan nj = new NilaiKelompokJabatan();
|
||||
nj.setId(Integer.valueOf(ej.get(0).get("gradeId").toString()));
|
||||
map.setGrade(nj);
|
||||
perubahan += "hitung ulang nilai jabatan, ubah grade jabatan ";
|
||||
}
|
||||
}
|
||||
} else if (CommonUtil.isNullOrEmpty(map.getJabatanId())
|
||||
&& CommonUtil.isNotNullOrEmpty(mapVo.getJabatan())) {
|
||||
@ -1692,12 +1739,26 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
||||
riwayatJabatanVo.setJabatan(mapVo.getJabatan());
|
||||
riwayatJabatanVo.setNamaJabatan(mapVo.getJabatan().getNamaJabatan());
|
||||
riwayatJabatanVo.setPegawai(mapVo.getPegawai());
|
||||
riwayatJabatanVo.setSumberData(mapVo.getSumberData());
|
||||
riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||
riwayatJabatanService.add(riwayatJabatanVo);
|
||||
|
||||
// Find nilai jabatan dan grade
|
||||
List<Map<String, Object>> ej = evaluasiJabatanDao
|
||||
.findEvaluasiByJabatan(mapVo.getJabatan().getId());
|
||||
if (CommonUtil.isNotNullOrEmpty(ej)) {
|
||||
map.setNilaiJabatan(Double.valueOf(ej.get(0).get("totalNilai").toString()));
|
||||
NilaiKelompokJabatan nj = new NilaiKelompokJabatan();
|
||||
nj.setId(Integer.valueOf(ej.get(0).get("gradeId").toString()));
|
||||
map.setGrade(nj);
|
||||
perubahan += "hitung nilai jabatan, grade jabatan";
|
||||
}
|
||||
} else if (CommonUtil.isNotNullOrEmpty(map.getJabatanId())
|
||||
&& CommonUtil.isNullOrEmpty(mapVo.getJabatan())) {
|
||||
map.setJabatan(null);
|
||||
perubahan += "hapus jabatan, ";
|
||||
map.setNilaiJabatan(null);
|
||||
map.setGrade(null);
|
||||
perubahan += "hapus jabatan, hapus hasil hitung nilai jabatan, hapus grade jabatan";
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(map.getUnitKerjaPegawaiId())
|
||||
@ -1878,6 +1939,12 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
||||
map.setKdProfile(Master.KODE_PROFILE);
|
||||
map.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||
map.setPegawai(resultDomain);
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(mapVo.getSumberData())) {
|
||||
map.setSumberData(mapVo.getSumberData());
|
||||
perubahan += "sumber data, ";
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(mapVo.getJabatan())) {
|
||||
map.setJabatan(jabatanConverter.transferVOToModel(mapVo.getJabatan(), new Jabatan()));
|
||||
perubahan += "jabatan, ";
|
||||
@ -1888,8 +1955,31 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
||||
riwayatJabatanVo.setNamaJabatan(mapVo.getJabatan().getNamaJabatan());
|
||||
riwayatJabatanVo
|
||||
.setPegawai(pegawaiConverter.transferModelToVO(resultDomain, new PegawaiVO()));
|
||||
riwayatJabatanVo.setSumberData(mapVo.getSumberData());
|
||||
riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||
riwayatJabatanService.add(riwayatJabatanVo);
|
||||
|
||||
// Find nilai jabatan dan grade
|
||||
List<Map<String, Object>> ej = evaluasiJabatanDao
|
||||
.findEvaluasiByJabatan(mapVo.getJabatan().getId());
|
||||
if (CommonUtil.isNotNullOrEmpty(ej)) {
|
||||
map.setNilaiJabatan(Double.valueOf(ej.get(0).get("totalNilai").toString()));
|
||||
NilaiKelompokJabatan nj = new NilaiKelompokJabatan();
|
||||
nj.setId(Integer.valueOf(ej.get(0).get("gradeId").toString()));
|
||||
map.setGrade(nj);
|
||||
perubahan += "hitung nilai jabatan, grade jabatan";
|
||||
}
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(mapVo.getGrade())) {
|
||||
map.setGrade(detailkelompokJabatanConverter.transferVOToModel(mapVo.getGrade(),
|
||||
new NilaiKelompokJabatan()));
|
||||
perubahan += "kelompok jabatan, ";
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(mapVo.getNilaiJabatan())) {
|
||||
map.setNilaiJabatan(mapVo.getNilaiJabatan());
|
||||
perubahan += "nilai jabatan, ";
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(mapVo.getUnitKerjaPegawai())) {
|
||||
@ -1963,6 +2053,23 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
||||
this.saveHistoryPegawai(map, perubahan);
|
||||
}
|
||||
|
||||
// setting jabatan utama
|
||||
if (CommonUtil.isNotNullOrEmpty(resultDomain)) {
|
||||
List<Map<String, Object>> lnj = mapPegawaiJabatanToUnitKerjaDao
|
||||
.findNilaiJabatanByPegawai(resultDomain.getId());
|
||||
if (lnj.size() > 1) {
|
||||
if (!Boolean.valueOf(lnj.get(0).get("isPrimary").toString())) {
|
||||
mapPegawaiJabatanToUnitKerjaDao.changeIsNotPrimary(resultDomain.getId(),
|
||||
Integer.valueOf(lnj.get(0).get("id").toString()));
|
||||
mapPegawaiJabatanToUnitKerjaDao.changeIsPrimary(resultDomain.getId(),
|
||||
Integer.valueOf(lnj.get(0).get("id").toString()));
|
||||
}
|
||||
} else if (lnj.size() == 1) {
|
||||
mapPegawaiJabatanToUnitKerjaDao.changeIsPrimary(resultDomain.getId(),
|
||||
Integer.valueOf(lnj.get(0).get("id").toString()));
|
||||
}
|
||||
}
|
||||
|
||||
tmp.put("id", map.getId());
|
||||
listMappingId.add(tmp);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user