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.google.gson.Gson;
|
||||||
import com.jasamedika.medifirst2000.constants.Master;
|
import com.jasamedika.medifirst2000.constants.Master;
|
||||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||||
|
import com.jasamedika.medifirst2000.dao.EvaluasiJabatanDao;
|
||||||
import com.jasamedika.medifirst2000.dao.HistoryDataPegawaiDao;
|
import com.jasamedika.medifirst2000.dao.HistoryDataPegawaiDao;
|
||||||
import com.jasamedika.medifirst2000.dao.LoginUserDao;
|
import com.jasamedika.medifirst2000.dao.LoginUserDao;
|
||||||
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
|
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
|
||||||
@ -195,6 +196,9 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
|||||||
@Autowired
|
@Autowired
|
||||||
private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitkerjaDao;
|
private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitkerjaDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private EvaluasiJabatanDao evaluasiJabatanDao;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private BaseConverterImpl<LevelTingkatVO, LevelTingkat> levelTingkatConverter;
|
private BaseConverterImpl<LevelTingkatVO, LevelTingkat> levelTingkatConverter;
|
||||||
|
|
||||||
@ -1609,6 +1613,21 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
|||||||
mapVo.setJabatan(null);
|
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 (CommonUtil.isNotNullOrEmpty(mapVo.getUnitKerjaPegawai())) {
|
||||||
if (mapVo.getUnitKerjaPegawai().getId().equals(Master.EMPTY_DATA)) {
|
if (mapVo.getUnitKerjaPegawai().getId().equals(Master.EMPTY_DATA)) {
|
||||||
mapVo.setUnitKerjaPegawai(null);
|
mapVo.setUnitKerjaPegawai(null);
|
||||||
@ -1638,6 +1657,22 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
|||||||
map.setId(vo.getId());
|
map.setId(vo.getId());
|
||||||
map.setKdProfile(Master.KODE_PROFILE);
|
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())
|
if (CommonUtil.isNotNullOrEmpty(map.getStatusEnabled())
|
||||||
&& CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) {
|
&& CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) {
|
||||||
if (!map.getStatusEnabled().equals(vo.getStatusEnabled())) {
|
if (!map.getStatusEnabled().equals(vo.getStatusEnabled())) {
|
||||||
@ -1679,8 +1714,20 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
|||||||
riwayatJabatanVo.setJabatan(mapVo.getJabatan());
|
riwayatJabatanVo.setJabatan(mapVo.getJabatan());
|
||||||
riwayatJabatanVo.setNamaJabatan(mapVo.getJabatan().getNamaJabatan());
|
riwayatJabatanVo.setNamaJabatan(mapVo.getJabatan().getNamaJabatan());
|
||||||
riwayatJabatanVo.setPegawai(mapVo.getPegawai());
|
riwayatJabatanVo.setPegawai(mapVo.getPegawai());
|
||||||
|
riwayatJabatanVo.setSumberData(mapVo.getSumberData());
|
||||||
riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||||
riwayatJabatanService.add(riwayatJabatanVo);
|
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())
|
} else if (CommonUtil.isNullOrEmpty(map.getJabatanId())
|
||||||
&& CommonUtil.isNotNullOrEmpty(mapVo.getJabatan())) {
|
&& CommonUtil.isNotNullOrEmpty(mapVo.getJabatan())) {
|
||||||
@ -1692,12 +1739,26 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
|||||||
riwayatJabatanVo.setJabatan(mapVo.getJabatan());
|
riwayatJabatanVo.setJabatan(mapVo.getJabatan());
|
||||||
riwayatJabatanVo.setNamaJabatan(mapVo.getJabatan().getNamaJabatan());
|
riwayatJabatanVo.setNamaJabatan(mapVo.getJabatan().getNamaJabatan());
|
||||||
riwayatJabatanVo.setPegawai(mapVo.getPegawai());
|
riwayatJabatanVo.setPegawai(mapVo.getPegawai());
|
||||||
|
riwayatJabatanVo.setSumberData(mapVo.getSumberData());
|
||||||
riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||||
riwayatJabatanService.add(riwayatJabatanVo);
|
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())
|
} else if (CommonUtil.isNotNullOrEmpty(map.getJabatanId())
|
||||||
&& CommonUtil.isNullOrEmpty(mapVo.getJabatan())) {
|
&& CommonUtil.isNullOrEmpty(mapVo.getJabatan())) {
|
||||||
map.setJabatan(null);
|
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())
|
if (CommonUtil.isNotNullOrEmpty(map.getUnitKerjaPegawaiId())
|
||||||
@ -1878,6 +1939,12 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
|||||||
map.setKdProfile(Master.KODE_PROFILE);
|
map.setKdProfile(Master.KODE_PROFILE);
|
||||||
map.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
map.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||||
map.setPegawai(resultDomain);
|
map.setPegawai(resultDomain);
|
||||||
|
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(mapVo.getSumberData())) {
|
||||||
|
map.setSumberData(mapVo.getSumberData());
|
||||||
|
perubahan += "sumber data, ";
|
||||||
|
}
|
||||||
|
|
||||||
if (CommonUtil.isNotNullOrEmpty(mapVo.getJabatan())) {
|
if (CommonUtil.isNotNullOrEmpty(mapVo.getJabatan())) {
|
||||||
map.setJabatan(jabatanConverter.transferVOToModel(mapVo.getJabatan(), new Jabatan()));
|
map.setJabatan(jabatanConverter.transferVOToModel(mapVo.getJabatan(), new Jabatan()));
|
||||||
perubahan += "jabatan, ";
|
perubahan += "jabatan, ";
|
||||||
@ -1888,8 +1955,31 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
|||||||
riwayatJabatanVo.setNamaJabatan(mapVo.getJabatan().getNamaJabatan());
|
riwayatJabatanVo.setNamaJabatan(mapVo.getJabatan().getNamaJabatan());
|
||||||
riwayatJabatanVo
|
riwayatJabatanVo
|
||||||
.setPegawai(pegawaiConverter.transferModelToVO(resultDomain, new PegawaiVO()));
|
.setPegawai(pegawaiConverter.transferModelToVO(resultDomain, new PegawaiVO()));
|
||||||
|
riwayatJabatanVo.setSumberData(mapVo.getSumberData());
|
||||||
riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
|
||||||
riwayatJabatanService.add(riwayatJabatanVo);
|
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())) {
|
if (CommonUtil.isNotNullOrEmpty(mapVo.getUnitKerjaPegawai())) {
|
||||||
@ -1963,6 +2053,23 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
|
|||||||
this.saveHistoryPegawai(map, perubahan);
|
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());
|
tmp.put("id", map.getId());
|
||||||
listMappingId.add(tmp);
|
listMappingId.add(tmp);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user