| | |
| | | |
| | | private List<UsePartnerVo> usePartnerVos = Lists.newArrayList(); |
| | | |
| | | private String companyName; |
| | | private String ispName; |
| | | private String hostingName; |
| | | |
| | | public IssueVo(){} |
| | | |
| | | public Long getId() { |
| | |
| | | public void setParentIssueId(Long parentIssueId) { |
| | | this.parentIssueId = parentIssueId; |
| | | } |
| | | |
| | | public String getCompanyName() { |
| | | return companyName; |
| | | } |
| | | |
| | | public void setCompanyName(String companyName) { |
| | | this.companyName = companyName; |
| | | } |
| | | |
| | | public String getIspName() { |
| | | return ispName; |
| | | } |
| | | |
| | | public void setIspName(String ispName) { |
| | | this.ispName = ispName; |
| | | } |
| | | |
| | | public String getHostingName() { |
| | | return hostingName; |
| | | } |
| | | |
| | | public void setHostingName(String hostingName) { |
| | | this.hostingName = hostingName; |
| | | } |
| | | } |
| | |
| | | severity.id as severityId, |
| | | severity.name as severityName, |
| | | severity.color as severityColor, |
| | | ic.name AS companyName, |
| | | ii.name AS ispName, |
| | | ih.name AS hostingName, |
| | | GROUP_CONCAT(issue_custom.use_value) AS useValue, |
| | | IFNULL(temp_attached_file.attachedFileCount, 0) as attachedFileCount, |
| | | IFNULL(temp_issue_comment.issueCommentCount, 0) as issueCommentCount |
| | |
| | | makeTag += "</ul>"; |
| | | break; |
| | | |
| | | // 업체 |
| | | case "USE_COMPANY" : |
| | | if (scope.data.companyName !== null) { |
| | | makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.companyName + "'></span>"; |
| | | }else { |
| | | makeTag += "<span></span>"; |
| | | } |
| | | break; |
| | | |
| | | // ISP |
| | | case "USE_ISP" : |
| | | if (scope.data.ispName !== null) { |
| | | makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.ispName + "'></span>"; |
| | | }else { |
| | | makeTag += "<span></span>"; |
| | | } |
| | | break; |
| | | |
| | | // 호스팅 |
| | | case "USE_HOSTING" : |
| | | if (scope.data.ispName !== null) { |
| | | makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.hostingName + "'></span>"; |
| | | }else { |
| | | makeTag += "<span></span>"; |
| | | } |
| | | break; |
| | | |
| | | case "WORKFLOW_NAME": |
| | | makeTag += "<span>" + scope.data.workflowVo.name + "</span>"; |
| | | break; |
| | |
| | | "failedToIssueTypeListLookup": "이슈 유형 목록 조회 실패", |
| | | "failedToPriorityListLookup": "우선순위 목록 조회 실패", |
| | | "failedToCriticalListLookup": "중요도 목록 조회 실패", |
| | | "failedToPartnerListLookup": "파트너 목록 조회 실패", |
| | | "failedToUserDefinedFieldListLookup": "사용자 정의 필드 목록 조회 실패", |
| | | "failedToIssueTableColumnLookup": "이슈 테이블 컬럼 조회 실패", |
| | | "failedToIssueAddIssueRelation": "연관 이슈 추가 실패", |
| | |
| | | "register": "등록자", |
| | | "startDate": "시작일", |
| | | "endDate": "종료일", |
| | | "company": "업체", |
| | | "isp": "ISP", |
| | | "hosting": "호스팅", |
| | | "english": "영어", |
| | | "korean": "한국어", |
| | | "japaneseLanguage": "일본어", |
| | |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueAddTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'IssueTypeCustomField', '$q', '$filter', 'parameter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, IssueTypeCustomField, $q, $filter, parameter) { |
| | | app.controller('issueAddTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'Issue', 'IssueTypeCustomField', '$q', '$filter', 'parameter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, Issue, IssueTypeCustomField, $q, $filter, parameter) { |
| | | |
| | | // 함수 모음 |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | getUsePartner : getUsePartner, |
| | | getCustomFields : getCustomFields, // 사용자 정의 필드 목록을 가져온다. |
| | | getIssueAddTableConfigs : getIssueAddTableConfigs // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | }; |
| | |
| | | position : 8, |
| | | display : false, |
| | | checkboxShow : true |
| | | }, { |
| | | }] |
| | | }; |
| | | |
| | |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 이슈유형 별 파트너 목록 |
| | | function getUsePartner() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.partners = []; |
| | | |
| | | Issue.findPartners($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()}, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.partnerVos = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToPartnerListLookup"), result.data.message.message, "error"); // 파트너 목록 조회 실패 |
| | | } |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록을 가져온다. |
| | | function getCustomFields() { |
| | | var deferred = $q.defer(); |
| | |
| | | } |
| | | |
| | | var content = { |
| | | delValue : $scope.vm.issueTableConfigs.splice(9,1), |
| | | //delValue : $scope.vm.issueTableConfigs.splice(12,1), |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs), |
| | | issueTypeId : $rootScope.getCurrentIssueTypeId() |
| | | }; |
| | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 사용자 정의 필드를 조회한 후 표시할 이슈 테이블 컬럼을 준비한다. |
| | | $scope.fn.getCustomFields().then(function (result) { |
| | | var count = 8; |
| | | angular.forEach(result, function (customField) { |
| | | // 파트너를 조회한 후 표시할 이슈 테이블 컬럼을 준비한다. |
| | | $scope.fn.getUsePartner().then(function (result) { |
| | | var count = 9; |
| | | angular.forEach(result, function (partner) { |
| | | $scope.vm.issueTableConfigs.push({ |
| | | name : customField.name, |
| | | key : "CUSTOM_FIELD_" + customField.id, |
| | | name : partner.name, |
| | | key : (function () { |
| | | var key = ""; |
| | | if (partner.name === "업체") { |
| | | key = "COMPANY"; |
| | | } else if(partner.name === "ISP") { |
| | | key = "ISP"; |
| | | } else { |
| | | key = "HOSTING"; |
| | | } |
| | | return key; |
| | | })(), |
| | | width : "width-100-p", |
| | | display : false, |
| | | checkboxShow : true, |
| | | position : count |
| | | }); |
| | | |
| | | count++; |
| | | }); |
| | | |
| | | // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | $scope.fn.getIssueAddTableConfigs().then(function (issueTableConfigs) { |
| | | if ($rootScope.isDefined(issueTableConfigs)) { |
| | | $rootScope.spinner = true; |
| | | |
| | | var saveTableConfigs = JSON.parse(issueTableConfigs); |
| | | |
| | | angular.forEach(saveTableConfigs, function (saveTableConfig) { |
| | | |
| | | for (var count in $scope.vm.issueTableConfigs) { |
| | | var issueTableConfig = $scope.vm.issueTableConfigs[count]; |
| | | |
| | | if (issueTableConfig.key === saveTableConfig.key) { |
| | | issueTableConfig.display = saveTableConfig.display; |
| | | issueTableConfig.width = saveTableConfig.width; |
| | | issueTableConfig.position = saveTableConfig.position; |
| | | break; |
| | | } |
| | | } |
| | | // 사용자 정의 필드를 조회한 후 표시할 이슈 테이블 컬럼을 준비한다. |
| | | $scope.fn.getCustomFields().then(function (result) { |
| | | angular.forEach(result, function (customField) { |
| | | $scope.vm.issueTableConfigs.push({ |
| | | name : customField.name, |
| | | key : "CUSTOM_FIELD_" + customField.id, |
| | | width : "width-100-p", |
| | | display : false, |
| | | checkboxShow : true, |
| | | position : count |
| | | }); |
| | | count++; |
| | | }); |
| | | |
| | | $rootScope.spinner = false; |
| | | } |
| | | }); |
| | | // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | $scope.fn.getIssueAddTableConfigs().then(function (issueTableConfigs) { |
| | | if ($rootScope.isDefined(issueTableConfigs)) { |
| | | $rootScope.spinner = true; |
| | | |
| | | var saveTableConfigs = JSON.parse(issueTableConfigs); |
| | | |
| | | angular.forEach(saveTableConfigs, function (saveTableConfig) { |
| | | |
| | | for (var count in $scope.vm.issueTableConfigs) { |
| | | var issueTableConfig = $scope.vm.issueTableConfigs[count]; |
| | | |
| | | if (issueTableConfig.key === saveTableConfig.key) { |
| | | issueTableConfig.display = saveTableConfig.display; |
| | | issueTableConfig.width = saveTableConfig.width; |
| | | issueTableConfig.position = saveTableConfig.position; |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | |
| | | $rootScope.spinner = false; |
| | | } |
| | | }); |
| | | }) |
| | | }); |
| | | |
| | | }]); |
| | |
| | | .setColumnTooltip("미완료 하위이슈/전체 하위이슈") |
| | | .setDRenderer("DOWN_ISSUE_COUNT")); |
| | | break; |
| | | case "COMPANY" : // 업체 |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.company") |
| | | .setDName("companyName") |
| | | .setDType("renderer") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setDRenderer("USE_COMPANY")); |
| | | break; |
| | | case "ISP" : // ISP |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.isp") |
| | | .setDName("ispName") |
| | | .setDType("renderer") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setDRenderer("USE_ISP")); |
| | | break; |
| | | case "HOSTING" : // HOSTING |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.hosting") |
| | | .setDName("hostingName") |
| | | .setDType("renderer") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setDRenderer("USE_HOSTING")); |
| | | break; |
| | | } |
| | | |
| | | // 사용자 정의 필드 컬럼 |
| | |
| | | var deferred = $q.defer(); |
| | | $scope.vm.partners = []; |
| | | |
| | | Issue.findPartners($resourceProvider.getContent({}, |
| | | Issue.findPartners($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()}, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.partnerVos = result.data.content; |
| | | angular.forEach(result.data.data, function (partner) { |
| | | $scope.vm.partners.push(partner); |
| | | }); |
| | | //$scope.vm.partnerVos = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // 우선순위 목록 조회 실패 |
| | | SweetAlert.swal($filter("translate")("issue.failedToPartnerListLookup"), result.data.message.message, "error"); // 파트너 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | |
| | | break; |
| | | |
| | | } |
| | | |
| | | $scope.vm.customFields.push(customField); |
| | | }); |
| | | } |
| | |
| | | |
| | | if ($rootScope.issueTypeMenu != null){ |
| | | var content = { |
| | | issueTypeId : $rootScope.issueTypeMenu.id |
| | | } |
| | | issueTypeId : $rootScope.getCurrentIssueTypeId() |
| | | } |
| | | |
| | | IssueTableConfig.detail($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | |
| | | getPriorities : $scope.fn.getPriorities(), |
| | | getSeverities : $scope.fn.getSeverities(), |
| | | getIssueStatuses : $scope.fn.getIssueStatuses(), |
| | | getCustomFields : $scope.fn.getCustomFields() |
| | | getCustomFields : $scope.fn.getCustomFields(), |
| | | }; |
| | | |
| | | $q.all(promises).then(function (results){ |