From d348049a4a3c9fa32c3eb566c69df6d8adf652a8 Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 월, 29 11월 2021 01:57:02 +0900 Subject: [PATCH] 이슈 상세 유형별 수정 --- src/main/webapp/scripts/app/issue/issueModify.controller.js | 214 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 168 insertions(+), 46 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js index 5bc24a4..8d55538 100644 --- a/src/main/webapp/scripts/app/issue/issueModify.controller.js +++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js @@ -9,9 +9,9 @@ ], function (app, angular) { app.controller('issueModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$injector', - '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'parameter', 'Issue', 'User', 'AttachedFile', 'IssueType', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', + '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'parameter', 'Issue', 'User', 'AttachedFile', 'IssueType', 'Priority', 'Severity', 'HostingField', 'IssueTypeCustomField', '$filter', function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $injector, $controller, $tableProvider, SweetAlert, $timeout, - $stateParams, $q, parameter, Issue, User, AttachedFile, IssueType, Priority, Severity, IssueTypeCustomField, $filter) { + $stateParams, $q, parameter, Issue, User, AttachedFile, IssueType, Priority, Severity, HostingField, IssueTypeCustomField, $filter) { $scope.fn = { cancel : cancel, // �뙘�뾽 李� �떕湲� @@ -33,17 +33,20 @@ setFormByIssueTypeCustomFields : setFormByIssueTypeCustomFields, // �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� �엯�젰 �뤌�뿉�꽌 �궗�슜�븷 �닔 �엳寃� 媛�怨듯븳�떎. setUseValueByIssueTypeCustomFields : setUseValueByIssueTypeCustomFields, // �씠�뒋�뿉�꽌 �궗�슜�옄媛� �꽑�깮�븳 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪쓣 �엯�젰 �뤌�뿉 �뀑�똿�븳�떎. detail : detail, // �씠�뒋 �젙蹂� 議고쉶 - // removeManager : removeManager, // �떞�떦�옄 �궘�젣 + removeManager : removeManager, // �떞�떦�옄 �궘�젣 removeDepartment : removeDepartment, // �떞�떦遺��꽌 �궘�젣 removeUploadFile : removeUploadFile, // �듅�젙 �뙆�씪�쓣 �궘�젣 setIssueTypeTemplate : setIssueTypeTemplate, // �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲� - startExecute : startExecute // 理쒖큹 �떎�뻾 + startExecute : startExecute, // 理쒖큹 �떎�뻾 + containsPartner : containsPartner, + getPartners : getPartners }; $scope.vm = { + partnerVos : "", search : { id : parameter.id, - deep : "01" // �봽濡쒖젥�듃 �뿰愿��맂 紐⑤뱺 �젙蹂대�� �뼱�뒓�젙�룄源뚯� 媛��졇�삱吏� 寃곗젙, 01 - �궗�슜�옄, 愿�由ъ옄 �젙蹂� + deep : "02" // �봽濡쒖젥�듃 �뿰愿��맂 紐⑤뱺 �젙蹂대�� �뼱�뒓�젙�룄源뚯� 媛��졇�삱吏� 寃곗젙, 01 - �궗�슜�옄, 愿�由ъ옄 �젙蹂� }, form : { title : "", // �젣紐� @@ -56,7 +59,7 @@ priorityId : "", // �슦�꽑�닚�쐞 �븘�씠�뵒 severityId : "", // 以묒슂�룄 �븘�씠�뵒 issueStatusId : "", // �씠�뒋 �긽�깭 �븘�씠�뵒 - // users : [], // �떞�떦�옄 + users : [], // �떞�떦�옄 departments : [], // �떞�떦遺��꽌 files : [], // �뾽濡쒕뱶 �뙆�씪 attachedFiles : [], // �꽟癒몃끂�듃濡� �뙆�씪 �뾽濡쒕뱶瑜� �븷 寃쎌슦 �꽌踰꾩뿉�꽌 pk瑜� �뵲怨� issue id�� �뿰�룞 �옉�뾽�씠 �븘�슂�븯�떎. @@ -67,18 +70,21 @@ projectName : "", // �봽濡쒖젥�듃 紐� 寃��깋 userName : "", // �궗�슜�옄 寃��깋 departmentName : "", // 遺��꽌紐� 寃��깋 + companyId : -1, companyName : "", // �뾽泥대챸 寃��깋 companyCode : "", // �뾽泥� 肄붾뱶 companyManager : "", // �뾽泥� �떞�떦�옄 companyTel : "", // �뾽泥� �쟾�솕踰덊샇 companyEmail : "", // �뾽泥� �씠硫붿씪 companyMemo : "", // �뾽泥� 鍮꾧퀬 + ispId : -1, ispName : "", // ISP 紐� ispCode : "", // ISP 肄붾뱶 ispManager : "", // ISP �떞�떦�옄 ispTel : "", // ISP �쟾�솕踰덊샇 ispEmail : "", // ISP �씠硫붿씪 ispMemo : "", // ISP 鍮꾧퀬 + hostingId : -1, hostingName : "", // �샇�뒪�똿紐� 寃��깋 hostingManager : "", // �샇�뒪�똿 �떞�떦�옄 hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇 @@ -137,6 +143,11 @@ } }); + $scope.$watch("vm.form.issueTypeId", function (newValue, oldValue) { + $scope.vm.partnerVos = $scope.fn.getPartners(); + }); + + // �뾽濡쒕뱶 �뙆�씪 �궘�젣 function removeUploadFile(index) { var temp = []; @@ -158,9 +169,9 @@ } // �떞�떦�옄 �궘�젣 - // function removeManager(index) { - // $scope.vm.form.users.splice(index, 1); - // } + function removeManager(index) { + $scope.vm.form.users.splice(index, 1); + } // �떞�떦遺��꽌 �궘�젣 function removeDepartment(index) { @@ -345,7 +356,8 @@ // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set) $scope.$on("companyFieldEvent", function (event, result) { - $scope.vm.issuecompanyId = result[0].id; + $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; @@ -355,6 +367,8 @@ // 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; @@ -364,6 +378,8 @@ // �샇�뒪�똿�젙蹂� 寃곌낵 媛� 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; @@ -378,6 +394,24 @@ id : parameter.id, title : $rootScope.preventXss($scope.vm.form.title), // �젣紐� description : $rootScope.preventXss($scope.vm.form.description), // �궡�슜 + companyName : $scope.vm.companyName, + companyManager : $scope.vm.companyManager, + companyTel : $scope.vm.companyTel, + companyEmail :$scope.vm.companyEmail, + companyMemo : $scope.vm.companyMemo, + ispName : $scope.vm.ispName, + ispCode : $scope.vm.ispCode, + ispManager : $scope.vm.ispManager, + ispTel : $scope.vm.ispTel, + ispEmail : $scope.vm.ispEmail, + ispMemo : $scope.vm.ispMemo, + hostingName : $scope.vm.hostingName, + hostingCode : $scope.vm.hostingCode, + hostingManager : $scope.vm.hostingManager, + hostingTel : $scope.vm.hostingTel, + hostingEmail : $scope.vm.hostingEmail, + hostingMemo : $scope.vm.hostingMemo, + projectId : (function () { // �봽濡쒖젥�듃 �븘�씠�뵒 var projectId = ""; @@ -387,38 +421,41 @@ return projectId; })(), - companyId : (function () { // �봽濡쒖젥�듃 �븘�씠�뵒 - var issueCompanyId = ""; + + issueTypeId : $scope.vm.form.issueTypeId, // �씠�뒋 �쑀�삎 �븘�씠�뵒 + priorityId : $scope.vm.form.priorityId, // �슦�꽑�닚�쐞 �븘�씠�뵒 + severityId : $scope.vm.form.severityId, // 以묒슂�룄 �븘�씠�뵒 + issueStatusId : $scope.vm.form.issueStatusId, // �씠�뒋 �긽�깭 �븘�씠�뵒 + + companyId : (function () { + var companyId = -1; if ($scope.vm.form.issueCompanyFields.length > 0) { - issueCompanyId = $scope.vm.form.issueCompanyFields[0].id; + companyId = $scope.vm.form.issueCompanyFields[0].id; } - return issueCompanyId; - })(), + return companyId; + }), ispId : (function () { - var ispId = ""; + var ispId = -1; if ($scope.vm.form.issueIspFields.length > 0) { ispId = $scope.vm.form.issueIspFields[0].id; } return ispId; - })(), + }), + hostingId : (function () { - var hostingId = ""; + var hostingId = -1; if ($scope.vm.form.issueHostingFields.length > 0) { hostingId = $scope.vm.form.issueHostingFields[0].id; } return hostingId; - })(), - issueTypeId : $scope.vm.form.issueTypeId, // �씠�뒋 �쑀�삎 �븘�씠�뵒 - priorityId : $scope.vm.form.priorityId, // �슦�꽑�닚�쐞 �븘�씠�뵒 - severityId : $scope.vm.form.severityId, // 以묒슂�룄 �븘�씠�뵒 - issueStatusId : $scope.vm.form.issueStatusId, // �씠�뒋 �긽�깭 �븘�씠�뵒 + }), userIds : (function () { var userIds = []; @@ -438,7 +475,7 @@ return departmentIds; })(), - removeFiles : $scope.vm.form.removeFiles, + attachedFileIds : (function () { var attachedFileIds = []; @@ -450,40 +487,70 @@ return attachedFileIds; })(), - startCompleteDateRange : $scope.vm.form.startCompleteDateRange, issueCompanyFields : (function () { var issueCompanyFields = []; + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){ + var companyField = $scope.vm.form.issueCompanyFields[0]; - var issueCompanyField = $scope.vm.form.issueCompanyFields[0]; - issueCompanyFields.companyId = issueCompanyField.id; - issueCompanyField.id = null; - issueCompanyFields.push(issueCompanyField); + 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 + }); + } return issueCompanyFields; })(), issueIspFields : (function () { var issueIspFields = []; + if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){ + var ispField = $scope.vm.form.issueIspFields[0]; - var ispField = $scope.vm.form.issueIspFields[0]; - issueIspFields.ispId = ispField.id; - ispField.id = null; - issueIspFields.push(ispField); + issueIspFields.push({ + id : ispField.id, + ispId : $scope.vm.ispId, + code : $scope.vm.ispCode, + name : $scope.vm.ispName, + manager : $scope.vm.ispManager, + tel : $scope.vm.ispTel, + email :$scope.vm.ispEmail, + memo : $scope.vm.ispMemo + }); + + } return issueIspFields; })(), issueHostingFields : (function () { var issueHostingFields = []; + if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){ - var hostingField = $scope.vm.form.issueHostingFields[0]; - issueHostingFields.hostingId = hostingField.id; - hostingField.id = null; - issueHostingFields.push(hostingField); + var hostingField = $scope.vm.form.issueHostingFields[0]; + + issueHostingFields.push({ + 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, + memo : $scope.vm.hostingMemo + }); + } return issueHostingFields; })(), + + removeFiles : $scope.vm.form.removeFiles, + startCompleteDateRange : $scope.vm.form.startCompleteDateRange, issueCustomFields : (function () { // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶 var issueCustomFields = []; @@ -593,6 +660,21 @@ }); return deferred.promise; + } + + // �뾽泥�/ISP/�샇�뒪�똿 �씠由꾩씠 �룷�븿 �뿬遺� �솗�씤 + function containsPartner(name) { + var result = false; + + if ($scope.vm.partnerVos != null) { + $scope.vm.partnerVos.forEach(function (partnerVo) { + if (name === partnerVo.name) { + result = true; + } + }); + } + return result; + } // 以묒슂�룄 紐⑸줉 @@ -715,13 +797,41 @@ $scope.vm.form.users = result.data.data.userVos; $scope.vm.form.departments = result.data.data.departmentVos; $scope.vm.form.files = result.data.data.attachedFileVos; - // issueVo �뿉 get & set �꽕�젙媛� �꽕�젙 ex)issueCompanyVos - $scope.vm.form.issueCompanyFields = result.data.data.issueCompanyVos; - // - $scope.vm.form.issueIspFields = result.data.data.issueIspVos; - // - $scope.vm.form.issueHostingFields = result.data.data.issueHostingVos; - // + + if (result.data.data.issueCompanyVos != null && result.data.data.issueCompanyVos.length > 0) { + $scope.vm.form.issueCompanyFields = result.data.data.issueCompanyVos; + var issueCompanyFieldValue = result.data.data.issueCompanyVos[0]; + $scope.vm.companyId = issueCompanyFieldValue.companyId; + $scope.vm.companyName = issueCompanyFieldValue.name; + $scope.vm.companyManager = issueCompanyFieldValue.manager; + $scope.vm.companyTel = issueCompanyFieldValue.tel; + $scope.vm.companyEmail = issueCompanyFieldValue.email; + $scope.vm.companyMemo = issueCompanyFieldValue.memo; + } + if (result.data.data.issueIspVos != null && result.data.data.issueIspVos.length > 0) { + $scope.vm.form.issueIspFields = result.data.data.issueIspVos; + var issueIspFieldValue = result.data.data.issueIspVos[0]; + $scope.vm.ispId = issueIspFieldValue.ispId; + $scope.vm.ispName = issueIspFieldValue.name; + $scope.vm.ispCode = issueIspFieldValue.code; + $scope.vm.ispManager = issueIspFieldValue.manager; + $scope.vm.ispTel = issueIspFieldValue.tel; + $scope.vm.ispEmail = issueIspFieldValue.email; + $scope.vm.ispMemo = issueIspFieldValue.memo; + } + + if (result.data.data.issueHostingVos != null && result.data.data.issueHostingVos.length > 0) { + $scope.vm.form.issueHostingFields = result.data.data.issueHostingVos; + var issueHostingFieldValue = result.data.data.issueHostingVos[0]; + $scope.vm.hostingId = issueHostingFieldValue.hostingId; + $scope.vm.hostingName = issueHostingFieldValue.name; + $scope.vm.hostingCode = issueHostingFieldValue.code; + $scope.vm.hostingManager = issueHostingFieldValue.manager; + $scope.vm.hostingTel = issueHostingFieldValue.tel; + $scope.vm.hostingEmail = issueHostingFieldValue.email; + $scope.vm.hostingMemo = issueHostingFieldValue.memo; + } + if ($rootScope.isDefined(result.data.data.startDate)) { $scope.vm.form.startCompleteDateRange = result.data.data.startDate + " ~ " + result.data.data.completeDate; } @@ -785,14 +895,26 @@ } } + function getPartners() { + + HostingField.getPartnerList($resourceProvider.getContent( + {}, + $resourceProvider.getPageContent(0, 1))).then(function (result) { + if (result.data.message.status === "success") { + $scope.vm.partnerVos = result.data.data.usePartnerVos; + } + }); + + } + // 理쒖큹 �떎�뻾 function startExecute() { var promises = { detail : $scope.fn.detail(), getIssueTypes : $scope.fn.getIssueTypes(), - getPriorities : $scope.fn.getPriorities(), - getSeverities : $scope.fn.getSeverities() + getSeverities : $scope.fn.getSeverities(), + getPartners : $scope.fn.getPartners() }; $q.all(promises).then(function (results) { -- Gitblit v1.8.0