OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-24 dbcc95475a37625a8ba03ee8037df7e0871f7a9d
src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -33,6 +33,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Service
public class IssueTypeServiceImpl extends AbstractServiceImpl<IssueType, Long, JpaRepository<IssueType, Long>> implements IssueTypeService {
@@ -185,6 +186,8 @@
    public List<IssueTypeVo> findIssueType(Map<String, Object> resJsonData,
                                           IssueTypeCondition condition, Pageable pageable) {
        List<Long> downProjectIds = Lists.newArrayList();
        condition.setPage(pageable.getPageNumber() * pageable.getPageSize());
        condition.setPageSize(pageable.getPageSize());
        condition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
@@ -261,13 +264,20 @@
        }
    }
    //  이슈 유형에 프로젝트ID로 조회
    public List<IssueType> findByProjectId(Long projectId) {
        return this.issueTypeRepository.findByProjectId(projectId);
    }
    private void setUseIssueTypeByIssueStatus(List<IssueTypeVo> issueTypeVos) {
        for (IssueTypeVo issueTypeVo : issueTypeVos) {
            IssueType issueType = this.getIssueType(issueTypeVo.getId());
            IssueStatus issueStatus = issueType.getIssueStatus();
            if (issueStatus != null) {
                issueTypeVo.setCompleteIssueStatusVo(ConvertUtil.copyProperties(issueType.getIssueStatus(), IssueStatusVo.class));
            Set<IssueTypeApiEndStatus> issueTypeApiEndStatuses = issueType.getIssueTypeApiEndStatuses();
            if (issueTypeApiEndStatuses != null && issueTypeApiEndStatuses.size() > 0) {
                IssueTypeApiEndStatus issueTypeApiEndStatus = issueTypeApiEndStatuses.iterator().next();
                issueTypeVo.setCompleteIssueStatusVo(ConvertUtil.copyProperties(issueTypeApiEndStatus.getIssueStatus(), IssueStatusVo.class));
            }
        }
    }
@@ -318,26 +328,6 @@
        }
        resJsonData.put(Constants.RES_KEY_CONTENTS, issueTypeVo);
    }
    // 이슈 유형을 수정한다. 자동 종료 설정만 수정
    @Override
    @Transactional
    public IssueType modifyIssueTypeCompleteIssueStatus(IssueTypeForm issueTypeForm) {
        //  사용하고 있는 업무 공간이 활성 상태인지 확인한다. 사용 공간에서 로그인한 사용자가 비활성인지 확인한다.
        this.workspaceService.checkUseWorkspace();
        IssueType issueType = this.getIssueType(issueTypeForm.getId());
        if (issueTypeForm.getCompleteIssueStatusId() != null) {
            // api에서 사용하는 자동 종료 이슈 상태
            IssueStatus issueStatus = this.issueStatusService.getIssueStatus(issueTypeForm.getCompleteIssueStatusId());
            issueType.setIssueStatus(issueStatus);
        }else {
            issueType.setIssueStatus(null);
        }
        this.issueTypeRepository.saveAndFlush(issueType);
        return issueType;
    }
    //  이슈 유형을 수정한다.