- penambahan tabel bobot jenis indikator

- pembuatan fungsi simpan data master bobot jenis indikator
- pembuatan fungsi delete data master bobot jenis indikator
- pembuatan fungsi tampil data master bobot jenis indikator
- penyesuaian fungsi hitung target dari capaian pelayanan medis
- penyesuaian jenis presensi untuk fitur penanda masuk atau pulang
- pembuatan service simpan otomatis target dari capaian pelayanan medis bulanan
This commit is contained in:
salmanoe 2021-06-08 19:47:56 +07:00
parent 037c8648d5
commit b8bd63df72
23 changed files with 583 additions and 93 deletions

View File

@ -0,0 +1,41 @@
package com.jasamedika.medifirst2000.dao;
import java.util.Date;
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.BobotJenisIndikator;
@Repository("BobotJenisIndikatorDao")
public interface BobotJenisIndikatorDao extends PagingAndSortingRepository<BobotJenisIndikator, String> {
@Query("select new Map(bj.noRec as noRec,bj.bulan as bulanBerlaku," + "bj.jenisIndikator as jenisIndikatorId,"
+ "(case when bj.jenisIndikator = 1 then 'Kuantitas' " + "when bj.jenisIndikator = 2 then 'Kualitas' "
+ "when bj.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator,"
+ "kj.id as kelompokJabatanId,kj.namaKelompokJabatan as kelompokJabatan," + "bj.persentase as persentase) "
+ "from BobotJenisIndikator bj " + "left join bj.kelompokJabatan kj " + "where bj.statusEnabled is true "
+ "and to_char(bj.bulan,'yyyy-MM') <= :periode "
+ "order by bj.bulan desc, kj.namaKelompokJabatan, bj.jenisIndikator ")
public List<Map<String, Object>> findAllBobotJenis(@Param("periode") String periode);
@Query("select distinct bj.bulan " + "from BobotJenisIndikator bj " + "where bj.statusEnabled is true "
+ "and bj.bulan <= :periode " + "order by bj.bulan desc")
public List<Date> findBulanBerlakuByPeriode(@Param("periode") Date periode);
@Query("select new Map(bj.jenisIndikator as jenisIndikatorId," + "bj.persentase as persentase) "
+ "from BobotJenisIndikator bj " + "where bj.statusEnabled is true " + "and bj.bulan = :periode "
+ "order by bj.jenisIndikator")
public List<Map<String, Object>> findBobotJenis(@Param("periode") Date periode);
@Query("select new Map(bj.jenisIndikator as jenisIndikatorId," + "bj.persentase as persentase) "
+ "from BobotJenisIndikator bj " + "inner join bj.kelompokJabatan kj " + "where bj.statusEnabled is true "
+ "and bj.bulan = :periode " + "and kj.id = :kelompokJabatanId " + "order by bj.jenisIndikator")
public List<Map<String, Object>> findBobotJenis(@Param("periode") Date periode,
@Param("kelompokJabatanId") Integer idKelompokJabatan);
}

View File

@ -74,4 +74,8 @@ public interface IndikatorKinerjaDao extends PagingAndSortingRepository<Indikato
+ "where ik.statusEnabled is true " + "and ik.id in (:listIdIndikator)")
List<Map<String, Object>> findIndikator(@Param("listIdIndikator") List<Integer> listIdIndikator);
@Query("select ik from IndikatorKinerja ik " + "where ik.statusEnabled is true "
+ "and ik.id in (:listIdIndikator)")
List<IndikatorKinerja> findIndikatorById(@Param("listIdIndikator") List<Integer> listIdIndikator);
}

View File

