From 8ecffbb61c5505475cd0738032abda5efe2a1812 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 목, 18 11월 2021 21:36:32 +0900
Subject: [PATCH] 이슈 수정 완료

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java        |   10 +
 src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java |   24 ++-
 src/main/java/kr/wisestone/owl/vo/IssueCompanyVo.java                    |    9 +
 src/main/java/kr/wisestone/owl/domain/IspField.java                      |    8 
 src/main/java/kr/wisestone/owl/domain/HostingField.java                  |    6 
 src/main/java/kr/wisestone/owl/vo/IssueHostingVo.java                    |    9 +
 src/main/webapp/views/issue/issueModify.html                             |    4 
 src/main/java/kr/wisestone/owl/vo/IssueIspVo.java                        |    9 +
 src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java     |   25 ++-
 src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java |   25 ++-
 src/main/webapp/scripts/app/issue/issueAdd.controller.js                 |   64 +++++++--
 src/main/webapp/scripts/app/issue/issueModify.controller.js              |  201 ++++++++++++++++++----------
 12 files changed, 274 insertions(+), 120 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/domain/HostingField.java b/src/main/java/kr/wisestone/owl/domain/HostingField.java
index 19a4b61..19117e9 100644
--- a/src/main/java/kr/wisestone/owl/domain/HostingField.java
+++ b/src/main/java/kr/wisestone/owl/domain/HostingField.java
@@ -1,9 +1,6 @@
 package kr.wisestone.owl.domain;
 
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import javax.persistence.*;
 import java.io.Serializable;
 
 @Entity
@@ -77,4 +74,5 @@
     public void setMemo(String memo) {
         this.memo = memo;
     }
+
 }
diff --git a/src/main/java/kr/wisestone/owl/domain/IspField.java b/src/main/java/kr/wisestone/owl/domain/IspField.java
index 7dbdb4c..bbafb02 100644
--- a/src/main/java/kr/wisestone/owl/domain/IspField.java
+++ b/src/main/java/kr/wisestone/owl/domain/IspField.java
@@ -1,9 +1,6 @@
 package kr.wisestone.owl.domain;
 
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import javax.persistence.*;
 import java.io.Serializable;
 
 @Entity
@@ -77,4 +74,5 @@
     public void setMemo(String memo) {
         this.memo = memo;
     }
-}
+
+ }
diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java
index aa9ff25..4b16e2c 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java
@@ -44,19 +44,27 @@
                 Map<String, Object> param = issueCompanyFields.get(0);
 
                 if (param != null) {
-                    IssueCompany newIssueCompany = ConvertUtil.convertMapToClass(param, IssueCompany.class);
-                    newIssueCompany.setIssue(issue);
                     CompanyField companyField = this.companyFieldService.getCompany(MapUtil.getLong(param, "companyId"));
-                    newIssueCompany.setCompanyField(companyField);
 
                     Set<IssueCompany> issueCompanies = issue.getIssueCompanies();
                     if (issueCompanies != null && issueCompanies.size() > 0) {
-                        IssueCompany oldIssueCompany = issueCompanies.iterator().next();
-                        ConvertUtil.copyProperties(newIssueCompany, oldIssueCompany);
+                        IssueCompany issueCompany = issueCompanies.iterator().next();
+                        issueCompany.setCompanyField(companyField);
+                        issueCompany.setName(MapUtil.getString(param, "name"));
+                        issueCompany.setEmail(MapUtil.getString(param, "email"));
+                        issueCompany.setManager(MapUtil.getString(param, "manager"));
+                        issueCompany.setTel(MapUtil.getString(param, "tel"));
+                        issueCompany.setMemo(MapUtil.getString(param, "memo"));
+
+                        this.issueCompanyRepository.saveAndFlush(issueCompany);
+
+                    } else  {
+                        IssueCompany newIssueCompany = ConvertUtil.convertMapToClass(param, IssueCompany.class);
+                        newIssueCompany.setIssue(issue);
+                        newIssueCompany.setCompanyField(companyField);
+
+                        this.issueCompanyRepository.saveAndFlush(newIssueCompany);
                     }
-
-                    this.issueCompanyRepository.saveAndFlush(newIssueCompany);
-
                 }
             }
         }
diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java
index 689d42b..31af754 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java
@@ -46,18 +46,29 @@
                 Map<String, Object> param = issueIspFields.get(0);
 
                 if (param != null) {
-                    IssueHosting newIssueHosting = ConvertUtil.convertMapToClass(param, IssueHosting.class);
-                    newIssueHosting.setIssue(issue);
                     HostingField hostingField = this.hostingFieldService.getHosting(MapUtil.getLong(param, "hostingId"));
-                    newIssueHosting.setHostingField(hostingField);
 
                     Set<IssueHosting> issueHostings = issue.getIssueHostingFields();
-                    if (issueHostings != null && issueHostings.size() > 0) {
-                        IssueHosting oldIssueHosting = issueHostings.iterator().next();
-                        ConvertUtil.copyProperties(newIssueHosting, oldIssueHosting);
+                    if (issueHostings != null && issueHostings.size() >0){
+                        IssueHosting issueHosting = issueHostings.iterator().next();
+
+                        issueHosting.setHostingField(hostingField);
+                        issueHosting.setName(MapUtil.getString(param, "name"));
+                        issueHosting.setEmail(MapUtil.getString(param, "email"));
+                        issueHosting.setCode(MapUtil.getString(param, "code"));
+                        issueHosting.setManager(MapUtil.getString(param, "manager"));
+                        issueHosting.setTel(MapUtil.getString(param, "tel"));
+                        issueHosting.setMemo(MapUtil.getString(param, "memo"));
+
+                        this.issueHostingRepository.saveAndFlush(issueHosting);
+                    }else{
+                        IssueHosting newIssueHosting = ConvertUtil.convertMapToClass(param, IssueHosting.class);
+                        newIssueHosting.setIssue(issue);
+                        newIssueHosting.setHostingField(hostingField);
+
+                        this.issueHostingRepository.saveAndFlush(newIssueHosting);
                     }
 
-                    this.issueHostingRepository.saveAndFlush(newIssueHosting);
                 }
             }
         }
diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java
index 1d7dbc7..9d2f7be 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java
@@ -44,18 +44,29 @@
                 Map<String, Object> param = issueIspFields.get(0);
 
                 if (param != null) {
-                    IssueIsp newIssueIsp = ConvertUtil.convertMapToClass(param, IssueIsp.class);
-                    newIssueIsp.setIssue(issue);
                     IspField ispField = this.ispFieldService.getIsp(MapUtil.getLong(param, "ispId"));
-                    newIssueIsp.setIspField(ispField);
 
                     Set<IssueIsp> issueIsps = issue.getIssueIspFields();
                     if (issueIsps != null && issueIsps.size() > 0) {
-                        IssueIsp oldIssueIsp = issueIsps.iterator().next();
-                        ConvertUtil.copyProperties(newIssueIsp, oldIssueIsp);
-                    }
+                        IssueIsp issueIsp = issueIsps.iterator().next();
 
-                    this.issueIspRepository.saveAndFlush(newIssueIsp);
+                        issueIsp.setIspField(ispField);
+                        issueIsp.setName(MapUtil.getString(param, "name"));
+                        issueIsp.setEmail(MapUtil.getString(param, "email"));
+                        issueIsp.setCode(MapUtil.getString(param, "code"));
+                        issueIsp.setManager(MapUtil.getString(param, "manager"));
+                        issueIsp.setTel(MapUtil.getString(param, "tel"));
+                        issueIsp.setMemo(MapUtil.getString(param, "memo"));
+
+                        this.issueIspRepository.saveAndFlush(issueIsp);
+
+                    } else  {
+                        IssueIsp newIssueIsp = ConvertUtil.convertMapToClass(param, IssueIsp.class);
+                        newIssueIsp.setIssue(issue);
+                        newIssueIsp.setIspField(ispField);
+
+                        this.issueIspRepository.saveAndFlush(newIssueIsp);
+                    }
                 }
             }
         }
diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
index 1e6d6e8..de17002 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -1628,8 +1628,12 @@
         List<IssueCompanyVo> issueCompanyVos = Lists.newArrayList();
 
         for(IssueCompany issueCompany : issue.getIssueCompanies()){
-            IssueCompanyVo issueCompanyVo = ConvertUtil.copyProperties(issueCompany.getCompanyField(), IssueCompanyVo.class);
+            IssueCompanyVo issueCompanyVo = ConvertUtil.copyProperties(issueCompany, IssueCompanyVo.class);
             issueCompanyVo.setId(issueCompany.getId());
+            CompanyField companyField = issueCompany.getCompanyField();
+            if (companyField != null) {
+                issueCompanyVo.setCompanyId(issueCompany.getCompanyField().getId());
+            }
             issueCompanyVos.add(issueCompanyVo);
         }
         issueVo.setIssueCompanyVos(issueCompanyVos);
@@ -1640,7 +1644,7 @@
         List<IssueIspVo> issueIspVos = Lists.newArrayList();
 
         for(IssueIsp issueIsp : issue.getIssueIspFields()){
-            IssueIspVo issueIspVo = ConvertUtil.copyProperties(issueIsp.getIspField(), IssueIspVo.class);
+            IssueIspVo issueIspVo = ConvertUtil.copyProperties(issueIsp, IssueIspVo.class);
             issueIspVo.setId(issueIsp.getId());
             issueIspVos.add(issueIspVo);
         }
@@ -1652,7 +1656,7 @@
         List<IssueHostingVo> issueHostingVos = Lists.newArrayList();
 
         for(IssueHosting issueHosting : issue.getIssueHostingFields()){
-            IssueHostingVo issueHostingVo = ConvertUtil.copyProperties(issueHosting.getHostingField(), IssueHostingVo.class);
+            IssueHostingVo issueHostingVo = ConvertUtil.copyProperties(issueHosting, IssueHostingVo.class);
             issueHostingVo.setId(issueHosting.getId());
             issueHostingVos.add(issueHostingVo);
         }
diff --git a/src/main/java/kr/wisestone/owl/vo/IssueCompanyVo.java b/src/main/java/kr/wisestone/owl/vo/IssueCompanyVo.java
index 816143e..6ea486b 100644
--- a/src/main/java/kr/wisestone/owl/vo/IssueCompanyVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/IssueCompanyVo.java
@@ -5,6 +5,7 @@
  */
 public class IssueCompanyVo extends BaseVo{
     private Long id;
+    private Long companyId;
     private String name;
     private String manager;
     private String tel;
@@ -21,6 +22,14 @@
         this.id = id;
     }
 
+    public Long getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(Long companyId) {
+        this.companyId = companyId;
+    }
+
     public String getName() {
         return name;
     }
diff --git a/src/main/java/kr/wisestone/owl/vo/IssueHostingVo.java b/src/main/java/kr/wisestone/owl/vo/IssueHostingVo.java
index f79d1a5..665efb1 100644
--- a/src/main/java/kr/wisestone/owl/vo/IssueHostingVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/IssueHostingVo.java
@@ -5,6 +5,7 @@
  */
 public class IssueHostingVo extends BaseVo{
     private Long id;
+    private Long hostingId;
     private String name;
     private String code;
     private String manager;
@@ -22,6 +23,14 @@
         this.id = id;
     }
 
+    public Long getHostingId() {
+        return hostingId;
+    }
+
+    public void setHostingId(Long hostingId) {
+        this.hostingId = hostingId;
+    }
+
     public String getName() {
         return name;
     }
diff --git a/src/main/java/kr/wisestone/owl/vo/IssueIspVo.java b/src/main/java/kr/wisestone/owl/vo/IssueIspVo.java
index fb7a994..c914da9 100644
--- a/src/main/java/kr/wisestone/owl/vo/IssueIspVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/IssueIspVo.java
@@ -5,6 +5,7 @@
  */
 public class IssueIspVo extends BaseVo{
     private Long id;
+    private Long ispId;
     private String name;
     private String code;
     private String manager;
@@ -23,6 +24,14 @@
         this.id = id;
     }
 
+    public Long getIspId() {
+        return ispId;
+    }
+
+    public void setIspId(Long ispId) {
+        this.ispId = ispId;
+    }
+
     public String getName() {
         return name;
     }
diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
index 12cfe73..53dd6bb 100644
--- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -76,6 +76,9 @@
                     hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇
                     hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪
                     hostingMemo : "", // �샇�뒪�똿 鍮꾧퀬
+                    companyId : -1,
+                    ispId : -1,
+                    hostingId : -1,
                     autoCompletePage : {
                         user : {
                             page : 0,
@@ -387,7 +390,7 @@
                         priorityId : $scope.vm.form.priorityId,    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : $scope.vm.form.severityId,    //  以묒슂�룄 �븘�씠�뵒
                         companyId : (function () {   //  �뾽泥� �븘�씠�뵒
-                            var companyId = "";
+                            var companyId = -1;
                             if ($scope.vm.form.issueCompanyFields.length > 0) {
                                 companyId = $scope.vm.form.issueCompanyFields[0].id;
                             }
@@ -395,7 +398,7 @@
                         })(),
 
                         ispId : (function () {  // ISP �븘�씠�뵒
-                            var ispId = "";
+                            var ispId = -1;
                             if ($scope.vm.form.issueIspFields.length > 0) {
                                 ispId = $scope.vm.form.issueIspFields[0].id;
                             }
@@ -403,7 +406,7 @@
                         })(),
 
                         hostingId : (function () {  // Hosting �븘�씠�뵒
-                            var hostingId = "";
+                            var hostingId = -1;
                             if ($scope.vm.form.issueHostingFields.length > 0) {
                                 hostingId = $scope.vm.form.issueHostingFields[0].id;
                             }
@@ -447,31 +450,62 @@
 
                         issueCompanyFields : (function () {
                             var issueCompanyFields = [];
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){
+                                var companyField = $scope.vm.form.issueCompanyFields[0];
 
-                            var companyField = $scope.vm.form.issueCompanyFields[0];
-                            companyField.companyId = companyField.id;
-                            companyField.id = null;
-                            issueCompanyFields.push(companyField);
+                                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,
+                                    memo : $scope.vm.companyMemo
+                                });
+                            }
 
                             return issueCompanyFields;
                         })(),
 
                         issueIspFields : (function () {
                             var issueIspFields = [];
+                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
+                                var ispField = $scope.vm.form.issueIspFields[0];
 
-                            var ispField = $scope.vm.form.issueIspFields[0];
-                            ispField.ispId = ispField.id;
-                            ispField.id = null;
-                            issueIspFields.push(ispField);
+                                issueIspFields[0] = {
+                                    id : ispField.id,
+                                    ispId : $scope.vm.ispId,
+                                    name : $scope.vm.ispName,
+                                    code : $scope.vm.ispCode,
+                                    manager : $scope.vm.ispManager,
+                                    tel : $scope.vm.ispTel,
+                                    email :$scope.vm.ispEmail,
+                                    memo : $scope.vm.ispMemo
+                                };
+
+                            }
+
                             return issueIspFields;
                         })(),
+
                         issueHostingFields : (function () {
                             var issueHostingFields = [];
+                            if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){
 
-                            var hostingField = $scope.vm.form.issueHostingFields[0];
-                            hostingField.hostingId = hostingField.id;
-                            hostingField.id = null;
-                            issueHostingFields.push(hostingField);
+                                var hostingField = $scope.vm.form.issueHostingFields[0];
+
+                                issueHostingFields[0] = {
+                                    id : hostingField.id,
+                                    hostingId : $scope.vm.hostingId,
+                                    name : $scope.vm.hostingName,
+                                    code : $scope.vm.hostingCode,
+                                    manager : $scope.vm.hostingManager,
+                                    tel : $scope.vm.hostingTel,
+                                    email :$scope.vm.hostingEmail,
+                                    memo : $scope.vm.hostingMemo
+                                };
+                            }
+
                             return issueHostingFields;
                         })(),
 
diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js
index 5ed22af..deda875 100644
--- a/src/main/webapp/scripts/app/issue/issueModify.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -67,18 +67,21 @@
                     projectName : "",   //  �봽濡쒖젥�듃 紐� 寃��깋
                     userName : "",  //  �궗�슜�옄 寃��깋
                     departmentName : "",  // 遺��꽌紐� 寃��깋
