ROLE_TASK_ADMIN 권한이 있으면 모든 업무시스템의 메인화면 이동가능하도록 수정

main
이범준 12 months ago
parent 44ef470e8a
commit ab9828a3af

@ -128,6 +128,9 @@ public class UserController extends cokr.xit.base.user.web.UserController<FimsUs
return false;
}).toList();
boolean hasTaskAuth = !user_taskList.isEmpty();
if(userInfo.hasAuthorities("ROLE_TASK_ADMIN")) {
hasTaskAuth = true;
}
userInfo.getInfo().put("hasTaskAuth", hasTaskAuth);

@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
@ -87,16 +88,19 @@ public class StngBean extends AbstractBean {
public void initUserInfo(SecuredUserInfo userInfo) {
boolean isAdmin = userInfo.isAdmin();
//모든 업무
List<String> taskList = codeBean.getCodeList((new CodeQuery()).setGroupIDs("FIM054"))
.stream().map(item -> item.string("CODE")).toList();
//사용가능한 업무
List<String> availableTaskList = new ArrayList<>();
if(userInfo.getInstitute().equals("ADMIN00")) { //최고관리자
availableTaskList = taskList;
} else if(isAdmin) { //관리자
} else if(isAdmin) { //시스템 관리자
Map<String, Object> info = userInfo.getInfo();
if(info == null || info.get("sggCd") == null || info.get("sggCd").equals("")) {
ogdpBean.initUserInfo(userInfo);
@ -105,7 +109,7 @@ public class StngBean extends AbstractBean {
availableTaskList = taskBean.getTasks((new CmmnQuery()).setSggCd((String)userInfo.getInfo().get("sggCd")).setUseYn("Y"))
.stream().map(item -> item.string("TASK_SE_CD")).toList();
} else { //일반사용자
} else { //업무관리자,업무사용자,일반사용자
List<Authority> authorities = userInfo.getAuthorities();
@ -113,18 +117,18 @@ public class StngBean extends AbstractBean {
for(Authority authority : authorities) {
String authId = authority.getId();
for(int i=0; i<taskList.size(); i++) {
String task = taskList.get(i);
if(authId.contains(task)) {
if(!availableTaskList.contains(task)) {
availableTaskList.add(task);
}
for(String task : taskList) {
if(authId.equals("ROLE_TASK_ADIMN") || authId.contains(task)) {
availableTaskList.add(task);
}
}
}
}
}
//사용가능한 업무 목록 중복 제거
availableTaskList = availableTaskList.stream().distinct().collect(Collectors.toList());
//계정별 사용가능 업무
userInfo.getInfo().put("taskForUser", availableTaskList);

Loading…
Cancel
Save