diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HabsenDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HabsenDao.java index 06889941..df379247 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HabsenDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/HabsenDao.java @@ -32,7 +32,7 @@ public interface HabsenDao extends PagingAndSortingRepository { Map getJadwalPegawai(@Param("idPegawai") Integer idPegawai, @Param("tanggalJadwal") String tanggalJadwal); - @Query("select new Map(" + "pg.namaLengkap as namaLengkap," + "pg.idFinger as idFinger, " + @Query("select new Map(pg.noIdentitas as noIdentitas," + "pg.namaLengkap as namaLengkap," + "pg.idFinger as idFinger, " + "to_char(now(), 'yyyy-MM-dd') as tanggal, " + "to_char(now(), 'HH24:MI:SS') as jam) " + "from Pegawai pg " + "where pg.id = :idPegawai") Map getPegawai(@Param("idPegawai") Integer idPegawai); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java index c51bd940..2a2a3781 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/PegawaiService.java @@ -4,6 +4,7 @@ import java.util.Date; import java.util.List; import java.util.Map; +import com.jasamedika.medifirst2000.dto.PegawaiDto; import com.jasamedika.medifirst2000.entities.Pegawai; import com.jasamedika.medifirst2000.vo.PegawaiVO; import com.jasamedika.medifirst2000.vo.RegistrasiPegawaiMobileVO; @@ -176,4 +177,5 @@ public interface PegawaiService extends BaseVoService findJadwalPegawai(Integer idPegawai) { Map result = new HashMap<>(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String today = sdf.format(new Date()); - result = habsensiDao.getPegawai(idPegawai); - String jadwal = habsensiDao.getPegawaiJadwal(idPegawai, today); - if (CommonUtil.isNotNullOrEmpty(jadwal)) { + result.put("jadwal", "-"); + if (CommonUtil.isNotNullOrEmpty(jadwal)) result.put("jadwal", jadwal); - } else { - result.put("jadwal", "-"); - } - List wfhStatus = habsensiDao.getWfhStatusByApp(idPegawai, today); - if (CommonUtil.isNotNullOrEmpty(wfhStatus)) { + result.put("isWFH", false); + if (CommonUtil.isNotNullOrEmpty(wfhStatus)) for (Integer i : wfhStatus) { - if (i == 1) { + result.put("isWFH", false); + if (i == 1) result.put("isWFH", true); - } else { - result.put("isWFH", false); + } + { + result.put("isComplete", false); + if (CommonUtil.isNotNullOrEmpty(result.get("noIdentitas"))) { + String noIdentitas = result.get("noIdentitas").toString().trim(); + try { + Integer.valueOf(noIdentitas); + result.put("isComplete", true); + } catch (NumberFormatException ex) { + result.put("isComplete", false); } } - } else { - result.put("isWFH", false); + result.remove("noIdentitas"); } - return result; } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java index 00b01362..fc189552 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java @@ -57,6 +57,7 @@ import com.jasamedika.medifirst2000.dao.StatusPerkawinanDao; import com.jasamedika.medifirst2000.dao.SukuDao; import com.jasamedika.medifirst2000.dao.TypePegawaiDao; import com.jasamedika.medifirst2000.dao.custom.PegawaiDaoCustom; +import com.jasamedika.medifirst2000.dto.PegawaiDto; import com.jasamedika.medifirst2000.entities.Jabatan; import com.jasamedika.medifirst2000.entities.JadwalDokter; import com.jasamedika.medifirst2000.entities.JadwalPraktek; @@ -2453,4 +2454,12 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ return result; } + @Override + public void completeDataPegawai(PegawaiDto dto) { + Pegawai pegawai = pegawaiDao.findById(dto.getId()); + if (CommonUtil.isNotNullOrEmpty(pegawai)) { + pegawai.setNoIdentitas(dto.getNoIdentitas()); + pegawaiDao.save(pegawai); + } + } } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/PegawaiDto.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/PegawaiDto.java new file mode 100644 index 00000000..2e722380 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/PegawaiDto.java @@ -0,0 +1,34 @@ +package com.jasamedika.medifirst2000.dto; + +import com.jasamedika.medifirst2000.helper.Caption; + +/** + * @author salmanoe + * @since Feb 24, 2023 + */ +public class PegawaiDto { + @Caption(value = "ID Pegawai") + private Integer id; + + @Caption(value = "NIK Pegawai") + private String noIdentitas; + + public PegawaiDto() { + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getNoIdentitas() { + return noIdentitas; + } + + public void setNoIdentitas(String noIdentitas) { + this.noIdentitas = noIdentitas; + } +} diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java index 075a05b1..fccaaa79 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/PegawaiController.java @@ -33,6 +33,7 @@ import com.jasamedika.medifirst2000.core.web.WebConstants; import com.jasamedika.medifirst2000.dao.MapJabatanToUraianTugasDao; import com.jasamedika.medifirst2000.dao.MapUraianTugasToRincianKegiatanDao; import com.jasamedika.medifirst2000.dto.EditPegawaiDTO; +import com.jasamedika.medifirst2000.dto.PegawaiDto; import com.jasamedika.medifirst2000.entities.LoginUser; import com.jasamedika.medifirst2000.entities.Pegawai; import com.jasamedika.medifirst2000.exception.ServiceVOException; @@ -1469,4 +1470,20 @@ public class PegawaiController extends LocaleController implements IB return RestUtil.getJsonResponse(HttpStatus.CONFLICT, mapHeaderMessage); } } + + @RequestMapping(value = "/kelengkapan", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity completePegawai(@RequestBody PegawaiDto dto) { + try { + pegawaiService.completeDataPegawai(dto); + return RestUtil.getJsonResponse(true, HttpStatus.CREATED); + } catch (ServiceVOException e) { + LOGGER.error("Got exception {} when complete data pegawai", 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 complete data Pegawai", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } }