src/main/java/kr/wisestone/owl/service/IssueService.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/java/kr/wisestone/owl/vo/IssueVo.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/scripts/app/issue/issueList.controller.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 |
src/main/java/kr/wisestone/owl/service/IssueService.java
@@ -92,4 +92,6 @@ void findPartner(Map<String, Object> resJsonData, Map<String, Object> params); void findApiIssue(ApiMonitorCondition apiMonitorCondition, Map<String, Object> resJsonData); void setCountDownIssues(List<Map<String, Object>> results, List<IssueVo> issueVos); } src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -732,21 +732,33 @@ return issueVos; } private void setCountDownIssues(List<Map<String, Object>> results, List<IssueVo> issueVos) { @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")); //하위이슈 가져오기 if(downIssues != null && downIssues.size() > 0){ //상위이슈 가지고 있는 애들이 있으면 int downIssueCount = 0; int downIssueAllCount = 0;// 하위이슈 전체 카운트 int downIssueCount = 0;// 하위이슈 미완료 카운트 for(Issue downIssue : downIssues){ downIssueCount ++; downIssueAllCount ++; Long parentIssueId = downIssue.getParentIssue().getId(); Issue parentIssue = this.getIssue(parentIssueId); IssueVo parentIssueVo = ConvertUtil.copyProperties(parentIssue, IssueVo.class); parentIssueVo.setDownIssueCount(downIssueCount); parentIssueVo.setDownIssueAllCount(downIssueAllCount); IssueStatus downIssueStatus = this.issueStatusService.getIssueStatus(downIssue.getIssueStatus().getId()); IssueVo downIssueVo = ConvertUtil.copyProperties(downIssue, IssueVo.class); downIssueVo.setIssueStatusType(downIssueStatus.getIssueStatusType().toString()); if(!downIssueVo.getIssueStatusType().equals("CLOSE")){ //미완료 하위이슈 체크 downIssueCount ++; } for(IssueVo issueVo : issueVos){ if(issueVo.getId().equals(parentIssueVo.getId())){ issueVo.setDownIssueCount(parentIssueVo.getDownIssueCount()); issueVo.setDownIssueCount(downIssueCount); issueVo.setDownIssueAllCount(parentIssueVo.getDownIssueAllCount()); } } } src/main/java/kr/wisestone/owl/vo/IssueVo.java
@@ -54,6 +54,7 @@ private WorkflowStatusVo workflowStatusVo; private IssueVo parentIssueVo; private int downIssueCount; private int downIssueAllCount; private List<IssueCompanyVo> issueCompanyVos; private List<IssueIspVo> issueIspVos; @@ -466,4 +467,12 @@ public void setDownIssueCount(int downIssueCount) { this.downIssueCount = downIssueCount; } public int getDownIssueAllCount() { return downIssueAllCount; } public void setDownIssueAllCount(int downIssueAllCount) { this.downIssueAllCount = downIssueAllCount; } } src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js
@@ -193,6 +193,11 @@ } break; // 하위이슈 카운트 case "DOWN_ISSUE_COUNT" : makeTag += '<span>' + scope.data.downIssueCount + ' / ' + scope.data.downIssueAllCount + '</span>'; break; // 프로젝트 기간 표시 case "PROJECT_DUE_DATE" : makeTag += "<span>" + scope.data.startDate + " ~ " + scope.data.endDate + "</span>"; src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -309,9 +309,10 @@ case "COUNT_DOWN_ISSUE" : // 하위 이슈 개수 $scope.vm.tableConfigs.push($tableProvider.config() .setHName("common.countDownIssue") .setDType("renderer") .setHWidth("bold " + issueTableConfig.width) .setDAlign("text-center") .setDName("downIssueCount")); .setDRenderer("DOWN_ISSUE_COUNT")); break; }