Add Mapping Jabatan - profesi
Penambahan entity, dao, dan crud services
This commit is contained in:
parent
dbea365899
commit
b046448be3
@ -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();
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user