From 71b8c61b79be17f9ac886b947051d3256a32f159 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 금, 18 2월 2022 11:14:16 +0900
Subject: [PATCH] 이슈유형 설정에 상위 이슈 업체/ISP/호스팅 상속 기능 추가

---
 src/main/webapp/scripts/app/issue/issueModify.controller.js |  791 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 423 insertions(+), 368 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js
index 49428eb..1ebad33 100644
--- a/src/main/webapp/scripts/app/issue/issueModify.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -169,6 +169,8 @@
                     priorities : [],    //  �슦�꽑�닚�쐞 �젙蹂�
                     severities : [],    //  以묒슂�룄 �젙蹂�
                     fileTableConfigs : [],   //  �뙆�씪 �뾽濡쒕뱶 �젙蹂� �뀒�씠釉�
+                    inheritPartners : parameter.inheritPartners,
+                    downTotalCount : parameter.downTotalCount
                 };
 
                 // �뿰愿� �씪媛� 愿��젴
@@ -404,7 +406,16 @@
                 }
 
                 // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
-                function getParentSectorListCallBack(result) {
+                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;
                 }
 
@@ -436,413 +447,457 @@
                 }
 
                 $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[0])) {
+                    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) {
-                    $scope.vm.form.childSectorId = result[0].id;
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
+                        $scope.vm.form.childSectorId = result[0].id;
+                    }
                 });
                 $scope.$on("regionEvent", function (event, result) {
-                    $scope.vm.form.regionId = result[0].id;
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
+                        $scope.vm.form.regionId = result[0].id;
+                    }
                 });
                 $scope.$on("statusEvent", function (event, result) {
-                    $scope.vm.form.statusId = result[0].id;
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
+                        $scope.vm.form.statusId = result[0].id;
+                    }
                 });
 
                 // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("companyFieldEvent", function (event, result) {
-                    var ispFieldVo = result[0].ispFieldVo;
-                    var hostingFieldVo = result[0].hostingFieldVo;
+                    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.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.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 = "";
+                        $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;
+                        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) {
-                    $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;
+                    }
                 });
 
                 function formSubmit() {
                     $rootScope.spinner = true;
 
-                    var content = {
-                        id : parameter.id,
-                        title : $rootScope.preventXss($scope.vm.form.title),    //  �젣紐�
-                        description : $rootScope.preventXss($scope.vm.form.description),   //  �궡�슜
-                        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 = -1;
-                            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 = -1;
-                            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 = -1;
-                            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 = -1;
-                            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 = -1;
-                            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 = "";
-
-                            if ($scope.vm.form.projects.length > 0) {
-                                projectId = $scope.vm.form.projects[0].id;
-                            }
-
-                            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 = -1;
-
-                            if ($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) {
-                                ispId = $scope.vm.form.issueIspFields[0].id;
-                            }
-
-                            return ispId;
-                        }),
-
-                        hostingId : (function () {
-                            var hostingId = -1;
-
-                            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 = [];
-
-                            angular.forEach($scope.vm.form.users, function (user) {
-                                userIds.push(user.id);
-                            });
-
-                            return userIds;
-                        })(),
-                        departmentIds : (function () {
-                            var departmentIds = [];
-
-                            angular.forEach($scope.vm.form.departments, function (department) {
-                                departmentIds.push(department.id);
-                            });
-
-                            return departmentIds;
-                        })(),
-
-                        attachedFileIds : (function () {
-                            var attachedFileIds = [];
-
-                            angular.forEach($scope.vm.form.attachedFiles, function (attachedFile) {
-                                if ($scope.vm.form.description.indexOf(attachedFile.path) !== -1) {
-                                    attachedFileIds.push(attachedFile.id);
-                                }
-                            });
-
-                            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 (companyField.name !== $scope.vm.companyName) { //�궗�슜�옄媛� 吏곸젒 �뾽泥� 異붽� �븷 寃쎌슦
-                                    return issueCompanyFields;
+                    let inheritYn = false;
+                    if ($scope.vm.inheritPartners && $scope.vm.downTotalCount > 0) {
+                        SweetAlert.swal({
+                                title : $filter("translate")("issue.modifyDownIssue"), // �븯�쐞 �씠�뒋 蹂�寃�
+                                text : $filter("translate")("issue.wantToInheritPartnersOfParentIssue"), // �긽�쐞�씠�뒋�쓽 �뙆�듃�꼫 �젙蹂�(�뾽泥�/ISP/�샇�뒪�똿)瑜� �쟻�슜�떆�궎寃좎뒿�땲源�?
+                                type : "warning",
+                                showCancelButton : true,
+                                confirmButtonColor : "#DD6B55",
+                                confirmButtonText : $filter("translate")("common.ok"), // �꽕
+                                cancelButtonText : $filter("translate")("common.no"), // �븘�땲�삤
+                                closeOnConfirm : false,
+                                closeOnCancel : false
+                            },
+                            function (isConfirm) {
+                                if (isConfirm) {
+                                    inheritYn = true;
                                 }
 
-                                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
+                                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 = "";
+
+                                        if ($scope.vm.form.projects.length > 0) {
+                                            projectId = $scope.vm.form.projects[0].id;
+                                        }
+
+                                        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 = [];
+
+                                        angular.forEach($scope.vm.form.users, function (user) {
+                                            userIds.push(user.id);
+                                        });
+
+                                        return userIds;
+                                    })(),
+                                    departmentIds : (function () {
+                                        var departmentIds = [];
+
+                                        angular.forEach($scope.vm.form.departments, function (department) {
+                                            departmentIds.push(department.id);
+                                        });
+
+                                        return departmentIds;
+                                    })(),
+
+                                    attachedFileIds : (function () {
+                                        var attachedFileIds = [];
+
+                                        angular.forEach($scope.vm.form.attachedFiles, function (attachedFile) {
+                                            if ($scope.vm.form.description.indexOf(attachedFile.path) !== -1) {
+                                                attachedFileIds.push(attachedFile.id);
+                                            }
+                                        });
+
+                                        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 = [];
+
+                                        angular.forEach($scope.vm.form.issueCustomFields, 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;
+                                    })()
+                                };
+
+                                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
+                                    },
+                                    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;
                                 });
-                            }
-
-                            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];
-                                if (ispField.name !== $scope.vm.ispName) { //�궗�슜�옄媛� 吏곸젒 ISP 異붽� �븷 寃쎌슦
-                                    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 (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 = [];
-
-                            angular.forEach($scope.vm.form.issueCustomFields, 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;
-                        })()
-                    };
-
-                    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
-                        },
-                        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() {

--
Gitblit v1.8.0