From fd8fdf9441329845ff78d3ae4274f107e3e6ba4d Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 29 11월 2021 17:59:00 +0900 Subject: [PATCH] 이슈 목록 - '이슈 제목' 검색 조건 추가 --- src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java | 9 ++++ src/main/webapp/views/issue/issueListNormal.html | 23 ++++++++++- src/main/resources/mybatis/query-template/issue-template.xml | 32 +++++++++------- src/main/webapp/scripts/app/issue/issueList.controller.js | 2 + src/main/webapp/i18n/ko/global.json | 1 5 files changed, 51 insertions(+), 16 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java b/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java index a0a8824..6b0c747 100644 --- a/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java +++ b/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java @@ -16,6 +16,7 @@ */ public class IssueCondition { private Long id; + private String keyWord; private String title; private String description; private String combinationIssueNumber; @@ -175,6 +176,14 @@ return condition; } + public String getKeyWord() { + return keyWord; + } + + public void setKeyWord(String keyWord) { + this.keyWord = keyWord; + } + public Long getId() { return id; } diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml index ab13365..c11a20c 100644 --- a/src/main/resources/mybatis/query-template/issue-template.xml +++ b/src/main/resources/mybatis/query-template/issue-template.xml @@ -50,21 +50,25 @@ temp_issue_comment on (temp_issue_comment.issue_id = issue.id) LEFT OUTER JOIN user user ON issue_user.user_id = user.id WHERE 1=1 - <if test="title != null and !title.equals('') "> + <if test="keyWord != null and !keyWord.equals('') "> + AND issue.title like CONCAT('%',#{keyWord},'%') + OR issue.description like CONCAT('%',#{keyWord},'%') + OR issue.start_date like CONCAT('%',#{keyWord},'%') + OR issue.complete_date like CONCAT('%',#{keyWord},'%') + OR issue.issue_number like CONCAT('%',#{keyWord},'%') + OR issue.register_date like CONCAT('%',#{keyWord},'%') + OR project.name like CONCAT('%',#{keyWord},'%') + OR project.project_key like CONCAT('%',#{keyWord},'%') + OR issue_type.name like CONCAT('%',#{keyWord},'%') + OR issue_status.issue_status_type like CONCAT('%',#{keyWord},'%') + OR issue_status.name like CONCAT('%',#{keyWord},'%') + OR priority.name like CONCAT('%',#{keyWord},'%') + OR severity.name like CONCAT('%',#{keyWord},'%') + OR issue_custom.use_value like CONCAT('%',#{keyWord},'%') + </if> + + <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('')"> diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json index 97ef54f..6b4bf7a 100644 --- a/src/main/webapp/i18n/ko/global.json +++ b/src/main/webapp/i18n/ko/global.json @@ -210,6 +210,7 @@ "videoExample": "�룞�쁺�긽 �삁�젣", "writeWaring": "�옉�꽦 �슂�졊", "pleaseEnterIssueName": "寃��깋�븷 �씠�뒋 �씠由꾩쓣 �엯�젰�븯�꽭�슂.", + "pleaseEnterIssueKeyWord": "寃��깋�븷 �씠�뒋�쓽 �궎�썙�뱶瑜� �엯�젰�븯�꽭�슂.", "selectProjectAndIssueTypeDownloadExcel": "�봽濡쒖젥�듃, �씠�뒋 �쑀�삎�쓣 �꽑�깮�븯硫� �빐�떦 �븯�뒗 �뼇�떇�쓽 �뿊���쓣 �떎�슫濡쒕뱶 �븷 �닔 �엳�뒿�땲�떎.", "settingTableDisplay": "�뀒�씠釉� �몴�떆 �꽕�젙", "deleteIssue": "�씠�뒋 �궘�젣", diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js index 05d69f9..9a5fbf3 100644 --- a/src/main/webapp/scripts/app/issue/issueList.controller.js +++ b/src/main/webapp/scripts/app/issue/issueList.controller.js @@ -45,6 +45,7 @@ issueTypeId : "", partnerVos : "", search : { + keyWord : "", // �쟾泥� 寃��깋 title : "", // �젣紐� description : "", // �궡�슜 combinationIssueNumber : "", // �씠�뒋 踰덊샇 @@ -320,6 +321,7 @@ // �씠�뒋 寃��깋 議곌굔�쓣 留뚮뱺�떎. function makeSearchConditions() { var conditions = { + keyWord : $scope.vm.search.keyWord, title : $scope.vm.search.title, description : $scope.vm.search.description, projectType : $scope.vm.search.projectType, diff --git a/src/main/webapp/views/issue/issueListNormal.html b/src/main/webapp/views/issue/issueListNormal.html index 1c7da54..d051599 100644 --- a/src/main/webapp/views/issue/issueListNormal.html +++ b/src/main/webapp/views/issue/issueListNormal.html @@ -16,8 +16,8 @@ maxlength="300" kr-input owl-auto-focus - ng-model="vm.search.title" - placeholder="{{'issue.pleaseEnterIssueName' | translate}}"> + ng-model="vm.search.keyWord" + placeholder="{{'issue.pleaseEnterIssueKeyWord' | translate}}"> <div class="input-group-prepend ml-10"> <button class="btn btn-navy" ng-click="fn.getPageList(0)"> <span translate="common.search">寃��깋</span></button> </div> @@ -29,6 +29,12 @@ <div class="col-sm-12"> <div class="tabfilter"> <div translate="common.selectedSearchCriteria">�꽑�깮�븳 寃��깋 議곌굔</div> + <!-- �씠�뒋 �젣紐� --> + <p ng-if="$root.isDefined(vm.search.title)"> + {{vm.search.title}} + <span ng-click="vm.search.title = ''">횞</span> + </p> + <!-- �봽濡쒖젥�듃 --> <issue-search-array-view-element lists="vm.projects" type="'project'"></issue-search-array-view-element> @@ -104,6 +110,19 @@ <div class="row"> <div class="col-lg-3"> <div class="form-group"> + <label> <span translate="issue.issueTitle">�씠�뒋 �젣紐�</span></label> + <input type="text" + name="title" + class="form-control input-sm" + kr-input + maxlength="20" + autocomplete="off" + ng-model="vm.search.title"> + </div> + </div> + + <div class="col-lg-3"> + <div class="form-group"> <label> <span translate="common.project">�봽濡쒖젥�듃</span></label> <js-autocomplete-multi data-input-name="projects" selected-model="vm.projects" -- Gitblit v1.8.0