Update PelayananPasienService
Pembuatan service reset klaim diskon
This commit is contained in:
parent
717043ecba
commit
c38df4ac9d
@ -64,8 +64,8 @@ public interface PasienDaftarDao extends PagingAndSortingRepository<PasienDaftar
|
||||
List<PasienDaftar> finByNoIdAndTglRegistrasiList(@Param("kdProfile") short kdProfile, @Param("id") Integer id,
|
||||
@Param("masuk") String masuk, @Param("keluar") String keluar);
|
||||
|
||||
@Query("select p from PasienDaftar p where p.noRegistrasi=:noRegistrasi ")
|
||||
List<PasienDaftar> findByNoRegister(@Param("noRegistrasi") String noRegistrasi);
|
||||
@Query("select pd from PasienDaftar pd where pd.statusEnabled is true and pd.noRegistrasi = :noRegistrasi")
|
||||
List<PasienDaftar> findAll(@Param("noRegistrasi") String noRegistrasi);
|
||||
|
||||
@Query("select p from PasienDaftar p where p.pasien.noCm=:noCm and :kdProfile=:kdProfile ")
|
||||
List<PasienDaftar> findPelayananRawatJalan(@Param("kdProfile") Short kdProfile, @Param("noCm") String noCm);
|
||||
|
||||
@ -181,4 +181,14 @@ public interface PelayananPasienDao extends PagingAndSortingRepository<Pelayanan
|
||||
@Param("produkLabRadiologi") List<Integer> produkLabRadiologi,
|
||||
@Param("produkFarmasi") List<Integer> produkFarmasi, @Param("produkMpp") List<Integer> produkMpp);
|
||||
|
||||
@Query("select ppd from PelayananPasienDetail ppd " + "inner join ppd.pelayananPasien pp "
|
||||
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "where apd.statusEnabled is true "
|
||||
+ "and pd.statusEnabled is true " + "and pd.noRegistrasi = :noRegistrasi")
|
||||
List<PelayananPasienDetail> findDetail(@Param("noRegistrasi") String noRegistrasi);
|
||||
|
||||
@Query("select pp from PelayananPasien pp " + "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd "
|
||||
+ "where apd.statusEnabled is true " + "and pd.statusEnabled is true "
|
||||
+ "and pd.noRegistrasi = :noRegistrasi")
|
||||
List<PelayananPasien> findAll(@Param("noRegistrasi") String noRegistrasi);
|
||||
|
||||
}
|
||||
|
||||
@ -15,6 +15,8 @@ public interface PelayananPasienService {
|
||||
|
||||
List<Map<String, Object>> hitungRemunerasiDokterDenganFfs(String tglAwal, String tglAkhir);
|
||||
|
||||
List<String> updateKlaimDiskonKaryawan(String noRegistrasi, Double totalKlaim, Integer jenisDiskon);
|
||||
List<String> updateKlaimDiskon(String noRegistrasi, Double totalKlaim, Integer jenisDiskon);
|
||||
|
||||
String resetKlaimDiskon(String noRegistrasi);
|
||||
|
||||
}
|
||||
|
||||
@ -19,11 +19,14 @@ import com.jasamedika.medifirst2000.constants.Master;
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.AntrianPasienDiPeriksaDao;
|
||||
import com.jasamedika.medifirst2000.dao.LogAccDao;
|
||||
import com.jasamedika.medifirst2000.dao.PasienDaftarDao;
|
||||
import com.jasamedika.medifirst2000.dao.PelayananPasienDao;
|
||||
import com.jasamedika.medifirst2000.dao.StrukPelayananDao;
|
||||
import com.jasamedika.medifirst2000.entities.JenisObat;
|
||||
import com.jasamedika.medifirst2000.entities.LogAcc;
|
||||
import com.jasamedika.medifirst2000.entities.PasienDaftar;
|
||||
import com.jasamedika.medifirst2000.entities.PelayananPasien;
|
||||
import com.jasamedika.medifirst2000.entities.PelayananPasienDetail;
|
||||
import com.jasamedika.medifirst2000.entities.Produk;
|
||||
import com.jasamedika.medifirst2000.service.PelayananPasienService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
@ -49,14 +52,17 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
@Autowired
|
||||
private BaseConverterImpl<ProdukVO, Produk> produkConverter;
|
||||
|
||||
@Autowired
|
||||
private PasienDaftarDao pasienDaftarDao;
|
||||
|
||||
@Autowired
|
||||
private PelayananPasienDao pelayananPasienDao;
|
||||
|
||||
@Autowired
|
||||
private LogAccDao logAccDao;
|
||||
private AntrianPasienDiPeriksaDao antrianPasienDiPeriksaDao;
|
||||
|
||||
@Autowired
|
||||
private AntrianPasienDiPeriksaDao antrianPasienDiPeriksaDao;
|
||||
private LogAccDao logAccDao;
|
||||
|
||||
@Autowired
|
||||
private StrukPelayananDao strukPelayananDao;
|
||||
@ -255,7 +261,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> updateKlaimDiskonKaryawan(String noRegistrasi, Double totalKlaim, Integer jenisDiskon) {
|
||||
public List<String> updateKlaimDiskon(String noRegistrasi, Double totalKlaim, Integer jenisDiskon) {
|
||||
List<String> result = new ArrayList<>();
|
||||
|
||||
List<Integer> labRadiologi = new ArrayList<>();
|
||||
@ -293,4 +299,82 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String resetKlaimDiskon(String noRegistrasi) {
|
||||
String result = "";
|
||||
|
||||
/*
|
||||
* Update Pelayanan Pasien
|
||||
*/
|
||||
List<PelayananPasienDetail> detailLayanan = pelayananPasienDao.findDetail(noRegistrasi);
|
||||
List<PelayananPasien> layanan = pelayananPasienDao.findAll(noRegistrasi);
|
||||
|
||||
double jasaObat = 800.00;
|
||||
for (PelayananPasien pp : layanan) {
|
||||
/*
|
||||
* Get diskon jasamedis
|
||||
*/
|
||||
double diskonJasamedis = 0.0;
|
||||
for (PelayananPasienDetail ppd : detailLayanan) {
|
||||
if (pp.getNoRec().equals(ppd.getPelayananPasienId())
|
||||
&& CommonUtil.isNotNullOrEmpty(ppd.getHargaDiscount()) && ppd.getHargaDiscount() > 0.0) {
|
||||
diskonJasamedis += ppd.getHargaDiscount();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Set diskon layanan
|
||||
*/
|
||||
if (CommonUtil.isNotNullOrEmpty(pp.getHargaDiscount()) && pp.getHargaDiscount() > 0.0) {
|
||||
if (diskonJasamedis > 0.0 && pp.getHargaDiscount() >= diskonJasamedis) {
|
||||
pp.setHargaDiscount(diskonJasamedis);
|
||||
if (CommonUtil.isNotNullOrEmpty(pp.getStrukResepId())) {
|
||||
pp.setJasa(jasaObat);
|
||||
}
|
||||
} else {
|
||||
pp.setHargaDiscount(0.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Update Flag Jenis Diskon Pasien Daftar
|
||||
*/
|
||||
List<PasienDaftar> pendaftaran = pasienDaftarDao.findAll(noRegistrasi);
|
||||
for (PasienDaftar pd : pendaftaran) {
|
||||
pd.setDiskonPegawai(0);
|
||||
}
|
||||
|
||||
boolean exception = false;
|
||||
for (PasienDaftar pd : pendaftaran) {
|
||||
if (CommonUtil.isNotNullOrEmpty(pd.getStrukPelayananId())
|
||||
&& CommonUtil.isNotNullOrEmpty(pd.getStrukBuktiPenerimaanId())) {
|
||||
exception = true;
|
||||
|
||||
result = "Batal diskon gagal, tagihan layanan sudah lunas!";
|
||||
break;
|
||||
} else if (CommonUtil.isNotNullOrEmpty(pd.getStrukPelayananId())
|
||||
&& CommonUtil.isNullOrEmpty(pd.getStrukBuktiPenerimaanId())) {
|
||||
exception = true;
|
||||
|
||||
result = "Batal diskon gagal, pelayanan sudah terverifikasi!";
|
||||
break;
|
||||
} else if (CommonUtil.isNotNullOrEmpty(pd.getDiskonPegawai()) && pd.getDiskonPegawai() == 0) {
|
||||
exception = true;
|
||||
|
||||
result = "Belum dilakukan diskon!";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!exception) {
|
||||
pelayananPasienDao.save(layanan);
|
||||
pasienDaftarDao.save(pendaftaran);
|
||||
|
||||
result = "Batal diskon berhasil!";
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@ -106,7 +106,7 @@ public class PenanggungJawabPasienServiceImpl extends BaseVoServiceImpl implemen
|
||||
}
|
||||
|
||||
if(CommonUtil.isNotNullOrEmpty(pj.getPasienDaftar())) {
|
||||
List<PasienDaftar> listPasienDaftar = pasienDaftarDao.findByNoRegister(pj.getPasienDaftar().getNoRegistrasi());
|
||||
List<PasienDaftar> listPasienDaftar = pasienDaftarDao.findAll(pj.getPasienDaftar().getNoRegistrasi());
|
||||
if (!listPasienDaftar.isEmpty()) {
|
||||
penanggungJawabPasien.setPasienDaftar(listPasienDaftar.get(0));
|
||||
} else {
|
||||
|
||||
@ -194,7 +194,7 @@ public class RegistrasiPelayananPasienServiceImpl extends BaseVoServiceImpl
|
||||
if (list.size() != 0) {
|
||||
antrianPasienDiPeriksa = list.get(0);
|
||||
}
|
||||
List<PasienDaftar> pasienDaftarList = pasienDaftarDao.findByNoRegister(noRegistrasi);
|
||||
List<PasienDaftar> pasienDaftarList = pasienDaftarDao.findAll(noRegistrasi);
|
||||
PasienDaftar pasienDaftar = pasienDaftarList.get(0);
|
||||
|
||||
// String noMasuk=getFormatNumberByMonthYear();
|
||||
|
||||
@ -128,7 +128,7 @@ public class StrukBuktiPengeluaranServiceImpl implements StrukBuktiPengeluaranSe
|
||||
strukPelayanan.setNostruk(getRunningNumber("StrukPelayanan"));
|
||||
|
||||
if (!vo.getNoregistrasi().getNoRegistrasi().isEmpty() || vo.getNoregistrasi().getNoRegistrasi() != null) {
|
||||
List<PasienDaftar> listPasienDaftar = pasienDaftarDao.findByNoRegister(vo.getNoregistrasi().getNoRegistrasi());
|
||||
List<PasienDaftar> listPasienDaftar = pasienDaftarDao.findAll(vo.getNoregistrasi().getNoRegistrasi());
|
||||
if (!listPasienDaftar.isEmpty()) {
|
||||
strukPelayanan.setNoregistrasi(listPasienDaftar.get(0));
|
||||
}
|
||||
|
||||
@ -242,7 +242,7 @@ public class PasienDaftar extends BaseTransaction {
|
||||
private StrukBuktiPenerimaan strukBuktiPenerimaan;
|
||||
|
||||
@Column(name = "NoSbmLastFk", insertable = false, updatable = false)
|
||||
private Integer strukBuktiPenerimaanId;
|
||||
private String strukBuktiPenerimaanId;
|
||||
|
||||
@Caption(value = "Kode Status Diskon Pegawai")
|
||||
@Column(name = "diskonpegawai", nullable = true)
|
||||
@ -672,11 +672,11 @@ public class PasienDaftar extends BaseTransaction {
|
||||
this.strukBuktiPenerimaan = strukBuktiPenerimaan;
|
||||
}
|
||||
|
||||
public Integer getStrukBuktiPenerimaanId() {
|
||||
public String getStrukBuktiPenerimaanId() {
|
||||
return strukBuktiPenerimaanId;
|
||||
}
|
||||
|
||||
public void setStrukBuktiPenerimaanId(Integer strukBuktiPenerimaanId) {
|
||||
public void setStrukBuktiPenerimaanId(String strukBuktiPenerimaanId) {
|
||||
this.strukBuktiPenerimaanId = strukBuktiPenerimaanId;
|
||||
}
|
||||
|
||||
|
||||
@ -141,14 +141,33 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/klaim-diskon-karyawan", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<String>> updateKlaimDiskonKaryawan(HttpServletRequest request,
|
||||
@RequestMapping(value = "/klaim-diskon", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<String>> KlaimDiskon(HttpServletRequest request,
|
||||
@RequestParam(value = "noRegistrasi", required = true) String noRegistrasi,
|
||||
@RequestParam(value = "totalKlaim", required = true) Double totalKlaim,
|
||||
@RequestParam(value = "jenisDiskon", required = true) Integer jenisDiskon) {
|
||||
try {
|
||||
List<String> result = pelayananPasienService.updateKlaimDiskonKaryawan(noRegistrasi, totalKlaim,
|
||||
jenisDiskon);
|
||||
List<String> result = pelayananPasienService.updateKlaimDiskon(noRegistrasi, totalKlaim, jenisDiskon);
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
} catch (ServiceVOException e) {
|
||||
LOGGER.error("Got exception {} when klaim diskon karyawan", e.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got exception {} when klaim diskon karyawan", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/reset-klaim-diskon", method = RequestMethod.GET)
|
||||
public ResponseEntity<String> ResetKlaimDiskon(HttpServletRequest request,
|
||||
@RequestParam(value = "noRegistrasi") String noRegistrasi) {
|
||||
try {
|
||||
String result = pelayananPasienService.resetKlaimDiskon(noRegistrasi);
|
||||
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user