Update service pelayanan pasien
Pembuatan fitur pengecekan hak akses
This commit is contained in:
parent
d5b211d577
commit
3d21fe9c86
@ -1,16 +1,15 @@
|
||||
package com.jasamedika.medifirst2000.dao;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerja;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerja;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* Repository class for AbsensiPegawai
|
||||
@ -559,4 +558,9 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository<MapPegaw
|
||||
+ "and mj.unitKerjaPegawaiId = :unitKerjaPegawaiId " + "order by pg.namaLengkap")
|
||||
List<Map<String, Object>> findPegawaiByUnitKerja(@Param("unitKerjaPegawaiId") Integer unitKerjaPegawaiId);
|
||||
|
||||
@Query("select pg.id from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.pegawai pg "
|
||||
+ "where mj.statusEnabled is true " + "and pg.statusEnabled is true "
|
||||
+ "and mj.unitKerjaPegawaiId = :unitKerjaId " + "and mj.jabatanId = :jabatanId")
|
||||
List<Integer> findPegawaiIdByUnitKerjaIdAndJabatanId(@Param("unitKerjaId") Integer unitKerjaId,
|
||||
@Param("jabatanId") Integer jabatanId);
|
||||
}
|
||||
|
||||
@ -1,16 +1,14 @@
|
||||
package com.jasamedika.medifirst2000.service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.LoginUser;
|
||||
import com.jasamedika.medifirst2000.entities.Ruangan;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.vo.LoginUserVO;
|
||||
import com.jasamedika.medifirst2000.vo.custom.AuthVO;
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface LoginUserService extends BaseVoService<LoginUser, LoginUserVO, Integer> {
|
||||
|
||||
@ -24,7 +22,8 @@ public interface LoginUserService extends BaseVoService<LoginUser, LoginUserVO,
|
||||
|
||||
List<LoginUserVO> findAll() throws JpaSystemException;
|
||||
|
||||
Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit, String sort, String dir);
|
||||
Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit, String sort,
|
||||
String dir);
|
||||
|
||||
Boolean delete(Integer key) throws JpaSystemException;
|
||||
|
||||
@ -35,18 +34,28 @@ public interface LoginUserService extends BaseVoService<LoginUser, LoginUserVO,
|
||||
// -------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
public Map<String, Object> getLoadData();
|
||||
|
||||
public List<Map<String, Object>> getListSideMenu();
|
||||
|
||||
public Map<String, Object> saveLoginUser(LoginUserVO vo);
|
||||
|
||||
public Map<String, Object> getListRuangan(Integer loginUserId);
|
||||
|
||||
public Map<String, Object> getListModulAplikasi(Integer modulAplikasiId);
|
||||
|
||||
public List<Map<String, Object>> getListObjectModulAplikasi(Integer modulAplikasiId);
|
||||
|
||||
// Alter Syamsu
|
||||
|
||||
List<LoginUser> findByNamaUser(String namaUser);
|
||||
|
||||
Ruangan getCurrentRuangan();
|
||||
|
||||
Integer getCurrentRuanganId();
|
||||
|
||||
Map<String, Object> saveUpdateLoginUser(LoginUserVO vo);
|
||||
|
||||
public LoginUser setLoginUser(LoginUserVO vo);
|
||||
|
||||
boolean accessGranted(LoginUser loginUser, List<Integer> listIdPegawai);
|
||||
}
|
||||
|
||||
@ -1,16 +1,18 @@
|
||||
package com.jasamedika.medifirst2000.service.impl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.converter.LoginUserAuthConverter;
|
||||
import com.jasamedika.medifirst2000.converter.LoginUserConverter;
|
||||
import com.jasamedika.medifirst2000.dao.HistoryLoginModulAplikasiDao;
|
||||
import com.jasamedika.medifirst2000.dao.LoginUserDao;
|
||||
import com.jasamedika.medifirst2000.dao.MapPegawaiToModulAplikasiDao;
|
||||
import com.jasamedika.medifirst2000.entities.*;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.LoginUserService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.util.PasswordUtil;
|
||||
import com.jasamedika.medifirst2000.vo.*;
|
||||
import com.jasamedika.medifirst2000.vo.custom.AuthVO;
|
||||
import org.apache.commons.collections.IteratorUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -21,32 +23,10 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.converter.LoginUserAuthConverter;
|
||||
import com.jasamedika.medifirst2000.converter.LoginUserConverter;
|
||||
import com.jasamedika.medifirst2000.dao.HistoryLoginModulAplikasiDao;
|
||||
import com.jasamedika.medifirst2000.dao.LoginUserDao;
|
||||
import com.jasamedika.medifirst2000.dao.MapPegawaiToModulAplikasiDao;
|
||||
import com.jasamedika.medifirst2000.entities.HistoryLoginModulAplikasi;
|
||||
import com.jasamedika.medifirst2000.entities.KelompokUser;
|
||||
import com.jasamedika.medifirst2000.entities.LoginUser;
|
||||
import com.jasamedika.medifirst2000.entities.MapLoginUserToRuangan;
|
||||
import com.jasamedika.medifirst2000.entities.MapPegawaiToModulAplikasi;
|
||||
import com.jasamedika.medifirst2000.entities.ModulAplikasi;
|
||||
import com.jasamedika.medifirst2000.entities.Pegawai;
|
||||
import com.jasamedika.medifirst2000.entities.Ruangan;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.LoginUserService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.util.PasswordUtil;
|
||||
import com.jasamedika.medifirst2000.vo.KelompokUserVO;
|
||||
import com.jasamedika.medifirst2000.vo.LoginUserVO;
|
||||
import com.jasamedika.medifirst2000.vo.MapLoginUserToRuanganVO;
|
||||
import com.jasamedika.medifirst2000.vo.MapPegawaiToModulAplikasiVO;
|
||||
import com.jasamedika.medifirst2000.vo.ModulAplikasiVO;
|
||||
import com.jasamedika.medifirst2000.vo.PegawaiVO;
|
||||
import com.jasamedika.medifirst2000.vo.RuanganVO;
|
||||
import com.jasamedika.medifirst2000.vo.custom.AuthVO;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.*;
|
||||
|
||||
@Service("LoginUserService")
|
||||
public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUserService {
|
||||
@ -106,7 +86,8 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
|
||||
Ruangan ruangan;
|
||||
|
||||
List<HistoryLoginModulAplikasi> historyS = historyLoginModulAplikasiDao.findCurrentRuangan(loginUser.getNamaUser(), new Date());
|
||||
List<HistoryLoginModulAplikasi> historyS = historyLoginModulAplikasiDao
|
||||
.findCurrentRuangan(loginUser.getNamaUser(), new Date());
|
||||
|
||||
if (CommonUtil.isNullOrEmpty(historyS) || CommonUtil.isNullOrEmpty(historyS.get(0).getRuanganUserId())) {
|
||||
ruangan = loginUser.getPegawai().getRuangan();
|
||||
@ -153,7 +134,6 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
|
||||
PasswordUtil passwordUtil = new PasswordUtil();
|
||||
|
||||
|
||||
loginUserConverter.transferVOToModel(vo, loginUserLama);
|
||||
|
||||
try {
|
||||
@ -265,14 +245,12 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
if (CommonUtil.isNotNullOrEmpty(list)) {
|
||||
result.put("data", list);
|
||||
result.put("dataFound", true);
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
result.put("dataFound", false);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
// Reza
|
||||
// -----------------------------------------------------------------------------------------------
|
||||
|
||||
@ -309,7 +287,8 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
mapRuangan.put("namaRuangan", ruangan.get("namaRuangan"));
|
||||
|
||||
List<Map<String, Object>> listModul = new ArrayList<>();
|
||||
for(Map<String, Object> modul : loginUserDao.getModulByDepartemen((Integer)ruangan.get("departemenId"))){
|
||||
for (Map<String, Object> modul : loginUserDao
|
||||
.getModulByDepartemen((Integer) ruangan.get("departemenId"))) {
|
||||
Map<String, Object> mapModul = new HashMap<>();
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(modul)) {
|
||||
@ -318,17 +297,20 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
mapModul.put("noUrut", modul.get("modulNoUrut"));
|
||||
|
||||
List<Map<String, Object>> listObjectModulHead = new ArrayList<>();
|
||||
for(Map<String, Object> objectModulHead : loginUserDao.getObjectModulHeadByModul((Integer)modul.get("id"))){
|
||||
for (Map<String, Object> objectModulHead : loginUserDao
|
||||
.getObjectModulHeadByModul((Integer) modul.get("id"))) {
|
||||
Map<String, Object> mapObjectModulHead = new HashMap<>();
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(objectModulHead)) {
|
||||
mapObjectModulHead.put("objectModulHeadId", objectModulHead.get("id"));
|
||||
mapObjectModulHead.put("namaObjekModulHead", objectModulHead.get("objekModulAplikasi"));
|
||||
mapObjectModulHead.put("namaObjekModulHead",
|
||||
objectModulHead.get("objekModulAplikasi"));
|
||||
mapObjectModulHead.put("linkAplikasi", objectModulHead.get("alamatUrlForm"));
|
||||
mapObjectModulHead.put("noUrut", objectModulHead.get("objekModulNoUrut"));
|
||||
|
||||
List<Map<String, Object>> listObjectModul = new ArrayList<>();
|
||||
for(Map<String, Object> objectModul: loginUserDao.getModulByModulHead((Integer)objectModulHead.get("id"))){
|
||||
for (Map<String, Object> objectModul : loginUserDao
|
||||
.getModulByModulHead((Integer) objectModulHead.get("id"))) {
|
||||
Map<String, Object> mapObjectModul = new HashMap<>();
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(objectModul)) {
|
||||
@ -392,7 +374,8 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
loginUser.setReportDisplay(vo.getNamaUser());
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(vo.getKelompokUser())) {
|
||||
loginUser.setKelompokUser(kelompokUserConverter.transferVOToModel(vo.getKelompokUser(), new KelompokUser()));
|
||||
loginUser
|
||||
.setKelompokUser(kelompokUserConverter.transferVOToModel(vo.getKelompokUser(), new KelompokUser()));
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(vo.getKataSandi())) {
|
||||
try {
|
||||
@ -411,11 +394,13 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
|
||||
MapLoginUserToRuangan mapLoginUserToRuangan = new MapLoginUserToRuangan();
|
||||
if (CommonUtil.isNotNullOrEmpty(loginUserToRuanganVO)) {
|
||||
mapLoginUserToRuangan = mapLoginUserToRuanganConverter.transferVOToModel(loginUserToRuanganVO, new MapLoginUserToRuangan());
|
||||
mapLoginUserToRuangan = mapLoginUserToRuanganConverter.transferVOToModel(loginUserToRuanganVO,
|
||||
new MapLoginUserToRuangan());
|
||||
mapLoginUserToRuangan.setLoginUser(loginUser);
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(loginUserToRuanganVO.getRuangan())) {
|
||||
mapLoginUserToRuangan.setRuangan(ruanganConverter.transferVOToModel(loginUserToRuanganVO.getRuangan(), new Ruangan()));
|
||||
mapLoginUserToRuangan.setRuangan(
|
||||
ruanganConverter.transferVOToModel(loginUserToRuanganVO.getRuangan(), new Ruangan()));
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(mapLoginUserToRuangan)) {
|
||||
loginUserToRuanganSet.add(mapLoginUserToRuangan);
|
||||
@ -430,11 +415,14 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
|
||||
MapPegawaiToModulAplikasi mapPegawaiToModulAplikasi = new MapPegawaiToModulAplikasi();
|
||||
if (CommonUtil.isNotNullOrEmpty(pegawaiToModulVO)) {
|
||||
mapPegawaiToModulAplikasi = mapPegawaiToModulAplikasiConverter.transferVOToModel(pegawaiToModulVO, new MapPegawaiToModulAplikasi());
|
||||
mapPegawaiToModulAplikasi.setPegawai(pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()));
|
||||
mapPegawaiToModulAplikasi = mapPegawaiToModulAplikasiConverter.transferVOToModel(pegawaiToModulVO,
|
||||
new MapPegawaiToModulAplikasi());
|
||||
mapPegawaiToModulAplikasi
|
||||
.setPegawai(pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()));
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(pegawaiToModulVO.getModulAplikasi())) {
|
||||
mapPegawaiToModulAplikasi.setModulAplikasi(modulAplikasiConverter.transferVOToModel(pegawaiToModulVO.getModulAplikasi(), new ModulAplikasi()));
|
||||
mapPegawaiToModulAplikasi.setModulAplikasi(modulAplikasiConverter
|
||||
.transferVOToModel(pegawaiToModulVO.getModulAplikasi(), new ModulAplikasi()));
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(mapPegawaiToModulAplikasi)) {
|
||||
mapPegawaiToModulAplikasiDao.save(mapPegawaiToModulAplikasi);
|
||||
@ -472,14 +460,16 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
@Override
|
||||
public List<Map<String, Object>> getListObjectModulAplikasi(Integer modulAplikasiId) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
// for(Map<String, Object> objectModulHead : loginUserDao.getObjectModulHeadByModul(modulAplikasiId)){
|
||||
// for(Map<String, Object> objectModulHead :
|
||||
// loginUserDao.getObjectModulHeadByModul(modulAplikasiId)){
|
||||
// Map<String, Object> parent = new HashMap<>();
|
||||
//
|
||||
// if(CommonUtil.isNotNullOrEmpty(objectModulHead)){
|
||||
// parent.put("name", objectModulHead.get("objekModulAplikasi"));
|
||||
// parent.put("noUrut", objectModulHead.get("objekModulNoUrut"));
|
||||
//
|
||||
// List<Map<String, Object>> listObjectModul = loginUserDao.getModulByModulHead((Integer)objectModulHead.get("id"));
|
||||
// List<Map<String, Object>> listObjectModul =
|
||||
// loginUserDao.getModulByModulHead((Integer)objectModulHead.get("id"));
|
||||
// if(CommonUtil.isNullOrEmpty(listObjectModul)){
|
||||
// parent.put("link", objectModulHead.get("alamatUrlForm"));
|
||||
// }
|
||||
@ -560,7 +550,8 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
loginUser.setReportDisplay(vo.getNamaUser());
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(vo.getKelompokUser())) {
|
||||
loginUser.setKelompokUser(kelompokUserConverter.transferVOToModel(vo.getKelompokUser(), new KelompokUser()));
|
||||
loginUser
|
||||
.setKelompokUser(kelompokUserConverter.transferVOToModel(vo.getKelompokUser(), new KelompokUser()));
|
||||
}
|
||||
if (CommonUtil.isNotNullOrEmpty(vo.getKataSandi())) {
|
||||
try {
|
||||
@ -574,4 +565,9 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
|
||||
}
|
||||
return loginUser;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean accessGranted(LoginUser loginUser, List<Integer> listIdPegawai) {
|
||||
return listIdPegawai.contains(loginUser.getPegawai().getId());
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,6 +5,8 @@ import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.*;
|
||||
import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto;
|
||||
import com.jasamedika.medifirst2000.entities.*;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.LoginUserService;
|
||||
import com.jasamedika.medifirst2000.service.PelayananPasienService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.util.DateUtil;
|
||||
@ -57,6 +59,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
@Autowired
|
||||
private BaseConverterImpl<ProdukVO, Produk> produkConverter;
|
||||
|
||||
@Autowired
|
||||
private LoginUserService loginUserService;
|
||||
|
||||
@Autowired
|
||||
private PasienDaftarDao pasienDaftarDao;
|
||||
|
||||
@ -78,6 +83,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
@Autowired
|
||||
private TargetRemunDokterDetailDao targetRemunDokterDetailDao;
|
||||
|
||||
@Autowired
|
||||
private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitKerjaDao;
|
||||
|
||||
@Autowired
|
||||
private PegawaiDao pegawaiDao;
|
||||
|
||||
@ -2191,6 +2199,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
|
||||
@Override
|
||||
public void diskonTagihan(List<TagihanPendaftaranDto> dtoList) {
|
||||
{
|
||||
List<Integer> listIdPegawai = mapPegawaiJabatanToUnitKerjaDao.findPegawaiIdByUnitKerjaIdAndJabatanId(48,
|
||||
1075);
|
||||
boolean accessGranted = loginUserService.accessGranted(loginUserService.getLoginUser(), listIdPegawai);
|
||||
if (!accessGranted)
|
||||
throw new ServiceVOException("Tidak memiliki akses diskon total");
|
||||
}
|
||||
List<String> listNoRec = dtoList.stream().map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList());
|
||||
List<PelayananPasien> listPelayanan = pelayananPasienDao.findAll(listNoRec);
|
||||
listPelayanan.forEach(p -> {
|
||||
|
||||
@ -226,12 +226,12 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(dtoList, HttpStatus.OK, mapHeaderMessage);
|
||||
} catch (ServiceVOException e) {
|
||||
LOGGER.error("Got exception {} when simpan diskon tagihan {}", e.getMessage(), null);
|
||||
LOGGER.error("Got exception {} when simpan diskon tagihan", e.getMessage());
|
||||
Map<String, String> error = new HashMap<>();
|
||||
error.put("bad-request", e.getMessage());
|
||||
error.put("bad_request", e.getMessage());
|
||||
return RestUtil.getJsonResponse(null, HttpStatus.BAD_REQUEST, error);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got exception {} when simpan diskon tagihan {}", jse.getMessage(), null);
|
||||
LOGGER.error("Got exception {} when simpan diskon tagihan", jse.getMessage());
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user