From bdb1efdc604fce543e21152b4263a9362f64389f Mon Sep 17 00:00:00 2001
From: minhee <alsdldlfrl@gmail.com>
Date: 목, 10 3월 2022 15:35:19 +0900
Subject: [PATCH] - api 이슈 추가 시 입력한 ip에 속해있는 업체정보를 가진 이슈의 하위로 입력되도록 수정 - issue_company 테이블에 ip 컬럼 추가 및 이슈 추가/수정 시 ip 대역대 항목 추가

---
 src/main/webapp/scripts/app/issue/issueAddRelation.controller.js |  385 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 336 insertions(+), 49 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js b/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
index fd7d3cd..b864616 100644
--- a/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
@@ -39,6 +39,13 @@
                     containsPartner : containsPartner,
                     getPartners : getPartners,
                     addRelationIssue : addRelationIssue,
+                    getDepartments : getDepartments,
+                    getCompanyTypeListCallBack : getCompanyTypeListCallBack,
+                    getParentSectorListCallBack : getParentSectorListCallBack,
+                    getChildSectorListCallBack : getChildSectorListCallBack,
+                    getRegionListCallBack : getRegionListCallBack,
+                    getStatusListCallBack : getStatusListCallBack,
+                    getIssueTypeOfProject : getIssueTypeOfProject
                 };
 
                 $scope.vm = {
@@ -51,7 +58,7 @@
                         issueCompanyFields : [], // �뾽泥댁젙蹂�
                         issueIspFields : [], // ISP �젙蹂�
                         issueHostingFields : [], // �샇�뒪�똿�젙蹂�
-                        issueTypeId : "",   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
+                        issueTypeId : parameter.issueTypeId,   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
                         priorityId : "",    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : "",    //  以묒슂�룄 �븘�씠�뵒
                         users : [],     //  �떞�떦�옄
@@ -62,6 +69,23 @@
                         detectingDateRange : "", //  �깘吏��씪
                         issueCustomFields : [],  //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
                         removeFiles : [], // �궘�젣 �뙆�씪
+                        companyTypeId : "",
+                        companyType : "", //湲곗뾽援щ텇
+                        parentSectorId : "",
+                        parentSector : "", //�뾽醫�(��遺꾨쪟)
+                        childSectorId : "",
+                        childSector : "", //�뾽醫�(以묐텇瑜�)
+                        regionId : "",
+                        region : "", //吏��뿭
+                        statusId : "",
+                        status : "", //�긽�깭
+                    },
+                    typeCategory : {
+                        companyType : "COMPANYTYPE",
+                        parentSector : "PARENTSECTOR",
+                        childSector : "CHILDSECTOR",
+                        region : "REGION",
+                        status : "STATUS"
                     },
                     id : parameter.id,
                     infiniteAdd : false,    //  �뿰�냽 �깮�꽦
@@ -74,6 +98,8 @@
                     companyTel : "",  // �뾽泥� �쟾�솕踰덊샇
                     companyEmail : "",  // �뾽泥� �씠硫붿씪
                     companyUrl : "", // �뾽泥� url
+                    ipStart : "", //ip�떆�옉二쇱냼
+                    ipEnd : "", //ip醫낅즺二쇱냼
                     companyMemo : "",  // �뾽泥� 鍮꾧퀬
                     ispId : -1, // ISP ID
                     ispName : "", // ISP 紐�
