Add Mapping Jabatan - profesi

Penambahan entity, dao, dan crud services
This commit is contained in:
Salman Manoe 2022-01-01 06:39:56 +07:00
parent dbea365899
commit b046448be3
5 changed files with 324 additions and 0 deletions

View File

@ -0,0 +1,24 @@
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.MapJabatanProfesi;
/**
* @author salmanoe
* @since Dec 31, 2021
*/
@Repository("mapProfesiJabatanDao")
public interface MapJabatanProfesiDao extends PagingAndSortingRepository<MapJabatanProfesi, Integer> {
@Query("select new Map(mjp.id as id," + "prf.id as profesiId,prf.namaProfesi as profesi,"
+ "jb.id as jabatanId,jb.namaJabatan as jabatan) " + "from MapJabatanProfesi mjp "
+ "inner join mjp.profesi prf " + "inner join mjp.jabatan jb " + "where mjp.statusEnabled is true")
List<Map<String, Object>> findMapping();
}

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.MapJabatanProfesi;
import com.jasamedika.medifirst2000.vo.MapJabatanProfesiVO;
/**
* @author salmanoe
* @since Dec 31, 2021
*/
public interface MapJabatanProfesiService extends BaseVoService<MapJabatanProfesi, MapJabatanProfesiVO, Integer> {
public List<Map<String, Object>> findMapping() throws JpaSystemException;
}

View File

@ -0,0 +1,125 @@
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.MapJabatanProfesiDao;
import com.jasamedika.medifirst2000.entities.Jabatan;
import com.jasamedika.medifirst2000.entities.MapJabatanProfesi;
import com.jasamedika.medifirst2000.entities.Profesi;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.MapJabatanProfesiService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.JabatanVO;
import com.jasamedika.medifirst2000.vo.MapJabatanProfesiVO;
import com.jasamedika.medifirst2000.vo.ProfesiVO;
/**
* @author salmanoe
* @since Dec 31, 2021
*/
@Service("mapProfesiJabatanService")
public class MapJabatanProfesiServiceImpl extends BaseVoServiceImpl implements MapJabatanProfesiService {
@Autowired
private BaseConverterImpl<MapJabatanProfesiVO, MapJabatanProfesi> mappingConverter;
@Autowired
private BaseConverterImpl<ProfesiVO, Profesi> profesiConverter;
@Autowired
private BaseConverterImpl<JabatanVO, Jabatan> jabatanConverter;
@Autowired
private MapJabatanProfesiDao mapJabatanProfesiDao;
@Override
public MapJabatanProfesiVO add(MapJabatanProfesiVO vo) throws JpaSystemException, ServiceVOException {
Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan());
Profesi profesi = profesiConverter.transferVOToModel(vo.getProfesi(), new Profesi());
MapJabatanProfesi mapJabatanProfesi = mappingConverter.transferVOToModel(vo, new MapJabatanProfesi());
mapJabatanProfesi.setJabatan(jabatan);
mapJabatanProfesi.setProfesi(profesi);
MapJabatanProfesi resultModel = mapJabatanProfesiDao.save(mapJabatanProfesi);
MapJabatanProfesiVO resultVO = new MapJabatanProfesiVO();
resultVO = mappingConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public MapJabatanProfesiVO update(MapJabatanProfesiVO vo) throws JpaSystemException, ServiceVOException {
MapJabatanProfesi mapJabatanProfesiLama = mapJabatanProfesiDao.findOne(vo.getId());
Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan());
Profesi profesi = profesiConverter.transferVOToModel(vo.getProfesi(), new Profesi());
MapJabatanProfesi mapJabatanProfesiBaru = mappingConverter.transferVOToModel(vo, mapJabatanProfesiLama);
mapJabatanProfesiBaru.setProfesi(profesi);
mapJabatanProfesiBaru.setJabatan(jabatan);
MapJabatanProfesi resultModel = mapJabatanProfesiDao.save(mapJabatanProfesiBaru);
MapJabatanProfesiVO resultVO = new MapJabatanProfesiVO();
resultVO = mappingConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public Boolean delete(Integer key) throws JpaSystemException {
mapJabatanProfesiDao.delete(key);
return true;
}
@Override
public MapJabatanProfesiVO findById(Integer key) throws JpaSystemException {
MapJabatanProfesiVO result = new MapJabatanProfesiVO();
MapJabatanProfesi mapJabatanProfesi = mapJabatanProfesiDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(mapJabatanProfesi)) {
result = mappingConverter.transferModelToVO(mapJabatanProfesi, result);
}
return result;
}
@Override
public List<MapJabatanProfesiVO> findAll() throws JpaSystemException {
List<MapJabatanProfesiVO> result = new ArrayList<MapJabatanProfesiVO>();
Iterable<MapJabatanProfesi> models = mapJabatanProfesiDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (MapJabatanProfesi model : models) {
MapJabatanProfesiVO vo = new MapJabatanProfesiVO();
vo = mappingConverter.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 List<Map<String, Object>> findMapping() throws JpaSystemException {
List<Map<String, Object>> result = mapJabatanProfesiDao.findMapping();
return result;
}
}

View File

@ -0,0 +1,92 @@
package com.jasamedika.medifirst2000.entities;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.base.BaseActive;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author salmanoe
* @since Dec 31, 2021
*/
@Entity
@Table(name = "sdm_mapjabatanprofesi_m")
public class MapJabatanProfesi extends BaseActive {
private static final long serialVersionUID = 3888545942252692215L;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "jabatanfk")
@NotNull(message = "Jabatan harus diisi")
@Caption(value = "Jabatan")
private Jabatan jabatan;
@Column(name = "jabatanfk", insertable = false, updatable = false, nullable = false)
private Integer jabatanId;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "profesifk")
@NotNull(message = "Profesi harus diisi")
@Caption(value = "Profesi")
private Profesi profesi;
@Column(name = "profesifk", insertable = false, updatable = false, nullable = false)
private Integer profesiId;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.sdm_mapjabatanprofesi_m_seq_gen")
@SequenceGenerator(name = "public.sdm_mapjabatanprofesi_m_seq_gen", sequenceName = "public.sdm_mapjabatanprofesi_m_id_seq", allocationSize = 1)
@Column(name = "id")
protected Integer id;
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 Profesi getProfesi() {
return profesi;
}
public void setProfesi(Profesi profesi) {
this.profesi = profesi;
}
public Integer getProfesiId() {
return profesiId;
}
public void setProfesiId(Integer profesiId) {
this.profesiId = profesiId;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}

View File

@ -0,0 +1,64 @@
package com.jasamedika.medifirst2000.vo;
import com.jasamedika.medifirst2000.base.vo.BaseActiveVO;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author salmanoe
* @since Dec 31, 2021
*/
public class MapJabatanProfesiVO extends BaseActiveVO {
@Caption(value = "Jabatan")
private JabatanVO jabatan;
private Integer jabatanId;
@Caption(value = "Profesi")
private ProfesiVO profesi;
private Integer profesiId;
protected Integer id;
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 ProfesiVO getProfesi() {
return profesi;
}
public void setProfesi(ProfesiVO profesi) {
this.profesi = profesi;
}
public Integer getProfesiId() {
return profesiId;
}
public void setProfesiId(Integer profesiId) {
this.profesiId = profesiId;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}