- pembuatan service simpan master produk kelompok tenaga kesehatan lain

- pembuatan service dropdown pilihan data master produk kelompok tenaga kesehatan lain berdasarkan profesi
- pembuatan service simpan mapping skoring produk kelompok tenaga kesehatan lain
- pembuatan service tampilan data mapping skoring produk kelompok tenaga kesehatan lain
- pembuatan service validasi data duplikat mapping skoring produk kelompok tenaga kesehatan lain
- pembuatan service validasi akses buat dan ubah data mapping skoring produk kelompok tenaga kesehatan lain
- pembuatan service simpan entri kegiatan pelayanan oleh kelompok tenaga kesehatan lain
- pembuatan service delete fisik data kegiatan pelayanan oleh kelompok tenaga kesehatan lain
- pembuatan service tampilan data kegiatan pelayanan oleh kelompok tenaga kesehatan lain
- pendaftaran tabel produknakes, master profesi, skoringtindakannakes, pelayananpasiennakes dalam konfigurasi hibernate
This commit is contained in:
Salman Manoe 2021-09-24 08:03:55 +07:00
parent 22a541f519
commit f85ccc5b83
21 changed files with 1713 additions and 11 deletions

View File

@ -364,6 +364,7 @@ public class Master {
public static final Integer BAG_SDM = 24;
public static final Integer BID_WAT = 21;
public static final Integer BID_JANG = 83;
public static final Integer KSM_UMUM = 62;
public static final Integer DIREKSI = 65;
}

View File

@ -0,0 +1,26 @@
package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.PelayananPasienNakes;
@Repository("pelayananPasienNakesDao")
public interface PelayananPasienNakesDao extends PagingAndSortingRepository<PelayananPasienNakes, String> {
@Query("select new Map(pp.noRec as noRec,pp.antrianPasienDiperiksaId as noRecAPD,"
+ "pr.id as produkId,pr.namaProduk as namaProduk,"
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'dd-MM-yyyy HH24:MI:ss') as tglPelayananFormatted,"
+ "pp.jumlah as jumlah,pp.skor as skor,(pp.jumlah*pp.skor) as tSkor,"
+ "pg.id as pegawaiId,pg.namaLengkap as namaLengkap) " + "from PelayananPasienNakes pp "
+ "inner join pp.produk pr " + "left join pp.pegawai pg " + "where pp.statusEnabled is true "
+ "and pp.antrianPasienDiperiksaId = :norecAPD " + "and pg.id = :pegawaiId " + "order by pp.tglPelayanan")
List<Map<String, Object>> findByAntrianPasienDiperiksa(@Param("norecAPD") String noRec,
@Param("pegawaiId") Integer idPegawai);
}

View File

@ -0,0 +1,27 @@
/**
*
*/
package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.ProdukNakes;
/**
* @author Lasak
*
*/
@Repository("produkNakesDao")
public interface ProdukNakesDao extends PagingAndSortingRepository<ProdukNakes, Integer> {
@Query("select new Map(prn.id as id,prn.namaProduk as namaProduk) " + "from ProdukNakes prn "
+ "where prn.statusEnabled is true " + "and prn.profesiId = :profesiId")
List<Map<String, Object>> findByProfesi(@Param("profesiId") Integer idProfesi);
}

View File

@ -0,0 +1,102 @@
package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.SkoringTindakanNakes;
@Repository("skoringTindakanNakesDao")
public interface SkoringTindakanNakesDao extends PagingAndSortingRepository<SkoringTindakanNakes, String> {
String strAllEnabled = "select new Map(stn.noRec as noRec," + "stn.statusEnabled as statusEnabled,"
+ "stn.skor as skor," + "stn.statusVerifikasi as kdVerif,"
+ "(case when stn.statusVerifikasi is false then 'Belum Verifikasi' "
+ "when stn.statusVerifikasi is true then 'Terverifikasi' end) as stVerif,"
+ "stn.tanggalMulaiBerlaku as tglMulaiBerlaku," + "stn.tanggalPembaharuanData as tglPembaharuanData,"
+ "prn.id as produkId,prn.namaProduk as namaProduk,"
+ "pfs.id as profesiId,pfs.namaProfesi as namaProfesi) " + "from SkoringTindakanNakes stn "
+ "inner join stn.produk prn " + "inner join prn.profesi pfs " + "where stn.statusEnabled is true ";
String produk = "and lower(prn.namaProduk) like %:namaProduk% ";
String statusVerifikasi = "and stn.statusVerifikasi = :isVerif ";
String profesi = "and pfs.id = :profesiId ";
String sortSearch = "order by prn.namaProduk asc,stn.tanggalPembaharuanData desc";
@Query(strAllEnabled + sortSearch)
List<Map<String, Object>> findAllEnabled();
@Query(strAllEnabled + produk + sortSearch)
List<Map<String, Object>> findAllEnabledByProduk(@Param("namaProduk") String namaProduk);
@Query(strAllEnabled + statusVerifikasi + sortSearch)
List<Map<String, Object>> findAllEnabledByVerif(@Param("isVerif") Boolean isVerif);
@Query(strAllEnabled + profesi + sortSearch)
List<Map<String, Object>> findAllEnabledByProfesi(@Param("profesiId") Integer idProfesi);
@Query(strAllEnabled + produk + statusVerifikasi + sortSearch)
List<Map<String, Object>> findAllEnabledByProdukVerif(@Param("namaProduk") String namaProduk,
@Param("isVerif") Boolean isVerif);
@Query(strAllEnabled + produk + profesi + sortSearch)
List<Map<String, Object>> findAllEnabledByProdukProfesi(@Param("namaProduk") String namaProduk,
@Param("profesiId") Integer idProfesi);
@Query(strAllEnabled + statusVerifikasi + profesi + sortSearch)
List<Map<String, Object>> findAllEnabledByVerifProfesi(@Param("isVerif") Boolean isVerif,
@Param("profesiId") Integer idProfesi);
@Query(strAllEnabled + produk + statusVerifikasi + profesi + sortSearch)
List<Map<String, Object>> findAllEnabledByProdukVerifProfesi(@Param("namaProduk") String namaProduk,
@Param("isVerif") Boolean isVerif, @Param("profesiId") Integer idProfesi);
String strCekDupSkoring = "select stn.noRec " + "from SkoringTindakanNakes stn " + "inner join stn.produk prn "
+ "inner join prn.profesi pfs " + "where stn.statusEnabled is true "
+ "and lower(regexp_replace(prn.namaProduk,:patternText,'','g')) = :namaProduk "
+ "and pfs.id = :profesiId " + "and stn.skor = :skor";
String tglBerlaku = " and to_char(stn.tanggalMulaiBerlaku,'yyyy-MM-dd') = :tglMulaiBerlaku";
String idSkoring = " and stn.noRec <> :noRec";
String sortTglBerlaku = " order by stn.tanggalMulaiBerlaku desc";
@Query(strCekDupSkoring + sortTglBerlaku)
List<String> findLastDupSkoring(@Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi,
@Param("skor") Double skor, @Param("patternText") String patternText);
@Query(strCekDupSkoring + tglBerlaku)
List<String> findDupSkoring(@Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi,
@Param("skor") Double skor, @Param("tglMulaiBerlaku") String tglMulaiBerlaku,
@Param("patternText") String patternText);
@Query(strCekDupSkoring + idSkoring + sortTglBerlaku)
List<String> findLastDupSkoring(@Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi,
@Param("skor") Double skor, @Param("patternText") String patternText, @Param("noRec") String noRec);
@Query(strCekDupSkoring + tglBerlaku + idSkoring)
List<String> findDupSkoring(@Param("namaProduk") String namaProduk, @Param("profesiId") Integer idProfesi,
@Param("skor") Double skor, @Param("tglMulaiBerlaku") String tglMulaiBerlaku,
@Param("patternText") String patternText, @Param("noRec") String noRec);
@Query("select new Map(stn.noRec as noRec,stn.skor as skor," + "prn.namaProduk as namaProduk,"
+ "pfs.namaProfesi as namaProfesi) " + "from SkoringTindakanNakes stn " + "inner join stn.produk prn "
+ "inner join prn.profesi pfs " + "where stn.statusEnabled is true " + "and stn.noRec in (:listNorec)")
List<Map<String, Object>> findAllDup(@Param("listNorec") List<String> listNorec);
@Query(value = "select * from sdm_skoringtindakannakes_t "
+ "where statusenabled is true and statusverifikasi is true "
+ "and objectproduknakesfk = :produkId and to_char(tanggalmulaiberlaku,'yyyy-MM-dd') <= :tglMulaiBerlaku "
+ "order by tanggalmulaiberlaku desc, tanggalpembaharuandata desc limit 1", nativeQuery = true)
SkoringTindakanNakes findLast(@Param("produkId") Integer idProduk,
@Param("tglMulaiBerlaku") String tglMulaiBerlaku);
}

