Update JabatanService

Pembuatan service get kelompok jabatan berdasarkan data pegawai login
This commit is contained in:
Salman Manoe 2022-01-06 14:40:31 +07:00
parent 66f0c1cad3
commit a96a5a99b3
4 changed files with 42 additions and 2 deletions

View File

@ -5,15 +5,20 @@ 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.KelompokJabatan;
@Repository
public interface KelompokJabatanDao extends PagingAndSortingRepository<KelompokJabatan, Integer>{
public interface KelompokJabatanDao extends PagingAndSortingRepository<KelompokJabatan, Integer> {
@Query("select new map (model.id as id, model.namaKelompokJabatan as namaKelompokJabatan) from KelompokJabatan model where model.statusEnabled is true")
public List<Map<String, Object>> getAllByStatusEnabled();
@Query("select jb.kelompokJabatanId " + "from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.jabatan jb "
+ "where mj.statusEnabled is true " + "and mj.pegawaiId = :pegawaiId "
+ "and jb.kelompokJabatanId in (3,4,5,6) " + "order by jb.kelompokJabatanId")
public List<Integer> findIdByLoginLogbookSkor(@Param("pegawaiId") Integer idPegawai);
}

View File

@ -39,4 +39,6 @@ public interface JabatanService extends BaseVoService<Jabatan, JabatanVO, Intege
List<Map<String, Object>> findJabatanDanBatasNilai(Integer idJenisJabatan, Integer idUnitKerja)
throws JpaSystemException;
Integer findIdKelompokByLoginLogbookSkoring(Integer idPegawai) throws JpaSystemException;
}

View File

@ -39,6 +39,7 @@ import com.jasamedika.medifirst2000.vo.UnitKerjaPegawaiVO;
*/
@Service("jabatanService")
public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanService {
@Autowired
private BaseConverterImpl<JabatanVO, Jabatan> jabatanConverter;
@ -394,4 +395,16 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ
return result;
}
@Override
public Integer findIdKelompokByLoginLogbookSkoring(Integer idPegawai) throws JpaSystemException {
Integer result = null;
List<Integer> data = kelompokJabatanDao.findIdByLoginLogbookSkor(idPegawai);
if (CommonUtil.isNotNullOrEmpty(data)) {
result = data.get(0);
}
return result;
}
}

View File

@ -6029,4 +6029,24 @@ public class SdmController extends LocaleController<AkunVO> {
}
}
@RequestMapping(value = "/get-kelompok-jabatan-logbook-skor", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Integer> getKelompokJabatanLogbookSkor(HttpServletRequest request,
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai) {
try {
Integer result = jabatanService.findIdKelompokByLoginLogbookSkoring(idPegawai);
if (null != result)
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException e) {
LOGGER.error("Got exception {} when get kelompok jabatan logbook skor", 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 get kelompok jabatan logbook skor", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}