From 30ddd2cf095d2857ba1134fb3deaf51392ef1030 Mon Sep 17 00:00:00 2001
From: jhjang <jhjang@maprex.co.kr>
Date: 화, 07 12월 2021 21:31:45 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa

---
 src/main/webapp/scripts/components/utils/autoComplete.controller.js |  382 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 378 insertions(+), 4 deletions(-)

diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
index 4e36089..6402006 100644
--- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js
+++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
@@ -17,7 +17,13 @@
                 var User = $injector.get("User");
                 var Project = $injector.get("Project");
                 var Workflow = $injector.get("Workflow");
+                var CompanyField = $injector.get("CompanyField");
                 var Issue = $injector.get("Issue");
+                var UserWorkspace = $injector.get("UserWorkspace");
+                var IspField = $injector.get("IspField");
+                var HostingField = $injector.get("HostingField");
+                var IssueType = $injector.get("IssueType");
+                var CustomField = $injector.get("CustomField");
                 var $log = $injector.get("$log");
                 var SweetAlert = $injector.get("SweetAlert");
 
@@ -25,7 +31,17 @@
                 $scope.fn.getUserList = getUserList;    //  �궗�슜�옄 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getProjectList = getProjectList;  //  �봽濡쒖젥�듃 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getIssueList = getIssueList;  //  �씪媛� 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getDownIssueList = getDownIssueList;  //  �븯�쐞 �씠�뒋 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
                 $scope.fn.getWorkflowList = getWorkflowList;    //  �썙�겕�뵆濡쒖슦 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getUserDepartmentList = getUserDepartmentList;    //  遺��꽌 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getIssueCompanyFieldList = getIssueCompanyFieldList;    //  �뾽泥� 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getIssueDepartmentList = getIssueDepartmentList;    //  �떞�떦�옄 -> �떞�떦遺��꽌 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getIssueIspFieldList = getIssueIspFieldList;    //  ISP 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getIssueHostingFieldList = getIssueHostingFieldList;    //  �샇�뒪�똿 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getPartnerList = getPartnerList;          // �뾽泥�/isp/�샇�뒪�똿 紐⑸줉 議고쉶
+                $scope.fn.getIssueTypeList = getIssueTypeList;          // �씠�뒋 �쑀�삎 紐⑸줉 議고쉶
+                $scope.fn.getCustomFieldList = getCustomFieldList;          // �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 議고쉶
+                $scope.fn.getMailTargetAll = getMailTargetAll;          // �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 議고쉶
 
                 function getUserList(query, excludeList, page, callBack) {
                     var conditions = {
@@ -50,7 +66,8 @@
                             });
 
                             return excludeIds;
-                        })()
+                        })(),
+                        issueId : $rootScope.currentDetailIssueId
                     };
 
                     var deferred = $q.defer();
@@ -92,6 +109,8 @@
 
                     var deferred = $q.defer();
 
+
+
                     Project.findWork($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") {
@@ -103,6 +122,89 @@
                         }
                         else {
                             SweetAlert.swal($filter("translate")("common.failedToProjectListLookUp"), result.data.message.message, "error"); // "�봽濡쒖젥�듃 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                    });
+
+                    return deferred.promise;
+                }
+
+                function getIssueList(query, issueTypeId, excludeList, page, callBack) {
+                    var conditions = {
+                        name : query,
+                        issueTypeIds : (function () {
+                            var ids = [];
+
+                            ids.push(issueTypeId);
+
+                            return ids;
+                        })(),
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+                    Issue.find($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") {
+
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToIssueListLookUp"), result.data.message.message, "error"); // "�썙�겕�뵆濡쒖슦 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                    });
+
+                    return deferred.promise;
+                }
+
+
+                function getDownIssueList(query, issueTypeId, excludeList, page, callBack) {
+                    var conditions = {
+                        name : query,
+                        // issueTypeIds : (function () {
+                        //     var ids = [];
+                        //
+                        //     ids.push(issueTypeId);
+                        //
+                        //     return ids;
+                        // })(),
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+                    Issue.find($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") {
+
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToIssueListLookUp"), result.data.message.message, "error"); // "�썙�겕�뵆濡쒖슦 紐⑸줉 議고쉶 �떎�뙣"
                         }
                     });
 
@@ -143,7 +245,226 @@
                     return deferred.promise;
                 }
 