@@ -118,6 +144,26 @@
                         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
                         }
                     },
                     summerNote : {
@@ -154,20 +200,22 @@
 
                 //  �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕
                 $scope.$watch("vm.form.projects", function (newValue, oldValue) {
-
-
                     if (angular.isDefined(newValue)) {
                         if (newValue.length < 1) {
                             $scope.vm.form.users = [];
                         } else {
                             //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲�
                             $scope.fn.getIssueTypeCustomFields();
+                            //  �꽑�깮�븳 �봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �씠�뒋�쑀�삎留� 蹂댁뿬二쇨린
+                            $scope.fn.getIssueTypeOfProject();
                         }
                     }
                 });
 
                 $scope.$watch("vm.form.issueTypeId", function (newValue, oldValue) {
                     $scope.vm.partnerVos = $scope.fn.getPartners();
+                    $scope.vm.form.departments = [];
+                    getDepartments(Number(newValue));
                 });
 
                 //  �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶
@@ -385,6 +433,40 @@
                     $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) {
@@ -395,38 +477,131 @@
 
                 // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("companyFieldEvent", function (event, result) {
-                    $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;
+                    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.ipStart = result[0].ipStart;
+                        $scope.vm.ipEnd = result[0].ipEnd;
+                        $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.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)
                 $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;
-                    $scope.vm.ispEmail = result[0].email;
-                    $scope.vm.ispUrl = result[0].url;
-                    $scope.vm.ispMemo = result[0].memo;
+                    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) {
-                    $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;
+                    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;
+                    }
+                });
+
+                $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;
+                    }
                 });
 
                 //  �뤌 �쟾�넚
@@ -442,7 +617,47 @@
                         companyTel : $scope.vm.companyTel,
                         companyEmail :$scope.vm.companyEmail,
                         companyUrl : $scope.vm.companyUrl,
+                        ipStart :$scope.vm.ipStart,
+                        ipEnd :$scope.vm.ipEnd,
                         companyMemo : $scope.vm.companyMemo,
+                        companyTypeId : (function () {
+                            var companyTypeId = -1;
+                            if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) {
+                                companyTypeId = $scope.vm.form.companyTypes[0].id;
+                            }
+                            return companyTypeId;
+                        })(),
+                        parentSectorId : (function () {
+                            var parentSectorId = -1;
+                            if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) {
+                                parentSectorId = $scope.vm.form.parentSectors[0].id;
+                            }
+                            return parentSectorId;
+                        })(),
+                        childSectorId : (function () {
+                            var childSectorId = -1;
+                            if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) {
+                                childSectorId = $scope.vm.form.childSectors[0].id;
+                            }
+                            return childSectorId;
+                        })(),
+                        regionId : (function () {
+                            var regionId = -1;
+                            if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) {
+                                regionId = $scope.vm.form.regions[0].id;
+                            }
+                            return regionId;
+                        })(),
+                        statusId : (function () {
+                            var statusId = -1;
+                            if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) {
+                                statusId = $scope.vm.form.statuses[0].id;
+                            } else if ($scope.vm.form.status !== ""){
+                                statusId = 120; //吏곸젒�엯�젰 �씪 寃쎌슦
+                            }
+                            return statusId;
+                        })(),
+                        statusName : $scope.vm.form.status,
                         ispName : $scope.vm.ispName,
                         ispCode : $scope.vm.ispCode,
                         ispManager : $scope.vm.ispManager,
@@ -475,31 +690,33 @@
 
                         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;
                         }),
 
                         ispId : (function () {
                             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;
                         }),
 
                         hostingId : (function () {
                             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;
                         }),
 
@@ -540,14 +757,21 @@
                                 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
+                                    ipStart :$scope.vm.ipStart,
+                                    ipEnd :$scope.vm.ipEnd,
+                                    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
                                 });
                             }
 
