Update service pelayanan pasien
Perbaikan bug jumlah pelayanan tidak berkurang dan penerapan mekanisme cloning object persistence
This commit is contained in:
parent
8fb26ced95
commit
c9508a70d0
@ -18,6 +18,6 @@ import java.util.List;
|
|||||||
public interface MapPelayananPasienPetugasToPegawaiDao
|
public interface MapPelayananPasienPetugasToPegawaiDao
|
||||||
extends JpaRepository<MapPelayananPasienPetugasToPegawai, String> {
|
extends JpaRepository<MapPelayananPasienPetugasToPegawai, String> {
|
||||||
@Query("select mptp from MapPelayananPasienPetugasToPegawai mptp " + "left join mptp.pelayananPasienPetugas ppp "
|
@Query("select mptp from MapPelayananPasienPetugasToPegawai mptp " + "left join mptp.pelayananPasienPetugas ppp "
|
||||||
+ "where ppp.norec in (:norecs)")
|
+ "where ppp.noRec in (:norecs)")
|
||||||
List<MapPelayananPasienPetugasToPegawai> findByPelayananPasienPetugas(@Param("norecs") List<String> norecs);
|
List<MapPelayananPasienPetugasToPegawai> findByPelayananPasienPetugas(@Param("norecs") List<String> norecs);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,11 +12,10 @@ import com.jasamedika.medifirst2000.service.LoginUserService;
|
|||||||
import com.jasamedika.medifirst2000.service.PelayananPasienService;
|
import com.jasamedika.medifirst2000.service.PelayananPasienService;
|
||||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||||
import com.jasamedika.medifirst2000.util.DateUtil;
|
import com.jasamedika.medifirst2000.util.DateUtil;
|
||||||
import com.jasamedika.medifirst2000.vo.JenisObatVO;
|
import com.jasamedika.medifirst2000.vo.*;
|
||||||
import com.jasamedika.medifirst2000.vo.PelayananPasienVO;
|
|
||||||
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 java.text.*;
|
import java.text.*;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@ -50,11 +49,27 @@ import static com.jasamedika.medifirst2000.constants.Master.TipePegawai.PURNA_WA
|
|||||||
* @author Generator
|
* @author Generator
|
||||||
*/
|
*/
|
||||||
@Service("pelayananPasienService")
|
@Service("pelayananPasienService")
|
||||||
|
@Transactional
|
||||||
public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements PelayananPasienService {
|
public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements PelayananPasienService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private BaseConverterImpl<PelayananPasienVO, PelayananPasien> pelayananPasienConverter;
|
private BaseConverterImpl<PelayananPasienVO, PelayananPasien> pelayananPasienConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<PelayananPasienDetailVO, PelayananPasienDetail> pelayananPasienDetailConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<PelayananPasienPetugasVO, PelayananPasienPetugas> pelayananPasienPetugasConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<MapPelayananPasienPetugasToPegawaiVO, MapPelayananPasienPetugasToPegawai> mapPelayananPasienPetugasToPegawaiConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<PelayananPasienTidakTerklaimVO, PelayananPasienTidakTerklaim> pelayananPasienTidakTerklaimConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<RacikanDetailVO, RacikanDetail> racikanDetailConverter;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private BaseConverterImpl<JenisObatVO, JenisObat> jenisObatConverter;
|
private BaseConverterImpl<JenisObatVO, JenisObat> jenisObatConverter;
|
||||||
|
|
||||||
@ -2401,8 +2416,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
Optional<PelayananPasien> duplicate = splitPelayanan.stream().filter(cp -> cp.getNoRec() == null)
|
Optional<PelayananPasien> duplicate = splitPelayanan.stream().filter(cp -> cp.getNoRec() == null)
|
||||||
.findFirst();
|
.findFirst();
|
||||||
if (duplicate.isPresent()) {
|
if (duplicate.isPresent() && origin.isPresent()) {
|
||||||
duplicate.get().setJumlah(pelayananReducedQty.get().getJumlah() - dto.getJumlah());
|
duplicate.get().setJumlah(duplicate.get().getJumlah() - origin.get().getJumlah());
|
||||||
duplicate.get().setIsPaket(false);
|
duplicate.get().setIsPaket(false);
|
||||||
duplicate.get().setVoucherPaket(voucher);
|
duplicate.get().setVoucherPaket(voucher);
|
||||||
{
|
{
|
||||||
@ -2527,8 +2542,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
|
|
||||||
private List<PelayananPasien> copyPelayananSplitQty(PelayananPasien originPelayanan) {
|
private List<PelayananPasien> copyPelayananSplitQty(PelayananPasien originPelayanan) {
|
||||||
List<PelayananPasien> result = new ArrayList<>();
|
List<PelayananPasien> result = new ArrayList<>();
|
||||||
PelayananPasien duplicatePelayanan;
|
PelayananPasien duplicatePelayanan = new PelayananPasien();
|
||||||
duplicatePelayanan = originPelayanan;
|
try {
|
||||||
|
duplicatePelayanan = pelayananPasienConverter.clone(originPelayanan, duplicatePelayanan, new String[] {
|
||||||
|
"serialVersionUID", "noRec", "pelayananPasienPetugasSet", "racikan", "pelayananPasienDetailSet" });
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new ServiceVOException(e.getMessage());
|
||||||
|
}
|
||||||
{
|
{
|
||||||
AntrianPasienDiPeriksa antrian = originPelayanan.getPasien();
|
AntrianPasienDiPeriksa antrian = originPelayanan.getPasien();
|
||||||
if (CommonUtil.isNotNullOrEmpty(antrian))
|
if (CommonUtil.isNotNullOrEmpty(antrian))
|
||||||
@ -2609,7 +2629,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
if (CommonUtil.isNotNullOrEmpty(voucherPaket))
|
if (CommonUtil.isNotNullOrEmpty(voucherPaket))
|
||||||
duplicatePelayanan.setVoucherPaket(voucherPaket);
|
duplicatePelayanan.setVoucherPaket(voucherPaket);
|
||||||
}
|
}
|
||||||
duplicatePelayanan.setNoRec(null);
|
|
||||||
result.add(duplicatePelayanan);
|
result.add(duplicatePelayanan);
|
||||||
result.add(originPelayanan);
|
result.add(originPelayanan);
|
||||||
return result;
|
return result;
|
||||||
@ -2618,8 +2637,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
private List<PelayananPasienDetail> copyPelayananDetailSplitQty(List<PelayananPasienDetail> originDetail) {
|
private List<PelayananPasienDetail> copyPelayananDetailSplitQty(List<PelayananPasienDetail> originDetail) {
|
||||||
List<PelayananPasienDetail> duplicateDetail = new ArrayList<>();
|
List<PelayananPasienDetail> duplicateDetail = new ArrayList<>();
|
||||||
originDetail.forEach(origin -> {
|
originDetail.forEach(origin -> {
|
||||||
PelayananPasienDetail duplicate;
|
PelayananPasienDetail duplicate = new PelayananPasienDetail();
|
||||||
duplicate = origin;
|
try {
|
||||||
|
duplicate = pelayananPasienDetailConverter.clone(origin, duplicate,
|
||||||
|
new String[] { "serialVersionUID", "noRec" });
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new ServiceVOException(e.getMessage());
|
||||||
|
}
|
||||||
{
|
{
|
||||||
AntrianPasienDiPeriksa pasien = origin.getPasien();
|
AntrianPasienDiPeriksa pasien = origin.getPasien();
|
||||||
if (CommonUtil.isNotNullOrEmpty(pasien))
|
if (CommonUtil.isNotNullOrEmpty(pasien))
|
||||||
@ -2660,7 +2684,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
if (CommonUtil.isNotNullOrEmpty(strukOrder))
|
if (CommonUtil.isNotNullOrEmpty(strukOrder))
|
||||||
duplicate.setStrukOrder(strukOrder);
|
duplicate.setStrukOrder(strukOrder);
|
||||||
}
|
}
|
||||||
duplicate.setNoRec(null);
|
|
||||||
duplicateDetail.add(duplicate);
|
duplicateDetail.add(duplicate);
|
||||||
duplicateDetail.add(origin);
|
duplicateDetail.add(origin);
|
||||||
});
|
});
|
||||||
@ -2671,8 +2694,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<PelayananPasienPetugas> originPetugas) {
|
List<PelayananPasienPetugas> originPetugas) {
|
||||||
List<PelayananPasienPetugas> duplicatePetugas = new ArrayList<>();
|
List<PelayananPasienPetugas> duplicatePetugas = new ArrayList<>();
|
||||||
originPetugas.forEach(origin -> {
|
originPetugas.forEach(origin -> {
|
||||||
PelayananPasienPetugas duplicate;
|
PelayananPasienPetugas duplicate = new PelayananPasienPetugas();
|
||||||
duplicate = origin;
|
try {
|
||||||
|
duplicate = pelayananPasienPetugasConverter.clone(origin, duplicate,
|
||||||
|
new String[] { "serialVersionUID", "noRec" });
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new ServiceVOException(e.getMessage());
|
||||||
|
}
|
||||||
{
|
{
|
||||||
AntrianPasienDiPeriksa nomasuk = origin.getNomasuk();
|
AntrianPasienDiPeriksa nomasuk = origin.getNomasuk();
|
||||||
if (CommonUtil.isNotNullOrEmpty(nomasuk))
|
if (CommonUtil.isNotNullOrEmpty(nomasuk))
|
||||||
@ -2703,7 +2731,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
if (CommonUtil.isNotNullOrEmpty(kdruangan))
|
if (CommonUtil.isNotNullOrEmpty(kdruangan))
|
||||||
duplicate.setKdruangan(kdruangan);
|
duplicate.setKdruangan(kdruangan);
|
||||||
}
|
}
|
||||||
duplicate.setNoRec(null);
|
|
||||||
duplicatePetugas.add(duplicate);
|
duplicatePetugas.add(duplicate);
|
||||||
duplicatePetugas.add(origin);
|
duplicatePetugas.add(origin);
|
||||||
});
|
});
|
||||||
@ -2714,8 +2741,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<PelayananPasienTidakTerklaim> originPelayananTidakTerklaim) {
|
List<PelayananPasienTidakTerklaim> originPelayananTidakTerklaim) {
|
||||||
List<PelayananPasienTidakTerklaim> duplicatePelayananTidakTerklaim = new ArrayList<>();
|
List<PelayananPasienTidakTerklaim> duplicatePelayananTidakTerklaim = new ArrayList<>();
|
||||||
originPelayananTidakTerklaim.forEach(origin -> {
|
originPelayananTidakTerklaim.forEach(origin -> {
|
||||||
PelayananPasienTidakTerklaim duplicate;
|
PelayananPasienTidakTerklaim duplicate = new PelayananPasienTidakTerklaim();
|
||||||
duplicate = origin;
|
try {
|
||||||
|
duplicate = pelayananPasienTidakTerklaimConverter.clone(origin, duplicate,
|
||||||
|
new String[] { "serialVersionUID", "noRec" });
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new ServiceVOException(e.getMessage());
|
||||||
|
}
|
||||||
{
|
{
|
||||||
AntrianPasienDiPeriksa antrian = origin.getPasien();
|
AntrianPasienDiPeriksa antrian = origin.getPasien();
|
||||||
if (CommonUtil.isNotNullOrEmpty(antrian))
|
if (CommonUtil.isNotNullOrEmpty(antrian))
|
||||||
@ -2791,7 +2823,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
if (CommonUtil.isNotNullOrEmpty(strukResep))
|
if (CommonUtil.isNotNullOrEmpty(strukResep))
|
||||||
duplicate.setStrukResep(strukResep);
|
duplicate.setStrukResep(strukResep);
|
||||||
}
|
}
|
||||||
duplicate.setNoRec(null);
|
|
||||||
duplicatePelayananTidakTerklaim.add(duplicate);
|
duplicatePelayananTidakTerklaim.add(duplicate);
|
||||||
duplicatePelayananTidakTerklaim.add(origin);
|
duplicatePelayananTidakTerklaim.add(origin);
|
||||||
});
|
});
|
||||||
@ -2801,8 +2832,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<RacikanDetail> copyDetailRacikanSplitQty(List<RacikanDetail> originRacikanDetail) {
|
List<RacikanDetail> copyDetailRacikanSplitQty(List<RacikanDetail> originRacikanDetail) {
|
||||||
List<RacikanDetail> duplicateRacikanDetail = new ArrayList<>();
|
List<RacikanDetail> duplicateRacikanDetail = new ArrayList<>();
|
||||||
originRacikanDetail.forEach(origin -> {
|
originRacikanDetail.forEach(origin -> {
|
||||||
RacikanDetail duplicate;
|
RacikanDetail duplicate = new RacikanDetail();
|
||||||
duplicate = origin;
|
try {
|
||||||
|
duplicate = racikanDetailConverter.clone(origin, duplicate,
|
||||||
|
new String[] { "serialVersionUID", "noRec" });
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new ServiceVOException(e.getMessage());
|
||||||
|
}
|
||||||
{
|
{
|
||||||
Produk produk = origin.getProduk();
|
Produk produk = origin.getProduk();
|
||||||
if (CommonUtil.isNotNullOrEmpty(produk))
|
if (CommonUtil.isNotNullOrEmpty(produk))
|
||||||
@ -2818,7 +2854,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
if (CommonUtil.isNotNullOrEmpty(strukRacikan))
|
if (CommonUtil.isNotNullOrEmpty(strukRacikan))
|
||||||
duplicate.setStrukRacikan(strukRacikan);
|
duplicate.setStrukRacikan(strukRacikan);
|
||||||
}
|
}
|
||||||
duplicate.setNoRec(null);
|
|
||||||
duplicateRacikanDetail.add(duplicate);
|
duplicateRacikanDetail.add(duplicate);
|
||||||
duplicateRacikanDetail.add(origin);
|
duplicateRacikanDetail.add(origin);
|
||||||
});
|
});
|
||||||
@ -2829,14 +2864,18 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<MapPelayananPasienPetugasToPegawai> originMapPetugasPegawai) {
|
List<MapPelayananPasienPetugasToPegawai> originMapPetugasPegawai) {
|
||||||
List<MapPelayananPasienPetugasToPegawai> duplicateMapPetugasPegawai = new ArrayList<>();
|
List<MapPelayananPasienPetugasToPegawai> duplicateMapPetugasPegawai = new ArrayList<>();
|
||||||
originMapPetugasPegawai.forEach(origin -> {
|
originMapPetugasPegawai.forEach(origin -> {
|
||||||
MapPelayananPasienPetugasToPegawai duplicate;
|
MapPelayananPasienPetugasToPegawai duplicate = new MapPelayananPasienPetugasToPegawai();
|
||||||
duplicate = origin;
|
try {
|
||||||
|
duplicate = mapPelayananPasienPetugasToPegawaiConverter.clone(origin, duplicate,
|
||||||
|
new String[] { "serialVersionUID", "noRec" });
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new ServiceVOException(e.getMessage());
|
||||||
|
}
|
||||||
{
|
{
|
||||||
Pegawai pegawai = origin.getPegawai();
|
Pegawai pegawai = origin.getPegawai();
|
||||||
if (CommonUtil.isNotNullOrEmpty(pegawai))
|
if (CommonUtil.isNotNullOrEmpty(pegawai))
|
||||||
duplicate.setPegawai(pegawai);
|
duplicate.setPegawai(pegawai);
|
||||||
}
|
}
|
||||||
duplicate.setNoRec(null);
|
|
||||||
duplicateMapPetugasPegawai.add(duplicate);
|
duplicateMapPetugasPegawai.add(duplicate);
|
||||||
duplicateMapPetugasPegawai.add(origin);
|
duplicateMapPetugasPegawai.add(origin);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -261,7 +261,7 @@ public class PelayananPasienTidakTerklaim extends MedicalRecordTransaction {
|
|||||||
@Column(name = "pelayananpasien", insertable = false, updatable = false)
|
@Column(name = "pelayananpasien", insertable = false, updatable = false)
|
||||||
private String pelayananPasienId;
|
private String pelayananPasienId;
|
||||||
|
|
||||||
@Column(name = "No Masuk", length = 32)
|
@Column(name = "nomasukfk", length = 32)
|
||||||
@Caption(value = "nomasukfk")
|
@Caption(value = "nomasukfk")
|
||||||
private String noMasuk;
|
private String noMasuk;
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user