From f2fcf329cea64d71c671f1ab17f17d1634d1464d Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 07 3월 2022 17:08:23 +0900
Subject: [PATCH] - API로 이슈 추가 시 하위이슈처리기준 항목으로 동일한 업체 정보로 이슈 생성하여 하위이슈로 넣기 - 업체 테이블에 ip_start, ip_end 컬럼 추가

---
 src/main/webapp/scripts/app/companyField/companyFieldList.controller.js |  299 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 280 insertions(+), 19 deletions(-)

diff --git a/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js
index 46179b8..f3534dd 100644
--- a/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js
+++ b/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js
@@ -13,7 +13,14 @@
 
                 //  �븿�닔
                 $scope.fn = {
+                    getPageList : getPageList, // �뾽泥� 愿�由� 由ъ뒪�듃
                     makeTableConfigs : makeTableConfigs, //  �뀒�씠釉� �꽕�젙
+                    changePageRowCount : changePageRowCount,    //  �럹�씠吏� 蹂�寃�
+                    initSearch : initSearch, //寃��깋 議곌굔 珥덇린�솕
+                    add : add, //�뾽泥� �깮�꽦
+                    makeSearchConditions : makeSearchConditions, //�뿊�� �떎�슫濡쒕뱶
+                    removes : removes, //�뾽泥� �궘�젣
+                    importExcel : importExcel,  //  �뿊�� import 湲곕뒫 �뙘�뾽 �샇異�
                 };
 
                 //  蹂��닔
@@ -21,9 +28,50 @@
                     tableConfigs : [],
                 };
 
+                $scope.tableEvent = {
+                    modify : modify //�뾽泥� �젙蹂� 蹂�寃�
+                };
+
+                $scope.vm.search = {
+                    name : "",  //  �뾽泥대챸
+                };
+
+                $scope.vm.page = {
+                    selectedPage : 0,
+                    selectedPageRowCount : String(10)
+                };
+
                 $scope.vm.responseData = {
                     data : []
                 };
