Update AntrianPasienDiPeriksaService
Pembuatan service get count antrian jkn dan nonjkn
This commit is contained in:
parent
2181893ad5
commit
b2ee25aa69
@ -3,6 +3,7 @@ package com.jasamedika.medifirst2000.controller;
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
@ -16,6 +17,7 @@ import javax.validation.Valid;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@ -45,6 +47,7 @@ import com.jasamedika.medifirst2000.entities.Pendidikan;
|
||||
import com.jasamedika.medifirst2000.entities.Ruangan;
|
||||
import com.jasamedika.medifirst2000.enums.TipePasienEnum;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.AntrianPasienDiPeriksaService;
|
||||
import com.jasamedika.medifirst2000.service.JadwalDokterService;
|
||||
import com.jasamedika.medifirst2000.service.ModelService;
|
||||
import com.jasamedika.medifirst2000.service.PasienService;
|
||||
@ -96,6 +99,9 @@ public class BridgingDaftarOnlineController {
|
||||
@Autowired
|
||||
private PegawaiService pegawaiService;
|
||||
|
||||
@Autowired
|
||||
private AntrianPasienDiPeriksaService antrianService;
|
||||
|
||||
@Autowired
|
||||
private AntrianPasienRegistrasiDao antrianPasienRegistrasiDao;
|
||||
|
||||
@ -699,4 +705,11 @@ public class BridgingDaftarOnlineController {
|
||||
List<Map<String, Object>> entity = pasienService.findByNoRM(noRM);
|
||||
return new ResponseEntity<>(entity, HttpStatus.OK);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/bpjs/antrian/get/{tglMasuk}/{ruanganId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<Object> getCountAntrean(
|
||||
@PathVariable @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate tglMasuk, @PathVariable Integer ruanganId) {
|
||||
Map<String, Object> entity = antrianService.getAntreanByRuangan(tglMasuk, ruanganId);
|
||||
return new ResponseEntity<>(entity, HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,7 +21,6 @@ import com.jasamedika.medifirst2000.entities.DiagnosaPasien;
|
||||
*/
|
||||
@Repository("AntrianPasienDiPeriksaDao")
|
||||
public interface AntrianPasienDiPeriksaDao extends PagingAndSortingRepository<AntrianPasienDiPeriksa, String> {
|
||||
|
||||
@Query("select p from AntrianPasienDiPeriksa p where p.pasienDaftar.noRegistrasi=:noRegistrasi ")
|
||||
List<AntrianPasienDiPeriksa> findByNoRegister(@Param("noRegistrasi") String noRegistrasi);
|
||||
|
||||
@ -81,8 +80,7 @@ public interface AntrianPasienDiPeriksaDao extends PagingAndSortingRepository<An
|
||||
+ "left join antrian.pegawai dokter " + "left join antrian.pasienDaftar pasienDaftar "
|
||||
+ "left join pasienDaftar.pasien pasien " + "where pasien.noCm=:noCm "
|
||||
+ "and to_char(model.tanggalPendaftaran, 'dd-MM-yyyy')=:tglRegistrasi")
|
||||
public List<DiagnosaPasien> findDiagnosaPasien(@Param("noCm") String noCm,
|
||||
@Param("tglRegistrasi") String tglRegistrasi);
|
||||
List<DiagnosaPasien> findDiagnosaPasien(@Param("noCm") String noCm, @Param("tglRegistrasi") String tglRegistrasi);
|
||||
|
||||
@Query("select NEW Map (" + "a.noRec as noRec, " + "a.ruanganId as ruangan, " + "c.id as kelasId) "
|
||||
+ "from AntrianPasienDiPeriksa a " + "left join a.pasienDaftar b " + "left join b.kelas c "
|
||||
@ -188,4 +186,10 @@ public interface AntrianPasienDiPeriksaDao extends PagingAndSortingRepository<An
|
||||
+ "and antrian.tglKeluar is null order by antrian.tglRegistrasi desc")
|
||||
List<AntrianPasienDiPeriksa> findAntrianBefore(@Param("noRec") String noRec, @Param("idRuangan") Integer idRuangan);
|
||||
|
||||
@Query("select distinct new Map(pd.noRec as noRec,pd.kelompokPasienId as kpId) "
|
||||
+ "from AntrianPasienDiPeriksa apd " + "inner join apd.pasienDaftar pd "
|
||||
+ "where apd.statusEnabled is true " + "and pd.statusEnabled is true "
|
||||
+ "and apd.tglMasuk between :tglAwal and :tglAkhir " + "and apd.ruanganId = :ruanganId")
|
||||
List<Map<String, Object>> findAntreanByRuangan(@Param("tglAwal") Date tglAwal,
|
||||
@Param("tglAkhir") Date tglAkhir, @Param("ruanganId") Integer ruanganId);
|
||||
}
|
||||
|
||||
@ -16,13 +16,15 @@ import com.jasamedika.medifirst2000.entities.KelompokPasien;
|
||||
*/
|
||||
@Repository("KelompokPasienDao")
|
||||
public interface KelompokPasienDao extends PagingAndSortingRepository<KelompokPasien, Integer> {
|
||||
|
||||
|
||||
@Query("select p from KelompokPasien p where p.id= (Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdKelompokPasienUmum')")
|
||||
public List<KelompokPasien> getKelompokPasienUmum();
|
||||
|
||||
@Query("select model from KelompokPasien model where model.id=:id")
|
||||
public KelompokPasien findById(@Param("id") Integer id);
|
||||
|
||||
@Query("select model from KelompokPasien model where model.id = (Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='KdKelompokPasienUmum' ) ")
|
||||
public KelompokPasien defaultKelompokPasien();
|
||||
public KelompokPasien defaultKelompokPasien();
|
||||
|
||||
@Query("select p from KelompokPasien p where statusEnabled=true")
|
||||
public List<KelompokPasien> findKelompokPasien();
|
||||
|
||||
@ -15,7 +15,6 @@ import com.jasamedika.medifirst2000.entities.PasienDaftar;
|
||||
|
||||
@Repository("PasienDaftarDao")
|
||||
public interface PasienDaftarDao extends PagingAndSortingRepository<PasienDaftar, String> {
|
||||
|
||||
@Query("select p from PasienDaftar p where date(p.tglPulang) between date(:start) and date(:until)")
|
||||
List<PasienDaftar> findByPasienPulang(@Param("start") Date start, @Param("until") Date until);
|
||||
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.jasamedika.medifirst2000.service;
|
||||
|
||||
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -12,18 +11,27 @@ import com.jasamedika.medifirst2000.entities.PasienDaftar;
|
||||
import com.jasamedika.medifirst2000.entities.StrukRetur;
|
||||
import com.jasamedika.medifirst2000.vo.AntrianPasienDiPeriksaVO;
|
||||
|
||||
public interface AntrianPasienDiPeriksaService
|
||||
extends BaseVoService<AntrianPasienDiPeriksa, AntrianPasienDiPeriksaVO, String> {
|
||||
|
||||
|
||||
public interface AntrianPasienDiPeriksaService <T> extends BaseVoService<AntrianPasienDiPeriksa, AntrianPasienDiPeriksaVO, String> {
|
||||
|
||||
Integer getFormatNumberByMonthYear();
|
||||
Integer getFormatNumberByMonthYearRuangan(Date date,Integer idRuangan);
|
||||
|
||||
Integer getFormatNumberByMonthYearRuangan(Date date, Integer idRuangan);
|
||||
|
||||
Map<String, Object> updateAntrianPasienDiperiksaFromPembatalanPasien(StrukRetur strukRetur, String noRegistrasi);
|
||||
Map<String, Object> saveAntrianPasienDiperiksaFromMasukKamar(PasienDaftar pasienDaftar,AntrianPasienDiPeriksa antrianPasienDiperiksa);
|
||||
|
||||
Map<String, Object> saveAntrianPasienDiperiksaFromMasukKamar(PasienDaftar pasienDaftar,
|
||||
AntrianPasienDiPeriksa antrianPasienDiperiksa);
|
||||
|
||||
Map<String, Object> saveAntrianPasienDiperiksaFromMasukKamar(PasienDaftar pasienDaftar);
|
||||
|
||||
Boolean checkStatusPasien(Integer pasienId, Integer ruanganId);
|
||||
List findAntrian(String noRec);
|
||||
List<Map<String, Object>> findAntrianByPasienDaftar(String noRec,String key);
|
||||
|
||||
List<AntrianPasienDiperiksaDto> findAntrian(String noRec);
|
||||
|
||||
List<Map<String, Object>> findAntrianByPasienDaftar(String noRec, String key);
|
||||
|
||||
Integer getFormatNumberByMonthYearBilik(Integer idRuangan);
|
||||
|
||||
|
||||
Map<String, Object> getAntreanByRuangan(LocalDate tglMasuk, Integer ruanganId);
|
||||
}
|
||||
|
||||
@ -13,7 +13,6 @@ import com.jasamedika.medifirst2000.vo.PasienDaftarVO;
|
||||
import com.jasamedika.medifirst2000.vo.RegistrasiPasienGawatDaruratVO;
|
||||
|
||||
public interface PasienDaftarService extends BaseVoService<PasienDaftar, PasienDaftarVO, String> {
|
||||
|
||||
String getFormatNumberByMonthYear();
|
||||
|
||||
List<PasienDaftar> findPelayananRawatJalan(Short kdProfile, String noCm);
|
||||
@ -49,5 +48,4 @@ public interface PasienDaftarService extends BaseVoService<PasienDaftar, PasienD
|
||||
List<Map<String, Object>> findRekapDiskon(Long periode);
|
||||
|
||||
List<Map<String, Object>> findLogRekapDiskon(String norecPd, String norecSp);
|
||||
|
||||
}
|
||||
|
||||
@ -1,155 +1,118 @@
|
||||
package com.jasamedika.medifirst2000.service.impl;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.jasamedika.medifirst2000.constants.Master;
|
||||
import com.jasamedika.medifirst2000.converter.AntrianPasienDiPeriksaConverter;
|
||||
import com.jasamedika.medifirst2000.dao.AlamatDao;
|
||||
import com.jasamedika.medifirst2000.dao.AntrianPasienDiPeriksaDao;
|
||||
import com.jasamedika.medifirst2000.dao.JadwalDokterDao;
|
||||
import com.jasamedika.medifirst2000.dao.PersetujuanUmumDao;
|
||||
import com.jasamedika.medifirst2000.dao.RunningNumberDao;
|
||||
import com.jasamedika.medifirst2000.dto.AntrianPasienDiperiksaDto;
|
||||
import com.jasamedika.medifirst2000.entities.Alamat;
|
||||
import com.jasamedika.medifirst2000.dao.RunningNumberDao;
|
||||
import com.jasamedika.medifirst2000.entities.AntrianPasienDiPeriksa;
|
||||
import com.jasamedika.medifirst2000.entities.AsalRujukan;
|
||||
import com.jasamedika.medifirst2000.entities.JadwalDokter;
|
||||
import com.jasamedika.medifirst2000.entities.PasienDaftar;
|
||||
import com.jasamedika.medifirst2000.entities.Pegawai;
|
||||
import com.jasamedika.medifirst2000.entities.PersetujuanUmum;
|
||||
import com.jasamedika.medifirst2000.entities.RunningNumber;
|
||||
import com.jasamedika.medifirst2000.entities.StrukRetur;
|
||||
import com.jasamedika.medifirst2000.enums.StatusAntrianEnum;
|
||||
import com.jasamedika.medifirst2000.enums.StatusKunjunganEnum;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.AntrianPasienDiPeriksaService;
|
||||
import com.jasamedika.medifirst2000.util.Age;
|
||||
import com.jasamedika.medifirst2000.util.AgeCalculator;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.util.DateUtil;
|
||||
import com.jasamedika.medifirst2000.util.JsonUtil;
|
||||
import com.jasamedika.medifirst2000.util.StringUtil;
|
||||
import com.jasamedika.medifirst2000.vo.AntrianPasienDiPeriksaVO;
|
||||
import com.jasamedika.medifirst2000.vo.PegawaiVO;
|
||||
|
||||
|
||||
/**
|
||||
* Implement class for PasienService
|
||||
*
|
||||
* @author Adik
|
||||
* @param <T>
|
||||
*/
|
||||
|
||||
|
||||
@Service("antrianPasienDiPeriksaService")
|
||||
public class AntrianPasienDiPeriksaServiceImpl extends BaseVoServiceImpl implements AntrianPasienDiPeriksaService {
|
||||
|
||||
@Autowired
|
||||
private AntrianPasienDiPeriksaDao antrianPasienDiPeriksaDao;
|
||||
|
||||
|
||||
@Autowired
|
||||
private RunningNumberDao runningNumberDao;
|
||||
|
||||
|
||||
@Autowired
|
||||
private AntrianPasienDiPeriksaConverter antrianPasienDiPeriksaConverter;
|
||||
|
||||
|
||||
@Autowired
|
||||
private PersetujuanUmumDao persetujuanUmumDao;
|
||||
|
||||
private AlamatDao alamatDao;
|
||||
|
||||
@Autowired
|
||||
private AlamatDao alamatDao;
|
||||
|
||||
@Override
|
||||
public Object add(Object vo) throws JpaSystemException, ServiceVOException {
|
||||
return null;
|
||||
}
|
||||
private JadwalDokterDao jadwalDokterDao;
|
||||
|
||||
@Override
|
||||
public Object update(Object vo) throws JpaSystemException, ServiceVOException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean delete(Object key) throws JpaSystemException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object findById(Object key) throws JpaSystemException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List findAll() throws JpaSystemException {
|
||||
List<AntrianPasienDiPeriksaVO> vos=new ArrayList<AntrianPasienDiPeriksaVO>();
|
||||
List<AntrianPasienDiPeriksa> models=(List<AntrianPasienDiPeriksa>) antrianPasienDiPeriksaDao.findAll();
|
||||
public List<AntrianPasienDiPeriksaVO> findAll() throws JpaSystemException {
|
||||
List<AntrianPasienDiPeriksaVO> vos = new ArrayList<AntrianPasienDiPeriksaVO>();
|
||||
List<AntrianPasienDiPeriksa> models = (List<AntrianPasienDiPeriksa>) antrianPasienDiPeriksaDao.findAll();
|
||||
antrianPasienDiPeriksaConverter.transferListOfModelToListOfVO(models, vos);
|
||||
return vos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit, String sort,
|
||||
String dir) {
|
||||
return null;
|
||||
public Integer getFormatNumberByMonthYear() {
|
||||
Date dateNow = new Date();
|
||||
Integer countByMonthAndYear = antrianPasienDiPeriksaDao.getCountByMonthAndYear(dateNow);
|
||||
if (countByMonthAndYear == null) {
|
||||
countByMonthAndYear = 1;
|
||||
} else {
|
||||
countByMonthAndYear = countByMonthAndYear + 1;
|
||||
}
|
||||
return countByMonthAndYear;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getFormatNumberByMonthYear() {
|
||||
Date dateNow=new Date();
|
||||
|
||||
Integer countByMonthAndYear=antrianPasienDiPeriksaDao.getCountByMonthAndYear(dateNow);
|
||||
if(countByMonthAndYear==null){
|
||||
countByMonthAndYear=1;
|
||||
}else{
|
||||
countByMonthAndYear=countByMonthAndYear+1;
|
||||
public Integer getFormatNumberByMonthYearRuangan(Date date, Integer idRuangan) {
|
||||
Date dateParam = date;
|
||||
if (date == null)
|
||||
dateParam = new Date();
|
||||
Integer countByMonthAndYear = antrianPasienDiPeriksaDao.getCountByMonthAndYearRuangan(dateParam, idRuangan);
|
||||
if (countByMonthAndYear == null) {
|
||||
countByMonthAndYear = 1;
|
||||
} else {
|
||||
countByMonthAndYear = countByMonthAndYear + 1;
|
||||
}
|
||||
return countByMonthAndYear;
|
||||
}
|
||||
|
||||
|
||||
return countByMonthAndYear;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getFormatNumberByMonthYearRuangan(Date date,Integer idRuangan) {
|
||||
Date dateNow=new Date();
|
||||
if(date==null)
|
||||
date= new Date();
|
||||
|
||||
Integer countByMonthAndYear=antrianPasienDiPeriksaDao.getCountByMonthAndYearRuangan(date,idRuangan);
|
||||
if(countByMonthAndYear==null){
|
||||
countByMonthAndYear=1;
|
||||
}else{
|
||||
countByMonthAndYear=countByMonthAndYear+1;
|
||||
}
|
||||
return countByMonthAndYear;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String,Object> updateAntrianPasienDiperiksaFromPembatalanPasien(StrukRetur strukRetur, String noRec) {
|
||||
AntrianPasienDiPeriksa antrianPasienDiPeriksa=antrianPasienDiPeriksaDao.findByNoRec(noRec);
|
||||
public Map<String, Object> updateAntrianPasienDiperiksaFromPembatalanPasien(StrukRetur strukRetur, String noRec) {
|
||||
AntrianPasienDiPeriksa antrianPasienDiPeriksa = antrianPasienDiPeriksaDao.findByNoRec(noRec);
|
||||
antrianPasienDiPeriksa.setStrukRetur(strukRetur);
|
||||
antrianPasienDiPeriksaDao.save(antrianPasienDiPeriksa);
|
||||
Map<String,Object> result=new HashMap<String,Object>();
|
||||
Map<String, Object> result = new HashMap<String, Object>();
|
||||
result.put("antrianPasienDiperiksa", antrianPasienDiPeriksa);
|
||||
return result;
|
||||
}
|
||||
@Autowired
|
||||
private JadwalDokterDao jadwalDokterDao;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Map<String,Object> saveAntrianPasienDiperiksaFromMasukKamar(PasienDaftar pasienDaftar) {
|
||||
|
||||
AntrianPasienDiPeriksa antrianPasienDiPeriksa=new AntrianPasienDiPeriksa();
|
||||
antrianPasienDiPeriksa.setTglRegistrasi(new Date());
|
||||
public Map<String, Object> saveAntrianPasienDiperiksaFromMasukKamar(PasienDaftar pasienDaftar) {
|
||||
AntrianPasienDiPeriksa antrianPasienDiPeriksa = new AntrianPasienDiPeriksa();
|
||||
antrianPasienDiPeriksa.setTglRegistrasi(new Date());
|
||||
antrianPasienDiPeriksa.setStatusPasien((byte) 1);
|
||||
AsalRujukan asalRujukan = new AsalRujukan();
|
||||
asalRujukan.setId(2);
|
||||
@ -157,12 +120,10 @@ private JadwalDokterDao jadwalDokterDao;
|
||||
antrianPasienDiPeriksa.setRuangan(pasienDaftar.getRuangan());
|
||||
antrianPasienDiPeriksa.setStatusAntrian(StatusAntrianEnum.MASUK_KAMAR.getVal());
|
||||
antrianPasienDiPeriksa.setPegawai(pasienDaftar.getDokterPenanggungJawab());
|
||||
|
||||
PegawaiVO pegawaiVo = new PegawaiVO();
|
||||
|
||||
// pilih dokter yang otomatis dan per quota
|
||||
List<JadwalDokter> jadwalDokters = jadwalDokterDao
|
||||
.findJadwalByTanggalRuangan(pasienDaftar.getRuangan().getId(), pasienDaftar.getTglRegistrasi());
|
||||
List<JadwalDokter> jadwalDokters = jadwalDokterDao.findJadwalByTanggalRuangan(pasienDaftar.getRuangan().getId(),
|
||||
pasienDaftar.getTglRegistrasi());
|
||||
Integer maxQuota = 0;
|
||||
for (JadwalDokter jadwalDokter : jadwalDokters) {
|
||||
if (jadwalDokter.getQuota() != null && jadwalDokter.getQuota() > maxQuota) {
|
||||
@ -176,9 +137,7 @@ private JadwalDokterDao jadwalDokterDao;
|
||||
jadwalDokter.setQuota(jadwalDokter.getQuota() + 1);
|
||||
jadwalDokterDao.save(jadwalDokter);
|
||||
pegawaiVo.setId(jadwalDokter.getDokter().getId());
|
||||
|
||||
antrianPasienDiPeriksa.setPegawai(jadwalDokter.getDokter());
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -195,123 +154,153 @@ private JadwalDokterDao jadwalDokterDao;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
antrianPasienDiPeriksa.setKelas(pasienDaftar.getKelas());
|
||||
if(CommonUtil.isNotNullOrEmpty(pasienDaftar)){
|
||||
if(CommonUtil.isNotNullOrEmpty(pasienDaftar.getRuanganId()) && (CommonUtil.isNotNullOrEmpty(pasienDaftar.getPasienId()))){
|
||||
if(checkStatusPasien(pasienDaftar.getRuanganId(), pasienDaftar.getPasienId())){
|
||||
if (CommonUtil.isNotNullOrEmpty(pasienDaftar)) {
|
||||
if (CommonUtil.isNotNullOrEmpty(pasienDaftar.getRuanganId())
|
||||
&& (CommonUtil.isNotNullOrEmpty(pasienDaftar.getPasienId()))) {
|
||||
if (checkStatusPasien(pasienDaftar.getRuanganId(), pasienDaftar.getPasienId())) {
|
||||
antrianPasienDiPeriksa.setStatusKunjungan(StatusKunjunganEnum.LAMA.getVal());
|
||||
}else{
|
||||
} else {
|
||||
antrianPasienDiPeriksa.setStatusKunjungan(StatusKunjunganEnum.BARU.getVal());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Map<String,Object> result=new HashMap<String,Object>();
|
||||
result =saveAntrianPasienDiperiksaFromMasukKamar(pasienDaftar,antrianPasienDiPeriksa);
|
||||
Map<String, Object> result = new HashMap<String, Object>();
|
||||
result = saveAntrianPasienDiperiksaFromMasukKamar(pasienDaftar, antrianPasienDiPeriksa);
|
||||
result.put("antrianPasienDiPeriksa", antrianPasienDiPeriksa);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List findAntrian(String noRec) {
|
||||
public List<AntrianPasienDiperiksaDto> findAntrian(String noRec) {
|
||||
AntrianPasienDiperiksaDto antrianPasienDiperiksaDto = new AntrianPasienDiperiksaDto();
|
||||
AntrianPasienDiPeriksa antrianPasienDiPeriksa = antrianPasienDiPeriksaDao.findByNoRec(noRec);
|
||||
if (CommonUtil.isNotNullOrEmpty(antrianPasienDiPeriksa)) {
|
||||
antrianPasienDiperiksaDto.setAntrianPasienDiPeriksa(antrianPasienDiPeriksa);
|
||||
Age age = AgeCalculator.calculateAge(antrianPasienDiPeriksa.getPasienDaftar().getPasien().getTglLahir());
|
||||
antrianPasienDiperiksaDto.setUmur(new SimpleDateFormat("dd-MM-yyyy").format(antrianPasienDiPeriksa.getPasienDaftar().getPasien().getTglLahir()));
|
||||
antrianPasienDiperiksaDto.setUmur(new SimpleDateFormat("dd-MM-yyyy")
|
||||
.format(antrianPasienDiPeriksa.getPasienDaftar().getPasien().getTglLahir()));
|
||||
List<Alamat> alamats = alamatDao
|
||||
.findAlamatByIdPasien(antrianPasienDiPeriksa.getPasienDaftar().getPasien().getId());
|
||||
if (CommonUtil.isNotNullOrEmpty(alamats)) {
|
||||
for (Alamat alamat : alamats) {
|
||||
if (CommonUtil.isNotNullOrEmpty(alamat)) {
|
||||
//edit by askur 271020162116
|
||||
//if (CommonUtil.isNotNullOrEmpty(alamat.getIsPrimaryAddress())) {
|
||||
//if (alamat.getIsPrimaryAddress() == 1) {
|
||||
antrianPasienDiperiksaDto.setAlamat(alamat); // setAlamat(alamat.getAlamatLengkap());
|
||||
//}
|
||||
//}
|
||||
//end
|
||||
|
||||
antrianPasienDiperiksaDto.setAlamat(alamat);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
antrianPasienDiperiksaDto.setAntrianPasienDiPeriksa(null);
|
||||
}
|
||||
|
||||
List list = new ArrayList();
|
||||
List<AntrianPasienDiperiksaDto> list = new ArrayList<AntrianPasienDiperiksaDto>();
|
||||
list.add(antrianPasienDiperiksaDto);
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Boolean checkStatusPasien(Integer pasienId,Integer ruanganId){
|
||||
Boolean result=false;
|
||||
List<AntrianPasienDiPeriksa> antrianPasienDiPeriksaList=antrianPasienDiPeriksaDao.findByPasien(pasienId, ruanganId);
|
||||
if(CommonUtil.isNotNullOrEmpty(antrianPasienDiPeriksaList)){
|
||||
result=true;
|
||||
public Boolean checkStatusPasien(Integer pasienId, Integer ruanganId) {
|
||||
Boolean result = false;
|
||||
List<AntrianPasienDiPeriksa> antrianPasienDiPeriksaList = antrianPasienDiPeriksaDao.findByPasien(pasienId,
|
||||
ruanganId);
|
||||
if (CommonUtil.isNotNullOrEmpty(antrianPasienDiPeriksaList)) {
|
||||
result = true;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Map saveAntrianPasienDiperiksaFromMasukKamar(PasienDaftar pasienDaftar,
|
||||
AntrianPasienDiPeriksa antrianPasienDiperiksa) {
|
||||
|
||||
// PersetujuanUmum persetujuanUmum=new PersetujuanUmum();
|
||||
List<PersetujuanUmum> listPersetujuanUmum=persetujuanUmumDao.findByPasienDaftar(pasienDaftar.getNoRegistrasi(), (short) 0);
|
||||
RunningNumber runningNumber = runningNumberDao.findByResetAndKegunaan("0", "AntrianPasienDiPeriksa");
|
||||
|
||||
Integer number=(runningNumber.getNomerTerbaru()+(Integer)1);
|
||||
runningNumber.setNomerTerbaru(runningNumber.getNomerTerbaru()+(Integer)1);
|
||||
antrianPasienDiperiksa.setPasienDaftar(pasienDaftar);
|
||||
|
||||
antrianPasienDiperiksa.setNoAntrian(getFormatNumberByMonthYearRuangan(antrianPasienDiperiksa.getTglRegistrasi(),antrianPasienDiperiksa.getRuangan().getId()));
|
||||
String missNoCm = StringUtil.formatNumber(number.toString(), 10);
|
||||
antrianPasienDiperiksa.setNoMasuk(missNoCm);
|
||||
if(antrianPasienDiperiksa.getStatusAntrian()==null)
|
||||
antrianPasienDiperiksa.setStatusAntrian("4");
|
||||
antrianPasienDiPeriksaDao.save(antrianPasienDiperiksa);
|
||||
if(CommonUtil.isNotNullOrEmpty(listPersetujuanUmum)){
|
||||
|
||||
}
|
||||
runningNumberDao.save(runningNumber);
|
||||
Map<String,Object> result=new HashMap<String,Object>();
|
||||
result.put("antrianPasienDiPeriksa", antrianPasienDiperiksa);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List findAntrianByPasienDaftar(String noRec,String key) {
|
||||
PasienDaftar pasienDaftar = antrianPasienDiPeriksaDao.findOne(noRec).getPasienDaftar();
|
||||
|
||||
@Transactional
|
||||
public Map<String, Object> saveAntrianPasienDiperiksaFromMasukKamar(PasienDaftar pasienDaftar,
|
||||
AntrianPasienDiPeriksa antrianPasienDiperiksa) {
|
||||
RunningNumber runningNumber = runningNumberDao.findByResetAndKegunaan("0", "AntrianPasienDiPeriksa");
|
||||
Integer number = (runningNumber.getNomerTerbaru() + (Integer) 1);
|
||||
runningNumber.setNomerTerbaru(runningNumber.getNomerTerbaru() + (Integer) 1);
|
||||
antrianPasienDiperiksa.setPasienDaftar(pasienDaftar);
|
||||
antrianPasienDiperiksa.setNoAntrian(getFormatNumberByMonthYearRuangan(antrianPasienDiperiksa.getTglRegistrasi(),
|
||||
antrianPasienDiperiksa.getRuangan().getId()));
|
||||
String missNoCm = StringUtil.formatNumber(number.toString(), 10);
|
||||
antrianPasienDiperiksa.setNoMasuk(missNoCm);
|
||||
if (antrianPasienDiperiksa.getStatusAntrian() == null)
|
||||
antrianPasienDiperiksa.setStatusAntrian("4");
|
||||
antrianPasienDiPeriksaDao.save(antrianPasienDiperiksa);
|
||||
runningNumberDao.save(runningNumber);
|
||||
Map<String, Object> result = new HashMap<String, Object>();
|
||||
result.put("antrianPasienDiPeriksa", antrianPasienDiperiksa);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findAntrianByPasienDaftar(String noRec, String key) {
|
||||
PasienDaftar pasienDaftar = antrianPasienDiPeriksaDao.findOne(noRec).getPasienDaftar();
|
||||
try {
|
||||
return JsonUtil.ToMaps( antrianPasienDiPeriksaDao.findByPasienDaftarNoRecAndStrukOrderNoOrderInternStartingWith(pasienDaftar.getNoRec(),key));
|
||||
return JsonUtil.ToMaps(antrianPasienDiPeriksaDao
|
||||
.findByPasienDaftarNoRecAndStrukOrderNoOrderInternStartingWith(pasienDaftar.getNoRec(), key));
|
||||
} catch (IllegalArgumentException | IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Integer getFormatNumberByMonthYearBilik(Integer idRuangan) {
|
||||
Date dateNow=new Date();
|
||||
|
||||
Integer countByMonthAndYear=antrianPasienDiPeriksaDao.getCountByMonthAndYearBilik(dateNow,idRuangan);
|
||||
if(countByMonthAndYear==null){
|
||||
countByMonthAndYear=1;
|
||||
}else{
|
||||
countByMonthAndYear=countByMonthAndYear+1;
|
||||
Date dateNow = new Date();
|
||||
Integer countByMonthAndYear = antrianPasienDiPeriksaDao.getCountByMonthAndYearBilik(dateNow, idRuangan);
|
||||
if (countByMonthAndYear == null) {
|
||||
countByMonthAndYear = 1;
|
||||
} else {
|
||||
countByMonthAndYear = countByMonthAndYear + 1;
|
||||
}
|
||||
return countByMonthAndYear;
|
||||
}
|
||||
return countByMonthAndYear;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AntrianPasienDiPeriksaVO add(AntrianPasienDiPeriksaVO vo) throws JpaSystemException, ServiceVOException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AntrianPasienDiPeriksaVO update(AntrianPasienDiPeriksaVO vo) throws JpaSystemException, ServiceVOException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean delete(String key) throws JpaSystemException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AntrianPasienDiPeriksaVO findById(String key) throws JpaSystemException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
|
||||
String sort, String dir) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getAntreanByRuangan(LocalDate tglMasuk, Integer ruanganId) {
|
||||
LocalDateTime start = LocalDateTime.of(tglMasuk, LocalTime.MIN);
|
||||
Date tglAwal = Date.from(start.atZone(ZoneId.systemDefault()).toInstant());
|
||||
LocalDateTime end = LocalDateTime.of(tglMasuk, LocalTime.MAX);
|
||||
Date tglAkhir = Date.from(end.atZone(ZoneId.systemDefault()).toInstant());
|
||||
List<Map<String, Object>> listAntrean = antrianPasienDiPeriksaDao.findAntreanByRuangan(tglAwal, tglAkhir,
|
||||
ruanganId);
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
if (listAntrean.size() > 0) {
|
||||
List<Map<String, Object>> listJkn = listAntrean.stream()
|
||||
.filter(m -> Master.KelompokPasien.BPJS.equals(m.get("kpId"))).collect(Collectors.toList());
|
||||
List<Map<String, Object>> listNonJkn = listAntrean.stream()
|
||||
.filter(m -> !Master.KelompokPasien.BPJS.equals(m.get("kpId"))).collect(Collectors.toList());
|
||||
result.put("antreanJkn", listJkn.size());
|
||||
result.put("antreanNonJkn", listNonJkn.size());
|
||||
return result;
|
||||
} else {
|
||||
result.put("antreanJkn", listAntrean.size());
|
||||
result.put("antreanNonJkn", listAntrean.size());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,8 @@ import com.jasamedika.medifirst2000.helper.Caption;
|
||||
@Table(name = "AntrianPasienDiPeriksa_T")
|
||||
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
|
||||
public class AntrianPasienDiPeriksa extends BaseTransaction {
|
||||
|
||||
private static final long serialVersionUID = 1243474652074108524L;
|
||||
|
||||
@ManyToOne(fetch=FetchType.LAZY)
|
||||
@JoinColumn(name = "ObjectKelasFk")
|
||||
@Caption(value="Object Kelas")
|
||||
|
||||
@ -22,6 +22,7 @@ import com.jasamedika.medifirst2000.helper.Caption;
|
||||
@Table(name = "PasienDaftar_T")
|
||||
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
|
||||
public class PasienDaftar extends BaseTransaction {
|
||||
private static final long serialVersionUID = 123252008244779475L;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ObjectRekananFk")
|
||||
@ -695,5 +696,4 @@ public class PasienDaftar extends BaseTransaction {
|
||||
public void setDiskonPegawai(Integer diskonPegawai) {
|
||||
this.diskonPegawai = diskonPegawai;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
package com.jasamedika.medifirst2000.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import javax.persistence.*;
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
|
||||
import com.jasamedika.medifirst2000.entities.StrukOrder;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
|
||||
public class AntrianPasienDiPeriksaVO extends BaseTransactionVO {
|
||||
|
||||
@Caption(value="Object Kelas")
|
||||
private KelasVO kelas;
|
||||
|
||||
@ -238,6 +238,4 @@ public class AntrianPasienDiPeriksaVO extends BaseTransactionVO {
|
||||
public void setRuanganAsal(RuanganVO ruanganAsal) {
|
||||
this.ruanganAsal = ruanganAsal;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -4,26 +4,18 @@ import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.persistence.CascadeType;
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.FetchType;
|
||||
import javax.persistence.ManyToOne;
|
||||
import javax.persistence.OneToMany;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
|
||||
public class PasienDaftarVO extends BaseTransactionVO {
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Object Rekanan")
|
||||
private RekananVO rekanan;
|
||||
|
||||
@Caption(value = "Total Biaya")
|
||||
private Double totalBiaya;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Object Status Keluar")
|
||||
private StatusKeluarVO statusKeluar;
|
||||
|
||||
@ -45,36 +37,29 @@ public class PasienDaftarVO extends BaseTransactionVO {
|
||||
@Caption(value = "Is Registrasi Lengkap")
|
||||
private Byte isRegistrasiLengkap;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Object Kasus Penyakit Last")
|
||||
private KasusPenyakitVO kasusPenyakit;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Penanggung Jawab pasien")
|
||||
private PegawaiVO dokterPenanggungJawab;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@NotNull(message = "Kd Kelompok Pasien Last tidak boleh kosong")
|
||||
@Caption(value = "Object Kelompok Pasien Last")
|
||||
private KelompokPasienVO kelompokPasien;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Object Ruangan Last")
|
||||
private RuanganVO ruangan;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "RuanganNextSchedule")
|
||||
private RuanganVO ruanganNextSchedule;
|
||||
|
||||
@Caption(value = "StatusSchedule")
|
||||
private String statusSchedule;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@NotNull(message = "No C M Harus Diisi")
|
||||
@Caption(value = "No C M")
|
||||
private PasienVO pasien;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "No Registrasi")
|
||||
private PenanggungJawabPasienVO penanggungJawabPasien;
|
||||
|
||||
@ -85,11 +70,9 @@ public class PasienDaftarVO extends BaseTransactionVO {
|
||||
@Caption(value = "Tanggal Registrasi")
|
||||
private Date tglRegistrasi;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Object Status Pulang")
|
||||
private StatusPulangVO statusPulang;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Object Kondisi Pasien")
|
||||
private KondisiPasienVO kondisiPasien;
|
||||
|
||||
@ -102,36 +85,27 @@ public class PasienDaftarVO extends BaseTransactionVO {
|
||||
@Caption(value = "Jenis Pelayanan")
|
||||
private String jenisPelayanan;
|
||||
|
||||
@Column(name = "NamaLengkapAmbilPasien", nullable = true, length = 40)
|
||||
@Caption(value = "Nama Lengkap Ambil Pasien")
|
||||
private String namaLengkapAmbilPasien;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Object Hubungan Keluarga Ambil Pasien")
|
||||
private HubunganKeluargaVO hubunganKeluarga;
|
||||
|
||||
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "pasienDaftar")
|
||||
private Set<AntrianPasienDiPeriksaVO> antrianPasienDiPeriksaSet = new HashSet<>();
|
||||
|
||||
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "pasienDaftar")
|
||||
private Set<DiputuskanDetailVO> diputuskanDetailSet = new HashSet<>();
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Object Kelas")
|
||||
private KelasVO kelas;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Penyebab Kematian")
|
||||
private PenyebabKematianVO penyebabKematian;
|
||||
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Dokter Pemeriksa")
|
||||
private PegawaiVO dokterPemeriksa;
|
||||
|
||||
@Column(name = "ObjectDokterPemeriksaFk", insertable = false, updatable = false)
|
||||
private Integer dokterPemeriksaId;
|
||||
|
||||
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "pasienDaftar")
|
||||
private Set<MapPasienDpjpToPasienDaftarVO> mapPasienDpjpToPasienDaftar = new HashSet<MapPasienDpjpToPasienDaftarVO>();
|
||||
|
||||
@Caption(value = "emergensi")
|
||||
@ -411,5 +385,4 @@ public class PasienDaftarVO extends BaseTransactionVO {
|
||||
public void setDiskonPegawai(Integer diskonPegawai) {
|
||||
this.diskonPegawai = diskonPegawai;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user