Merge branch 'dev/report/konsultasi-kosong' into prod/base
This commit is contained in:
commit
cb6b91f1ed
@ -1,23 +1,22 @@
|
|||||||
package com.jasamedika.medifirst2000.dao;
|
package com.jasamedika.medifirst2000.dao;
|
||||||
|
|
||||||
import java.util.Date;
|
import com.jasamedika.medifirst2000.entities.Konsultasi;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||||
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.jpa.repository.Query;
|
||||||
import org.springframework.data.repository.PagingAndSortingRepository;
|
import org.springframework.data.repository.PagingAndSortingRepository;
|
||||||
import org.springframework.data.repository.query.Param;
|
import org.springframework.data.repository.query.Param;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.entities.Konsultasi;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Repository("KonsultasiDao")
|
@Repository("KonsultasiDao")
|
||||||
public interface KonsultasiDao
|
public interface KonsultasiDao
|
||||||
extends PagingAndSortingRepository<Konsultasi, String>, JpaSpecificationExecutor<Konsultasi> {
|
extends PagingAndSortingRepository<Konsultasi, String>, JpaSpecificationExecutor<Konsultasi> {
|
||||||
|
|
||||||
@Query("select model from Konsultasi model where model.antrianPasienDiPeriksa.noRec=:noRec")
|
@Query("select model from Konsultasi model where model.antrianPasienDiPeriksa.noRec=:noRec")
|
||||||
public List<Konsultasi> findAllByNoRecAntrian(@Param("noRec") String noRec);
|
List<Konsultasi> findAllByNoRecAntrian(@Param("noRec") String noRec);
|
||||||
|
|
||||||
@Query("select new map (strukOrder.noRec as noRec, " + "ruanganAsal.id as idRuanganAsal, "
|
@Query("select new map (strukOrder.noRec as noRec, " + "ruanganAsal.id as idRuanganAsal, "
|
||||||
+ "ruanganAsal.namaRuangan as namaRuanganAsal, " + "ruanganTujuan.id as idRuanganTujuan, "
|
+ "ruanganAsal.namaRuangan as namaRuanganAsal, " + "ruanganTujuan.id as idRuanganTujuan, "
|
||||||
@ -28,29 +27,31 @@ public interface KonsultasiDao
|
|||||||
+ "left join strukOrder.noRegistrasi pasienDaftar " + "left join pasienDaftar.pasien pasien, "
|
+ "left join strukOrder.noRegistrasi pasienDaftar " + "left join pasienDaftar.pasien pasien, "
|
||||||
+ "AntrianPasienDiPeriksa antrian " + "where antrian.strukOrderId = strukOrder.noRec "
|
+ "AntrianPasienDiPeriksa antrian " + "where antrian.strukOrderId = strukOrder.noRec "
|
||||||
+ "and pasien.noCm = :noCm and to_char(strukOrder.tglOrder,'yyyy-MM-dd')between :startDate and :endDate")
|
+ "and pasien.noCm = :noCm and to_char(strukOrder.tglOrder,'yyyy-MM-dd')between :startDate and :endDate")
|
||||||
public List<Map<String, Object>> findRiwayatKonsultasi(@Param("noCm") String noCm,
|
List<Map<String, Object>> findRiwayatKonsultasi(@Param("noCm") String noCm, @Param("startDate") String startDate,
|
||||||
@Param("startDate") String startDate, @Param("endDate") String endDate);
|
@Param("endDate") String endDate);
|
||||||
|
|
||||||
@Query("select NEW Map(" + "a.noRec as noRecJawaban," + "a.keteranganLainnya as keteranganKonsultasi,"
|
@Query("select NEW Map(" + "a.noRec as noRecJawaban," + "a.keteranganLainnya as keteranganKonsultasi,"
|
||||||
+ "a.jawabanKonsultasi as jawabanKonsultasi) " + "from PasienDiRujukKeIntExt a "
|
+ "a.jawabanKonsultasi as jawabanKonsultasi) " + "from PasienDiRujukKeIntExt a "
|
||||||
+ "left join a.noRegistrasi b " + "where b.noRec=:noRec")
|
+ "left join a.noRegistrasi b " + "where b.noRec=:noRec")
|
||||||
public Map<String, Object> getIkhtiarKlinik(@Param("noRec") String noRec);
|
Map<String, Object> getIkhtiarKlinik(@Param("noRec") String noRec);
|
||||||
|
|
||||||
@Query("select new Map(pd.noRegistrasi as noRegistrasi, " + "ps.namaPasien as namaPasien, "
|
@Query("select new Map(pd.noRegistrasi as noRegistrasi, " + "ps.namaPasien as namaPasien, "
|
||||||
+ "rk.namaRekanan as namaRekanan, " + "ru.namaRuangan as namaRuangan, "
|
+ "rk.namaRekanan as namaRekanan, " + "ru.namaRuangan as namaRuangan, "
|
||||||
+ "to_char(pp.tglPelayanan,'yyyy-MM-dd HH:mm') as tglPelayanan, " + "pr.namaProduk as namaProduk, " + "pp.hargaJual as hargaJual, "
|
+ "to_char(pp.tglPelayanan,'yyyy-MM-dd HH:mm') as tglPelayanan, " + "pr.namaProduk as namaProduk, "
|
||||||
+ "pg.namaLengkap as pegawaiTindakan, " + "dpj.namaLengkap as dokterPenanggungJawab) "
|
+ "pp.hargaJual as hargaJual, " + "pg.namaLengkap as pegawaiTindakan, "
|
||||||
+ "from PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp " + "left join ppp.kdpegawai pg "
|
+ "dpj.namaLengkap as dokterPenanggungJawab) " + "from PelayananPasienPetugas ppp "
|
||||||
+ "inner join pp.produk pr " + "inner join pp.pasienDaftar apd " + "inner join pr.detailJenisProduk djp "
|
+ "inner join ppp.pelayananPasien pp " + "left join ppp.kdpegawai pg " + "inner join pp.produk pr "
|
||||||
|
+ "inner join pp.pasienDaftar apd " + "inner join pr.detailJenisProduk djp "
|
||||||
+ "inner join apd.pasienDaftar pd " + "inner join pd.pasien ps " + "left join pd.dokterPenanggungJawab dpj "
|
+ "inner join apd.pasienDaftar pd " + "inner join pd.pasien ps " + "left join pd.dokterPenanggungJawab dpj "
|
||||||
+ "inner join apd.ruangan ru " + "left join pd.rekanan rk "
|
+ "inner join apd.ruangan ru " + "left join pd.rekanan rk "
|
||||||
+ "where pp.tglPelayanan between :tglAwal and :tglAkhir " + "and ru.departemenId not in (:listIdDepartemen) "
|
+ "where pp.tglPelayanan between :tglAwal and :tglAkhir "
|
||||||
+ "and (pg.id is null or pg.id in (:listIdPegawai)) " + "and pr.id <> :idProduk "
|
+ "and ru.departemenId not in (:listIdDepartemen) " + "and (pg.id is null or pg.id in (:listIdPegawai)) "
|
||||||
+ "and djp.jenisProdukId not in (:listIdJenisProduk) " + "and djp.id not in (:listIdDetailJenisProduk) "
|
+ "and pr.id not in (:listKarcisIdProduk) " + "and djp.jenisProdukId not in (:listIdJenisProduk) "
|
||||||
+ "order by dpj.namaLengkap, ru.namaRuangan")
|
+ "and djp.id not in (:listIdDetailJenisProduk) " + "order by dpj.namaLengkap, ru.namaRuangan")
|
||||||
public List<Map<String, Object>> findAllKonsultasiTindakanKosong(@Param("tglAwal") Date tglAwal,
|
List<Map<String, Object>> findAllKonsultasiTindakanKosong(@Param("tglAwal") Date tglAwal,
|
||||||
@Param("tglAkhir") Date tglAkhir, @Param("listIdDepartemen") List<Integer> listIdDepartemen,
|
@Param("tglAkhir") Date tglAkhir, @Param("listIdDepartemen") List<Integer> listIdDepartemen,
|
||||||
@Param("listIdPegawai") List<Integer> listIdPegawai, @Param("idProduk") Integer idProduk,
|
@Param("listIdPegawai") List<Integer> listIdPegawai,
|
||||||
|
@Param("listKarcisIdProduk") List<Integer> listKarcisIdProduk,
|
||||||
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk,
|
@Param("listIdJenisProduk") List<Integer> listIdJenisProduk,
|
||||||
@Param("listIdDetailJenisProduk") List<Integer> listIdDetailJenisProduk);
|
@Param("listIdDetailJenisProduk") List<Integer> listIdDetailJenisProduk);
|
||||||
|
|
||||||
|
|||||||
@ -1,41 +1,10 @@
|
|||||||
package com.jasamedika.medifirst2000.service.impl;
|
package com.jasamedika.medifirst2000.service.impl;
|
||||||
|
|
||||||
import java.text.ParseException;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
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.constants.Master;
|
||||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||||
import com.jasamedika.medifirst2000.dao.AntrianPasienDiPeriksaDao;
|
import com.jasamedika.medifirst2000.dao.*;
|
||||||
import com.jasamedika.medifirst2000.dao.JadwalDokterDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.KonsultasiDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.PasienDaftarDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.PasienDiRujukKeIntExtDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.RuanganDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.RunningNumberDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.StrukOrderDao;
|
|
||||||
import com.jasamedika.medifirst2000.dto.RuanganJumlah;
|
import com.jasamedika.medifirst2000.dto.RuanganJumlah;
|
||||||
import com.jasamedika.medifirst2000.entities.AntrianPasienDiPeriksa;
|
import com.jasamedika.medifirst2000.entities.*;
|
||||||
import com.jasamedika.medifirst2000.entities.JadwalDokter;
|
|
||||||
import com.jasamedika.medifirst2000.entities.Konsultasi;
|
|
||||||
import com.jasamedika.medifirst2000.entities.PasienDaftar;
|
|
||||||
import com.jasamedika.medifirst2000.entities.PasienDiRujukKeIntExt;
|
|
||||||
import com.jasamedika.medifirst2000.entities.Pegawai;
|
|
||||||
import com.jasamedika.medifirst2000.entities.Ruangan;
|
|
||||||
import com.jasamedika.medifirst2000.entities.RunningNumber;
|
|
||||||
import com.jasamedika.medifirst2000.entities.StrukOrder;
|
|
||||||
import com.jasamedika.medifirst2000.enums.StatusAntrianEnum;
|
import com.jasamedika.medifirst2000.enums.StatusAntrianEnum;
|
||||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||||
import com.jasamedika.medifirst2000.service.AntrianPasienDiPeriksaService;
|
import com.jasamedika.medifirst2000.service.AntrianPasienDiPeriksaService;
|
||||||
@ -48,6 +17,14 @@ import com.jasamedika.medifirst2000.util.StringUtil;
|
|||||||
import com.jasamedika.medifirst2000.vo.KonsultasiVO;
|
import com.jasamedika.medifirst2000.vo.KonsultasiVO;
|
||||||
import com.jasamedika.medifirst2000.vo.PegawaiVO;
|
import com.jasamedika.medifirst2000.vo.PegawaiVO;
|
||||||
import com.jasamedika.medifirst2000.vo.RuanganVO;
|
import com.jasamedika.medifirst2000.vo.RuanganVO;
|
||||||
|
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 java.text.ParseException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implement class for PAPSkriningGiziService
|
* Implement class for PAPSkriningGiziService
|
||||||
@ -97,7 +74,7 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> addKonsultasi(KonsultasiVO vo) {
|
public Map<String, Object> addKonsultasi(KonsultasiVO vo) {
|
||||||
Map<String, Object> result = new HashMap<String, Object>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
Konsultasi konsultasi = konsultasiConverter.transferVOToModel(vo, new Konsultasi());
|
Konsultasi konsultasi = konsultasiConverter.transferVOToModel(vo, new Konsultasi());
|
||||||
AntrianPasienDiPeriksa antrian = antrianPasienDiPeriksaDao
|
AntrianPasienDiPeriksa antrian = antrianPasienDiPeriksaDao
|
||||||
.findByNoRec(vo.getAntrianPasienDiPeriksa().getNoRec());
|
.findByNoRec(vo.getAntrianPasienDiPeriksa().getNoRec());
|
||||||
@ -109,18 +86,16 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
Konsultasi resultModel = konsultasiDao.save(konsultasi);
|
Konsultasi resultModel = konsultasiDao.save(konsultasi);
|
||||||
try {
|
try {
|
||||||
result.put("konsultasi", JsonUtil.ToMapObject(resultModel));
|
result.put("konsultasi", JsonUtil.ToMapObject(resultModel));
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException | IllegalAccessException e) {
|
||||||
e.printStackTrace();
|
throw new ServiceVOException(e.getMessage());
|
||||||
} catch (IllegalAccessException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(readOnly = false)
|
@Transactional
|
||||||
public Map<String, Object> addKonsultasi2(KonsultasiVO vo) {
|
public Map<String, Object> addKonsultasi2(KonsultasiVO vo) {
|
||||||
Map<String, Object> result = new HashMap<String, Object>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
|
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
|
||||||
PasienDiRujukKeIntExt pasienDiRujukKeIntExt = pasienDiRujukKeIntExtDao.findOne(vo.getNoRec());
|
PasienDiRujukKeIntExt pasienDiRujukKeIntExt = pasienDiRujukKeIntExtDao.findOne(vo.getNoRec());
|
||||||
pasienDiRujukKeIntExt.setJawabanKonsultasi(vo.getJawabanKonsultasi());
|
pasienDiRujukKeIntExt.setJawabanKonsultasi(vo.getJawabanKonsultasi());
|
||||||
@ -132,46 +107,19 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
AntrianPasienDiPeriksa antrian = antrianPasienDiPeriksaDao
|
AntrianPasienDiPeriksa antrian = antrianPasienDiPeriksaDao
|
||||||
.findByNoRec(vo.getAntrianPasienDiPeriksa().getNoRec());
|
.findByNoRec(vo.getAntrianPasienDiPeriksa().getNoRec());
|
||||||
PasienDaftar pasienDaftar = antrian.getPasienDaftar();
|
PasienDaftar pasienDaftar = antrian.getPasienDaftar();
|
||||||
Ruangan ruanganTujuan = null;
|
Ruangan ruanganTujuan;
|
||||||
Integer hitungBilik = ruanganDao.countRuanganBilik(vo.getTujuanKonsultasi().getId());
|
Integer hitungBilik = ruanganDao.countRuanganBilik(vo.getTujuanKonsultasi().getId());
|
||||||
// System.out.println("QQQQQQQQQQQQQQQQ : "+"
|
|
||||||
// "+vo.getTujuanKonsultasi().getId()+"
|
|
||||||
// "+vo.getTanggalKonsultasi());
|
|
||||||
if (hitungBilik == 0) {
|
if (hitungBilik == 0) {
|
||||||
ruanganTujuan = ruanganConverter.transferVOToModel(vo.getTujuanKonsultasi(), new Ruangan());
|
ruanganTujuan = ruanganConverter.transferVOToModel(vo.getTujuanKonsultasi(), new Ruangan());
|
||||||
} else {
|
} else {
|
||||||
Ruangan r = findRuanganBilik(vo.getTujuanKonsultasi().getId(), vo.getTanggalKonsultasi());
|
ruanganTujuan = findRuanganBilik(vo.getTujuanKonsultasi().getId(), vo.getTanggalKonsultasi());
|
||||||
ruanganTujuan = r;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ruangan
|
|
||||||
// ruanganTujuan=ruanganConverter.transferVOToModel(vo.getTujuanKonsultasi(),
|
|
||||||
// new Ruangan());
|
|
||||||
Ruangan ruanganAsal = antrian.getRuangan();
|
Ruangan ruanganAsal = antrian.getRuangan();
|
||||||
|
|
||||||
// save konsultasi ke antrian pasien di periksa
|
|
||||||
AntrianPasienDiPeriksa antrianPasienDiPeriksa = new AntrianPasienDiPeriksa();
|
AntrianPasienDiPeriksa antrianPasienDiPeriksa = new AntrianPasienDiPeriksa();
|
||||||
antrianPasienDiPeriksa.setRuangan(ruanganTujuan);
|
antrianPasienDiPeriksa.setRuangan(ruanganTujuan);
|
||||||
StrukOrder strukOrder = new StrukOrder();
|
StrukOrder strukOrder = setAndGetStrukOrder(pasienDaftar, ruanganTujuan, ruanganAsal);
|
||||||
strukOrder.setNoOrder(getRunningNumber("NoOrder"));
|
|
||||||
strukOrder.setTglOrder(new Date());
|
|
||||||
strukOrder.setIsDelivered((byte) 1);
|
|
||||||
strukOrder.setQtyJenisProduk(1.0);
|
|
||||||
strukOrder.setNoCm(pasienDaftar.getPasien());
|
|
||||||
strukOrder.setNoRegistrasi(pasienDaftar);
|
|
||||||
strukOrder.setQtyProduk(1.0);
|
|
||||||
strukOrder.setTotalBeaMaterai(0.0);
|
|
||||||
strukOrder.setTotalBiayaKirim(0.0);
|
|
||||||
strukOrder.setTotalBiayaTambahan(0.0);
|
|
||||||
strukOrder.setTotalHargaSatuan(0.0);
|
|
||||||
strukOrder.setTotalDiscount(0.0);
|
|
||||||
strukOrder.setTotalHarusDibayar(0.0);
|
|
||||||
strukOrder.setTotalPph(0.0);
|
|
||||||
strukOrder.setTotalPpn(0.0);
|
|
||||||
strukOrder.setRuanganTujuan(ruanganTujuan);
|
|
||||||
strukOrder.setRuangan(ruanganAsal);
|
|
||||||
strukOrder.setKeteranganOrder("Konsultasi");
|
|
||||||
strukOrder.setPegawaiOrder(loginUserService.getLoginUser().getPegawai());
|
|
||||||
StrukOrder strukOrderSave = strukOrderDao.save(strukOrder);
|
StrukOrder strukOrderSave = strukOrderDao.save(strukOrder);
|
||||||
antrianPasienDiPeriksa.setStrukOrder(strukOrderSave);
|
antrianPasienDiPeriksa.setStrukOrder(strukOrderSave);
|
||||||
antrianPasienDiPeriksa.setTglRegistrasi(strukOrderSave.getTglOrder());
|
antrianPasienDiPeriksa.setTglRegistrasi(strukOrderSave.getTglOrder());
|
||||||
@ -179,7 +127,6 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
|
|
||||||
PegawaiVO pegawaiVo = new PegawaiVO();
|
PegawaiVO pegawaiVo = new PegawaiVO();
|
||||||
|
|
||||||
// pilih dokter yang otomatis dan per quota
|
|
||||||
List<JadwalDokter> jadwalDokters = jadwalDokterDao.findJadwalByTanggalRuangan(ruanganTujuan.getId(),
|
List<JadwalDokter> jadwalDokters = jadwalDokterDao.findJadwalByTanggalRuangan(ruanganTujuan.getId(),
|
||||||
vo.getTanggalKonsultasi());
|
vo.getTanggalKonsultasi());
|
||||||
Integer maxQuota = 0;
|
Integer maxQuota = 0;
|
||||||
@ -188,7 +135,7 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
maxQuota = jadwalDokter.getQuota();
|
maxQuota = jadwalDokter.getQuota();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Boolean valid = false;
|
boolean valid = false;
|
||||||
for (JadwalDokter jadwalDokter : jadwalDokters) {
|
for (JadwalDokter jadwalDokter : jadwalDokters) {
|
||||||
if (jadwalDokter.getQuota() != null && jadwalDokter.getQuota() < maxQuota) {
|
if (jadwalDokter.getQuota() != null && jadwalDokter.getQuota() < maxQuota) {
|
||||||
valid = true;
|
valid = true;
|
||||||
@ -201,8 +148,7 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
}
|
}
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
for (JadwalDokter jadwalDokter : jadwalDokters) {
|
for (JadwalDokter jadwalDokter : jadwalDokters) {
|
||||||
if (jadwalDokter.getQuota() == null || jadwalDokter.getQuota() == maxQuota) {
|
if (jadwalDokter.getQuota() == null || Objects.equals(jadwalDokter.getQuota(), maxQuota)) {
|
||||||
valid = true;
|
|
||||||
if (jadwalDokter.getQuota() == null)
|
if (jadwalDokter.getQuota() == null)
|
||||||
jadwalDokter.setQuota(0);
|
jadwalDokter.setQuota(0);
|
||||||
jadwalDokter.setQuota(jadwalDokter.getQuota() + 1);
|
jadwalDokter.setQuota(jadwalDokter.getQuota() + 1);
|
||||||
@ -212,7 +158,7 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // added by susy 2017-09-18
|
}
|
||||||
if (CommonUtil.isNotNullOrEmpty(pasienDaftar)) {
|
if (CommonUtil.isNotNullOrEmpty(pasienDaftar)) {
|
||||||
pasienDaftar.setRuangan(ruanganTujuan);
|
pasienDaftar.setRuangan(ruanganTujuan);
|
||||||
antrianPasienDiPeriksa.setPasienDaftar(pasienDaftar);
|
antrianPasienDiPeriksa.setPasienDaftar(pasienDaftar);
|
||||||
@ -252,15 +198,37 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
PasienDiRujukKeIntExt resultModel = pasienDiRujukKeIntExtDao.save(pasienDiRujukKeIntExt);
|
PasienDiRujukKeIntExt resultModel = pasienDiRujukKeIntExtDao.save(pasienDiRujukKeIntExt);
|
||||||
try {
|
try {
|
||||||
result.put("konsultasi", JsonUtil.ToMapObject(resultModel));
|
result.put("konsultasi", JsonUtil.ToMapObject(resultModel));
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException | IllegalAccessException e) {
|
||||||
e.printStackTrace();
|
throw new ServiceVOException(e.getMessage());
|
||||||
} catch (IllegalAccessException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private StrukOrder setAndGetStrukOrder(PasienDaftar pasienDaftar, Ruangan ruanganTujuan, Ruangan ruanganAsal) {
|
||||||
|
StrukOrder strukOrder = new StrukOrder();
|
||||||
|
strukOrder.setNoOrder(getRunningNumber());
|
||||||
|
strukOrder.setTglOrder(new Date());
|
||||||
|
strukOrder.setIsDelivered((byte) 1);
|
||||||
|
strukOrder.setQtyJenisProduk(1.0);
|
||||||
|
strukOrder.setNoCm(pasienDaftar.getPasien());
|
||||||
|
strukOrder.setNoRegistrasi(pasienDaftar);
|
||||||
|
strukOrder.setQtyProduk(1.0);
|
||||||
|
strukOrder.setTotalBeaMaterai(0.0);
|
||||||
|
strukOrder.setTotalBiayaKirim(0.0);
|
||||||
|
strukOrder.setTotalBiayaTambahan(0.0);
|
||||||
|
strukOrder.setTotalHargaSatuan(0.0);
|
||||||
|
strukOrder.setTotalDiscount(0.0);
|
||||||
|
strukOrder.setTotalHarusDibayar(0.0);
|
||||||
|
strukOrder.setTotalPph(0.0);
|
||||||
|
strukOrder.setTotalPpn(0.0);
|
||||||
|
strukOrder.setRuanganTujuan(ruanganTujuan);
|
||||||
|
strukOrder.setRuangan(ruanganAsal);
|
||||||
|
strukOrder.setKeteranganOrder("Konsultasi");
|
||||||
|
strukOrder.setPegawaiOrder(loginUserService.getLoginUser().getPegawai());
|
||||||
|
return strukOrder;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public KonsultasiVO add(KonsultasiVO vo) throws JpaSystemException, ServiceVOException {
|
public KonsultasiVO add(KonsultasiVO vo) throws JpaSystemException, ServiceVOException {
|
||||||
return null;
|
return null;
|
||||||
@ -292,29 +260,26 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(readOnly = false)
|
@Transactional
|
||||||
private String getRunningNumber(String kegunaan) {
|
private String getRunningNumber() {
|
||||||
RunningNumber runningNumber = runningNumberDao.findByResetAndKegunaan("0", kegunaan);
|
RunningNumber runningNumber = runningNumberDao.findByResetAndKegunaan("0", "NoOrder");
|
||||||
|
|
||||||
Integer number = (runningNumber.getNomerTerbaru() + (Integer) 1);
|
int number = (runningNumber.getNomerTerbaru() + (Integer) 1);
|
||||||
runningNumber.setNomerTerbaru(runningNumber.getNomerTerbaru() + (Integer) 1);
|
runningNumber.setNomerTerbaru(runningNumber.getNomerTerbaru() + (Integer) 1);
|
||||||
String noOrderIntern = StringUtil.formatNumber(number.toString(), 6);
|
String noOrderIntern = StringUtil.formatNumber(Integer.toString(number), 6);
|
||||||
runningNumberDao.save(runningNumber);
|
runningNumberDao.save(runningNumber);
|
||||||
return noOrderIntern;
|
return noOrderIntern;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Ruangan findRuanganBilik(Integer id, Date tglRegistrasi) {
|
private Ruangan findRuanganBilik(Integer id, Date tglRegistrasi) {
|
||||||
List<RuanganJumlah> output = new ArrayList<RuanganJumlah>();
|
List<RuanganJumlah> output = new ArrayList<>();
|
||||||
// List<Ruangan> listRuangan=ruanganDao.findRuanganByParent(id);
|
List<Ruangan> listRuangan = new ArrayList<>();
|
||||||
List<Ruangan> listRuangan = new ArrayList<Ruangan>();
|
|
||||||
List<JadwalDokter> listJadwal = jadwalDokterDao.findJadwalByTanggalRuanganBilik2(id, tglRegistrasi);
|
List<JadwalDokter> listJadwal = jadwalDokterDao.findJadwalByTanggalRuanganBilik2(id, tglRegistrasi);
|
||||||
for (JadwalDokter jd : listJadwal) {
|
for (JadwalDokter jd : listJadwal) {
|
||||||
listRuangan.add(jd.getRuangan());
|
listRuangan.add(jd.getRuangan());
|
||||||
}
|
}
|
||||||
for (Ruangan localR : listRuangan) {
|
for (Ruangan localR : listRuangan) {
|
||||||
RuanganJumlah jml = new RuanganJumlah();
|
RuanganJumlah jml = new RuanganJumlah();
|
||||||
// System.out.println("RUANGAN BILIK A : "+localR.getId()+"
|
|
||||||
// "+localR.getNamaRuangan());
|
|
||||||
List<Object[]> list = antrianPasienDiPeriksaDao.findRuanganByRuanganId(localR.getId(),
|
List<Object[]> list = antrianPasienDiPeriksaDao.findRuanganByRuanganId(localR.getId(),
|
||||||
DateUtil.formatDate(tglRegistrasi));
|
DateUtil.formatDate(tglRegistrasi));
|
||||||
for (Object[] o : list) {
|
for (Object[] o : list) {
|
||||||
@ -337,21 +302,13 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
output.add(jml);
|
output.add(jml);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Collections.sort(output, new Comparator<RuanganJumlah>() {
|
output.sort((t, t1) -> {
|
||||||
@Override
|
int a = Integer.parseInt(String.valueOf(t.getCount() - t1.getCount()));
|
||||||
public int compare(RuanganJumlah t, RuanganJumlah t1) {
|
if (a == 0L) {
|
||||||
int a = Integer.parseInt(String.valueOf(t.getCount() - t1.getCount()));
|
return t.getNamaRuangan().compareTo(t1.getNamaRuangan());
|
||||||
if (a == 0L) {
|
} else
|
||||||
int a1 = t.getNamaRuangan().compareTo(t1.getNamaRuangan());
|
return a;
|
||||||
return a1;
|
|
||||||
} else
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
// for(RuanganJumlah l:output){
|
|
||||||
// System.out.println("RUANGAN BILIK B : "+l.getCount()+"
|
|
||||||
// "+l.getIdRuangan()+" "+l.getNamaRuangan()+" "+l.getTglRegistrasi());
|
|
||||||
// }
|
|
||||||
Ruangan ruang = new Ruangan();
|
Ruangan ruang = new Ruangan();
|
||||||
ruang.setId(output.get(0).getIdRuangan());
|
ruang.setId(output.get(0).getIdRuangan());
|
||||||
return ruang;
|
return ruang;
|
||||||
@ -360,10 +317,10 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getRiwayatKonsultasi(String noCm, String startDate, String endDate) {
|
public List<Map<String, Object>> getRiwayatKonsultasi(String noCm, String startDate, String endDate) {
|
||||||
List<Map<String, Object>> data = konsultasiDao.findRiwayatKonsultasi(noCm, startDate, endDate);
|
List<Map<String, Object>> data = konsultasiDao.findRiwayatKonsultasi(noCm, startDate, endDate);
|
||||||
List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
|
List<Map<String, Object>> result = new ArrayList<>();
|
||||||
for (Map<String, Object> temp : data) {
|
for (Map<String, Object> temp : data) {
|
||||||
String status = (String) temp.get("statusAntrian");
|
String status = (String) temp.get("statusAntrian");
|
||||||
Integer indeks = Integer.valueOf(status);
|
int indeks = Integer.parseInt(status);
|
||||||
String statusAntrian = StatusAntrianEnum.values()[indeks].toString();
|
String statusAntrian = StatusAntrianEnum.values()[indeks].toString();
|
||||||
temp.put("status", statusAntrian);
|
temp.put("status", statusAntrian);
|
||||||
|
|
||||||
@ -407,10 +364,9 @@ public class KonsultasiServiceImpl extends BaseVoServiceImpl implements Konsulta
|
|||||||
excJenisProduk.add(Master.JenisProduk.LAB_KLINIK);
|
excJenisProduk.add(Master.JenisProduk.LAB_KLINIK);
|
||||||
|
|
||||||
List<Integer> idsRegDJPPenunjangLab = splitDataSettingDatafixed("penunjang_laboratorium");
|
List<Integer> idsRegDJPPenunjangLab = splitDataSettingDatafixed("penunjang_laboratorium");
|
||||||
|
List<Integer> listKarcisIdProduk = splitDataSettingDatafixed("listKarcisIdProduk");
|
||||||
|
|
||||||
List<Map<String, Object>> result = konsultasiDao.findAllKonsultasiTindakanKosong(tglAwal, tglAkhir, inapDanLab,
|
return konsultasiDao.findAllKonsultasiTindakanKosong(tglAwal, tglAkhir, inapDanLab,
|
||||||
Arrays.asList(Master.Pegawai.ADMINISTRATOR), Master.Produk.KARCIS, excJenisProduk, idsRegDJPPenunjangLab);
|
Arrays.asList(Master.Pegawai.ADMINISTRATOR), listKarcisIdProduk, excJenisProduk, idsRegDJPPenunjangLab);
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user