From 1ff84ea2402eed9d97b4a57837a93edd61f557c0 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 10 2월 2022 17:14:59 +0900
Subject: [PATCH] - 이슈 담당부서 수정시 프로젝트 내의 부서로 검색 가능하도록 수정 - 이슈 유형의 '사용 프로젝트'의 담당부서를 '워크플로우'의 담당부서로 세팅

---
 src/main/webapp/scripts/components/utils/autoComplete.controller.js |  169 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 157 insertions(+), 12 deletions(-)

diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
index d0b6c23..ab73af6 100644
--- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js
+++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
@@ -25,6 +25,7 @@
                 var IssueType = $injector.get("IssueType");
                 var IssueTypeCustomField = $injector.get("IssueTypeCustomField");
                 var CustomField = $injector.get("CustomField");
+                var CompanyFieldCategory = $injector.get("CompanyFieldCategory");
                 var $log = $injector.get("$log");
                 var SweetAlert = $injector.get("SweetAlert");
 
@@ -32,6 +33,7 @@
                 $scope.fn.getUserList = getUserList;    //  �궗�슜�옄 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getProjectList = getProjectList;  //  �봽濡쒖젥�듃 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getIssueList = getIssueList;  //  �씪媛� 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getParentIssueList = getParentIssueList;   // �긽�쐞 �씠�뒋 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getRelIssueList = getRelIssueList;   // �뿰愿� �씠�뒋 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getDownIssueList = getDownIssueList;  //  �븯�쐞 �씠�뒋 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getWorkflowList = getWorkflowList;    //  �썙�겕�뵆濡쒖슦 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
@@ -45,6 +47,8 @@
                 $scope.fn.getCustomFieldList = getCustomFieldList;          // �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 議고쉶
                 $scope.fn.getMailTargetAll = getMailTargetAll;          // �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 議고쉶
                 $scope.fn.getIssueTypeCustomFieldList = getIssueTypeCustomFieldList;      // �씠�뒋 �쑀�삎�뿉�꽌 �궗�슜以묒씤 �궗�슜�옄�젙�쓽 �븘�뱶媛��졇�삤湲�
