Update service pelayanan pasien

Rombak tabel mapping paket untuk validasi jumlah list tindakan paket
This commit is contained in:
Salman Manoe 2023-09-21 16:37:13 +07:00
parent c26c8ff975
commit 4d85001b0c
9 changed files with 177 additions and 189 deletions

View File

@ -0,0 +1,12 @@
package com.jasamedika.medifirst2000.dao;
import com.jasamedika.medifirst2000.entities.MapProdukPaket;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @author Salman Manoe
* @version 1.0.0
* @since 21 Sep 2023
*/
public interface MapProdukPaketDao extends JpaRepository<MapProdukPaket, String> {
}

View File

@ -2,6 +2,8 @@ package com.jasamedika.medifirst2000.dao;
import com.jasamedika.medifirst2000.entities.MapProdukPaketToProduk;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
@ -16,26 +18,7 @@ public interface MapProdukPaketToProdukDao extends JpaRepository<MapProdukPaketT
* id produk yang dijadikan nama paket
* @return daftar mapping antara produk paket dan paketnya sebagai produk
*/
List<MapProdukPaketToProduk> findAllByPaketId(Integer paketId);
/**
* @param paketId
* id produk yang dijadikan nama paket
* @param produkPaketId
* id produk breakdown di dalam paket
* @return daftar mapping antara produk paket dan paketnya sebagai produk
*/
List<MapProdukPaketToProduk> findByPaketIdAndProdukPaketId(Integer paketId, Integer produkPaketId);
/**
* @param paketId
* id produk yang dijadikan nama paket
* @param produkPaketId
* id produk breakdown di dalam paket
* @param noRec
* identifier mapping paket dan produk
* @return daftar mapping antara produk paket dan paketnya sebagai produk
*/
List<MapProdukPaketToProduk> findByPaketIdAndProdukPaketIdAndNoRecNot(Integer paketId, Integer produkPaketId,
String noRec);
@Query("select mpaket from MapProdukPaketToProduk mpaket " + "inner join mpaket.produkPaket mproduk "
+ "where mproduk.paketId = :paketId")
List<MapProdukPaketToProduk> findAllByPaketId(@Param("paketId") Integer paketId);
}

View File

