- 상위 이슈 검색시 하위 이슈는 검색 제외 및 프로젝트 설정 해야 상위이슈 선택 가능하도록 수정
| | |
| | | private Pageable downPageable; |
| | | private Boolean allIssue; // 전체이슈 보여주기 |
| | | private Long issueTypeId; |
| | | private Boolean parentYN; //상위이슈만 조회 유무 |
| | | |
| | | public IssueCondition(){} |
| | | |
| | |
| | | condition.setTree(MapUtil.getBoolean(conditions, "isTree")); |
| | | } else { |
| | | condition.setTree(false); |
| | | } |
| | | |
| | | if (MapUtil.getBoolean(conditions, "parentYN") != null && MapUtil.getBoolean(conditions, "parentYN")) { |
| | | condition.setParentYN(true); |
| | | } |
| | | |
| | | return condition; |
| | |
| | | public void setIssueTypeId(Long issueTypeId) { |
| | | this.issueTypeId = issueTypeId; |
| | | } |
| | | |
| | | public Boolean getParentYN() { |
| | | return parentYN; |
| | | } |
| | | |
| | | public void setParentYN(Boolean parentYN) { |
| | | this.parentYN = parentYN; |
| | | } |
| | | } |
| | |
| | | AND issue_status.issue_status_type != 'CLOSE' |
| | | </if> |
| | | |
| | | <if test="parentYN != null and parentYN == true"> |
| | | AND issue.parent_issue_id IS NULL |
| | | </if> |
| | | |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | AND project.id IN |
| | |
| | | "failedToProjectListLookUp": "프로젝트 목록 조회 실패", |
| | | "failedToWorkflowListLookUp": "워크플로우 목록 조회 실패", |
| | | "failedToIssueListLookUp": "이슈 목록 조회 실패", |
| | | "selectToProjectListLookUp": "프로젝트를 먼저 선택 해 주세요.", |
| | | "failedToCompanyCategoryListLookUp": "업체 카테고리 목록 조회 실패", |
| | | "title": "제목", |
| | | "number": "번호", |
| | |
| | | }, |
| | | projectName : "", |
| | | autoCompletePage : { |
| | | issue : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | project : { |
| | | page : 0, |
| | | totalPage : 0 |
| | |
| | | return response; |
| | | }); |
| | | }, |
| | | findParentIssue : function (conditions) { |
| | | return $http.post("issue/findParentIssue", conditions).then(function (response) { |
| | | $log.debug("상위이슈 목록 데이터 : ", response); |
| | | return response; |
| | | }); |
| | | }, |
| | | findPartners : function (conditions) { |
| | | return $http.post("issue/findPartner", conditions).then(function (response) { |
| | | $log.debug("사용하는 파트너 목록 데이터 : ", response); |
| | |
| | | $scope.fn.getUserList = getUserList; // 사용자 목록 정보를 조회한다. |
| | | $scope.fn.getProjectList = getProjectList; // 프로젝트 목록 정보를 조회한다. |
| | | $scope.fn.getIssueList = getIssueList; // 일감 목록 정보를 조회한다. |
| | | $scope.fn.getParentIssueList = getParentIssueList; // 상위 이슈 목록 정보를 조회한다. |
| | | $scope.fn.getRelIssueList = getRelIssueList; // 연관 이슈 목록 정보를 조회한다. |
| | | $scope.fn.getDownIssueList = getDownIssueList; // 하위 이슈 목록 정보를 조회한다. |
| | | $scope.fn.getWorkflowList = getWorkflowList; // 워크플로우 목록 정보를 조회한다. |
| | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | function getRelIssueList(query, issueTypeId, excludeList, page, callBack) { |
| | | function getParentIssueList(query, issueTypeId, excludeList, page, callBack) { |
| | | var conditions = { |
| | | name : query, |
| | | excludeIds : (function () { |
| | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | function getRelIssueList(parentYN, project, query, issueTypeId, excludeList, page, callBack) { |
| | | var conditions = { |
| | | name : query, |
| | | excludeIds : (function () { |
| | | var excludeIds = []; |
| | | |
| | | angular.forEach(excludeList, function (exclude) { |
| | | excludeIds.push(exclude.id); |
| | | }); |
| | | return excludeIds; |
| | | })(), |
| | | parentYN : parentYN, |
| | | projectIds : (function () { |
| | | var projectIds = []; |
| | | if (project != null) { |
| | | if (project.length < 1) { |
| | | SweetAlert.swal($filter("translate")("common.failedToIssueListLookUp"), $filter("translate")("common.selectToProjectListLookUp"), "error"); // "프로젝트를 먼저 선택 해 주세요." |
| | | } |
| | | projectIds.push(project[0].id); |
| | | } |
| | | return projectIds; |
| | | })() |
| | | }; |
| | | |
| | | var deferred = $q.defer(); |
| | | |
| | | if ($rootScope.isDefined(page) && page > 0) { |
| | | $rootScope.spinner = true; |
| | | } |
| | | |
| | | Issue.find($resourceProvider.getContent( |
| | | conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | if ($rootScope.isDefined(callBack)) { |
| | | callBack(result); |
| | | } |
| | | deferred.resolve(result.data.data); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("common.failedToIssueListLookUp"), result.data.message.message, "error"); // "워크플로우 목록 조회 실패" |
| | | } |
| | | $rootScope.spinner = false; |
| | | }); |
| | | return deferred.promise; |
| | | } |
| | | |
| | | function getDownIssueList(query, issueTypeId, parentIssueId, excludeList, page, callBack) { |
| | | var conditions = { |
| | | name : query, |
| | |
| | | <js-autocomplete-single data-input-name="issue" |
| | | selected-model="vm.form.issues" |
| | | search="vm.issueName" |
| | | source="fn.getRelIssueList(vm.issueName, vm.issueTypeId, vm.form.issues, vm.autoCompletePage.issue.page, fn.getIssueListCallBack)" |
| | | source="fn.getRelIssueList(false, null, vm.issueName, vm.issueTypeId, vm.form.issues, vm.autoCompletePage.issue.page, fn.getIssueListCallBack)" |
| | | page="vm.autoCompletePage.issue.page" |
| | | total-page="vm.autoCompletePage.issue.totalPage" |
| | | input-disabled="false" |
| | |
| | | <js-autocomplete-single data-input-name="issue" |
| | | selected-model="vm.form.issues" |
| | | search="vm.issueName" |
| | | source="fn.getRelIssueList(vm.issueName, vm.issueTypeId, vm.form.issues, vm.autoCompletePage.issue.page, fn.getIssueListCallBack)" |
| | | source="fn.getRelIssueList(true, vm.form.projects, vm.issueName, vm.issueTypeId, vm.form.issues, vm.autoCompletePage.issue.page, fn.getIssueListCallBack)" |
| | | page="vm.autoCompletePage.issue.page" |
| | | total-page="vm.autoCompletePage.issue.totalPage" |
| | | input-disabled="false" |