OWL ITS + 탐지시스템(인터넷 진흥원)
- api 이슈 추가시 종료 상태인 상위 이슈에도 추가가 되도록 수정
- 종료 처리된 상위이슈에 하위이슈로 추가 될 경우 상위 이슈를 자동으로 대기 상태로 변경하도록 수정
1개 파일 변경됨
18 ■■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java 18 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -311,7 +311,7 @@
                    issueApiForm.addUseIssueCustomFieldId(customFieldApiOverlap.getCustomField().getId());
                }
                // 종료상태가 아닌 중복된 상위 이슈검색
                // 중복된 상위 이슈검색
                List<Issue> issues = this.findIssue(issueApiForm, customFieldApiOverlaps, user.getId());
                int size = issues.size();
                if (size > 0) {
@@ -468,7 +468,7 @@
            issueCustomFieldValueCondition.setUseValue(concatUseValue);
            issueCustomFieldValueCondition.setUseValues(userValues);
            issueCustomFieldValueCondition.setIssueTypeId(issueApiform.getIssueTypeId());
            issueCustomFieldValueCondition.setIssueStatusType("CLOSE");
//            issueCustomFieldValueCondition.setIssueStatusType("CLOSE");
            List<Map<String, Object>> results = this.issueMapper.findByCustomFieldValue(issueCustomFieldValueCondition);
            if (results != null && results.size() > 0) {
                for (Map<String, Object> result : results) {
@@ -523,6 +523,12 @@
        if (issueForm.getParentIssueId() != null){
            Issue parentIssue = this.getIssue(issueForm.getParentIssueId());
            issue.setParentIssue(parentIssue);
            // 상위 이슈가 종료일경우 대기로 변경
            IssueStatus parentIssueStatus = parentIssue.getIssueStatus();
            if (parentIssueStatus.getIssueStatusType().equals(IssueStatusType.CLOSE)) {
                parentIssue.setIssueStatus(issueStatus);
            }
        }
        issue.setIssueNumber(this.issueNumberGeneratorService.generateIssueNumber(project));    //  각 프로젝트의 고유 이슈 번호 생성
@@ -3191,7 +3197,7 @@
            //  이슈 담당자 벌크 등록
            this.bulkInsertIssueAssignee(issueForms, workspace);
            //  0.361 - 0.705
            //  1.816
            /*StopWatch serviceStart = new StopWatch();
            serviceStart.start();*/
@@ -3229,7 +3235,7 @@
                issueCompany.setCompanyField(companyField);
                issueCompany.setIssue(issue);
                this.issueCompanyRepository.saveAndFlush(issueCompany);
                //  사용자가 ISP를 직접 입력하지 않았을 경우 업체에 등록되어있는 ISP 설정 
                if (issueForm.getIssueIspFields() == null || issueForm.getIssueIspFields().size() < 1) {
                    //  업체의 ISP가 있는 경우 issueISP 등록
@@ -3373,7 +3379,7 @@
                issueCustomField.put("registerId", this.webAppUtil.getLoginId());
                issueCustomFieldValueMaps.add(issueCustomField);
            }
            //  엑셀에 업체명을 입력하지 않았을 경우 같은 도메인 업체 찾기
            if (issueForm.getIssueCompanyFields() == null || issueForm.getIssueCompanyFields().size() < 1) {
                // 같은 도메인 업체 찾기
@@ -3712,7 +3718,7 @@
                issueForm.setStartDate(DateUtil.convertDateToStr(startDate, "yyyy-MM-dd"));
            } else {
                issueForm.setCompleteDate(DateUtil.convertDateToStr(startDate, "yyyy-MM-dd"));
                //  종료일만 입력 했을 경우
                if (issueForm.getCompleteDate() != null && issueForm.getStartDate() == null) {
                    throw new OwlRuntimeException(