Update SdmController

Pembuatan service daftar kelompok kerja staf medik
This commit is contained in:
Salman Manoe 2022-02-07 16:31:55 +07:00
parent 8db5773b84
commit fd5acb5a5c
4 changed files with 66 additions and 17 deletions

View File

@ -51,6 +51,16 @@ public interface SubUnitKerjaDao extends PagingAndSortingRepository<SubUnitKerja
+ "and model.unitKerjaId in (:listUnitKerjaId) " + "order by model.id")
List<Integer> getSubunitKerjaByUnitKerja(@Param("listUnitKerjaId") List<Integer> listIdUnitKerja);
/**
* @param listIdUnitKerja Kelompok unit kerja tertentu
* @return Daftar unit kerja dan subunit kerja dari kelompok unit kerja tertentu
*/
@Query("select new Map(skr.id as subunitKerjaId, skr.name as subunitKerja, "
+ "ukr.id as unitKerjaId, ukr.name as unitKerja) " + "from SubUnitKerjaPegawai skr "
+ "inner join skr.unitKerja ukr " + "where skr.statusEnabled is true " + "and ukr.id in (:listUnitKerjaId) "
+ "order by ukr.name, skr.name")
List<Map<String, Object>> findSubunitKerjaByUnitKerja(@Param("listUnitKerjaId") List<Integer> listIdUnitKerja);
@Query("select new Map(model.id as id, model.name as name) " + "from SubUnitKerjaPegawai model "
+ "where model.id=:id and model.statusEnabled is true")
Map<String, Object> getSubunitKerjaById(@Param("id") Integer id);

View File

@ -3,29 +3,28 @@ package com.jasamedika.medifirst2000.service;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.entities.SubUnitKerjaPegawai;
import com.jasamedika.medifirst2000.entities.UnitKerjaPegawai;
import com.jasamedika.medifirst2000.vo.SubUnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.UnitKerjaPegawaiVO;
public interface UnitKerjaPegawaiService {
Map<String,Object> saveUnitkerja(UnitKerjaPegawaiVO vo);
Map<String, Object> saveUnitkerja(UnitKerjaPegawaiVO vo);
List<UnitKerjaPegawai> getAllUnitKerja();
List<UnitKerjaPegawai> getUnitKerjaByName(String nama);
Map<String,Object> saveSubUnitkerja(SubUnitKerjaPegawaiVO vo);
List<Map<String,Object>> getAllSubUnitKerja();
List<Map<String,Object>> getAllSubUnitKerjaByUnitKerja(Integer id);
List<Map<String,Object>> getAllSubunitKerjaByUnitKerja(Integer idUnitKerjaPegawai);
List<Map<String,Object>> getSubUnitKerjaByName(String nama);
Map<String, Object> saveSubUnitkerja(SubUnitKerjaPegawaiVO vo);
List<Map<String, Object>> getAllSubUnitKerja();
List<Map<String, Object>> getAllSubUnitKerjaByUnitKerja(Integer id);
List<Map<String, Object>> getAllSubunitKerjaByUnitKerja(Integer idUnitKerjaPegawai);
List<Map<String, Object>> getSubUnitKerjaByName(String nama);
List<Map<String, Object>> findAllKelompokKerja();
}

View File

@ -1,6 +1,7 @@
package com.jasamedika.medifirst2000.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -9,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.SubUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.UnitKerjaDao;
@ -146,4 +148,23 @@ public class UnitKerjaPegawaiServiceImpl implements UnitKerjaPegawaiService {
return result;
}
@Override
public List<Map<String, Object>> findAllKelompokKerja() {
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> data = subUnitKerjaDao
.findSubunitKerjaByUnitKerja(Arrays.asList(Master.UnitKerja.KSM));
for (Map<String, Object> map : data) {
if (map.get("subunitKerja").toString().contains("KK")) {
Map<String, Object> mapResult = new HashMap<>();
mapResult.put("id", map.get("subunitKerjaId"));
mapResult.put("name",
map.get("subunitKerja").toString() + " (" + map.get("unitKerja").toString() + ")");
result.add(mapResult);
}
}
return result;
}
}

View File

@ -6049,4 +6049,23 @@ public class SdmController extends LocaleController<AkunVO> {
}
}
@RequestMapping(value = "/get-daftar-kelompok-kerja", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<Map<String, Object>>> getDaftarKelompokKerja(HttpServletRequest request) {
try {
List<Map<String, Object>> result = unitKerjaPegawaiService.findAllKelompokKerja();
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 daftar kelompok kerja staf medik", e.getMessage());
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, e.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get daftar kelompok kerja staf medik", jse.getMessage());
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}