From fe21896bff9b9305df0294e0352b343e0dd4d0b9 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 14 3월 2022 12:55:20 +0900
Subject: [PATCH] - api로 이슈 추가 시 하위이슈기준 IP/SITE 일 경우 코드 수정

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

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 de46104..545ec04 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -493,6 +493,7 @@
 
         if (issueCustomFieldValueForms.size() > 0) {
             String concatUseValue = "";
+            String customFieldType = "";
             int useIdx = 0;
             int cntIp = 0;
             int cntSite = 0;
@@ -519,6 +520,7 @@
 
                         if (customFieldApiOverlap.getCustomField().getCustomFieldType().equals(IP_ADDRESS)) {
                             long ip = ConvertUtil.ipToLong(useValue);
+                            customFieldType = IP_ADDRESS.toString();
                             if (cntIp == 0){
                                 condition.setIp(ip);
                             }
@@ -526,6 +528,7 @@
                         }
 
                         if(customFieldApiOverlap.getCustomField().getCustomFieldType().equals(SITE)) {
+                            customFieldType = SITE.toString();
                             String[] urlArr = null;
                             List<String> urls = Lists.newArrayList();
                             if (useValue.contains(",")) {
@@ -560,8 +563,29 @@
             issueCustomFieldValueCondition.setUseValue(concatUseValue);
             issueCustomFieldValueCondition.setUseValues(userValues);
             issueCustomFieldValueCondition.setIssueTypeId(issueApiform.getIssueTypeId());
+            issueCustomFieldValueCondition.setCustomFieldType(customFieldType);
 //            issueCustomFieldValueCondition.setIssueStatusType("CLOSE");
-            List<Map<String, Object>> results = this.issueMapper.findByCustomFieldValue(issueCustomFieldValueCondition);
+            List<Map<String, Object>> results = Lists.newArrayList();
+            if (customFieldType.equals(IP_ADDRESS.toString()) && issueForm.getIssueCompanyFields() != null && issueForm.getIssueCompanyFields().size() > 0) {
+                long ipValue = 0;
+                if (concatUseValue.contains(",")) {
+                    String[] arr = concatUseValue.split(",");
+                    for (String str : arr) {
+                        ipValue = ConvertUtil.ipToLong(str);
+                    }
+                } else {
+                    ipValue = ConvertUtil.ipToLong(concatUseValue);
+                }
+                issueCustomFieldValueCondition.setUseValue(String.valueOf(ipValue));
+            }
+
+            if (issueCustomFieldValueCondition.getCustomFieldType() != null && !issueCustomFieldValueCondition.getCustomFieldType().equals("")) {
+                //  �궗�슜�옄�젙�쓽�븘�뱶 ���엯�씠 IP_ADDRESS �삉�뒗 SITE �씪 寃쎌슦 
+                results = this.issueMapper.findByCustomFieldValueByCompany(issueCustomFieldValueCondition);
+            } else {
+                results = this.issueMapper.findByCustomFieldValue(issueCustomFieldValueCondition);
+            }
+
             if (results != null && results.size() > 0) {
                 for (Map<String, Object> result : results) {
                     resultIssueVos.add(this.getIssue(MapUtil.getLong(result, "id")));

--
Gitblit v1.8.0