From 3be5bcca558d065e2a758e52fcbb8f0e03efed28 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 13 1월 2022 18:07:28 +0900
Subject: [PATCH] 업체 수정 오류 해결 및 대분류 변경 시 중분류 초기화

---
 src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js |   34 +++++++++-------
 src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java  |    6 +++
 src/main/java/kr/wisestone/owl/constant/MsgConstants.java                 |    1 
 src/main/java/kr/wisestone/owl/domain/CompanyFieldCategory.java           |    6 +-
 src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties                    |    1 
 src/main/webapp/scripts/app/issue/issueModify.controller.js               |   30 +++++++-------
 6 files changed, 45 insertions(+), 33 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
index e4b5d05..bf7f998 100644
--- a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
+++ b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
@@ -259,6 +259,7 @@
     public static final String EMAIL_TEMPLATE_NOT_EXIST = "EMAIL_TEMPLATE_NOT_EXIST"; //  �씠硫붿씪 �뀥�뵆由우쓣 李얠쓣�닔 �뾾�뒿�땲�떎.
 
     public static final String PARENT_SECTOR_NOT_SELECT = "PARENT_SECTOR_NOT_SELECT";   // �뾽醫�(��遺꾨쪟)瑜� 癒쇱� �꽑�깮 �빐 二쇱꽭�슂.
