From 6f466b7a9a83d4547966ef0ac44bc1c5e6dbcfcf Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 일, 05 12월 2021 13:59:53 +0900 Subject: [PATCH] 이슈상세페이지 - 하위이슈 리스트 안나오는 문제 해결 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 26 ++++++-- src/main/java/kr/wisestone/owl/vo/IssueVo.java | 17 +++++ src/main/java/kr/wisestone/owl/vo/IssueDownVo.java | 93 +++++++++++++++++++++++++++++++ src/main/webapp/scripts/app/issue/issueDetail.controller.js | 3 4 files changed, 132 insertions(+), 7 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 f3aeac1..6c786e3 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -1021,9 +1021,25 @@ // �븯�쐞 �씠�뒋 �젙蹂대�� �뀑�똿�븳�떎 private void setDownIssues(Issue issue, IssueVo issueVo) { List<Issue> downIssues = this.issueRepository.findByParentIssueId(issue.getId()); + /*if(issueVo != null && downIssues.size()>0){ + for(Issue downIssue : downIssues){ + IssueVo downIssueVo = ConvertUtil.copyProperties(downIssue, IssueVo.class); + IssueDownVo issueDownVo = ConvertUtil.copyProperties(downIssueVo, IssueDownVo.class); + issueDownVo.setIssueDown(downIssueVo); + issueDownVo.setTitle(downIssue.getTitle()); + issueDownVo.setIssueTypeVo(ConvertUtil.copyProperties(downIssue.getIssueType(), IssueTypeVo.class)); + issueDownVo.setPriorityVo(ConvertUtil.copyProperties(downIssue.getPriority(), PriorityVo.class)); + issueDownVo.setSeverityVo(ConvertUtil.copyProperties(downIssue.getSeverity(), SeverityVo.class)); + this.setRegister(downIssue, downIssueVo); // �벑濡앹옄 + this.setIssueDepartment(downIssue, downIssueVo); // �떞�떦遺��꽌 �젙蹂� �뀑�똿 + this.setIssueCustomFields(downIssue, downIssueVo); // �궗�슜�옄�젙�쓽�븘�뱶 �젙蹂� �꽭�똿 + issueVo.addIssueDownVo(issueDownVo); + } + }*/ + List<IssueVo> downIssueVos = ConvertUtil.convertObjectsToClasses(downIssues, IssueVo.class); List<IssueVo> resultList = new ArrayList<>(); - if(downIssues != null && downIssueVos.size()>0){ + if(downIssueVos != null && downIssueVos.size()>0){ for(IssueVo downIssueVo : downIssueVos){ for(Issue downIssue : downIssues){ downIssueVo.setIssueTypeVo(ConvertUtil.copyProperties(downIssue.getIssueType(), IssueTypeVo.class)); @@ -1035,9 +1051,7 @@ } resultList.add(downIssueVo); } - issueVo.setIssueDownVos(resultList); //�봽濡좏듃�뿉�꽌 List�삎�깭濡� 諛쏆븘以섏꽌 由ъ뒪�듃 �삎�떇�쑝濡� 蹂대궡以� - }else{ - issueVo.setIssueDownVos(null); + issueVo.setIssueDownVos(resultList); } } @@ -2942,7 +2956,7 @@ StringBuilder sb = new StringBuilder(); Issue parentIssue = issue.getParentIssue(); //蹂�寃� �쟾 �븯�쐞�씠�뒋�쓽 �긽�쐞�씠�뒋 - if(parentIssue != null){ //蹂�寃� �쟾 �븯�쐞�씠�뒋�쓽 �긽�쐞�씠�뒋媛� 議댁옱 �븷 寃쎌슦 + if(parentIssue != null && parentIssue.getId().equals(newParentIssueId)){ //蹂�寃� �쟾 �븯�쐞�씠�뒋�쓽 �긽�쐞�씠�뒋媛� 議댁옱 �븷 寃쎌슦 this.issueHistoryService.detectDownIssues(IssueHistoryType.DELETE, issue, sb); this.issueHistoryService.addIssueHistory(parentIssue, IssueHistoryType.MODIFY, sb.toString()); } @@ -2951,7 +2965,7 @@ parentIssue = this.getIssue(newParentIssueId); //�긽�쐞�씠�뒋(myIssue) issue.setParentIssue(parentIssue); //myIssue瑜� �븯�쐞�씠�뒋�쓽 �긽�쐞�씠�뒋濡� set this.issueHistoryService.detectDownIssues(IssueHistoryType.ADD, issue, sb); //issue = �븯�쐞�씠�뒋 - } else { + } else{ // �궘�젣 �븷 寃쎌슦 this.issueHistoryService.detectDownIssues(IssueHistoryType.DELETE, issue, sb); issue.setParentIssue(null); diff --git a/src/main/java/kr/wisestone/owl/vo/IssueDownVo.java b/src/main/java/kr/wisestone/owl/vo/IssueDownVo.java new file mode 100644 index 0000000..68de22d --- /dev/null +++ b/src/main/java/kr/wisestone/owl/vo/IssueDownVo.java @@ -0,0 +1,93 @@ +package kr.wisestone.owl.vo; + +import com.google.common.collect.Lists; + +import java.util.List; + +public class IssueDownVo extends BaseVo { + private Long id; + private IssueVo issue; + private IssueVo issueDown; + private String title; + + private IssueTypeVo issueTypeVo; // �씠�뒋 �긽�꽭�뿉�꽌 �궗�슜 + private PriorityVo priorityVo; // �씠�뒋 �긽�꽭�뿉�꽌 �궗�슜 + private SeverityVo severityVo; // �씠�뒋 �긽�꽭�뿉�꽌 �궗�슜 + private UserVo registerVo; // �씠�뒋 �긽�꽭�뿉�꽌 �궗�슜 + private List<DepartmentVo> departmentVos = Lists.newArrayList(); //�떞�떦遺��꽌 + private Boolean modifyPermissionCheck = Boolean.FALSE; + + public IssueDownVo() {} + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public IssueVo getIssue() { return issue; } + + public void setIssue(IssueVo issue) { this.issue = issue; } + + public IssueVo getIssueDown() { + return issueDown; + } + + public void setIssueDown(IssueVo issueDown) { + this.issueDown = issueDown; + } + + public String getTitle() { return this.title; } + + public void setTitle(String title) { this.title = title; } + + public IssueTypeVo getIssueTypeVo() { + return issueTypeVo; + } + + public void setIssueTypeVo(IssueTypeVo issueTypeVo) { + this.issueTypeVo = issueTypeVo; + } + + public PriorityVo getPriorityVo() { + return priorityVo; + } + + public void setPriorityVo(PriorityVo priorityVo) { + this.priorityVo = priorityVo; + } + + public SeverityVo getSeverityVo() { + return severityVo; + } + + public void setSeverityVo(SeverityVo severityVo) { + this.severityVo = severityVo; + } + + public UserVo getRegisterVo() { + return registerVo; + } + + public void setRegisterVo(UserVo registerVo) { + this.registerVo = registerVo; + } + + public List<DepartmentVo> getDepartmentVos() { + return departmentVos; + } + + public void setDepartmentVos(List<DepartmentVo> departmentVos) { + this.departmentVos = departmentVos; + } + + public Boolean getModifyPermissionCheck() { + return modifyPermissionCheck; + } + + public void setModifyPermissionCheck(Boolean modifyPermissionCheck) { + this.modifyPermissionCheck = modifyPermissionCheck; + } +} diff --git a/src/main/java/kr/wisestone/owl/vo/IssueVo.java b/src/main/java/kr/wisestone/owl/vo/IssueVo.java index 7d84a23..83daa76 100644 --- a/src/main/java/kr/wisestone/owl/vo/IssueVo.java +++ b/src/main/java/kr/wisestone/owl/vo/IssueVo.java @@ -45,6 +45,7 @@ private List<IssueTypeCustomFieldVo> issueTypeCustomFieldVos = Lists.newArrayList(); private List<IssueCustomFieldValueVo> issueCustomFieldValueVos = Lists.newArrayList(); private List<IssueRelationVo> issueRelations = Lists.newArrayList(); + //private List<IssueDownVo> issueDownVos = Lists.newArrayList(); private List<IssueVo> issueDownVos = Lists.newArrayList(); private List<IssueVo> issueRelationVos = Lists.newArrayList(); private Long attachedFileCount; @@ -402,6 +403,14 @@ this.issueRelations.add(issueRelationVo); } + /*public void addIssueDownVo(IssueDownVo issueDownVo) { + if (this.issueDownVos == null){ + this.issueDownVos = new ArrayList<>(); + } + + this.issueDownVos.add(issueDownVo); + }*/ + public List<IssueVo> getIssueRelationIssueVos() { return this.issueRelationVos; } public void setIssueRelationIssueVos(List<IssueVo> issueRelationVos) { this.issueRelationVos = issueRelationVos; } @@ -414,6 +423,14 @@ this.departmentVos = departmentVos; } + /*public List<IssueDownVo> getIssueDownVos() { + return issueDownVos; + } + + public void setIssueDownVos(List<IssueDownVo> issueDownVos) { + this.issueDownVos = issueDownVos; + }*/ + public List<IssueVo> getIssueDownVos() { return issueDownVos; } diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js index deb92af..61dbd50 100644 --- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js +++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js @@ -870,7 +870,8 @@ // �븯�쐞 �씠�뒋 諛섎ぉ臾� if (result.data.data.issueDownVos !== null){ angular.forEach(result.data.data.issueDownVos, function (issueDownVo){ - $scope.vm.form.issuesDown.push(issueDownVo.issue); + //$scope.vm.form.issuesDown.push(issueDownVo.issueDown); + $scope.vm.form.issuesDown.push(issueDownVo); }); } $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos; -- Gitblit v1.8.0