- penambahan tabel anggaran remunerasi

- penambahan tabel master grade remun
This commit is contained in:
salmanoe 2021-03-28 20:28:07 +07:00
parent 0eb9db8912
commit 8270552d60
10 changed files with 750 additions and 0 deletions

View File

@ -0,0 +1,22 @@
package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.AnggaranRemunerasi;
@Repository("anggaranRemunerasiDao")
public interface AnggaranRemunerasiDao extends PagingAndSortingRepository<AnggaranRemunerasi, String> {
@Query("select distinct new Map(" + "ar.anggaranRemunTahun as anggaranTahun,"
+ "ar.anggaranRemunBulan as anggaranBulan," + "ar.poinIndeksRupiah as pir,"
+ "ar.tanggalPembaharuanData as tglPembaharuanData) " + "from AnggaranRemunerasi ar "
+ "where ar.statusEnabled is true " + "and to_char(ar.tahun,'yyyy') = to_char(now(),'yyyy') "
+ "order by ar.tanggalPembaharuanData desc")
List<Map<String, Object>> findTahunIni();
}

View File

@ -0,0 +1,11 @@
package com.jasamedika.medifirst2000.dao;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.GradeRemunerasi;
@Repository("gradeRemunDao")
public interface GradeRemunDao extends PagingAndSortingRepository<GradeRemunerasi, Integer> {
}

View File

@ -0,0 +1,19 @@
package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import org.springframework.orm.jpa.JpaSystemException;
import com.jasamedika.medifirst2000.entities.AnggaranRemunerasi;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.vo.AnggaranRemunerasiVO;
public interface AnggaranRemunerasiService extends BaseVoService<AnggaranRemunerasi, AnggaranRemunerasiVO, String> {
List<String> addAll(List<AnggaranRemunerasiVO> listVO, Integer idLoginUser)
throws JpaSystemException, ServiceVOException;
Map<String, Object> findAnggaranTahunIni() throws JpaSystemException;
}

View File

@ -0,0 +1,8 @@
package com.jasamedika.medifirst2000.service;
import com.jasamedika.medifirst2000.entities.GradeRemunerasi;
import com.jasamedika.medifirst2000.vo.GradeRemunerasiVO;
public interface GradeRemunService extends BaseVoService<GradeRemunerasi, GradeRemunerasiVO, Integer> {
}

View File