+                    companyId : -1,
                     companyName : "",   // �뾽泥대챸 寃��깋
                     companyCode : "",   // �뾽泥� 肄붾뱶
                     companyManager : "",   // �뾽泥� �떞�떦�옄
                     companyTel : "",  // �뾽泥� �쟾�솕踰덊샇
                     companyEmail : "",  // �뾽泥� �씠硫붿씪
                     companyMemo : "",  // �뾽泥� 鍮꾧퀬
+                    ispId : -1,
                     ispName : "", // ISP 紐�
                     ispCode : "", // ISP 肄붾뱶
                     ispManager : "", // ISP �떞�떦�옄
                     ispTel : "", // ISP �쟾�솕踰덊샇
                     ispEmail : "", // ISP �씠硫붿씪
                     ispMemo : "", // ISP 鍮꾧퀬
+                    hostingId : -1,
                     hostingName : "", // �샇�뒪�똿紐� 寃��깋
                     hostingManager : "", // �샇�뒪�똿 �떞�떦�옄
                     hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇
@@ -346,6 +349,7 @@
                 // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("companyFieldEvent", function (event, result) {
                     $scope.vm.companyId = result[0].id;
+                    $scope.vm.companyName = result[0].name;
                     $scope.vm.companyManager = result[0].manager;
                     $scope.vm.companyTel = result[0].tel;
                     $scope.vm.companyEmail = result[0].email;
@@ -355,6 +359,8 @@
 
                 // 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;
@@ -364,6 +370,8 @@
 
                 // �샇�뒪�똿�젙蹂� 寃곌낵 媛� 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;
@@ -387,38 +395,116 @@
 
                             return projectId;
                         })(),
-                        companyId : (function () {   //  �봽濡쒖젥�듃 �븘�씠�뵒
-                            var companyId = "";
+
+                        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 = "";
+                            var ispId = -1;
 
                             if ($scope.vm.form.issueIspFields.length > 0) {
                                 ispId = $scope.vm.form.issueIspFields[0].id;
                             }
 
                             return ispId;
-                        })(),
+                        }),
+
                         hostingId : (function () {
-                            var hostingId = "";
+                            var hostingId = -1;
 
                             if ($scope.vm.form.issueHostingFields.length > 0) {
                                 hostingId = $scope.vm.form.issueHostingFields[0].id;
                             }
 
                             return hostingId;
+                        }),
+
+                        issueCompanyFields : (function () {
+                            var issueCompanyFields = [];
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){
+                                var companyField = $scope.vm.form.issueCompanyFields[0];
+
+                                issueCompanyFields.push({
+                                    id : companyField.id,
+                                    companyId : $scope.vm.companyId,
+                                    name : $scope.vm.companyName,
+                                    manager : $scope.vm.companyManager,
+                                    tel : $scope.vm.companyTel,
+                                    email :$scope.vm.companyEmail,
+                                    memo : $scope.vm.companyMemo
+                                });
+                            }
+
+                            return issueCompanyFields;
                         })(),