View File

@ -0,0 +1,16 @@
package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import org.springframework.orm.jpa.JpaSystemException;
import com.jasamedika.medifirst2000.entities.PelayananPasienNakes;
import com.jasamedika.medifirst2000.vo.PelayananPasienNakesVO;
public interface PelayananPasienNakesService
extends BaseVoService<PelayananPasienNakes, PelayananPasienNakesVO, String> {
List<Map<String, Object>> findByAntrianPasienDiperiksa(String noRec, Integer idPegawai) throws JpaSystemException;
}

View File

@ -0,0 +1,22 @@
/**
*
*/
package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import org.springframework.orm.jpa.JpaSystemException;
import com.jasamedika.medifirst2000.entities.ProdukNakes;
import com.jasamedika.medifirst2000.vo.ProdukNakesVO;
/**
* @author Lasak
*
*/
public interface ProdukNakesService extends BaseVoService<ProdukNakes, ProdukNakesVO, Integer> {
List<Map<String, Object>> findByProfesi(Integer idProfesi) throws JpaSystemException;
}

View File

@ -0,0 +1,22 @@
package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import org.springframework.orm.jpa.JpaSystemException;
import com.jasamedika.medifirst2000.entities.SkoringTindakanNakes;
import com.jasamedika.medifirst2000.vo.SkoringTindakanNakesVO;
public interface SkoringTindakanNakesService
extends BaseVoService<SkoringTindakanNakes, SkoringTindakanNakesVO, String> {
List<Map<String, Object>> findAllEnabled(String namaProduk, Boolean isVerif, Integer idProfesi)
throws JpaSystemException;
List<Map<String, Object>> findDuplicateSkoring(String namaProduk, Double skor, Integer idProfesi,
Long tglMulaiBerlaku, String noRec) throws JpaSystemException;
Map<String, Object> findAkses(Integer idPegawai) throws JpaSystemException;
}

View File

@ -0,0 +1,166 @@
package com.jasamedika.medifirst2000.service.impl;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
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 com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.PelayananPasienNakesDao;
import com.jasamedika.medifirst2000.dao.SkoringTindakanNakesDao;
import com.jasamedika.medifirst2000.entities.AntrianPasienDiPeriksa;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.PelayananPasienNakes;
import com.jasamedika.medifirst2000.entities.ProdukNakes;
import com.jasamedika.medifirst2000.entities.SkoringTindakanNakes;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.PelayananPasienNakesService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.AntrianPasienDiPeriksaVO;
import com.jasamedika.medifirst2000.vo.PegawaiVO;
import com.jasamedika.medifirst2000.vo.PelayananPasienNakesVO;
import com.jasamedika.medifirst2000.vo.ProdukNakesVO;
@Service("pelayananPasienNakesService")
public class PelayananPasienNakesServiceImpl extends BaseVoServiceImpl implements PelayananPasienNakesService {
@Autowired
private BaseConverterImpl<PelayananPasienNakesVO, PelayananPasienNakes> pelayananNakesConverter;
@Autowired
private BaseConverterImpl<AntrianPasienDiPeriksaVO, AntrianPasienDiPeriksa> antrianPasienConverter;
@Autowired
private BaseConverterImpl<ProdukNakesVO, ProdukNakes> produkNakesConverter;
@Autowired
private BaseConverterImpl<PegawaiVO, Pegawai> pegawaiConverter;
@Autowired
private PelayananPasienNakesDao pelayananNakesDao;
@Autowired
private SkoringTindakanNakesDao skoringTindakanNakesDao;
@Override
public PelayananPasienNakesVO add(PelayananPasienNakesVO vo) throws JpaSystemException, ServiceVOException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
PelayananPasienNakes pelayananNakes = pelayananNakesConverter.transferVOToModel(vo, new PelayananPasienNakes());
AntrianPasienDiPeriksa antrianPasien = antrianPasienConverter.transferVOToModel(vo.getAntrianPasienDiperiksa(),
new AntrianPasienDiPeriksa());
pelayananNakes.setAntrianPasienDiperiksa(antrianPasien);
ProdukNakes produk = produkNakesConverter.transferVOToModel(vo.getProduk(), new ProdukNakes());
pelayananNakes.setProduk(produk);
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
pelayananNakes.setPegawai(pegawai);
SkoringTindakanNakes skoringNakes = skoringTindakanNakesDao.findLast(vo.getProduk().getId(),
df.format(vo.getTglPelayanan()));
if (CommonUtil.isNotNullOrEmpty(skoringNakes)) {
pelayananNakes.setSkor(skoringNakes.getSkor());
} else {
pelayananNakes.setSkor(1.00);
}
PelayananPasienNakes resultModel = pelayananNakesDao.save(pelayananNakes);
PelayananPasienNakesVO resultVO = new PelayananPasienNakesVO();
resultVO = pelayananNakesConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public PelayananPasienNakesVO update(PelayananPasienNakesVO vo) throws JpaSystemException, ServiceVOException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
PelayananPasienNakes pelayananNakesLama = pelayananNakesDao.findOne(vo.getNoRec());
PelayananPasienNakes pelayananNakesBaru = pelayananNakesConverter.transferVOToModel(vo, pelayananNakesLama);
AntrianPasienDiPeriksa antrianPasien = antrianPasienConverter.transferVOToModel(vo.getAntrianPasienDiperiksa(),
new AntrianPasienDiPeriksa());
pelayananNakesBaru.setAntrianPasienDiperiksa(antrianPasien);
ProdukNakes produk = produkNakesConverter.transferVOToModel(vo.getProduk(), new ProdukNakes());
pelayananNakesBaru.setProduk(produk);
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
pelayananNakesBaru.setPegawai(pegawai);
SkoringTindakanNakes skoringNakes = skoringTindakanNakesDao.findLast(vo.getProduk().getId(),
df.format(vo.getTglPelayanan()));
if (CommonUtil.isNotNullOrEmpty(skoringNakes)) {
pelayananNakesBaru.setSkor(skoringNakes.getSkor());
} else {
pelayananNakesBaru.setSkor(1.00);
}
PelayananPasienNakes resultModel = pelayananNakesDao.save(pelayananNakesBaru);
PelayananPasienNakesVO resultVO = new PelayananPasienNakesVO();
resultVO = pelayananNakesConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public Boolean delete(String key) throws JpaSystemException {
pelayananNakesDao.delete(key);
return true;
}
@Override
public PelayananPasienNakesVO findById(String key) throws JpaSystemException {
PelayananPasienNakesVO result = new PelayananPasienNakesVO();
PelayananPasienNakes pelayananNakes = pelayananNakesDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(pelayananNakes)) {
result = pelayananNakesConverter.transferModelToVO(pelayananNakes, result);
}
return result;
}
@Override
public List<PelayananPasienNakesVO> findAll() throws JpaSystemException {
List<PelayananPasienNakesVO> result = new ArrayList<PelayananPasienNakesVO>();
Iterable<PelayananPasienNakes> models = pelayananNakesDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (PelayananPasienNakes model : models) {
PelayananPasienNakesVO vo = new PelayananPasienNakesVO();
vo = pelayananNakesConverter.transferModelToVO(model, vo);
result.add(vo);
}
}
return result;
}
@Override
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
String sort, String dir) {
return null;
}
@Override
public List<Map<String, Object>> findByAntrianPasienDiperiksa(String noRec, Integer idPegawai)
throws JpaSystemException {
List<Map<String, Object>> result = pelayananNakesDao.findByAntrianPasienDiperiksa(noRec, idPegawai);
return result;
}
}

