- pembuatan service simpan, update, dan delete master indikator kinerja
- pembuatan service simpan, update, dan delete logbook kinerja dan detail - perbaikan service update klaim diskon karyawan karena jumlah dan diskon awal jasa farmasi
This commit is contained in:
parent
9576117729
commit
21fdcf2b2f
@ -154,38 +154,26 @@ public interface PelayananPasienDao extends PagingAndSortingRepository<Pelayanan
|
|||||||
List<Map<String, Object>> findDataLayananAllRuangan(@Param("tglAwal") Date tglAwal,
|
List<Map<String, Object>> findDataLayananAllRuangan(@Param("tglAwal") Date tglAwal,
|
||||||
@Param("tglAkhir") Date tglAkhir, @Param("listNontindakanId") List<Integer> listNontindakanId);
|
@Param("tglAkhir") Date tglAkhir, @Param("listNontindakanId") List<Integer> listNontindakanId);
|
||||||
|
|
||||||
@Query("select new Map("
|
@Query("select new Map(" + "pg.id as idPegawai, " + "pg.namaLengkap as namaPegawai, "
|
||||||
+ "pg.id as idPegawai, "
|
+ "pg.typePegawaiId as tipePegawai, " + "kp.id as idKelPasien, " + "pr.id as idLayanan, "
|
||||||
+ "pg.namaLengkap as namaPegawai, "
|
+ "pr.namaProduk as namaLayanan, " + "ru.departemenId as idDepartemen, "
|
||||||
+ "pg.typePegawaiId as tipePegawai, "
|
+ "djp.jenisProdukId as idJenisProduk, " + "ppd.hargaJual as hargaJual, "
|
||||||
+ "kp.id as idKelPasien, "
|
+ "coalesce(ppd.hargaDiscount,0) as hargaDiskon, " + "pp.jumlah as jumlahLayanan"
|
||||||
+ "pr.id as idLayanan, "
|
+ ") from PelayananPasienPetugas ppp, PelayananPasienDetail ppd " + "left join ppp.pelayananPasien pp "
|
||||||
+ "pr.namaProduk as namaLayanan, "
|
+ "left join ppp.kdpegawai pg " + "left join ppd.produk pr " + "left join pp.pasienDaftar apd "
|
||||||
+ "ru.departemenId as idDepartemen, "
|
+ "left join apd.pasienDaftar pd " + "left join apd.ruangan ru " + "left join apd.kelas kls "
|
||||||
+ "djp.jenisProdukId as idJenisProduk, "
|
+ "left join pd.pasien ps " + "left join pd.kelompokPasien kp " + "left join pr.detailJenisProduk djp "
|
||||||
+ "ppd.hargaJual as hargaJual, "
|
+ "where ppd.pelayananPasienId = pp.noRec " + "and ppp.pelayananPasienId = ppd.pelayananPasienId "
|
||||||
+ "coalesce(ppd.hargaDiscount,0) as hargaDiskon, "
|
|
||||||
+ "pp.jumlah as jumlahLayanan"
|
|
||||||
+ ") from PelayananPasienPetugas ppp, PelayananPasienDetail ppd "
|
|
||||||
+ "left join ppp.pelayananPasien pp "
|
|
||||||
+ "left join ppp.kdpegawai pg "
|
|
||||||
+ "left join ppd.produk pr "
|
|
||||||
+ "left join pp.pasienDaftar apd "
|
|
||||||
+ "left join apd.pasienDaftar pd "
|
|
||||||
+ "left join apd.ruangan ru "
|
|
||||||
+ "left join apd.kelas kls "
|
|
||||||
+ "left join pd.pasien ps "
|
|
||||||
+ "left join pd.kelompokPasien kp "
|
|
||||||
+ "left join pr.detailJenisProduk djp "
|
|
||||||
+ "where ppd.pelayananPasienId = pp.noRec "
|
|
||||||
+ "and ppp.pelayananPasienId = ppd.pelayananPasienId "
|
|
||||||
+ "and ((ppp.ObjectJenisPetugasPeId = 4 and ppd.komponenHargaId = 35) "
|
+ "and ((ppp.ObjectJenisPetugasPeId = 4 and ppd.komponenHargaId = 35) "
|
||||||
+ "or (ppp.ObjectJenisPetugasPeId = 6 and ppd.komponenHargaId = 21) "
|
+ "or (ppp.ObjectJenisPetugasPeId = 6 and ppd.komponenHargaId = 21) "
|
||||||
+ "or (ppp.ObjectJenisPetugasPeId = 13 and ppd.komponenHargaId = 22)) "
|
+ "or (ppp.ObjectJenisPetugasPeId = 13 and ppd.komponenHargaId = 22)) "
|
||||||
+ "and pg.jenisPegawaiId = :idJenisPegawai "
|
+ "and pg.jenisPegawaiId = :idJenisPegawai " + "and pg.typePegawaiId is not null "
|
||||||
+ "and pg.typePegawaiId is not null "
|
+ "and pp.tglPelayanan between :tglAwal and :tglAkhir " + "order by pg.namaLengkap")
|
||||||
+ "and pp.tglPelayanan between :tglAwal and :tglAkhir "
|
List<Map<String, Object>> getDataPendapatan(@Param("idJenisPegawai") int idJenisPegawai,
|
||||||
+ "order by pg.namaLengkap")
|
@Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir);
|
||||||
List<Map<String, Object>> getDataPendapatan(@Param("idJenisPegawai") int idJenisPegawai, @Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir);
|
|
||||||
|
@Query("select pp from PelayananPasien pp " + "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd "
|
||||||
|
+ "where pp.strukFk is null " + "and pd.noRegistrasi = :noRegistrasi " + "order by pp.produkId")
|
||||||
|
Iterable<PelayananPasien> findLayananTagihan(@Param("noRegistrasi") String noRegistrasi);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
package com.jasamedika.medifirst2000.dao;
|
package com.jasamedika.medifirst2000.dao;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
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;
|
||||||
@ -21,13 +20,4 @@ public interface PelayananPasienDetailDao extends PagingAndSortingRepository<Pel
|
|||||||
@Query("select model from PelayananPasienDetail model left join model.pelayananPasien a where a.noRec=:noRec")
|
@Query("select model from PelayananPasienDetail model left join model.pelayananPasien a where a.noRec=:noRec")
|
||||||
List<PelayananPasienDetail> getPelayananPasienDetail(@Param("noRec") String noRec);
|
List<PelayananPasienDetail> getPelayananPasienDetail(@Param("noRec") String noRec);
|
||||||
|
|
||||||
@Query("select new Map(" + "coalesce(ppd.hargaDiscount,0) as hargaDiscount,"
|
|
||||||
+ "coalesce(ppd.hargaJual,0) as hargaJual," + "coalesce(ppd.hargaNetto,0) as hargaNetto,"
|
|
||||||
+ "coalesce(ppd.hargaSatuan,0) as hargaSatuan," + "coalesce(ppd.jasa,0) as jasa,"
|
|
||||||
+ "coalesce(ppd.jumlah,0) as jumlah," + "ppd.komponenHargaId as idKomponenHarga,"
|
|
||||||
+ "pd.dokterPenanggungJawabId as dpjpUtama," + "apd.pegawaiId as dpjp," + "pp.produkId as idLayanan"
|
|
||||||
+ ") from PelayananPasienDetail ppd " + "inner join ppd.pelayananPasien pp "
|
|
||||||
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "where pp.strukFk is null "
|
|
||||||
+ "and pd.noRegistrasi = :noRegistrasi " + "order by ppd.komponenHargaId")
|
|
||||||
List<Map<String, Object>> findDetailTagihan(@Param("noRegistrasi") String noRegistrasi);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,8 @@
|
|||||||
|
package com.jasamedika.medifirst2000.service;
|
||||||
|
|
||||||
|
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
|
||||||
|
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
|
||||||
|
|
||||||
|
public interface IndikatorKinerjaService extends BaseVoService<IndikatorKinerja, IndikatorKinerjaVO, Integer> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
package com.jasamedika.medifirst2000.service;
|
||||||
|
|
||||||
|
import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetail;
|
||||||
|
import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO;
|
||||||
|
|
||||||
|
public interface LogbookKinerjaDetailService extends BaseVoService<LogbookKinerjaDetail, LogbookKinerjaDetailVO, String> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
package com.jasamedika.medifirst2000.service;
|
||||||
|
|
||||||
|
import com.jasamedika.medifirst2000.entities.LogbookKinerja;
|
||||||
|
import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO;
|
||||||
|
|
||||||
|
public interface LogbookKinerjaService extends BaseVoService<LogbookKinerja, LogbookKinerjaVO, String> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -18,6 +18,6 @@ public interface PelayananPasienService {
|
|||||||
|
|
||||||
List<Map<String, Object>> hitungRemunerasiDokterDenganFfs(String tglAwal, String tglAkhir);
|
List<Map<String, Object>> hitungRemunerasiDokterDenganFfs(String tglAwal, String tglAkhir);
|
||||||
|
|
||||||
void updateKlaimDiskonRSAB(String noRegistrasi, Double totalKlaim);
|
List<String> updateKlaimDiskonKaryawan(String noRegistrasi, Double totalKlaim);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,7 +16,6 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
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.BridgingDao;
|
import com.jasamedika.medifirst2000.dao.BridgingDao;
|
||||||
import com.jasamedika.medifirst2000.dao.IndikatorBIOSDao;
|
import com.jasamedika.medifirst2000.dao.IndikatorBIOSDao;
|
||||||
import com.jasamedika.medifirst2000.dao.IndikatorBIOSTransaksiDao;
|
import com.jasamedika.medifirst2000.dao.IndikatorBIOSTransaksiDao;
|
||||||
@ -37,9 +36,6 @@ public class IndikatorBIOSServiceImpl extends BaseVoServiceImpl implements Indik
|
|||||||
@Autowired
|
@Autowired
|
||||||
private BaseConverterImpl<IndikatorBIOSVO, IndikatorBIOS> indikatorConverter;
|
private BaseConverterImpl<IndikatorBIOSVO, IndikatorBIOS> indikatorConverter;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private AntrianPasienDiPeriksaDao antrianPasienDiPeriksaDao;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private BridgingDao bridgingDao;
|
private BridgingDao bridgingDao;
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,102 @@
|
|||||||
|
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.IndikatorKinerjaDao;
|
||||||
|
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
|
||||||
|
import com.jasamedika.medifirst2000.entities.SatuanIndikator;
|
||||||
|
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||||
|
import com.jasamedika.medifirst2000.service.IndikatorKinerjaService;
|
||||||
|
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||||
|
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
|
||||||
|
import com.jasamedika.medifirst2000.vo.SatuanIndikatorVO;
|
||||||
|
|
||||||
|
@Service("IndikatorKinerjaService")
|
||||||
|
public class IndikatorKinerjaServiceImpl extends BaseVoServiceImpl implements IndikatorKinerjaService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<IndikatorKinerjaVO, IndikatorKinerja> indikatorKinerjaConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<SatuanIndikatorVO, SatuanIndikator> satuanIndikatorConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IndikatorKinerjaDao indikatorKinerjaDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IndikatorKinerjaVO add(IndikatorKinerjaVO vo) throws JpaSystemException, ServiceVOException {
|
||||||
|
SatuanIndikator satuanIndikator = satuanIndikatorConverter.transferVOToModel(vo.getSatuanIndikator(), new SatuanIndikator());
|
||||||
|
IndikatorKinerja indikatorKinerja = indikatorKinerjaConverter.transferVOToModel(vo, new IndikatorKinerja());
|
||||||
|
|
||||||
|
indikatorKinerja.setSatuanIndikator(satuanIndikator);
|
||||||
|
IndikatorKinerja resultModel = indikatorKinerjaDao.save(indikatorKinerja);
|
||||||
|
|
||||||
|
IndikatorKinerjaVO resultVO = new IndikatorKinerjaVO();
|
||||||
|
resultVO = indikatorKinerjaConverter.transferModelToVO(resultModel, resultVO);
|
||||||
|
|
||||||
|
return resultVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IndikatorKinerjaVO update(IndikatorKinerjaVO vo) throws JpaSystemException, ServiceVOException {
|
||||||
|
IndikatorKinerja indikatorKinerjaLama = indikatorKinerjaDao.findOne(vo.getId());
|
||||||
|
|
||||||
|
SatuanIndikator satuanIndikator = satuanIndikatorConverter.transferVOToModel(vo.getSatuanIndikator(), new SatuanIndikator());
|
||||||
|
IndikatorKinerja indikatorKinerjaBaru = indikatorKinerjaConverter.transferVOToModel(vo, indikatorKinerjaLama);
|
||||||
|
|
||||||
|
indikatorKinerjaBaru.setSatuanIndikator(satuanIndikator);
|
||||||
|
IndikatorKinerja resultModel = indikatorKinerjaDao.save(indikatorKinerjaBaru);
|
||||||
|
|
||||||
|
IndikatorKinerjaVO resultVO = new IndikatorKinerjaVO();
|
||||||
|
resultVO = indikatorKinerjaConverter.transferModelToVO(resultModel, resultVO);
|
||||||
|
|
||||||
|
return resultVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean delete(Integer key) throws JpaSystemException {
|
||||||
|
indikatorKinerjaDao.delete(key);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IndikatorKinerjaVO findById(Integer key) throws JpaSystemException {
|
||||||
|
IndikatorKinerjaVO result = new IndikatorKinerjaVO();
|
||||||
|
|
||||||
|
IndikatorKinerja indikatorKinerja = indikatorKinerjaDao.findOne(key);
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(indikatorKinerja)) {
|
||||||
|
result = indikatorKinerjaConverter.transferModelToVO(indikatorKinerja, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<IndikatorKinerjaVO> findAll() throws JpaSystemException {
|
||||||
|
List<IndikatorKinerjaVO> result = new ArrayList<IndikatorKinerjaVO>();
|
||||||
|
|
||||||
|
Iterable<IndikatorKinerja> models = indikatorKinerjaDao.findAll();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||||
|
for (IndikatorKinerja model : models) {
|
||||||
|
IndikatorKinerjaVO vo = new IndikatorKinerjaVO();
|
||||||
|
vo = indikatorKinerjaConverter.transferModelToVO(model, vo);
|
||||||
|
result.add(vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
|
||||||
|
String sort, String dir) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,120 @@
|
|||||||
|
package com.jasamedika.medifirst2000.service.impl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
|
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.LogbookKinerjaDao;
|
||||||
|
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDetailDao;
|
||||||
|
import com.jasamedika.medifirst2000.entities.LogbookKinerja;
|
||||||
|
import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetail;
|
||||||
|
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||||
|
import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailService;
|
||||||
|
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||||
|
import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO;
|
||||||
|
import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO;
|
||||||
|
|
||||||
|
@Service("LogbookKinerjaDetailService")
|
||||||
|
public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implements LogbookKinerjaDetailService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<LogbookKinerjaDetailVO, LogbookKinerjaDetail> logbookKinerjaDetailConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LogbookKinerjaDao logbookKinerjaDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LogbookKinerjaDetailDao logbookKinerjaDetailDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LogbookKinerjaDetailVO add(LogbookKinerjaDetailVO vo) throws JpaSystemException, ServiceVOException {
|
||||||
|
LogbookKinerja logbookKinerja = logbookKinerjaDao.findOne(vo.getLogbookKinerja().getNoRec());
|
||||||
|
|
||||||
|
LogbookKinerjaDetail logbookKinerjaDetail = logbookKinerjaDetailConverter.transferVOToModel(vo,
|
||||||
|
new LogbookKinerjaDetail());
|
||||||
|
|
||||||
|
logbookKinerja.setCapaian(logbookKinerja.getCapaian() + vo.getCapaian());
|
||||||
|
logbookKinerjaDetail.setLogbookKinerja(logbookKinerja);
|
||||||
|
logbookKinerjaDetail.setTanggalKegiatan(new Date());
|
||||||
|
|
||||||
|
logbookKinerjaDao.save(logbookKinerja);
|
||||||
|
LogbookKinerjaDetail resultModel = logbookKinerjaDetailDao.save(logbookKinerjaDetail);
|
||||||
|
|
||||||
|
LogbookKinerjaDetailVO resultVO = new LogbookKinerjaDetailVO();
|
||||||
|
resultVO = logbookKinerjaDetailConverter.transferModelToVO(resultModel, resultVO);
|
||||||
|
|
||||||
|
return resultVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LogbookKinerjaDetailVO update(LogbookKinerjaDetailVO vo) throws JpaSystemException, ServiceVOException {
|
||||||
|
LogbookKinerja logbookKinerja = logbookKinerjaDao.findOne(vo.getLogbookKinerja().getNoRec());
|
||||||
|
LogbookKinerjaDetail logbookKinerjaDetailLama = logbookKinerjaDetailDao.findOne(vo.getNoRec());
|
||||||
|
|
||||||
|
if (!vo.getStatusEnabled() && logbookKinerjaDetailLama.getStatusEnabled()) {
|
||||||
|
logbookKinerja.setCapaian(logbookKinerja.getCapaian() - vo.getCapaian());
|
||||||
|
} else if (vo.getStatusEnabled() && !logbookKinerjaDetailLama.getStatusEnabled()) {
|
||||||
|
logbookKinerja.setCapaian(logbookKinerja.getCapaian() + vo.getCapaian());
|
||||||
|
}
|
||||||
|
|
||||||
|
LogbookKinerjaDetail logbookKinerjaDetailBaru = logbookKinerjaDetailConverter.transferVOToModel(vo,
|
||||||
|
logbookKinerjaDetailLama);
|
||||||
|
|
||||||
|
logbookKinerjaDetailBaru.setLogbookKinerja(logbookKinerja);
|
||||||
|
|
||||||
|
logbookKinerjaDao.save(logbookKinerja);
|
||||||
|
LogbookKinerjaDetail resutlModel = logbookKinerjaDetailDao.save(logbookKinerjaDetailBaru);
|
||||||
|
|
||||||
|
LogbookKinerjaDetailVO resultVO = new LogbookKinerjaDetailVO();
|
||||||
|
resultVO = logbookKinerjaDetailConverter.transferModelToVO(resutlModel, resultVO);
|
||||||
|
|
||||||
|
return resultVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean delete(String key) throws JpaSystemException {
|
||||||
|
logbookKinerjaDetailDao.delete(key);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LogbookKinerjaDetailVO findById(String key) throws JpaSystemException {
|
||||||
|
LogbookKinerjaDetailVO result = new LogbookKinerjaDetailVO();
|
||||||
|
|
||||||
|
LogbookKinerjaDetail logbookKinerjaDetail = logbookKinerjaDetailDao.findOne(key);
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(logbookKinerjaDetail)) {
|
||||||
|
result = logbookKinerjaDetailConverter.transferModelToVO(logbookKinerjaDetail, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<LogbookKinerjaDetailVO> findAll() throws JpaSystemException {
|
||||||
|
List<LogbookKinerjaDetailVO> result = new ArrayList<LogbookKinerjaDetailVO>();
|
||||||
|
|
||||||
|
Iterable<LogbookKinerjaDetail> models = logbookKinerjaDetailDao.findAll();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||||
|
for (LogbookKinerjaDetail model : models) {
|
||||||
|
LogbookKinerjaDetailVO vo = new LogbookKinerjaDetailVO();
|
||||||
|
vo = logbookKinerjaDetailConverter.transferModelToVO(model, vo);
|
||||||
|
result.add(vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
|
||||||
|
String sort, String dir) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,124 @@
|
|||||||
|
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.LogbookKinerjaDao;
|
||||||
|
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
|
||||||
|
import com.jasamedika.medifirst2000.entities.Jabatan;
|
||||||
|
import com.jasamedika.medifirst2000.entities.LogbookKinerja;
|
||||||
|
import com.jasamedika.medifirst2000.entities.Pegawai;
|
||||||
|
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||||
|
import com.jasamedika.medifirst2000.service.LogbookKinerjaService;
|
||||||
|
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||||
|
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
|
||||||
|
import com.jasamedika.medifirst2000.vo.JabatanVO;
|
||||||
|
import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO;
|
||||||
|
import com.jasamedika.medifirst2000.vo.PegawaiVO;
|
||||||
|
|
||||||
|
@Service("LogbookKinerjaService")
|
||||||
|
public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements LogbookKinerjaService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<LogbookKinerjaVO, LogbookKinerja> logbookKinerjaConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<PegawaiVO, Pegawai> pegawaiConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<JabatanVO, Jabatan> jabatanConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private BaseConverterImpl<IndikatorKinerjaVO, IndikatorKinerja> indikatorKinerjaConverter;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LogbookKinerjaDao logbookKinerjaDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LogbookKinerjaVO add(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException {
|
||||||
|
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
|
||||||
|
Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan());
|
||||||
|
IndikatorKinerja indikatorKinerja = indikatorKinerjaConverter.transferVOToModel(vo.getIndikatorKinerja(),
|
||||||
|
new IndikatorKinerja());
|
||||||
|
LogbookKinerja logbookKinerja = logbookKinerjaConverter.transferVOToModel(vo, new LogbookKinerja());
|
||||||
|
|
||||||
|
logbookKinerja.setPegawai(pegawai);
|
||||||
|
logbookKinerja.setJabatan(jabatan);
|
||||||
|
logbookKinerja.setIndikatorKinerja(indikatorKinerja);
|
||||||
|
logbookKinerja.setCapaian(0.0);
|
||||||
|
LogbookKinerja resultModel = logbookKinerjaDao.save(logbookKinerja);
|
||||||
|
|
||||||
|
LogbookKinerjaVO resultVO = new LogbookKinerjaVO();
|
||||||
|
resultVO = logbookKinerjaConverter.transferModelToVO(resultModel, resultVO);
|
||||||
|
|
||||||
|
return resultVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LogbookKinerjaVO update(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException {
|
||||||
|
LogbookKinerja logbookKinerjaLama = logbookKinerjaDao.findOne(vo.getNoRec());
|
||||||
|
|
||||||
|
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
|
||||||
|
Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan());
|
||||||
|
IndikatorKinerja indikatorKinerja = indikatorKinerjaConverter.transferVOToModel(vo.getIndikatorKinerja(),
|
||||||
|
new IndikatorKinerja());
|
||||||
|
LogbookKinerja logbookKinerjaBaru = logbookKinerjaConverter.transferVOToModel(vo, logbookKinerjaLama);
|
||||||
|
|
||||||
|
logbookKinerjaBaru.setPegawai(pegawai);
|
||||||
|
logbookKinerjaBaru.setJabatan(jabatan);
|
||||||
|
logbookKinerjaBaru.setIndikatorKinerja(indikatorKinerja);
|
||||||
|
LogbookKinerja resultModel = logbookKinerjaDao.save(logbookKinerjaBaru);
|
||||||
|
|
||||||
|
LogbookKinerjaVO resultVO = new LogbookKinerjaVO();
|
||||||
|
resultVO = logbookKinerjaConverter.transferModelToVO(resultModel, resultVO);
|
||||||
|
|
||||||
|
return resultVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean delete(String key) throws JpaSystemException {
|
||||||
|
logbookKinerjaDao.delete(key);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public LogbookKinerjaVO findById(String key) throws JpaSystemException {
|
||||||
|
LogbookKinerjaVO result = new LogbookKinerjaVO();
|
||||||
|
|
||||||
|
LogbookKinerja logbookKinerja = logbookKinerjaDao.findOne(key);
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(logbookKinerja)) {
|
||||||
|
result = logbookKinerjaConverter.transferModelToVO(logbookKinerja, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<LogbookKinerjaVO> findAll() throws JpaSystemException {
|
||||||
|
List<LogbookKinerjaVO> result = new ArrayList<LogbookKinerjaVO>();
|
||||||
|
|
||||||
|
Iterable<LogbookKinerja> models = logbookKinerjaDao.findAll();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(models)) {
|
||||||
|
for (LogbookKinerja model : models) {
|
||||||
|
LogbookKinerjaVO vo = new LogbookKinerjaVO();
|
||||||
|
vo = logbookKinerjaConverter.transferModelToVO(model, vo);
|
||||||
|
result.add(vo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
|
||||||
|
String sort, String dir) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -22,7 +22,6 @@ import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
|||||||
import com.jasamedika.medifirst2000.dao.AntrianPasienDiPeriksaDao;
|
import com.jasamedika.medifirst2000.dao.AntrianPasienDiPeriksaDao;
|
||||||
import com.jasamedika.medifirst2000.dao.LogAccDao;
|
import com.jasamedika.medifirst2000.dao.LogAccDao;
|
||||||
import com.jasamedika.medifirst2000.dao.PelayananPasienDao;
|
import com.jasamedika.medifirst2000.dao.PelayananPasienDao;
|
||||||
import com.jasamedika.medifirst2000.dao.PelayananPasienDetailDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.StrukPelayananDao;
|
import com.jasamedika.medifirst2000.dao.StrukPelayananDao;
|
||||||
import com.jasamedika.medifirst2000.entities.JenisObat;
|
import com.jasamedika.medifirst2000.entities.JenisObat;
|
||||||
import com.jasamedika.medifirst2000.entities.LogAcc;
|
import com.jasamedika.medifirst2000.entities.LogAcc;
|
||||||
@ -55,9 +54,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
@Autowired
|
@Autowired
|
||||||
private PelayananPasienDao pelayananPasienDao;
|
private PelayananPasienDao pelayananPasienDao;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private PelayananPasienDetailDao pelayananPasienDetailDao;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private LogAccDao logAccDao;
|
private LogAccDao logAccDao;
|
||||||
|
|
||||||
@ -354,85 +350,42 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateKlaimDiskonRSAB(String noRegistrasi, Double totalKlaim) {
|
public List<String> updateKlaimDiskonKaryawan(String noRegistrasi, Double totalKlaim) {
|
||||||
List<Map<String, Object>> detailSarana = new ArrayList<>();
|
List<String> result = new ArrayList<>();
|
||||||
List<Map<String, Object>> detailUmum = new ArrayList<>();
|
double totalTagihan = 0.0;
|
||||||
List<Map<String, Object>> detailParamedis = new ArrayList<>();
|
|
||||||
List<Map<String, Object>> detailMedis = new ArrayList<>();
|
|
||||||
List<Map<String, Object>> detailLainlain = new ArrayList<>();
|
|
||||||
|
|
||||||
double totalDetailSarana = 0.0;
|
Iterable<PelayananPasien> data = pelayananPasienDao.findLayananTagihan(noRegistrasi);
|
||||||
double totalDetailUmum = 0.0;
|
|
||||||
double totalDetailParamedis = 0.0;
|
|
||||||
double totalDetailMedis = 0.0;
|
|
||||||
double totalDetailFarmasi = 0.0;
|
|
||||||
double sisaTotalKlaim = totalKlaim;
|
|
||||||
double fracTotalKlaim = 0.0;
|
|
||||||
|
|
||||||
List<Map<String, Object>> detail = pelayananPasienDetailDao.findDetailTagihan(noRegistrasi);
|
for (PelayananPasien pp : data) {
|
||||||
for (Map<String, Object> map : detail) {
|
totalTagihan += hitungKomponenTagihan(pp);
|
||||||
if (Arrays.asList(Master.KomponenHarga.JASA_SARANA).contains(map.get("idKomponenHarga"))) {
|
|
||||||
detailSarana.add(map);
|
|
||||||
totalDetailSarana += ((double) map.get("hargaJual") - (double) map.get("hargaDiscount"))
|
|
||||||
* (double) map.get("jumlah");
|
|
||||||
totalDetailFarmasi += (double) map.get("jasa");
|
|
||||||
} else if (map.get("idKomponenHarga").equals(Master.KomponenHarga.JASA_UMUM)) {
|
|
||||||
detailUmum.add(map);
|
|
||||||
totalDetailUmum += ((double) map.get("hargaJual") - (double) map.get("hargaDiscount"))
|
|
||||||
* (double) map.get("jumlah");
|
|
||||||
totalDetailFarmasi += (double) map.get("jasa");
|
|
||||||
} else if (Arrays.asList(Master.KomponenHarga.JASA_PARAMEDIS).contains(map.get("idKomponenHarga"))) {
|
|
||||||
detailParamedis.add(map);
|
|
||||||
totalDetailParamedis += ((double) map.get("hargaJual") - (double) map.get("hargaDiscount"))
|
|
||||||
* (double) map.get("jumlah");
|
|
||||||
totalDetailFarmasi += (double) map.get("jasa");
|
|
||||||
} else if (Arrays.asList(Master.KomponenHarga.JASA_MEDIS).contains(map.get("idKomponenHarga"))) {
|
|
||||||
detailMedis.add(map);
|
|
||||||
totalDetailMedis += ((double) map.get("hargaJual") - (double) map.get("hargaDiscount"))
|
|
||||||
* (double) map.get("jumlah");
|
|
||||||
totalDetailFarmasi += (double) map.get("jasa");
|
|
||||||
} else {
|
|
||||||
detailLainlain.add(map);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
if (totalKlaim >= totalTagihan) {
|
||||||
if (sisaTotalKlaim <= totalDetailSarana) {
|
for (PelayananPasien pp : data) {
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 11:50:43 AM] : diskonkan detail sarana!
|
pp.setHargaDiscount(pp.getHargaJual());
|
||||||
sisaTotalKlaim = 0.0;
|
}
|
||||||
} else {
|
} else {
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 11:51:36 AM] : nolkan detail sarana!
|
for (PelayananPasien pp : data) {
|
||||||
sisaTotalKlaim -= totalDetailSarana;
|
pp.setHargaDiscount(pp.getHargaDiscount() + (totalKlaim / totalTagihan * hitungKomponenTagihan(pp)) / pp.getJumlah());
|
||||||
if (sisaTotalKlaim <= totalDetailUmum) {
|
if (pp.getHargaDiscount() > pp.getHargaJual()) {
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 11:52:10 AM] : diskonkan detail umum!
|
pp.setHargaDiscount(pp.getHargaJual());
|
||||||
sisaTotalKlaim = 0.0;
|
|
||||||
} else {
|
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 11:52:39 AM] : nolkan detail umum!
|
|
||||||
sisaTotalKlaim -= totalDetailUmum;
|
|
||||||
if (sisaTotalKlaim <= totalDetailParamedis) {
|
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 11:53:20 AM] : diskonkan detail paramedis!
|
|
||||||
sisaTotalKlaim = 0.0;
|
|
||||||
} else {
|
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 11:54:40 AM] : nolkan detail paramedis!
|
|
||||||
sisaTotalKlaim -= totalDetailParamedis;
|
|
||||||
if (sisaTotalKlaim <= totalDetailMedis) {
|
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 11:55:18 AM] : diskonkan detail medis!
|
|
||||||
sisaTotalKlaim = 0.0;
|
|
||||||
} else {
|
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 11:55:49 AM] : nolkan detail medis!
|
|
||||||
sisaTotalKlaim -= totalDetailMedis;
|
|
||||||
if (sisaTotalKlaim <= totalDetailFarmasi) {
|
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 1:08:16 PM] : diskonkan detail jasa!
|
|
||||||
sisaTotalKlaim = 0.0;
|
|
||||||
} else {
|
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 1:08:38 PM] : nolkan detail jasa!
|
|
||||||
sisaTotalKlaim -= totalDetailFarmasi;
|
|
||||||
if (sisaTotalKlaim > 0.0) {
|
|
||||||
// TODO inserted by ITI-14 [Feb 15, 2021, 1:09:42 PM] : error!
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Iterable<PelayananPasien> resultModels = pelayananPasienDao.save(data);
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(resultModels)) {
|
||||||
|
for (PelayananPasien pp : resultModels) {
|
||||||
|
result.add(pp.getNoRec());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Double hitungKomponenTagihan(PelayananPasien pp) {
|
||||||
|
return ((pp.getHargaJual() == null ? 0.0 : pp.getHargaJual())
|
||||||
|
- (pp.getHargaDiscount() == null ? 0.0 : pp.getHargaDiscount()))
|
||||||
|
* (pp.getJumlah() == null ? 0.0 : pp.getJumlah()) + (pp.getJasa() == null ? 0.0 : pp.getJasa());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -8,6 +8,7 @@ import javax.persistence.Id;
|
|||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinColumn;
|
||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.base.BaseMaster;
|
import com.jasamedika.medifirst2000.base.BaseMaster;
|
||||||
import com.jasamedika.medifirst2000.helper.Caption;
|
import com.jasamedika.medifirst2000.helper.Caption;
|
||||||
@ -21,17 +22,21 @@ public class IndikatorKinerja extends BaseMaster {
|
|||||||
private String namaIndikator;
|
private String namaIndikator;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
|
@NotNull(message = "Satuan indikator tidak boleh kosong")
|
||||||
@JoinColumn(name = "objectsatuanindikatorfk")
|
@JoinColumn(name = "objectsatuanindikatorfk")
|
||||||
@Caption(value = "Satuan Indikator")
|
@Caption(value = "Satuan Indikator")
|
||||||
private SatuanIndikator satuanIndikator;
|
private SatuanIndikator satuanIndikator;
|
||||||
|
|
||||||
@Column(name = "objectsatuanindikatorfk", insertable = false, updatable = false, nullable = false)
|
@Column(name = "objectsatuanindikatorfk", insertable = false, updatable = false, nullable = true)
|
||||||
private Integer satuanIndikatorId;
|
private Integer satuanIndikatorId;
|
||||||
|
|
||||||
@Column(name = "statusverifikasi", nullable = false)
|
@Column(name = "statusverifikasi", nullable = false)
|
||||||
@Caption(value = "Status Verifikasi")
|
@Caption(value = "Status Verifikasi")
|
||||||
private Boolean statusVerifikasi;
|
private Boolean statusVerifikasi;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* jenisIndikator = 1: Kuantitas, 2: Kualitas, 3: Perilaku
|
||||||
|
*/
|
||||||
@Column(name = "jenisIndikator", nullable = false)
|
@Column(name = "jenisIndikator", nullable = false)
|
||||||
@Caption(value = "Jenis Indikator")
|
@Caption(value = "Jenis Indikator")
|
||||||
private Integer jenisIndikator;
|
private Integer jenisIndikator;
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import javax.persistence.ManyToOne;
|
|||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
import javax.persistence.Temporal;
|
import javax.persistence.Temporal;
|
||||||
import javax.persistence.TemporalType;
|
import javax.persistence.TemporalType;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.base.BaseTransaction;
|
import com.jasamedika.medifirst2000.base.BaseTransaction;
|
||||||
import com.jasamedika.medifirst2000.helper.Caption;
|
import com.jasamedika.medifirst2000.helper.Caption;
|
||||||
@ -31,7 +32,7 @@ public class LogbookKinerja extends BaseTransaction {
|
|||||||
private Double bobot;
|
private Double bobot;
|
||||||
|
|
||||||
@Caption(value = "Capaian")
|
@Caption(value = "Capaian")
|
||||||
@Column(name = "capaian", nullable = true)
|
@Column(name = "capaian", nullable = true, columnDefinition = "float8 default 0")
|
||||||
private Double capaian;
|
private Double capaian;
|
||||||
|
|
||||||
@Column(name = "statusverifikasi", nullable = false)
|
@Column(name = "statusverifikasi", nullable = false)
|
||||||
@ -39,27 +40,30 @@ public class LogbookKinerja extends BaseTransaction {
|
|||||||
private Boolean statusVerifikasi;
|
private Boolean statusVerifikasi;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
|
@NotNull(message = "Pegawai tidak boleh kosong")
|
||||||
@JoinColumn(name = "objectpegawaifk")
|
@JoinColumn(name = "objectpegawaifk")
|
||||||
@Caption(value = "Pegawai")
|
@Caption(value = "Pegawai")
|
||||||
private Pegawai pegawai;
|
private Pegawai pegawai;
|
||||||
|
|
||||||
@Column(name = "objectpegawaifk", insertable = false, updatable = false, nullable = false)
|
@Column(name = "objectpegawaifk", insertable = false, updatable = false, nullable = true)
|
||||||
private Integer pegawaiId;
|
private Integer pegawaiId;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
|
@NotNull(message = "Jabatan tidak boleh kosong")
|
||||||
@JoinColumn(name = "objectjabatanfk")
|
@JoinColumn(name = "objectjabatanfk")
|
||||||
@Caption(value = "Jabatan")
|
@Caption(value = "Jabatan")
|
||||||
private Jabatan jabatan;
|
private Jabatan jabatan;
|
||||||
|
|
||||||
@Column(name = "objectjabatanfk", insertable = false, updatable = false, nullable = false)
|
@Column(name = "objectjabatanfk", insertable = false, updatable = false, nullable = true)
|
||||||
private Integer jabatanId;
|
private Integer jabatanId;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
|
@NotNull(message = "Indikator kinerja tidak boleh kosong")
|
||||||
@JoinColumn(name = "objectindikatorkinerjafk")
|
@JoinColumn(name = "objectindikatorkinerjafk")
|
||||||
@Caption(value = "Indikator Kinerja")
|
@Caption(value = "Indikator Kinerja")
|
||||||
private IndikatorKinerja indikatorKinerja;
|
private IndikatorKinerja indikatorKinerja;
|
||||||
|
|
||||||
@Column(name = "objectindikatorkinerjafk", insertable = false, updatable = false, nullable = false)
|
@Column(name = "objectindikatorkinerjafk", insertable = false, updatable = false, nullable = true)
|
||||||
private Integer indikatorKinerjaId;
|
private Integer indikatorKinerjaId;
|
||||||
|
|
||||||
public Date getBulan() {
|
public Date getBulan() {
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import javax.persistence.ManyToOne;
|
|||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
import javax.persistence.Temporal;
|
import javax.persistence.Temporal;
|
||||||
import javax.persistence.TemporalType;
|
import javax.persistence.TemporalType;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.base.BaseTransaction;
|
import com.jasamedika.medifirst2000.base.BaseTransaction;
|
||||||
import com.jasamedika.medifirst2000.helper.Caption;
|
import com.jasamedika.medifirst2000.helper.Caption;
|
||||||
@ -21,6 +22,10 @@ public class LogbookKinerjaDetail extends BaseTransaction {
|
|||||||
@Caption(value = "Nama Kegiatan")
|
@Caption(value = "Nama Kegiatan")
|
||||||
private String namaKegiatan;
|
private String namaKegiatan;
|
||||||
|
|
||||||
|
@Column(name = "capaian", nullable = false)
|
||||||
|
@Caption(value = "Capaian")
|
||||||
|
private Double capaian;
|
||||||
|
|
||||||
@Column(name = "catatan", nullable = true)
|
@Column(name = "catatan", nullable = true)
|
||||||
@Caption(value = "Catatan")
|
@Caption(value = "Catatan")
|
||||||
private String catatan;
|
private String catatan;
|
||||||
@ -35,11 +40,12 @@ public class LogbookKinerjaDetail extends BaseTransaction {
|
|||||||
private Boolean statusVerifikasi;
|
private Boolean statusVerifikasi;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
|
@NotNull(message = "Indikator kinerja tidak boleh kosong")
|
||||||
@JoinColumn(name = "objectlogbookkinerjafk")
|
@JoinColumn(name = "objectlogbookkinerjafk")
|
||||||
@Caption(value = "Logbook Kinerja")
|
@Caption(value = "Logbook Kinerja")
|
||||||
private LogbookKinerja logbookKinerja;
|
private LogbookKinerja logbookKinerja;
|
||||||
|
|
||||||
@Column(name = "objectlogbookkinerjafk", insertable = false, updatable = false, nullable = false)
|
@Column(name = "objectlogbookkinerjafk", insertable = false, updatable = false, nullable = true)
|
||||||
private String logbookIndikatorId;
|
private String logbookIndikatorId;
|
||||||
|
|
||||||
public String getNamaKegiatan() {
|
public String getNamaKegiatan() {
|
||||||
@ -50,6 +56,14 @@ public class LogbookKinerjaDetail extends BaseTransaction {
|
|||||||
this.namaKegiatan = namaKegiatan;
|
this.namaKegiatan = namaKegiatan;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Double getCapaian() {
|
||||||
|
return capaian;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCapaian(Double capaian) {
|
||||||
|
this.capaian = capaian;
|
||||||
|
}
|
||||||
|
|
||||||
public String getCatatan() {
|
public String getCatatan() {
|
||||||
return catatan;
|
return catatan;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -280,6 +280,14 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
|||||||
this.statusOrder = statusOrder;
|
this.statusOrder = statusOrder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Double getJasa() {
|
||||||
|
return jasa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJasa(Double jasa) {
|
||||||
|
this.jasa = jasa;
|
||||||
|
}
|
||||||
|
|
||||||
public Kelas getKelas() {
|
public Kelas getKelas() {
|
||||||
return kelas;
|
return kelas;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,9 @@ public class LogbookKinerjaDetailVO extends BaseTransactionVO {
|
|||||||
@Caption(value = "Nama Kegiatan")
|
@Caption(value = "Nama Kegiatan")
|
||||||
private String namaKegiatan;
|
private String namaKegiatan;
|
||||||
|
|
||||||
|
@Caption(value = "Capaian")
|
||||||
|
private Double capaian;
|
||||||
|
|
||||||
@Caption(value = "Catatan")
|
@Caption(value = "Catatan")
|
||||||
private String catatan;
|
private String catatan;
|
||||||
|
|
||||||
@ -32,6 +35,14 @@ public class LogbookKinerjaDetailVO extends BaseTransactionVO {
|
|||||||
this.namaKegiatan = namaKegiatan;
|
this.namaKegiatan = namaKegiatan;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Double getCapaian() {
|
||||||
|
return capaian;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCapaian(Double capaian) {
|
||||||
|
this.capaian = capaian;
|
||||||
|
}
|
||||||
|
|
||||||
public String getCatatan() {
|
public String getCatatan() {
|
||||||
return catatan;
|
return catatan;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.jasamedika.medifirst2000.controller;
|
package com.jasamedika.medifirst2000.controller;
|
||||||
|
|
||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -27,9 +28,15 @@ import com.jasamedika.medifirst2000.controller.base.LocaleController;
|
|||||||
import com.jasamedika.medifirst2000.core.web.WebConstants;
|
import com.jasamedika.medifirst2000.core.web.WebConstants;
|
||||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||||
import com.jasamedika.medifirst2000.service.IkiDanRemunerasiService;
|
import com.jasamedika.medifirst2000.service.IkiDanRemunerasiService;
|
||||||
|
import com.jasamedika.medifirst2000.service.IndikatorKinerjaService;
|
||||||
|
import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailService;
|
||||||
|
import com.jasamedika.medifirst2000.service.LogbookKinerjaService;
|
||||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||||
import com.jasamedika.medifirst2000.util.rest.RestUtil;
|
import com.jasamedika.medifirst2000.util.rest.RestUtil;
|
||||||
import com.jasamedika.medifirst2000.vo.IkiDanRemunerasiVO;
|
import com.jasamedika.medifirst2000.vo.IkiDanRemunerasiVO;
|
||||||
|
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
|
||||||
|
import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO;
|
||||||
|
import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO;
|
||||||
import com.jasamedika.medifirst2000.vo.SettingPirSdmVO;
|
import com.jasamedika.medifirst2000.vo.SettingPirSdmVO;
|
||||||
import com.jasamedika.medifirst2000.vo.StrukHistoriVO;
|
import com.jasamedika.medifirst2000.vo.StrukHistoriVO;
|
||||||
|
|
||||||
@ -37,10 +44,19 @@ import com.jasamedika.medifirst2000.vo.StrukHistoriVO;
|
|||||||
@RequestMapping("/iki-remunerasi")
|
@RequestMapping("/iki-remunerasi")
|
||||||
public class IkiDanRemunerasiController extends LocaleController<IkiDanRemunerasiVO> {
|
public class IkiDanRemunerasiController extends LocaleController<IkiDanRemunerasiVO> {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(IkiDanRemunerasiController.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IkiDanRemunerasiService service;
|
private IkiDanRemunerasiService service;
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(IkiDanRemunerasiController.class);
|
@Autowired
|
||||||
|
private IndikatorKinerjaService indikatorKinerjaService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LogbookKinerjaService logbookKinerjaService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LogbookKinerjaDetailService logbookKinerjaDetailService;
|
||||||
|
|
||||||
@RequestMapping(value = "/get-load-data", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
@RequestMapping(value = "/get-load-data", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
public ResponseEntity<Map<String, Object>> getLoadData(HttpServletRequest request) {
|
public ResponseEntity<Map<String, Object>> getLoadData(HttpServletRequest request) {
|
||||||
@ -239,4 +255,94 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/save-master-indikator-kinerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<Map<String, Object>> saveMasterIndikatorKinerja(HttpServletRequest request,
|
||||||
|
@Valid @RequestBody IndikatorKinerjaVO vo) {
|
||||||
|
Map<String, Object> result = new HashMap<String, Object>();
|
||||||
|
try {
|
||||||
|
IndikatorKinerjaVO resultVo = new IndikatorKinerjaVO();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(vo.getId())) {
|
||||||
|
resultVo = indikatorKinerjaService.update(vo);
|
||||||
|
} else {
|
||||||
|
resultVo = indikatorKinerjaService.add(vo);
|
||||||
|
}
|
||||||
|
result.put("data", resultVo);
|
||||||
|
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 indikator kinerja", 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 indikator kinerja", jse.getMessage());
|
||||||
|
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||||
|
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/save-logbook-kinerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<Map<String, Object>> saveLogbookKinerja(HttpServletRequest request,
|
||||||
|
@Valid @RequestBody LogbookKinerjaVO vo) {
|
||||||
|
Map<String, Object> result = new HashMap<String, Object>();
|
||||||
|
try {
|
||||||
|
LogbookKinerjaVO resultVo = new LogbookKinerjaVO();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
|
||||||
|
resultVo = logbookKinerjaService.update(vo);
|
||||||
|
} else {
|
||||||
|
resultVo = logbookKinerjaService.add(vo);
|
||||||
|
}
|
||||||
|
result.put("data", resultVo);
|
||||||
|
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 logbook kinerja", 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 logbook kinerja", jse.getMessage());
|
||||||
|
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||||
|
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/save-working-record", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<Map<String, Object>> saveWorkingRecord(HttpServletRequest request,
|
||||||
|
@Valid @RequestBody LogbookKinerjaDetailVO vo) {
|
||||||
|
Map<String, Object> result = new HashMap<String, Object>();
|
||||||
|
try {
|
||||||
|
LogbookKinerjaDetailVO resultVo = new LogbookKinerjaDetailVO();
|
||||||
|
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
|
||||||
|
resultVo = logbookKinerjaDetailService.update(vo);
|
||||||
|
} else {
|
||||||
|
resultVo = logbookKinerjaDetailService.add(vo);
|
||||||
|
}
|
||||||
|
result.put("data", resultVo);
|
||||||
|
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 working record", 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 working record", jse.getMessage());
|
||||||
|
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||||
|
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -377,4 +377,25 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/klaim-diskon-karyawan", method = RequestMethod.GET)
|
||||||
|
public ResponseEntity<List<String>> updateKlaimDiskonKaryawan(HttpServletRequest request,
|
||||||
|
@RequestParam(value = "noRegistrasi", required = true) String noRegistrasi,
|
||||||
|
@RequestParam(value = "totalKlaim", required = true) Double totalKlaim) {
|
||||||
|
try {
|
||||||
|
List<String> result = pelayananPasienService.updateKlaimDiskonKaryawan(noRegistrasi, totalKlaim);
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
</context-param>
|
</context-param>
|
||||||
<context-param>
|
<context-param>
|
||||||
<param-name>spring.profiles.default</param-name>
|
<param-name>spring.profiles.default</param-name>
|
||||||
<param-value>production</param-value>
|
<param-value>sdm</param-value>
|
||||||
</context-param>
|
</context-param>
|
||||||
|
|
||||||
<listener>
|
<listener>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user