OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-19 fd569a1654c1aacc1228d0650cd4b0dd90748328
src/main/java/kr/wisestone/owl/service/impl/DepartmentServiceImpl.java
@@ -1,11 +1,9 @@
package kr.wisestone.owl.service.impl;
import kr.wisestone.owl.domain.Department;
import kr.wisestone.owl.domain.UserDepartment;
import kr.wisestone.owl.domain.UserLevel;
import kr.wisestone.owl.domain.*;
import kr.wisestone.owl.mapper.DepartmentMapper;
import kr.wisestone.owl.service.UserDepartmentService;
import kr.wisestone.owl.service.UserService;
import kr.wisestone.owl.service.*;
import kr.wisestone.owl.util.CommonUtil;
import kr.wisestone.owl.web.condition.DepartmentCondition;
import kr.wisestone.owl.web.condition.UserCondition;
import kr.wisestone.owl.web.form.DepartmentForm;
@@ -13,6 +11,7 @@
import org.jsoup.Jsoup;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.Model;
import com.google.common.collect.Lists;
import kr.wisestone.owl.common.ExcelConditionCheck;
@@ -20,8 +19,6 @@
import kr.wisestone.owl.constant.MsgConstants;
import kr.wisestone.owl.exception.OwlRuntimeException;
import kr.wisestone.owl.repository.DepartmentRepository;
import kr.wisestone.owl.service.DepartmentService;
import kr.wisestone.owl.service.WorkspaceService;
import kr.wisestone.owl.util.ConvertUtil;
import kr.wisestone.owl.vo.*;
import kr.wisestone.owl.web.view.ExcelView;
@@ -52,6 +49,12 @@
    @Autowired
    private UserDepartmentService userDepartmentService;
    @Autowired
    private ProjectRoleDepartmentService projectRoleDepartmentService;
    @Autowired
    private ProjectRoleService projectRoleService;
    @Autowired
    private WorkspaceService workspaceService;
@@ -127,6 +130,32 @@
        this.departmentRepository.flush();
    }
    //  프로젝트에 참여하는 부서 정보를 조회한다.
    @Override
    @Transactional(readOnly = true)
    public List<Map<String, Object>> findProjectDepartment(Project project) {
        DepartmentCondition departmentCondition = new DepartmentCondition();
        departmentCondition.setProjectId(project.getId());
        return this.departmentMapper.findProjectDepartment(departmentCondition);
    }
    //  프로젝트에 참여하는 부서 목록을 가져온다.
    @Override
    @Transactional(readOnly = true)
    public void findProjectDepartment(Map<String, Object> resJsonData, DepartmentCondition departmentCondition) {
        ProjectRole projectRole = this.projectRoleService.findByProjectIdAndRoleType(departmentCondition.getProjectId(), ProjectRole.TYPE_DEFAULT);
        List<ProjectRoleDepartment> projectRoleDepartments = this.projectRoleDepartmentService.findByProjectRoleId(projectRole.getId());
        List<DepartmentVo> departmentVos = Lists.newArrayList();
        for (ProjectRoleDepartment projectRoleDepartment : projectRoleDepartments) {
            DepartmentVo departmentVo = ConvertUtil.copyProperties(projectRoleDepartment.getDepartment(), DepartmentVo.class);
            departmentVo.setByName(departmentVo.getDepartmentName());
            departmentVos.add(departmentVo);
        }
        resJsonData.put(Constants.RES_KEY_CONTENTS, departmentVos);
    }
    // 부서 목록을 엑셀로 다운로드 한다.
    @Override