From 1dad4d94cc415d2f8092aff0368744289337f504 Mon Sep 17 00:00:00 2001
From: 박지현 <jhpark@maprex.co.kr>
Date: 화, 22 2월 2022 14:29:43 +0900
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/webapp/scripts/app/issue/issueAddDown.controller.js |  322 ++++++++++++++++++++++++++++++++++------------------
 1 files changed, 209 insertions(+), 113 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAddDown.controller.js b/src/main/webapp/scripts/app/issue/issueAddDown.controller.js
index 735e06c..b51b126 100644
--- a/src/main/webapp/scripts/app/issue/issueAddDown.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddDown.controller.js
@@ -185,7 +185,6 @@
                 //  �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕
                 $scope.$watch("vm.form.projects", function (newValue, oldValue) {
 
-
                     if (angular.isDefined(newValue)) {
                         if (newValue.length < 1) {
                             $scope.vm.form.users = [];
@@ -421,7 +420,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;
                 }
 
@@ -450,89 +458,129 @@
 
                 // �뾽泥댁젙蹂� 寃곌낵 媛� 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.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;
+                        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;
+                    }
                 });
 
                 //  �뤌 �쟾�넚
@@ -551,35 +599,35 @@
                         companyMemo : $scope.vm.companyMemo,
                         companyTypeId : (function () {
                             var companyTypeId = -1;
-                            if ($scope.vm.form.companyTypes != null) {
+                            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) {
+                            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) {
+                            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) {
+                            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) {
+                            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; //吏곸젒�엯�젰 �씪 寃쎌슦
@@ -619,7 +667,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;
@@ -693,11 +741,12 @@
                                     email :$scope.vm.companyEmail,
                                     url :$scope.vm.companyUrl,
                                     memo : $scope.vm.companyMemo,
-                                    companyTypeId : companyField.companyTypeId,
-                                    parentSectorId : companyField.parentSectorId,
-                                    childSectorId : companyField.childSectorId,
-                                    regionId : companyField.regionId,
-                                    statusId : companyField.statusId
+                                    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
                                 });
                             }
 
@@ -796,8 +845,6 @@
                         if (result.data.message.status === "success") {
                             $scope.fn.addDownIssue(result.data.data);
 
-                            $scope.fn.cancel();
-
                             //  �씠�뒋 �긽�꽭 �솕硫� �슂泥�
                             $rootScope.$broadcast("getIssueDetail", {
                                 id : parameter.id
@@ -812,40 +859,84 @@
                     });
                 }
 
-                // �뿰愿� �씠�뒋 異붽�
-                function addDownIssue(downId) {
-                    /*if ($scope.vm.issueName.length == 0 || $scope.vm.form.issues.length == 0
-                        || $scope.vm.issueName != $scope.vm.form.issues[0].title) {
-                        SweetAlert.error($filter("translate")("issue.errorSelectRelationIssue"), "");
-                        return;
-                    }*/
+                // �븯�쐞 �씠�뒋 異붽�
+                function addDownIssue(issueVo) {
+                    $rootScope.spinner = true;
+                    let inheritYn = issueVo.inheritPartners;
+                    let usePartner = issueVo.usePartner;
+
                     var ids = [];
-                    if (downId != null) {
-                        ids.push(downId);
+                    if (issueVo.id != null) {
+                        ids.push(issueVo.id);
                     }
 
-                    var contents = {
-                        //relationIssueType : $scope.vm.form.relationIssueTypeId,
-                        // issueId : $rootScope.currentDetailIssueId,
-                        issueId :  parameter.id,
-                        ids : ids,
-                        parentIssueId : parameter.id
-                    };
+                    if ($rootScope.isDefined(usePartner) && usePartner > 0
+                            && $rootScope.isDefined(inheritYn) && inheritYn) {
+                        SweetAlert.swal({
+                            title : $filter("translate")("issue.addDownIssue"), // �븯�쐞 �씠�뒋 異붽�
+                            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 = false;
+                            }
 
-                    Issue.modifyParentIssue($resourceProvider.getContent(
-                        contents,
-                        $resourceProvider.getPageContent(0, 10))).then(function (result) {
+                            var contents = {
+                                issueId :  parameter.id,
+                                ids : ids,
+                                parentIssueId : parameter.id,
+                                inheritYn : inheritYn
+                            };
 
-                        if (result.data.message.status === "success") {
-                            //  �씠�뒋 �긽�꽭 �솕硫� �슂泥�
-                            $rootScope.$broadcast("getIssueDetail", {
-                                id : parameter.id
+                            Issue.modifyParentIssue($resourceProvider.getContent(
+                                contents,
+                                $resourceProvider.getPageContent(0, 10))).then(function (result) {
+
+                                if (result.data.message.status === "success") {
+                                    $scope.fn.cancel();
+                                    //  �씠�뒋 �긽�꽭 �솕硫� �슂泥�
+                                    $rootScope.$broadcast("getIssueDetail", {
+                                        id : parameter.id
+                                    });
+                                }
+                                else {
+                                    SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueDown"), result.data.message.message); // "�븯�쐞�씠�뒋 �깮�꽦 �떎�뙣"
+                                }
+                                $rootScope.spinner = false;
                             });
-                        }
-                        else {
-                            SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueDown"), result.data.message.message); // "�뿰愿��씪媛� �깮�꽦 �떎�뙣"
-                        }
-                    });
+                        });
+                    } else {
+
+                        var contents = {
+                            issueId :  parameter.id,
+                            ids : ids,
+                            parentIssueId : parameter.id,
+                            inheritYn : inheritYn
+                        };
+
+                        Issue.modifyParentIssue($resourceProvider.getContent(
+                            contents,
+                            $resourceProvider.getPageContent(0, 10))).then(function (result) {
+
+                            if (result.data.message.status === "success") {
+                                $scope.fn.cancel();
+                                //  �씠�뒋 �긽�꽭 �솕硫� �슂泥�
+                                $rootScope.$broadcast("getIssueDetail", {
+                                    id : parameter.id
+                                });
+                            }
+                            else {
+                                SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueDown"), result.data.message.message); // "�븯�쐞�씠�뒋 �깮�꽦 �떎�뙣"
+                            }
+                        });
+                    }
                 }
 
                 //  �뙘�뾽 李� �떕湲�
@@ -1068,6 +1159,9 @@
                             $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();
@@ -1076,6 +1170,8 @@
                         } else {
                             $scope.vm.form.issueTypeId = parameter.issueTypeId.toString();
                         }
+                        // �씠�뒋�쑀�삎, �봽濡쒖젥�듃 set �븳 �썑�뿉 �궗�슜�옄�젙�쓽�븘�뱶 set
+                        $scope.fn.getIssueTypeCustomFields();
                         $log.debug("promises 寃곌낵 ", results);
                     });
                 }

--
Gitblit v1.8.0