From 6a8cacfc31f8ac932844a122940fdfd127c117ac Mon Sep 17 00:00:00 2001
From: 박지현 <jhpark@maprex.co.kr>
Date: 수, 09 2월 2022 09:17:20 +0900
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java         |   31 +++++++++++++++
 src/main/webapp/views/issue/issueListNormal.html                         |   19 +++++++++
 src/main/resources/mybatis/query-template/issue-template.xml             |    8 ++++
 src/main/webapp/scripts/app/issue/issueList.controller.js                |    6 +++
 src/main/webapp/i18n/ko/global.json                                      |    1 
 pom.xml                                                                  |    2 
 src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java     |    2 
 src/main/webapp/scripts/main.js                                          |    2 
 src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java |    6 +-
 9 files changed, 71 insertions(+), 6 deletions(-)

diff --git a/pom.xml b/pom.xml
index b2bb567..e80cbf3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
 
     <groupId>kr.wisestone.owl</groupId>
     <artifactId>kr.wisestone.owl.its</artifactId>
-    <version>1.0.0.RELEASE</version>
+    <version>1.0.1.RELEASE</version>
     <packaging>war</packaging>
 
     <properties>
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 932da15..02b0e33 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java
@@ -89,7 +89,7 @@
      * @return IssueHosting
      */
     private IssueHosting CreateIssueHosting(HostingFieldForm hostingFieldForm, Issue issue) {
-        IssueHosting issueHosting = ConvertUtil.copyProperties(hostingFieldForm, IssueHosting.class);
+        IssueHosting issueHosting = ConvertUtil.copyProperties(hostingFieldForm, IssueHosting.class, "id");
         issueHosting.setIssue(issue);
         if (hostingFieldForm.getId() != null && hostingFieldForm.getId() != -1) {
             HostingField hostingField = this.hostingFieldService.getHosting(hostingFieldForm.getId());
@@ -121,8 +121,8 @@
             if (issueHostingFields != null && issueHostingFields.size() > 0) {
                 Map<String, Object> param = issueHostingFields.get(0);
 
-                if (issueHosting != null) { //�닔�젙 �떆
-                    // 蹂�寃� �씠�젰 �궓湲곌퀬 issueHosting�뿉 set �빐二쇨린
+                // 蹂�寃� �씠�젰 �궓湲곌퀬 issueHosting�뿉 se
+                if (issueHosting != null) { //�닔�젙 �떆t �빐二쇨린
                     issueHistoryService.detectIssueHosting(IssueHistoryType.MODIFY, param, null, issueHosting, sb);
 
                     issueHosting.setName(MapUtil.getString(param, "name"));
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 4bf324b..eebfb2c 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueIspServiceImpl.java
@@ -86,7 +86,7 @@
      * @return IssueIsp
      */
     private IssueIsp CreateIssueIsp(IspFieldForm ispFieldForm, Issue issue) {
-        IssueIsp issueIsp = ConvertUtil.copyProperties(ispFieldForm, IssueIsp.class);
+        IssueIsp issueIsp = ConvertUtil.copyProperties(ispFieldForm, IssueIsp.class, "id");
         issueIsp.setIssue(issue);
         if (ispFieldForm.getId() != null && ispFieldForm.getId() != -1) {
             IspField ispField = this.ispFieldService.getIsp(ispFieldForm.getId());
diff --git a/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java b/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
index ae863c5..a0b9fac 100644
--- a/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
+++ b/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
@@ -6,6 +6,7 @@
 import org.springframework.data.domain.Pageable;
 import org.springframework.util.StringUtils;
 
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -27,6 +28,8 @@
     private String endStartDate;
     private String beginCompleteDate;
     private String endCompleteDate;
+    private String beginDateRange;
+    private String endDateRange;
     private Integer page;
     private Integer pageSize;
     private Long loginUserId;
@@ -158,6 +161,18 @@
         if (StringUtils.hasText(MapUtil.getString(conditions, "endCompleteDate"))) {
             Date endCompleteDate = DateUtil.convertStrToDate(MapUtil.getString(conditions, "endCompleteDate"), "yy-MM-dd");
             condition.setEndCompleteDate(DateUtil.convertDateToStr(endCompleteDate, "yyyy-MM-dd"));
+        }
+
+        if (StringUtils.hasText(MapUtil.getString(conditions, "dateRange"))) {
+            String dateRange = MapUtil.getString(conditions, "dateRange");
+            if (!StringUtils.isEmpty(dateRange)) {
+                List<String> date = Arrays.asList(dateRange.split("~"));
+
+                Date beginDateRange = DateUtil.convertStrToDate(date.get(0).trim(), "yy-MM-dd");
+                condition.setBeginDateRange(DateUtil.convertDateToStr(beginDateRange, "yyyy-MM-dd"));
+                Date endDateRange = DateUtil.convertStrToDate(date.get(1).trim(), "yy-MM-dd");
+                condition.setEndDateRange(DateUtil.convertDateToStr(endDateRange, "yyyy-MM-dd"));
+            }
         }
 
         if (MapUtil.getLongs(conditions, "projectIds") != null) {
@@ -317,6 +332,22 @@
         this.endCompleteDate = endCompleteDate;
     }
 
+    public String getBeginDateRange() {
+        return beginDateRange;
+    }
+
+    public void setBeginDateRange(String beginDateRange) {
+        this.beginDateRange = beginDateRange;
+    }
+
+    public String getEndDateRange() {
+        return endDateRange;
+    }
+
+    public void setEndDateRange(String endDateRange) {
+        this.endDateRange = endDateRange;
+    }
+
     public Integer getPage() {
         return page;
     }
diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml
index d220849..56c91b8 100644
--- a/src/main/resources/mybatis/query-template/issue-template.xml
+++ b/src/main/resources/mybatis/query-template/issue-template.xml
@@ -132,6 +132,10 @@
             ANd issue.complete_date <![CDATA[ <= ]]> #{endCompleteDate}
         </if>
 
+        <if test="beginDateRange != null and !beginDateRange.equals('') and endDateRange != null and !endDateRange.equals('')">
+            AND (issue.start_date BETWEEN #{beginDateRange} AND #{endDateRange} OR issue.complete_date BETWEEN #{beginDateRange} AND #{endDateRange})
+        </if>
+
         <if test="combinationIssueNumber == null or combinationIssueNumber.equals('')">
             <if test="hideDownIssue != null and hideDownIssue == true">
                 AND issue.parent_issue_id IS NULL
@@ -349,6 +353,10 @@
             ANd issue.complete_date <![CDATA[ <= ]]> #{endCompleteDate}
         </if>
 
+        <if test="beginDateRange != null and !beginDateRange.equals('') and endDateRange != null and !endDateRange.equals('')">
+            AND (issue.start_date BETWEEN #{beginDateRange} AND #{endDateRange} OR issue.complete_date BETWEEN #{beginDateRange} AND #{endDateRange})
+        </if>
+
         <if test="combinationIssueNumber == null or combinationIssueNumber.equals('')">
             <if test="hideDownIssue != null and hideDownIssue == true">
                 AND issue.parent_issue_id IS NULL
diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json
index 7319699..01db0f7 100644
--- a/src/main/webapp/i18n/ko/global.json
+++ b/src/main/webapp/i18n/ko/global.json
@@ -740,6 +740,7 @@
         "register": "�벑濡앹옄",
         "startDate": "�떆�옉�씪",
         "endDate": "醫낅즺�씪",
+        "dateRange": "湲곌컙",
         "company": "�뾽泥�",
         "isp": "ISP",
         "hosting": "�샇�뒪�똿",
diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index 4fe4e8b..53ddc18 100644
--- a/src/main/webapp/scripts/app/issue/issueList.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -61,6 +61,7 @@
                         registerDateRange : "", //  �벑濡앹씪 湲곌컙 寃��깋
                         startDateRange : "",    //  �떆�옉�씪 湲곌컙 寃��깋
                         completeDateRange : "", //  �셿猷뚯씪 湲곌컙 寃��깋
+                        dateRange : "", //  湲곌컙 寃��깋
                         severityIds : [],   //  以묒슂�룄 寃��깋
                         priorityIds : [],   //  �슦�꽑�닚�쐞 寃��깋
                         issueStatusIds : [],    //  �씠�뒋 �긽�깭 寃��깋
@@ -495,6 +496,7 @@
                         endStartDate : "",
                         beginCompleteDate : "",
                         endCompleteDate : "",
+                        dateRange: "",
                         hideCompleteIssue: $scope.vm.hideCompleteIssue,
                         hideDownIssue : $scope.vm.hideDownIssue,
                         isTree : $scope.vm.listMode === 1,
@@ -618,6 +620,10 @@
                         conditions.beginCompleteDate = completeDateRange[0].trim();
                         conditions.endCompleteDate = completeDateRange[1].trim();
                     }
+                    //  湲곌컙
+                    if ($rootScope.isDefined($scope.vm.search.dateRange)) {
+                        conditions.dateRange = $scope.vm.search.dateRange.trim();
+                    }
 
                     return conditions;
 
diff --git a/src/main/webapp/scripts/main.js b/src/main/webapp/scripts/main.js
index b5a5c17..9cde43c 100644
--- a/src/main/webapp/scripts/main.js
+++ b/src/main/webapp/scripts/main.js
@@ -4,7 +4,7 @@
 'use strict';
 
 require.config({
-    urlArgs : "bust=v1.0.0",
+    urlArgs : "bust=v1.0.1",
     paths : {
         'jquery' : '../bower_components/jquery/dist/jquery',
         'jquery-ui' : '../bower_components/jquery-ui/jquery-ui',
diff --git a/src/main/webapp/views/issue/issueListNormal.html b/src/main/webapp/views/issue/issueListNormal.html
index 8e645ab..0d13530 100644
--- a/src/main/webapp/views/issue/issueListNormal.html
+++ b/src/main/webapp/views/issue/issueListNormal.html
@@ -87,6 +87,12 @@
                                                     <span ng-click="vm.search.completeDateRange = ''">횞</span>
                                                 </p>
 
+                                                <!-- 湲곌컙 -->
+                                                <p ng-if="$root.isDefined(vm.search.dateRange)">
+                                                    {{vm.search.dateRange}}
+                                                    <span ng-click="vm.search.dateRange = ''">횞</span>
+                                                </p>
+
                                                 <!--    �벑濡앹씪   -->
                                                 <p ng-if="$root.isDefined(vm.search.registerDateRange)">
                                                     {{vm.search.registerDateRange}}
@@ -264,6 +270,19 @@
                                                     </div>
                                                 </div>
 
+                                                <div class="col-lg-3">
+                                                    <div class="form-group">
+                                                        <label> <span translate="common.dateRange">湲곌컙</span></label>
+                                                        <input type="text"
+                                                               readonly
+                                                               class="form-control input-sm input-readonly"
+                                                               ng-model="vm.search.dateRange"
+                                                               modal-form-auto-scroll
+                                                               date-format="YY-MM-DD"
+                                                               parent-el="'#createdWidget'"
+                                                               date-range-picker>
+                                                    </div>
+                                                </div>
 
 
                                                 <div class="col-lg-3" ng-repeat="customField in vm.customFields">

--
Gitblit v1.8.0