-                function getIssueList(query, excludeList, page, callBack) {
+                function getUserDepartmentList(query, excludeList, page, callBack) {
+                    var conditions = {
+                        departmentName : query,
+                        excludeIds : (function () { //excludeIds : �젣�쇅 �븷 由ъ뒪�듃
+                            var excludeIds = [];
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+                    var deferred = $q.defer();
+
+                    UserWorkspace.departmentFind($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") {
+
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+                            deferred.resolve(result.data.data); //�궗�슜�옄媛� �냽�빐�졇�엳�뒗 遺��꽌 由ъ뒪�듃瑜� 遺덈윭�샂
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullDepartmentList"), result.data.message.message, "error"); // "遺��꽌 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                    });
+                    return deferred.promise;
+                }
+
+                function getIssueCompanyFieldList(query, excludeList, page, callBack) {
+                    var conditions = {
+                        companyName : query,
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+
+
+                    CompanyField.find($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") {
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToProjectListLookUp"), result.data.message.message, "error"); // "�봽濡쒖젥�듃 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                    });
+
+                    return deferred.promise;
+                }
+
+                function getIssueDepartmentList(query, excludeList, page, callBack) {
+                    var conditions = {
+                        issueTypeId : $scope.vm.form.issueTypeId,
+                        departmentName : query,
+                        userId : $rootScope.user.id,
+                        projectId : (function () {
+                            var projectId = "";
+
+                            if ($rootScope.isDefined($scope.vm.form)) {
+                                angular.forEach($scope.vm.form.projects, function (project) {
+                                    projectId = project.id;
+                                });
+                            }
+
+                            return projectId;
+                        })(),
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+
+                    //�썙�겕�뵆濡쒖슦�뿉 �냽�빐�엳�뒗 �떞�떦遺��꽌 李얘린
+                    UserWorkspace.findWorkflowDepartment($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;
+                            var filterDepartments = departments.filter(function(item, idx){
+                                return departments.findIndex(function(item2, idx2){
+                                    return item.departmentName === item2.departmentName
+                                }) == idx;
+                            });
+
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+                            deferred.resolve(filterDepartments);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToProjectListLookUp"), result.data.message.message, "error"); // "�봽濡쒖젥�듃 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                    });
+
+                    return deferred.promise;
+                }
+
+                function getIssueIspFieldList(query, excludeList, page, callBack) {
+                    var conditions = {
+                        ispName : query,
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    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) {
+                        if (result.data.message.status === "success") {
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToProjectListLookUp"), result.data.message.message, "error"); // "�봽濡쒖젥�듃 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                    });
+
+                    return deferred.promise;
+                }
+
+                function getIssueHostingFieldList(query, excludeList, page, callBack) {
+                    var conditions = {
+                        hostingName : query,
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+
+                    HostingField.find($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") {
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToProjectListLookUp"), result.data.message.message, "error"); // "�봽濡쒖젥�듃 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                    });
+
+                    return deferred.promise;
+                }
+
+                function getPartnerList(query, excludeList, page, callBack) {
+                    var conditions = {
+                        partnerName : query,
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+                    HostingField.getPartnerList($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") {
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+
+                            deferred.resolve(result.data.content);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToProjectListLookUp"), result.data.message.message, "error"); // "�봽濡쒖젥�듃 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                    });
+
+                    return deferred.promise;
+                }
+
+                function getCustomFieldList(query, excludeList, page, callBack) {
                     var conditions = {
                         name : query,
                         excludeIds : (function () {
@@ -159,7 +480,7 @@
 
                     var deferred = $q.defer();
 
-                    Issue.find($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
+                    CustomField.find($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") {
 
@@ -170,12 +491,65 @@
                             deferred.resolve(result.data.data);
                         }
                         else {
-                            SweetAlert.swal($filter("translate")("common.failedToIssueListLookUp"), result.data.message.message, "error"); // "�썙�겕�뵆濡쒖슦 紐⑸줉 議고쉶 �떎�뙣"
+                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // "�씠�뒋 �쑀�삎 紐⑸줉 議고쉶 �떎�뙣"
                         }
                     });
 
                     return deferred.promise;
                 }
+
+                function getIssueTypeList(query, excludeList, page, callBack) {
+                    var conditions = {
+                        name : query,
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+                    IssueType.find($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") {
+
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // "�씠�뒋 �쑀�삎 紐⑸줉 議고쉶 �떎�뙣"
+                        }
+                    });
+
+                    return deferred.promise;
+                }
+
+                function getMailTargetAll(excludeList) {
+                    var deferred = $q.defer();
+
+                    var partners = $scope.vm.partners.slice();
+                    if (excludeList != null && excludeList.length > 0) {
+                        for (let i = partners.length - 1 ; i >= 0 ; i--) {
+                            excludeList.forEach(function (exclude) {
+                                if (partners[i].id === exclude.id) {
+                                    partners.splice(i, 1);
+                                }
+                            });
+                        }
+                    }
+
+                    deferred.resolve(partners);
+
+                    return deferred.promise;
+                }
             }
         ]);
     }

--
Gitblit v1.8.0