OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-07 123374115c47cf25489e1ab3e1faa7ae79b7f493
미완료 하위이슈 / 전체 하위이슈 수정 완료
5개 파일 변경됨
41 ■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/service/IssueService.java 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java 22 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/vo/IssueVo.java 9 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js 5 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueList.controller.js 3 ●●●● 패치 | 보기 | 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;
                    }