From 1dad4d94cc415d2f8092aff0368744289337f504 Mon Sep 17 00:00:00 2001 From: 박지현 <jhpark@maprex.co.kr> Date: 화, 22 2월 2022 14:29:43 +0900 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/webapp/scripts/app/issue/issueModify.controller.js | 745 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 699 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 1795e34..39d20af 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, // �뙘�뾽 李� �떕湲� @@ -19,6 +19,10 @@ formCheck : formCheck, // �뤌 泥댄겕 getUserListCallBack : getUserListCallBack, // �떞�떦�옄 autocomplete �럹�씠吏� getProjectListCallBack : getProjectListCallBack, // �봽濡쒖젥�듃 autocomplete �럹�씠吏� + getIssueCompanyFieldListCallBack : getIssueCompanyFieldListCallBack, // �뾽泥댁젙蹂� autocomplete �럹�씠吏� + getIssueDepartmentListCallBack : getIssueDepartmentListCallBack, // �떞�떦�옄 -> �떞�떦遺��꽌 autocomplete �럹�씠吏� + getIssueIspFieldListCallBack : getIssueIspFieldListCallBack, // ISP�젙蹂� autocomplete �럹�씠吏� + getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack, // �샇�뒪�똿�젙蹂� autocomplete �럹�씠吏� getOptionColor : getOptionColor, // �슦�꽑�닚�쐞, 以묒슂�룄 �깋�긽�쑝濡� Select �깭洹� �쟻�슜 onFileSelect : onFileSelect, // �뙆�씪 泥⑤� imageUpload : imageUpload, // �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶 @@ -30,39 +34,129 @@ setUseValueByIssueTypeCustomFields : setUseValueByIssueTypeCustomFields, // �씠�뒋�뿉�꽌 �궗�슜�옄媛� �꽑�깮�븳 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪쓣 �엯�젰 �뤌�뿉 �뀑�똿�븳�떎. detail : detail, // �씠�뒋 �젙蹂� 議고쉶 removeManager : removeManager, // �떞�떦�옄 �궘�젣 + removeDepartment : removeDepartment, // �떞�떦遺��꽌 �궘�젣 removeUploadFile : removeUploadFile, // �듅�젙 �뙆�씪�쓣 �궘�젣 setIssueTypeTemplate : setIssueTypeTemplate, // �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲� - startExecute : startExecute // 理쒖큹 �떎�뻾 + startExecute : startExecute, // 理쒖큹 �떎�뻾 + containsPartner : containsPartner, + getPartners : getPartners, + getCompanyTypeListCallBack : getCompanyTypeListCallBack, + getParentSectorListCallBack : getParentSectorListCallBack, + getChildSectorListCallBack : getChildSectorListCallBack, + getRegionListCallBack : getRegionListCallBack, + getStatusListCallBack : getStatusListCallBack, }; $scope.vm = { + partnerVos : "", search : { id : parameter.id, - deep : "01" // �봽濡쒖젥�듃 �뿰愿��맂 紐⑤뱺 �젙蹂대�� �뼱�뒓�젙�룄源뚯� 媛��졇�삱吏� 寃곗젙, 01 - �궗�슜�옄, 愿�由ъ옄 �젙蹂� + deep : "02" // �봽濡쒖젥�듃 �뿰愿��맂 紐⑤뱺 �젙蹂대�� �뼱�뒓�젙�룄源뚯� 媛��졇�삱吏� 寃곗젙, 01 - �궗�슜�옄, 愿�由ъ옄 �젙蹂� }, form : { title : "", // �젣紐� description : "", // �궡�슜 projects : [], // �봽濡쒖젥�듃 - issueTypeId : "", // �씠�뒋 �쑀�삎 �븘�씠�뵒 + issueCompanyFields : [], // �뾽泥댁젙蹂� + issueIspFields : [], // ISP �젙蹂� + issueHostingFields : [], // �샇�뒪�똿�젙蹂� + issueTypeId : parameter.issueTypeId, // �씠�뒋 �쑀�삎 �븘�씠�뵒 priorityId : "", // �슦�꽑�닚�쐞 �븘�씠�뵒 severityId : "", // 以묒슂�룄 �븘�씠�뵒 issueStatusId : "", // �씠�뒋 �긽�깭 �븘�씠�뵒 - users : [], // �떞�떦�옄 + // users : [], // �떞�떦�옄 + departments : [], // �떞�떦遺��꽌 files : [], // �뾽濡쒕뱶 �뙆�씪 attachedFiles : [], // �꽟癒몃끂�듃濡� �뙆�씪 �뾽濡쒕뱶瑜� �븷 寃쎌슦 �꽌踰꾩뿉�꽌 pk瑜� �뵲怨� issue id�� �뿰�룞 �옉�뾽�씠 �븘�슂�븯�떎. startCompleteDateRange : "", // �떆�옉�씪 ~ 醫낅즺�씪 issueCustomFields : [], // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶 removeFiles : [], // �궘�젣�븳 �뙆�씪 �젙蹂� + companyTypeId : "", + companyType : "", //湲곗뾽援щ텇 + parentSectorId : "", + parentSector : "", //�뾽醫�(��遺꾨쪟) + childSectorId : "", + childSector : "", //�뾽醫�(以묐텇瑜�) + regionId : "", + region : "", //吏��뿭 + statusId : "", + status : "", //�긽�깭 + }, + typeCategory : { + companyType : "COMPANYTYPE", + parentSector : "PARENTSECTOR", + childSector : "CHILDSECTOR", + region : "REGION", + status : "STATUS" }, projectName : "", // �봽濡쒖젥�듃 紐� 寃��깋 userName : "", // �궗�슜�옄 寃��깋 + departmentName : "", // 遺��꽌紐� 寃��깋 + companyId : -1, + companyName : "", // �뾽泥대챸 寃��깋 + companyManager : "", // �뾽泥� �떞�떦�옄 + companyTel : "", // �뾽泥� �쟾�솕踰덊샇 + companyEmail : "", // �뾽泥� �씠硫붿씪 + companyUrl : "", // �뾽泥� url + companyMemo : "", // �뾽泥� 鍮꾧퀬 + ispId : -1, + ispName : "", // ISP 紐� + ispCode : "", // ISP 肄붾뱶 + ispManager : "", // ISP �떞�떦�옄 + ispTel : "", // ISP �쟾�솕踰덊샇 + ispEmail : "", // ISP �씠硫붿씪 + ispUrl : "", // url + ispMemo : "", // ISP 鍮꾧퀬 + hostingId : -1, + hostingName : "", // �샇�뒪�똿紐� 寃��깋 + hostingManager : "", // �샇�뒪�똿 �떞�떦�옄 + hostingCode : "", // �샇�뒪�똿 肄붾뱶 + hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇 + hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪 + hostingUrl : "", // url + hostingMemo : "", // �샇�뒪�똿 鍮꾧퀬 autoCompletePage : { - user : { + // user : { + // page : 0, + // totalPage : 0 + // }, + project : { page : 0, totalPage : 0 }, - project : { + issueCompanyField : { + page : 0, + totalPage : 0 + }, + department : { + page : 0, + totalPage : 0 + }, + ispField : { + page : 0, + totalPage : 0 + }, + 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 } @@ -75,15 +169,30 @@ priorities : [], // �슦�꽑�닚�쐞 �젙蹂� severities : [], // 以묒슂�룄 �젙蹂� fileTableConfigs : [], // �뙆�씪 �뾽濡쒕뱶 �젙蹂� �뀒�씠釉� + inheritPartners : parameter.inheritPartners, + downTotalCount : parameter.downTotalCount, + usePartner : parameter.usePartner, }; + + // �뿰愿� �씪媛� 愿��젴 + $scope.vm.relationIssueTypes = + [ + { id: 0, name: $filter("translate")("issue.relationIssueType1") }, + { id: 1, name: $filter("translate")("issue.relationIssueType2") }, + { id: 2, name: $filter("translate")("issue.relationIssueType3") }, + { id: 3, name: $filter("translate")("issue.relationIssueType4") }, + { id: 4, name: $filter("translate")("issue.relationIssueType5") }, + { id: 5, name: $filter("translate")("issue.relationIssueType6") } + ]; + $scope.vm.relationIssueType = $scope.vm.relationIssueTypes[0]; angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); - // �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕 + // �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦遺��꽌 珥덇린�솕 $scope.$watch("vm.form.projects", function (newValue, oldValue) { if (angular.isDefined(newValue)) { if (newValue.length < 1) { - $scope.vm.form.users = []; + $scope.vm.form.departments = []; $scope.vm.form.issueCustomFields = []; } else { @@ -93,6 +202,11 @@ } } }); + + $scope.$watch("vm.form.issueTypeId", function (newValue, oldValue) { + $scope.vm.partnerVos = $scope.fn.getPartners(); + }); + // �뾽濡쒕뱶 �뙆�씪 �궘�젣 function removeUploadFile(index) { @@ -117,6 +231,11 @@ // �떞�떦�옄 �궘�젣 function removeManager(index) { $scope.vm.form.users.splice(index, 1); + } + + // �떞�떦遺��꽌 �궘�젣 + function removeDepartment(index) { + $scope.vm.form.departments.splice(index, 1); } // �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶 @@ -262,6 +381,60 @@ $scope.vm.autoCompletePage.project.totalPage = result.data.page.totalPage; } + // �뾽泥댁젙蹂� autocomplete page �뾽�뜲�씠�듃 + function getIssueCompanyFieldListCallBack(result) { + $scope.vm.autoCompletePage.issueCompanyField.totalPage = result.data.page.totalPage; + } + + // 遺��꽌�젙蹂� autocomplete page �뾽�뜲�씠�듃 + function getIssueDepartmentListCallBack(result) { + $scope.vm.autoCompletePage.department.totalPage = result.data.page.totalPage; + } + + // ISP�젙蹂� autocomplete page �뾽�뜲�씠�듃 + function getIssueIspFieldListCallBack(result) { + $scope.vm.autoCompletePage.ispField.totalPage = result.data.page.totalPage; + } + + // �샇�뒪�똿�젙蹂� autocomplete page �뾽�뜲�씠�듃 + function getIssueHostingFieldListCallBack(result) { + $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) { return true; @@ -274,13 +447,213 @@ return false; } + $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; + } + }); + + // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set) + $scope.$on("companyFieldEvent", function (event, result) { + 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.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.form.issueIspFields[0] = angular.copy(ispFieldVo); + $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.form.issueHostingFields[0] = angular.copy(hostingFieldVo); + $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) { + 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) { + 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; + } + }); + function formSubmit() { $rootScope.spinner = true; + let inheritYn = false; var content = { id : parameter.id, title : $rootScope.preventXss($scope.vm.form.title), // �젣紐� description : $rootScope.preventXss($scope.vm.form.description), // �궡�슜 + inheritYn : inheritYn, + companyName : $scope.vm.companyName, + companyManager : $scope.vm.companyManager, + companyTel : $scope.vm.companyTel, + companyEmail :$scope.vm.companyEmail, + companyUrl : $scope.vm.companyUrl, + 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; + } else { + companyTypeId = $scope.vm.form.companyTypeId; + } + 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; + } else { + parentSectorId = $scope.vm.form.parentSectorId; + } + 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; + } else { + childSectorId = $scope.vm.form.childSectorId; + } + 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; + } else { + regionId = $scope.vm.form.regionId; + } + 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 { + statusId = $scope.vm.form.statusId; + } + return statusId; + })(), + statusName : $scope.vm.form.status, + + 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, + 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, + projectId : (function () { // �봽濡쒖젥�듃 �븘�씠�뵒 var projectId = ""; @@ -290,10 +663,42 @@ return projectId; })(), + issueTypeId : $scope.vm.form.issueTypeId, // �씠�뒋 �쑀�삎 �븘�씠�뵒 priorityId : $scope.vm.form.priorityId, // �슦�꽑�닚�쐞 �븘�씠�뵒 severityId : $scope.vm.form.severityId, // 以묒슂�룄 �븘�씠�뵒 issueStatusId : $scope.vm.form.issueStatusId, // �씠�뒋 �긽�깭 �븘�씠�뵒 + + companyId : (function () { + 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 () { + var ispId = null; + + 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 = null; + + if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) { + hostingId = $scope.vm.form.issueHostingFields[0].id; + } + + return hostingId; + }), + userIds : (function () { var userIds = []; @@ -303,7 +708,16 @@ return userIds; })(), - removeFiles : $scope.vm.form.removeFiles, + departmentIds : (function () { + var departmentIds = []; + + angular.forEach($scope.vm.form.departments, function (department) { + departmentIds.push(department.id); + }); + + return departmentIds; + })(), + attachedFileIds : (function () { var attachedFileIds = []; @@ -315,7 +729,96 @@ 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]; + //�궗�슜�옄媛� 吏곸젒 �뾽泥� 異붽� �븷 寃쎌슦 + if ($rootScope.isDefined(companyField) && companyField.name !== $scope.vm.companyName) { + return issueCompanyFields; + } + + 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, + 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; + })(), + + issueIspFields : (function () { + var issueIspFields = []; + 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 ){ + + var ispField = $scope.vm.form.issueIspFields[0]; + //�궗�슜�옄媛� 吏곸젒 ISP 異붽� �븷 寃쎌슦 + if ($rootScope.isDefined(ispField) && ispField.name !== $scope.vm.ispName) { + return issueIspFields; + } + + issueIspFields.push({ + ispId : $scope.vm.ispId, + code : $scope.vm.ispCode, + name : $scope.vm.ispName, + manager : $scope.vm.ispManager, + tel : $scope.vm.ispTel, + email :$scope.vm.ispEmail, + url :$scope.vm.ispUrl, + memo : $scope.vm.ispMemo + }); + + } + + return issueIspFields; + })(), + + issueHostingFields : (function () { + var issueHostingFields = []; + 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 ){ + + var hostingField = $scope.vm.form.issueHostingFields[0]; + //�궗�슜�옄媛� 吏곸젒 �샇�뒪�똿 異붽� �븷 寃쎌슦 + if ($rootScope.isDefined(hostingField) && hostingField.name !== $scope.vm.hostingName) { + return issueHostingFields; + } + + issueHostingFields.push({ + 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; + })(), + + removeFiles : $scope.vm.form.removeFiles, startCompleteDateRange : $scope.vm.form.startCompleteDateRange, + issueCustomFields : (function () { // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶 var issueCustomFields = []; @@ -341,42 +844,101 @@ })() }; - Issue.modify({ - method : "POST", - file : (function () { - var files = []; - - angular.forEach($scope.vm.form.files, function (file) { - if (angular.isUndefined(file.id)) { - files.push(file); - } - }); - - return files; - })(), - // data �냽�꽦�쑝濡� 蹂꾨룄�쓽 �뜲�씠�꽣 �쟾�넚 - fields : { - content : content + if ($rootScope.isDefined($scope.vm.usePartner) && $scope.vm.usePartner.length > 0 + && $rootScope.isDefined($scope.vm.inheritPartners) && $scope.vm.inheritPartners + && $rootScope.isDefined($scope.vm.downTotalCount) && $scope.vm.downTotalCount > 0) { + SweetAlert.swal({ + title : $filter("translate")("issue.modifyIssues"), // �씠�뒋 蹂�寃� + text : $filter("translate")("issue.wantToInheritPartnersOfIssue"), // �쁽�옱 �씠�뒋�쓽 �뙆�듃�꼫 �젙蹂�(�뾽泥�/ISP/�샇�뒪�똿)瑜� 紐⑤뱺 �븯�쐞�씠�뒋�뿉 �씪愿� �쟻�슜�떆�궎寃좎뒿�땲源�? + type : "warning", + showCancelButton : true, + confirmButtonColor : "#DD6B55", + confirmButtonText : $filter("translate")("common.ok"), // �꽕 + cancelButtonText : $filter("translate")("common.no"), // �븘�땲�삤 + closeOnConfirm : false, + closeOnCancel : false }, - fileFormDataName : "file" - }).then(function (result) { + function (isConfirm) { + if (isConfirm) { + inheritYn = true; + content.inheritYn = true; + } - if (result.data.message.status === "success") { - $scope.fn.cancel(); + Issue.modify({ + method : "POST", + file : (function () { + var files = []; - // �씠�뒋 �긽�꽭 �솕硫� �슂泥� - $rootScope.$broadcast("getIssueDetail", { - id : parameter.id + angular.forEach($scope.vm.form.files, function (file) { + if (angular.isUndefined(file.id)) { + files.push(file); + } + }); + + return files; + })(), + // data �냽�꽦�쑝濡� 蹂꾨룄�쓽 �뜲�씠�꽣 �쟾�넚 + fields : { + content : content + }, + fileFormDataName : "file" + }).then(function (result) { + + if (result.data.message.status === "success") { + $scope.fn.cancel(); + + // �씠�뒋 �긽�꽭 �솕硫� �슂泥� + $rootScope.$broadcast("getIssueDetail", { + id : parameter.id + }); + + $rootScope.$broadcast("getIssueList"); + } + else { + SweetAlert.error($filter("translate")("issue.failedIssueModify"), result.data.message.message); // �씠�뒋 �닔�젙 �떎�뙣 + } + + $rootScope.spinner = false; }); + }); + } else { + Issue.modify({ + method : "POST", + file : (function () { + var files = []; - $rootScope.$broadcast("getIssueList"); - } - else { - SweetAlert.error($filter("translate")("issue.failedIssueModify"), result.data.message.message); // �씠�뒋 �닔�젙 �떎�뙣 - } + angular.forEach($scope.vm.form.files, function (file) { + if (angular.isUndefined(file.id)) { + files.push(file); + } + }); - $rootScope.spinner = false; - }); + return files; + })(), + // data �냽�꽦�쑝濡� 蹂꾨룄�쓽 �뜲�씠�꽣 �쟾�넚 + fields : { + content : content + }, + fileFormDataName : "file" + }).then(function (result) { + + if (result.data.message.status === "success") { + $scope.fn.cancel(); + + // �씠�뒋 �긽�꽭 �솕硫� �슂泥� + $rootScope.$broadcast("getIssueDetail", { + id : parameter.id + }); + + $rootScope.$broadcast("getIssueList"); + } + else { + SweetAlert.error($filter("translate")("issue.failedIssueModify"), result.data.message.message); // �씠�뒋 �닔�젙 �떎�뙣 + } + + $rootScope.spinner = false; + }); + } } function cancel() { @@ -424,6 +986,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; + } // 以묒슂�룄 紐⑸줉 @@ -486,6 +1063,12 @@ switch (issueTypeCustomField.customFieldVo.customFieldType) { case "INPUT" : case "SINGLE_SELECT" : + case "NUMBER" : + case "DATETIME" : + case "IP_ADDRESS" : + case "EMAIL" : + case "SITE" : + case "TEL" : issueTypeCustomField.useValues = ""; break; @@ -524,8 +1107,8 @@ // �씠�뒋 �긽�꽭 �젙蹂� function detail() { + $rootScope.spinner = true; var deferred = $q.defer(); - Issue.detail($resourceProvider.getContent( $scope.vm.search, $resourceProvider.getPageContent(0, 1))).then(function (result) { @@ -534,14 +1117,65 @@ if (angular.isDefined(result.data.data)) { $scope.vm.form.title = result.data.data.title; $scope.vm.form.description = result.data.data.description; + $scope.vm.form.projects.push(result.data.data.projectVo); $scope.vm.projectName = result.data.data.projectVo.name; + $scope.vm.form.issueTypeId = String(result.data.data.issueTypeVo.id); $scope.vm.form.priorityId = String(result.data.data.priorityVo.id); $scope.vm.form.severityId = String(result.data.data.severityVo.id); $scope.vm.form.issueStatusId = String(result.data.data.issueStatusVo.id); + $scope.vm.form.users = result.data.data.userVos; + $scope.vm.form.departments = result.data.data.departmentVos; $scope.vm.form.files = result.data.data.attachedFileVos; + + 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.companyUrl = issueCompanyFieldValue.url; + $scope.vm.companyMemo = issueCompanyFieldValue.memo; + $scope.vm.form.companyTypeId = issueCompanyFieldValue.companyTypeId; + $scope.vm.form.companyType = issueCompanyFieldValue.companyTypeName; + $scope.vm.form.parentSectorId = issueCompanyFieldValue.parentSectorId; + $scope.vm.form.parentSector = issueCompanyFieldValue.parentSectorName; + $scope.vm.form.childSectorId = issueCompanyFieldValue.childSectorId; + $scope.vm.form.childSector = issueCompanyFieldValue.childSectorName; + $scope.vm.form.regionId = issueCompanyFieldValue.regionId; + $scope.vm.form.region = issueCompanyFieldValue.regionName; + $scope.vm.form.statusId = issueCompanyFieldValue.statusId; + $scope.vm.form.status = issueCompanyFieldValue.statusName; + } + 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.ispUrl = issueIspFieldValue.url; + $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.hostingUrl = issueHostingFieldValue.url; + $scope.vm.hostingMemo = issueHostingFieldValue.memo; + } if ($rootScope.isDefined(result.data.data.startDate)) { $scope.vm.form.startCompleteDateRange = result.data.data.startDate + " ~ " + result.data.data.completeDate; @@ -559,10 +1193,9 @@ else { SweetAlert.error($filter("translate")("issue.failedToProjectDetails"), result.data.message.message); // �봽濡쒖젥�듃 �긽�꽭 �젙蹂� 議고쉶 �떎�뙣 } - + $rootScope.spinner = false; deferred.resolve(result.data.data); }); - return deferred.promise; } @@ -606,6 +1239,25 @@ } } + function getPartners() { + if($scope.vm.form.issueTypeId === ""){ + if ($rootScope.issueTypeMenu != null) { + $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id + } + } + var content = { + issueTypeId : $scope.vm.form.issueTypeId, + }; + Issue.findPartners($resourceProvider.getContent( + content, + $resourceProvider.getPageContent(0, 1))).then(function (result) { + if (result.data.message.status === "success") { + $scope.vm.partnerVos = result.data.data; + } + }); + + } + // 理쒖큹 �떎�뻾 function startExecute() { @@ -613,7 +1265,8 @@ 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) { @@ -623,4 +1276,4 @@ $scope.fn.startExecute(); }]); - }); + }); \ No newline at end of file -- Gitblit v1.8.0