Add PenilaianKinerjaService
Penambahan fitur verifikasi penilaian kinerja individu
This commit is contained in:
parent
d38ac5f192
commit
eb475e66a8
@ -2,6 +2,7 @@ package com.jasamedika.medifirst2000.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
@ -531,4 +532,9 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository<MapPegaw
|
||||
List<Map<String, Object>> findDokterByRemun(@Param("ksmListId") List<Integer> ksmListId,
|
||||
@Param("drId") Integer idPegawai);
|
||||
|
||||
@Query("select mj.nilaiJabatan " + "from MapPegawaiJabatanToUnitKerja mj " + "where mj.statusEnabled is true "
|
||||
+ "and mj.pegawaiId = :pegawaiId " + "and mj.jabatanId = :jabatanId")
|
||||
Optional<Double> findByPegawaiAndJabatan(@Param("pegawaiId") Integer idPegawai,
|
||||
@Param("jabatanId") Integer idJabatan);
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,16 @@
|
||||
package com.jasamedika.medifirst2000.dao;
|
||||
|
||||
import org.springframework.data.repository.PagingAndSortingRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.PenilaianKinerja;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
@Repository("penilaianKinerjaDao")
|
||||
public interface PenilaianKinerjaDao extends PagingAndSortingRepository<PenilaianKinerja, String> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package com.jasamedika.medifirst2000.dao;
|
||||
|
||||
import org.springframework.data.repository.PagingAndSortingRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.PenilaianKinerjaDetail;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
@Repository("penilaianKinerjaDetailDao")
|
||||
public interface PenilaianKinerjaDetailDao extends PagingAndSortingRepository<PenilaianKinerjaDetail, String> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.jasamedika.medifirst2000.service;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.PenilaianKinerjaDetail;
|
||||
import com.jasamedika.medifirst2000.vo.PenilaianKinerjaDetailVO;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
public interface PenilaianKinerjaDetailService
|
||||
extends BaseVoService<PenilaianKinerjaDetail, PenilaianKinerjaDetailVO, String> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package com.jasamedika.medifirst2000.service;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.PenilaianKinerja;
|
||||
import com.jasamedika.medifirst2000.vo.PenilaianKinerjaVO;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
public interface PenilaianKinerjaService extends BaseVoService<PenilaianKinerja, PenilaianKinerjaVO, String> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,126 @@
|
||||
package com.jasamedika.medifirst2000.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.PenilaianKinerjaDetailDao;
|
||||
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
|
||||
import com.jasamedika.medifirst2000.entities.PenilaianKinerja;
|
||||
import com.jasamedika.medifirst2000.entities.PenilaianKinerjaDetail;
|
||||
import com.jasamedika.medifirst2000.entities.SatuanIndikator;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.PenilaianKinerjaDetailService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
|
||||
import com.jasamedika.medifirst2000.vo.PenilaianKinerjaDetailVO;
|
||||
import com.jasamedika.medifirst2000.vo.PenilaianKinerjaVO;
|
||||
import com.jasamedika.medifirst2000.vo.SatuanIndikatorVO;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
@Service("penilaianKinerjaDetailService")
|
||||
public class PenilaianKinerjaServiceDetailImpl extends BaseVoServiceImpl implements PenilaianKinerjaDetailService {
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<PenilaianKinerjaDetailVO, PenilaianKinerjaDetail> penilaianDetailConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<PenilaianKinerjaVO, PenilaianKinerja> penilaianConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<IndikatorKinerjaVO, IndikatorKinerja> indikatorConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<SatuanIndikatorVO, SatuanIndikator> satuanConverter;
|
||||
|
||||
@Autowired
|
||||
private PenilaianKinerjaDetailDao penilaianKinerjaDetailDao;
|
||||
|
||||
@Override
|
||||
public PenilaianKinerjaDetailVO add(PenilaianKinerjaDetailVO vo) throws JpaSystemException, ServiceVOException {
|
||||
PenilaianKinerja penilaian = penilaianConverter.transferVOToModel(vo.getPenilaianKinerja(),
|
||||
new PenilaianKinerja());
|
||||
IndikatorKinerja indikator = indikatorConverter.transferVOToModel(vo.getIndikatorKinerja(),
|
||||
new IndikatorKinerja());
|
||||
SatuanIndikator satuan = satuanConverter.transferVOToModel(vo.getSatuan(), new SatuanIndikator());
|
||||
PenilaianKinerjaDetail penilaianDetail = penilaianDetailConverter.transferVOToModel(vo,
|
||||
new PenilaianKinerjaDetail());
|
||||
penilaianDetail.setPenilaianKinerja(penilaian);
|
||||
penilaianDetail.setIndikatorKinerja(indikator);
|
||||
penilaianDetail.setSatuan(satuan);
|
||||
penilaianDetail.setStatusEnabled(Boolean.TRUE);
|
||||
penilaianDetail.setKdProfile((short) 0);
|
||||
PenilaianKinerjaDetail resultModel = penilaianKinerjaDetailDao.save(penilaianDetail);
|
||||
PenilaianKinerjaDetailVO resultVO = new PenilaianKinerjaDetailVO();
|
||||
resultVO = penilaianDetailConverter.transferModelToVO(resultModel, resultVO);
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PenilaianKinerjaDetailVO update(PenilaianKinerjaDetailVO vo) throws JpaSystemException, ServiceVOException {
|
||||
PenilaianKinerjaDetail penilaianDetailLama = penilaianKinerjaDetailDao.findOne(vo.getNoRec());
|
||||
PenilaianKinerja penilaian = penilaianConverter.transferVOToModel(vo.getPenilaianKinerja(),
|
||||
new PenilaianKinerja());
|
||||
IndikatorKinerja indikator = indikatorConverter.transferVOToModel(vo.getIndikatorKinerja(),
|
||||
new IndikatorKinerja());
|
||||
SatuanIndikator satuan = satuanConverter.transferVOToModel(vo.getSatuan(), new SatuanIndikator());
|
||||
PenilaianKinerjaDetail penilaianDetailBaru = penilaianDetailConverter.transferVOToModel(vo,
|
||||
penilaianDetailLama);
|
||||
penilaianDetailBaru.setPenilaianKinerja(penilaian);
|
||||
penilaianDetailBaru.setIndikatorKinerja(indikator);
|
||||
penilaianDetailBaru.setSatuan(satuan);
|
||||
PenilaianKinerjaDetail resultModel = penilaianKinerjaDetailDao.save(penilaianDetailBaru);
|
||||
PenilaianKinerjaDetailVO resultVO = new PenilaianKinerjaDetailVO();
|
||||
resultVO = penilaianDetailConverter.transferModelToVO(resultModel, resultVO);
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean delete(String key) throws JpaSystemException {
|
||||
penilaianKinerjaDetailDao.delete(key);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PenilaianKinerjaDetailVO findById(String key) throws JpaSystemException {
|
||||
PenilaianKinerjaDetailVO result = new PenilaianKinerjaDetailVO();
|
||||
|
||||
PenilaianKinerjaDetail penilaianDetail = penilaianKinerjaDetailDao.findOne(key);
|
||||
if (CommonUtil.isNotNullOrEmpty(penilaianDetail)) {
|
||||
result = penilaianDetailConverter.transferModelToVO(penilaianDetail, result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PenilaianKinerjaDetailVO> findAll() throws JpaSystemException {
|
||||
List<PenilaianKinerjaDetailVO> result = new ArrayList<PenilaianKinerjaDetailVO>();
|
||||
|
||||
Iterable<PenilaianKinerjaDetail> models = penilaianKinerjaDetailDao.findAll();
|
||||
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||
for (PenilaianKinerjaDetail model : models) {
|
||||
PenilaianKinerjaDetailVO vo = new PenilaianKinerjaDetailVO();
|
||||
vo = penilaianDetailConverter.transferModelToVO(model, vo);
|
||||
result.add(vo);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
|
||||
String sort, String dir) {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,150 @@
|
||||
package com.jasamedika.medifirst2000.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
|
||||
import com.jasamedika.medifirst2000.dao.PenilaianKinerjaDao;
|
||||
import com.jasamedika.medifirst2000.dao.PenilaianKinerjaDetailDao;
|
||||
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
|
||||
import com.jasamedika.medifirst2000.entities.Jabatan;
|
||||
import com.jasamedika.medifirst2000.entities.Pegawai;
|
||||
import com.jasamedika.medifirst2000.entities.PenilaianKinerja;
|
||||
import com.jasamedika.medifirst2000.entities.PenilaianKinerjaDetail;
|
||||
import com.jasamedika.medifirst2000.entities.SatuanIndikator;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.PenilaianKinerjaService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
|
||||
import com.jasamedika.medifirst2000.vo.JabatanVO;
|
||||
import com.jasamedika.medifirst2000.vo.PegawaiVO;
|
||||
import com.jasamedika.medifirst2000.vo.PenilaianKinerjaDetailVO;
|
||||
import com.jasamedika.medifirst2000.vo.PenilaianKinerjaVO;
|
||||
import com.jasamedika.medifirst2000.vo.SatuanIndikatorVO;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
@Service("penilaianKinerjaService")
|
||||
public class PenilaianKinerjaServiceImpl extends BaseVoServiceImpl implements PenilaianKinerjaService {
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<PenilaianKinerjaVO, PenilaianKinerja> penilaianConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<PenilaianKinerjaDetailVO, PenilaianKinerjaDetail> penilaianDetailConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<PegawaiVO, Pegawai> pegawaiConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<JabatanVO, Jabatan> jabatanConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<IndikatorKinerjaVO, IndikatorKinerja> indikatorConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseConverterImpl<SatuanIndikatorVO, SatuanIndikator> satuanConverter;
|
||||
|
||||
@Autowired
|
||||
private PenilaianKinerjaDao penilaianKinerjaDao;
|
||||
|
||||
@Autowired
|
||||
private PenilaianKinerjaDetailDao penilaianKinerjaDetailDao;
|
||||
|
||||
@Autowired
|
||||
private MapPegawaiJabatanToUnitKerjaDao mappingJabatanDao;
|
||||
|
||||
@Override
|
||||
public PenilaianKinerjaVO add(PenilaianKinerjaVO vo) throws JpaSystemException, ServiceVOException {
|
||||
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
|
||||
Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan());
|
||||
PenilaianKinerja penilaianKinerja = penilaianConverter.transferVOToModel(vo, new PenilaianKinerja());
|
||||
penilaianKinerja.setPegawai(pegawai);
|
||||
penilaianKinerja.setJabatan(jabatan);
|
||||
Optional<Double> nilaiJabatan = mappingJabatanDao.findByPegawaiAndJabatan(vo.getPegawai().getId(),
|
||||
vo.getJabatan().getId());
|
||||
if (CommonUtil.isNotNullOrEmpty(nilaiJabatan) && nilaiJabatan.isPresent()) {
|
||||
penilaianKinerja.setNilaiJabatan(nilaiJabatan.get());
|
||||
}
|
||||
penilaianKinerja.setStatusEnabled(Boolean.TRUE);
|
||||
penilaianKinerja.setKdProfile((short) 0);
|
||||
PenilaianKinerja resultModel = penilaianKinerjaDao.save(penilaianKinerja);
|
||||
if (CommonUtil.isNotNullOrEmpty(resultModel)) {
|
||||
for (PenilaianKinerjaDetailVO detailVO : vo.getDetail()) {
|
||||
IndikatorKinerja indikator = indikatorConverter.transferVOToModel(detailVO.getIndikatorKinerja(),
|
||||
new IndikatorKinerja());
|
||||
SatuanIndikator satuan = satuanConverter.transferVOToModel(detailVO.getSatuan(), new SatuanIndikator());
|
||||
PenilaianKinerjaDetail detail = penilaianDetailConverter.transferVOToModel(detailVO,
|
||||
new PenilaianKinerjaDetail());
|
||||
detail.setIndikatorKinerja(indikator);
|
||||
detail.setSatuan(satuan);
|
||||
detail.setPenilaianKinerja(resultModel);
|
||||
penilaianKinerjaDetailDao.save(detail);
|
||||
}
|
||||
}
|
||||
PenilaianKinerjaVO resultVO = new PenilaianKinerjaVO();
|
||||
resultVO = penilaianConverter.transferModelToVO(resultModel, resultVO);
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PenilaianKinerjaVO update(PenilaianKinerjaVO vo) throws JpaSystemException, ServiceVOException {
|
||||
PenilaianKinerja penilaianKinerjaLama = penilaianKinerjaDao.findOne(vo.getNoRec());
|
||||
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
|
||||
Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan());
|
||||
PenilaianKinerja penilaianKinerjaBaru = penilaianConverter.transferVOToModel(vo, penilaianKinerjaLama);
|
||||
penilaianKinerjaBaru.setPegawai(pegawai);
|
||||
penilaianKinerjaBaru.setJabatan(jabatan);
|
||||
PenilaianKinerja resultModel = penilaianKinerjaDao.save(penilaianKinerjaBaru);
|
||||
PenilaianKinerjaVO resultVO = new PenilaianKinerjaVO();
|
||||
resultVO = penilaianConverter.transferModelToVO(resultModel, resultVO);
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean delete(String key) throws JpaSystemException {
|
||||
penilaianKinerjaDao.delete(key);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PenilaianKinerjaVO findById(String key) throws JpaSystemException {
|
||||
PenilaianKinerjaVO result = new PenilaianKinerjaVO();
|
||||
PenilaianKinerja penilaianKinerja = penilaianKinerjaDao.findOne(key);
|
||||
if (CommonUtil.isNotNullOrEmpty(penilaianKinerja)) {
|
||||
result = penilaianConverter.transferModelToVO(penilaianKinerja, result);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PenilaianKinerjaVO> findAll() throws JpaSystemException {
|
||||
List<PenilaianKinerjaVO> result = new ArrayList<>();
|
||||
Iterable<PenilaianKinerja> models = penilaianKinerjaDao.findAll();
|
||||
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||
for (PenilaianKinerja model : models) {
|
||||
PenilaianKinerjaVO vo = new PenilaianKinerjaVO();
|
||||
vo = penilaianConverter.transferModelToVO(model, vo);
|
||||
result.add(vo);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
|
||||
String sort, String dir) {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,158 @@
|
||||
package com.jasamedika.medifirst2000.entities;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
import javax.persistence.Temporal;
|
||||
import javax.persistence.TemporalType;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import org.hibernate.validator.constraints.NotEmpty;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.BaseTransaction;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "sdm_penilaiankinerja_t")
|
||||
public class PenilaianKinerja extends BaseTransaction {
|
||||
|
||||
private static final long serialVersionUID = 2241575067715329583L;
|
||||
|
||||
@Caption("Bulan")
|
||||
@NotNull(message = "Bulan wajib diisi")
|
||||
@Column(name = "bulan", nullable = false)
|
||||
@Temporal(TemporalType.DATE)
|
||||
private Date bulan;
|
||||
|
||||
@Caption("Pegawai")
|
||||
@NotNull(message = "Pegawai wajib diisi")
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "pegawaifk")
|
||||
private Pegawai pegawai;
|
||||
|
||||
@Column(name = "pegawaifk", insertable = false, updatable = false, nullable = false)
|
||||
private Integer pegawaiId;
|
||||
|
||||
@Caption("Jabatan")
|
||||
@NotNull(message = "Jabatan wajib diisi")
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "jabatanfk")
|
||||
private Jabatan jabatan;
|
||||
|
||||
@Column(name = "jabatanfk", insertable = false, updatable = false, nullable = false)
|
||||
private Integer jabatanId;
|
||||
|
||||
@Caption(value = "Nilai Jabatan")
|
||||
@Column(name = "nilaijabatan")
|
||||
private Double nilaiJabatan;
|
||||
|
||||
@Caption(value = "IKI")
|
||||
@NotNull(message = "IKI wajib diisi")
|
||||
@Column(name = "iki", nullable = false)
|
||||
private Double iki;
|
||||
|
||||
@Caption(value = "Bobot")
|
||||
@NotNull(message = "Bobot wajib diisi")
|
||||
@Column(name = "bobot", nullable = false)
|
||||
private Double bobot;
|
||||
|
||||
@Caption(value = "Hasil")
|
||||
@NotNull(message = "Hasil wajib diisi")
|
||||
@Column(name = "hasil", nullable = false)
|
||||
private Double hasil;
|
||||
|
||||
@Caption(value = "Kriteria")
|
||||
@NotEmpty(message = "Kriteria wajib diisi")
|
||||
@Column(name = "kriteria", nullable = false)
|
||||
private String kriteria;
|
||||
|
||||
public Date getBulan() {
|
||||
return bulan;
|
||||
}
|
||||
|
||||
public void setBulan(Date bulan) {
|
||||
this.bulan = bulan;
|
||||
}
|
||||
|
||||
public Pegawai getPegawai() {
|
||||
return pegawai;
|
||||
}
|
||||
|
||||
public void setPegawai(Pegawai pegawai) {
|
||||
this.pegawai = pegawai;
|
||||
}
|
||||
|
||||
public Integer getPegawaiId() {
|
||||
return pegawaiId;
|
||||
}
|
||||
|
||||
public void setPegawaiId(Integer pegawaiId) {
|
||||
this.pegawaiId = pegawaiId;
|
||||
}
|
||||
|
||||
public Jabatan getJabatan() {
|
||||
return jabatan;
|
||||
}
|
||||
|
||||
public void setJabatan(Jabatan jabatan) {
|
||||
this.jabatan = jabatan;
|
||||
}
|
||||
|
||||
public Integer getJabatanId() {
|
||||
return jabatanId;
|
||||
}
|
||||
|
||||
public void setJabatanId(Integer jabatanId) {
|
||||
this.jabatanId = jabatanId;
|
||||
}
|
||||
|
||||
public Double getNilaiJabatan() {
|
||||
return nilaiJabatan;
|
||||
}
|
||||
|
||||
public void setNilaiJabatan(Double nilaiJabatan) {
|
||||
this.nilaiJabatan = nilaiJabatan;
|
||||
}
|
||||
|
||||
public Double getIki() {
|
||||
return iki;
|
||||
}
|
||||
|
||||
public void setIki(Double iki) {
|
||||
this.iki = iki;
|
||||
}
|
||||
|
||||
public Double getBobot() {
|
||||
return bobot;
|
||||
}
|
||||
|
||||
public void setBobot(Double bobot) {
|
||||
this.bobot = bobot;
|
||||
}
|
||||
|
||||
public Double getHasil() {
|
||||
return hasil;
|
||||
}
|
||||
|
||||
public void setHasil(Double hasil) {
|
||||
this.hasil = hasil;
|
||||
}
|
||||
|
||||
public String getKriteria() {
|
||||
return kriteria;
|
||||
}
|
||||
|
||||
public void setKriteria(String kriteria) {
|
||||
this.kriteria = kriteria;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,177 @@
|
||||
package com.jasamedika.medifirst2000.entities;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.JoinColumn;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.Table;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.BaseTransaction;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "sdm_penilaiankinerjadetail_t")
|
||||
public class PenilaianKinerjaDetail extends BaseTransaction {
|
||||
|
||||
private static final long serialVersionUID = 3594531795669754275L;
|
||||
|
||||
@Caption("Penilaian Kinerja")
|
||||
@NotNull(message = "Penilaian kinerja wajib diisi")
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "penilaiankinerjafk")
|
||||
private PenilaianKinerja penilaianKinerja;
|
||||
|
||||
@Column(name = "penilaiankinerjafk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false)
|
||||
private String penilaianKinerjaId;
|
||||
|
||||
@Caption("Jenis Indikator")
|
||||
@NotNull(message = "Jenis indikator wajib diisi")
|
||||
@Column(name = "jenisindikatorid", nullable = false)
|
||||
private Short jenisIndikatorId;
|
||||
|
||||
@Caption("Indikator Kinerja")
|
||||
@NotNull(message = "Indikator kinerja wajib diisi")
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "indikatorkinerjafk")
|
||||
private IndikatorKinerja indikatorKinerja;
|
||||
|
||||
@Column(name = "indikatorkinerjafk", insertable = false, updatable = false, nullable = false)
|
||||
private Integer indikatorKinerjaId;
|
||||
|
||||
@Caption("Bobot")
|
||||
@NotNull(message = "Bobot wajib diisi")
|
||||
@Column(name = "bobot", nullable = false)
|
||||
private Integer bobot;
|
||||
|
||||
@Caption("Target")
|
||||
@NotNull(message = "Target wajib diisi")
|
||||
@Column(name = "target", nullable = false)
|
||||
private Double target;
|
||||
|
||||
@Caption("Realisasi")
|
||||
@NotNull(message = "Realisasi wajib diisi")
|
||||
@Column(name = "realisasi", nullable = false)
|
||||
private Double realisasi;
|
||||
|
||||
@Caption("Satuan")
|
||||
@NotNull(message = "Satuan wajib diisi")
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "satuanfk")
|
||||
private SatuanIndikator satuan;
|
||||
|
||||
@Column(name = "satuanfk", insertable = false, updatable = false, nullable = false)
|
||||
private Integer satuanId;
|
||||
|
||||
@Caption("Nilai")
|
||||
@NotNull(message = "Nilai wajib diisi")
|
||||
@Column(name = "nilai", nullable = false)
|
||||
private Double nilai;
|
||||
|
||||
@Caption("Hasil")
|
||||
@NotNull(message = "Hasil wajib diisi")
|
||||
@Column(name = "hasil", nullable = false)
|
||||
private Double hasil;
|
||||
|
||||
public PenilaianKinerja getPenilaianKinerja() {
|
||||
return penilaianKinerja;
|
||||
}
|
||||
|
||||
public void setPenilaianKinerja(PenilaianKinerja penilaianKinerja) {
|
||||
this.penilaianKinerja = penilaianKinerja;
|
||||
}
|
||||
|
||||
public String getPenilaianKinerjaId() {
|
||||
return penilaianKinerjaId;
|
||||
}
|
||||
|
||||
public void setPenilaianKinerjaId(String penilaianKinerjaId) {
|
||||
this.penilaianKinerjaId = penilaianKinerjaId;
|
||||
}
|
||||
|
||||
public Short getJenisIndikatorId() {
|
||||
return jenisIndikatorId;
|
||||
}
|
||||
|
||||
public void setJenisIndikatorId(Short jenisIndikatorId) {
|
||||
this.jenisIndikatorId = jenisIndikatorId;
|
||||
}
|
||||
|
||||
public IndikatorKinerja getIndikatorKinerja() {
|
||||
return indikatorKinerja;
|
||||
}
|
||||
|
||||
public void setIndikatorKinerja(IndikatorKinerja indikatorKinerja) {
|
||||
this.indikatorKinerja = indikatorKinerja;
|
||||
}
|
||||
|
||||
public Integer getIndikatorKinerjaId() {
|
||||
return indikatorKinerjaId;
|
||||
}
|
||||
|
||||
public void setIndikatorKinerjaId(Integer indikatorKinerjaId) {
|
||||
this.indikatorKinerjaId = indikatorKinerjaId;
|
||||
}
|
||||
|
||||
public Integer getBobot() {
|
||||
return bobot;
|
||||
}
|
||||
|
||||
public void setBobot(Integer bobot) {
|
||||
this.bobot = bobot;
|
||||
}
|
||||
|
||||
public Double getTarget() {
|
||||
return target;
|
||||
}
|
||||
|
||||
public void setTarget(Double target) {
|
||||
this.target = target;
|
||||
}
|
||||
|
||||
public Double getRealisasi() {
|
||||
return realisasi;
|
||||
}
|
||||
|
||||
public void setRealisasi(Double realisasi) {
|
||||
this.realisasi = realisasi;
|
||||
}
|
||||
|
||||
public SatuanIndikator getSatuan() {
|
||||
return satuan;
|
||||
}
|
||||
|
||||
public void setSatuan(SatuanIndikator satuan) {
|
||||
this.satuan = satuan;
|
||||
}
|
||||
|
||||
public Integer getSatuanId() {
|
||||
return satuanId;
|
||||
}
|
||||
|
||||
public void setSatuanId(Integer satuanId) {
|
||||
this.satuanId = satuanId;
|
||||
}
|
||||
|
||||
public Double getNilai() {
|
||||
return nilai;
|
||||
}
|
||||
|
||||
public void setNilai(Double nilai) {
|
||||
this.nilai = nilai;
|
||||
}
|
||||
|
||||
public Double getHasil() {
|
||||
return hasil;
|
||||
}
|
||||
|
||||
public void setHasil(Double hasil) {
|
||||
this.hasil = hasil;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,155 @@
|
||||
package com.jasamedika.medifirst2000.vo;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
public class PenilaianKinerjaDetailVO extends BaseTransactionVO {
|
||||
|
||||
private static final long serialVersionUID = 719673316750341385L;
|
||||
|
||||
@Caption("Penilaian Kinerja")
|
||||
@NotNull(message = "Penilaian kinerja wajib diisi")
|
||||
private PenilaianKinerjaVO penilaianKinerja;
|
||||
|
||||
private String penilaianKinerjaId;
|
||||
|
||||
@Caption("Jenis Indikator")
|
||||
@NotNull(message = "Jenis indikator wajib diisi")
|
||||
private Short jenisIndikatorId;
|
||||
|
||||
@Caption("Indikator Kinerja")
|
||||
@NotNull(message = "Indikator kinerja wajib diisi")
|
||||
private IndikatorKinerjaVO indikatorKinerja;
|
||||
|
||||
private Integer indikatorKinerjaId;
|
||||
|
||||
@Caption("Bobot")
|
||||
@NotNull(message = "Bobot wajib diisi")
|
||||
private Integer bobot;
|
||||
|
||||
@Caption("Target")
|
||||
@NotNull(message = "Target wajib diisi")
|
||||
private Double target;
|
||||
|
||||
@Caption("Realisasi")
|
||||
@NotNull(message = "Realisasi wajib diisi")
|
||||
private Double realisasi;
|
||||
|
||||
@Caption("Satuan")
|
||||
@NotNull(message = "Satuan wajib diisi")
|
||||
private SatuanIndikatorVO satuan;
|
||||
|
||||
private Integer satuanId;
|
||||
|
||||
@Caption("Nilai")
|
||||
@NotNull(message = "Nilai wajib diisi")
|
||||
private Double nilai;
|
||||
|
||||
@Caption("Hasil")
|
||||
@NotNull(message = "Hasil wajib diisi")
|
||||
private Double hasil;
|
||||
|
||||
public PenilaianKinerjaVO getPenilaianKinerja() {
|
||||
return penilaianKinerja;
|
||||
}
|
||||
|
||||
public void setPenilaianKinerja(PenilaianKinerjaVO penilaianKinerja) {
|
||||
this.penilaianKinerja = penilaianKinerja;
|
||||
}
|
||||
|
||||
public String getPenilaianKinerjaId() {
|
||||
return penilaianKinerjaId;
|
||||
}
|
||||
|
||||
public void setPenilaianKinerjaId(String penilaianKinerjaId) {
|
||||
this.penilaianKinerjaId = penilaianKinerjaId;
|
||||
}
|
||||
|
||||
public Short getJenisIndikatorId() {
|
||||
return jenisIndikatorId;
|
||||
}
|
||||
|
||||
public void setJenisIndikatorId(Short jenisIndikatorId) {
|
||||
this.jenisIndikatorId = jenisIndikatorId;
|
||||
}
|
||||
|
||||
public IndikatorKinerjaVO getIndikatorKinerja() {
|
||||
return indikatorKinerja;
|
||||
}
|
||||
|
||||
public void setIndikatorKinerja(IndikatorKinerjaVO indikatorKinerja) {
|
||||
this.indikatorKinerja = indikatorKinerja;
|
||||
}
|
||||
|
||||
public Integer getIndikatorKinerjaId() {
|
||||
return indikatorKinerjaId;
|
||||
}
|
||||
|
||||
public void setIndikatorKinerjaId(Integer indikatorKinerjaId) {
|
||||
this.indikatorKinerjaId = indikatorKinerjaId;
|
||||
}
|
||||
|
||||
public Integer getBobot() {
|
||||
return bobot;
|
||||
}
|
||||
|
||||
public void setBobot(Integer bobot) {
|
||||
this.bobot = bobot;
|
||||
}
|
||||
|
||||
public Double getTarget() {
|
||||
return target;
|
||||
}
|
||||
|
||||
public void setTarget(Double target) {
|
||||
this.target = target;
|
||||
}
|
||||
|
||||
public Double getRealisasi() {
|
||||
return realisasi;
|
||||
}
|
||||
|
||||
public void setRealisasi(Double realisasi) {
|
||||
this.realisasi = realisasi;
|
||||
}
|
||||
|
||||
public SatuanIndikatorVO getSatuan() {
|
||||
return satuan;
|
||||
}
|
||||
|
||||
public void setSatuan(SatuanIndikatorVO satuan) {
|
||||
this.satuan = satuan;
|
||||
}
|
||||
|
||||
public Integer getSatuanId() {
|
||||
return satuanId;
|
||||
}
|
||||
|
||||
public void setSatuanId(Integer satuanId) {
|
||||
this.satuanId = satuanId;
|
||||
}
|
||||
|
||||
public Double getNilai() {
|
||||
return nilai;
|
||||
}
|
||||
|
||||
public void setNilai(Double nilai) {
|
||||
this.nilai = nilai;
|
||||
}
|
||||
|
||||
public Double getHasil() {
|
||||
return hasil;
|
||||
}
|
||||
|
||||
public void setHasil(Double hasil) {
|
||||
this.hasil = hasil;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,150 @@
|
||||
package com.jasamedika.medifirst2000.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import org.hibernate.validator.constraints.NotEmpty;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since Jul 6, 2022
|
||||
*
|
||||
*/
|
||||
public class PenilaianKinerjaVO extends BaseTransactionVO {
|
||||
|
||||
private static final long serialVersionUID = -2885864808873627462L;
|
||||
|
||||
@Caption("Bulan")
|
||||
@NotNull(message = "Bulan wajib diisi")
|
||||
private Date bulan;
|
||||
|
||||
@Caption("Pegawai")
|
||||
@NotNull(message = "Pegawai wajib diisi")
|
||||
private PegawaiVO pegawai;
|
||||
|
||||
private Integer pegawaiId;
|
||||
|
||||
@Caption("Jabatan")
|
||||
@NotNull(message = "Jabatan wajib diisi")
|
||||
private JabatanVO jabatan;
|
||||
|
||||
private Integer jabatanId;
|
||||
|
||||
@Caption(value = "Nilai Jabatan")
|
||||
private Double nilaiJabatan;
|
||||
|
||||
@Caption(value = "IKI")
|
||||
@NotNull(message = "IKI wajib diisi")
|
||||
private Double iki;
|
||||
|
||||
@Caption(value = "Bobot")
|
||||
@NotNull(message = "Bobot wajib diisi")
|
||||
private Double bobot;
|
||||
|
||||
@Caption(value = "Hasil")
|
||||
@NotNull(message = "Hasil wajib diisi")
|
||||
private Double hasil;
|
||||
|
||||
@Caption(value = "Kriteria")
|
||||
@NotEmpty(message = "Kriteria wajib diisi")
|
||||
private String kriteria;
|
||||
|
||||
@JsonBackReference
|
||||
private Set<PenilaianKinerjaDetailVO> detail = new HashSet<PenilaianKinerjaDetailVO>();
|
||||
|
||||
public Date getBulan() {
|
||||
return bulan;
|
||||
}
|
||||
|
||||
public void setBulan(Date bulan) {
|
||||
this.bulan = bulan;
|
||||
}
|
||||
|
||||
public PegawaiVO getPegawai() {
|
||||
return pegawai;
|
||||
}
|
||||
|
||||
public void setPegawai(PegawaiVO pegawai) {
|
||||
this.pegawai = pegawai;
|
||||
}
|
||||
|
||||
public Integer getPegawaiId() {
|
||||
return pegawaiId;
|
||||
}
|
||||
|
||||
public void setPegawaiId(Integer pegawaiId) {
|
||||
this.pegawaiId = pegawaiId;
|
||||
}
|
||||
|
||||
public JabatanVO getJabatan() {
|
||||
return jabatan;
|
||||
}
|
||||
|
||||
public void setJabatan(JabatanVO jabatan) {
|
||||
this.jabatan = jabatan;
|
||||
}
|
||||
|
||||
public Integer getJabatanId() {
|
||||
return jabatanId;
|
||||
}
|
||||
|
||||
public void setJabatanId(Integer jabatanId) {
|
||||
this.jabatanId = jabatanId;
|
||||
}
|
||||
|
||||
public Double getNilaiJabatan() {
|
||||
return nilaiJabatan;
|
||||
}
|
||||
|
||||
public void setNilaiJabatan(Double nilaiJabatan) {
|
||||
this.nilaiJabatan = nilaiJabatan;
|
||||
}
|
||||
|
||||
public Double getIki() {
|
||||
return iki;
|
||||
}
|
||||
|
||||
public void setIki(Double iki) {
|
||||
this.iki = iki;
|
||||
}
|
||||
|
||||
public Double getBobot() {
|
||||
return bobot;
|
||||
}
|
||||
|
||||
public void setBobot(Double bobot) {
|
||||
this.bobot = bobot;
|
||||
}
|
||||
|
||||
public Double getHasil() {
|
||||
return hasil;
|
||||
}
|
||||
|
||||
public void setHasil(Double hasil) {
|
||||
this.hasil = hasil;
|
||||
}
|
||||
|
||||
public String getKriteria() {
|
||||
return kriteria;
|
||||
}
|
||||
|
||||
public void setKriteria(String kriteria) {
|
||||
this.kriteria = kriteria;
|
||||
}
|
||||
|
||||
public Set<PenilaianKinerjaDetailVO> getDetail() {
|
||||
return detail;
|
||||
}
|
||||
|
||||
public void setDetail(Set<PenilaianKinerjaDetailVO> detail) {
|
||||
this.detail = detail;
|
||||
}
|
||||
|
||||
}
|
||||
@ -706,5 +706,7 @@
|
||||
<mapping class="com.jasamedika.medifirst2000.entities.ProdukFarmakologi"/>
|
||||
<mapping class="com.jasamedika.medifirst2000.entities.SkoringTindakanFarmakologi"/>
|
||||
<mapping class="com.jasamedika.medifirst2000.entities.PelayananFarmakologi"/>
|
||||
<mapping class="com.jasamedika.medifirst2000.entities.PenilaianKinerja"/>
|
||||
<mapping class="com.jasamedika.medifirst2000.entities.PenilaianKinerjaDetail"/>
|
||||
</session-factory>
|
||||
</hibernate-configuration>
|
||||
|
||||
@ -42,6 +42,7 @@ import com.jasamedika.medifirst2000.service.PelayananFarmakologiService;
|
||||
import com.jasamedika.medifirst2000.service.PelayananNakesService;
|
||||
import com.jasamedika.medifirst2000.service.PelayananPasienNakesService;
|
||||
import com.jasamedika.medifirst2000.service.PelayananPasienPerawatService;
|
||||
import com.jasamedika.medifirst2000.service.PenilaianKinerjaService;
|
||||
import com.jasamedika.medifirst2000.service.ProdukFarmakologiService;
|
||||
import com.jasamedika.medifirst2000.service.ProdukNakesService;
|
||||
import com.jasamedika.medifirst2000.service.ProdukPerawatService;
|
||||
@ -69,6 +70,7 @@ import com.jasamedika.medifirst2000.vo.PelayananFarmakologiVO;
|
||||
import com.jasamedika.medifirst2000.vo.PelayananNakesVO;
|
||||
import com.jasamedika.medifirst2000.vo.PelayananPasienNakesVO;
|
||||
import com.jasamedika.medifirst2000.vo.PelayananPasienPerawatVO;
|
||||
import com.jasamedika.medifirst2000.vo.PenilaianKinerjaVO;
|
||||
import com.jasamedika.medifirst2000.vo.ProdukFarmakologiVO;
|
||||
import com.jasamedika.medifirst2000.vo.ProdukNakesVO;
|
||||
import com.jasamedika.medifirst2000.vo.ProdukPerawatVO;
|
||||
@ -169,6 +171,9 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
@Autowired
|
||||
private PelayananFarmakologiService pelayananFarmakologiService;
|
||||
|
||||
@Autowired
|
||||
private PenilaianKinerjaService penilaianKinerjaService;
|
||||
|
||||
@RequestMapping(value = "/get-load-data", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<Map<String, Object>> getLoadData(HttpServletRequest request) {
|
||||
try {
|
||||
@ -2676,4 +2681,29 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/verify-penilaian-kinerja-individu", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<PenilaianKinerjaVO> verifyPenilaianKinerjaIndividu(HttpServletRequest request,
|
||||
@Valid @RequestBody PenilaianKinerjaVO vo) {
|
||||
try {
|
||||
PenilaianKinerjaVO result = penilaianKinerjaService.add(vo);
|
||||
if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage);
|
||||
} else {
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_ERROR,
|
||||
getMessage(MessageResource.LABEL_ERROR, request));
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.BAD_REQUEST, mapHeaderMessage);
|
||||
}
|
||||
} catch (ServiceVOException sve) {
|
||||
LOGGER.error("Got exception {} when verify penilaian kinerja individu", sve.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got exception {} when verify penilaian kinerja individu", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user