- pembuatan fitur validasi hapus mapping indikator-jabatan jika sudah ada kontrak kinerjanya
- pembuatan fitur validasi hapus kontrak kinerja jika sudah ada data working record
This commit is contained in:
parent
2b08380318
commit
173f6486e9
@ -25,6 +25,4 @@ public interface IndikatorKinerjaJabatanService
|
||||
public List<Map<String, Object>> findIndikatorByUnit(Integer jenisIndikator, Integer idUnitKerja,
|
||||
Integer levelJabatan) throws JpaSystemException;
|
||||
|
||||
public List<Map<String, Object>> findUsedMappingByIndikator(Integer idIndikator) throws JpaSystemException;
|
||||
|
||||
}
|
||||
|
||||
@ -19,6 +19,4 @@ public interface LogbookKinerjaDetailService
|
||||
|
||||
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai) throws JpaSystemException;
|
||||
|
||||
public List<Map<String, Object>> findUsedWorkingRecordByKontrak(String logbookNoRec) throws JpaSystemException;
|
||||
|
||||
}
|
||||
|
||||
@ -33,7 +33,4 @@ public interface LogbookKinerjaService extends BaseVoService<LogbookKinerja, Log
|
||||
|
||||
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai);
|
||||
|
||||
public List<Map<String, Object>> findUsedKontrakByMapping(Integer idIndikator, Integer idJabatan)
|
||||
throws JpaSystemException;
|
||||
|
||||
}
|
||||
|
||||
@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
|
||||
import com.jasamedika.medifirst2000.constants.Master;
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.IndikatorKinerjaJabatanDao;
|
||||
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao;
|
||||
import com.jasamedika.medifirst2000.dao.LoggingUserDao;
|
||||
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
|
||||
import com.jasamedika.medifirst2000.entities.IndikatorKinerjaJabatan;
|
||||
@ -39,6 +40,9 @@ public class IndikatorKinerjaJabatanServiceImpl extends BaseVoServiceImpl implem
|
||||
@Autowired
|
||||
private BaseConverterImpl<JabatanVO, Jabatan> jabatanConverter;
|
||||
|
||||
@Autowired
|
||||
private LogbookKinerjaDao logbookKinerjaDao;
|
||||
|
||||
@Autowired
|
||||
private IndikatorKinerjaJabatanDao indikatorKinerjaJabatanDao;
|
||||
|
||||
@ -207,6 +211,9 @@ public class IndikatorKinerjaJabatanServiceImpl extends BaseVoServiceImpl implem
|
||||
IndikatorKinerjaJabatan indikatorJabatanBaru = indikatorJabatanConverter.transferVOToModel(vo,
|
||||
indikatorJabatanLama);
|
||||
|
||||
List<Map<String, Object>> existedOthersMapping = findUsedKontrakByMapping(
|
||||
indikatorJabatanBaru.getIndikatorKinerjaId(), indikatorJabatanBaru.getJabatanId());
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(vo.getJabatan())) {
|
||||
Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan());
|
||||
indikatorJabatanBaru.setJabatan(jabatan);
|
||||
@ -218,13 +225,17 @@ public class IndikatorKinerjaJabatanServiceImpl extends BaseVoServiceImpl implem
|
||||
indikatorJabatanBaru.setIndikatorKinerja(indikator);
|
||||
}
|
||||
|
||||
indikatorJabatanBaru.setTanggalPembaharuanData(new Date());
|
||||
IndikatorKinerjaJabatan resultModel = indikatorKinerjaJabatanDao.save(indikatorJabatanBaru);
|
||||
|
||||
addLoggingUser(vo.getLoginUserId(), resultModel.getNoRec(), "Edit data");
|
||||
|
||||
IndikatorKinerjaJabatanVO resultVO = new IndikatorKinerjaJabatanVO();
|
||||
resultVO = indikatorJabatanConverter.transferModelToVO(resultModel, resultVO);
|
||||
if (existedOthersMapping.size() > 0 && !indikatorJabatanBaru.getStatusEnabled()) {
|
||||
resultVO.setResponseMessage("Indikator sudah dipakai di kontrak kerja, tidak dapat dihapus!");
|
||||
} else {
|
||||
indikatorJabatanBaru.setTanggalPembaharuanData(new Date());
|
||||
IndikatorKinerjaJabatan resultModel = indikatorKinerjaJabatanDao.save(indikatorJabatanBaru);
|
||||
|
||||
addLoggingUser(vo.getLoginUserId(), resultModel.getNoRec(), "Edit data");
|
||||
|
||||
resultVO = indikatorJabatanConverter.transferModelToVO(resultModel, resultVO);
|
||||
}
|
||||
|
||||
return resultVO;
|
||||
}
|
||||
@ -255,28 +266,37 @@ public class IndikatorKinerjaJabatanServiceImpl extends BaseVoServiceImpl implem
|
||||
IndikatorKinerjaJabatan indikatorJabatanBaru = indikatorJabatanConverter.transferVOToModel(vo,
|
||||
indikatorJabatanLama);
|
||||
|
||||
indikatorJabatanBaru.setJabatan(jabatan);
|
||||
indikatorJabatanBaru.setIndikatorKinerja(indikator);
|
||||
indikatorJabatanBaru.setTanggalPembaharuanData(now);
|
||||
listIndikatorJabatanBaru.add(indikatorJabatanBaru);
|
||||
List<Map<String, Object>> existedOthersMapping = findUsedKontrakByMapping(
|
||||
indikatorJabatanBaru.getIndikatorKinerjaId(), indikatorJabatanBaru.getJabatanId());
|
||||
if (existedOthersMapping.size() > 0 && !indikatorJabatanBaru.getStatusEnabled()) {
|
||||
resultListVO.add("Indikator sudah dipakai di kontrak kerja, tidak dapat dihapus!");
|
||||
} else {
|
||||
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);
|
||||
if (CommonUtil.isNotNullOrEmpty(listIndikatorJabatanBaru)) {
|
||||
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);
|
||||
IndikatorKinerjaJabatanVO resultVO = new IndikatorKinerjaJabatanVO();
|
||||
resultVO = indikatorJabatanConverter.transferModelToVO(resultModel, resultVO);
|
||||
|
||||
resultListVO.add(resultVO.getNoRec());
|
||||
resultListVO.add(resultVO.getNoRec());
|
||||
}
|
||||
|
||||
addAllLoggingUser(listLog);
|
||||
}
|
||||
|
||||
addAllLoggingUser(listLog);
|
||||
|
||||
return resultListVO;
|
||||
}
|
||||
|
||||
@ -427,9 +447,9 @@ public class IndikatorKinerjaJabatanServiceImpl extends BaseVoServiceImpl implem
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findUsedMappingByIndikator(Integer idIndikator) throws JpaSystemException {
|
||||
List<Map<String, Object>> result = indikatorKinerjaJabatanDao.findUsedMappingByIndikator(idIndikator);
|
||||
public List<Map<String, Object>> findUsedKontrakByMapping(Integer idIndikator, Integer idJabatan)
|
||||
throws JpaSystemException {
|
||||
List<Map<String, Object>> result = logbookKinerjaDao.findUsedKontrakByMapping(idIndikator, idJabatan);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -223,11 +223,4 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findUsedWorkingRecordByKontrak(String logbookNoRec) throws JpaSystemException {
|
||||
List<Map<String, Object>> result = logbookKinerjaDetailDao.findUsedWorkingRecordByKontrak(logbookNoRec);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -23,6 +23,7 @@ import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.AnggaranRemunerasiDao;
|
||||
import com.jasamedika.medifirst2000.dao.IndikatorKinerjaDao;
|
||||
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDao;
|
||||
import com.jasamedika.medifirst2000.dao.LogbookKinerjaDetailDao;
|
||||
import com.jasamedika.medifirst2000.dao.PegawaiDao;
|
||||
import com.jasamedika.medifirst2000.entities.IndikatorKinerja;
|
||||
import com.jasamedika.medifirst2000.entities.Jabatan;
|
||||
@ -59,6 +60,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
@Autowired
|
||||
private LogbookKinerjaDao logbookKinerjaDao;
|
||||
|
||||
@Autowired
|
||||
private LogbookKinerjaDetailDao logbookKinerjaDetailDao;
|
||||
|
||||
@Autowired
|
||||
private IndikatorKinerjaDao indikatorKinerjaDao;
|
||||
|
||||
@ -90,6 +94,11 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
|
||||
@Override
|
||||
public LogbookKinerjaVO update(LogbookKinerjaVO vo) throws JpaSystemException, ServiceVOException {
|
||||
List<Map<String, Object>> existedWorkingRecord = new ArrayList<>();
|
||||
if (!vo.getStatusVerifikasi() || !vo.getStatusEnabled()) {
|
||||
existedWorkingRecord = findUsedWorkingRecordByKontrak(vo.getNoRec());
|
||||
}
|
||||
|
||||
LogbookKinerja logbookKinerjaLama = logbookKinerjaDao.findOne(vo.getNoRec());
|
||||
|
||||
Pegawai pegawai = pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai());
|
||||
@ -101,10 +110,16 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
logbookKinerjaBaru.setPegawai(pegawai);
|
||||
logbookKinerjaBaru.setJabatan(jabatan);
|
||||
logbookKinerjaBaru.setIndikatorKinerja(indikatorKinerja);
|
||||
LogbookKinerja resultModel = logbookKinerjaDao.save(logbookKinerjaBaru);
|
||||
|
||||
LogbookKinerjaVO resultVO = new LogbookKinerjaVO();
|
||||
resultVO = logbookKinerjaConverter.transferModelToVO(resultModel, resultVO);
|
||||
if (existedWorkingRecord.size() > 0 && !vo.getStatusVerifikasi() && vo.getStatusEnabled()) {
|
||||
resultVO.setResponseMessage("Catatan kegiatan kinerja sudah diisi, tidak dapat batal verifikasi!");
|
||||
} else if (existedWorkingRecord.size() > 0 && !vo.getStatusVerifikasi() && !vo.getStatusEnabled()) {
|
||||
resultVO.setResponseMessage("Catatan kegiatan kinerja sudah diisi, tidak dapat hapus kontrak!");
|
||||
} else {
|
||||
LogbookKinerja resultModel = logbookKinerjaDao.save(logbookKinerjaBaru);
|
||||
resultVO = logbookKinerjaConverter.transferModelToVO(resultModel, resultVO);
|
||||
}
|
||||
|
||||
return resultVO;
|
||||
}
|
||||
@ -486,11 +501,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> findUsedKontrakByMapping(Integer idIndikator, Integer idJabatan)
|
||||
throws JpaSystemException {
|
||||
List<Map<String, Object>> result = logbookKinerjaDao.findUsedKontrakByMapping(idIndikator, idJabatan);
|
||||
|
||||
public List<Map<String, Object>> findUsedWorkingRecordByKontrak(String logbookNoRec) throws JpaSystemException {
|
||||
List<Map<String, Object>> result = logbookKinerjaDetailDao.findUsedWorkingRecordByKontrak(logbookNoRec);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -25,6 +25,9 @@ public class IndikatorKinerjaJabatanVO extends BaseTransactionVO {
|
||||
|
||||
private Integer loginUserId;
|
||||
|
||||
@Caption(value = "Response Message")
|
||||
private String responseMessage;
|
||||
|
||||
public IndikatorKinerjaVO getIndikatorKinerja() {
|
||||
return indikatorKinerja;
|
||||
}
|
||||
@ -81,4 +84,12 @@ public class IndikatorKinerjaJabatanVO extends BaseTransactionVO {
|
||||
this.loginUserId = loginUserId;
|
||||
}
|
||||
|
||||
public String getResponseMessage() {
|
||||
return responseMessage;
|
||||
}
|
||||
|
||||
public void setResponseMessage(String responseMessage) {
|
||||
this.responseMessage = responseMessage;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -36,6 +36,9 @@ public class LogbookKinerjaVO extends BaseTransactionVO {
|
||||
private IndikatorKinerjaVO indikatorKinerja;
|
||||
|
||||
private Integer indikatorKinerjaId;
|
||||
|
||||
@Caption(value = "responseMessage")
|
||||
private String responseMessage;
|
||||
|
||||
public Date getBulan() {
|
||||
return bulan;
|
||||
@ -125,4 +128,12 @@ public class LogbookKinerjaVO extends BaseTransactionVO {
|
||||
this.indikatorKinerjaId = indikatorKinerjaId;
|
||||
}
|
||||
|
||||
public String getResponseMessage() {
|
||||
return responseMessage;
|
||||
}
|
||||
|
||||
public void setResponseMessage(String responseMessage) {
|
||||
this.responseMessage = responseMessage;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -436,7 +436,10 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
} else {
|
||||
result = indikatorKinerjaJabatanService.add(vo);
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||
if (CommonUtil.isNotNullOrEmpty(result) && CommonUtil.isNotNullOrEmpty(result.getResponseMessage())) {
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, result.getResponseMessage());
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
} else if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage);
|
||||
@ -465,7 +468,9 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage);
|
||||
} else {
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE);
|
||||
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 add mapping indikator kinerja semua jabatan", sve.getMessage());
|
||||
@ -663,7 +668,10 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
} else {
|
||||
result = logbookKinerjaService.add(vo);
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||
if (CommonUtil.isNotNullOrEmpty(result) && CommonUtil.isNotNullOrEmpty(result.getResponseMessage())) {
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, result.getResponseMessage());
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
} else if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage);
|
||||
@ -945,66 +953,4 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/kegiatan-harian-kontrak", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> getUsedWorkingRecordByKontrak(HttpServletRequest request,
|
||||
@RequestParam(value = "logbookKinerjaId", required = true) String idLogbookKinerja) throws ParseException {
|
||||
try {
|
||||
List<Map<String, Object>> result = logbookKinerjaDetailService
|
||||
.findUsedWorkingRecordByKontrak(idLogbookKinerja);
|
||||
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 kontrak sudah dipakai di 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 get kontrak sudah dipakai di working record", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/kontrak-kinerja-mapping", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> getUsedKontrakByMapping(HttpServletRequest request,
|
||||
@RequestParam(value = "indikatorId", required = true) Integer idIndikator,
|
||||
@RequestParam(value = "jabatanId", required = true) Integer idJabatan) throws ParseException {
|
||||
try {
|
||||
List<Map<String, Object>> result = logbookKinerjaService.findUsedKontrakByMapping(idIndikator, idJabatan);
|
||||
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 mapping sudah dipakai di kontrak kinerja individu",
|
||||
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 mapping sudah dipakai di kontrak kinerja individu",
|
||||
jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/mapping-jabatan-indikator", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> getUsedMappingByIndikator(HttpServletRequest request,
|
||||
@RequestParam(value = "indikatorId", required = true) Integer idIndikator) throws ParseException {
|
||||
try {
|
||||
List<Map<String, Object>> result = indikatorKinerjaJabatanService.findUsedMappingByIndikator(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 get indikator sudah dipakai di mapping 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 get indikator sudah dipakai di mapping jabatan", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user