perbaikan simpan dan hapus mapping indikator langsung banyak jabatan
This commit is contained in:
parent
ac9e76bdd6
commit
16c14d182d
@ -26,4 +26,26 @@ public interface IndikatorKinerjaJabatanDao extends PagingAndSortingRepository<I
|
||||
+ "ikt.tanggalMulaiBerlaku desc,ikt.tanggalPembaharuanData desc")
|
||||
List<Map<String, Object>> findAllByJabatan(@Param("jabatanId") Integer idJabatan);
|
||||
|
||||
@Query("select new Map(jj.id as jenisJabatanId,jj.jenisJabatan as jenisJabatan,"
|
||||
+ "jb.id as jabatanId,jb.namaJabatan as namaJabatan) " + "from Jabatan jb "
|
||||
+ "inner join jb.jenisJabatan jj " + "where jb.statusEnabled is true " + "and jb.kdJabatan = 'ANJAB' "
|
||||
+ "order by jb.namaJabatan, jb.id")
|
||||
List<Map<String, Object>> findAllJabatanAnjab();
|
||||
|
||||
@Query("select new Map(jb.id as jabatanId," + "ikt.noRec as noRec," + "ikt.tanggalMulaiBerlaku as tglBerlaku,"
|
||||
+ "ikt.tanggalPembaharuanData as tglPembaharuanData) " + "from IndikatorKinerjaJabatan ikt "
|
||||
+ "inner join ikt.jabatan jb " + "where ikt.statusEnabled is true "
|
||||
+ "and ikt.indikatorKinerjaId = :indikatorId "
|
||||
+ "and to_char(ikt.tanggalMulaiBerlaku,'yyyy-MM') <= to_char(now(),'yyyy-MM') "
|
||||
+ "and jb.statusEnabled is true " + "and jb.kdJabatan = 'ANJAB' " + "order by jb.namaJabatan, jb.id, "
|
||||
+ "ikt.tanggalMulaiBerlaku desc, ikt.tanggalPembaharuanData desc")
|
||||
List<Map<String, Object>> findAllByIndikator(@Param("indikatorId") Integer idIndikator);
|
||||
|
||||
@Query("select new Map(ikt.noRec as noRec," + "ikt.statusEnabled as statusEnabled," + "ikt.kdProfile as kdProfile,"
|
||||
+ "ikt.tanggalMulaiBerlaku as tglBerlaku," + "ikt.indikatorKinerjaId as indikatorId,"
|
||||
+ "ikt.jabatanId as jabatanId) " + "from IndikatorKinerjaJabatan ikt " + "where ikt.statusEnabled is true "
|
||||
+ "and ikt.indikatorKinerjaId in (:listIndikatorId) "
|
||||
+ "and to_char(ikt.tanggalMulaiBerlaku,'yyyy-MM') <= to_char(now(),'yyyy-MM')")
|
||||
List<Map<String, Object>> findAllByIndikator(@Param("listIndikatorId") List<Integer> listIdIndikator);
|
||||
|
||||
}
|
||||
|
||||
@ -12,8 +12,11 @@ import com.jasamedika.medifirst2000.vo.IndikatorKinerjaJabatanVO;
|
||||
public interface IndikatorKinerjaJabatanService
|
||||
extends BaseVoService<IndikatorKinerjaJabatan, IndikatorKinerjaJabatanVO, String> {
|
||||
|
||||
public List<String> addAll(IndikatorKinerjaJabatanVO vo) throws JpaSystemException, ServiceVOException;
|
||||
public List<String> addAndUpdate(List<IndikatorKinerjaJabatanVO> listVO, Integer idLoginUser)
|
||||
throws JpaSystemException, ServiceVOException;
|
||||
|
||||
Map<String, Object> findAllByJabatan(Integer idJabatan) throws JpaSystemException;
|
||||
public List<Map<String, Object>> findAllByIndikator(Integer idIndikator) throws JpaSystemException;
|
||||
|
||||
public Map<String, Object> findAllByJabatan(Integer idJabatan) throws JpaSystemException;
|
||||
|
||||
}
|
||||
|
||||
@ -106,31 +106,30 @@ public class IndikatorKinerjaJabatanServiceImpl extends BaseVoServiceImpl implem
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> addAll(IndikatorKinerjaJabatanVO vo) throws JpaSystemException, ServiceVOException {
|
||||
public List<String> addAll(List<IndikatorKinerjaJabatanVO> listVO, Integer idLoginUser)
|
||||
throws JpaSystemException, ServiceVOException {
|
||||
List<String> resultListVO = new ArrayList<>();
|
||||
List<IndikatorKinerjaJabatan> listIndikatorJabatan = new ArrayList<>();
|
||||
List<Map<String, Object>> listLog = new ArrayList<>();
|
||||
Date now = new Date();
|
||||
|
||||
IndikatorKinerja indikator = indikatorConverter.transferVOToModel(vo.getIndikatorKinerja(),
|
||||
new IndikatorKinerja());
|
||||
|
||||
for (JabatanVO jabatanVO : vo.getListJabatan()) {
|
||||
Jabatan jabatan = jabatanConverter.transferVOToModel(jabatanVO, new Jabatan());
|
||||
for (IndikatorKinerjaJabatanVO vo : listVO) {
|
||||
Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan());
|
||||
IndikatorKinerja indikator = indikatorConverter.transferVOToModel(vo.getIndikatorKinerja(),
|
||||
new IndikatorKinerja());
|
||||
IndikatorKinerjaJabatan indikatorJabatan = indikatorJabatanConverter.transferVOToModel(vo,
|
||||
new IndikatorKinerjaJabatan());
|
||||
|
||||
indikatorJabatan.setJabatan(jabatan);
|
||||
indikatorJabatan.setIndikatorKinerja(indikator);
|
||||
indikatorJabatan.setTanggalPembaharuanData(now);
|
||||
indikatorJabatan.setJabatan(jabatan);
|
||||
listIndikatorJabatan.add(indikatorJabatan);
|
||||
}
|
||||
|
||||
Iterable<IndikatorKinerjaJabatan> listResultModel = indikatorKinerjaJabatanDao.save(listIndikatorJabatan);
|
||||
for (IndikatorKinerjaJabatan resultModel : listResultModel) {
|
||||
Map<String, Object> mapLog = new HashMap<>();
|
||||
mapLog.put("idLoginUser", vo.getLoginUserId());
|
||||
mapLog.put("idLoginUser", idLoginUser);
|
||||
mapLog.put("idReferensi", resultModel.getNoRec());
|
||||
mapLog.put("keterangan", "Buat data");
|
||||
listLog.add(mapLog);
|
||||
@ -140,12 +139,60 @@ public class IndikatorKinerjaJabatanServiceImpl extends BaseVoServiceImpl implem
|
||||
|
||||
resultListVO.add(resultVO.getNoRec());
|
||||
}
|
||||
|
||||
|
||||
addAllLoggingUser(listLog);
|
||||
|
||||
return resultListVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> addAndUpdate(List<IndikatorKinerjaJabatanVO> listVO, Integer idLoginUser)
|
||||
throws JpaSystemException, ServiceVOException {
|
||||
List<String> resultListVO = new ArrayList<>();
|
||||
List<Integer> listIdIndikator = new ArrayList<>();
|
||||
List<IndikatorKinerjaJabatanVO> listAdd = new ArrayList<>();
|
||||
List<IndikatorKinerjaJabatanVO> listUpdate = new ArrayList<>();
|
||||
|
||||
for (IndikatorKinerjaJabatanVO vo : listVO) {
|
||||
if (CommonUtil.isNullOrEmpty(vo.getNoRec())) {
|
||||
listAdd.add(vo);
|
||||
} else if (!listIdIndikator.contains(vo.getIndikatorKinerja().getId())) {
|
||||
listIdIndikator.add(vo.getIndikatorKinerja().getId());
|
||||
}
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(listIdIndikator)) {
|
||||
List<Map<String, Object>> allMap = indikatorKinerjaJabatanDao.findAllByIndikator(listIdIndikator);
|
||||
for (Map<String, Object> map : allMap) {
|
||||
IndikatorKinerjaJabatanVO vo = new IndikatorKinerjaJabatanVO();
|
||||
IndikatorKinerjaVO indikator = new IndikatorKinerjaVO();
|
||||
JabatanVO jabatan = new JabatanVO();
|
||||
|
||||
vo.setNoRec(map.get("noRec").toString());
|
||||
vo.setKdProfile((short) 0);
|
||||
vo.setStatusEnabled(false);
|
||||
vo.setTanggalMulaiBerlaku((Date) map.get("tglBerlaku"));
|
||||
indikator.setId(Integer.valueOf(map.get("indikatorId").toString()));
|
||||
vo.setIndikatorKinerja(indikator);
|
||||
jabatan.setId(Integer.valueOf(map.get("jabatanId").toString()));
|
||||
vo.setJabatan(jabatan);
|
||||
|
||||
listUpdate.add(vo);
|
||||
}
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(listAdd)) {
|
||||
resultListVO = addAll(listAdd, idLoginUser);
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(listUpdate) && CommonUtil.isNotNullOrEmpty(resultListVO)) {
|
||||
resultListVO.addAll(updateAll(listUpdate, idLoginUser));
|
||||
} else {
|
||||
resultListVO = updateAll(listUpdate, idLoginUser);
|
||||
}
|
||||
|
||||
return resultListVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IndikatorKinerjaJabatanVO update(IndikatorKinerjaJabatanVO vo)
|
||||
throws JpaSystemException, ServiceVOException {
|
||||
@ -170,6 +217,55 @@ public class IndikatorKinerjaJabatanServiceImpl extends BaseVoServiceImpl implem
|
||||
return resultVO;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param listVO : mapping indikator yang akan dihapus
|
||||
* @param idLoginUser : identitas user saat login
|
||||
* @return Daftar identitas transaksi mapping indikator
|
||||
* @throws JpaSystemException
|
||||
* @throws ServiceVOException
|
||||
*/
|
||||
public List<String> updateAll(List<IndikatorKinerjaJabatanVO> listVO, Integer idLoginUser)
|
||||
throws JpaSystemException, ServiceVOException {
|
||||
List<String> resultListVO = new ArrayList<>();
|
||||
List<IndikatorKinerjaJabatan> listIndikatorJabatanBaru = new ArrayList<>();
|
||||
List<Map<String, Object>> listLog = new ArrayList<>();
|
||||
Date now = new Date();
|
||||
|
||||
for (IndikatorKinerjaJabatanVO vo : listVO) {
|
||||
IndikatorKinerjaJabatan indikatorJabatanLama = indikatorKinerjaJabatanDao.findOne(vo.getNoRec());
|
||||
|
||||
Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan());
|
||||
IndikatorKinerja indikator = indikatorConverter.transferVOToModel(vo.getIndikatorKinerja(),
|
||||
new IndikatorKinerja());
|
||||
IndikatorKinerjaJabatan indikatorJabatanBaru = indikatorJabatanConverter.transferVOToModel(vo,
|
||||
indikatorJabatanLama);
|
||||
|
||||
indikatorJabatanBaru.setJabatan(jabatan);
|
||||
indikatorJabatanBaru.setIndikatorKinerja(indikator);
|
||||
indikatorJabatanBaru.setTanggalPembaharuanData(now);
|
||||
listIndikatorJabatanBaru.add(indikatorJabatanBaru);
|
||||
}
|
||||
|
||||
Iterable<IndikatorKinerjaJabatan> listResultModel = indikatorKinerjaJabatanDao.save(listIndikatorJabatanBaru);
|
||||
for (IndikatorKinerjaJabatan resultModel : listResultModel) {
|
||||
Map<String, Object> mapLog = new HashMap<>();
|
||||
mapLog.put("idLoginUser", idLoginUser);
|
||||
mapLog.put("idReferensi", resultModel.getNoRec());
|
||||
mapLog.put("keterangan", "Edit data");
|
||||
listLog.add(mapLog);
|
||||
|
||||
IndikatorKinerjaJabatanVO resultVO = new IndikatorKinerjaJabatanVO();
|
||||
resultVO = indikatorJabatanConverter.transferModelToVO(resultModel, resultVO);
|
||||
|
||||
resultListVO.add(resultVO.getNoRec());
|
||||
}
|
||||
|
||||
addAllLoggingUser(listLog);
|
||||
|
||||
return resultListVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean delete(String key) throws JpaSystemException {
|
||||
indikatorKinerjaJabatanDao.delete(key);
|
||||
@ -240,4 +336,39 @@ public class IndikatorKinerjaJabatanServiceImpl extends BaseVoServiceImpl implem
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findAllByIndikator(Integer idIndikator) throws JpaSystemException {
|
||||
List<Map<String, Object>> data = new ArrayList<>();
|
||||
List<Integer> listIdJabatan = new ArrayList<>();
|
||||
|
||||
List<Map<String, Object>> result = indikatorKinerjaJabatanDao.findAllJabatanAnjab();
|
||||
List<Map<String, Object>> allMap = indikatorKinerjaJabatanDao.findAllByIndikator(idIndikator);
|
||||
for (Map<String, Object> map : allMap) {
|
||||
if (!listIdJabatan.contains(map.get("jabatanId"))) {
|
||||
listIdJabatan.add(Integer.valueOf(map.get("jabatanId").toString()));
|
||||
data.add(map);
|
||||
}
|
||||
}
|
||||
|
||||
for (Map<String, Object> mapRs : result) {
|
||||
for (Map<String, Object> map : data) {
|
||||
if (mapRs.get("jabatanId").equals(map.get("jabatanId"))) {
|
||||
mapRs.put("statusPilih", true);
|
||||
mapRs.put("noRec", map.get("noRec"));
|
||||
mapRs.put("tglBerlaku", map.get("tglBerlaku"));
|
||||
mapRs.put("tglPembaharuanData", map.get("tglPembaharuanData"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (CommonUtil.isNullOrEmpty(mapRs.get("noRec"))) {
|
||||
mapRs.put("statusPilih", false);
|
||||
mapRs.put("noRec", null);
|
||||
mapRs.put("tglBerlaku", null);
|
||||
mapRs.put("tglPembaharuanData", null);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.jasamedika.medifirst2000.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
|
||||
import com.jasamedika.medifirst2000.helper.Caption;
|
||||
@ -18,11 +17,6 @@ public class IndikatorKinerjaJabatanVO extends BaseTransactionVO {
|
||||
|
||||
private Integer jabatanId;
|
||||
|
||||
@Caption(value = "Daftar Jabatan")
|
||||
private List<JabatanVO> listJabatan;
|
||||
|
||||
private List<Integer> listJabatanId;
|
||||
|
||||
@Caption(value = "Tanggal Mulai Berlaku")
|
||||
private Date tanggalMulaiBerlaku;
|
||||
|
||||
@ -63,22 +57,6 @@ public class IndikatorKinerjaJabatanVO extends BaseTransactionVO {
|
||||
this.jabatanId = jabatanId;
|
||||
}
|
||||
|
||||
public List<JabatanVO> getListJabatan() {
|
||||
return listJabatan;
|
||||
}
|
||||
|
||||
public void setListJabatan(List<JabatanVO> listJabatan) {
|
||||
this.listJabatan = listJabatan;
|
||||
}
|
||||
|
||||
public List<Integer> getListJabatanId() {
|
||||
return listJabatanId;
|
||||
}
|
||||
|
||||
public void setListJabatanId(List<Integer> listJabatanId) {
|
||||
this.listJabatanId = listJabatanId;
|
||||
}
|
||||
|
||||
public Date getTanggalMulaiBerlaku() {
|
||||
return tanggalMulaiBerlaku;
|
||||
}
|
||||
|
||||
@ -366,9 +366,10 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
|
||||
@RequestMapping(value = "/save-mapping-indikator-all-jabatan", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<List<String>> saveMappingIndikatorAllJabatan(HttpServletRequest request,
|
||||
@Valid @RequestBody IndikatorKinerjaJabatanVO vo) {
|
||||
@Valid @RequestBody List<IndikatorKinerjaJabatanVO> vo,
|
||||
@RequestParam(value = "loginUserId", required = true) Integer idLoginUser) {
|
||||
try {
|
||||
List<String> result = indikatorKinerjaJabatanService.addAll(vo);
|
||||
List<String> result = indikatorKinerjaJabatanService.addAndUpdate(vo, idLoginUser);
|
||||
if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
@ -406,6 +407,25 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/set-mapping-indikator-jabatan", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> setMappingIndikatorJabatan(HttpServletRequest request,
|
||||
@RequestParam(value = "indikatorId", required = true) Integer idIndikator) throws ParseException {
|
||||
try {
|
||||
List<Map<String, Object>> result = indikatorKinerjaJabatanService.findAllByIndikator(idIndikator);
|
||||
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 set mapping indikator jabatan", 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 set mapping indikator jabatan", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/save-skoring-tindakan-medis", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<SkoringTindakanMedisVO> saveSkoringTindakanMedis(HttpServletRequest request,
|
||||
@Valid @RequestBody SkoringTindakanMedisVO vo) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user