Update service pelayanan pasien
Pembuatan fitur duplikasi relasi pelayanan pasien tidak terklaim karena split jumlah pelayanan di diskon paket
This commit is contained in:
parent
56160b11a3
commit
43467935a9
@ -1,10 +1,14 @@
|
|||||||
package com.jasamedika.medifirst2000.dao;
|
package com.jasamedika.medifirst2000.dao;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.jpa.repository.Query;
|
||||||
|
import org.springframework.data.repository.query.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.entities.PelayananPasienTidakTerklaim;
|
import com.jasamedika.medifirst2000.entities.PelayananPasienTidakTerklaim;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Repository class for PelayananPasienTidakTerklaim
|
* Repository class for PelayananPasienTidakTerklaim
|
||||||
*
|
*
|
||||||
@ -12,5 +16,6 @@ import com.jasamedika.medifirst2000.entities.PelayananPasienTidakTerklaim;
|
|||||||
*/
|
*/
|
||||||
@Repository("pelayananPasienTidakTerklaimDao")
|
@Repository("pelayananPasienTidakTerklaimDao")
|
||||||
public interface PelayananPasienTidakTerklaimDao extends JpaRepository<PelayananPasienTidakTerklaim, String> {
|
public interface PelayananPasienTidakTerklaimDao extends JpaRepository<PelayananPasienTidakTerklaim, String> {
|
||||||
|
@Query("select pptt from PelayananPasienTidakTerklaim pptt left join pptt.pelayananPasien pp where pp.noRec = :norec")
|
||||||
|
List<PelayananPasienTidakTerklaim> findByPelayananPasien(@Param("norec") String norec);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -108,6 +108,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PelayananPasienPetugasDao pelayananPasienPetugasDao;
|
private PelayananPasienPetugasDao pelayananPasienPetugasDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PelayananPasienTidakTerklaimDao pelayananPasienTidakTerklaimDao;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> savePelayananPasien(PelayananPasienVO vo) {
|
public Map<String, Object> savePelayananPasien(PelayananPasienVO vo) {
|
||||||
Map<String, Object> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
@ -2322,6 +2325,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<PelayananPasien> pelayanan = new ArrayList<>();
|
List<PelayananPasien> pelayanan = new ArrayList<>();
|
||||||
List<PelayananPasienDetail> detailPelayanan = new ArrayList<>();
|
List<PelayananPasienDetail> detailPelayanan = new ArrayList<>();
|
||||||
List<PelayananPasienPetugas> petugasPelayanan = new ArrayList<>();
|
List<PelayananPasienPetugas> petugasPelayanan = new ArrayList<>();
|
||||||
|
List<PelayananPasienTidakTerklaim> pelayananPasienTidakTerklaim = new ArrayList<>();
|
||||||
dtoList.forEach(dto -> {
|
dtoList.forEach(dto -> {
|
||||||
Optional<PelayananPasien> pelayananReducedQty = pelayananChecked.stream()
|
Optional<PelayananPasien> pelayananReducedQty = pelayananChecked.stream()
|
||||||
.filter(p -> p.getNoRec().equals(dto.getNoRec()))
|
.filter(p -> p.getNoRec().equals(dto.getNoRec()))
|
||||||
@ -2329,6 +2333,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
pelayananReducedQty.ifPresent(p -> {
|
pelayananReducedQty.ifPresent(p -> {
|
||||||
List<PelayananPasienDetail> splitDetailPelayanan = new ArrayList<>();
|
List<PelayananPasienDetail> splitDetailPelayanan = new ArrayList<>();
|
||||||
List<PelayananPasienPetugas> splitPetugasPelayanan = new ArrayList<>();
|
List<PelayananPasienPetugas> splitPetugasPelayanan = new ArrayList<>();
|
||||||
|
List<PelayananPasienTidakTerklaim> splitPelayananTidakTerklaim = new ArrayList<>();
|
||||||
List<PelayananPasien> splitPelayanan = copyPelayananSplitQty(p);
|
List<PelayananPasien> splitPelayanan = copyPelayananSplitQty(p);
|
||||||
Optional<PelayananPasien> origin = splitPelayanan.stream().filter(cp -> cp.getNoRec() != null)
|
Optional<PelayananPasien> origin = splitPelayanan.stream().filter(cp -> cp.getNoRec() != null)
|
||||||
.findFirst();
|
.findFirst();
|
||||||
@ -2354,6 +2359,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
.filter(pt -> pt.getNoRec() != null).collect(Collectors.toList());
|
.filter(pt -> pt.getNoRec() != null).collect(Collectors.toList());
|
||||||
petugasPelayanan.addAll(originPetugas);
|
petugasPelayanan.addAll(originPetugas);
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
List<PelayananPasienTidakTerklaim> pelayananTidakTerklaimOrigin = pelayananPasienTidakTerklaimDao
|
||||||
|
.findByPelayananPasien(origin.get().getNoRec());
|
||||||
|
splitPelayananTidakTerklaim = copyPelayananTidakTerklaimSplitQty(
|
||||||
|
pelayananTidakTerklaimOrigin);
|
||||||
|
List<PelayananPasienTidakTerklaim> originPelayananTidakTerklaim = splitPelayananTidakTerklaim
|
||||||
|
.stream().filter(ptt -> ptt.getNoRec() != null).collect(Collectors.toList());
|
||||||
|
pelayananPasienTidakTerklaim.addAll(originPelayananTidakTerklaim);
|
||||||
|
}
|
||||||
pelayanan.add(origin.get());
|
pelayanan.add(origin.get());
|
||||||
}
|
}
|
||||||
Optional<PelayananPasien> duplicate = splitPelayanan.stream().filter(cp -> cp.getNoRec() == null)
|
Optional<PelayananPasien> duplicate = splitPelayanan.stream().filter(cp -> cp.getNoRec() == null)
|
||||||
@ -2374,6 +2388,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
duplicatePetugas.forEach(dp -> dp.setPelayananPasien(duplicate.get()));
|
duplicatePetugas.forEach(dp -> dp.setPelayananPasien(duplicate.get()));
|
||||||
petugasPelayanan.addAll(duplicatePetugas);
|
petugasPelayanan.addAll(duplicatePetugas);
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
List<PelayananPasienTidakTerklaim> duplicatePelayananTidakTerklaim = splitPelayananTidakTerklaim
|
||||||
|
.stream().filter(pt -> pt.getNoRec() == null).collect(Collectors.toList());
|
||||||
|
duplicatePelayananTidakTerklaim.forEach(dp -> dp.setPelayananPasien(duplicate.get()));
|
||||||
|
pelayananPasienTidakTerklaim.addAll(duplicatePelayananTidakTerklaim);
|
||||||
|
}
|
||||||
pelayanan.add(duplicate.get());
|
pelayanan.add(duplicate.get());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -2382,6 +2402,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
pelayananPasienDao.save(pelayanan);
|
pelayananPasienDao.save(pelayanan);
|
||||||
pelayananPasienDetailDao.save(detailPelayanan);
|
pelayananPasienDetailDao.save(detailPelayanan);
|
||||||
pelayananPasienPetugasDao.save(petugasPelayanan);
|
pelayananPasienPetugasDao.save(petugasPelayanan);
|
||||||
|
pelayananPasienTidakTerklaimDao.save(pelayananPasienTidakTerklaim);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2641,4 +2662,92 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
});
|
});
|
||||||
return duplicatePetugas;
|
return duplicatePetugas;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<PelayananPasienTidakTerklaim> copyPelayananTidakTerklaimSplitQty(
|
||||||
|
List<PelayananPasienTidakTerklaim> originPelayananTidakTerklaim) {
|
||||||
|
List<PelayananPasienTidakTerklaim> duplicatePelayananTidakTerklaim = new ArrayList<>();
|
||||||
|
originPelayananTidakTerklaim.forEach(origin -> {
|
||||||
|
PelayananPasienTidakTerklaim duplicate;
|
||||||
|
duplicate = origin;
|
||||||
|
{
|
||||||
|
AntrianPasienDiPeriksa antrian = origin.getPasien();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(antrian))
|
||||||
|
duplicate.setPasien(antrian);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
JenisKemasan jenisKemasan = origin.getJenisKemasan();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(jenisKemasan))
|
||||||
|
duplicate.setJenisKemasan(jenisKemasan);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Kelas kelas = origin.getKelas();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(kelas))
|
||||||
|
duplicate.setKelas(kelas);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
KelompokTransaksi kelompokTransaksi = origin.getKelompokTransaksi();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(kelompokTransaksi))
|
||||||
|
duplicate.setKelompokTransaksi(kelompokTransaksi);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Produk produk = origin.getProduk();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(produk))
|
||||||
|
duplicate.setProduk(produk);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Generik generik = origin.getGenerik();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(generik))
|
||||||
|
duplicate.setGenerik(generik);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
JenisObat jenisObat = origin.getJenisObat();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(jenisObat))
|
||||||
|
duplicate.setJenisObat(jenisObat);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
RouteFarmasi route = origin.getRoute();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(route))
|
||||||
|
duplicate.setRoute(route);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
SatuanStandar satuanView = origin.getSatuanView();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(satuanView))
|
||||||
|
duplicate.setSatuanView(satuanView);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Stigma keteranganPakai = origin.getKeteranganPakai();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(keteranganPakai))
|
||||||
|
duplicate.setKeteranganPakai(keteranganPakai);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
StrukOrder strukOrder = origin.getStrukOrder();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(strukOrder))
|
||||||
|
duplicate.setStrukOrder(strukOrder);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
StrukPelayanan strukPelayanan = origin.getStrukPelayanan();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(strukPelayanan))
|
||||||
|
duplicate.setStrukPelayanan(strukPelayanan);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
StrukPelayanan strukTerima = origin.getStrukTerima();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(strukTerima))
|
||||||
|
duplicate.setStrukTerima(strukTerima);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
StrukPelayananDNoBatch noBatch = origin.getNoBatch();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(noBatch))
|
||||||
|
duplicate.setNoBatch(noBatch);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
StrukResep strukResep = origin.getStrukResep();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(strukResep))
|
||||||
|
duplicate.setStrukResep(strukResep);
|
||||||
|
}
|
||||||
|
duplicate.setNoRec(null);
|
||||||
|
duplicatePelayananTidakTerklaim.add(duplicate);
|
||||||
|
duplicatePelayananTidakTerklaim.add(origin);
|
||||||
|
});
|
||||||
|
return duplicatePelayananTidakTerklaim;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user