View File

@ -0,0 +1,121 @@
/**
*
*/
package com.jasamedika.medifirst2000.service.impl;
import java.util.ArrayList;
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 com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.ProdukNakesDao;
import com.jasamedika.medifirst2000.entities.ProdukNakes;
import com.jasamedika.medifirst2000.entities.Profesi;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.ProdukNakesService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.ProdukNakesVO;
import com.jasamedika.medifirst2000.vo.ProfesiVO;
/**
* @author Lasak
*
*/
@Service("produkNakesService")
public class ProdukNakesServiceImpl extends BaseVoServiceImpl implements ProdukNakesService {
@Autowired
private BaseConverterImpl<ProdukNakesVO, ProdukNakes> produkNakesConverter;
@Autowired
private BaseConverterImpl<ProfesiVO, Profesi> profesiConverter;
@Autowired
private ProdukNakesDao produkNakesDao;
@Override
public ProdukNakesVO add(ProdukNakesVO vo) throws JpaSystemException, ServiceVOException {
ProdukNakes produkNakes = produkNakesConverter.transferVOToModel(vo, new ProdukNakes());
Profesi profesi = profesiConverter.transferVOToModel(vo.getProfesi(), new Profesi());
produkNakes.setProfesi(profesi);
ProdukNakes resultModel = produkNakesDao.save(produkNakes);
ProdukNakesVO resultVO = new ProdukNakesVO();
resultVO = produkNakesConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public ProdukNakesVO update(ProdukNakesVO vo) throws JpaSystemException, ServiceVOException {
ProdukNakes produkNakesLama = produkNakesDao.findOne(vo.getId());
ProdukNakes produkNakesBaru = produkNakesConverter.transferVOToModel(vo, produkNakesLama);
Profesi profesi = profesiConverter.transferVOToModel(vo.getProfesi(), new Profesi());
produkNakesBaru.setProfesi(profesi);
ProdukNakes resultModel = produkNakesDao.save(produkNakesBaru);
ProdukNakesVO resultVO = new ProdukNakesVO();
resultVO = produkNakesConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public Boolean delete(Integer key) throws JpaSystemException {
produkNakesDao.delete(key);
return true;
}
@Override
public ProdukNakesVO findById(Integer key) throws JpaSystemException {
ProdukNakesVO result = new ProdukNakesVO();
ProdukNakes produkNakes = produkNakesDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(produkNakes)) {
result = produkNakesConverter.transferModelToVO(produkNakes, result);
}
return result;
}
@Override
public List<ProdukNakesVO> findAll() throws JpaSystemException {
List<ProdukNakesVO> result = new ArrayList<ProdukNakesVO>();
Iterable<ProdukNakes> models = produkNakesDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (ProdukNakes model : models) {
ProdukNakesVO vo = new ProdukNakesVO();
vo = produkNakesConverter.transferModelToVO(model, vo);
result.add(vo);
}
}
return result;
}
@Override
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
String sort, String dir) {
return null;
}
@Override
public List<Map<String, Object>> findByProfesi(Integer idProfesi) throws JpaSystemException {
List<Map<String, Object>> result = produkNakesDao.findByProfesi(idProfesi);
return result;
}
}

View File