@ -23,10 +23,10 @@ public interface VoucherPaketDao extends JpaRepository<VoucherPaket, String> {
*/
VoucherPaket findByKode(String kode);
@Query("select new Map(vp.noRec as idVoucher,vp.paketId as idPaket,"
+ "mpaket.produkId as idProduk,mpaket.produkPaketId as idProdukPaket,"
+ "mpaket.jenisMapping as jenisMapping) " + "from VoucherPaket vp, MapProdukPaketToProduk mpaket "
+ "where vp.paketId = mpaket.paketId " + "and vp.isSelesai is true and vp.isBatal is false "
@Query("select new Map(vp.noRec as idVoucher,vp.paketId as idPaket," + "mpaket.produkId as idProduk,"
+ "mproduk.produkPaketId as idProdukPaket," + "mproduk.jenisMapping as jenisMapping) "
+ "from MapProdukPaketToProduk mpaket " + "inner join mpaket.produkPaket mproduk, VoucherPaket vp "
+ "where vp.paketId = mproduk.paketId " + "and vp.isSelesai is true and vp.isBatal is false "
+ "and vp.noRec in (:listNorec)")
List<Map<String, Object>> findPelayananPaket(@Param("listNorec") List<String> listIdVoucherPaket);
}

View File

@ -1,25 +1,22 @@
package com.jasamedika.medifirst2000.service.impl;
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 com.jasamedika.medifirst2000.converter.base.BaseVoConverter;
import com.jasamedika.medifirst2000.dao.MapProdukPaketToProdukDao;
import com.jasamedika.medifirst2000.dao.ProdukDao;
import com.jasamedika.medifirst2000.entities.MapProdukPaket;
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;
import com.jasamedika.medifirst2000.vo.MapProdukPaketVO;
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;
/**
* @author Salman
@ -29,8 +26,12 @@ import com.jasamedika.medifirst2000.vo.MapProdukPaketToProdukVO;
@Service
@Transactional
public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProdukService {
@Autowired
private BaseVoConverter<MapProdukPaketToProdukVO, MapProdukPaketToProduk> mapProdukPaketConverter;
private BaseVoConverter<MapProdukPaketVO, MapProdukPaket> mapProdukPaketConverter;
@Autowired
private BaseVoConverter<MapProdukPaketToProdukVO, MapProdukPaketToProduk> mapPaketProdukConverter;
@Autowired
private MapProdukPaketToProdukDao mapProdukPaketToProdukDao;
@ -41,16 +42,11 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
@Override
public void save(MapProdukPaketToProdukVO vo) {
MapProdukPaketToProduk model = new MapProdukPaketToProduk();
model = mapProdukPaketConverter.transferVOToModel(vo, model);
model = mapPaketProdukConverter.transferVOToModel(vo, model);
{
Produk paket = new Produk();
paket.setId(vo.getPaket().getId());
model.setPaket(paket);
}
{
Produk produkPaket = new Produk();
produkPaket.setId(vo.getProdukPaket().getId());
model.setProdukPaket(produkPaket);
MapProdukPaket mapProdukPaket = new MapProdukPaket();
mapProdukPaket.setNoRec(vo.getProdukPaket().getNoRec());
model.setProdukPaket(mapProdukPaket);
}
{
Produk produk = new Produk();
@ -63,72 +59,11 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
@Override
public List<MapProdukPaketToProdukVO> get() {
List<MapProdukPaketToProduk> models = mapProdukPaketToProdukDao.findAll();
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);
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<>();
}
@ -137,13 +72,19 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
MapProdukPaketToProduk model = mapProdukPaketToProdukDao.findOne(noRec);
if (CommonUtil.isNullOrEmpty(model))
return null;
MapProdukPaketToProdukVO result = mapProdukPaketConverter.transferModelToVO(model,
MapProdukPaketToProdukVO result = mapPaketProdukConverter.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());
MapProdukPaket mapProdukPaket = model.getProdukPaket();
MapProdukPaketVO mapProdukPaketVO = mapProdukPaketConverter.transferModelToVO(mapProdukPaket,
new MapProdukPaketVO());
{
Produk paket = produkDao.findById(mapProdukPaket.getPaket().getId());
mapProdukPaketVO.setPaket(ProdukDto.builder().id(paket.getId()).namaProduk(paket.getNamaProduk()).build());
Produk produkPaket = produkDao.findById(mapProdukPaket.getProdukPaket().getId());
mapProdukPaketVO.setProdukPaket(
ProdukDto.builder().id(produkPaket.getId()).namaProduk(produkPaket.getNamaProduk()).build());
result.setProdukPaket(mapProdukPaketVO);
}
Produk produk = produkDao.findById(result.getProdukId());
result.setProduk(ProdukDto.builder().id(produk.getId()).namaProduk(produk.getNamaProduk()).build());
return result;
@ -157,16 +98,6 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
@Override
public boolean exists(MapProdukPaketToProdukVO vo) {
List<MapProdukPaketToProduk> models;
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
models = mapProdukPaketToProdukDao.findByPaketIdAndProdukPaketIdAndNoRecNot(vo.getProduk().getId(),
vo.getProdukPaket().getId(), vo.getNoRec());
} else {
models = mapProdukPaketToProdukDao.findByPaketIdAndProdukPaketId(vo.getProduk().getId(),
vo.getProdukPaket().getId());
}
if (CommonUtil.isNotNullOrEmpty(models))
throw new ServiceVOException("Mapping sudah tersedia");
return false;
}
}

View File

@ -569,9 +569,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& CommonUtil.isNotNullOrEmpty(d.get("idPaketLayanan"))
&& Integer.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan")))
|| (CommonUtil.isNotNullOrEmpty(d.get("idVoucherLayanan"))
&& Boolean.parseBoolean(d.get("isPaket").toString())
&& CommonUtil.isNotNullOrEmpty(d.get("idPaketLayanan")) && !Integer
.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan"))))
&& Boolean.parseBoolean(d.get("isPaket").toString()) && CommonUtil
.isNotNullOrEmpty(d.get("idPaketLayanan"))
&& !Integer.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan"))))
.collect(Collectors.toList());
/*
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
@ -581,7 +581,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
/*
* Mapping set awal persentase jasa remunerasi dan harga jasa remunerasi
*/
for (Map<String, Object> d : listRatedPay)
for (Map<String, Object> d : listData)
if (DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("totalDiskon"))
&& Double.parseDouble(d.get("totalDiskon").toString()) > 0.0
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
@ -682,7 +682,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Alokasi data diambil terlebih dahulu untuk kelompok BPJS, Jaminan
* Kemenkes
*/
List<Map<String, Object>> rawDataBpjs0 = listRatedPay
List<Map<String, Object>> rawDataBpjs0 = listData
.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays
.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
.collect(Collectors.toList());
@ -996,7 +996,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* nonshift
*/
List<Map<String, Object>> listDataJamKerja = new ArrayList<>();
for (Map<String, Object> d : listRatedPay) {
for (Map<String, Object> d : listData) {
if (CommonUtil.isNotNullOrEmpty(d.get("tglPelayanan"))) {
LocalDate tglPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
.toLocalDate();
@ -1028,7 +1028,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* Asumsi jam kerja dokter nonshift
*/
List<Map<String, Object>> listDataLuarJamKerja = new ArrayList<>();
for (Map<String, Object> d : listRatedPay) {
for (Map<String, Object> d : listData) {
if (CommonUtil.isNotNullOrEmpty(d.get("tglPelayanan"))) {
LocalDate tglPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
.toLocalDate();
@ -1486,10 +1486,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
.sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList());
result.put("klaim-mpp", listPelayananKlaimMpp);
}
{
List<Map<String, Object>> listPelayananFixedPay = setPelayananFixedPay(listFixedPay);
result.put("fixed-pay", listPelayananFixedPay);
}
// {
// List<Map<String, Object>> listPelayananFixedPay =
// setPelayananFixedPay(listFixedPay);
// result.put("fixed-pay", listPelayananFixedPay);
// }
return result;
}
@ -1509,22 +1510,19 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& CommonUtil.isNotNullOrEmpty(d.get("idPaketLayanan"))
&& Integer.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan"))))
.collect(Collectors.toList());
Set<String> listIdVoucherKepalaPaket = listKepalaPaket.stream().map(p -> p.get("idVoucherLayanan").toString())
.collect(Collectors.toSet());
Set<String> listIdVoucherKepalaPaket = listKepalaPaket.stream()
.map(p -> p.get("idVoucherLayanan").toString()).collect(Collectors.toSet());
List<Map<String, Object>> pelayananKepalaPaket = voucherPaketDao
.findPelayananPaket(new ArrayList<>(listIdVoucherKepalaPaket));
List<Integer> listIdEntri = pelayananKepalaPaket.stream()
Set<Integer> listIdEntri = pelayananKepalaPaket.stream()
.filter(kp -> TINDAKAN_UTAMA.name().equals(kp.get("jenisMapping").toString()))
.map(kp -> Integer.valueOf(kp.get("idProduk").toString()))
.collect(Collectors.toList());
.map(kp -> Integer.valueOf(kp.get("idProduk").toString())).collect(Collectors.toSet());
List<Map<String, Object>> listDataUtama = listData.stream()
.filter(d -> listIdEntri.contains(Integer.parseInt(d.get("idProduk").toString())))
.collect(Collectors.toList());
listIdVoucherKepalaPaket.forEach(idVoucher -> {
List<Map<String, Object>> dataUtama = listDataUtama.stream()
.filter(d -> idVoucher.equals(d.get("idVoucherLayanan")))
.collect(Collectors.toList());
.filter(d -> idVoucher.equals(d.get("idVoucherLayanan"))).collect(Collectors.toList());
});
}
/*
@ -2586,12 +2584,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<Integer> idProdukPaketDto = dtoList.stream().map(TagihanPendaftaranDto::getIdProduk)
.filter(dto -> !dto.equals(voucher.getPaketId())).collect(Collectors.toList());
mappingProdukPaket.stream().filter(d -> idProdukPaketDto.contains(d.getProdukId())).forEach(d -> {
Produk produkPaket = d.getProdukPaket().getProdukPaket();
List<Map<String, Object>> tarifProdukPaket = hargaNettoProdukByKelasDao
.checkExisting(voucher.getKelasId(), d.getProdukPaketId());
.checkExisting(voucher.getKelasId(), produkPaket.getId());
if (CommonUtil.isNullOrEmpty(tarifProdukPaket) && tarifProdukPaket.isEmpty())
throw new ServiceVOException("Harga tarif tidak ditemukan untuk produk "
+ d.getProduk().getNamaProduk() + " (" + d.getProdukPaket().getNamaProduk() + ") dan kelas "
+ voucher.getKelas().getNamaKelas());
throw new ServiceVOException(
"Harga tarif tidak ditemukan untuk produk " + d.getProduk().getNamaProduk() + " ("
+ produkPaket.getNamaProduk() + ") dan kelas " + voucher.getKelas().getNamaKelas());
});
}
{

View File

@ -0,0 +1,52 @@
package com.jasamedika.medifirst2000.entities;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.enums.JenisMappingProdukPaket;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import static javax.persistence.EnumType.STRING;
import static javax.persistence.FetchType.LAZY;
/**
* @author Salman Manoe
* @version 1.0.0
* @since 21 Sep 2023
*/
@Getter
@Setter
@Entity
@Table(name = "mapprodukpaket_m", uniqueConstraints = {
@UniqueConstraint(columnNames = { "paketfk", "produkPaketfk" }), })
public class MapProdukPaket extends BaseTransaction implements Serializable {
private static final long serialVersionUID = 8425001074293272466L;
@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")
@NotNull(message = "Produk paket tidak boleh kosong")
@Caption(value = "Produk paket")
private Produk produkPaket;
@Column(name = "produkpaketfk", insertable = false, updatable = false, nullable = false)
private Integer produkPaketId;
private Integer jumlah;
@Column(length = 100)
@Enumerated(STRING)
private JenisMappingProdukPaket jenisMapping;
}

View File

@ -1,7 +1,6 @@
package com.jasamedika.medifirst2000.entities;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.enums.JenisMappingProdukPaket;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
@ -9,7 +8,6 @@ import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import static javax.persistence.EnumType.STRING;
import static javax.persistence.FetchType.LAZY;
/**
@ -20,29 +18,18 @@ import static javax.persistence.FetchType.LAZY;
@Getter
@Setter
@Entity
@Table(name = "mapprodukpakettoproduk_m", uniqueConstraints = {
@UniqueConstraint(columnNames = { "paketfk", "produkpaketfk", "produkfk" }),
@UniqueConstraint(columnNames = { "paketfk", "produkfk" }), })
@Table(name = "mapprodukpakettoproduk_m")
public class MapProdukPaketToProduk extends BaseTransaction {
private static final long serialVersionUID = -7737789789022355198L;
private static final long serialVersionUID = 8688145804014486942L;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "paketfk")
@NotNull(message = "Paket tidak boleh kosong")
@Caption(value = "Paket")
private Produk paket;
@JoinColumn(name = "mappaketfk")
@NotNull(message = "Mapping produk paket tidak boleh kosong")
@Caption(value = "Mapping produk paket")
private MapProdukPaket produkPaket;
@Column(name = "paketfk", insertable = false, updatable = false, nullable = false)
private Integer paketId;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "produkpaketfk")
@NotNull(message = "Produk paket tidak boleh kosong")
@Caption(value = "Produk paket")
private Produk produkPaket;
@Column(name = "produkpaketfk", insertable = false, updatable = false, nullable = false)
private Integer produkPaketId;
@Column(name = "mappaketfk", insertable = false, updatable = false, nullable = false)
private String produkPaketId;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "produkfk")
@ -52,8 +39,4 @@ public class MapProdukPaketToProduk extends BaseTransaction {
@Column(name = "produkfk", insertable = false, updatable = false, nullable = false)
private Integer produkId;
@Column(length = 100)
@Enumerated(STRING)
private JenisMappingProdukPaket jenisMapping;
}

View File

@ -4,7 +4,6 @@ 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.enums.JenisMappingProdukPaket;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
@ -18,20 +17,11 @@ import javax.validation.constraints.NotNull;
@Setter
@JsonInclude(Include.NON_NULL)
public class MapProdukPaketToProdukVO extends BaseTransactionVO {
@NotNull(message = "Mapping produk paket tidak boleh kosong")
@Caption(value = "Mapping produk paket")
private MapProdukPaketVO produkPaket;
@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")
@Caption(value = "Produk Paket")
private ProdukDto produkPaket;
@Caption(value = "ID Produk Paket")
private Integer produkPaketId;
private String produkPaketId;
@NotNull(message = "Produk tidak boleh kosong")
@Caption(value = "Produk")
@ -39,7 +29,4 @@ public class MapProdukPaketToProdukVO extends BaseTransactionVO {
@Caption(value = "ID Produk")
private Integer produkId;
private JenisMappingProdukPaket jenisMapping;
}

View File

@ -0,0 +1,41 @@
package com.jasamedika.medifirst2000.vo;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.entities.ProdukDto;
import com.jasamedika.medifirst2000.enums.JenisMappingProdukPaket;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
/**
* @author Salman Manoe
* @version 1.0.0
* @since 21 Sep 2023
*/
@Getter
@Setter
@JsonInclude(JsonInclude.Include.NON_NULL)
public class MapProdukPaketVO extends BaseTransactionVO {
@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")
@Caption(value = "Produk Paket")
private ProdukDto produkPaket;
@Caption(value = "ID Produk Paket")
private Integer produkPaketId;
private Integer jumlah;
private JenisMappingProdukPaket jenisMapping;
}