+                $scope.fn.getCompanyTypeCategory = getCompanyTypeCategory;    //  �뾽泥� 移댄뀒怨좊━ 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getCompanyChildSector = getCompanyChildSector;    //  �뾽泥� 移댄뀒怨좊━ 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
 
                 function getUserList(query, excludeList, page, callBack) {
                     var conditions = {
@@ -172,7 +176,7 @@
                     return deferred.promise;
                 }
 
-                function getRelIssueList(query, issueTypeId, excludeList, page, callBack) {
+                function getParentIssueList(query, issueTypeId, excludeList, page, callBack) {
                     var conditions = {
                         name : query,
                         excludeIds : (function () {
@@ -182,6 +186,54 @@
                                 excludeIds.push(exclude.id);
                             });
                             return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+                    if ($rootScope.isDefined(page) && page > 0) {
+                        $rootScope.spinner = true;
+                    }
+
+                    Issue.find($resourceProvider.getContent(
+                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToIssueListLookUp"), result.data.message.message, "error"); // "�썙�겕�뵆濡쒖슦 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                        $rootScope.spinner = false;
+                    });
+                    return deferred.promise;
+                }
+
+                function getRelIssueList(parentYN, project, query, issueTypeId, excludeList, page, callBack) {
+                    var conditions = {
+                        name : query,
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+                            return excludeIds;
+                        })(),
+                        parentYN : parentYN,
+                        projectIds : (function () {
+                            var projectIds = [];
+                            if (project != null) {
+                                if (project.length < 1) {
+                                    SweetAlert.swal($filter("translate")("common.failedToIssueListLookUp"), $filter("translate")("common.selectToProjectListLookUp"), "error"); // "�봽濡쒖젥�듃瑜� 癒쇱� �꽑�깮 �빐 二쇱꽭�슂."
+                                }
+                                if ($rootScope.isDefined(project[0])) {
+                                    projectIds.push(project[0].id);
+                                }
+                            }
+                            return projectIds;
                         })()
                     };
 
@@ -318,7 +370,7 @@
 
                 function getIssueCompanyFieldList(query, excludeList, page, callBack) {
                     var conditions = {
-                        companyName : query,
+                        name : query,
                         excludeIds : (function () {
                             var excludeIds = [];
 
@@ -335,7 +387,7 @@
 
 
                     CompanyField.find($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
-                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
+                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 100 : 1000))).then(function (result) {
                         if (result.data.message.status === "success") {
                             if ($rootScope.isDefined(callBack)) {
                                 callBack(result);
@@ -354,7 +406,7 @@
                 function getIssueDepartmentList(issueTypeId, query, excludeList, page, callBack) {
                     var conditions = {
                         //issueTypeId : $scope.vm.form.issueTypeId,
-                        issueTypeId : issueTypeId,
+                        issueTypeId : Number(issueTypeId),
                         departmentName : query,
                         userId : $rootScope.user.id,
                         projectId : (function () {
@@ -382,8 +434,8 @@
                     var deferred = $q.defer();
 
 
-                    //�썙�겕�뵆濡쒖슦�뿉 �냽�빐�엳�뒗 �떞�떦遺��꽌 李얘린
-                    UserWorkspace.findWorkflowDepartment($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
+                    //�봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �떞�떦遺��꽌 李얘린
+                    UserWorkspace.findProjectDepartment($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
                         conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
                         if (result.data.message.status === "success") {
                             const departments = result.data.data;
@@ -410,7 +462,7 @@
 
                 function getIssueIspFieldList(query, excludeList, page, callBack) {
                     var conditions = {
-                        ispName : query,
+                        name : query,
                         excludeIds : (function () {
                             var excludeIds = [];
 
@@ -425,7 +477,7 @@
                     var deferred = $q.defer();
 
                     IspField.find($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
-                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
+                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 100 : 1000))).then(function (result) {
                         if (result.data.message.status === "success") {
                             if ($rootScope.isDefined(callBack)) {
                                 callBack(result);
@@ -443,7 +495,7 @@
 
                 function getIssueHostingFieldList(query, excludeList, page, callBack) {
                     var conditions = {
-                        hostingName : query,
+                        name : query,
                         excludeIds : (function () {
                             var excludeIds = [];
 
@@ -470,6 +522,91 @@
                         else {
                             SweetAlert.swal($filter("translate")("common.failedToProjectListLookUp"), result.data.message.message, "error"); // "�봽濡쒖젥�듃 紐⑸줉 議고쉶 �떎�뙣"
                         }
+                    });
+
+                    return deferred.promise;
+                }
+
+                function getCompanyTypeCategory(typeCategory, query, excludeList, page, callBack) {
+                    var conditions = {
+                        typeCategory : typeCategory,
+                        useValue : query,
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+                    if ($rootScope.isDefined(page) && page > 0) {
+                        $rootScope.spinner = true;
+                    }
+
+                    CompanyFieldCategory.find($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
+                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 100 : 1000))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToCompanyCategoryListLookUp"), result.data.message.message, "error");
+                        }
+                        $rootScope.spinner = false;
+                    });
+
+                    return deferred.promise;
+                }
+
+                function getCompanyChildSector(parentSector, parentSectorId, typeCategory, query, excludeList, page, callBack) {
+                    var conditions = {
+                        parentId : (function () {   // �뾽醫�(��遺꾨쪟)
+                            var parentId = "";
+                            if (parentSector != null && parentSector !== "") {
+                                parentId = parentSector;
+                            }else {
+                                parentId = parentSectorId;
+                            }
+                            return parentId;
+                        })(),
+                        typeCategory : typeCategory,
+                        useValue : query,
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+                    if ($rootScope.isDefined(page) && page > 0) {
+                        $rootScope.spinner = true;
+                    }
+
+                    CompanyFieldCategory.find($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
+                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 100 : 1000))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToCompanyCategoryListLookUp"), result.data.message.message, "error");
+                        }
+                        $rootScope.spinner = false;
                     });
 
                     return deferred.promise;
@@ -625,11 +762,19 @@
                     var deferred = $q.defer();
 
                     var partners = $scope.vm.partners.slice();
-                    if (excludeList != null && excludeList.length > 0) {
+                    if (excludeList != null && excludeList.id.length > 0) {
+                        var filterData = excludeList.id.filter(function(item, idx){
+                            return excludeList.id.findIndex(function(item2, idx2){
+                                return item === item2
+                            }) == idx;
+                        });
                         for (let i = partners.length - 1 ; i >= 0 ; i--) {
-                            excludeList.forEach(function (exclude) {
-                                if (partners[i].id === exclude.id) {
+                            filterData.forEach(function (exclude) {
+                                if (partners[i] != null && partners[i].id === exclude) {
                                     partners.splice(i, 1);
+                                    if (partners[i] == null) {
+                                        return false;
+                                    }
                                 }
                             });
                         }

--
Gitblit v1.8.0