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/issueAddRelation.controller.js | 385 +++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 302 insertions(+), 83 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js b/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js index 48b68d1..b864616 100644 --- a/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js +++ b/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js @@ -39,7 +39,13 @@ containsPartner : containsPartner, getPartners : getPartners, addRelationIssue : addRelationIssue, - getDepartments : getDepartments + getDepartments : getDepartments, + getCompanyTypeListCallBack : getCompanyTypeListCallBack, + getParentSectorListCallBack : getParentSectorListCallBack, + getChildSectorListCallBack : getChildSectorListCallBack, + getRegionListCallBack : getRegionListCallBack, + getStatusListCallBack : getStatusListCallBack, + getIssueTypeOfProject : getIssueTypeOfProject }; $scope.vm = { @@ -63,6 +69,23 @@ detectingDateRange : "", // �깘吏��씪 issueCustomFields : [], // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶 removeFiles : [], // �궘�젣 �뙆�씪 + companyTypeId : "", + companyType : "", //湲곗뾽援щ텇 + parentSectorId : "", + parentSector : "", //�뾽醫�(��遺꾨쪟) + childSectorId : "", + childSector : "", //�뾽醫�(以묐텇瑜�) + regionId : "", + region : "", //吏��뿭 + statusId : "", + status : "", //�긽�깭 + }, + typeCategory : { + companyType : "COMPANYTYPE", + parentSector : "PARENTSECTOR", + childSector : "CHILDSECTOR", + region : "REGION", + status : "STATUS" }, id : parameter.id, infiniteAdd : false, // �뿰�냽 �깮�꽦 @@ -75,6 +98,8 @@ companyTel : "", // �뾽泥� �쟾�솕踰덊샇 companyEmail : "", // �뾽泥� �씠硫붿씪 companyUrl : "", // �뾽泥� url + ipStart : "", //ip�떆�옉二쇱냼 + ipEnd : "", //ip醫낅즺二쇱냼 companyMemo : "", // �뾽泥� 鍮꾧퀬 ispId : -1, // ISP ID ispName : "", // ISP 紐� @@ -119,6 +144,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 : { @@ -155,14 +200,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(); } } }); @@ -388,6 +433,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) { @@ -398,79 +477,131 @@ // �뾽泥댁젙蹂� 寃곌낵 媛� 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.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.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; + } }); // �뤌 �쟾�넚 @@ -486,7 +617,47 @@ 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 = -1; + 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 && $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 && $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 && $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 && $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, ispName : $scope.vm.ispName, ispCode : $scope.vm.ispCode, ispManager : $scope.vm.ispManager, @@ -519,31 +690,33 @@ companyId : (function () { var companyId = -1; - - if ($scope.vm.form.issueCompanyFields.length > 0) { + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) { companyId = $scope.vm.form.issueCompanyFields[0].id; } - return companyId; }), ispId : (function () { var ispId = -1; - - if ($scope.vm.form.issueIspFields.length > 0) { + 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 () { var hostingId = -1; - - if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) { + 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; }), @@ -584,14 +757,21 @@ 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, url :$scope.vm.companyUrl, - memo : $scope.vm.companyMemo + 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 }); } @@ -600,11 +780,10 @@ issueIspFields : (function () { var issueIspFields = []; - if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){ - var ispField = $scope.vm.form.issueIspFields[0]; - + 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({ - id : ispField.id, ispId : $scope.vm.ispId, code : $scope.vm.ispCode, name : $scope.vm.ispName, @@ -622,12 +801,10 @@ 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.push({ - id : hostingField.id, hostingId : $scope.vm.hostingId, name : $scope.vm.hostingName, code : $scope.vm.hostingCode, @@ -759,6 +936,39 @@ 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"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣 @@ -963,12 +1173,21 @@ $scope.vm.projectName = $rootScope.workProject.name; $scope.vm.form.projects = []; $scope.vm.form.projects.push($rootScope.workProject); + } else { + $scope.vm.projectName = parameter.project.name; + $scope.vm.form.projects.push(parameter.project); } // �쁽�옱 �씠�뒋���엯 �쑀�삎 �꽕�젙 var id = $rootScope.getCurrentIssueTypeId(); if (id != null) { $scope.vm.form.issueTypeId = id.toString(); + } else { + $scope.vm.form.issueTypeId = parameter.issueTypeId.toString(); } + // �봽濡쒖젥�듃�쓽 �씠�뒋�쑀�삎 set + $scope.fn.getIssueTypeOfProject(); + // �씠�뒋�쑀�삎, �봽濡쒖젥�듃 set �븳 �썑�뿉 �궗�슜�옄�젙�쓽�븘�뱶 set + $scope.fn.getIssueTypeCustomFields(); $log.debug("promises 寃곌낵 ", results); }); } -- Gitblit v1.8.0