@ -0,0 +1,356 @@
package com.jasamedika.medifirst2000.service.impl;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
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 com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.LoggingUserDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.SettingDataFixedDao;
import com.jasamedika.medifirst2000.dao.SkoringTindakanNakesDao;
import com.jasamedika.medifirst2000.dao.SubUnitKerjaDao;
import com.jasamedika.medifirst2000.entities.LoggingUser;
import com.jasamedika.medifirst2000.entities.LoginUser;
import com.jasamedika.medifirst2000.entities.ProdukNakes;
import com.jasamedika.medifirst2000.entities.SkoringTindakanNakes;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.SkoringTindakanNakesService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.ProdukNakesVO;
import com.jasamedika.medifirst2000.vo.SkoringTindakanNakesVO;
@Service("skoringTindakanNakesService")
public class SkoringTindakanNakesServiceImpl extends BaseVoServiceImpl implements SkoringTindakanNakesService {
@Autowired
private BaseConverterImpl<SkoringTindakanNakesVO, SkoringTindakanNakes> skoringTindakanConverter;
@Autowired
private BaseConverterImpl<ProdukNakesVO, ProdukNakes> produkNakesConverter;
@Autowired
private SkoringTindakanNakesDao skoringTindakanDao;
@Autowired
private LoggingUserDao loggingUserDao;
@Autowired
private SettingDataFixedDao settingDataFixedDao;
@Autowired
private MapPegawaiJabatanToUnitKerjaDao mappingJabatanDao;
@Autowired
private SubUnitKerjaDao subUnitKerjaDao;
public void addLoggingUser(Integer idLoginUser, String idReferensi, String keterangan) {
LoggingUser loggingUser = new LoggingUser();
LoginUser loginUser = new LoginUser();
loggingUser.setKdProfile((short) 0);
loggingUser.setStatusEnabled(true);
loggingUser.setTanggal(new Date());
loginUser.setId(idLoginUser);
loggingUser.setLoginUser(loginUser);
loggingUser.setJenisLog("Skoring Tindakan Nakes");
loggingUser.setReferensiId(idReferensi);
loggingUser.setReferensi("sdm_skoringtindakannakes_t");
loggingUser.setKeterangan(keterangan);
loggingUserDao.save(loggingUser);
}
@Override
public SkoringTindakanNakesVO add(SkoringTindakanNakesVO vo) throws JpaSystemException, ServiceVOException {
ProdukNakes produk = produkNakesConverter.transferVOToModel(vo.getProduk(), new ProdukNakes());
SkoringTindakanNakes skoringTindakan = skoringTindakanConverter.transferVOToModel(vo,
new SkoringTindakanNakes());
skoringTindakan.setProduk(produk);
skoringTindakan.setTanggalPembaharuanData(new Date());
SkoringTindakanNakes resultModel = skoringTindakanDao.save(skoringTindakan);
addLoggingUser(vo.getLoginUserId(), resultModel.getNoRec(), "Buat data");
SkoringTindakanNakesVO resultVO = new SkoringTindakanNakesVO();
resultVO = skoringTindakanConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public SkoringTindakanNakesVO update(SkoringTindakanNakesVO vo) throws JpaSystemException, ServiceVOException {
SkoringTindakanNakes skoringTindakanLama = skoringTindakanDao.findOne(vo.getNoRec());
ProdukNakes produk = produkNakesConverter.transferVOToModel(vo.getProduk(), new ProdukNakes());
SkoringTindakanNakes skoringTindakanBaru = skoringTindakanConverter.transferVOToModel(vo, skoringTindakanLama);
skoringTindakanBaru.setProduk(produk);
skoringTindakanBaru.setTanggalPembaharuanData(new Date());
SkoringTindakanNakes resultModel = skoringTindakanDao.save(skoringTindakanBaru);
if (vo.getStatusEnabled()) {
addLoggingUser(vo.getLoginUserId(), resultModel.getNoRec(), "Edit data");
} else if (!vo.getStatusEnabled()) {
addLoggingUser(vo.getLoginUserId(), resultModel.getNoRec(), "Hapus data");
}
SkoringTindakanNakesVO resultVO = new SkoringTindakanNakesVO();
resultVO = skoringTindakanConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public Boolean delete(String key) throws JpaSystemException {
skoringTindakanDao.delete(key);
return true;
}
@Override
public SkoringTindakanNakesVO findById(String key) throws JpaSystemException {
SkoringTindakanNakesVO result = new SkoringTindakanNakesVO();
SkoringTindakanNakes skoringTindakan = skoringTindakanDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(skoringTindakan)) {
result = skoringTindakanConverter.transferModelToVO(skoringTindakan, result);
}
return result;
}
@Override
public List<SkoringTindakanNakesVO> findAll() throws JpaSystemException {
List<SkoringTindakanNakesVO> result = new ArrayList<SkoringTindakanNakesVO>();
Iterable<SkoringTindakanNakes> models = skoringTindakanDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (SkoringTindakanNakes model : models) {
SkoringTindakanNakesVO vo = new SkoringTindakanNakesVO();
vo = skoringTindakanConverter.transferModelToVO(model, vo);
result.add(vo);
}
}
return result;
}
@Override
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
String sort, String dir) {
return null;
}
@Override
public List<Map<String, Object>> findAllEnabled(String namaProduk, Boolean isVerif, Integer idProfesi)
throws JpaSystemException {
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> data = new ArrayList<>();
List<Map<String, Object>> filter = new ArrayList<>();
if (CommonUtil.isNullOrEmpty(namaProduk) && CommonUtil.isNullOrEmpty(isVerif)
&& CommonUtil.isNullOrEmpty(idProfesi)) {
data = skoringTindakanDao.findAllEnabled();
} else if (CommonUtil.isNotNullOrEmpty(namaProduk) && CommonUtil.isNullOrEmpty(isVerif)
&& CommonUtil.isNullOrEmpty(idProfesi)) {
data = skoringTindakanDao.findAllEnabledByProduk(namaProduk.toLowerCase());
} else if (CommonUtil.isNullOrEmpty(namaProduk) && CommonUtil.isNotNullOrEmpty(isVerif)
&& CommonUtil.isNullOrEmpty(idProfesi)) {
data = skoringTindakanDao.findAllEnabledByVerif(isVerif);
} else if (CommonUtil.isNullOrEmpty(namaProduk) && CommonUtil.isNullOrEmpty(isVerif)
&& CommonUtil.isNotNullOrEmpty(idProfesi)) {
data = skoringTindakanDao.findAllEnabledByProfesi(idProfesi);
} else if (CommonUtil.isNotNullOrEmpty(namaProduk) && CommonUtil.isNotNullOrEmpty(isVerif)
&& CommonUtil.isNullOrEmpty(idProfesi)) {
data = skoringTindakanDao.findAllEnabledByProdukVerif(namaProduk.toLowerCase(), isVerif);
} else if (CommonUtil.isNotNullOrEmpty(namaProduk) && CommonUtil.isNullOrEmpty(isVerif)
&& CommonUtil.isNotNullOrEmpty(idProfesi)) {
data = skoringTindakanDao.findAllEnabledByProdukProfesi(namaProduk.toLowerCase(), idProfesi);
} else if (CommonUtil.isNullOrEmpty(namaProduk) && CommonUtil.isNotNullOrEmpty(isVerif)
&& CommonUtil.isNotNullOrEmpty(idProfesi)) {
data = skoringTindakanDao.findAllEnabledByVerifProfesi(isVerif, idProfesi);
} else if (CommonUtil.isNotNullOrEmpty(namaProduk) && CommonUtil.isNotNullOrEmpty(isVerif)
&& CommonUtil.isNotNullOrEmpty(idProfesi)) {
data = skoringTindakanDao.findAllEnabledByProdukVerifProfesi(namaProduk.toLowerCase(), isVerif, idProfesi);
}
// filtering
for (Map<String, Object> mapData : data) {
boolean isContained = false;
for (Map<String, Object> mapFilter : filter) {
if (mapData.get("produkId").equals(mapFilter.get("produkId"))
&& mapData.get("tglMulaiBerlaku").equals(mapFilter.get("tglMulaiBerlaku"))) {
isContained = true;
break;
}
}
if (!isContained) {
Map<String, Object> mapFilter = new HashMap<>();
mapFilter.put("produkId", mapData.get("produkId"));
mapFilter.put("tglMulaiBerlaku", mapData.get("tglMulaiBerlaku"));
filter.add(mapFilter);
}
}
for (Map<String, Object> mapFilter : filter) {
for (Map<String, Object> mapData : data) {
if (mapFilter.get("produkId").equals(mapData.get("produkId"))
&& mapFilter.get("tglMulaiBerlaku").equals(mapData.get("tglMulaiBerlaku"))) {
// data hanya untuk diakses oleh bidang penunjang
mapData.put("unitKerjaId", Master.UnitKerja.BID_JANG);
result.add(mapData);
break;
}
}
}
return result;
}
@Override
public List<Map<String, Object>> findDuplicateSkoring(String namaProduk, Double skor, Integer idProfesi,
Long tglMulaiBerlaku, String noRec) throws JpaSystemException {
List<Map<String, Object>> result = new ArrayList<>();
List<String> listNorec = new ArrayList<>();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String patternText = settingDataFixedDao.getSettingDataFixed("patternTextDuplicate");
String replacedNamaProduk = namaProduk.replaceAll(patternText, "").toLowerCase();
if (CommonUtil.isNotNullOrEmpty(noRec)) {
listNorec = skoringTindakanDao.findLastDupSkoring(replacedNamaProduk, idProfesi, skor, patternText, noRec);
if (CommonUtil.isNullOrEmpty(listNorec)) {
listNorec = skoringTindakanDao.findDupSkoring(replacedNamaProduk, idProfesi, skor,
df.format(new Date(tglMulaiBerlaku)), patternText, noRec);
}
} else {
listNorec = skoringTindakanDao.findLastDupSkoring(replacedNamaProduk, idProfesi, skor, patternText);
if (CommonUtil.isNullOrEmpty(listNorec)) {
listNorec = skoringTindakanDao.findDupSkoring(replacedNamaProduk, idProfesi, skor,
df.format(new Date(tglMulaiBerlaku)), patternText);
}
}
if (CommonUtil.isNotNullOrEmpty(listNorec)) {
result = skoringTindakanDao.findAllDup(listNorec);
}
return result;
}
@Override
public Map<String, Object> findAkses(Integer idPegawai) throws JpaSystemException {
Map<String, Object> result = new HashMap<>();
List<Integer> listRs = new ArrayList<>();
List<Integer> listIdUnitKerja = new ArrayList<>();
List<Integer> listUnitKerjaSuperuser = new ArrayList<>();
listIdUnitKerja.add(Master.UnitKerja.BID_JANG);
listUnitKerjaSuperuser.add(Master.UnitKerja.BAG_SDM);
List<Map<String, Object>> listSuperuser = mappingJabatanDao.findAksesPegawaiPenilai(listIdUnitKerja, idPegawai);
listSuperuser.addAll(mappingJabatanDao.findAksesPegawaiStaf(listUnitKerjaSuperuser, idPegawai));
listSuperuser.addAll(mappingJabatanDao.findAksesPegawaiAtasan(listUnitKerjaSuperuser, idPegawai));
listSuperuser.addAll(mappingJabatanDao.findAksesPegawaiPenilai(listUnitKerjaSuperuser, idPegawai));
if (CommonUtil.isNotNullOrEmpty(listSuperuser)) {
listRs.addAll(listIdUnitKerja);
result.put("isSuperuser", true);
result.put("isAtasan", false);
result.put("isStaf", false);
result.put("listId", listRs);
result.put("listSk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
} else {
List<Map<String, Object>> listAtasan = mappingJabatanDao.findAksesPegawaiAtasan(listIdUnitKerja, idPegawai);
if (CommonUtil.isNotNullOrEmpty(listAtasan)) {
for (Map<String, Object> map : listAtasan) {
if (!listRs.contains(Integer.valueOf(map.get("unitKerjaId").toString()))) {
listRs.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
}
result.put("isSuperuser", false);
result.put("isAtasan", true);
result.put("isStaf", false);
result.put("listId", listRs);
result.put("listSk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
} else {
List<Map<String, Object>> listStaf = mappingJabatanDao.findAksesPegawaiStaf(listIdUnitKerja, idPegawai);
if (CommonUtil.isNotNullOrEmpty(listStaf)) {
for (Map<String, Object> map : listStaf) {
if (!listRs.contains(Integer.valueOf(map.get("unitKerjaId").toString()))) {
listRs.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
}
result.put("isSuperuser", false);
result.put("isAtasan", false);
result.put("isStaf", true);
result.put("listId", listRs);
result.put("listSk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
} else {
List<Map<String, Object>> listSuperElse = mappingJabatanDao.findAksesPegawaiPenilai(idPegawai);
if (CommonUtil.isNotNullOrEmpty(listSuperElse)) {
for (Map<String, Object> map : listSuperElse) {
if (!listRs.contains(Integer.valueOf(map.get("unitKerjaId").toString()))) {
listRs.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
}
result.put("isSuperuser", false);
result.put("isAtasan", false);
result.put("isStaf", false);
result.put("listId", listRs);
result.put("listSk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
} else {
List<Map<String, Object>> listAtasanElse = mappingJabatanDao.findAksesPegawaiAtasan(idPegawai);
if (CommonUtil.isNotNullOrEmpty(listAtasanElse)) {
for (Map<String, Object> map : listAtasanElse) {
if (!listRs.contains(Integer.valueOf(map.get("unitKerjaId").toString()))) {
listRs.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
}
result.put("isSuperuser", false);
result.put("isAtasan", false);
result.put("isStaf", false);
result.put("listId", listRs);
result.put("listSk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
} else {
List<Map<String, Object>> listStafElse = mappingJabatanDao.findAksesPegawaiStaf(idPegawai);
if (CommonUtil.isNotNullOrEmpty(listStafElse)) {
for (Map<String, Object> map : listStafElse) {
if (!listRs.contains(Integer.valueOf(map.get("unitKerjaId").toString()))) {
listRs.add(Integer.valueOf(map.get("unitKerjaId").toString()));
}
}
result.put("isSuperuser", false);
result.put("isAtasan", false);
result.put("isStaf", false);
result.put("listId", listRs);
result.put("listSk", subUnitKerjaDao.getSubunitKerjaByUnitKerja(listRs));
}
}
}
}
}
}
return result;
}
}

View File

@ -3,7 +3,6 @@ package com.jasamedika.medifirst2000.service.impl;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

View File

@ -0,0 +1,132 @@
package com.jasamedika.medifirst2000.entities;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "pelayananpasiennakes_t")
public class PelayananPasienNakes extends BaseTransaction {
@ManyToOne
@NotNull(message = "Nomor Registrasi Harus Diisi")
@JoinColumn(name = "noregistrasifk")
@Caption(value = "Nomor Registrasi")
private AntrianPasienDiPeriksa antrianPasienDiperiksa;
@Column(name = "noregistrasifk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false)
private String antrianPasienDiperiksaId;
@ManyToOne
@NotNull(message = "Produk Nakes tidak boleh kosong")
@JoinColumn(name = "objectproduknakesfk")
@Caption(value = "Produk Nakes")
private ProdukNakes produk;
@Column(name = "objectproduknakesfk", insertable = false, updatable = false, nullable = false)
private Integer produkId;
@Column(name = "tglpelayanan", nullable = false)
@Caption(value = "Tanggal Pelayanan")
@Temporal(TemporalType.TIMESTAMP)
private Date tglPelayanan;
@Column(name = "skor", nullable = false)
@Caption(value = "Nilai Skor")
private Double skor;
@Column(name = "jumlah", nullable = false)
@Caption(value = "Jumlah")
private Double jumlah;
@ManyToOne
@JoinColumn(name = "objectpegawaifk")
@Caption(value = "Pegawai")
private Pegawai pegawai;
@Column(name = "objectpegawaifk", insertable = false, updatable = false, nullable = true)
private Integer pegawaiId;
public AntrianPasienDiPeriksa getAntrianPasienDiperiksa() {
return antrianPasienDiperiksa;
}
public void setAntrianPasienDiperiksa(AntrianPasienDiPeriksa antrianPasienDiperiksa) {
this.antrianPasienDiperiksa = antrianPasienDiperiksa;
}
public String getAntrianPasienDiperiksaId() {
return antrianPasienDiperiksaId;
}
public void setAntrianPasienDiperiksaId(String antrianPasienDiperiksaId) {
this.antrianPasienDiperiksaId = antrianPasienDiperiksaId;
}
public ProdukNakes getProduk() {
return produk;
}
public void setProduk(ProdukNakes produk) {
this.produk = produk;
}
public Integer getProdukId() {
return produkId;
}
public void setProdukId(Integer produkId) {
this.produkId = produkId;
}
public Date getTglPelayanan() {
return tglPelayanan;
}
public void setTglPelayanan(Date tglPelayanan) {
this.tglPelayanan = tglPelayanan;
}
public Double getSkor() {
return skor;
}
public void setSkor(Double skor) {
this.skor = skor;
}
public Double getJumlah() {
return jumlah;
}
public void setJumlah(Double jumlah) {
this.jumlah = jumlah;
}
public Pegawai getPegawai() {
return pegawai;
}
public void setPegawai(Pegawai pegawai) {
this.pegawai = pegawai;
}
public Integer getPegawaiId() {
return pegawaiId;
}
public void setPegawaiId(Integer pegawaiId) {
this.pegawaiId = pegawaiId;
}
}

View File

@ -0,0 +1,73 @@
package com.jasamedika.medifirst2000.entities;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.base.BaseActive;
import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "produknakes_m")
public class ProdukNakes extends BaseActive {
@NotNull(message = "Nama Produk tidak boleh kosong")
@Column(name = "namaproduk", nullable = false)
@Caption(value = "Nama Produk")
private String namaProduk;
@ManyToOne
@NotNull(message = "Profesi tidak boleh kosong")
@JoinColumn(name = "objectprofesifk")
@Caption(value = "Profesi")
private Profesi profesi;
@Column(name = "objectprofesifk", insertable = false, updatable = false, nullable = false)
private Integer profesiId;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.produknakes_m_id_seq")
@SequenceGenerator(name = "public.produknakes_m_id_seq", sequenceName = "public.produknakes_m_id_seq", allocationSize = 1)
@Column(name = "id")
protected Integer id;
public String getNamaProduk() {
return namaProduk;
}
public void setNamaProduk(String namaProduk) {
this.namaProduk = namaProduk;
}
public Profesi getProfesi() {
return profesi;
}
public void setProfesi(Profesi profesi) {
this.profesi = profesi;
}
public Integer getProfesiId() {
return profesiId;
}
public void setProfesiId(Integer profesiId) {
this.profesiId = profesiId;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}

View File

@ -0,0 +1,46 @@
package com.jasamedika.medifirst2000.entities;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.base.BaseActive;
import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "sdm_profesi_m")
public class Profesi extends BaseActive {
@NotNull(message = "Nama Profesi tidak boleh kosong")
@Column(name = "namaprofesi", nullable = false)
@Caption(value = "Nama Profesi")
private String namaProfesi;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.sdm_profesi_m_id_seq")
@SequenceGenerator(name = "public.sdm_profesi_m_id_seq", sequenceName = "public.sdm_profesi_m_id_seq", allocationSize = 1)
@Column(name = "id")
protected Integer id;
public String getNamaProfesi() {
return namaProfesi;
}
public void setNamaProfesi(String namaProfesi) {
this.namaProfesi = namaProfesi;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}

View File

@ -0,0 +1,96 @@
package com.jasamedika.medifirst2000.entities;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "sdm_skoringtindakannakes_t")
public class SkoringTindakanNakes extends BaseTransaction {
@Column(name = "skor", nullable = false)
@Caption(value = "Nilai Skor")
private Double skor;
@Column(name = "statusverifikasi", nullable = false)
@Caption(value = "Status Verifikasi")
private Boolean statusVerifikasi;
@Caption(value = "Tanggal Mulai Berlaku")
@Column(name = "tanggalmulaiberlaku", nullable = false)
@Temporal(TemporalType.DATE)
private Date tanggalMulaiBerlaku;
@Caption(value = "Tanggal Pembaharuan Data")
@Column(name = "tanggalpembaharuandata", nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date tanggalPembaharuanData;
@ManyToOne
@NotNull(message = "Produk Nakes tidak boleh kosong")
@JoinColumn(name = "objectproduknakesfk")
@Caption(value = "Produk Nakes")
private ProdukNakes produk;
@Column(name = "objectproduknakesfk", insertable = false, updatable = false, nullable = false)
private Integer produkId;
public Double getSkor() {
return skor;
}
public void setSkor(Double skor) {
this.skor = skor;
}
public Boolean getStatusVerifikasi() {
return statusVerifikasi;
}
public void setStatusVerifikasi(Boolean statusVerifikasi) {
this.statusVerifikasi = statusVerifikasi;
}
public Date getTanggalMulaiBerlaku() {
return tanggalMulaiBerlaku;
}
public void setTanggalMulaiBerlaku(Date tanggalMulaiBerlaku) {
this.tanggalMulaiBerlaku = tanggalMulaiBerlaku;
}
public Date getTanggalPembaharuanData() {
return tanggalPembaharuanData;
}
public void setTanggalPembaharuanData(Date tanggalPembaharuanData) {
this.tanggalPembaharuanData = tanggalPembaharuanData;
}
public ProdukNakes getProduk() {
return produk;
}
public void setProduk(ProdukNakes produk) {
this.produk = produk;
}
public Integer getProdukId() {
return produkId;
}
public void setProdukId(Integer produkId) {
this.produkId = produkId;
}
}

View File

@ -0,0 +1,106 @@
package com.jasamedika.medifirst2000.vo;
import java.util.Date;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;
public class PelayananPasienNakesVO extends BaseTransactionVO {
@Caption(value = "Nomor Registrasi")
private AntrianPasienDiPeriksaVO antrianPasienDiperiksa;
private String antrianPasienDiperiksaId;
@Caption(value = "Produk Nakes")
private ProdukNakesVO produk;
private Integer produkId;
@Caption(value = "Tanggal Pelayanan")
private Date tglPelayanan;
@Caption(value = "Nilai Skor")
private Double skor;
@Caption(value = "Jumlah")
private Double jumlah;
@Caption(value = "Pegawai")
private PegawaiVO pegawai;
private Integer pegawaiId;
public AntrianPasienDiPeriksaVO getAntrianPasienDiperiksa() {
return antrianPasienDiperiksa;
}
public void setAntrianPasienDiperiksa(AntrianPasienDiPeriksaVO antrianPasienDiperiksa) {
this.antrianPasienDiperiksa = antrianPasienDiperiksa;
}
public String getAntrianPasienDiperiksaId() {
return antrianPasienDiperiksaId;
}
public void setAntrianPasienDiperiksaId(String antrianPasienDiperiksaId) {
this.antrianPasienDiperiksaId = antrianPasienDiperiksaId;
}
public ProdukNakesVO getProduk() {
return produk;
}
public void setProduk(ProdukNakesVO produk) {
this.produk = produk;
}
public Integer getProdukId() {
return produkId;
}
public void setProdukId(Integer produkId) {
this.produkId = produkId;
}
public Date getTglPelayanan() {
return tglPelayanan;
}
public void setTglPelayanan(Date tglPelayanan) {
this.tglPelayanan = tglPelayanan;
}
public Double getSkor() {
return skor;
}
public void setSkor(Double skor) {
this.skor = skor;
}
public Double getJumlah() {
return jumlah;
}
public void setJumlah(Double jumlah) {
this.jumlah = jumlah;
}
public PegawaiVO getPegawai() {
return pegawai;
}
public void setPegawai(PegawaiVO pegawai) {
this.pegawai = pegawai;
}
public Integer getPegawaiId() {
return pegawaiId;
}
public void setPegawaiId(Integer pegawaiId) {
this.pegawaiId = pegawaiId;
}
}

View File

@ -0,0 +1,50 @@
package com.jasamedika.medifirst2000.vo;
import com.jasamedika.medifirst2000.base.vo.BaseActiveVO;
import com.jasamedika.medifirst2000.helper.Caption;
public class ProdukNakesVO extends BaseActiveVO {
@Caption(value = "Nama Produk")
private String namaProduk;
@Caption(value = "Profesi")
private ProfesiVO profesi;
private Integer profesiId;
protected Integer id;
public String getNamaProduk() {
return namaProduk;
}
public void setNamaProduk(String namaProduk) {
this.namaProduk = namaProduk;
}
public ProfesiVO getProfesi() {
return profesi;
}
public void setProfesi(ProfesiVO profesi) {
this.profesi = profesi;
}
public Integer getProfesiId() {
return profesiId;
}
public void setProfesiId(Integer profesiId) {
this.profesiId = profesiId;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}

View File

@ -0,0 +1,29 @@
package com.jasamedika.medifirst2000.vo;
import com.jasamedika.medifirst2000.base.vo.BaseActiveVO;
import com.jasamedika.medifirst2000.helper.Caption;
public class ProfesiVO extends BaseActiveVO {
@Caption(value = "Nama Profesi")
private String namaProfesi;
protected Integer id;
public String getNamaProfesi() {
return namaProfesi;
}
public void setNamaProfesi(String namaProfesi) {
this.namaProfesi = namaProfesi;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}

View File

@ -0,0 +1,85 @@
package com.jasamedika.medifirst2000.vo;
import java.util.Date;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;
public class SkoringTindakanNakesVO extends BaseTransactionVO {
@Caption(value = "Nilai Skor")
private Double skor;
@Caption(value = "Status Verifikasi")
private Boolean statusVerifikasi;
@Caption(value = "Tanggal Mulai Berlaku")
private Date tanggalMulaiBerlaku;
@Caption(value = "Tanggal Pembaharuan Data")
private Date tanggalPembaharuanData;
@Caption(value = "Produk Perawat")
private ProdukNakesVO produk;
private Integer produkId;
private Integer loginUserId;
public Double getSkor() {
return skor;
}
public void setSkor(Double skor) {
this.skor = skor;
}
public Boolean getStatusVerifikasi() {
return statusVerifikasi;
}
public void setStatusVerifikasi(Boolean statusVerifikasi) {
this.statusVerifikasi = statusVerifikasi;
}
public Date getTanggalMulaiBerlaku() {
return tanggalMulaiBerlaku;
}
public void setTanggalMulaiBerlaku(Date tanggalMulaiBerlaku) {
this.tanggalMulaiBerlaku = tanggalMulaiBerlaku;
}
public Date getTanggalPembaharuanData() {
return tanggalPembaharuanData;
}
public void setTanggalPembaharuanData(Date tanggalPembaharuanData) {
this.tanggalPembaharuanData = tanggalPembaharuanData;
}
public ProdukNakesVO getProduk() {
return produk;
}
public void setProduk(ProdukNakesVO produk) {
this.produk = produk;
}
public Integer getProdukId() {
return produkId;
}
public void setProdukId(Integer produkId) {
this.produkId = produkId;
}
public Integer getLoginUserId() {
return loginUserId;
}
public void setLoginUserId(Integer loginUserId) {
this.loginUserId = loginUserId;
}
}

View File

@ -694,5 +694,9 @@
<mapping class="com.jasamedika.medifirst2000.entities.ProdukPerawat"/>
<mapping class="com.jasamedika.medifirst2000.entities.SkoringTindakanPerawat"/>
<mapping class="com.jasamedika.medifirst2000.entities.PelayananPasienPerawat"/>
<mapping class="com.jasamedika.medifirst2000.entities.ProdukNakes"/>
<mapping class="com.jasamedika.medifirst2000.entities.Profesi"/>
<mapping class="com.jasamedika.medifirst2000.entities.SkoringTindakanNakes"/>
<mapping class="com.jasamedika.medifirst2000.entities.PelayananPasienNakes"/>
</session-factory>
</hibernate-configuration>

View File

@ -36,9 +36,12 @@ import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailService;
import com.jasamedika.medifirst2000.service.LogbookKinerjaDokterService;
import com.jasamedika.medifirst2000.service.LogbookKinerjaService;
import com.jasamedika.medifirst2000.service.MapPegawaiJabatanToUnitKerjaService;
import com.jasamedika.medifirst2000.service.PelayananPasienNakesService;
import com.jasamedika.medifirst2000.service.PelayananPasienPerawatService;
import com.jasamedika.medifirst2000.service.ProdukNakesService;
import com.jasamedika.medifirst2000.service.RemunerasiOperasionalService;
import com.jasamedika.medifirst2000.service.SkoringTindakanMedisService;
import com.jasamedika.medifirst2000.service.SkoringTindakanNakesService;
import com.jasamedika.medifirst2000.service.SkoringTindakanPerawatService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.rest.RestUtil;
@ -50,10 +53,13 @@ import com.jasamedika.medifirst2000.vo.IndikatorKinerjaJabatanVO;
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO;
import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO;
import com.jasamedika.medifirst2000.vo.PelayananPasienNakesVO;
import com.jasamedika.medifirst2000.vo.PelayananPasienPerawatVO;
import com.jasamedika.medifirst2000.vo.ProdukNakesVO;
import com.jasamedika.medifirst2000.vo.RemunerasiOperasionalVO;
import com.jasamedika.medifirst2000.vo.SettingPirSdmVO;
import com.jasamedika.medifirst2000.vo.SkoringTindakanMedisVO;
import com.jasamedika.medifirst2000.vo.SkoringTindakanNakesVO;
import com.jasamedika.medifirst2000.vo.SkoringTindakanPerawatVO;
import com.jasamedika.medifirst2000.vo.StrukHistoriVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananJamKerjaVO;
@ -107,6 +113,15 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
@Autowired
private PelayananPasienPerawatService pelayananPasienPerawatService;
@Autowired
private ProdukNakesService produkNakesService;
@Autowired
private SkoringTindakanNakesService skoringTindakanNakesService;
@Autowired
private PelayananPasienNakesService pelayananPasienNakesService;
@RequestMapping(value = "/get-load-data", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, Object>> getLoadData(HttpServletRequest request) {
try {
@ -1425,11 +1440,11 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE);
}
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when add/update skor tindakan perawat", sve.getMessage());
LOGGER.error("Got exception {} when add/update skor tindakan oleh perawat", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when add/update skor tindakan perawat", jse.getMessage());
LOGGER.error("Got exception {} when add/update skor tindakan oleh perawat", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
@ -1447,11 +1462,11 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get all skoring tindakan perawat", sve.getMessage());
LOGGER.error("Got exception {} when get all skoring tindakan oleh perawat", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get all skoring tindakan perawat", jse.getMessage());
LOGGER.error("Got exception {} when get all skoring tindakan oleh perawat", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
@ -1470,11 +1485,11 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get duplikat skoring tindakan perawat", sve.getMessage());
LOGGER.error("Got exception {} when get duplikat skoring tindakan oleh perawat", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get duplikat skoring tindakan perawat", jse.getMessage());
LOGGER.error("Got exception {} when get duplikat skoring tindakan oleh perawat", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
@ -1489,11 +1504,11 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get akses skoring tindakan perawat", sve.getMessage());
LOGGER.error("Got exception {} when get akses skoring tindakan oleh perawat", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get akses skoring tindakan perawat", jse.getMessage());
LOGGER.error("Got exception {} when get akses skoring tindakan oleh perawat", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
@ -1536,11 +1551,11 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when delete pelayanan pasien perawat", sve.getMessage());
LOGGER.error("Got exception {} when delete pelayanan pasien oleh perawat", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when delete pelayanan pasien perawat", jse.getMessage());
LOGGER.error("Got exception {} when delete pelayanan pasien oleh perawat", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
@ -1567,4 +1582,212 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
}
}
@RequestMapping(value = "/save-produk-nakes", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ProdukNakesVO> saveProdukNakes(HttpServletRequest request,
@Valid @RequestBody ProdukNakesVO vo) {
try {
ProdukNakesVO result = new ProdukNakesVO();
if (CommonUtil.isNotNullOrEmpty(vo.getId())) {
result = produkNakesService.update(vo);
} else {
result = produkNakesService.add(vo);
}
if (CommonUtil.isNotNullOrEmpty(result)) {
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage);
} else {
return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE);
}
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when add/update master produk nakes", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when add/update master produk nakes", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/get-produk-nakes", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getProdukNakes(HttpServletRequest request,
@RequestParam(value = "profesiId", required = false) Integer idProfesi) throws ParseException {
try {
List<Map<String, Object>> result = produkNakesService.findByProfesi(idProfesi);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get produk nakes per profesi", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get produk nakes per profesi", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/save-skoring-tindakan-nakes", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<SkoringTindakanNakesVO> saveSkoringTindakanNakes(HttpServletRequest request,
@Valid @RequestBody SkoringTindakanNakesVO vo) {
try {
SkoringTindakanNakesVO result = new SkoringTindakanNakesVO();
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
result = skoringTindakanNakesService.update(vo);
} else {
result = skoringTindakanNakesService.add(vo);
}
if (CommonUtil.isNotNullOrEmpty(result)) {
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage);
} else {
return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE);
}
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when add/update skor tindakan oleh nakes lain", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when add/update skor tindakan oleh nakes lain", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/get-all-skoring-tindakan-nakes", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getAllSkoringTindakanNakes(HttpServletRequest request,
@RequestParam(value = "namaProduk", required = false) String namaProduk,
@RequestParam(value = "isVerif", required = false) Boolean isVerif,
@RequestParam(value = "profesiId", required = false) Integer idProfesi) throws ParseException {
try {
List<Map<String, Object>> result = skoringTindakanNakesService.findAllEnabled(namaProduk, isVerif,
idProfesi);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get all skoring tindakan oleh nakes lain", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get all skoring tindakan oleh nakes lain", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/get-duplicate-skoring-tindakan-nakes", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getDuplikatSkoringTindakanNakes(HttpServletRequest request,
@RequestParam(value = "noRec", required = false) String noRec,
@RequestParam(value = "namaProduk", required = true) String namaProduk,
@RequestParam(value = "profesiId", required = true) Integer idProfesi,
@RequestParam(value = "skor", required = true) Double skor,
@RequestParam(value = "tglBerlaku", required = true) Long tglMulaiBerlaku) throws ParseException {
try {
List<Map<String, Object>> result = skoringTindakanNakesService.findDuplicateSkoring(namaProduk, skor,
idProfesi, tglMulaiBerlaku, noRec);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get duplikat skoring tindakan oleh nakes lain", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get duplikat skoring tindakan oleh nakes lain", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/get-akses-skoring-tindakan-nakes", method = RequestMethod.GET)
public ResponseEntity<Map<String, Object>> getAksesSkoringTindakanNakes(HttpServletRequest request,
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai) throws ParseException {
try {
Map<String, Object> result = skoringTindakanNakesService.findAkses(idPegawai);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get akses skoring tindakan oleh nakes lain", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get akses skoring tindakan oleh nakes lain", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/save-pelayanan-pasien-nakes", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<PelayananPasienNakesVO> savePelayananPasienNakes(HttpServletRequest request,
@Valid @RequestBody PelayananPasienNakesVO vo) {
try {
PelayananPasienNakesVO result = new PelayananPasienNakesVO();
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
result = pelayananPasienNakesService.update(vo);
} else {
result = pelayananPasienNakesService.add(vo);
}
if (CommonUtil.isNotNullOrEmpty(result)) {
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage);
} else {
return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE);
}
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when add/update pelayanan pasien oleh nakes lain", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when add/update pelayanan pasien oleh nakes lain", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/delete-pelayanan-pasien-nakes", method = RequestMethod.POST)
public ResponseEntity<Boolean> deletePelayananPasienNakes(HttpServletRequest request,
@RequestParam(value = "noRec", required = true) String norec) {
try {
Boolean result = pelayananPasienNakesService.delete(norec);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when delete pelayanan pasien oleh nakes lain", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when delete pelayanan pasien oleh nakes lain", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/get-pelayanan-pasien-nakes", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getPelayananPasienNakes(HttpServletRequest request,
@RequestParam(value = "noRec", required = true) String noRec,
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai) throws ParseException {
try {
List<Map<String, Object>> result = pelayananPasienNakesService.findByAntrianPasienDiperiksa(noRec,
idPegawai);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get pelayanan pasien oleh nakes lain", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get pelayanan pasien oleh nakes lain", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}