From da08346c769258b6102cb4fe5348dc164ea2f3f7 Mon Sep 17 00:00:00 2001 From: jhjang <jhjang@maprex.co.kr> Date: 일, 12 12월 2021 17:40:31 +0900 Subject: [PATCH] - 연관 이슈 추가 안되는 오류 수정 - 연관 이슈 추가 후 목록 안뜨는 문제 수정 - 이슈 목록 트리 구조 보기 기능 추가 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 76 +++++++++++++++++++++---------------- 1 files changed, 43 insertions(+), 33 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index d3c4f10..7f68b4e 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -1,7 +1,6 @@ package kr.wisestone.owl.service.impl; import com.google.common.collect.Lists; -import com.sun.org.apache.bcel.internal.generic.NEW; import kr.wisestone.owl.common.ExcelConditionCheck; import kr.wisestone.owl.common.IssueCustomFieldValueFormComparator; import kr.wisestone.owl.config.CommonConfiguration; @@ -211,23 +210,16 @@ Workflow workflow = issueType.getWorkflow(); - // �씠�뒋 �긽�깭媛� 吏��젙�릺�뼱 �엳吏� �븡�쓣 寃쎌슦 珥덇린媛믪쑝濡� 吏��젙 - if (issueApiForm.getIssueStatusId() == null) { - List<IssueStatusVo> issueStatusVos = issueStatusService.findByWorkflowId(workflow.getId()); - IssueStatusVo issueStatusVo = issueStatusVos.get(0); - issueApiForm.setIssueStatusId(issueStatusVo.getId()); - } - - // �썙�겕�뵆濡쒖슦 �긽�깭�뿉 �뵲瑜� �떞�떦遺��꽌 媛��졇�삤湲� - if (issueApiForm.getIssueStatusId() != null) { - WorkflowDepartmentCondition workflowDepartmentCondition = new WorkflowDepartmentCondition(); - workflowDepartmentCondition.setIssueStatusId(issueApiForm.getIssueStatusId()); - workflowDepartmentCondition.setWorkflowId(workflow.getId()); - List<WorkflowDepartmentVo> workflowDepartmentVos = this.workflowDepartmentService.find(workflowDepartmentCondition); - - for (WorkflowDepartmentVo workflowDepartmentVo : workflowDepartmentVos) { - issueForm.addDepartmentId(workflowDepartmentVo.getDepartmentVo().getId()); + if (issueApiForm.getApiType().equals(IssueApiForm.ApiType.add)) { + // �씠�뒋 �긽�깭媛� 吏��젙�릺�뼱 �엳吏� �븡�쓣 寃쎌슦 �썙�겕�뵆濡쒖슦 ��湲� �긽�깭 媛믪쑝濡� 吏��젙 + List<Long> departmentIds = this.workflowDepartmentService.findFirstDepartmentIds(workflow); + if (departmentIds != null && departmentIds.size() > 0) { + for (Long departmentId : departmentIds) { + issueForm.addDepartmentId(departmentId); + } } + } else if (issueApiForm.getIssueStatusId() == null){ + throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.API_ISSUE_STATUS_NOT_EXIST)); } // �봽濡쒖젥�듃 �엯�젰 @@ -788,11 +780,11 @@ // Map �뿉 �엳�뒗 �뜲�씠�꽣瑜� IssueVo �뜲�씠�꽣濡� 蹂��솚�븳�떎. this.setMapToIssueVo(results, issueVos, issueCondition, user); -// if (issueCondition.getTree()) { - this.setDownIssues(issueVos); + if (issueCondition.getTree()) { + this.setDownIssues(user, issueVos); this.setRelationIssues(issueVos); -// } - this.setCountDownIssues(results, issueVos); + } + this.setCountDownIssues(issueVos); this.SetWorkflowDepartment(issueVos); //�썙�겕�뵆濡쒖슦�뿉 �꽕�젙�븳 �떞�떦遺��꽌 媛��졇�삤湲� @@ -806,13 +798,35 @@ } - // �븯�쐞 �씠�뒋 �꽭�똿 - private void setDownIssues(List<IssueVo> issueVos) { + // �븯�쐞 �씠�뒋 �꽭�똿(�옱洹�) + private void setDownIssues(User user, List<IssueVo> issueVos) { for(IssueVo issueVo : issueVos) { List<Issue> downIssues = this.issueRepository.findByParentIssueId(issueVo.getId()); + List<IssueVo> downIssueVos = Lists.newArrayList(); + IssueCondition issueCondition = new IssueCondition(); + issueCondition.addIssueIds(String.valueOf(issueVo.getId())); + for(Issue downIssue : downIssues){ - issueVo.addIssueDownVo(ConvertUtil.copyProperties(downIssue, IssueVo.class)); + IssueVo addIssueVo = ConvertUtil.copyProperties(downIssue, IssueVo.class); + addIssueVo.setIssueTypeId(downIssue.getIssueType().getId()); + downIssueVos.add(addIssueVo); + } + issueVo.setIssueDownVos(downIssueVos); + if (downIssueVos.size() > 0) { + this.setDownIssues(user, downIssueVos); + } + + // �씠�뒋 �궗�슜�옄 �젙蹂� 異붽� + //this.setIssueUserList(issueVos, issueCondition); + this.setIssueDepartmentList(issueVos, issueCondition, user); + // �벑濡앹옄 �젙蹂� 異붽� + this.setRegister(issueVos); // �떞�떦�옄 �젙蹂� �뀑�똿 + + // �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂� 異붽� + this.setIssueCustomFieldValue(issueVos, issueCondition); + + this.SetWorkflowDepartment(issueVos); //�썙�겕�뵆濡쒖슦�뿉 �꽕�젙�븳 �떞�떦遺��꽌 媛��졇�삤湲� } } @@ -828,9 +842,9 @@ @Override @Transactional(readOnly = true) - public void setCountDownIssues(List<Map<String, Object>> results, List<IssueVo> issueVos) { - for (Map<String, Object> result : results){ - List<Issue> downIssues = this.issueRepository.findByParentIssueId((Long) result.get("id")); //�븯�쐞�씠�뒋 媛��졇�삤湲� + public void setCountDownIssues(List<IssueVo> issueVos) { + for (IssueVo issueVo : issueVos){ + List<Issue> downIssues = this.issueRepository.findByParentIssueId(issueVo.getId()); //�븯�쐞�씠�뒋 媛��졇�삤湲� if(downIssues != null && downIssues.size() > 0){ //�긽�쐞�씠�뒋 媛�吏�怨� �엳�뒗 �븷�뱾�씠 �엳�쑝硫� int downIssueAllCount = 0;// �븯�쐞�씠�뒋 �쟾泥� 移댁슫�듃 int downIssueCount = 0;// �븯�쐞�씠�뒋 誘몄셿猷� 移댁슫�듃 @@ -849,12 +863,8 @@ downIssueCount ++; } - for(IssueVo issueVo : issueVos){ - if(issueVo.getId().equals(parentIssueVo.getId())){ - issueVo.setDownIssueCount(downIssueCount); - issueVo.setDownIssueAllCount(parentIssueVo.getDownIssueAllCount()); - } - } + issueVo.setDownIssueCount(downIssueCount); + issueVo.setDownIssueAllCount(parentIssueVo.getDownIssueAllCount()); } } } -- Gitblit v1.8.0