Update service mapping tindakan
Mengganti virtual object menjadi dto produk
This commit is contained in:
parent
f8ff638bca
commit
1421ee878f
@ -399,4 +399,7 @@ public interface ProdukDao extends PagingAndSortingRepository<Produk, Integer> {
|
||||
+ "and mpr.ruanganId = :ruanganId " + "and hnp.statusEnabled is true " + "and mpr.kodeExternal = '2017' "
|
||||
+ "and hnp.kodeExternal = '2017' " + "order by prd.namaProduk")
|
||||
List<Map<String, Object>> findDaftarInputTindakanByRuangan(@Param("ruanganId") Integer idRuangan);
|
||||
|
||||
@Query("select produk from Produk produk where produk.id in (:listId)")
|
||||
List<Produk> findAllByIds(@Param("listId") List<Integer> listId);
|
||||
}
|
||||
|
||||
@ -1,20 +1,25 @@
|
||||
package com.jasamedika.medifirst2000.service.impl;
|
||||
|
||||
import com.jasamedika.medifirst2000.converter.base.BaseVoConverter;
|
||||
import com.jasamedika.medifirst2000.dao.MapProdukPaketToProdukDao;
|
||||
import com.jasamedika.medifirst2000.vo.MapProdukPaketToProdukVO;
|
||||
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.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.vo.ProdukVO;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import com.jasamedika.medifirst2000.converter.base.BaseVoConverter;
|
||||
import com.jasamedika.medifirst2000.dao.MapProdukPaketToProdukDao;
|
||||
import com.jasamedika.medifirst2000.dao.ProdukDao;
|
||||
import com.jasamedika.medifirst2000.entities.MapProdukPaketToProduk;
|
||||
import com.jasamedika.medifirst2000.entities.Produk;
|
||||
import com.jasamedika.medifirst2000.entities.ProdukDto;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.MapProdukPaketToProdukService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.vo.MapProdukPaketToProdukVO;
|
||||
|
||||
/**
|
||||
* @author Salman
|
||||
@ -28,24 +33,30 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
|
||||
private BaseVoConverter<MapProdukPaketToProdukVO, MapProdukPaketToProduk> mapProdukPaketConverter;
|
||||
|
||||
@Autowired
|
||||
private BaseVoConverter<ProdukVO, Produk> produkConverter;
|
||||
private MapProdukPaketToProdukDao mapProdukPaketToProdukDao;
|
||||
|
||||
@Autowired
|
||||
private MapProdukPaketToProdukDao mapProdukPaketToProdukDao;
|
||||
private ProdukDao produkDao;
|
||||
|
||||
@Override
|
||||
public void save(MapProdukPaketToProdukVO vo) {
|
||||
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);
|
||||
{
|
||||
Produk paket = new Produk();
|
||||
paket.setId(vo.getPaket().getId());
|
||||
model.setPaket(paket);
|
||||
}
|
||||
{
|
||||
Produk produkPaket = new Produk();
|
||||
produkPaket.setId(vo.getProdukPaket().getId());
|
||||
model.setProdukPaket(produkPaket);
|
||||
}
|
||||
{
|
||||
Produk produk = new Produk();
|
||||
produk.setId(vo.getProduk().getId());
|
||||
model.setProduk(produk);
|
||||
}
|
||||
model.setKdProfile((short) 0);
|
||||
mapProdukPaketToProdukDao.save(model);
|
||||
}
|
||||
@ -53,49 +64,72 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
|
||||
@Override
|
||||
public List<MapProdukPaketToProdukVO> get() {
|
||||
List<MapProdukPaketToProduk> models = mapProdukPaketToProdukDao.findAll();
|
||||
List<MapProdukPaketToProdukVO> data = new ArrayList<>();
|
||||
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;
|
||||
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||
Set<Integer> setIdPaket = models.stream().map(MapProdukPaketToProduk::getPaketId)
|
||||
.collect(Collectors.toSet());
|
||||
List<Integer> listIdPaket = new ArrayList<>(setIdPaket);
|
||||
List<Produk> listPaket = produkDao.findAllByIds(listIdPaket);
|
||||
Set<Integer> setIdProdukPaket = models.stream().map(MapProdukPaketToProduk::getProdukPaketId)
|
||||
.collect(Collectors.toSet());
|
||||
List<Integer> listIdProdukPaket = new ArrayList<>(setIdProdukPaket);
|
||||
List<Produk> listProdukPaket = produkDao.findAllByIds(listIdProdukPaket);
|
||||
Set<Integer> setIdProduk = models.stream().map(MapProdukPaketToProduk::getProdukId)
|
||||
.collect(Collectors.toSet());
|
||||
List<Integer> listIdProduk = new ArrayList<>(setIdProduk);
|
||||
List<Produk> listProduk = produkDao.findAllByIds(listIdProduk);
|
||||
List<MapProdukPaketToProdukVO> result = models.stream()
|
||||
.map(m -> mapProdukPaketConverter.transferModelToVO(m, new MapProdukPaketToProdukVO()))
|
||||
.collect(Collectors.toList());
|
||||
result.forEach(r -> {
|
||||
Optional<Produk> paket = listPaket.stream().filter(p -> p.getId().equals(r.getPaketId())).findFirst();
|
||||
paket.ifPresent(
|
||||
p -> r.setPaket(ProdukDto.builder().id(p.getId()).namaProduk(p.getNamaProduk()).build()));
|
||||
Optional<Produk> produkPaket = listProdukPaket.stream()
|
||||
.filter(p -> p.getId().equals(r.getProdukPaketId())).findFirst();
|
||||
produkPaket.ifPresent(
|
||||
p -> r.setProdukPaket(ProdukDto.builder().id(p.getId()).namaProduk(p.getNamaProduk()).build()));
|
||||
Optional<Produk> produk = listProduk.stream().filter(p -> p.getId().equals(r.getProdukId()))
|
||||
.findFirst();
|
||||
produk.ifPresent(
|
||||
p -> r.setProduk(ProdukDto.builder().id(p.getId()).namaProduk(p.getNamaProduk()).build()));
|
||||
});
|
||||
return result;
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MapProdukPaketToProdukVO> get(Integer paketId) {
|
||||
List<MapProdukPaketToProduk> models = mapProdukPaketToProdukDao.findAllByPaketId(paketId);
|
||||
List<MapProdukPaketToProdukVO> data = new ArrayList<>();
|
||||
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;
|
||||
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||
Set<Integer> listIdPaket = models.stream().map(MapProdukPaketToProduk::getPaketId)
|
||||
.collect(Collectors.toSet());
|
||||
List<Produk> listPaket = produkDao.findAllByIds(new ArrayList<>(listIdPaket));
|
||||
Set<Integer> listIdProdukPaket = models.stream().map(MapProdukPaketToProduk::getProdukPaketId)
|
||||
.collect(Collectors.toSet());
|
||||
List<Produk> listProdukPaket = produkDao.findAllByIds(new ArrayList<>(listIdProdukPaket));
|
||||
Set<Integer> listIdProduk = models.stream().map(MapProdukPaketToProduk::getProdukId)
|
||||
.collect(Collectors.toSet());
|
||||
List<Produk> listProduk = produkDao.findAllByIds(new ArrayList<>(listIdProduk));
|
||||
List<MapProdukPaketToProdukVO> result = models.stream()
|
||||
.map(m -> mapProdukPaketConverter.transferModelToVO(m, new MapProdukPaketToProdukVO()))
|
||||
.collect(Collectors.toList());
|
||||
result.forEach(r -> {
|
||||
Optional<Produk> paket = listPaket.stream().filter(p -> p.getId().equals(r.getPaketId())).findFirst();
|
||||
paket.ifPresent(
|
||||
p -> r.setPaket(ProdukDto.builder().id(p.getId()).namaProduk(p.getNamaProduk()).build()));
|
||||
Optional<Produk> produkPaket = listProdukPaket.stream()
|
||||
.filter(p -> p.getId().equals(r.getProdukPaketId())).findFirst();
|
||||
produkPaket.ifPresent(
|
||||
p -> r.setProdukPaket(ProdukDto.builder().id(p.getId()).namaProduk(p.getNamaProduk()).build()));
|
||||
Optional<Produk> produk = listProduk.stream().filter(p -> p.getId().equals(r.getProdukId()))
|
||||
.findFirst();
|
||||
produk.ifPresent(
|
||||
p -> r.setProduk(ProdukDto.builder().id(p.getId()).namaProduk(p.getNamaProduk()).build()));
|
||||
});
|
||||
return result;
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -103,21 +137,16 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
|
||||
MapProdukPaketToProduk model = mapProdukPaketToProdukDao.findOne(noRec);
|
||||
if (CommonUtil.isNullOrEmpty(model))
|
||||
return null;
|
||||
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;
|
||||
MapProdukPaketToProdukVO result = mapProdukPaketConverter.transferModelToVO(model,
|
||||
new MapProdukPaketToProdukVO());
|
||||
Produk paket = produkDao.findById(result.getPaketId());
|
||||
result.setPaket(ProdukDto.builder().id(paket.getId()).namaProduk(paket.getNamaProduk()).build());
|
||||
Produk produkPaket = produkDao.findById(result.getProdukPaketId());
|
||||
result.setProdukPaket(
|
||||
ProdukDto.builder().id(produkPaket.getId()).namaProduk(produkPaket.getNamaProduk()).build());
|
||||
Produk produk = produkDao.findById(result.getProdukId());
|
||||
result.setProduk(ProdukDto.builder().id(produk.getId()).namaProduk(produk.getNamaProduk()).build());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -2,6 +2,8 @@ package com.jasamedika.medifirst2000.entities;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.BaseTransaction;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.persistence.*;
|
||||
import javax.validation.constraints.NotNull;
|
||||
@ -13,6 +15,8 @@ import static javax.persistence.FetchType.LAZY;
|
||||
* @version 1.0.0
|
||||
* @since 03 Aug 2023
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Entity
|
||||
@Table(name = "mapprodukpakettoproduk_m", uniqueConstraints = @UniqueConstraint(columnNames = { "paketfk",
|
||||
"produkpaketfk", "produkfk" }))
|
||||
@ -45,52 +49,4 @@ public class MapProdukPaketToProduk extends BaseTransaction {
|
||||
|
||||
@Column(name = "produkfk", insertable = false, updatable = false, nullable = false)
|
||||
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() {
|
||||
return produkPaket;
|
||||
}
|
||||
|
||||
public void setProdukPaket(Produk produkPaket) {
|
||||
this.produkPaket = produkPaket;
|
||||
}
|
||||
|
||||
public Integer getProdukPaketId() {
|
||||
return produkPaketId;
|
||||
}
|
||||
|
||||
public void setProdukPaketId(Integer produkPaketId) {
|
||||
this.produkPaketId = produkPaketId;
|
||||
}
|
||||
|
||||
public Produk getProduk() {
|
||||
return produk;
|
||||
}
|
||||
|
||||
public void setProduk(Produk produk) {
|
||||
this.produk = produk;
|
||||
}
|
||||
|
||||
public Integer getProdukId() {
|
||||
return produkId;
|
||||
}
|
||||
|
||||
public void setProdukId(Integer produkId) {
|
||||
this.produkId = produkId;
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
package com.jasamedika.medifirst2000.entities;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* DTO for {@link Produk}
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ProdukDto {
|
||||
|
||||
private Integer id;
|
||||
|
||||
private String namaProduk;
|
||||
|
||||
}
|
||||
@ -3,74 +3,40 @@ 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 com.jasamedika.medifirst2000.entities.ProdukDto;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* DTO for {@link com.jasamedika.medifirst2000.entities.MapProdukPaketToProduk}
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@JsonInclude(Include.NON_NULL)
|
||||
public class MapProdukPaketToProdukVO extends BaseTransactionVO {
|
||||
@NotNull(message = "Paket tidak boleh kosong")
|
||||
private ProdukVO paket;
|
||||
|
||||
@NotNull(message = "Paket tidak boleh kosong")
|
||||
@Caption(value = "Paket")
|
||||
private ProdukDto paket;
|
||||
|
||||
@Caption(value = "ID Paket")
|
||||
private Integer paketId;
|
||||
|
||||
@NotNull(message = "Produk paket tidak boleh kosong")
|
||||
private ProdukVO produkPaket;
|
||||
@Caption(value = "Produk Paket")
|
||||
private ProdukDto produkPaket;
|
||||
|
||||
@Caption(value = "ID Produk Paket")
|
||||
private Integer produkPaketId;
|
||||
|
||||
@NotNull(message = "Produk tidak boleh kosong")
|
||||
private ProdukVO produk;
|
||||
@Caption(value = "Produk")
|
||||
private ProdukDto produk;
|
||||
|
||||
@Caption(value = "ID 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;
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user