@ -0,0 +1,211 @@
package com.jasamedika.medifirst2000.service.impl;
import java.util.ArrayList;
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.orm.jpa.JpaSystemException;
import org.springframework.stereotype.Service;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.AnggaranRemunerasiDao;
import com.jasamedika.medifirst2000.dao.LoggingUserDao;
import com.jasamedika.medifirst2000.entities.AnggaranRemunerasi;
import com.jasamedika.medifirst2000.entities.GradeRemunerasi;
import com.jasamedika.medifirst2000.entities.LoggingUser;
import com.jasamedika.medifirst2000.entities.LoginUser;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.AnggaranRemunerasiService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.AnggaranRemunerasiVO;
import com.jasamedika.medifirst2000.vo.GradeRemunerasiVO;
@Service("anggaranRemunerasiService")
public class AnggaranRemunerasiServiceImpl extends BaseVoServiceImpl implements AnggaranRemunerasiService {
@Autowired
private BaseConverterImpl<GradeRemunerasiVO, GradeRemunerasi> gradeConverter;
@Autowired
private BaseConverterImpl<AnggaranRemunerasiVO, AnggaranRemunerasi> anggaranRemunerasiConverter;
@Autowired
private AnggaranRemunerasiDao anggaranRemunerasiDao;
@Autowired
private LoggingUserDao loggingUserDao;
public void addLoggingUser(Integer idLoginUser, String idReferensi, String keterangan) {
LoggingUser loggingUser = new LoggingUser();
LoginUser loginUser = new LoginUser();
loggingUser.setKdProfile((short) 0);
loggingUser.setStatusEnabled(true);
loggingUser.setTanggal(new Date());
loginUser.setId(idLoginUser);
loggingUser.setLoginUser(loginUser);
loggingUser.setJenisLog("Anggaran Remunerasi");
loggingUser.setReferensiId(idReferensi);
loggingUser.setReferensi("sdm_anggaranremunerasi_t");
loggingUser.setKeterangan(keterangan);
loggingUserDao.save(loggingUser);
}
public void addAllLoggingUser(List<Map<String, Object>> listLog) {
List<LoggingUser> listLoggingUser = new ArrayList<>();
Date now = new Date();
for (Map<String, Object> mapLog : listLog) {
LoggingUser loggingUser = new LoggingUser();
LoginUser loginUser = new LoginUser();
loggingUser.setKdProfile((short) 0);
loggingUser.setStatusEnabled(true);
loggingUser.setTanggal(now);
loginUser.setId(Integer.valueOf(mapLog.get("idLoginUser").toString()));
loggingUser.setLoginUser(loginUser);
loggingUser.setJenisLog("Anggaran Remunerasi");
loggingUser.setReferensiId(mapLog.get("idReferensi").toString());
loggingUser.setReferensi("sdm_anggaranremunerasi_t");
loggingUser.setKeterangan(mapLog.get("keterangan").toString());
listLoggingUser.add(loggingUser);
}
loggingUserDao.save(listLoggingUser);
}
@Override
public AnggaranRemunerasiVO add(AnggaranRemunerasiVO vo) throws JpaSystemException, ServiceVOException {
GradeRemunerasi grade = gradeConverter.transferVOToModel(vo.getGrade(), new GradeRemunerasi());
AnggaranRemunerasi anggaranRemunerasi = anggaranRemunerasiConverter.transferVOToModel(vo,
new AnggaranRemunerasi());
anggaranRemunerasi.setGrade(grade);
anggaranRemunerasi.setTanggalPembaharuanData(new Date());
AnggaranRemunerasi resultModel = anggaranRemunerasiDao.save(anggaranRemunerasi);
addLoggingUser(vo.getLoginUserId(), resultModel.getNoRec(), "Buat data");
AnggaranRemunerasiVO resultVO = new AnggaranRemunerasiVO();
resultVO = anggaranRemunerasiConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public List<String> addAll(List<AnggaranRemunerasiVO> listVO, Integer idLoginUser)
throws JpaSystemException, ServiceVOException {
List<String> resultListVO = new ArrayList<>();
List<AnggaranRemunerasi> listAnggaranRemunerasi = new ArrayList<>();
List<Map<String, Object>> listLog = new ArrayList<>();
Date now = new Date();
for (AnggaranRemunerasiVO vo : listVO) {
GradeRemunerasi grade = gradeConverter.transferVOToModel(vo.getGrade(), new GradeRemunerasi());
AnggaranRemunerasi anggaranRemunerasi = anggaranRemunerasiConverter.transferVOToModel(vo,
new AnggaranRemunerasi());
anggaranRemunerasi.setGrade(grade);
anggaranRemunerasi.setTanggalPembaharuanData(now);
listAnggaranRemunerasi.add(anggaranRemunerasi);
}
Iterable<AnggaranRemunerasi> listResultModel = anggaranRemunerasiDao.save(listAnggaranRemunerasi);
for (AnggaranRemunerasi resultModel : listResultModel) {
Map<String, Object> mapLog = new HashMap<>();
mapLog.put("idLoginUser", idLoginUser);
mapLog.put("idReferensi", resultModel.getNoRec());
mapLog.put("keterangan", "Buat data");
listLog.add(mapLog);
AnggaranRemunerasiVO resultVO = new AnggaranRemunerasiVO();
resultVO = anggaranRemunerasiConverter.transferModelToVO(resultModel, resultVO);
resultListVO.add(resultVO.getNoRec());
}
addAllLoggingUser(listLog);
return resultListVO;
}
@Override
public AnggaranRemunerasiVO update(AnggaranRemunerasiVO vo) throws JpaSystemException, ServiceVOException {
AnggaranRemunerasi anggaranRemunerasiLama = anggaranRemunerasiDao.findOne(vo.getNoRec());
GradeRemunerasi grade = gradeConverter.transferVOToModel(vo.getGrade(), new GradeRemunerasi());
AnggaranRemunerasi anggaranRemunerasiBaru = anggaranRemunerasiConverter.transferVOToModel(vo,
anggaranRemunerasiLama);
anggaranRemunerasiBaru.setGrade(grade);
anggaranRemunerasiBaru.setTanggalPembaharuanData(new Date());
AnggaranRemunerasi resultModel = anggaranRemunerasiDao.save(anggaranRemunerasiBaru);
addLoggingUser(vo.getLoginUserId(), resultModel.getNoRec(), "Edit data");
AnggaranRemunerasiVO resultVO = new AnggaranRemunerasiVO();
resultVO = anggaranRemunerasiConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public Boolean delete(String key) throws JpaSystemException {
anggaranRemunerasiDao.delete(key);
return true;
}
@Override
public AnggaranRemunerasiVO findById(String key) throws JpaSystemException {
AnggaranRemunerasiVO result = new AnggaranRemunerasiVO();
AnggaranRemunerasi anggaranRemunerasi = anggaranRemunerasiDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(anggaranRemunerasi)) {
result = anggaranRemunerasiConverter.transferModelToVO(anggaranRemunerasi, result);
}
return result;
}
@Override
public List<AnggaranRemunerasiVO> findAll() throws JpaSystemException {
List<AnggaranRemunerasiVO> result = new ArrayList<AnggaranRemunerasiVO>();
Iterable<AnggaranRemunerasi> models = anggaranRemunerasiDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (AnggaranRemunerasi model : models) {
AnggaranRemunerasiVO vo = new AnggaranRemunerasiVO();
vo = anggaranRemunerasiConverter.transferModelToVO(model, vo);
result.add(vo);
}
}
return result;
}
@Override
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
String sort, String dir) {
return null;
}
@Override
public Map<String, Object> findAnggaranTahunIni() throws JpaSystemException {
Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> data = anggaranRemunerasiDao.findTahunIni();
if (CommonUtil.isNotNullOrEmpty(data)) {
result = data.get(0);
}
return result;
}
}

