From 865e48b3de08f6d51b3e2fe3170585d535512961 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 10 1월 2022 14:10:04 +0900
Subject: [PATCH] 사용자 정의 필드(날짜) 기간 검색으로 변경

---
 src/main/webapp/scripts/app/issue/issueAdd.controller.js |  173 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 118 insertions(+), 55 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
index 151503e..8efab6a 100644
--- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -37,7 +37,8 @@
                     setIssueTypeTemplate : setIssueTypeTemplate,    //  �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲�
                     startExecute : startExecute, //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
                     containsPartner : containsPartner,
-                    getPartners : getPartners
+                    getPartners : getPartners,
+                    getDepartments : getDepartments,
                 };
 
                 $scope.vm = {
@@ -59,7 +60,7 @@
                         startCompleteDateRange : "", //  �떆�옉�씪 ~ 醫낅즺�씪
                         detectingDateRange : "", //  �깘吏��씪
                         issueCustomFields : [],  //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
-                        requiredDatas : []  // �궗�슜�옄 �젙�쓽 �븘�뱶 �븘�닔 �뜲�씠�꽣 泥댄겕
+                        issueStatusId: ""
                     },
                     infiniteAdd : false,    //  �뿰�냽 �깮�꽦
                     projectName : "",   //  �봽濡쒖젥�듃 紐� 寃��깋
@@ -70,6 +71,7 @@
                     companyManager : "",   // �뾽泥� �떞�떦�옄
                     companyTel : "",  // �뾽泥� �쟾�솕踰덊샇
                     companyEmail : "",  // �뾽泥� �씠硫붿씪
+                    companyUrl : "",  // �뾽泥� url
                     companyMemo : "",  // �뾽泥� 鍮꾧퀬
                     ispId : -1, // ISP ID
                     ispName : "", // ISP 紐�
@@ -77,12 +79,14 @@
                     ispManager : "", // ISP �떞�떦�옄
                     ispTel : "", // ISP �쟾�솕踰덊샇
                     ispEmail : "", // ISP �씠硫붿씪
+                    ispUrl : "",  // url
                     ispMemo : "", // ISP 鍮꾧퀬
                     hostingId : -1, // �샇�뒪�똿 ID
                     hostingName : "", // �샇�뒪�똿紐� 寃��깋
                     hostingManager : "", // �샇�뒪�똿 �떞�떦�옄
                     hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇
                     hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪
+                    hostingUrl : "",  // url
                     hostingMemo :"", // �샇�뒪�똿 鍮꾧퀬
 
                     autoCompletePage : {
@@ -386,16 +390,58 @@
 
                 // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("companyFieldEvent", function (event, result) {
+                    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.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.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)
+                //ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("ispFieldEvent", function (event, result) {
                     $scope.vm.ispId = result[0].id;
                     $scope.vm.ispName = result[0].name;
@@ -403,6 +449,7 @@
                     $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;
                 });
 
@@ -414,6 +461,7 @@
                     $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;
                 });
 
@@ -441,7 +489,7 @@
 
                         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;
@@ -449,7 +497,11 @@
 
                         ispId : (function () {  // ISP �븘�씠�뵒
                             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;
@@ -457,7 +509,11 @@
 
                         hostingId : (function () {  // Hosting �븘�씠�뵒
                             var hostingId = -1;
-                            if ($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;
@@ -494,94 +550,83 @@
 
                             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];
-
                                 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
                                 });
                             }
-
                             return issueCompanyFields;
                         })(),
+                        companyName : $scope.vm.companyName,
+                        companyManager : $scope.vm.companyManager,
+                        companyTel : $scope.vm.companyTel,
+                        companyEmail :$scope.vm.companyEmail,
+                        companyUrl :$scope.vm.companyUrl,
+                        companyMemo : $scope.vm.companyMemo,
 
                         issueIspFields : (function () {
                             var issueIspFields = [];
-                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
-                                var ispField = $scope.vm.form.issueIspFields[0];
-
-                                issueIspFields[0] = {
-                                    id : ispField.id,
+                            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({
                                     ispId : $scope.vm.ispId,
                                     name : $scope.vm.ispName,
                                     code : $scope.vm.ispCode,
                                     manager : $scope.vm.ispManager,
                                     tel : $scope.vm.ispTel,
                                     email :$scope.vm.ispEmail,
+                                    url :$scope.vm.ispUrl,
                                     memo : $scope.vm.ispMemo
-                                };
-
+                                });
                             }
-
                             return issueIspFields;
                         })(),
+                        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,
 
                         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[0] = {
-                                    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,
+                                    url :$scope.vm.hostingUrl,
                                     memo : $scope.vm.hostingMemo
                                 };
                             }
