Update service pelayanan pasien
Rombak tabel mapping paket untuk validasi jumlah list tindakan paket
This commit is contained in:
parent
c26c8ff975
commit
4d85001b0c
@ -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> {
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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());
|
||||
});
|
||||
}
|
||||
{
|
||||
|
||||
@ -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;
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user