-                        issueTypeId : $scope.vm.form.issueTypeId,   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
-                        priorityId : $scope.vm.form.priorityId,    //  �슦�꽑�닚�쐞 �븘�씠�뵒
-                        severityId : $scope.vm.form.severityId,    //  以묒슂�룄 �븘�씠�뵒
-                        issueStatusId : $scope.vm.form.issueStatusId,   //  �씠�뒋 �긽�깭 �븘�씠�뵒
+
+                        issueIspFields : (function () {
+                            var issueIspFields = [];
+                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
+                                var ispField = $scope.vm.form.issueIspFields[0];
+
+                                issueIspFields.push({
+                                    id : ispField.id,
+                                    ispId : $scope.vm.ispId,
+                                    code : $scope.vm.ispCode,
+                                    name : $scope.vm.ispName,
+                                    manager : $scope.vm.ispManager,
+                                    tel : $scope.vm.ispTel,
+                                    email :$scope.vm.ispEmail,
+                                    memo : $scope.vm.ispMemo
+                                });
+
+                            }
+
+                            return issueIspFields;
+                        })(),
+
+                        issueHostingFields : (function () {
+                            var issueHostingFields = [];
+                            if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){
+
+                                var hostingField = $scope.vm.form.issueHostingFields[0];
+
+                                issueHostingFields.push({
+                                    id : hostingField.id,
+                                    hostingId : $scope.vm.hostingId,
+                                    name : $scope.vm.hostingName,
+                                    code : $scope.vm.hostingCode,
+                                    manager : $scope.vm.hostingManager,
+                                    tel : $scope.vm.hostingTel,
+                                    email :$scope.vm.hostingEmail,
+                                    memo : $scope.vm.hostingMemo
+                                });
+                            }
+
+                            return issueHostingFields;
+                        })(),
+
+                        ispName : $scope.vm.ispName,
+                        ispCode : $scope.vm.ispCode,
+                        ispManager : $scope.vm.ispManager,
+                        ispTel : $scope.vm.ispTel,
+                        ispEmail : $scope.vm.ispEmail,
+                        ispMemo : $scope.vm.ispMemo,
+
+                        hostingName : $scope.vm.hostingName,
+                        hostingCode : $scope.vm.hostingCode,
+                        hostingManager : $scope.vm.hostingManager,
+                        hostingTel : $scope.vm.hostingTel,
+                        hostingEmail : $scope.vm.hostingEmail,
+                        hostingMemo : $scope.vm.hostingMemo,
 
                         userIds : (function () {
                             var userIds = [];
@@ -451,39 +537,6 @@
                             return attachedFileIds;
                         })(),
                         startCompleteDateRange : $scope.vm.form.startCompleteDateRange,