View File

@ -0,0 +1,96 @@
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.GradeRemunDao;
import com.jasamedika.medifirst2000.entities.GradeRemunerasi;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.GradeRemunService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.GradeRemunerasiVO;
@Service("gradeRemunService")
public class GradeRemunServiceImpl extends BaseVoServiceImpl implements GradeRemunService {
@Autowired
private BaseConverterImpl<GradeRemunerasiVO, GradeRemunerasi> gradeRemunConverter;
@Autowired
private GradeRemunDao gradeRemunDao;
@Override
public GradeRemunerasiVO add(GradeRemunerasiVO vo) throws JpaSystemException, ServiceVOException {
GradeRemunerasi grade = gradeRemunConverter.transferVOToModel(vo, new GradeRemunerasi());
GradeRemunerasi resultModel = gradeRemunDao.save(grade);
GradeRemunerasiVO resultVO = new GradeRemunerasiVO();
resultVO = gradeRemunConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public GradeRemunerasiVO update(GradeRemunerasiVO vo) throws JpaSystemException, ServiceVOException {
GradeRemunerasi gradeLama = gradeRemunDao.findOne(vo.getId());
GradeRemunerasi gradeBaru = gradeRemunConverter.transferVOToModel(vo, gradeLama);
GradeRemunerasi resultModel = gradeRemunDao.save(gradeBaru);
GradeRemunerasiVO resultVO = new GradeRemunerasiVO();
resultVO = gradeRemunConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public Boolean delete(Integer key) throws JpaSystemException {
gradeRemunDao.delete(key);
return true;
}
@Override
public GradeRemunerasiVO findById(Integer key) throws JpaSystemException {
GradeRemunerasiVO result = new GradeRemunerasiVO();
GradeRemunerasi grade = gradeRemunDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(grade)) {
result = gradeRemunConverter.transferModelToVO(grade, result);
}
return result;
}
@Override
public List<GradeRemunerasiVO> findAll() throws JpaSystemException {
List<GradeRemunerasiVO> result = new ArrayList<GradeRemunerasiVO>();
Iterable<GradeRemunerasi> models = gradeRemunDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (GradeRemunerasi model : models) {
GradeRemunerasiVO vo = new GradeRemunerasiVO();
vo = gradeRemunConverter.transferModelToVO(model, vo);
result.add(vo);
}
}
return result;
}
@Override
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
String sort, String dir) {
return null;
}
}

View File

