Update service pelayanan pasien

Pembuatan fitur pengecekan hak akses
This commit is contained in:
Salman Manoe 2023-08-08 11:38:25 +07:00
parent d5b211d577
commit 3d21fe9c86
5 changed files with 253 additions and 229 deletions

View File

@ -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);
}

View File

@ -1,19 +1,17 @@
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> {
LoginUserVO signIn(AuthVO authVO) throws Exception;
LoginUserVO add(LoginUserVO vo) throws JpaSystemException, ServiceVOException;
@ -24,29 +22,40 @@ 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;
LoginUser getLoginUser();
Map<String, Object> getAllUser();
//-------------------------------------------------------------------------------------------------------------------------------
// -------------------------------------------------------------------------------------------------------------------------------
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);
}

View File

@ -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,41 +23,19 @@ 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 {
private static final Logger LOGGER = LoggerFactory.getLogger(LoginUserServiceImpl.class);
@Autowired
private LoginUserDao loginUserDao;
@Autowired
private MapPegawaiToModulAplikasiDao mapPegawaiToModulAplikasiDao;
@ -64,63 +44,64 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
@Autowired
private LoginUserConverter loginUserConverter;
@Autowired
private BaseConverterImpl<LoginUserVO, LoginUser> loginUserConverters;
@Autowired
private BaseConverterImpl<PegawaiVO, Pegawai> pegawaiConverter;
@Autowired
private BaseConverterImpl<KelompokUserVO, KelompokUser> kelompokUserConverter;
@Autowired
private BaseConverterImpl<MapPegawaiToModulAplikasiVO, MapPegawaiToModulAplikasi> mapPegawaiToModulAplikasiConverter;
@Autowired
private BaseConverterImpl<ModulAplikasiVO, ModulAplikasi> modulAplikasiConverter;
@Autowired
private BaseConverterImpl<MapLoginUserToRuanganVO, MapLoginUserToRuangan> mapLoginUserToRuanganConverter;
@Autowired
private BaseConverterImpl<RuanganVO, Ruangan> ruanganConverter;
@Autowired
private HistoryLoginModulAplikasiDao historyLoginModulAplikasiDao;
@Override
public Integer getCurrentRuanganId() {
Ruangan ruangan = getCurrentRuangan();
if (CommonUtil.isNullOrEmpty(ruangan)){
if (CommonUtil.isNullOrEmpty(ruangan)) {
return 0;
}
return ruangan.getId();
}
@Override
public Ruangan getCurrentRuangan(){
public Ruangan getCurrentRuangan() {
LoginUser loginUser = getLoginUser();
Ruangan ruangan;
List<HistoryLoginModulAplikasi> historyS = historyLoginModulAplikasiDao.findCurrentRuangan(loginUser.getNamaUser(), new Date());
if (CommonUtil.isNullOrEmpty(historyS) || CommonUtil.isNullOrEmpty(historyS.get(0).getRuanganUserId())){
List<HistoryLoginModulAplikasi> historyS = historyLoginModulAplikasiDao
.findCurrentRuangan(loginUser.getNamaUser(), new Date());
if (CommonUtil.isNullOrEmpty(historyS) || CommonUtil.isNullOrEmpty(historyS.get(0).getRuanganUserId())) {
ruangan = loginUser.getPegawai().getRuangan();
} else {
ruangan = historyS.get(0).getRuanganUser();
}
return ruangan;
}
public List<LoginUser> findByNamaUser(String namaUser){
public List<LoginUser> findByNamaUser(String namaUser) {
return loginUserDao.findByNamaUser(namaUser);
}
@Override
@Transactional(readOnly = false)
public LoginUserVO add(LoginUserVO vo) throws JpaSystemException, ServiceVOException {
@ -143,25 +124,24 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
return resultVo;
}
@Override
@Transactional(readOnly = false)
public LoginUserVO update(LoginUserVO vo) throws JpaSystemException, ServiceVOException {
//Alter Syamsu
// Alter Syamsu
LoginUser loginUserLama = loginUserDao.findOne(vo.getId());
PasswordUtil passwordUtil = new PasswordUtil();
loginUserConverter.transferVOToModel(vo, loginUserLama);
try {
loginUserLama.setKataSandi(passwordUtil.encryptPassword(loginUserLama.getKataSandi()));
} catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
e.printStackTrace();
}
loginUserDao.save(loginUserLama);
// return VO
@ -243,147 +223,149 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
throw new RuntimeException("User account is unauthorized : username : " + authVO.getNamaUser());
}
}
@Override
public LoginUser getLoginUser(){
public LoginUser getLoginUser() {
List<LoginUser> loginUser = null;
try {
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
String namaUser = principal.toString();
loginUser = loginUserDao.findByNamaUser(namaUser);
} catch (Exception e) {
e.printStackTrace();
}
return loginUser.get(0);
}
try {
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
String namaUser = principal.toString();
loginUser = loginUserDao.findByNamaUser(namaUser);
} catch (Exception e) {
e.printStackTrace();
}
return loginUser.get(0);
}
@Override
public Map<String, Object> getAllUser() {
Map<String, Object> result = new HashMap<String, Object>();
List<LoginUser> list = new ArrayList<LoginUser>();
list = (List<LoginUser>) loginUserDao.findAllUser();
if(CommonUtil.isNotNullOrEmpty(list)){
if (CommonUtil.isNotNullOrEmpty(list)) {
result.put("data", list);
result.put("dataFound", true);
}
else{
} else {
result.put("dataFound", false);
}
return result;
}
//Reza
//-----------------------------------------------------------------------------------------------
// Reza
// -----------------------------------------------------------------------------------------------
@Override
public Map<String, Object> getLoadData(){
public Map<String, Object> getLoadData() {
Map<String, Object> result = new HashMap<String, Object>();
//--------------------------------------------------------------------------
// --------------------------------------------------------------------------
List<Map<String, Object>> listPegawai = loginUserDao.listPegawai();
if(CommonUtil.isNotNullOrEmpty(listPegawai)){
if (CommonUtil.isNotNullOrEmpty(listPegawai)) {
result.put("listPegawai", listPegawai);
}
//--------------------------------------------------------------------------
// --------------------------------------------------------------------------
List<Map<String, Object>> listKelompokUser = loginUserDao.listKelompokUser();
if(CommonUtil.isNotNullOrEmpty(listKelompokUser)){
if (CommonUtil.isNotNullOrEmpty(listKelompokUser)) {
result.put("listKelompokUser", listKelompokUser);
}
//--------------------------------------------------------------------------
// --------------------------------------------------------------------------
List<Map<String, Object>> listSideMenu = getListSideMenu();
if(CommonUtil.isNotNullOrEmpty(listSideMenu)){
if (CommonUtil.isNotNullOrEmpty(listSideMenu)) {
result.put("listSideMenu", listSideMenu);
}
return result;
}
@Override
public List<Map<String, Object>> getListSideMenu(){
public List<Map<String, Object>> getListSideMenu() {
List<Map<String, Object>> listSideMenu = new ArrayList<>();
try{
for(Map<String, Object> ruangan : loginUserDao.listRuangan()){
try {
for (Map<String, Object> ruangan : loginUserDao.listRuangan()) {
Map<String, Object> mapRuangan = new HashMap<>();
if(CommonUtil.isNotNullOrEmpty(ruangan)){
if (CommonUtil.isNotNullOrEmpty(ruangan)) {
mapRuangan.put("ruanganId", ruangan.get("id"));
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)){
if (CommonUtil.isNotNullOrEmpty(modul)) {
mapModul.put("modulId", modul.get("id"));
mapModul.put("namaModul", modul.get("modulAplikasi"));
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)){
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)){
if (CommonUtil.isNotNullOrEmpty(objectModul)) {
mapObjectModul.put("objectModulId", objectModul.get("id"));
mapObjectModul.put("namaObjekModul", objectModul.get("objekModulAplikasi"));
mapObjectModul.put("linkAplikasi", objectModul.get("alamatUrlForm"));
mapObjectModul.put("noUrut", objectModul.get("objekModulNoUrut"));
}
if(CommonUtil.isNotNullOrEmpty(mapObjectModul)){
if (CommonUtil.isNotNullOrEmpty(mapObjectModul)) {
listObjectModul.add(mapObjectModul);
}
}
if(CommonUtil.isNotNullOrEmpty(listObjectModul)){
if (CommonUtil.isNotNullOrEmpty(listObjectModul)) {
mapObjectModulHead.put("listObjectModul", listObjectModul);
}
}
if(CommonUtil.isNotNullOrEmpty(mapObjectModulHead)){
if (CommonUtil.isNotNullOrEmpty(mapObjectModulHead)) {
listObjectModulHead.add(mapObjectModulHead);
}
}
if(CommonUtil.isNotNullOrEmpty(listObjectModulHead)){
if (CommonUtil.isNotNullOrEmpty(listObjectModulHead)) {
mapModul.put("listObjectModulHead", listObjectModulHead);
}
}
if(CommonUtil.isNotNullOrEmpty(mapModul)){
if (CommonUtil.isNotNullOrEmpty(mapModul)) {
listModul.add(mapModul);
}
}
if(CommonUtil.isNotNullOrEmpty(listModul)){
if (CommonUtil.isNotNullOrEmpty(listModul)) {
mapRuangan.put("listModul", listModul);
}
}
if(CommonUtil.isNotNullOrEmpty(mapRuangan)){
if (CommonUtil.isNotNullOrEmpty(mapRuangan)) {
listSideMenu.add(mapRuangan);
}
}
}catch (Exception ex){
} catch (Exception ex) {
ex.printStackTrace();
}
return listSideMenu;
}
@Override
public Map<String, Object> saveLoginUser(LoginUserVO vo){
public Map<String, Object> saveLoginUser(LoginUserVO vo) {
Map<String, Object> result = new HashMap<>();
if (CommonUtil.isNotNullOrEmpty(vo.getNamaUser())) {
List<LoginUser> users = loginUserDao.findByNamaUser(vo.getNamaUser());
if (!users.isEmpty()) {
throw new ServiceVOException("Nama user sudah ada, ganti atau pakai nama user yang lain");
}
}
LoginUser loginUser = new LoginUser();
if(CommonUtil.isNotNullOrEmpty(vo)){
if (CommonUtil.isNotNullOrEmpty(vo)) {
loginUser = loginUserConverters.transferVOToModel(vo, new LoginUser());
loginUser.setKdProfile((short) 0);
loginUser.setStatusEnabled(true);
@ -391,145 +373,153 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
loginUser.setNamaExternal(vo.getNamaUser());
loginUser.setReportDisplay(vo.getNamaUser());
}
if(CommonUtil.isNotNullOrEmpty(vo.getKelompokUser())){
loginUser.setKelompokUser(kelompokUserConverter.transferVOToModel(vo.getKelompokUser(), new KelompokUser()));
if (CommonUtil.isNotNullOrEmpty(vo.getKelompokUser())) {
loginUser
.setKelompokUser(kelompokUserConverter.transferVOToModel(vo.getKelompokUser(), new KelompokUser()));
}
if(CommonUtil.isNotNullOrEmpty(vo.getKataSandi())){
if (CommonUtil.isNotNullOrEmpty(vo.getKataSandi())) {
try {
loginUser.setKataSandi(new PasswordUtil().encryptPassword(vo.getKataSandi()));
} catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
e.printStackTrace();
}
}
if(CommonUtil.isNotNullOrEmpty(vo.getPegawai())){
if (CommonUtil.isNotNullOrEmpty(vo.getPegawai())) {
loginUser.setPegawai(pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()));
}
if(CommonUtil.isNotNullOrEmpty(vo.getMapLoginUserToRuanganSet())){
if (CommonUtil.isNotNullOrEmpty(vo.getMapLoginUserToRuanganSet())) {
Set<MapLoginUserToRuangan> loginUserToRuanganSet = new HashSet<>();
for(MapLoginUserToRuanganVO loginUserToRuanganVO : vo.getMapLoginUserToRuanganSet()){
for (MapLoginUserToRuanganVO loginUserToRuanganVO : vo.getMapLoginUserToRuanganSet()) {
MapLoginUserToRuangan mapLoginUserToRuangan = new MapLoginUserToRuangan();
if(CommonUtil.isNotNullOrEmpty(loginUserToRuanganVO)){
mapLoginUserToRuangan = mapLoginUserToRuanganConverter.transferVOToModel(loginUserToRuanganVO, new MapLoginUserToRuangan());
if (CommonUtil.isNotNullOrEmpty(loginUserToRuanganVO)) {
mapLoginUserToRuangan = mapLoginUserToRuanganConverter.transferVOToModel(loginUserToRuanganVO,
new MapLoginUserToRuangan());
mapLoginUserToRuangan.setLoginUser(loginUser);
}
if(CommonUtil.isNotNullOrEmpty(loginUserToRuanganVO.getRuangan())){
mapLoginUserToRuangan.setRuangan(ruanganConverter.transferVOToModel(loginUserToRuanganVO.getRuangan(), new Ruangan()));
if (CommonUtil.isNotNullOrEmpty(loginUserToRuanganVO.getRuangan())) {
mapLoginUserToRuangan.setRuangan(
ruanganConverter.transferVOToModel(loginUserToRuanganVO.getRuangan(), new Ruangan()));
}
if(CommonUtil.isNotNullOrEmpty(mapLoginUserToRuangan)){
if (CommonUtil.isNotNullOrEmpty(mapLoginUserToRuangan)) {
loginUserToRuanganSet.add(mapLoginUserToRuangan);
}
}
if(CommonUtil.isNotNullOrEmpty(loginUserToRuanganSet)){
if (CommonUtil.isNotNullOrEmpty(loginUserToRuanganSet)) {
loginUser.setMapLoginUserToRuanganSet(loginUserToRuanganSet);
}
}
if(CommonUtil.isNotNullOrEmpty(vo.getMapPegawaiToModulAplikasiSet())){
for(MapPegawaiToModulAplikasiVO pegawaiToModulVO : vo.getMapPegawaiToModulAplikasiSet()){
if (CommonUtil.isNotNullOrEmpty(vo.getMapPegawaiToModulAplikasiSet())) {
for (MapPegawaiToModulAplikasiVO pegawaiToModulVO : vo.getMapPegawaiToModulAplikasiSet()) {
MapPegawaiToModulAplikasi mapPegawaiToModulAplikasi = new MapPegawaiToModulAplikasi();
if(CommonUtil.isNotNullOrEmpty(pegawaiToModulVO)){
mapPegawaiToModulAplikasi = mapPegawaiToModulAplikasiConverter.transferVOToModel(pegawaiToModulVO, new MapPegawaiToModulAplikasi());
mapPegawaiToModulAplikasi.setPegawai(pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()));
if (CommonUtil.isNotNullOrEmpty(pegawaiToModulVO)) {
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()));
if (CommonUtil.isNotNullOrEmpty(pegawaiToModulVO.getModulAplikasi())) {
mapPegawaiToModulAplikasi.setModulAplikasi(modulAplikasiConverter
.transferVOToModel(pegawaiToModulVO.getModulAplikasi(), new ModulAplikasi()));
}
if(CommonUtil.isNotNullOrEmpty(mapPegawaiToModulAplikasi)){
if (CommonUtil.isNotNullOrEmpty(mapPegawaiToModulAplikasi)) {
mapPegawaiToModulAplikasiDao.save(mapPegawaiToModulAplikasi);
}
}
}
if(CommonUtil.isNotNullOrEmpty(loginUser)){
if (CommonUtil.isNotNullOrEmpty(loginUser)) {
LoginUser loginUserResult = loginUserDao.save(loginUser);
result.put("id", loginUserResult.getId());
}
return result;
}
@Override
public Map<String, Object> getListRuangan(Integer loginUserId){
public Map<String, Object> getListRuangan(Integer loginUserId) {
Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> listRuangan = loginUserDao.getListRuangan(loginUserId);
if(CommonUtil.isNotNullOrEmpty(listRuangan)){
if (CommonUtil.isNotNullOrEmpty(listRuangan)) {
result.put("listRuangan", listRuangan);
}
return result;
}
@Override
public Map<String, Object> getListModulAplikasi(Integer pegawaiId){
public Map<String, Object> getListModulAplikasi(Integer pegawaiId) {
Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> listModulAplikasi = loginUserDao.getListModulAplikasi(pegawaiId);
if(CommonUtil.isNotNullOrEmpty(listModulAplikasi)){
if (CommonUtil.isNotNullOrEmpty(listModulAplikasi)) {
result.put("listModulAplikasi", listModulAplikasi);
}
return result;
}
@Override
public List<Map<String, Object>> getListObjectModulAplikasi(Integer modulAplikasiId){
public List<Map<String, Object>> getListObjectModulAplikasi(Integer modulAplikasiId) {
List<Map<String, Object>> result = new ArrayList<>();
// 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"));
// if(CommonUtil.isNullOrEmpty(listObjectModul)){
// parent.put("link", objectModulHead.get("alamatUrlForm"));
// }
//
// List<Map<String, Object>> listChildren = new ArrayList<>();
// for(Map<String, Object> objectModul: listObjectModul){
// Map<String, Object> children = new HashMap<>();
//
// if(CommonUtil.isNotNullOrEmpty(objectModul)){
// children.put("name", objectModul.get("objekModulAplikasi"));
// children.put("link", objectModul.get("alamatUrlForm"));
// children.put("noUrut", objectModul.get("objekModulNoUrut"));
// }
// if(CommonUtil.isNotNullOrEmpty(children)){
// listChildren.add(children);
// }
// }
// if(CommonUtil.isNotNullOrEmpty(listChildren)){
// parent.put("children", listChildren);
// }
// }
// if(CommonUtil.isNotNullOrEmpty(parent)){
// result.add(parent);
// }
// }
// 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"));
// if(CommonUtil.isNullOrEmpty(listObjectModul)){
// parent.put("link", objectModulHead.get("alamatUrlForm"));
// }
//
// List<Map<String, Object>> listChildren = new ArrayList<>();
// for(Map<String, Object> objectModul: listObjectModul){
// Map<String, Object> children = new HashMap<>();
//
// if(CommonUtil.isNotNullOrEmpty(objectModul)){
// children.put("name", objectModul.get("objekModulAplikasi"));
// children.put("link", objectModul.get("alamatUrlForm"));
// children.put("noUrut", objectModul.get("objekModulNoUrut"));
// }
// if(CommonUtil.isNotNullOrEmpty(children)){
// listChildren.add(children);
// }
// }
// if(CommonUtil.isNotNullOrEmpty(listChildren)){
// parent.put("children", listChildren);
// }
// }
// if(CommonUtil.isNotNullOrEmpty(parent)){
// result.add(parent);
// }
// }
return result;
}
@Override
public Map<String, Object> saveUpdateLoginUser(LoginUserVO vo){
public Map<String, Object> saveUpdateLoginUser(LoginUserVO vo) {
Map<String, Object> result = new HashMap<>();
if(CommonUtil.isNotNullOrEmpty(vo)) {
if (CommonUtil.isNotNullOrEmpty(vo)) {
LoginUser loginUser = new LoginUser();
if(CommonUtil.isNotNullOrEmpty(vo.getId())) {
if (CommonUtil.isNotNullOrEmpty(vo.getId())) {
loginUser = setLoginUser(vo);
if(CommonUtil.isNotNullOrEmpty(loginUser)) {
if (CommonUtil.isNotNullOrEmpty(loginUser)) {
LoginUser loginUserResult = loginUserDao.save(loginUser);
result.put("namaUser", loginUserResult.getNamaUser());
result.put("statusError", "");
}
} else {
List<LoginUser> users = loginUserDao.findByNamaUser(vo.getNamaUser());
if(CommonUtil.isNotNullOrEmpty(users)) {
if (CommonUtil.isNotNullOrEmpty(users)) {
result.put("statusError", "Nama user sudah ada, silahkan input nama user lainya");
} else {
loginUser = setLoginUser(vo);
if(CommonUtil.isNotNullOrEmpty(loginUser)) {
if (CommonUtil.isNotNullOrEmpty(loginUser)) {
LoginUser loginUserResult = loginUserDao.save(loginUser);
result.put("namaUser", loginUserResult.getNamaUser());
result.put("statusError", "");
@ -544,34 +534,40 @@ public class LoginUserServiceImpl extends BaseVoServiceImpl implements LoginUser
public LoginUser setLoginUser(LoginUserVO vo) {
LoginUser loginUser;
if(CommonUtil.isNotNullOrEmpty(vo.getId())) {
if (CommonUtil.isNotNullOrEmpty(vo.getId())) {
loginUser = loginUserDao.findOne(vo.getId());
} else {
loginUser = loginUserConverter.transferVOToModel(vo, new LoginUser());
}
if(CommonUtil.isNotNullOrEmpty(vo)){
if (CommonUtil.isNotNullOrEmpty(vo)) {
loginUser.setKdProfile((short) 0);
loginUser.setStatusEnabled(true);
loginUser.setKodeExternal("");
}
if(CommonUtil.isNotNullOrEmpty(vo.getNamaUser())) {
if (CommonUtil.isNotNullOrEmpty(vo.getNamaUser())) {
loginUser.setNamaUser(vo.getNamaUser());
loginUser.setNamaExternal(vo.getNamaUser());
loginUser.setReportDisplay(vo.getNamaUser());
}
if(CommonUtil.isNotNullOrEmpty(vo.getKelompokUser())){
loginUser.setKelompokUser(kelompokUserConverter.transferVOToModel(vo.getKelompokUser(), new KelompokUser()));
if (CommonUtil.isNotNullOrEmpty(vo.getKelompokUser())) {
loginUser
.setKelompokUser(kelompokUserConverter.transferVOToModel(vo.getKelompokUser(), new KelompokUser()));
}
if(CommonUtil.isNotNullOrEmpty(vo.getKataSandi())){
if (CommonUtil.isNotNullOrEmpty(vo.getKataSandi())) {
try {
loginUser.setKataSandi(new PasswordUtil().encryptPassword(vo.getKataSandi()));
} catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
e.printStackTrace();
}
}
if(CommonUtil.isNotNullOrEmpty(vo.getPegawai())){
if (CommonUtil.isNotNullOrEmpty(vo.getPegawai())) {
loginUser.setPegawai(pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai()));
}
return loginUser;
}
@Override
public boolean accessGranted(LoginUser loginUser, List<Integer> listIdPegawai) {
return listIdPegawai.contains(loginUser.getPegawai().getId());
}
}

View File

@ -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 -> {

View File

@ -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);
}