OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -566,7 +566,15 @@
//            issueCustomFieldValueCondition.setIssueStatusType("CLOSE");
            List<Map<String, Object>> results = Lists.newArrayList();
            if (customFieldType.equals(IP_ADDRESS.toString()) && issueForm.getIssueCompanyFields() != null && issueForm.getIssueCompanyFields().size() > 0) {
                long ipValue = ConvertUtil.ipToLong(concatUseValue);
                long ipValue = 0;
                if (concatUseValue.contains(",")) {
                    String[] arr = concatUseValue.split(",");
                    for (String str : arr) {
                        ipValue = ConvertUtil.ipToLong(str);
                    }
                } else {
                    ipValue = ConvertUtil.ipToLong(concatUseValue);
                }
                issueCustomFieldValueCondition.setUseValue(String.valueOf(ipValue));
                //  하위이슈조건의 타입이 IP일 경우 같은 업체정보인 이슈 찾기
                results = this.issueMapper.findByCustomFieldValueOfIp(issueCustomFieldValueCondition);
@@ -1684,11 +1692,11 @@
                    this.setAttachedFiles(issue, issueVo);  //  첨부 파일 정보 셋팅
                    this.setIssueCustomFields(issue, issueVo);  //  사용자 정의 필드 값 정보 셋팅
                    this.setRelationIssue(issue, issueVo);        //연관 일감 셋팅
                    this.setDownIssues(issue, issueVo); //하위 이슈 세팅
                    this.setDownIssues(issue, issueVo, issueCondition.getHideCompleteIssue()); //하위 이슈 세팅
                    break;
                case "02": //  프로젝트, 이슈 유형, 이슈 상태,  우선순위, 중요도, 담당자, 첨부파일, 사용자 정의 필드 정보, 댓글, 기록을 셋팅한다.
                    this.setIssueDetail(issueVo, issue, user);    //  이슈 상세 정보를 셋팅한다.
                    this.setIssueDetail(issueVo, issue, user, issueCondition.getHideCompleteIssue());    //  이슈 상세 정보를 셋팅한다.
                    this.setIssueTableConfigs(issue, issueVo, issueCondition);
                    issueVo.setProjectVo(ConvertUtil.copyProperties(issue.getProject(), ProjectVo.class));
                    break;
@@ -1722,7 +1730,7 @@
    // 하위 이슈 정보를 셋팅한다
    private void setDownIssues(Issue issue, IssueVo issueVo) {
    private void setDownIssues(Issue issue, IssueVo issueVo, boolean hideCompleteIssue) {
        Page<Issue> downIssues = null;
        List<Issue> downIssueList = this.issueRepository.findByParentIssueId(issue.getId());
@@ -1732,7 +1740,13 @@
                startPage = (int) Math.floor(issueVo.getDownPage()/issueVo.getDownPageSize());
            }
            Pageable pageable = PageRequest.of(startPage, issueVo.getDownPageSize());
            downIssues = this.issueRepository.findByParentIssueId(issue.getId(), pageable);
            if(hideCompleteIssue){
                downIssues = this.issueRepository.findByParentIssueId(issue.getId(), IssueStatusType.CLOSE, pageable);
            }else {
                downIssues = this.issueRepository.findByParentIssueId(issue.getId(), pageable);
            }
        }
        if(downIssues != null){
            issueVo.setDownTotalPage(downIssues.getTotalPages());
@@ -1770,6 +1784,12 @@
    @Override
    @Transactional(readOnly = true)
    public void setIssueDetail(IssueVo issueVo, Issue issue, User user) {
        setIssueDetail(issueVo, issue, user, false);
    }
    @Override
    @Transactional(readOnly = true)
    public void setIssueDetail(IssueVo issueVo, Issue issue, User user, boolean hideCompleteIssue) {
        //  이슈 수정 권한을 갖고 있는지 확인
        if (this.checkHasPermission(issueVo, issueVo.getUserVos(), user, issueVo.getDepartmentVos())) {
            issueVo.setModifyPermissionCheck(Boolean.TRUE);
@@ -1788,7 +1808,7 @@
        this.setAttachedFiles(issue, issueVo);  //  첨부 파일 정보 셋팅
        this.setIssueCustomFields(issue, issueVo);  //  사용자 정의 필드 값 정보 셋팅
        this.setRelationIssue(issue, issueVo);        //연관 일감 셋팅
        this.setDownIssues(issue, issueVo); //하위 일감 세팅
        this.setDownIssues(issue, issueVo, hideCompleteIssue); //하위 일감 세팅
        this.setIssueComments(issue, issueVo);  //  댓글 정보 셋팅
        this.setIssueHistory(issue, issueVo);   //  이슈 기록 정보 셋팅