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