+    public static final String PARENT_SECTOR_NOT_EQUAL = "PARENT_SECTOR_NOT_EQUAL";   // �꽑�깮�븳 �뾽醫�(以묐텇瑜�)�뒗 �뾽醫�(��遺꾨쪟)�뿉 �냽�빐�엳吏� �븡�뒿�땲�떎.
 
     /**
      * api �뙆�씪誘명꽣 �삤瑜�(�씠�뒋���엯)
diff --git a/src/main/java/kr/wisestone/owl/domain/CompanyFieldCategory.java b/src/main/java/kr/wisestone/owl/domain/CompanyFieldCategory.java
index 28fcbfd..939a69d 100644
--- a/src/main/java/kr/wisestone/owl/domain/CompanyFieldCategory.java
+++ b/src/main/java/kr/wisestone/owl/domain/CompanyFieldCategory.java
@@ -15,7 +15,7 @@
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Long id;
     private String typeCategory;
-    private String parentId;
+    private Long parentId;
     private String useValue;
     private String description;
 
@@ -40,11 +40,11 @@
         this.typeCategory = typeCategory;
     }
 
-    public String getParentId() {
+    public Long getParentId() {
         return parentId;
     }
 
-    public void setParentId(String parentId) {
+    public void setParentId(Long parentId) {
         this.parentId = parentId;
     }
 
diff --git a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
index dcb513d..a5a4271 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
@@ -224,6 +224,12 @@
             companyFieldForm.setEmail(emails.trim());
         }
 
+        CompanyFieldCategory companyFieldCategory = this.companyFieldCategoryService.find(companyFieldForm.getChildSectorId());
+        if (!companyFieldCategory.getParentId().equals(companyFieldForm.getParentSectorId())) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.PARENT_SECTOR_NOT_EQUAL));
+        }
+
         CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
         companyFieldRepository.saveAndFlush(companyField);
     }
diff --git a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
index 8abaac6..fb92bbc 100644
--- a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
+++ b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
@@ -27,6 +27,7 @@
 PROJECT_NOT_INCLUDE_DEPARTMENT = \uC120\uD0DD\uD55C \uBD80\uC11C \uC911 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCC38\uC5EC\uD558\uACE0 \uC788\uC9C0 \uC54A\uC740 \uBD80\uC11C\uAC00 \uC788\uC2B5\uB2C8\uB2E4.
 PROJECT_USED_PROJECT_KEY = \uD504\uB85C\uC81D\uD2B8 \uD0A4\uAC00 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4.
 PARENT_SECTOR_NOT_SELECT = \uC5C5\uC885(\uB300\uBD84\uB958)\uB97C \uBA3C\uC800 \uC120\uD0DD \uD574 \uC8FC\uC138\uC694.
+PARENT_SECTOR_NOT_EQUAL = \uC120\uD0DD\uD55C \uC5C5\uC885(\uC911\uBD84\uB958)\uB294 \uC5C5\uC885(\uB300\uBD84\uB958)\uC5D0 \uC18D\uD574\uC788\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.
 
 PAYMENT_TYPE_NOT_EXIST = \uACB0\uC81C \uBC29\uC2DD\uC774 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
 PAYMENT_NOT_EXIST = \uACB0\uC81C \uC815\uBCF4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.
diff --git a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
index b19c7b7..511f7dc 100644
--- a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
+++ b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
@@ -151,6 +151,10 @@
                     $scope.vm.form.hostingId = result[0].id;
                 });
 
+                $scope.$on("parentSectorEvent", function (event, result) {
+                    $scope.vm.form.childSector = "";
+                });
+
                 //  �뤌 �쟾�넚
                 function formSubmit() {
                     $rootScope.spinner = true;
@@ -216,46 +220,46 @@
                         memo : $rootScope.preventXss($scope.vm.form.memo),
                         companyTypeId : (function () {
                             var companyTypeId = -1;
-                            if ($scope.vm.form.companyType !== "" && $scope.vm.form.companyTypeId !== "" && $scope.vm.form.companyTypeId !== -1) {
-                                companyTypeId = $scope.vm.form.companyTypeId;
-                            }else if ($scope.vm.form.companyTypes != null) {
+                            if ($scope.vm.form.companyTypes != null) {
                                 companyTypeId = $scope.vm.form.companyTypes[0].id;
+                            } else {
+                                companyTypeId = $scope.vm.form.companyTypeId;
                             }
                             return companyTypeId;
                         })(),
                         parentSectorId : (function () {
                             var parentSectorId = -1;
-                            if ($scope.vm.form.parentSector !== "" && $scope.vm.form.parentSectorId !== "" && $scope.vm.form.parentSectorId !== -1) {
-                                parentSectorId = $scope.vm.form.parentSectorId;
-                            }else if ($scope.vm.form.parentSectors != null) {
+                            if ($scope.vm.form.parentSectors != null) {
                                 parentSectorId = $scope.vm.form.parentSectors[0].id;
+                            } else {
+                                parentSectorId = $scope.vm.form.parentSectorId;
                             }
                             return parentSectorId;
                         })(),
                         childSectorId : (function () {
                             var childSectorId = -1;
-                            if ($scope.vm.form.childSector !== "" && $scope.vm.form.childSectorId !== "" && $scope.vm.form.childSectorId !== -1) {
-                                childSectorId = $scope.vm.form.childSectorId;
-                            }else if ($scope.vm.form.childSectors != null) {
+                            if ($scope.vm.form.childSectors != null) {
                                 childSectorId = $scope.vm.form.childSectors[0].id;
+                            } else {
+                                childSectorId = $scope.vm.form.childSectorId;
                             }
                             return childSectorId;
                         })(),
                         regionId : (function () {
                             var regionId = -1;
-                            if ($scope.vm.form.region !== "" && $scope.vm.form.regionId !== "" && $scope.vm.form.regionId !== -1) {
-                                regionId = $scope.vm.form.regionId;
-                            }else if ($scope.vm.form.regions != null) {
+                            if ($scope.vm.form.regions != null) {
                                 regionId = $scope.vm.form.regions[0].id;
+                            } else {
+                                regionId = $scope.vm.form.regionId;
                             }
                             return regionId;
                         })(),
                         statusId : (function () {
                             var statusId = -1;
-                            if ($scope.vm.form.status !== "" && $scope.vm.form.statusId !== "" && $scope.vm.form.statusId !== -1) {
-                                statusId = $scope.vm.form.statusId;
-                            }else if ($scope.vm.form.statuses != null) {
+                            if ($scope.vm.form.statuses != null) {
                                 statusId = $scope.vm.form.statuses[0].id;
+                            } else {
+                                statusId = $scope.vm.form.statusId;
                             }
                             return statusId;
                         })(),
diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js
index 94a67ae..04c9f2a 100644
--- a/src/main/webapp/scripts/app/issue/issueModify.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -538,46 +538,46 @@
 
                         companyTypeId : (function () {
                             var companyTypeId = -1;
-                            if ($scope.vm.form.companyType !== "" && $scope.vm.form.companyTypeId !== "" && $scope.vm.form.companyTypeId !== -1) {
-                                companyTypeId = $scope.vm.form.companyTypeId;
-                            }else if ($scope.vm.form.companyTypes != null) {
+                            if ($scope.vm.form.companyTypes != null) {
                                 companyTypeId = $scope.vm.form.companyTypes[0].id;
+                            } else {
+                                companyTypeId = $scope.vm.form.companyTypeId;
                             }
                             return companyTypeId;
                         })(),
                         parentSectorId : (function () {
                             var parentSectorId = -1;
-                            if ($scope.vm.form.parentSector !== "" && $scope.vm.form.parentSectorId !== "" && $scope.vm.form.parentSectorId !== -1) {
-                                parentSectorId = $scope.vm.form.parentSectorId;
-                            }else if ($scope.vm.form.parentSectors != null) {
+                            if ($scope.vm.form.parentSectors != null) {
                                 parentSectorId = $scope.vm.form.parentSectors[0].id;
+                            } else {
+                                parentSectorId = $scope.vm.form.parentSectorId;
                             }
                             return parentSectorId;
                         })(),
                         childSectorId : (function () {
                             var childSectorId = -1;
-                            if ($scope.vm.form.childSector !== "" && $scope.vm.form.childSectorId !== "" && $scope.vm.form.childSectorId !== -1) {
-                                childSectorId = $scope.vm.form.childSectorId;
-                            }else if ($scope.vm.form.childSectors != null) {
+                            if ($scope.vm.form.childSectors != null) {
                                 childSectorId = $scope.vm.form.childSectors[0].id;
+                            } else {
+                                childSectorId = $scope.vm.form.childSectorId;
                             }
                             return childSectorId;
                         })(),
                         regionId : (function () {
                             var regionId = -1;
-                            if ($scope.vm.form.region !== "" && $scope.vm.form.regionId !== "" && $scope.vm.form.regionId !== -1) {
-                                regionId = $scope.vm.form.regionId;
-                            }else if ($scope.vm.form.regions != null) {
+                            if ($scope.vm.form.regions != null) {
                                 regionId = $scope.vm.form.regions[0].id;
+                            } else {
+                                regionId = $scope.vm.form.regionId;
                             }
                             return regionId;
                         })(),
                         statusId : (function () {
                             var statusId = -1;
-                            if ($scope.vm.form.status !== "" && $scope.vm.form.statusId !== "" && $scope.vm.form.statusId !== -1) {
-                                statusId = $scope.vm.form.statusId;
-                            }else if ($scope.vm.form.statuses != null) {
+                            if ($scope.vm.form.statuses != null) {
                                 statusId = $scope.vm.form.statuses[0].id;
+                            } else {
+                                statusId = $scope.vm.form.statusId;
                             }
                             return statusId;
                         })(),

--
Gitblit v1.8.0