+
+                //  �뾽泥� 愿�由� 由ъ뒪�듃 遺덈윭�삤湲�
+                $scope.$on("getPageList", function () {
+                    $scope.fn.getPageList(0);
+                });
+
+                //  �뾽泥� 紐⑸줉 �뜲�씠�꽣 媛깆떊
+                $scope.$on("getCompanyFieldList", function () {
+                    $scope.fn.getPageList(0);
+                });
+
+                //  寃��깋 議곌굔 珥덇린�솕
+                function initSearch() {
+                    $scope.vm.search.name = "";
+                    $scope.fn.getPageList(0);
+                }
+
+                //  �뾽泥� 愿�由� 寃��깋 議곌굔�쓣 留뚮뱺�떎.
+                function makeSearchConditions() {
+                    return{
+                        name: $scope.vm.search.name
+                    };
+                }
+
+                //  �럹�씠吏� 蹂�寃�
+                function changePageRowCount() {
+                    $scope.fn.getPageList(0);
+                }
 
                 //  �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 �뀒�씠釉� �꽕�젙
                 function makeTableConfigs() {
@@ -39,38 +87,251 @@
                         .setDName("name")
                         .setDType("renderer")
                         .setDAlign("text-center")
-                        .setDRenderer("COMMON_MODIFY"));
+                        .setDRenderer("COMPANYFIELD_MODIFY"));
                     $scope.vm.tableConfigs.push($tableProvider.config()
                         .setHName("companyField.manager")
                         .setHWidth("bold")
-                        .setDName("name")
-                        .setDType("renderer")
-                        .setDAlign("text-center")
-                        .setDRenderer("COMMON_MODIFY"));
+                        .setDName("manager")
+                        .setDAlign("text-center"));
                     $scope.vm.tableConfigs.push($tableProvider.config()
                         .setHName("companyField.tel")
-                        .setHWidth("bold")
-                        .setDName("name")
-                        .setDType("renderer")
-                        .setDAlign("text-center")
-                        .setDRenderer("COMMON_MODIFY"));
+                        .setHWidth("width-200-p bold")
+                        .setDName("tel")
+                        .setDAlign("text-center"));
                     $scope.vm.tableConfigs.push($tableProvider.config()
                         .setHName("companyField.email")
-                        .setHWidth("bold")
-                        .setDName("name")
-                        .setDType("renderer")
-                        .setDAlign("text-center")
-                        .setDRenderer("COMMON_MODIFY"));
+                        .setHWidth("width-200-p bold")
+                        .setDName("email")
+                        .setDAlign("text-center"));
                     $scope.vm.tableConfigs.push($tableProvider.config()
-                        .setHName("companyField.desc")
-                        .setHWidth("bold")
-                        .setDName("name")
+                        .setHName("companyField.url")
+                        .setHWidth("width-200-p bold")
+                        .setDName("url")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.ipRange")
+                        .setHWidth("width-120-p bold")
+                        .setDName("ipRange")
                         .setDType("renderer")
                         .setDAlign("text-center")
-                        .setDRenderer("COMMON_MODIFY"));
+                        .setDRenderer("COMPANYFIELD_IP"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("common.isp")
+                        .setHWidth("bold")
+                        .setDName("ispName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("common.hosting")
+                        .setHWidth("bold")
+                        .setDName("hostingName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.companyType")
+                        .setHWidth("bold")
+                        .setDName("companyTypeName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.parentSector")
+                        .setHWidth("bold")
+                        .setDName("parentSectorName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.childSector")
+                        .setHWidth("bold")
+                        .setDName("childSectorName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.region")
+                        .setHWidth("width-80-p bold")
+                        .setDName("regionName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.status")
+                        .setHWidth("bold")
+                        .setDName("statusName")
+                        .setDAlign("text-center"));
+                }
+
+                //  �뾽泥� 愿�由� 紐⑸줉 議고쉶
+                function getPageList(selectedPage) {
+                    if (selectedPage < 0) {
+                        selectedPage = 0;
+                    }
+                    //  �쁽�옱 �럹�씠吏� �젙蹂�
+                    var currentPage = 0;
+
+                    //  荑좏궎�뿉 �꽑�깮�븳 �럹�씠吏� �젙蹂닿� �뾾�쑝硫� 湲곕낯 �럹�씠吏� �젙蹂� 0 �쓣 ���옣
+                    if (angular.isUndefined(selectedPage) || selectedPage === "") {
+                        currentPage = $scope.vm.page.selectedPage;
+                    }
+                    else {
+                        currentPage = selectedPage;
+                    }
+
+                    //  �뾽泥� 愿�由� 寃��깋 議곌굔�쓣 留뚮뱺�떎.
+                    var conditions = $scope.fn.makeSearchConditions();
+
+                    //�뀒�씠釉� 由ъ뒪�듃 �뜲�씠�꽣 而⑦듃濡ㅻ윭 �슂泥�
+                    CompanyField.find($resourceProvider.getContent(conditions,
+                        $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            $scope.vm.page.selectedPage = currentPage + 1;
+                            
+                            result.data.data.forEach(function (data) {
+                                // �쟾�솕踰덊샇 議고쉶�떆 �븯�씠�뵂 異붽�, 諛곗뿴 �삎�깭 �젣嫄�, 肄ㅻ쭏 湲곗� 以꾨컮轅�
+                                if (data.tel != null && data.tel !== "") {
+                                    var tels = data.tel;
+                                    if (data.tel.indexOf("[") !== -1){
+                                        tels = data.tel.substr(1, data.tel.indexOf("]")-1);
+                                    }
+                                    var telArr = tels.split(",");
+
+                                    for (var i = 0; i < telArr.length; i++) {
+                                        let hyphen = telArr[i].trim();
+                                        if (hyphen.length < 9) {
+                                            telArr[i] = hyphen.replace(/^(\d{3,4})(\d{4})$/, "$1-$2");
+                                        } else {
+                                            telArr[i] = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/, "$1-$2-$3");
+                                        }
+                                        if (telArr[i] === "") {
+                                            telArr.splice(i,1);
+                                        }
+                                    }
+                                    data.tel = telArr.join();
+                                    data.tel = data.tel.replace(/\,/g,"</br>");
+                                }
+                                // �씠硫붿씪 議고쉶�떆 諛곗뿴 �삎�깭 �젣嫄� 諛� 肄ㅻ쭏 湲곗��쑝濡� 以꾨컮轅�
+                                if ($rootScope.isDefined(data.email)) {
+                                    if (data.email.indexOf("[") !== -1){
+                                        data.email = data.email.substr(1, data.email.indexOf("]")-1);
+                                    }
+                                    if (data.email.indexOf(",") !== -1) {
+                                        data.email = data.email.replace(/\,/g,"</br>");
+                                    }
+                                }
+                                // url 議고쉶�떆 肄ㅻ쭏 湲곗��쑝濡� 以꾨컮轅�
+                                if ($rootScope.isDefined(data.url)) {
+                                    data.url = data.url.trim();
+                                    if (data.url.indexOf(",") !== -1) {
+                                        data.url = data.url.replace(/\,/g,"</br>");
+                                    }
+                                }
+                            });
+
+                            $scope.vm.responseData = result.data;
+                        }
+                        else {
+                            SweetAlert.error($filter("translate")("companyField.failedToSelectCompanyFieldFullList"), result.data.message.message); // �뾽泥� 愿�由� 紐⑸줉 議고쉶 �떎�뙣
+                        }
+                    });
+                }
+
+                //  �뾽泥� �깮�꽦
+                function add() {
+                    $uibModal.open({
+                        templateUrl : 'views/companyField/companyFieldAdd.html',
+                        size : "md",
+                        controller : 'companyFieldAddController',
+                        backdrop : 'static',
+                        resolve : {
+                            parameter : function () {
+                                return {
+                                };
+                            }
+                        }
+                    });
+                }
+
+                //  �뾽泥� �닔�젙
+                function modify(id) {
+                    $uibModal.open({
+                        templateUrl : 'views/companyField/companyFieldModify.html',
+                        size : "md",
+                        controller : 'companyFieldModifyController',
+                        backdrop : 'static',
+                        resolve : {
+                            parameter : function () {
+                                return {
+                                    id : id
+                                };
+                            }
+                        }
+                    });
+                }
+
+                //  �뿊�� import �뙘�뾽 �샇異�
+                function importExcel() {
+                    $uibModal.open({
+                        templateUrl : 'views/companyField/companyFieldExcelImport.html',
+                        size : "lg",
+                        controller : 'companyFieldImportExcelController',
+                        backdrop : 'static'
+                    });
+                }
+
+                //  �뾽泥� �궘�젣
+                function removes() {
+                    var removeIds = [];
+
+                    angular.forEach($scope.vm.responseData.data, function (data) {
+                        if (data.checked) {
+                            removeIds.push(data.id);
+                        }
+                    });
+
+                    if (removeIds.length < 1) {
+                        SweetAlert.swal({
+                            title : $filter("translate")("common.checkPurgingTargets"), // �궘�젣 ���긽 �솗�씤
+                            text : $filter("translate")("common.selectDestinationDeletion"), // �궘�젣 ���긽�쓣 �꽑�깮�븯�꽭�슂.
+                            type : "warning"
+                        });
+                        return;
+                    }
+
+                    //  �궘�젣 �븣由�
+                    SweetAlert.swal({
+                            title : $filter("translate")("companyField.delete"), // "�뾽泥� �궘�젣"
+                            text : $filter("translate")("companyField.wantToDeleteSelectCompanyField"), // "�꽑�깮�븳 遺��꽌瑜� �궘�젣�븯寃좎뒿�땲源�? �궘�젣�맂 遺��꽌�뒗 蹂듦뎄�븷 �닔 �뾾�뒿�땲�떎."
+                            type : "warning",
+                            showCancelButton : true,
+                            confirmButtonColor : "#DD6B55",
+                            confirmButtonText : $filter("translate")("common.delete"), // �궘�젣
+                            cancelButtonText : $filter("translate")("common.cancel"), // 痍⑥냼
+                            closeOnConfirm : false,
+                            closeOnCancel : true
+                        },
+                        function (isConfirm) {
+                            SweetAlert.close();
+
+                            if (isConfirm) {
+                                $rootScope.spinner = true;
+
+                                CompanyField.removes($resourceProvider.getContent(
+                                    { removeIds : removeIds },
+                                    $resourceProvider.getPageContent(0, 0))).then(function (result) {
+
+                                    if (result.data.message.status === "success") {
+                                        $timeout(function () {
+                                            SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // �궘�젣 �꽦怨�
+                                        }, 100);
+
+                                        $scope.fn.getPageList(0);
+                                    }
+                                    else {
+                                        $timeout(function () {
+                                            SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // �궘�젣 �떎�뙣
+                                        }, 100);
+                                    }
+
+                                    $rootScope.spinner = false;
+                                });
+                            }
+                        });
                 }
 
                 $scope.fn.makeTableConfigs();
+                $scope.fn.getPageList();
             }
         ]);
     }

--
Gitblit v1.8.0