pembuatan service view master indikator kinerja

This commit is contained in:
salmanoe 2021-02-22 23:19:10 +07:00
parent 21fdcf2b2f
commit 45ef8fb159
7 changed files with 66 additions and 9 deletions

View File

@ -1,9 +1,25 @@
package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
@Repository("indikatorKinerjaDao")
public interface IndikatorKinerjaDao extends PagingAndSortingRepository<IndikatorKinerja, Integer> {
@Query("select new Map(ik.id as id," + "ik.jenisIndikator as jenisIndikatorId,"
+ "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' "
+ "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator,"
+ "ik.namaIndikator as namaIndikator," + "si.id as satuanIndikatorId,"
+ "si.satuanIndikator as satuanIndikator," + "ik.statusVerifikasi as isStatusVerifikasi,"
+ "(case when ik.statusVerifikasi is false then 'Belum Terverifikasi' "
+ "when ik.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) "
+ "from IndikatorKinerja ik " + "inner join ik.satuanIndikator si " + "where ik.statusEnabled is true")
List<Map<String, Object>> findMasterIndikatorKinerja();
}

View File

@ -1,9 +1,11 @@
package com.jasamedika.medifirst2000.dao;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.LogbookKinerja;
@Repository("logbookKinerjaDao")
public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKinerja, String> {
}

View File

@ -1,9 +1,11 @@
package com.jasamedika.medifirst2000.dao;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetail;
@Repository("logbookKinerjaDetailDao")
public interface LogbookKinerjaDetailDao extends PagingAndSortingRepository<LogbookKinerjaDetail, String> {
}

View File

@ -1,8 +1,13 @@
package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO;
public interface IndikatorKinerjaService extends BaseVoService<IndikatorKinerja, IndikatorKinerjaVO, Integer> {
List<Map<String, Object>> getMasterIndikatorKinerja();
}

View File

@ -23,7 +23,7 @@ public class IndikatorKinerjaServiceImpl extends BaseVoServiceImpl implements In
@Autowired
private BaseConverterImpl<IndikatorKinerjaVO, IndikatorKinerja> indikatorKinerjaConverter;
@Autowired
private BaseConverterImpl<SatuanIndikatorVO, SatuanIndikator> satuanIndikatorConverter;
@ -32,9 +32,10 @@ public class IndikatorKinerjaServiceImpl extends BaseVoServiceImpl implements In
@Override
public IndikatorKinerjaVO add(IndikatorKinerjaVO vo) throws JpaSystemException, ServiceVOException {
SatuanIndikator satuanIndikator = satuanIndikatorConverter.transferVOToModel(vo.getSatuanIndikator(), new SatuanIndikator());
SatuanIndikator satuanIndikator = satuanIndikatorConverter.transferVOToModel(vo.getSatuanIndikator(),
new SatuanIndikator());
IndikatorKinerja indikatorKinerja = indikatorKinerjaConverter.transferVOToModel(vo, new IndikatorKinerja());
indikatorKinerja.setSatuanIndikator(satuanIndikator);
IndikatorKinerja resultModel = indikatorKinerjaDao.save(indikatorKinerja);
@ -47,10 +48,11 @@ public class IndikatorKinerjaServiceImpl extends BaseVoServiceImpl implements In
@Override
public IndikatorKinerjaVO update(IndikatorKinerjaVO vo) throws JpaSystemException, ServiceVOException {
IndikatorKinerja indikatorKinerjaLama = indikatorKinerjaDao.findOne(vo.getId());
SatuanIndikator satuanIndikator = satuanIndikatorConverter.transferVOToModel(vo.getSatuanIndikator(), new SatuanIndikator());
SatuanIndikator satuanIndikator = satuanIndikatorConverter.transferVOToModel(vo.getSatuanIndikator(),
new SatuanIndikator());
IndikatorKinerja indikatorKinerjaBaru = indikatorKinerjaConverter.transferVOToModel(vo, indikatorKinerjaLama);
indikatorKinerjaBaru.setSatuanIndikator(satuanIndikator);
IndikatorKinerja resultModel = indikatorKinerjaDao.save(indikatorKinerjaBaru);
@ -69,19 +71,19 @@ public class IndikatorKinerjaServiceImpl extends BaseVoServiceImpl implements In
@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) {
@ -99,4 +101,11 @@ public class IndikatorKinerjaServiceImpl extends BaseVoServiceImpl implements In
return null;
}
@Override
public List<Map<String, Object>> getMasterIndikatorKinerja() {
List<Map<String, Object>> result = indikatorKinerjaDao.findMasterIndikatorKinerja();
return result;
}
}

View File

@ -681,7 +681,11 @@
<mapping class="com.jasamedika.medifirst2000.entities.PelaksanaanTugas" />
<mapping class="com.jasamedika.medifirst2000.entities.RincianKegiatan" />
<mapping class="com.jasamedika.medifirst2000.entities.HistoriUsulanRincianKegiatan" />
<mapping class="com.jasamedika.medifirst2000.entities.SatuanIndikator" />
<mapping class="com.jasamedika.medifirst2000.entities.IndikatorKinerja"/>
<mapping class="com.jasamedika.medifirst2000.entities.LogbookKinerja"/>
<mapping class="com.jasamedika.medifirst2000.entities.LogbookKinerjaDetail"/>
<mapping class="com.jasamedika.medifirst2000.entities.BatalRegistrasi" />
<mapping class="com.jasamedika.medifirst2000.entities.Pembatal" />

View File

@ -285,6 +285,25 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
}
}
@RequestMapping(value = "/get-master-indikator-kinerja", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getMasterIndikatorKinerja(HttpServletRequest request)
throws ParseException {
try {
List<Map<String, Object>> result = indikatorKinerjaService.getMasterIndikatorKinerja();
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 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 get 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) {