@ -0,0 +1,168 @@
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 com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "sdm_anggaranremunerasi_t")
public class AnggaranRemunerasi extends BaseTransaction {
@Caption(value = "Tahun")
@Column(name = "tahun", nullable = false)
@Temporal(TemporalType.DATE)
private Date tahun;
@Column(name = "totalnilaijabatan", nullable = false)
@Caption(value = "Total Nilai Jabatan")
private Long totalNilaiJabatan;
@Column(name = "anggaranremuntahun", nullable = false)
@Caption(value = "Anggaran Remunerasi Tahunan")
private Double anggaranRemunTahun;
@Column(name = "anggaranremunbulan", nullable = false)
@Caption(value = "Anggaran Remun Bulanan")
private Double anggaranRemunBulan;
@Column(name = "poinindeksrupiah", nullable = false)
@Caption(value = "Poin Indeks Rupiah")
private Double poinIndeksRupiah;
@ManyToOne
@NotNull(message = "Grade Harus Diisi")
@JoinColumn(name = "objectgradefk", nullable = false)
@Caption(value = "Grade")
private GradeRemunerasi grade;
@Column(name = "objectgradefk", insertable = false, updatable = false)
private Integer gradeId;
@Column(name = "gajihonorarium", nullable = false)
@Caption(value = "Gaji Honorarium")
private Double gajiHonorarium;
@Column(name = "mininsentif", nullable = false)
@Caption(value = "Minimal Insentif")
private Double minInsentif;
@Column(name = "maxinsentif", nullable = false)
@Caption(value = "Maksimal Insentif")
private Double maxInsentif;
@Column(name = "maxtotalremunerasi", nullable = false)
@Caption(value = "Maksimal Total Remunerasi")
private Double maxTotalRemunerasi;
@Caption(value = "Tanggal Pembaharuan Data")
@Column(name = "tanggalpembaharuandata", nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date tanggalPembaharuanData;
public Date getTahun() {
return tahun;
}
public void setTahun(Date tahun) {
this.tahun = tahun;
}
public Long getTotalNilaiJabatan() {
return totalNilaiJabatan;
}
public void setTotalNilaiJabatan(Long totalNilaiJabatan) {
this.totalNilaiJabatan = totalNilaiJabatan;
}
public Double getAnggaranRemunTahun() {
return anggaranRemunTahun;
}
public void setAnggaranRemunTahun(Double anggaranRemunTahun) {
this.anggaranRemunTahun = anggaranRemunTahun;
}
public Double getAnggaranRemunBulan() {
return anggaranRemunBulan;
}
public void setAnggaranRemunBulan(Double anggaranRemunBulan) {
this.anggaranRemunBulan = anggaranRemunBulan;
}
public Double getPoinIndeksRupiah() {
return poinIndeksRupiah;
}
public void setPoinIndeksRupiah(Double poinIndeksRupiah) {
this.poinIndeksRupiah = poinIndeksRupiah;
}
public GradeRemunerasi getGrade() {
return grade;
}
public void setGrade(GradeRemunerasi grade) {
this.grade = grade;
}
public Integer getGradeId() {
return gradeId;
}
public void setGradeId(Integer gradeId) {
this.gradeId = gradeId;
}
public Double getGajiHonorarium() {
return gajiHonorarium;
}
public void setGajiHonorarium(Double gajiHonorarium) {
this.gajiHonorarium = gajiHonorarium;
}
public Double getMinInsentif() {
return minInsentif;
}
public void setMinInsentif(Double minInsentif) {
this.minInsentif = minInsentif;
}
public Double getMaxInsentif() {
return maxInsentif;
}
public void setMaxInsentif(Double maxInsentif) {
this.maxInsentif = maxInsentif;
}
public Double getMaxTotalRemunerasi() {
return maxTotalRemunerasi;
}
public void setMaxTotalRemunerasi(Double maxTotalRemunerasi) {
this.maxTotalRemunerasi = maxTotalRemunerasi;
}
public Date getTanggalPembaharuanData() {
return tanggalPembaharuanData;
}
public void setTanggalPembaharuanData(Date tanggalPembaharuanData) {
this.tanggalPembaharuanData = tanggalPembaharuanData;
}
}

View File

@ -0,0 +1,45 @@
package com.jasamedika.medifirst2000.entities;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "sdm_grade_m")
public class GradeRemunerasi extends BaseMaster {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.sdm_grade_m_id_seq")
@javax.persistence.SequenceGenerator(name = "public.sdm_grade_m_id_seq", sequenceName = "public.sdm_grade_m_id_seq", allocationSize = 1)
@Column(name = "id")
protected Integer id;
@NotNull(message = "Grade tidak boleh kosong")
@Column(name = "grade", nullable = false)
@Caption(value = "Grade")
private String grade;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
}