-
                             return issueHostingFields;
                         })(),
+                        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,
 
                         startCompleteDateRange : $scope.vm.form.startCompleteDateRange,
                         detectingDateRange : $scope.vm.form.detectingDateRange,
-
-                        requiredDatas : (function () {    //  �궗�슜�옄 �젙�쓽 �븘�뱶 �븘�닔 �뜲�씠�꽣 泥댄겕
-                            var requiredDatas = [];
-
-                            angular.forEach($scope.vm.form.requiredDatas, function (issueCustomField) {
-                                var useValues = [];
-
-                                if (angular.isArray(issueCustomField.useValues)) {
-                                    angular.forEach(issueCustomField.useValues, function (useValue) {
-                                        useValues.push(useValue.value);
-                                    });
-                                }
-                                else {
-                                    useValues.push(issueCustomField.useValues);
-                                }
-
-                                //  useValues 瑜� 諛곗뿴濡� 蹂��솚�븳�떎.
-                                var temp = angular.copy(issueCustomField);
-                                temp.useValues = useValues;
-                                issueCustomFields.push(temp);
-                            });
-
-                            return issueCustomFields;
-                        })(),
 
                         issueCustomFields : (function () {    //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
                             var issueCustomFields = [];
@@ -618,6 +663,7 @@
                         fileFormDataName : "file"
                     }).then(function (result) {
                         if (result.data.message.status === "success") {
+
                             //  �뿰�냽 �벑濡� 泥댄겕�떆 �씠�룞�븯吏� �븡�쓬.
                             if ($scope.vm.infiniteAdd) {
                                 $scope.fn.infiniteAddForm();
@@ -626,7 +672,9 @@
                                 $scope.fn.cancel();
 
                                 if ($state.current.name !== "issues.list" || $state.current.name === "issues.list") {
-                                    $state.go("issues.list");
+                                    $state.go($state.current, {}, {reload : true});
+                                    // $state.go("issues.list");
+                                    // $state.go("dashboards.dashboard")
                                 }
                             }
 
@@ -711,7 +759,6 @@
                 //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶
                 function getIssueTypeCustomFields() {
                     $scope.vm.form.issueCustomFields = [];
-                    $scope.vm.form.requiredDatas = [];
                     //  �씠�뒋 ���엯 �븘�씠�뵒�굹 �봽濡쒖젥�듃 �븘�씠�뵒媛� �뾾�쑝硫� �넻�떊�쓣 �븯吏� �븡�뒗�떎.
                     if (!$rootScope.isDefined($scope.vm.form.issueTypeId) || $scope.vm.form.projects.length < 1) {
                         return;
@@ -727,7 +774,6 @@
                         if (result.data.message.status === "success") {
 
                             $scope.vm.form.issueCustomFields = [];
-                            $scope.vm.form.requiredDatas = [];
                             angular.forEach(result.data.data, function (issueTypeCustomField) {
                                 switch (issueTypeCustomField.customFieldVo.customFieldType) {
                                     case "INPUT" :
@@ -756,9 +802,6 @@
                                         break;
                                 }
                                 $scope.vm.form.issueCustomFields.push(issueTypeCustomField);
-                                if(issueTypeCustomField.customFieldVo.requiredData === "Y") {
-                                    $scope.vm.form.requiredDatas.push(issueTypeCustomField.customFieldVo.requiredData);
-                                }
                             });
                         }
                         else {
@@ -825,6 +868,25 @@
                             $scope.vm.partnerVos = result.data.data;
                         }
                     });
+                }
+
+                function getDepartments() {
+                    if($scope.vm.form.issueTypeId === ""){
+                        $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id
+                    }
+                    var content = {
+                        issueTypeId : $scope.vm.form.issueTypeId,
+                    };
+                    Issue.findReadyDepartments($resourceProvider.getContent(
+                        content,
+                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            angular.forEach(result.data.data, function (department) {
+                                department.byName = department.departmentName;
+                                $scope.vm.form.departments.push(department);
+                            });
+                        }
+                    });
 
                 }
 
@@ -835,7 +897,8 @@
                         getIssueTypes : $scope.fn.getIssueTypes(),
                         getPriorities : $scope.fn.getPriorities(),
                         getSeverities : $scope.fn.getSeverities(),
-                        getPartners : $scope.fn.getPartners()
+                        getPartners : $scope.fn.getPartners(),
+                        getDepartments : $scope.fn.getDepartments()
                     };
                     $q.all(promises).then(function (results) {
                         // �쁽�옱 �봽濡쒖젥�듃 �꽕�젙

--
Gitblit v1.8.0