OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-24 4e53686d72fa1577bba7bf166f56256a67299b28
이슈목록 전체검색 가능한 기능 추가
3개 파일 변경됨
31 ■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java 7 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java 9 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/resources/mybatis/query-template/issue-template.xml 15 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -573,13 +573,6 @@
        //  사용자 정의 필드 정보 추가
        this.setIssueCustomFieldValue(issueVos, issueCondition);
        //  업체 정보 추가
        //this.setIssueCompanyField(issueVos, issueCondition);
        //  ISP 정보 추가
        //this.setIssueIspField(issueVos, issueCondition);
        //  HOSTING 정보 추가
        //this.setIssueHostingField(issueVos, issueCondition);
    }
    //  검색 조건을 만든다
src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
@@ -43,6 +43,7 @@
    private List<Long> departmentIds = Lists.newArrayList();
    private List<Long> registerIds = Lists.newArrayList();
    private List<String> issueIds = Lists.newArrayList();   //  이슈 목록 검색에서 사용자 정의 필드로 1차 검색한 결과를 담을때 사용
    private List<String> userCustomFields = Lists.newArrayList();
    private List<Map<String, Object>> issueCustomFields = Lists.newArrayList();
    private List<Map<String, Object>> issueCompanyField = Lists.newArrayList();
    private List<Map<String, Object>> issueIspField = Lists.newArrayList();
@@ -453,4 +454,12 @@
    public void setParentIssueId(Long parentIssueId) {
        this.parentIssueId = parentIssueId;
    }
    public List<String> getUserCustomFields() {
        return userCustomFields;
    }
    public void setUserCustomFields(List<String> userCustomFields) {
        this.userCustomFields = userCustomFields;
    }
}
src/main/resources/mybatis/query-template/issue-template.xml
@@ -31,6 +31,7 @@
        severity.id as severityId,
        severity.name as severityName,
        severity.color as severityColor,
        issue_custom.use_value AS useValue,
        IFNULL(temp_attached_file.attachedFileCount, 0) as attachedFileCount,
        IFNULL(temp_issue_comment.issueCommentCount, 0) as issueCommentCount
        FROM issue issue FORCE INDEX(reverseIndex)
@@ -40,6 +41,7 @@
        INNER JOIN issue_type issue_type FORCE INDEX(PRIMARY) ON issue.issue_type_id = issue_type.id
        INNER JOIN priority priority FORCE INDEX(PRIMARY) ON issue.priority_id = priority.id
        INNER JOIN severity severity FORCE INDEX(PRIMARY) ON issue.severity_id = severity.id
        LEFT OUTER JOIN issue_custom_field_value issue_custom FORCE INDEX(issueIdIndex) ON issue.id = issue_custom.issue_id
        LEFT OUTER JOIN issue_department issued FORCE INDEX(issueIdIndex) ON issue.id = issued.issue_id
        LEFT OUTER JOIN issue_user issue_user FORCE INDEX(issueIdIndex) ON issue.id = issue_user.issue_id
        LEFT OUTER JOIN (SELECT issue_id, COUNT(id) as attachedFileCount FROM attached_file GROUP BY issue_id)
@@ -50,6 +52,19 @@
        WHERE 1=1
        <if test="title != null and !title.equals('') ">
            AND issue.title like CONCAT('%',#{title},'%')
            OR issue.description like CONCAT('%',#{title},'%')
            OR issue.start_date like CONCAT('%',#{title},'%')
            OR issue.complete_date like CONCAT('%',#{title},'%')
            OR issue.issue_number like CONCAT('%',#{title},'%')
            OR issue.register_date like CONCAT('%',#{title},'%')
            OR project.name like CONCAT('%',#{title},'%')
            OR project.project_key like CONCAT('%',#{title},'%')
            OR issue_type.name like CONCAT('%',#{title},'%')
            OR issue_status.issue_status_type like CONCAT('%',#{title},'%')
            OR issue_status.name like CONCAT('%',#{title},'%')
            OR priority.name like CONCAT('%',#{title},'%')
            OR severity.name like CONCAT('%',#{title},'%')
            OR issue_custom.use_value like CONCAT('%',#{title},'%')
        </if>
        <if test="description != null and !description.equals('')">