Update crud mapping paket tindakan
Perubahan struktur data
This commit is contained in:
parent
3d21fe9c86
commit
5feec28dfc
@ -16,25 +16,26 @@ public interface MapProdukPaketToProdukDao extends JpaRepository<MapProdukPaketT
|
|||||||
* id produk yang dijadikan nama paket
|
* id produk yang dijadikan nama paket
|
||||||
* @return daftar mapping antara produk paket dan paketnya sebagai produk
|
* @return daftar mapping antara produk paket dan paketnya sebagai produk
|
||||||
*/
|
*/
|
||||||
List<MapProdukPaketToProduk> findAllByProdukId(Integer paketId);
|
List<MapProdukPaketToProduk> findAllByPaketId(Integer paketId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param paketId
|
* @param paketId
|
||||||
* id produk yang dijadikan nama paket
|
* id produk yang dijadikan nama paket
|
||||||
* @param produkId
|
* @param produkPaketId
|
||||||
* id produk breakdown di dalam paket
|
* id produk breakdown di dalam paket
|
||||||
* @return daftar mapping antara produk paket dan paketnya sebagai produk
|
* @return daftar mapping antara produk paket dan paketnya sebagai produk
|
||||||
*/
|
*/
|
||||||
List<MapProdukPaketToProduk> findByProdukIdAndProdukPaketId(Integer paketId, Integer produkId);
|
List<MapProdukPaketToProduk> findByPaketIdAndProdukPaketId(Integer paketId, Integer produkPaketId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param paketId
|
* @param paketId
|
||||||
* id produk yang dijadikan nama paket
|
* id produk yang dijadikan nama paket
|
||||||
* @param produkId
|
* @param produkPaketId
|
||||||
* id produk breakdown di dalam paket
|
* id produk breakdown di dalam paket
|
||||||
* @param id
|
* @param noRec
|
||||||
* identifier mapping paket dan produk
|
* identifier mapping paket dan produk
|
||||||
* @return daftar mapping antara produk paket dan paketnya sebagai produk
|
* @return daftar mapping antara produk paket dan paketnya sebagai produk
|
||||||
*/
|
*/
|
||||||
List<MapProdukPaketToProduk> findByProdukIdAndProdukPaketIdAndNoRecNot(Integer paketId, Integer produkId, String noRec);
|
List<MapProdukPaketToProduk> findByPaketIdAndProdukPaketIdAndNoRecNot(Integer paketId, Integer produkPaketId,
|
||||||
|
String noRec);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
package com.jasamedika.medifirst2000.service;
|
package com.jasamedika.medifirst2000.service;
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.dto.MapProdukPaketToProdukVO;
|
import com.jasamedika.medifirst2000.vo.MapProdukPaketToProdukVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -28,22 +28,22 @@ public interface MapProdukPaketToProdukService {
|
|||||||
* id produk yang dijadikan nama paket
|
* id produk yang dijadikan nama paket
|
||||||
* @return daftar mapping antara produk paket dan paketnya sebagai produk
|
* @return daftar mapping antara produk paket dan paketnya sebagai produk
|
||||||
*/
|
*/
|
||||||
List<MapProdukPaketToProdukVO> getByPaket(Integer paketId);
|
List<MapProdukPaketToProdukVO> get(Integer paketId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param id
|
* @param noRec
|
||||||
* identifier mapping paket dan produk
|
* identifier mapping paket dan produk
|
||||||
* @return spesifik mapping antara produk paket dan paketnya sebagai produk
|
* @return spesifik mapping antara produk paket dan paketnya sebagai produk
|
||||||
* sesuai identifier
|
* sesuai identifier
|
||||||
*/
|
*/
|
||||||
MapProdukPaketToProdukVO get(String id);
|
MapProdukPaketToProdukVO get(String noRec);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param id
|
* @param noRec
|
||||||
* identifier mapping paket dan produk
|
* identifier mapping paket dan produk
|
||||||
* @return status data mapping sudah terhapus permanen atau belum
|
* @return status data mapping sudah terhapus permanen atau belum
|
||||||
*/
|
*/
|
||||||
boolean delete(String id);
|
boolean delete(String noRec);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param vo
|
* @param vo
|
||||||
|
|||||||
@ -2,16 +2,19 @@ package com.jasamedika.medifirst2000.service.impl;
|
|||||||
|
|
||||||
import com.jasamedika.medifirst2000.converter.base.BaseVoConverter;
|
import com.jasamedika.medifirst2000.converter.base.BaseVoConverter;
|
||||||
import com.jasamedika.medifirst2000.dao.MapProdukPaketToProdukDao;
|
import com.jasamedika.medifirst2000.dao.MapProdukPaketToProdukDao;
|
||||||
import com.jasamedika.medifirst2000.dto.MapProdukPaketToProdukVO;
|
import com.jasamedika.medifirst2000.vo.MapProdukPaketToProdukVO;
|
||||||
import com.jasamedika.medifirst2000.entities.MapProdukPaketToProduk;
|
import com.jasamedika.medifirst2000.entities.MapProdukPaketToProduk;
|
||||||
|
import com.jasamedika.medifirst2000.entities.Produk;
|
||||||
|
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||||
import com.jasamedika.medifirst2000.service.MapProdukPaketToProdukService;
|
import com.jasamedika.medifirst2000.service.MapProdukPaketToProdukService;
|
||||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||||
|
import com.jasamedika.medifirst2000.vo.ProdukVO;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Salman
|
* @author Salman
|
||||||
@ -24,40 +27,102 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
|
|||||||
@Autowired
|
@Autowired
|
||||||
private BaseVoConverter<MapProdukPaketToProdukVO, MapProdukPaketToProduk> mapProdukPaketConverter;
|
private BaseVoConverter<MapProdukPaketToProdukVO, MapProdukPaketToProduk> mapProdukPaketConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseVoConverter<ProdukVO, Produk> produkConverter;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MapProdukPaketToProdukDao mapProdukPaketToProdukDao;
|
private MapProdukPaketToProdukDao mapProdukPaketToProdukDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void save(MapProdukPaketToProdukVO vo) {
|
public void save(MapProdukPaketToProdukVO vo) {
|
||||||
MapProdukPaketToProduk model = mapProdukPaketConverter.transferVOToModel(vo, new MapProdukPaketToProduk());
|
MapProdukPaketToProduk model = new MapProdukPaketToProduk();
|
||||||
|
model = mapProdukPaketConverter.transferVOToModel(vo, model);
|
||||||
|
Produk paket = new Produk();
|
||||||
|
paket = produkConverter.transferVOToModel(vo.getPaket(), paket);
|
||||||
|
model.setPaket(paket);
|
||||||
|
Produk produkPaket = new Produk();
|
||||||
|
produkPaket = produkConverter.transferVOToModel(vo.getProdukPaket(), produkPaket);
|
||||||
|
model.setProdukPaket(produkPaket);
|
||||||
|
Produk produk = new Produk();
|
||||||
|
produk = produkConverter.transferVOToModel(vo.getProduk(), produk);
|
||||||
|
model.setProduk(produk);
|
||||||
|
model.setKdProfile((short) 0);
|
||||||
mapProdukPaketToProdukDao.save(model);
|
mapProdukPaketToProdukDao.save(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MapProdukPaketToProdukVO> get() {
|
public List<MapProdukPaketToProdukVO> get() {
|
||||||
List<MapProdukPaketToProduk> models = mapProdukPaketToProdukDao.findAll();
|
List<MapProdukPaketToProduk> models = mapProdukPaketToProdukDao.findAll();
|
||||||
return models.stream().map(m -> mapProdukPaketConverter.transferModelToVO(m, new MapProdukPaketToProdukVO()))
|
List<MapProdukPaketToProdukVO> data = new ArrayList<>();
|
||||||
.collect(Collectors.toList());
|
models.forEach(m -> {
|
||||||
|
MapProdukPaketToProdukVO vo = new MapProdukPaketToProdukVO();
|
||||||
|
vo = mapProdukPaketConverter.transferModelToVO(m, vo);
|
||||||
|
ProdukVO paketVO = new ProdukVO();
|
||||||
|
Produk paket = m.getPaket();
|
||||||
|
paketVO = produkConverter.transferModelToVO(paket, paketVO);
|
||||||
|
vo.setPaket(paketVO);
|
||||||
|
ProdukVO produkPaketVO = new ProdukVO();
|
||||||
|
Produk produkPaket = m.getProdukPaket();
|
||||||
|
produkPaketVO = produkConverter.transferModelToVO(produkPaket, produkPaketVO);
|
||||||
|
vo.setProdukPaket(produkPaketVO);
|
||||||
|
ProdukVO produkVO = new ProdukVO();
|
||||||
|
Produk produk = m.getProduk();
|
||||||
|
produkVO = produkConverter.transferModelToVO(produk, produkVO);
|
||||||
|
vo.setProduk(produkVO);
|
||||||
|
data.add(vo);
|
||||||
|
});
|
||||||
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MapProdukPaketToProdukVO> getByPaket(Integer paketId) {
|
public List<MapProdukPaketToProdukVO> get(Integer paketId) {
|
||||||
List<MapProdukPaketToProduk> models = mapProdukPaketToProdukDao.findAllByProdukId(paketId);
|
List<MapProdukPaketToProduk> models = mapProdukPaketToProdukDao.findAllByPaketId(paketId);
|
||||||
return models.stream().map(m -> mapProdukPaketConverter.transferModelToVO(m, new MapProdukPaketToProdukVO()))
|
List<MapProdukPaketToProdukVO> data = new ArrayList<>();
|
||||||
.collect(Collectors.toList());
|
models.forEach(m -> {
|
||||||
|
MapProdukPaketToProdukVO vo = new MapProdukPaketToProdukVO();
|
||||||
|
vo = mapProdukPaketConverter.transferModelToVO(m, vo);
|
||||||
|
ProdukVO paketVO = new ProdukVO();
|
||||||
|
Produk paket = m.getPaket();
|
||||||
|
paketVO = produkConverter.transferModelToVO(paket, paketVO);
|
||||||
|
vo.setPaket(paketVO);
|
||||||
|
ProdukVO produkPaketVO = new ProdukVO();
|
||||||
|
Produk produkPaket = m.getProdukPaket();
|
||||||
|
produkPaketVO = produkConverter.transferModelToVO(produkPaket, produkPaketVO);
|
||||||
|
vo.setProdukPaket(produkPaketVO);
|
||||||
|
ProdukVO produkVO = new ProdukVO();
|
||||||
|
Produk produk = m.getProduk();
|
||||||
|
produkVO = produkConverter.transferModelToVO(produk, produkVO);
|
||||||
|
vo.setProduk(produkVO);
|
||||||
|
data.add(vo);
|
||||||
|
});
|
||||||
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MapProdukPaketToProdukVO get(String id) {
|
public MapProdukPaketToProdukVO get(String noRec) {
|
||||||
MapProdukPaketToProduk model = mapProdukPaketToProdukDao.findOne(id);
|
MapProdukPaketToProduk model = mapProdukPaketToProdukDao.findOne(noRec);
|
||||||
if (CommonUtil.isNullOrEmpty(model))
|
if (CommonUtil.isNullOrEmpty(model))
|
||||||
return null;
|
return null;
|
||||||
return mapProdukPaketConverter.transferModelToVO(model, new MapProdukPaketToProdukVO());
|
MapProdukPaketToProdukVO data = new MapProdukPaketToProdukVO();
|
||||||
|
data = mapProdukPaketConverter.transferModelToVO(model, data);
|
||||||
|
ProdukVO paketVO = new ProdukVO();
|
||||||
|
Produk paket = model.getPaket();
|
||||||
|
paketVO = produkConverter.transferModelToVO(paket, paketVO);
|
||||||
|
data.setPaket(paketVO);
|
||||||
|
ProdukVO produkPaketVO = new ProdukVO();
|
||||||
|
Produk produkPaket = model.getProdukPaket();
|
||||||
|
produkPaketVO = produkConverter.transferModelToVO(produkPaket, produkPaketVO);
|
||||||
|
data.setProdukPaket(produkPaketVO);
|
||||||
|
ProdukVO produkVO = new ProdukVO();
|
||||||
|
Produk produk = model.getProduk();
|
||||||
|
produkVO = produkConverter.transferModelToVO(produk, produkVO);
|
||||||
|
data.setProduk(produkVO);
|
||||||
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean delete(String id) {
|
public boolean delete(String noRec) {
|
||||||
mapProdukPaketToProdukDao.delete(id);
|
mapProdukPaketToProdukDao.delete(noRec);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,12 +130,14 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
|
|||||||
public boolean exists(MapProdukPaketToProdukVO vo) {
|
public boolean exists(MapProdukPaketToProdukVO vo) {
|
||||||
List<MapProdukPaketToProduk> models;
|
List<MapProdukPaketToProduk> models;
|
||||||
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
|
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
|
||||||
models = mapProdukPaketToProdukDao.findByProdukIdAndProdukPaketIdAndNoRecNot(vo.getProduk().getId(),
|
models = mapProdukPaketToProdukDao.findByPaketIdAndProdukPaketIdAndNoRecNot(vo.getProduk().getId(),
|
||||||
vo.getProdukPaket().getId(), vo.getNoRec());
|
vo.getProdukPaket().getId(), vo.getNoRec());
|
||||||
} else {
|
} else {
|
||||||
models = mapProdukPaketToProdukDao.findByProdukIdAndProdukPaketId(vo.getProduk().getId(),
|
models = mapProdukPaketToProdukDao.findByPaketIdAndProdukPaketId(vo.getProduk().getId(),
|
||||||
vo.getProdukPaket().getId());
|
vo.getProdukPaket().getId());
|
||||||
}
|
}
|
||||||
return CommonUtil.isNotNullOrEmpty(models);
|
if (CommonUtil.isNotNullOrEmpty(models))
|
||||||
|
throw new ServiceVOException("Mapping sudah tersedia");
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,80 +0,0 @@
|
|||||||
package com.jasamedika.medifirst2000.dto;
|
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
|
|
||||||
import com.jasamedika.medifirst2000.vo.ProdukVO;
|
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* DTO for {@link com.jasamedika.medifirst2000.entities.MapProdukPaketToProduk}
|
|
||||||
*/
|
|
||||||
public class MapProdukPaketToProdukVO extends BaseTransactionVO {
|
|
||||||
@NotNull(message = "Produk paket tidak boleh kosong")
|
|
||||||
private ProdukVO produkPaket;
|
|
||||||
|
|
||||||
private Integer produkPaketId;
|
|
||||||
|
|
||||||
@NotNull(message = "Produk tidak boleh kosong")
|
|
||||||
private ProdukVO produk;
|
|
||||||
|
|
||||||
private Integer produkId;
|
|
||||||
|
|
||||||
public ProdukVO getProdukPaket() {
|
|
||||||
return produkPaket;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProdukPaket(ProdukVO produkPaket) {
|
|
||||||
this.produkPaket = produkPaket;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getProdukPaketId() {
|
|
||||||
return produkPaketId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProdukPaketId(Integer produkPaketId) {
|
|
||||||
this.produkPaketId = produkPaketId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ProdukVO getProduk() {
|
|
||||||
return produk;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProduk(ProdukVO produk) {
|
|
||||||
this.produk = produk;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getProdukId() {
|
|
||||||
return produkId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProdukId(Integer produkId) {
|
|
||||||
this.produkId = produkId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object o) {
|
|
||||||
if (this == o)
|
|
||||||
return true;
|
|
||||||
if (o == null || getClass() != o.getClass())
|
|
||||||
return false;
|
|
||||||
MapProdukPaketToProdukVO entity = (MapProdukPaketToProdukVO) o;
|
|
||||||
return Objects.equals(this.kdProfile, entity.kdProfile)
|
|
||||||
&& Objects.equals(this.statusEnabled, entity.statusEnabled) && Objects.equals(this.noRec, entity.noRec)
|
|
||||||
&& Objects.equals(this.produkPaket, entity.produkPaket)
|
|
||||||
&& Objects.equals(this.produkPaketId, entity.produkPaketId)
|
|
||||||
&& Objects.equals(this.produk, entity.produk) && Objects.equals(this.produkId, entity.produkId);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
return Objects.hash(kdProfile, statusEnabled, noRec, produkPaket, produkPaketId, produk, produkId);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return getClass().getSimpleName() + "(" + "kdProfile = " + kdProfile + ", " + "statusEnabled = " + statusEnabled
|
|
||||||
+ ", " + "noRec = " + noRec + ", " + "produkPaket = " + produkPaket + ", " + "produkPaketId = "
|
|
||||||
+ produkPaketId + ", " + "produk = " + produk + ", " + "produkId = " + produkId + ")";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -5,7 +5,8 @@ import com.jasamedika.medifirst2000.helper.Caption;
|
|||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.Objects;
|
|
||||||
|
import static javax.persistence.FetchType.LAZY;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Salman Manoe
|
* @author Salman Manoe
|
||||||
@ -13,11 +14,21 @@ import java.util.Objects;
|
|||||||
* @since 03 Aug 2023
|
* @since 03 Aug 2023
|
||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "mapprodukpakettoproduk_m")
|
@Table(name = "mapprodukpakettoproduk_m", uniqueConstraints = @UniqueConstraint(columnNames = { "paketfk",
|
||||||
|
"produkpaketfk", "produkfk" }))
|
||||||
public class MapProdukPaketToProduk extends BaseTransaction {
|
public class MapProdukPaketToProduk extends BaseTransaction {
|
||||||
private static final long serialVersionUID = 5665078811007370300L;
|
private static final long serialVersionUID = -9205342249670458834L;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne(fetch = LAZY)
|
||||||
|
@JoinColumn(name = "paketfk")
|
||||||
|
@NotNull(message = "Paket tidak boleh kosong")
|
||||||
|
@Caption(value = "Paket")
|
||||||
|
private Produk paket;
|
||||||
|
|
||||||
|
@Column(name = "paketfk", insertable = false, updatable = false, nullable = false)
|
||||||
|
private Integer paketId;
|
||||||
|
|
||||||
|
@ManyToOne(fetch = LAZY)
|
||||||
@JoinColumn(name = "produkpaketfk")
|
@JoinColumn(name = "produkpaketfk")
|
||||||
@NotNull(message = "Produk paket tidak boleh kosong")
|
@NotNull(message = "Produk paket tidak boleh kosong")
|
||||||
@Caption(value = "Produk paket")
|
@Caption(value = "Produk paket")
|
||||||
@ -26,7 +37,7 @@ public class MapProdukPaketToProduk extends BaseTransaction {
|
|||||||
@Column(name = "produkpaketfk", insertable = false, updatable = false, nullable = false)
|
@Column(name = "produkpaketfk", insertable = false, updatable = false, nullable = false)
|
||||||
private Integer produkPaketId;
|
private Integer produkPaketId;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne(fetch = LAZY)
|
||||||
@JoinColumn(name = "produkfk")
|
@JoinColumn(name = "produkfk")
|
||||||
@NotNull(message = "Produk tidak boleh kosong")
|
@NotNull(message = "Produk tidak boleh kosong")
|
||||||
@Caption(value = "Produk")
|
@Caption(value = "Produk")
|
||||||
@ -35,6 +46,22 @@ public class MapProdukPaketToProduk extends BaseTransaction {
|
|||||||
@Column(name = "produkfk", insertable = false, updatable = false, nullable = false)
|
@Column(name = "produkfk", insertable = false, updatable = false, nullable = false)
|
||||||
private Integer produkId;
|
private Integer produkId;
|
||||||
|
|
||||||
|
public Produk getPaket() {
|
||||||
|
return paket;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPaket(Produk paket) {
|
||||||
|
this.paket = paket;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPaketId() {
|
||||||
|
return paketId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPaketId(Integer paketId) {
|
||||||
|
this.paketId = paketId;
|
||||||
|
}
|
||||||
|
|
||||||
public Produk getProdukPaket() {
|
public Produk getProdukPaket() {
|
||||||
return produkPaket;
|
return produkPaket;
|
||||||
}
|
}
|
||||||
@ -66,32 +93,4 @@ public class MapProdukPaketToProduk extends BaseTransaction {
|
|||||||
public void setProdukId(Integer produkId) {
|
public void setProdukId(Integer produkId) {
|
||||||
this.produkId = produkId;
|
this.produkId = produkId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(Object o) {
|
|
||||||
if (this == o)
|
|
||||||
return true;
|
|
||||||
if (o == null || getClass() != o.getClass())
|
|
||||||
return false;
|
|
||||||
|
|
||||||
MapProdukPaketToProduk that = (MapProdukPaketToProduk) o;
|
|
||||||
|
|
||||||
if (!Objects.equals(produkPaket, that.produkPaket))
|
|
||||||
return false;
|
|
||||||
if (!Objects.equals(produkPaketId, that.produkPaketId))
|
|
||||||
return false;
|
|
||||||
if (!Objects.equals(produk, that.produk))
|
|
||||||
return false;
|
|
||||||
return Objects.equals(produkId, that.produkId);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
int result = produkPaket != null ? produkPaket.hashCode() : 0;
|
|
||||||
result = 31 * result + (produkPaketId != null ? produkPaketId.hashCode() : 0);
|
|
||||||
result = 31 * result + (produk != null ? produk.hashCode() : 0);
|
|
||||||
result = 31 * result + (produkId != null ? produkId.hashCode() : 0);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,76 @@
|
|||||||
|
package com.jasamedika.medifirst2000.vo;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude.Include;
|
||||||
|
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DTO for {@link com.jasamedika.medifirst2000.entities.MapProdukPaketToProduk}
|
||||||
|
*/
|
||||||
|
@JsonInclude(Include.NON_NULL)
|
||||||
|
public class MapProdukPaketToProdukVO extends BaseTransactionVO {
|
||||||
|
@NotNull(message = "Paket tidak boleh kosong")
|
||||||
|
private ProdukVO paket;
|
||||||
|
|
||||||
|
private Integer paketId;
|
||||||
|
|
||||||
|
@NotNull(message = "Produk paket tidak boleh kosong")
|
||||||
|
private ProdukVO produkPaket;
|
||||||
|
|
||||||
|
private Integer produkPaketId;
|
||||||
|
|
||||||
|
@NotNull(message = "Produk tidak boleh kosong")
|
||||||
|
private ProdukVO produk;
|
||||||
|
|
||||||
|
private Integer produkId;
|
||||||
|
|
||||||
|
public ProdukVO getPaket() {
|
||||||
|
return paket;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPaket(ProdukVO paket) {
|
||||||
|
this.paket = paket;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getPaketId() {
|
||||||
|
return paketId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPaketId(Integer paketId) {
|
||||||
|
this.paketId = paketId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdukVO getProdukPaket() {
|
||||||
|
return produkPaket;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProdukPaket(ProdukVO produkPaket) {
|
||||||
|
this.produkPaket = produkPaket;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getProdukPaketId() {
|
||||||
|
return produkPaketId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProdukPaketId(Integer produkPaketId) {
|
||||||
|
this.produkPaketId = produkPaketId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProdukVO getProduk() {
|
||||||
|
return produk;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProduk(ProdukVO produk) {
|
||||||
|
this.produk = produk;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getProdukId() {
|
||||||
|
return produkId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProdukId(Integer produkId) {
|
||||||
|
this.produkId = produkId;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,11 +1,12 @@
|
|||||||
package com.jasamedika.medifirst2000.controller;
|
package com.jasamedika.medifirst2000.controller;
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.controller.base.LocaleController;
|
import com.jasamedika.medifirst2000.controller.base.LocaleController;
|
||||||
import com.jasamedika.medifirst2000.dto.MapProdukPaketToProdukVO;
|
import com.jasamedika.medifirst2000.vo.MapProdukPaketToProdukVO;
|
||||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||||
import com.jasamedika.medifirst2000.service.MapProdukPaketToProdukService;
|
import com.jasamedika.medifirst2000.service.MapProdukPaketToProdukService;
|
||||||
import com.jasamedika.medifirst2000.util.rest.RestUtil;
|
import com.jasamedika.medifirst2000.util.rest.RestUtil;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
@ -13,10 +14,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import static org.springframework.http.HttpStatus.CREATED;
|
import static org.springframework.http.HttpStatus.*;
|
||||||
import static org.springframework.http.HttpStatus.OK;
|
|
||||||
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
|
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
|
||||||
import static org.springframework.web.bind.annotation.RequestMethod.GET;
|
import static org.springframework.web.bind.annotation.RequestMethod.GET;
|
||||||
import static org.springframework.web.bind.annotation.RequestMethod.POST;
|
import static org.springframework.web.bind.annotation.RequestMethod.POST;
|
||||||
@ -34,33 +36,47 @@ public class MapProdukPaketController extends LocaleController<MapProdukPaketToP
|
|||||||
|
|
||||||
@RequestMapping(method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
|
@RequestMapping(method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
|
||||||
public ResponseEntity<Object> save(@RequestBody @Valid MapProdukPaketToProdukVO vo) {
|
public ResponseEntity<Object> save(@RequestBody @Valid MapProdukPaketToProdukVO vo) {
|
||||||
if (mapProdukPaketToProdukService.exists(vo))
|
try {
|
||||||
throw new ServiceVOException("Mapping sudah tersedia");
|
mapProdukPaketToProdukService.save(vo);
|
||||||
mapProdukPaketToProdukService.save(vo);
|
Map<String, String> message = new HashMap<>();
|
||||||
return RestUtil.getJsonResponse(vo, CREATED, null);
|
message.put(CREATED.getReasonPhrase(), "Berhasil tersimpan");
|
||||||
|
return RestUtil.getJsonResponse(vo, CREATED, message);
|
||||||
|
} catch (ServiceVOException e) {
|
||||||
|
Map<String, String> error = new HashMap<>();
|
||||||
|
error.put("bad_request", e.getMessage());
|
||||||
|
return RestUtil.getJsonResponse(null, HttpStatus.BAD_REQUEST, error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(method = GET)
|
@RequestMapping(method = GET)
|
||||||
public ResponseEntity<Object> get() {
|
public ResponseEntity<Object> get() {
|
||||||
List<MapProdukPaketToProdukVO> data = mapProdukPaketToProdukService.get();
|
List<MapProdukPaketToProdukVO> data = mapProdukPaketToProdukService.get();
|
||||||
return RestUtil.getJsonResponse(data, OK, null);
|
Map<String, String> message = new HashMap<>();
|
||||||
|
message.put(OK.getReasonPhrase(), "Berhasil");
|
||||||
|
return RestUtil.getJsonResponse(data, OK, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/{paketId}", method = GET)
|
@RequestMapping(value = "/{paketId}", method = GET)
|
||||||
public ResponseEntity<Object> get(@PathVariable Integer paketId) {
|
public ResponseEntity<Object> get(@PathVariable Integer paketId) {
|
||||||
List<MapProdukPaketToProdukVO> data = mapProdukPaketToProdukService.getByPaket(paketId);
|
List<MapProdukPaketToProdukVO> data = mapProdukPaketToProdukService.get(paketId);
|
||||||
return RestUtil.getJsonResponse(data, OK, null);
|
Map<String, String> message = new HashMap<>();
|
||||||
|
message.put(OK.getReasonPhrase(), "Berhasil");
|
||||||
|
return RestUtil.getJsonResponse(data, OK, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/{id}", method = GET)
|
@RequestMapping(value = "/{noRec}", method = GET)
|
||||||
public ResponseEntity<Object> get(@PathVariable String id) {
|
public ResponseEntity<Object> get(@PathVariable String noRec) {
|
||||||
MapProdukPaketToProdukVO data = mapProdukPaketToProdukService.get(id);
|
MapProdukPaketToProdukVO data = mapProdukPaketToProdukService.get(noRec);
|
||||||
return RestUtil.getJsonResponse(data, OK, null);
|
Map<String, String> message = new HashMap<>();
|
||||||
|
message.put(OK.getReasonPhrase(), "Berhasil");
|
||||||
|
return RestUtil.getJsonResponse(data, OK, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/{id}", method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
|
@RequestMapping(value = "/{noRec}", method = POST, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
|
||||||
public ResponseEntity<Object> delete(@PathVariable String id) {
|
public ResponseEntity<Object> delete(@PathVariable String noRec) {
|
||||||
boolean status = mapProdukPaketToProdukService.delete(id);
|
boolean status = mapProdukPaketToProdukService.delete(noRec);
|
||||||
return RestUtil.getJsonResponse(status, OK, null);
|
Map<String, String> message = new HashMap<>();
|
||||||
|
message.put(OK.getReasonPhrase(), "Berhasil");
|
||||||
|
return RestUtil.getJsonResponse(status, OK, message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user