OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2021-12-05 43a8e9281c71f21b0e683e63def386d1ec0209bd
src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java
@@ -9,8 +9,10 @@
import kr.wisestone.owl.service.*;
import kr.wisestone.owl.util.CommonUtil;
import kr.wisestone.owl.util.ConvertUtil;
import kr.wisestone.owl.vo.DepartmentVo;
import kr.wisestone.owl.vo.ResPage;
import kr.wisestone.owl.vo.UserWorkspaceVo;
import kr.wisestone.owl.web.condition.UserCondition;
import kr.wisestone.owl.web.condition.UserWorkspaceCondition;
import kr.wisestone.owl.web.form.UserWorkspaceForm;
import org.slf4j.Logger;
@@ -40,7 +42,7 @@
    private UserLevelService userLevelService;
    @Autowired
    private DepartmentManageService departmentManageService;
    private DepartmentService departmentService;
    @Autowired
    private UserWorkspaceMapper userWorkspaceMapper;
@@ -91,6 +93,16 @@
        for (UserWorkspaceVo userWorkspaceVo : userWorkspaceVos) {
            userWorkspaceVo.setAccount(CommonUtil.decryptAES128(userWorkspaceVo.getAccount()));
            // UserCondition 는 원래 userId 가 없었다.
            UserCondition con = new UserCondition();
            // 그래서 Condition에 추가 해주고 set 하는데 그건 userWorkspaceVo 에서 Id 를 가져온다
            con.setId(userWorkspaceVo.getUserId());
            // findByDepartmentIds 라는걸 mapper로 만들어서 쿼리 for문을 돌리고 us
            List<Map<String, Object>> re = this.departmentService.findByDepartmentIds(con);
            List<DepartmentVo> vos = ConvertUtil.convertListToListClass(re, DepartmentVo.class);
            userWorkspaceVo.setDepartmentVos(vos);
        }
        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
@@ -106,24 +118,24 @@
    public void modifyUserWorkspace(UserWorkspaceForm userWorkspaceForm) {
        UserWorkspace userWorkspace = this.getUserWorkspace(userWorkspaceForm.getId());
        UserLevel currentUserlevel = userWorkspace.getUser().getUserLevel();
        User user = userWorkspace.getUser();
        // 사용자 등급 변경
        UserLevel currentUserlevel = user.getUserLevel();
        if (currentUserlevel.getId() != userWorkspaceForm.getLevelId()) {
            // 사용자 등급 변경시
            User user = userWorkspace.getUser();
            UserLevel userLevel = this.userLevelService.getUserLevel(userWorkspaceForm.getLevelId());
            user.setUserLevel(userLevel);
            userWorkspace.setUser(user);
        }
        //todo 부서 변경시
        DepartmentManage currentDepartment = userWorkspace.getUser().getDepartmentManage();
        if (currentDepartment.getId() != userWorkspaceForm.getDepartmentId()) {
            // 부서명 변경시
            User user = userWorkspace.getUser();
            DepartmentManage departmentManage = this.departmentManageService.getDepartment(userWorkspaceForm.getLevelId());
            user.setDepartmentManage(departmentManage);
            userWorkspace.setUser(user);
        }
        // 부서 변경
//        DepartmentManage currentDepartment = user.getDepartmentManage();
//        if (currentDepartment == null || (userWorkspaceForm.getDepartmentId() != null && currentDepartment.getId() != userWorkspaceForm.getDepartmentId())) {
//            // 부서명 변경시
//            DepartmentManage departmentManage = this.departmentService.getDepartment(userWorkspaceForm.getDepartmentId());
//            user.setDepartmentManage(departmentManage);
//            userWorkspace.setUser(user);
//        }
        //  참여로 상태를 변경하려고 할때
        if (userWorkspace.getUseYn() != userWorkspaceForm.getUseYn()) {
@@ -137,7 +149,7 @@
                            this.messageAccessor.getMessage(MsgConstants.WORKSPACE_MAX_USER_EXCESS_NOT_INCLUDE));
                }
            } else {
                User user = userWorkspace.getUser();
                user = userWorkspace.getUser();
                //  참여 대기 사용자가 현재 해당 업무 공간을 사용하고 있을 경우 즉시 해당 업무 공간에서 튕기게 한다.
                if (user.getLastWorkspaceId().equals(userWorkspace.getWorkspace().getId())) {
                    //  업무 공간에 참여하던 사용자에게 제외 알림 및 화면 새로고침
@@ -226,15 +238,14 @@
    //  업무 공간 담당자 여부를 확인한다.
    @Override
    @Transactional(readOnly = true)
    public boolean checkWorkspaceManager() {
    public boolean checkWorkspaceManager(User user) {
        boolean bIsManager = false;
        User loginUser = this.userService.getUser(this.webAppUtil.getLoginId());
        try
        {
            Workspace workspace = this.workspaceService.getWorkspace(loginUser.getLastWorkspaceId());   //  현재 접속한 업무 공간
            Workspace workspace = this.workspaceService.getWorkspace(user.getLastWorkspaceId());   //  현재 접속한 업무 공간
            //  로그인한 사용자가 관리하는 업무 공간을 찾는다.
            UserWorkspace userWorkspace = this.findMyWorkspace(this.webAppUtil.getLoginId());
            UserWorkspace userWorkspace = this.findMyWorkspace(user.getId());
            bIsManager = workspace.getId().equals(userWorkspace.getWorkspace().getId());
        }
@@ -271,4 +282,5 @@
            this.userWorkspaceRepository.saveAll(userWorkspaces);
        }
    }
}