View File

@ -0,0 +1,151 @@
package com.jasamedika.medifirst2000.vo;
import java.util.Date;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;
public class AnggaranRemunerasiVO extends BaseTransactionVO {
@Caption(value = "Tahun")
private Date tahun;
@Caption(value = "Total Nilai Jabatan")
private Long totalNilaiJabatan;
@Caption(value = "Anggaran Remunerasi Tahunan")
private Double anggaranRemunTahun;
@Caption(value = "Anggaran Remunerasi Bulanan")
private Double anggaranRemunBulan;
@Caption(value = "Poin Indeks Rupiah")
private Double poinIndeksRupiah;
@Caption(value = "Grade")
private GradeRemunerasiVO grade;
private Integer gradeId;
@Caption(value = "Gaji Honorarium")
private Double gajiHonorarium;
@Caption(value = "Minimal Insentif")
private Double minInsentif;
@Caption(value = "Maksimal Insentif")
private Double maxInsentif;
@Caption(value = "Maksimal Total Remunerasi")
private Double maxTotalRemunerasi;
@Caption(value = "Tanggal Pembaharuan Data")
private Date tanggalPembaharuanData;
private Integer loginUserId;
public Date getTahun() {
return tahun;
}
public void setTahun(Date tahun) {
this.tahun = tahun;
}
public Long getTotalNilaiJabatan() {
return totalNilaiJabatan;
}
public void setTotalNilaiJabatan(Long totalNilaiJabatan) {
this.totalNilaiJabatan = totalNilaiJabatan;
}
public Double getAnggaranRemunTahun() {
return anggaranRemunTahun;
}
public void setAnggaranRemunTahun(Double anggaranRemunTahun) {
this.anggaranRemunTahun = anggaranRemunTahun;
}
public Double getAnggaranRemunBulan() {
return anggaranRemunBulan;
}
public void setAnggaranRemunBulan(Double anggaranRemunBulan) {
this.anggaranRemunBulan = anggaranRemunBulan;
}
public Double getPoinIndeksRupiah() {
return poinIndeksRupiah;
}
public void setPoinIndeksRupiah(Double poinIndeksRupiah) {
this.poinIndeksRupiah = poinIndeksRupiah;
}
public GradeRemunerasiVO getGrade() {
return grade;
}
public void setGrade(GradeRemunerasiVO grade) {
this.grade = grade;
}
public Integer getGradeId() {
return gradeId;
}
public void setGradeId(Integer gradeId) {
this.gradeId = gradeId;
}
public Double getGajiHonorarium() {
return gajiHonorarium;
}
public void setGajiHonorarium(Double gajiHonorarium) {
this.gajiHonorarium = gajiHonorarium;
}
public Double getMinInsentif() {
return minInsentif;
}
public void setMinInsentif(Double minInsentif) {
this.minInsentif = minInsentif;
}
public Double getMaxInsentif() {
return maxInsentif;
}
public void setMaxInsentif(Double maxInsentif) {
this.maxInsentif = maxInsentif;
}
public Double getMaxTotalRemunerasi() {
return maxTotalRemunerasi;
}
public void setMaxTotalRemunerasi(Double maxTotalRemunerasi) {
this.maxTotalRemunerasi = maxTotalRemunerasi;
}
public Date getTanggalPembaharuanData() {
return tanggalPembaharuanData;
}
public void setTanggalPembaharuanData(Date tanggalPembaharuanData) {
this.tanggalPembaharuanData = tanggalPembaharuanData;
}
public Integer getLoginUserId() {
return loginUserId;
}
public void setLoginUserId(Integer loginUserId) {
this.loginUserId = loginUserId;
}
}

View File

@ -0,0 +1,19 @@
package com.jasamedika.medifirst2000.vo;
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import com.jasamedika.medifirst2000.helper.Caption;
public class GradeRemunerasiVO extends BaseMasterVO {
@Caption(value = "Grade")
private String grade;
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
}