@ -22,6 +22,10 @@ public interface SubUnitKerjaDao extends PagingAndSortingRepository<SubUnitKerja
@Query("select model from SubUnitKerjaPegawai model where model.statusEnabled is true and model.unitKerjaId = :id order by model.name")
List<SubUnitKerjaPegawai> getSubUnitKerjaByUnitkerja(@Param("id") Integer id);
@Query("select model from SubUnitKerjaPegawai model " + "where model.statusEnabled is true "
+ "and model.id in (:listSubunitKerjaId) " + "order by model.name")
List<SubUnitKerjaPegawai> findSubunitKerjaById(@Param("listSubunitKerjaId") List<Integer> listIdSubunitKerja);
@Query("select subUnitKerja.id " + "from MapPegawaiJabatanToUnitKerja mappeg " + "left join mappeg.pegawai p "
+ "inner join mappeg.subUnitKerjaPegawai subUnitKerja " + "where mappeg.statusEnabled is true "
+ "and mappeg.isPrimary is true " + "and mappeg.statusEnabled is true " + "and p.statusEnabled is true "

View File

@ -0,0 +1,13 @@
package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.entities.BobotJenisIndikator;
import com.jasamedika.medifirst2000.vo.BobotJenisIndikatorVO;
public interface BobotJenisIndikatorService extends BaseVoService<BobotJenisIndikator, BobotJenisIndikatorVO, String> {
public List<Map<String, Object>> findAllBobotJenis(Long periode);
}

View File

@ -6,6 +6,7 @@ import java.util.Map;
import com.jasamedika.medifirst2000.vo.SettingPirSdmVO;
import com.jasamedika.medifirst2000.vo.StrukHistoriVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananCustomVO;
public interface IkiDanRemunerasiService {
@ -28,7 +29,8 @@ public interface IkiDanRemunerasiService {
public List<Map<String, Object>> findAllIKU();
public Map<String, Object> savePirDanIku(List<SettingPirSdmVO> vo);
public List<Map<String, Object>> findAllTargetCapaianLayanan(String strPeriode, Integer jmlBulan) throws ParseException;
public List<TargetLayananCustomVO> findAllTargetCapaianLayanan(String strPeriode, Integer idKsm)
throws ParseException;
}

View File

@ -7,8 +7,8 @@ import org.springframework.orm.jpa.JpaSystemException;
import com.jasamedika.medifirst2000.entities.TargetLayanan;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.vo.TargetLayananCustomVO;
import com.jasamedika.medifirst2000.vo.TargetLayananVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananCustomVO;
public interface TargetLayananService extends BaseVoService<TargetLayanan, TargetLayananVO, String> {

View File

@ -0,0 +1,122 @@
package com.jasamedika.medifirst2000.service.impl;
import java.text.SimpleDateFormat;
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.BobotJenisIndikatorDao;
import com.jasamedika.medifirst2000.entities.BobotJenisIndikator;
import com.jasamedika.medifirst2000.entities.KelompokJabatan;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.BobotJenisIndikatorService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.BobotJenisIndikatorVO;
import com.jasamedika.medifirst2000.vo.KelompokJabatanVO;
@Service("BobotJenisIndikatorService")
public class BobotJenisIndikatorServiceImpl extends BaseVoServiceImpl implements BobotJenisIndikatorService {
@Autowired
private BaseConverterImpl<BobotJenisIndikatorVO, BobotJenisIndikator> bobotJenisIndikatorConverter;
@Autowired
private BaseConverterImpl<KelompokJabatanVO, KelompokJabatan> kelompokJabatanConverter;
@Autowired
private BobotJenisIndikatorDao bobotJenisIndikatorDao;
@Override
public BobotJenisIndikatorVO add(BobotJenisIndikatorVO vo) throws JpaSystemException, ServiceVOException {
BobotJenisIndikator bobotJenis = bobotJenisIndikatorConverter.transferVOToModel(vo, new BobotJenisIndikator());
if (CommonUtil.isNotNullOrEmpty(vo.getKelompokJabatan())) {
KelompokJabatan kelompokJabatan = kelompokJabatanConverter.transferVOToModel(vo.getKelompokJabatan(),
new KelompokJabatan());
bobotJenis.setKelompokJabatan(kelompokJabatan);
}
BobotJenisIndikator resultModel = bobotJenisIndikatorDao.save(bobotJenis);
BobotJenisIndikatorVO resultVO = new BobotJenisIndikatorVO();
resultVO = bobotJenisIndikatorConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public BobotJenisIndikatorVO update(BobotJenisIndikatorVO vo) throws JpaSystemException, ServiceVOException {
BobotJenisIndikator bobotJenisLama = bobotJenisIndikatorDao.findOne(vo.getNoRec());
BobotJenisIndikator bobotJenisBaru = bobotJenisIndikatorConverter.transferVOToModel(vo, bobotJenisLama);
if (CommonUtil.isNotNullOrEmpty(vo.getKelompokJabatan())) {
KelompokJabatan kelompokJabatan = kelompokJabatanConverter.transferVOToModel(vo.getKelompokJabatan(),
new KelompokJabatan());
bobotJenisBaru.setKelompokJabatan(kelompokJabatan);
}
BobotJenisIndikator resultModel = bobotJenisIndikatorDao.save(bobotJenisBaru);
BobotJenisIndikatorVO resultVO = new BobotJenisIndikatorVO();
resultVO = bobotJenisIndikatorConverter.transferModelToVO(resultModel, resultVO);
return resultVO;
}
@Override
public Boolean delete(String key) throws JpaSystemException {
bobotJenisIndikatorDao.delete(key);
return true;
}
@Override
public BobotJenisIndikatorVO findById(String key) throws JpaSystemException {
BobotJenisIndikatorVO result = new BobotJenisIndikatorVO();
BobotJenisIndikator bobotJenis = bobotJenisIndikatorDao.findOne(key);
if (CommonUtil.isNotNullOrEmpty(bobotJenis)) {
result = bobotJenisIndikatorConverter.transferModelToVO(bobotJenis, result);
}
return result;
}
@Override
public List<BobotJenisIndikatorVO> findAll() throws JpaSystemException {
List<BobotJenisIndikatorVO> result = new ArrayList<BobotJenisIndikatorVO>();
Iterable<BobotJenisIndikator> models = bobotJenisIndikatorDao.findAll();
if (CommonUtil.isNotNullOrEmpty(models)) {
for (BobotJenisIndikator model : models) {
BobotJenisIndikatorVO vo = new BobotJenisIndikatorVO();
vo = bobotJenisIndikatorConverter.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>> findAllBobotJenis(Long periode) {
List<Map<String, Object>> result = bobotJenisIndikatorDao
.findAllBobotJenis(new SimpleDateFormat("yyyy-MM").format(new Date(periode)));
return result;
}
}

View File

@ -32,6 +32,7 @@ import com.jasamedika.medifirst2000.dao.SubUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.TargetLayananDao;
import com.jasamedika.medifirst2000.entities.EvaluasiJabatan;
import com.jasamedika.medifirst2000.entities.IkiDanRemunerasi;
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
import com.jasamedika.medifirst2000.entities.KelompokTransaksi;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.PegawaiHistoriRekap;
@ -40,6 +41,7 @@ import com.jasamedika.medifirst2000.entities.RunningNumber;
import com.jasamedika.medifirst2000.entities.SettingPirSdm;
import com.jasamedika.medifirst2000.entities.StrukHistori;
import com.jasamedika.medifirst2000.entities.StrukPelayanan;
import com.jasamedika.medifirst2000.entities.SubUnitKerjaPegawai;
import com.jasamedika.medifirst2000.entities.SuratKeputusan;
import com.jasamedika.medifirst2000.entities.UnitKerjaPegawai;
import com.jasamedika.medifirst2000.service.IkiDanRemunerasiService;
@ -48,13 +50,17 @@ import com.jasamedika.medifirst2000.util.CurrencyUtil;
import com.jasamedika.medifirst2000.util.StringUtil;
import com.jasamedika.medifirst2000.vo.EvaluasiJabatanVO;
import com.jasamedika.medifirst2000.vo.IkiDanRemunerasiVO;
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
import com.jasamedika.medifirst2000.vo.KelompokTransaksiVO;
import com.jasamedika.medifirst2000.vo.PegawaiVO;
import com.jasamedika.medifirst2000.vo.RuanganVO;
import com.jasamedika.medifirst2000.vo.SettingPirSdmVO;
import com.jasamedika.medifirst2000.vo.StrukHistoriVO;
import com.jasamedika.medifirst2000.vo.SubUnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.SuratKeputusanVO;
import com.jasamedika.medifirst2000.vo.UnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananCustomDetailVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananCustomVO;
@Service("IkiDanRemunerasiService")
public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements IkiDanRemunerasiService {
@ -98,6 +104,9 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
@Autowired
private BaseConverterImpl<UnitKerjaPegawaiVO, UnitKerjaPegawai> unitKerjaPegawaiConverter;
@Autowired
private BaseConverterImpl<SubUnitKerjaPegawaiVO, SubUnitKerjaPegawai> subunitKerjaConverter;
@Autowired
private BaseConverterImpl<RuanganVO, Ruangan> ruanganConverter;
@ -116,6 +125,9 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
@Autowired
private BaseConverterImpl<PegawaiVO, Pegawai> pegawaiConverter;
@Autowired
private BaseConverterImpl<IndikatorKinerjaVO, IndikatorKinerja> indikatorKinerjaConverter;
@Override
public Map<String, Object> loadData() {
Map<String, Object> result = new HashMap<>();
@ -447,16 +459,17 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
}
@Override
public List<Map<String, Object>> findAllTargetCapaianLayanan(String strPeriode, Integer jmlBulan)
public List<TargetLayananCustomVO> findAllTargetCapaianLayanan(String strPeriode, Integer idKsm)
throws ParseException {
List<Map<String, Object>> result = new ArrayList<>();
List<TargetLayananCustomVO> result = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
SimpleDateFormat sdfINA = new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID"));
Date periode = sdf.parse(strPeriode);
// get_three_month_earlier
// get_few_months_earlier
Integer jmlBulan = Integer.valueOf(GetSettingDataFixed("jmlBlnHitungTargetMedis"));
Calendar calTglAwal = Calendar.getInstance();
calTglAwal.setTime(periode);
calTglAwal.set(Calendar.HOUR_OF_DAY, 0);
@ -475,12 +488,19 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
List<Integer> listRuangEks = splitDataSettingDatafixed("IdRuanganEksekutif");
List<Map<String, Object>> listIndikatorPelayanan = indikatorKinerjaDao
.findIndikator(Arrays.asList(Master.IndikatorKinerja.INDIKATOR_PELAYANAN_MEDIS));
List<IndikatorKinerja> listIndikatorPelayanan = indikatorKinerjaDao
.findIndikatorById(Arrays.asList(Master.IndikatorKinerja.INDIKATOR_PELAYANAN_MEDIS));
List<Map<String, Object>> dataLayananRaw = ikiDanRemunerasiDao.getDataLayanan(calTglAwal.getTime(),
bulan.getTime(), Master.JenisPegawai.DOKTER, Arrays.asList(Master.UnitKerja.KSM),
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Master.Produk.KARCIS);
List<Map<String, Object>> dataLayananRaw = new ArrayList<>();
if (CommonUtil.isNotNullOrEmpty(idKsm)) {
dataLayananRaw = ikiDanRemunerasiDao.getDataLayanan(calTglAwal.getTime(), bulan.getTime(),
Master.JenisPegawai.DOKTER, Arrays.asList(idKsm), Arrays.asList(Master.JenisProduk.NONTINDAKAN),
Master.Produk.KARCIS);
} else {
dataLayananRaw = ikiDanRemunerasiDao.getDataLayanan(calTglAwal.getTime(), bulan.getTime(),
Master.JenisPegawai.DOKTER, Arrays.asList(Master.UnitKerja.KSM),
Arrays.asList(Master.JenisProduk.NONTINDAKAN), Master.Produk.KARCIS);
}
// get_kategori_bulan
List<String> listBulanPelayanan = new ArrayList<>();
@ -499,7 +519,7 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
listIdKK.add(Integer.parseInt(map.get("idKelompokKerja").toString()));
}
}
List<Map<String, Object>> listKelompokKerja = subunitKerjaDao.findSubunitKerja(listIdKK);
List<SubUnitKerjaPegawai> listKelompokKerja = subunitKerjaDao.findSubunitKerjaById(listIdKK);
List<Map<String, Object>> dataLastTargetLayanan = targetLayananDao
.getLastTargetLayanan(sdf.format(calTglAwal.getTime()), sdf.format(bulan.getTime()));
@ -588,10 +608,10 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
dataLayananScored.add(layanan);
}
for (Map<String, Object> kelompokKerja : listKelompokKerja) {
for (Map<String, Object> indikator : listIndikatorPelayanan) {
Map<String, Object> rsMap = new HashMap<>();
List<Map<String, Object>> listDetail = new ArrayList<>();
for (SubUnitKerjaPegawai kelompokKerja : listKelompokKerja) {
for (IndikatorKinerja indikator : listIndikatorPelayanan) {
TargetLayananCustomVO resultVo = new TargetLayananCustomVO();
List<TargetLayananCustomDetailVO> listDetail = new ArrayList<>();
double capaianTriwulanKE = 0.0;
double capaianTriwulanKG = 0.0;
@ -605,22 +625,22 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
int i = 0;
for (String datePelayanan : listBulanPelayananSorted) {
i++;
Map<String, Object> detail = new HashMap<>();
TargetLayananCustomDetailVO detail = new TargetLayananCustomDetailVO();
double capaianBulanan = 0.0;
double targetBulanan = 0.0;
for (Map<String, Object> data : dataLayananScored) {
if (kelompokKerja.get("id").equals(data.get("idKelompokKerja"))
if (kelompokKerja.getId().equals(data.get("idKelompokKerja"))
&& datePelayanan.equals(sdf.format(data.get("tglPelayanan")))) {
if (indikator.get("id").equals(Master.IndikatorKinerja.KONSUL_EKS)
if (indikator.getId().equals(Master.IndikatorKinerja.KONSUL_EKS)
&& data.get("namaTindakan").equals(Master.KONSUL)
&& listRuangEks.contains(data.get("idRuangan"))) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanKE += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
if (kelompokKerja.getId().equals(target.get("kelompokKerjaId"))
&& indikator.getId().equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
@ -630,15 +650,15 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
targetBulanan = Math
.floor(capaianTriwulanKE / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.KONSUL_GADAR)
} else if (indikator.getId().equals(Master.IndikatorKinerja.KONSUL_GADAR)
&& data.get("namaTindakan").equals(Master.KONSUL)
&& data.get("idDepartemen").equals(Master.Departemen.IGD)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanKG += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
if (kelompokKerja.getId().equals(target.get("kelompokKerjaId"))
&& indikator.getId().equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
@ -648,14 +668,14 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
targetBulanan = Math
.floor(capaianTriwulanKG / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.KONSUL_REG)
} else if (indikator.getId().equals(Master.IndikatorKinerja.KONSUL_REG)
&& data.get("namaTindakan").equals(Master.KONSUL)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanKR += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
if (kelompokKerja.getId().equals(target.get("kelompokKerjaId"))
&& indikator.getId().equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
@ -665,14 +685,14 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
targetBulanan = Math
.floor(capaianTriwulanKR / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.VISITE)
} else if (indikator.getId().equals(Master.IndikatorKinerja.VISITE)
&& data.get("namaTindakan").equals(Master.VISIT)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanVI += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
if (kelompokKerja.getId().equals(target.get("kelompokKerjaId"))
&& indikator.getId().equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
@ -682,14 +702,14 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
targetBulanan = Math
.floor(capaianTriwulanVI / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.TINDAKAN_EKS)
} else if (indikator.getId().equals(Master.IndikatorKinerja.TINDAKAN_EKS)
&& listRuangEks.contains(data.get("idRuangan"))) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanTE += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
if (kelompokKerja.getId().equals(target.get("kelompokKerjaId"))
&& indikator.getId().equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
@ -699,14 +719,14 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
targetBulanan = Math
.floor(capaianTriwulanTE / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.TINDAKAN_GADAR)
} else if (indikator.getId().equals(Master.IndikatorKinerja.TINDAKAN_GADAR)
&& data.get("idDepartemen").equals(Master.Departemen.IGD)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanTG += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
if (kelompokKerja.getId().equals(target.get("kelompokKerjaId"))
&& indikator.getId().equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
@ -716,14 +736,14 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
targetBulanan = Math
.floor(capaianTriwulanTG / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.TINDAKAN_OPS)
} else if (indikator.getId().equals(Master.IndikatorKinerja.TINDAKAN_OPS)
&& data.get("idRuangan").equals(Master.Ruangan.OK)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanTO += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
if (kelompokKerja.getId().equals(target.get("kelompokKerjaId"))
&& indikator.getId().equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
@ -733,13 +753,13 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
targetBulanan = Math
.floor(capaianTriwulanTO / (listBulanPelayananSorted.size() - 1));
}
} else if (indikator.get("id").equals(Master.IndikatorKinerja.TINDAKAN_REG)) {
} else if (indikator.getId().equals(Master.IndikatorKinerja.TINDAKAN_REG)) {
capaianBulanan += Double.valueOf(data.get("jumlahTindakan").toString());
if (i < listBulanPelayananSorted.size()) {
capaianTriwulanTR += Double.valueOf(data.get("jumlahTindakan").toString());
for (Map<String, Object> target : dataTargetFiltered) {
if (kelompokKerja.get("id").equals(target.get("kelompokKerjaId"))
&& indikator.get("id").equals(target.get("indikatorId"))
if (kelompokKerja.getId().equals(target.get("kelompokKerjaId"))
&& indikator.getId().equals(target.get("indikatorId"))
&& datePelayanan.equals(target.get("periode"))) {
targetBulanan = Double.valueOf(target.get("target").toString());
break;
@ -754,20 +774,20 @@ public class IkiDanRemunerasiServiceImpl extends BaseVoServiceImpl implements Ik
}
Date bulanPelayanan = sdf.parse(datePelayanan);
detail.put("date", datePelayanan);
detail.put("bulan", sdfINA.format(bulanPelayanan));
detail.put("target", targetBulanan);
detail.put("capaian", capaianBulanan);
detail.setDate(datePelayanan);
detail.setBulan(sdfINA.format(bulanPelayanan));
detail.setTarget(targetBulanan);
detail.setCapaian(capaianBulanan);
listDetail.add(detail);
}
if (Double.valueOf(listDetail.get(listDetail.size() - 1).get("target").toString()) > 0.0) {
rsMap.put("detail", listDetail);
rsMap.put("kelompokKerja", kelompokKerja);
rsMap.put("indikator", indikator);
}
if (Double.valueOf(listDetail.get(listDetail.size() - 1).getTarget()) > 0.0) {
resultVo.setDetail(listDetail);
resultVo.setKelompokKerja(
subunitKerjaConverter.transferModelToVO(kelompokKerja, new SubUnitKerjaPegawaiVO()));
resultVo.setIndikator(
indikatorKinerjaConverter.transferModelToVO(indikator, new IndikatorKinerjaVO()));
if (CommonUtil.isNotNullOrEmpty(rsMap)) {
result.add(rsMap);
result.add(resultVo);
}
}
}

View File

@ -23,9 +23,9 @@ import com.jasamedika.medifirst2000.service.TargetLayananService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
import com.jasamedika.medifirst2000.vo.SubUnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.TargetLayananCustomDetailVO;
import com.jasamedika.medifirst2000.vo.TargetLayananCustomVO;
import com.jasamedika.medifirst2000.vo.TargetLayananVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananCustomDetailVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananCustomVO;
@Service("targetLayananService")
public class TargetLayananServiceImpl implements TargetLayananService {

View File

@ -0,0 +1,80 @@
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 com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;
@Entity
@Table(name = "sdm_bobotjenisindikator_t")
public class BobotJenisIndikator extends BaseTransaction {
@Caption(value = "Bulan")
@Column(name = "bulan", nullable = false)
@Temporal(TemporalType.DATE)
private Date bulan;
@Caption(value = "Jenis Indikator")
@Column(name = "jenisindikator", nullable = false)
private Integer jenisIndikator;
@ManyToOne
@JoinColumn(name = "objectkelompokjabatanfk")
@Caption(value = "Kelompok Jabatan")
private KelompokJabatan kelompokJabatan;
@Column(name = "objectkelompokjabatanfk", insertable = false, updatable = false, nullable = true)
private Integer kelompokJabatanId;
@Caption(value = "Persentase")
@Column(name = "persentase", nullable = false)
private Double persentase;
public Date getBulan() {
return bulan;
}
public void setBulan(Date bulan) {
this.bulan = bulan;
}
public Integer getJenisIndikator() {
return jenisIndikator;
}
public void setJenisIndikator(Integer jenisIndikator) {
this.jenisIndikator = jenisIndikator;
}
public KelompokJabatan getKelompokJabatan() {
return kelompokJabatan;
}
public void setKelompokJabatan(KelompokJabatan kelompokJabatan) {
this.kelompokJabatan = kelompokJabatan;
}
public Integer getKelompokJabatanId() {
return kelompokJabatanId;
}
public void setKelompokJabatanId(Integer kelompokJabatanId) {
this.kelompokJabatanId = kelompokJabatanId;
}
public Double getPersentase() {
return persentase;
}
public void setPersentase(Double persentase) {
this.persentase = persentase;
}
}

View File

@ -76,6 +76,10 @@ public class Habsen extends BaseModel {
@Column(name = "lokasi", nullable = true, length = 1000)
@Caption(value = "lokasi")
private String lokasi;
@Column(name = "jenispresensi", nullable = true)
@Caption(value = "Jenis Presensi")
private Integer jenisPresensi;
public Integer getTr_no() {
return tr_no;
@ -189,4 +193,12 @@ public class Habsen extends BaseModel {
this.lokasi = lokasi;
}
public Integer getJenisPresensi() {
return jenisPresensi;
}
public void setJenisPresensi(Integer jenisPresensi) {
this.jenisPresensi = jenisPresensi;
}
}

View File

@ -0,0 +1,64 @@
package com.jasamedika.medifirst2000.vo;
import java.util.Date;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;
public class BobotJenisIndikatorVO extends BaseTransactionVO {
@Caption(value = "Bulan")
private Date bulan;
@Caption(value = "Jenis Indikator")
private Integer jenisIndikator;
@Caption(value = "Kelompok Jabatan")
private KelompokJabatanVO kelompokJabatan;
private Integer kelompokJabatanId;
@Caption(value = "Persentase")
private Double persentase;
public Date getBulan() {
return bulan;
}
public void setBulan(Date bulan) {
this.bulan = bulan;
}
public Integer getJenisIndikator() {
return jenisIndikator;
}
public void setJenisIndikator(Integer jenisIndikator) {
this.jenisIndikator = jenisIndikator;
}
public KelompokJabatanVO getKelompokJabatan() {
return kelompokJabatan;
}
public void setKelompokJabatan(KelompokJabatanVO kelompokJabatan) {
this.kelompokJabatan = kelompokJabatan;
}
public Integer getKelompokJabatanId() {
return kelompokJabatanId;
}
public void setKelompokJabatanId(Integer kelompokJabatanId) {
this.kelompokJabatanId = kelompokJabatanId;
}
public Double getPersentase() {
return persentase;
}
public void setPersentase(Double persentase) {
this.persentase = persentase;
}
}

View File

@ -36,7 +36,7 @@ public class HabsenVO extends BaseMasterVO {
@Caption(value = "ip_addr")
private String ip_addr;
@Caption(value = "clientIPAddress")
private String clientIPAddress;
@ -51,7 +51,10 @@ public class HabsenVO extends BaseMasterVO {
@Caption(value = "lokasi")
private String lokasi;
@Caption(value = "jenispresensi")
private Integer jenisPresensi;
@Caption(value = "imageURLData")
private String imageURLData;
@ -175,6 +178,14 @@ public class HabsenVO extends BaseMasterVO {
this.lokasi = lokasi;
}
public Integer getJenisPresensi() {
return jenisPresensi;
}
public void setJenisPresensi(Integer jenisPresensi) {
this.jenisPresensi = jenisPresensi;
}
public String getImageURLData() {
return imageURLData;
}

View File

@ -1,4 +1,4 @@
package com.jasamedika.medifirst2000.vo;
package com.jasamedika.medifirst2000.vo.custom;
import com.jasamedika.medifirst2000.helper.Caption;

View File

@ -1,9 +1,11 @@
package com.jasamedika.medifirst2000.vo;
package com.jasamedika.medifirst2000.vo.custom;
import java.util.List;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
import com.jasamedika.medifirst2000.vo.SubUnitKerjaPegawaiVO;
public class TargetLayananCustomVO extends BaseTransactionVO {

View File

@ -685,5 +685,6 @@
<mapping class="com.jasamedika.medifirst2000.entities.IndikatorKinerjaJabatan"/>
<mapping class="com.jasamedika.medifirst2000.entities.AnggaranRemunerasi"/>
<mapping class="com.jasamedika.medifirst2000.entities.GradeRemunerasi"/>
<mapping class="com.jasamedika.medifirst2000.entities.BobotJenisIndikator"/>
</session-factory>
</hibernate-configuration>

View File

@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import com.jasamedika.medifirst2000.asynctask.timer.YearlyTimer;
import com.jasamedika.medifirst2000.controller.base.LocaleController;
import com.jasamedika.medifirst2000.service.KalenderService;
import com.jasamedika.medifirst2000.util.CommonUtil;

View File

@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import com.jasamedika.medifirst2000.asynctask.timer.MonthlyTimer;
import com.jasamedika.medifirst2000.controller.base.LocaleController;
import com.jasamedika.medifirst2000.service.PegawaiJadwalKerjaService;
import com.jasamedika.medifirst2000.util.CommonUtil;

View File

@ -0,0 +1,68 @@
package com.jasamedika.medifirst2000.asynctask;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import com.jasamedika.medifirst2000.asynctask.timer.MonthlyTimer;
import com.jasamedika.medifirst2000.controller.base.LocaleController;
import com.jasamedika.medifirst2000.service.IkiDanRemunerasiService;
import com.jasamedika.medifirst2000.service.TargetLayananService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.TargetLayananVO;
@Component
public class TargetLayananGenerating extends LocaleController<TargetLayananVO> {
private final static Logger LOGGER = LoggerFactory.getLogger(TargetLayananGenerating.class);
@Autowired
private IkiDanRemunerasiService remunerasiService;
@Autowired
private TargetLayananService targetLayananService;
public TargetLayananGenerating() {
int the1st = 1;
int at0hrs = 0;
MonthlyTimer.schedule(new Runnable() {
@Override
public void run() {
try {
LOGGER.info("Task Target Layanan : Running Task Target Layanan");
genTargetLayanan();
} catch (Exception ex) {
LOGGER.error("Task Target Layanan : Task Target Layanan " + ex.getMessage());
} finally {
LOGGER.info("Task Target Layanan : Finishing Task Target Layanan");
}
}
}, the1st, at0hrs);
}
@Async
public void genTargetLayanan() {
try {
if (CommonUtil.isNotNullOrEmpty(remunerasiService)) {
LOGGER.info("Task Target Layanan : Running Generate Target Layanan");
List<String> rsList = targetLayananService.addAll(remunerasiService
.findAllTargetCapaianLayanan(new SimpleDateFormat("yyyy-MM").format(new Date()), null));
if (CommonUtil.isNullOrEmpty(rsList)) {
LOGGER.info("Task Target Layanan : No Generating Target Layanan");
}
} else {
LOGGER.warn("Task Target Layanan : Undefined service");
}
} catch (Exception ex) {
LOGGER.error("Task Target Layanan : Generate Target Layanan " + ex.getMessage());
} finally {
LOGGER.info("Task Target Layanan : Finishing Generate Target Layanan");
}
}
}

View File

@ -1,16 +1,11 @@
package com.jasamedika.medifirst2000.asynctask;
package com.jasamedika.medifirst2000.asynctask.timer;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MonthlyTimer {
private final static Logger LOGGER = LoggerFactory.getLogger(MonthlyTimer.class);
// What to do
private final Runnable whatToDo;
@ -22,15 +17,11 @@ public class MonthlyTimer {
private Timer current = new Timer();
public void cancelCurrent() {
LOGGER.info("MonthlyTimer : Cancel current execution");
current.cancel();
LOGGER.info("MonthlyTimer : Removes the timertask so it can be garbage collected");
current.purge();
}
public static MonthlyTimer schedule(Runnable runnable, int dayOfMonth, int hourOfDay) {
LOGGER.info("MonthlyTimer : Create a new instance");
return new MonthlyTimer(runnable, dayOfMonth, hourOfDay);
}
@ -45,16 +36,12 @@ public class MonthlyTimer {
private void schedule() {
cancelCurrent();
LOGGER.info("MonthlyTimer : Assigning a new instance of Timer, allow the previous Timer to be garbage collected");
current = new Timer();
current.schedule(new TimerTask() {
public void run() {
try {
LOGGER.info("MonthlyTimer : Running schedule");
whatToDo.run();
} finally {
LOGGER.info("MonthlyTimer : Schedule for the next month");
schedule();
}
}
@ -70,8 +57,6 @@ public class MonthlyTimer {
runDate.set(Calendar.MILLISECOND, 0);
runDate.add(Calendar.MONTH, 1);
LOGGER.info("MonthlyTimer : Set to next month " + runDate.getTime());
return runDate.getTime();
}
}

View File

@ -1,15 +1,11 @@
package com.jasamedika.medifirst2000.asynctask;
package com.jasamedika.medifirst2000.asynctask.timer;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class YearlyTimer {
private final static Logger LOGGER = LoggerFactory.getLogger(YearlyTimer.class);
// What to do
private final Runnable whatToDo;
@ -22,15 +18,11 @@ public class YearlyTimer {
private Timer current = new Timer();
public void cancelCurrent() {
LOGGER.info("YearlyTimer : Cancel current execution");
current.cancel();
LOGGER.info("YearlyTimer : Removes the timertask so it can be garbage collected");
current.purge();
}
public static YearlyTimer schedule(Runnable runnable, int dayOfMonth, int hourOfDay) {
LOGGER.info("YearlyTimer : Create a new instance");
return new YearlyTimer(runnable, dayOfMonth, hourOfDay);
}
@ -45,16 +37,12 @@ public class YearlyTimer {
private void schedule() {
cancelCurrent();
LOGGER.info("YearlyTimer : Assigning a new instance of Timer, allow the previous Timer to be garbage collected");
current = new Timer();
current.schedule(new TimerTask() {
public void run() {
try {
LOGGER.info("YearlyTimer : Running schedule");
whatToDo.run();
} finally {
LOGGER.info("YearlyTimer : Schedule for the next year");
schedule();
}
}
@ -71,8 +59,6 @@ public class YearlyTimer {
runDate.set(Calendar.MILLISECOND, 0);
runDate.add(Calendar.YEAR, 1);
LOGGER.info("YearlyTimer : Set to next year " + runDate.getTime());
return runDate.getTime();
}
}

View File

@ -27,6 +27,7 @@ import com.jasamedika.medifirst2000.controller.base.LocaleController;
import com.jasamedika.medifirst2000.core.web.WebConstants;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.AnggaranRemunerasiService;
import com.jasamedika.medifirst2000.service.BobotJenisIndikatorService;
import com.jasamedika.medifirst2000.service.GradeRemunService;
import com.jasamedika.medifirst2000.service.IkiDanRemunerasiService;
import com.jasamedika.medifirst2000.service.IndikatorKinerjaJabatanService;
@ -37,6 +38,7 @@ import com.jasamedika.medifirst2000.service.SkoringTindakanMedisService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.rest.RestUtil;
import com.jasamedika.medifirst2000.vo.AnggaranRemunerasiVO;
import com.jasamedika.medifirst2000.vo.BobotJenisIndikatorVO;
import com.jasamedika.medifirst2000.vo.GradeRemunerasiVO;
import com.jasamedika.medifirst2000.vo.IkiDanRemunerasiVO;
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaJabatanVO;
@ -46,6 +48,7 @@ import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO;
import com.jasamedika.medifirst2000.vo.SettingPirSdmVO;
import com.jasamedika.medifirst2000.vo.SkoringTindakanMedisVO;
import com.jasamedika.medifirst2000.vo.StrukHistoriVO;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananCustomVO;
@RestController
@RequestMapping("/iki-remunerasi")
@ -77,6 +80,9 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
@Autowired
private LogbookKinerjaDetailService logbookKinerjaDetailService;
@Autowired
private BobotJenisIndikatorService bobotJenisIndikatorService;
@RequestMapping(value = "/get-load-data", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, Object>> getLoadData(HttpServletRequest request) {
try {
@ -234,11 +240,11 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
}
@RequestMapping(value = "/get-all-target-dan-capaian-layanan", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getAllTargetLayanan(HttpServletRequest request,
public ResponseEntity<List<TargetLayananCustomVO>> getAllTargetLayanan(HttpServletRequest request,
@RequestParam(value = "periode", required = true) String periode,
@RequestParam(value = "jumlahBulan", required = true) Integer jumlahBulan) throws ParseException {
@RequestParam(value = "ksmId", required = false) Integer idKsm) throws ParseException {
try {
List<Map<String, Object>> result = service.findAllTargetCapaianLayanan(periode, jumlahBulan);
List<TargetLayananCustomVO> result = service.findAllTargetCapaianLayanan(periode, idKsm);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
@ -932,4 +938,70 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/save-bobot-jenis-indikator", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<BobotJenisIndikatorVO> saveBobotJenisIndikator(HttpServletRequest request,
@Valid @RequestBody BobotJenisIndikatorVO vo) {
try {
BobotJenisIndikatorVO result = new BobotJenisIndikatorVO();
if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) {
result = bobotJenisIndikatorService.update(vo);
} else {
result = bobotJenisIndikatorService.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 bobot jenis indikator", 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 bobot jenis indikator", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/get-master-bobot-jenis-indikator", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getMasterBobotJenisIndikator(HttpServletRequest request,
@RequestParam(value = "periode", required = true) Long periode) throws ParseException {
try {
List<Map<String, Object>> result = bobotJenisIndikatorService.findAllBobotJenis(periode);
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 master bobot jenis indikator", 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 master bobot jenis indikator", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/delete-master-bobot-jenis-indikator", method = RequestMethod.DELETE)
public ResponseEntity<Boolean> deleteMasterBobotJenisIndikator(HttpServletRequest request,
@RequestParam(value = "noRec", required = true) String norec) throws ParseException {
try {
Boolean result = bobotJenisIndikatorService.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 master bobot jenis indikator", 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 master bobot jenis indikator", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}

View File

@ -132,6 +132,7 @@ import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.DateUtil;
import com.jasamedika.medifirst2000.util.rest.RestUtil;
import com.jasamedika.medifirst2000.vo.*;
import com.jasamedika.medifirst2000.vo.custom.TargetLayananCustomVO;
@RestController
@RequestMapping("/sdm")