@@ -556,11 +780,10 @@
 
                         issueIspFields : (function () {
                             var issueIspFields = [];
-                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
-                                var ispField = $scope.vm.form.issueIspFields[0];
-
+                            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({
-                                    id : ispField.id,
                                     ispId : $scope.vm.ispId,
                                     code : $scope.vm.ispCode,
                                     name : $scope.vm.ispName,
@@ -578,12 +801,10 @@
 
                         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.push({
-                                    id : hostingField.id,
                                     hostingId : $scope.vm.hostingId,
                                     name : $scope.vm.hostingName,
                                     code : $scope.vm.hostingCode,
@@ -656,7 +877,6 @@
                                 id : parameter.id
                             });
 
-                            $rootScope.$broadcast("getIssueList");
                         }
                         else {
                             SweetAlert.error($filter("translate")("issue.failedIssueModify"), result.data.message.message); // �씠�뒋 �닔�젙 �떎�뙣
@@ -688,7 +908,10 @@
                         $resourceProvider.getPageContent(0, 10))).then(function (result) {
 
                         if (result.data.message.status === "success") {
-                            $scope.fn.getIssueDetail();
+                            //  �씠�뒋 �긽�꽭 �솕硫� �슂泥�
+                            $rootScope.$broadcast("getIssueDetail", {
+                                id : parameter.id
+                            });
                         }
                         else {
                             SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueRelation"), result.data.message.message); // "�뿰愿��씪媛� �깮�꽦 �떎�뙣"
@@ -713,6 +936,39 @@
 
                         if (result.data.message.status === "success") {
                             $scope.vm.issueTypes = result.data.data;
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣
+                        }
+
+                        deferred.resolve(result.data.data);
+                    });
+
+                    return deferred.promise;
+                }
+
+                //  �꽑�깮�븳 �봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �씠�뒋�쑀�삎留� 蹂댁뿬二쇨린
+                function getIssueTypeOfProject() {
+                    var deferred = $q.defer();
+
+                    IssueType.find($resourceProvider.getContent({projectId : $scope.vm.form.projects[0].id},
+                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            $scope.vm.issueTypes = result.data.data;
+
+                            //  option 鍮덇컪 諛⑹�
+                            if ($rootScope.isDefined($scope.vm.issueTypes) && $scope.vm.issueTypes.length > 0) {
+                                let chk = 0;
+                                angular.forEach($scope.vm.issueTypes, function (issueType) {
+                                    if (issueType.id.toString() === $scope.vm.form.issueTypeId.toString()) {
+                                        chk ++;
+                                    }
+                                });
+                                if (chk === 0) {
+                                    $scope.vm.form.issueTypeId = null;
+                                }
+                            }
                         }
                         else {
                             SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣
@@ -880,6 +1136,27 @@
 
                 }
 
+                function getDepartments(issueTypeId) {
+                    if($rootScope.isDefined(issueTypeId) && $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") {
+                            $scope.vm.form.departments = [];
+                            angular.forEach(result.data.data, function (department) {
+                                department.byName = department.departmentName;
+                                $scope.vm.form.departments.push(department);
+                            });
+                        }
+                    });
+
+                }
+
                 //  理쒖큹 �떎�뻾
                 function startExecute() {
 
@@ -887,7 +1164,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) {
                         // �쁽�옱 �봽濡쒖젥�듃 �꽕�젙
@@ -895,12 +1173,21 @@
                             $scope.vm.projectName = $rootScope.workProject.name;
                             $scope.vm.form.projects = [];
                             $scope.vm.form.projects.push($rootScope.workProject);
+                        } else {
+                            $scope.vm.projectName = parameter.project.name;
+                            $scope.vm.form.projects.push(parameter.project);
                         }
                         // �쁽�옱 �씠�뒋���엯 �쑀�삎 �꽕�젙
                         var id = $rootScope.getCurrentIssueTypeId();
                         if (id != null) {
                             $scope.vm.form.issueTypeId = id.toString();
+                        } else {
+                            $scope.vm.form.issueTypeId = parameter.issueTypeId.toString();
                         }
+                        //  �봽濡쒖젥�듃�쓽 �씠�뒋�쑀�삎 set
+                        $scope.fn.getIssueTypeOfProject();
+                        // �씠�뒋�쑀�삎, �봽濡쒖젥�듃 set �븳 �썑�뿉 �궗�슜�옄�젙�쓽�븘�뱶 set
+                        $scope.fn.getIssueTypeCustomFields();
                         $log.debug("promises 寃곌낵 ", results);
                     });
                 }

--
Gitblit v1.8.0