-
-                        issueCompanyFields : (function () {
-                            var issueCompanyFields = [];
-
-                            var companyField = $scope.vm.form.issueCompanyFields;
-                            issueCompanyFields.companyId = companyField.id;
-                            //companyField.id = null;
-                            issueCompanyFields.push(companyField);
-
-                            return issueCompanyFields;
-                        })(),
-
-                        issueIspFields : (function () {
-                            var issueIspFields = [];
-
-                            var ispField = $scope.vm.form.issueIspFields;
-                            issueIspFields.ispId = ispField.id;
-                            ispField.id = null;
-                            issueIspFields.push(ispField);
-
-                            return issueIspFields;
-                        })(),
-
-                        issueHostingFields : (function () {
-                            var issueHostingFields = [];
-
-                            var hostingField = $scope.vm.form.issueHostingFields;
-                            issueHostingFields.hostingId = hostingField.id;
-                            hostingField.id = null;
-                            issueHostingFields.push(hostingField);
-
-                            return issueHostingFields;
-                        })(),
 
                         issueCustomFields : (function () {    //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
                             var issueCustomFields = [];
@@ -715,33 +768,41 @@
                                 $scope.vm.form.users = result.data.data.userVos;
                                 $scope.vm.form.departments = result.data.data.departmentVos;
                                 $scope.vm.form.files = result.data.data.attachedFileVos;
-                                // issueVo �뿉 get & set �꽕�젙媛� �꽕�젙 ex)issueCompanyVos
-                                $scope.vm.form.issueCompanyFields = result.data.data.issueCompanyVos[0];
-                                var issueCompanyFieldValue = result.data.data.issueCompanyVos[0];
-                                $scope.vm.companyName = issueCompanyFieldValue.name;
-                                $scope.vm.companyManager = issueCompanyFieldValue.manager;
-                                $scope.vm.companyTel = issueCompanyFieldValue.tel;
-                                $scope.vm.companyEmail = issueCompanyFieldValue.email;
-                                $scope.vm.companyMemo = issueCompanyFieldValue.memo;
-                                //
-                                $scope.vm.form.issueIspFields = result.data.data.issueIspVos[0]
-                                var issueIspFieldValue = result.data.data.issueIspVos[0];
-                                $scope.vm.ispName = issueIspFieldValue.name;
-                                $scope.vm.ispCode = issueIspFieldValue.code;
-                                $scope.vm.ispManager = issueIspFieldValue.manager;
-                                $scope.vm.ispTel = issueIspFieldValue.tel;
-                                $scope.vm.ispEmail = issueIspFieldValue.email;
-                                $scope.vm.ispMemo = issueIspFieldValue.memo;
-                                //
-                                $scope.vm.form.issueHostingFields = result.data.data.issueHostingVos[0];
-                                var issueHostingFieldValue = result.data.data.issueHostingVos[0];
-                                $scope.vm.hostingName = issueHostingFieldValue.name;
-                                $scope.vm.hostingCode = issueHostingFieldValue.code;
-                                $scope.vm.hostingManager = issueHostingFieldValue.manager;
-                                $scope.vm.hostingTel = issueHostingFieldValue.tel;
-                                $scope.vm.hostingEmail = issueHostingFieldValue.email;
-                                $scope.vm.hostingMemo = issueHostingFieldValue.memo;
-                                //
+
+                                if (result.data.data.issueCompanyVos != null && result.data.data.issueCompanyVos.length > 0) {
+                                    $scope.vm.form.issueCompanyFields = result.data.data.issueCompanyVos;
+                                    var issueCompanyFieldValue = result.data.data.issueCompanyVos[0];
+                                    $scope.vm.companyId = issueCompanyFieldValue.id;
+                                    $scope.vm.companyName = issueCompanyFieldValue.name;
+                                    $scope.vm.companyManager = issueCompanyFieldValue.manager;
+                                    $scope.vm.companyTel = issueCompanyFieldValue.tel;
+                                    $scope.vm.companyEmail = issueCompanyFieldValue.email;
+                                    $scope.vm.companyMemo = issueCompanyFieldValue.memo;
+                                }
+                                if (result.data.data.issueIspVos != null && result.data.data.issueIspVos.length > 0) {
+                                    $scope.vm.form.issueIspFields = result.data.data.issueIspVos;
+                                    var issueIspFieldValue = result.data.data.issueIspVos[0];
+                                    $scope.vm.ispId = issueIspFieldValue.id;
+                                    $scope.vm.ispName = issueIspFieldValue.name;
+                                    $scope.vm.ispCode = issueIspFieldValue.code;
+                                    $scope.vm.ispManager = issueIspFieldValue.manager;
+                                    $scope.vm.ispTel = issueIspFieldValue.tel;
+                                    $scope.vm.ispEmail = issueIspFieldValue.email;
+                                    $scope.vm.ispMemo = issueIspFieldValue.memo;
+                                }
+
+                                if (result.data.data.issueHostingVos != null && result.data.data.issueHostingVos.length > 0) {
+                                    $scope.vm.form.issueHostingFields = result.data.data.issueHostingVos;
+                                    var issueHostingFieldValue = result.data.data.issueHostingVos[0];
+                                    $scope.vm.hostingId = issueHostingFieldValue.id;
+                                    $scope.vm.hostingName = issueHostingFieldValue.name;
+                                    $scope.vm.hostingCode = issueHostingFieldValue.code;
+                                    $scope.vm.hostingManager = issueHostingFieldValue.manager;
+                                    $scope.vm.hostingTel = issueHostingFieldValue.tel;
+                                    $scope.vm.hostingEmail = issueHostingFieldValue.email;
+                                    $scope.vm.hostingMemo = issueHostingFieldValue.memo;
+                                }
+
                                 if ($rootScope.isDefined(result.data.data.startDate)) {
                                     $scope.vm.form.startCompleteDateRange = result.data.data.startDate + " ~ " + result.data.data.completeDate;
                                 }
diff --git a/src/main/webapp/views/issue/issueModify.html b/src/main/webapp/views/issue/issueModify.html
index 91b5eb8..aa4b2a4 100644
--- a/src/main/webapp/views/issue/issueModify.html
+++ b/src/main/webapp/views/issue/issueModify.html
@@ -607,4 +607,6 @@
             ng-disabled="fn.formCheck(issueAddForm.$invalid)"
             ng-click="fn.formSubmit()"><span translate="common.save">���옣</span>
     </button>
-</div>
\ No newline at end of file
+</div>
+
+

--
Gitblit v1.8.0