From bdb1efdc604fce543e21152b4263a9362f64389f Mon Sep 17 00:00:00 2001 From: minhee <alsdldlfrl@gmail.com> Date: 목, 10 3월 2022 15:35:19 +0900 Subject: [PATCH] - api 이슈 추가 시 입력한 ip에 속해있는 업체정보를 가진 이슈의 하위로 입력되도록 수정 - issue_company 테이블에 ip 컬럼 추가 및 이슈 추가/수정 시 ip 대역대 항목 추가 --- src/main/webapp/scripts/app/issue/issueAdd.controller.js | 451 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 394 insertions(+), 57 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js index 5dbac8d..75a7ca0 100644 --- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js +++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js @@ -9,9 +9,9 @@ ], function (app, angular) { app.controller('issueAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$uibModal', '$injector', - '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'Issue', 'User', 'AttachedFile', 'IssueType', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state', + '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'Issue', 'User', 'AttachedFile', 'Project', 'IssueType', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state', function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $uibModal, $injector, $controller, $tableProvider, SweetAlert, $timeout, - $stateParams, $q, Issue, User, AttachedFile, IssueType, Priority, Severity, IssueTypeCustomField, $filter, $state) { + $stateParams, $q, Issue, User, AttachedFile, Project, IssueType, Priority, Severity, IssueTypeCustomField, $filter, $state) { $scope.fn = { cancel : cancel, // �뙘�뾽 李� �떕湲� @@ -27,6 +27,7 @@ onFileSelect : onFileSelect, // �뙆�씪 泥⑤� infiniteAddForm : infiniteAddForm, // 怨꾩냽 �깮�꽦 imageUpload : imageUpload, // �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶 + getProject : getProject, //�봽濡쒖젥�듃 媛��졇�삤湲�(�쟾泥� �봽濡쒖젥�듃 �씪 寃쎌슦 �궗�슜) getIssueTypes : getIssueTypes, // �씠�뒋 ���엯 紐⑸줉 媛��졇�삤湲� getPriorities : getPriorities, // �슦�꽑�닚�쐞 紐⑸줉 媛��졇�삤湲� getSeverities : getSeverities, // 以묒슂�룄 紐⑸줉 媛��졇�삤湲� @@ -37,7 +38,14 @@ setIssueTypeTemplate : setIssueTypeTemplate, // �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲� startExecute : startExecute, // 而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔 containsPartner : containsPartner, - getPartners : getPartners + getPartners : getPartners, + getDepartments : getDepartments, + getCompanyTypeListCallBack : getCompanyTypeListCallBack, + getParentSectorListCallBack : getParentSectorListCallBack, + getChildSectorListCallBack : getChildSectorListCallBack, + getRegionListCallBack : getRegionListCallBack, + getStatusListCallBack : getStatusListCallBack, + getIssueTypeOfProject : getIssueTypeOfProject }; $scope.vm = { @@ -58,7 +66,18 @@ attachedFiles : [], // �꽟癒몃끂�듃濡� �뙆�씪 �뾽濡쒕뱶瑜� �븷 寃쎌슦 �꽌踰꾩뿉�꽌 pk瑜� �뵲怨� issue id�� �뿰�룞 �옉�뾽�씠 �븘�슂�븯�떎. startCompleteDateRange : "", // �떆�옉�씪 ~ 醫낅즺�씪 detectingDateRange : "", // �깘吏��씪 - issueCustomFields : [] // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶 + issueCustomFields : [], // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶 + issueStatusId: "", + companyTypeId : "", + companyType : "", //湲곗뾽援щ텇 + parentSectorId : "", + parentSector : "", //�뾽醫�(��遺꾨쪟) + childSectorId : "", + childSector : "", //�뾽醫�(以묐텇瑜�) + regionId : "", + region : "", //吏��뿭 + statusId : "", + status : "", //�긽�깭 }, infiniteAdd : false, // �뿰�냽 �깮�꽦 projectName : "", // �봽濡쒖젥�듃 紐� 寃��깋 @@ -69,6 +88,9 @@ companyManager : "", // �뾽泥� �떞�떦�옄 companyTel : "", // �뾽泥� �쟾�솕踰덊샇 companyEmail : "", // �뾽泥� �씠硫붿씪 + companyUrl : "", // �뾽泥� url + ipStart : "", //ip�떆�옉二쇱냼 + ipEnd : "", //ip醫낅즺二쇱냼 companyMemo : "", // �뾽泥� 鍮꾧퀬 ispId : -1, // ISP ID ispName : "", // ISP 紐� @@ -76,12 +98,14 @@ ispManager : "", // ISP �떞�떦�옄 ispTel : "", // ISP �쟾�솕踰덊샇 ispEmail : "", // ISP �씠硫붿씪 + ispUrl : "", // url ispMemo : "", // ISP 鍮꾧퀬 hostingId : -1, // �샇�뒪�똿 ID hostingName : "", // �샇�뒪�똿紐� 寃��깋 hostingManager : "", // �샇�뒪�똿 �떞�떦�옄 hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇 hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪 + hostingUrl : "", // url hostingMemo :"", // �샇�뒪�똿 鍮꾧퀬 autoCompletePage : { @@ -108,6 +132,26 @@ hostingField : { page : 0, totalPage : 0 + }, + companyType : { + page : 0, + totalPage : 0 + }, + parentSector : { + page : 0, + totalPage : 0 + }, + childSector : { + page : 0, + totalPage : 0 + }, + region : { + page : 0, + totalPage : 0 + }, + status : { + page : 0, + totalPage : 0 } }, summerNote : { @@ -118,6 +162,14 @@ priorities : [], // �슦�꽑�닚�쐞 �젙蹂� severities : [], // 以묒슂�룄 �젙蹂� fileTableConfigs : [], // �뙆�씪 �뾽濡쒕뱶 �젙蹂� �뀒�씠釉� + + typeCategory : { + companyType : "COMPANYTYPE", + parentSector : "PARENTSECTOR", + childSector : "CHILDSECTOR", + region : "REGION", + status : "STATUS" + }, }; // �뿰愿� �씪媛� 愿��젴 @@ -144,14 +196,14 @@ // �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕 $scope.$watch("vm.form.projects", function (newValue, oldValue) { - - if (angular.isDefined(newValue)) { if (newValue.length < 1) { $scope.vm.form.users = []; } else { // �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲� $scope.fn.getIssueTypeCustomFields(); + // �꽑�깮�븳 �봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �씠�뒋�쑀�삎留� 蹂댁뿬二쇨린 + $scope.fn.getIssueTypeOfProject(); } } }); @@ -375,6 +427,40 @@ $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage; } + // 湲곗뾽援щ텇 autocomplete page �뾽�뜲�씠�듃 + function getCompanyTypeListCallBack(result) { + $scope.vm.autoCompletePage.companyType.totalPage = result.data.page.totalPage; + } + + // �뾽醫�(��遺꾨쪟) autocomplete page �뾽�뜲�씠�듃 + function getParentSectorListCallBack(result, value) { + if (value === "") { + $scope.vm.form.parentSectorId = ""; + if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) { + $scope.vm.form.parentSectors[0].id = ""; + } + $scope.vm.form.childSectorId = ""; + $scope.vm.form.childSector = ""; + $scope.vm.form.childSectors = []; + } + $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage; + } + + // �뾽醫�(以묐텇瑜�) 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃 + function getChildSectorListCallBack(result) { + $scope.vm.autoCompletePage.childSector.totalPage = result.data.page.totalPage; + } + + // 吏��뿭 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃 + function getRegionListCallBack(result) { + $scope.vm.autoCompletePage.region.totalPage = result.data.page.totalPage; + } + + // �긽�깭 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃 + function getStatusListCallBack(result) { + $scope.vm.autoCompletePage.status.totalPage = result.data.page.totalPage; + } + // �뤌 泥댄겕 function formCheck(formInvalid) { if (formInvalid) { @@ -385,35 +471,131 @@ // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set) $scope.$on("companyFieldEvent", function (event, result) { - $scope.vm.companyId = result[0].id; - $scope.vm.companyName = result[0].name; - $scope.vm.companyManager = result[0].manager; - $scope.vm.companyTel = result[0].tel; - $scope.vm.companyEmail = result[0].email; - $scope.vm.companyMemo = result[0].memo; + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + var ispFieldVo = result[0].ispFieldVo; + var hostingFieldVo = result[0].hostingFieldVo; + $scope.vm.companyId = result[0].id; + $scope.vm.companyName = result[0].name; + $scope.vm.companyManager = result[0].manager; + $scope.vm.companyTel = result[0].tel; + $scope.vm.companyEmail = result[0].email; + $scope.vm.companyUrl = result[0].url; + $scope.vm.ipStart = result[0].ipStart; + $scope.vm.ipEnd = result[0].ipEnd; + $scope.vm.companyMemo = result[0].memo; + $scope.vm.form.companyTypeId = result[0].companyTypeId; + $scope.vm.form.parentSectorId = result[0].parentSectorId; + $scope.vm.form.childSectorId = result[0].childSectorId; + $scope.vm.form.regionId = result[0].regionId; + $scope.vm.form.statusId = result[0].statusId; + $scope.vm.form.companyType = result[0].companyTypeName; + $scope.vm.form.parentSector = result[0].parentSectorName; + $scope.vm.form.childSector = result[0].childSectorName; + $scope.vm.form.region = result[0].regionName; + $scope.vm.form.status = result[0].statusName; + + $scope.vm.ispId = ""; + $scope.vm.ispName = ""; + $scope.vm.ispCode = ""; + $scope.vm.ispManager = ""; + $scope.vm.ispTel = ""; + $scope.vm.ispEmail = ""; + $scope.vm.ispUrl = ""; + $scope.vm.ispMemo = ""; + + $scope.vm.hostingId = ""; + $scope.vm.hostingName = ""; + $scope.vm.hostingCode = ""; + $scope.vm.hostingManager = ""; + $scope.vm.hostingTel = ""; + $scope.vm.hostingEmail = ""; + $scope.vm.hostingUrl = ""; + $scope.vm.hostingMemo = ""; + + if (ispFieldVo != null) { + $scope.vm.ispId = ispFieldVo.id; + $scope.vm.ispName = ispFieldVo.name; + $scope.vm.ispCode = ispFieldVo.code; + $scope.vm.ispManager = ispFieldVo.manager; + $scope.vm.ispTel = ispFieldVo.tel; + $scope.vm.ispEmail = ispFieldVo.email; + $scope.vm.ispUrl = ispFieldVo.url; + $scope.vm.ispMemo = ispFieldVo.memo; + } + if (hostingFieldVo != null) { + $scope.vm.hostingId = hostingFieldVo.id; + $scope.vm.hostingName = hostingFieldVo.name; + $scope.vm.hostingCode = hostingFieldVo.code; + $scope.vm.hostingManager = hostingFieldVo.manager; + $scope.vm.hostingTel = hostingFieldVo.tel; + $scope.vm.hostingEmail = hostingFieldVo.email; + $scope.vm.hostingUrl = hostingFieldVo.url; + $scope.vm.hostingMemo = hostingFieldVo.memo; + } + } }); - // ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set) + //ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set) $scope.$on("ispFieldEvent", function (event, result) { - $scope.vm.ispId = result[0].id; - $scope.vm.ispName = result[0].name; - $scope.vm.ispCode = result[0].code; - $scope.vm.ispManager = result[0].manager; - $scope.vm.ispTel = result[0].tel; - $scope.vm.ispEmail = result[0].email; - $scope.vm.ispMemo = result[0].memo; + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.ispId = result[0].id; + $scope.vm.ispName = result[0].name; + $scope.vm.ispCode = result[0].code; + $scope.vm.ispManager = result[0].manager; + $scope.vm.ispTel = result[0].tel; + $scope.vm.ispEmail = result[0].email; + $scope.vm.ispUrl = result[0].url; + $scope.vm.ispMemo = result[0].memo; + } }); // �샇�뒪�똿�젙蹂� 寃곌낵 媛� Event 泥섎━(set) $scope.$on("hostingFieldEvent", function (event, result) { - $scope.vm.hostingId = result[0].id; - $scope.vm.hostingName = result[0].name; - $scope.vm.hostingCode = result[0].code; - $scope.vm.hostingManager = result[0].manager; - $scope.vm.hostingTel = result[0].tel; - $scope.vm.hostingEmail = result[0].email; - $scope.vm.hostingMemo = result[0].memo; + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.hostingId = result[0].id; + $scope.vm.hostingName = result[0].name; + $scope.vm.hostingCode = result[0].code; + $scope.vm.hostingManager = result[0].manager; + $scope.vm.hostingTel = result[0].tel; + $scope.vm.hostingEmail = result[0].email; + $scope.vm.hostingUrl = result[0].url; + $scope.vm.hostingMemo = result[0].memo; + } + }); + + $scope.$on("companyTypeEvent", function (event, result) { + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.form.companyTypeId = result[0].id; + } + }); + $scope.$on("parentSectorEvent", function (event, result) { + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.form.parentSectorId = result[0].id; + } else { + $scope.vm.form.parentSectorId = ""; + if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) { + $scope.vm.form.parentSectors[0].id = ""; + } + } + $scope.vm.form.childSectorId = ""; + $scope.vm.form.childSector = ""; + $scope.vm.form.childSectors = []; + }); + $scope.$on("childSectorEvent", function (event, result) { + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.form.childSectorId = result[0].id; + } + }); + $scope.$on("regionEvent", function (event, result) { + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.form.regionId = result[0].id; + } + }); + $scope.$on("statusEvent", function (event, result) { + if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) { + $scope.vm.form.statusId = result[0].id; + } }); // �뤌 �쟾�넚 @@ -439,24 +621,32 @@ severityId : $scope.vm.form.severityId, // 以묒슂�룄 �븘�씠�뵒 companyId : (function () { // �뾽泥� �븘�씠�뵒 - var companyId = -1; - if ($scope.vm.form.issueCompanyFields.length > 0) { + var companyId = null; + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) { companyId = $scope.vm.form.issueCompanyFields[0].id; } return companyId; })(), ispId : (function () { // ISP �븘�씠�뵒 - var ispId = -1; - if ($scope.vm.form.issueIspFields.length > 0) { + var ispId = null; + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) { + if ($scope.vm.form.issueCompanyFields[0].ispId != null){ + ispId = $scope.vm.form.issueCompanyFields[0].ispId; + } + }else if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) { ispId = $scope.vm.form.issueIspFields[0].id; } return ispId; })(), hostingId : (function () { // Hosting �븘�씠�뵒 - var hostingId = -1; - if ($scope.vm.form.issueHostingFields.length > 0) { + var hostingId = null; + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) { + if ($scope.vm.form.issueCompanyFields[0].hostingId != null){ + hostingId = $scope.vm.form.issueCompanyFields[0].hostingId; + } + }else if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) { hostingId = $scope.vm.form.issueHostingFields[0].id; } return hostingId; @@ -493,67 +683,127 @@ return attachedFileIds; })(), - issueCompanyFields : (function () { var issueCompanyFields = []; if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){ - var companyField = $scope.vm.form.issueCompanyFields[0]; - issueCompanyFields.push({ - id : companyField.id, companyId : $scope.vm.companyId, name : $scope.vm.companyName, manager : $scope.vm.companyManager, tel : $scope.vm.companyTel, email :$scope.vm.companyEmail, - memo : $scope.vm.companyMemo + url :$scope.vm.companyUrl, + ipStart :$scope.vm.ipStart, + ipEnd :$scope.vm.ipEnd, + memo : $scope.vm.companyMemo, + companyTypeId : $scope.vm.form.companyTypeId, + parentSectorId : $scope.vm.form.parentSectorId, + childSectorId : $scope.vm.form.childSectorId, + regionId : $scope.vm.form.regionId, + statusId : $scope.vm.form.statusId, + statusName : $scope.vm.form.status }); } - return issueCompanyFields; })(), + companyName : $scope.vm.companyName, + companyManager : $scope.vm.companyManager, + companyTel : $scope.vm.companyTel, + companyEmail :$scope.vm.companyEmail, + companyUrl :$scope.vm.companyUrl, + ipStart :$scope.vm.ipStart, + ipEnd :$scope.vm.ipEnd, + companyMemo : $scope.vm.companyMemo, + companyTypeId : (function () { + var companyTypeId = null; + if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) { + companyTypeId = $scope.vm.form.companyTypes[0].id; + } + return companyTypeId; + })(), + parentSectorId : (function () { + var parentSectorId = null; + if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) { + parentSectorId = $scope.vm.form.parentSectors[0].id; + } + return parentSectorId; + })(), + childSectorId : (function () { + var childSectorId = null; + if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) { + childSectorId = $scope.vm.form.childSectors[0].id; + } + return childSectorId; + })(), + regionId : (function () { + var regionId = null; + if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) { + regionId = $scope.vm.form.regions[0].id; + } + return regionId; + })(), + statusId : (function () { + var statusId = null; + if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) { + statusId = $scope.vm.form.statuses[0].id; + } else if ($scope.vm.form.status !== ""){ + statusId = 120; //吏곸젒�엯�젰 �씪 寃쎌슦 + } + return statusId; + })(), + statusName : $scope.vm.form.status, issueIspFields : (function () { var issueIspFields = []; - if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){ - var ispField = $scope.vm.form.issueIspFields[0]; - - issueIspFields[0] = { - id : ispField.id, + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 + && $scope.vm.form.issueCompanyFields[0].ispFieldVo != null + || $scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){ + issueIspFields.push({ ispId : $scope.vm.ispId, name : $scope.vm.ispName, code : $scope.vm.ispCode, manager : $scope.vm.ispManager, tel : $scope.vm.ispTel, email :$scope.vm.ispEmail, + url :$scope.vm.ispUrl, memo : $scope.vm.ispMemo - }; - + }); } - return issueIspFields; })(), + ispName : $scope.vm.ispName, + ispCode : $scope.vm.ispCode, + ispManager : $scope.vm.ispManager, + ispTel : $scope.vm.ispTel, + ispEmail :$scope.vm.ispEmail, + ispUrl :$scope.vm.ispUrl, + ispMemo : $scope.vm.ispMemo, issueHostingFields : (function () { var issueHostingFields = []; - if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){ - - var hostingField = $scope.vm.form.issueHostingFields[0]; - + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 + && $scope.vm.form.issueCompanyFields[0].hostingFieldVo != null + || $scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){ issueHostingFields[0] = { - id : hostingField.id, hostingId : $scope.vm.hostingId, name : $scope.vm.hostingName, code : $scope.vm.hostingCode, manager : $scope.vm.hostingManager, tel : $scope.vm.hostingTel, email :$scope.vm.hostingEmail, + url :$scope.vm.hostingUrl, memo : $scope.vm.hostingMemo }; } - return issueHostingFields; })(), + hostingName : $scope.vm.hostingName, + hostingCode : $scope.vm.hostingCode, + hostingManager : $scope.vm.hostingManager, + hostingTel : $scope.vm.hostingTel, + hostingEmail :$scope.vm.hostingEmail, + hostingUrl :$scope.vm.hostingUrl, + hostingMemo : $scope.vm.hostingMemo, startCompleteDateRange : $scope.vm.form.startCompleteDateRange, detectingDateRange : $scope.vm.form.detectingDateRange, @@ -593,6 +843,7 @@ fileFormDataName : "file" }).then(function (result) { if (result.data.message.status === "success") { + // �뿰�냽 �벑濡� 泥댄겕�떆 �씠�룞�븯吏� �븡�쓬. if ($scope.vm.infiniteAdd) { $scope.fn.infiniteAddForm(); @@ -601,7 +852,9 @@ $scope.fn.cancel(); if ($state.current.name !== "issues.list" || $state.current.name === "issues.list") { - $state.go("issues.list"); + $state.go($state.current, {}, {reload : true}); + // $state.go("issues.list"); + // $state.go("dashboards.dashboard") } } @@ -623,15 +876,77 @@ $(document).unbind("keydown"); // �떒異뺥궎 �씠踰ㅽ듃 �젣嫄� } + // �봽濡쒖젥�듃 媛��졇�삤湲�(�쟾泥� �봽濡쒖젥�듃 �씪 寃쎌슦 �궗�슜) + function getProject() { + var deferred = $q.defer(); + + Project.findIssueType($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()}, + $resourceProvider.getPageContent(0, 1000))).then(function (result) { + + if (result.data.message.status === "success") { + if ($rootScope.isDefined(result.data.data)) { + $scope.vm.form.projects.push(result.data.data); + $scope.vm.projectName = result.data.data.name; + $scope.fn.getIssueTypeOfProject(); + $scope.fn.getIssueTypeCustomFields(); + } + } + else { + SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣 + } + + deferred.resolve(result.data.data); + }); + + return deferred.promise; + } + // �씠�뒋 �쑀�삎 紐⑸줉 function getIssueTypes() { var deferred = $q.defer(); + + if (!$rootScope.isDefined($scope.vm.form.projects) || !$rootScope.isDefined($scope.vm.form.projects[0])) { + return; + } IssueType.find($resourceProvider.getContent({}, $resourceProvider.getPageContent(0, 1000))).then(function (result) { if (result.data.message.status === "success") { $scope.vm.issueTypes = result.data.data; + } + else { + SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣 + } + + deferred.resolve(result.data.data); + }); + + return deferred.promise; + } + + // �꽑�깮�븳 �봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �씠�뒋�쑀�삎留� 蹂댁뿬二쇨린 (�쟾泥� �봽濡쒖젥�듃 �씪 寃쎌슦) + function getIssueTypeOfProject() { + var deferred = $q.defer(); + + IssueType.find($resourceProvider.getContent({projectId : $scope.vm.form.projects[0].id}, + $resourceProvider.getPageContent(0, 1000))).then(function (result) { + + if (result.data.message.status === "success") { + $scope.vm.issueTypes = result.data.data; + + // option 鍮덇컪 諛⑹� + if ($rootScope.isDefined($scope.vm.issueTypes) && $scope.vm.issueTypes.length > 0) { + let chk = 0; + angular.forEach($scope.vm.issueTypes, function (issueType) { + if (issueType.id.toString() === $scope.vm.form.issueTypeId.toString()) { + chk ++; + } + }); + if (chk === 0) { + $scope.vm.form.issueTypeId = null; + } + } } else { SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣 @@ -652,6 +967,7 @@ if (result.data.message.status === "success") { $scope.vm.priorities = result.data.data; + $scope.vm.form.priorityId = $scope.vm.priorities[2].id.toString(); } else { SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // �슦�꽑�닚�쐞 紐⑸줉 議고쉶 �떎�뙣 @@ -672,6 +988,7 @@ if (result.data.message.status === "success") { $scope.vm.severities = result.data.data; + $scope.vm.form.severityId = $scope.vm.severities[2].id.toString(); } else { SweetAlert.swal($filter("translate")("issue.failedToCriticalListLookup"), result.data.message.message, "error"); // 以묒슂�룄 紐⑸줉 議고쉶 �떎�뙣 @@ -728,7 +1045,6 @@ }); break; } - $scope.vm.form.issueCustomFields.push(issueTypeCustomField); }); } @@ -783,7 +1099,7 @@ } function getPartners() { - if($scope.vm.form.issueTypeId === ""){ + if($scope.vm.form.issueTypeId === "" && $rootScope.issueTypeMenu != null){ $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id } var content = { @@ -796,6 +1112,25 @@ $scope.vm.partnerVos = result.data.data; } }); + } + + function getDepartments() { + if($scope.vm.form.issueTypeId === "" && $rootScope.issueTypeMenu != null){ + $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id + } + var content = { + issueTypeId : $scope.vm.form.issueTypeId, + }; + Issue.findReadyDepartments($resourceProvider.getContent( + content, + $resourceProvider.getPageContent(0, 1))).then(function (result) { + if (result.data.message.status === "success") { + angular.forEach(result.data.data, function (department) { + department.byName = department.departmentName; + $scope.vm.form.departments.push(department); + }); + } + }); } @@ -803,10 +1138,12 @@ function startExecute() { var promises = { + getProject : $scope.fn.getProject(), getIssueTypes : $scope.fn.getIssueTypes(), getPriorities : $scope.fn.getPriorities(), getSeverities : $scope.fn.getSeverities(), - getPartners : $scope.fn.getPartners() + getPartners : $scope.fn.getPartners(), + getDepartments : $scope.fn.getDepartments() }; $q.all(promises).then(function (results) { // �쁽�옱 �봽濡쒖젥�듃 �꽕�젙 -- Gitblit v1.8.0