From d2d33c7634f26a2cfbda6768059ae242c1866773 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 화, 15 2월 2022 17:47:15 +0900 Subject: [PATCH] - 업체(대분류,중분류) 간헐적으로 초기화 안되는 문제 해결 --- src/main/webapp/scripts/app/issue/issueAdd.controller.js | 270 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 173 insertions(+), 97 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js index 3d3af79..9d091ed 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, // 以묒슂�룄 紐⑸줉 媛��졇�삤湲� @@ -193,8 +194,6 @@ // �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕 $scope.$watch("vm.form.projects", function (newValue, oldValue) { - - if (angular.isDefined(newValue)) { if (newValue.length < 1) { $scope.vm.form.users = []; @@ -432,7 +431,16 @@ } // �뾽醫�(��遺꾨쪟) autocomplete page �뾽�뜲�씠�듃 - function getParentSectorListCallBack(result) { + 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; } @@ -461,89 +469,129 @@ // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set) $scope.$on("companyFieldEvent", function (event, result) { - var ispFieldVo = result[0].ispFieldVo; - var hostingFieldVo = result[0].hostingFieldVo; + 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.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.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.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.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 = ""; + $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; + 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) $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.ispUrl = result[0].url; - $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.hostingUrl = result[0].url; - $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; + } }); // �뤌 �쟾�넚 @@ -569,7 +617,7 @@ severityId : $scope.vm.form.severityId, // 以묒슂�룄 �븘�씠�뵒 companyId : (function () { // �뾽泥� �븘�씠�뵒 - var companyId = -1; + var companyId = null; if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) { companyId = $scope.vm.form.issueCompanyFields[0].id; } @@ -577,7 +625,7 @@ })(), ispId : (function () { // ISP �븘�씠�뵒 - var ispId = -1; + 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; @@ -589,7 +637,7 @@ })(), hostingId : (function () { // Hosting �븘�씠�뵒 - var hostingId = -1; + 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; @@ -634,7 +682,6 @@ 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({ companyId : $scope.vm.companyId, name : $scope.vm.companyName, @@ -643,11 +690,12 @@ email :$scope.vm.companyEmail, url :$scope.vm.companyUrl, memo : $scope.vm.companyMemo, - companyTypeId : companyField.companyTypeId, - parentSectorId : companyField.parentSectorId, - childSectorId : companyField.childSectorId, - regionId : companyField.regionId, - statusId : companyField.statusId + 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; @@ -659,36 +707,36 @@ companyUrl :$scope.vm.companyUrl, companyMemo : $scope.vm.companyMemo, companyTypeId : (function () { - var companyTypeId = -1; - if ($scope.vm.form.companyTypes != null) { + 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 = -1; - if ($scope.vm.form.parentSectors != null) { + 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 = -1; - if ($scope.vm.form.childSectors != null) { + 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 = -1; - if ($scope.vm.form.regions != null) { + 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 = -1; - if ($scope.vm.form.statuses != null) { + 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; //吏곸젒�엯�젰 �씪 寃쎌슦 @@ -820,11 +868,36 @@ $(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[0])) { + if (!$rootScope.isDefined($scope.vm.form.projects) || !$rootScope.isDefined($scope.vm.form.projects[0])) { return; } @@ -873,6 +946,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"); // �슦�꽑�닚�쐞 紐⑸줉 議고쉶 �떎�뙣 @@ -893,6 +967,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"); // 以묒슂�룄 紐⑸줉 議고쉶 �떎�뙣 @@ -1003,7 +1078,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 = { @@ -1019,7 +1094,7 @@ } function getDepartments() { - if($scope.vm.form.issueTypeId === ""){ + if($scope.vm.form.issueTypeId === "" && $rootScope.issueTypeMenu != null){ $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id } var content = { @@ -1042,6 +1117,7 @@ function startExecute() { var promises = { + getProject : $scope.fn.getProject(), getIssueTypes : $scope.fn.getIssueTypes(), getPriorities : $scope.fn.getPriorities(), getSeverities : $scope.fn.getSeverities(), -- Gitblit v1.8.0