From 20d2fc7868921587e7a0aafd0dc00690507bb6e9 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 수, 02 3월 2022 17:11:32 +0900 Subject: [PATCH] - 이슈 엑셀 임포트 속도 개선 --- src/main/resources/mybatis/query-template/issue-template.xml | 22 ++++++++++++++++++---- 1 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml index f7dfead..d529c00 100644 --- a/src/main/resources/mybatis/query-template/issue-template.xml +++ b/src/main/resources/mybatis/query-template/issue-template.xml @@ -22,6 +22,7 @@ project.project_key as projectKey, issue_type.id as issueTypeId, issue_type.name as issueTypeName, + issue_type.inherit_partners as inheritPartners, issue_status.id as issueStatusId, issue_status.issue_status_type as issueStatusType, issue_status.name as issueStatusName, @@ -35,6 +36,7 @@ ic.name AS companyName, ii.name AS ispName, ih.name AS hostingName, + d.department_name AS departmentName, GROUP_CONCAT(issue_custom.use_value) AS useValue, IFNULL(temp_attached_file.attachedFileCount, 0) as attachedFileCount, IFNULL(temp_issue_comment.issueCommentCount, 0) as issueCommentCount @@ -132,6 +134,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 @@ -140,6 +146,10 @@ <if test="hideCompleteIssue != null and hideCompleteIssue == true"> AND issue_status.issue_status_type != 'CLOSE' + </if> + + <if test="parentYN != null and parentYN == true"> + AND issue.parent_issue_id IS NULL </if> <choose> @@ -242,7 +252,7 @@ AND issue.reverse_index <![CDATA[ < ]]> 0 AND workspace.id = #{workspaceId} GROUP BY issue.id - ORDER BY issue.modify_date DESC + ORDER BY issue.register_date DESC <if test="page != null and !page.equals('')"> limit #{pageSize} offset #{page}; </if> @@ -250,7 +260,7 @@ <select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.IssueCondition"> SELECT - COUNT(issue.id) + COUNT(DISTINCT issue.id) FROM issue issue INNER JOIN project project FORCE INDEX(workspaceIdIndex) ON issue.project_id = project.id INNER JOIN workspace workspace ON workspace.id = project.workspace_id @@ -343,6 +353,10 @@ <if test="endCompleteDate != null and !endCompleteDate.equals('')"> 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('')"> @@ -626,13 +640,13 @@ <insert id="insertBatch" keyColumn="id" keyProperty="id" useGeneratedKeys="true"> INSERT INTO issue(title, description, issue_number, project_id, issue_type_id, priority_id, severity_id, - start_date, complete_date, + start_date, complete_date, parent_issue_id, issue_status_id, register_id, modify_id, register_date, modify_date) VALUES <foreach collection="list" item="issueForm" index="index" separator="," open="" close=""> (#{issueForm.title}, #{issueForm.description}, #{issueForm.issueNumber}, #{issueForm.projectId}, #{issueForm.issueTypeId}, #{issueForm.priorityId}, #{issueForm.severityId}, #{issueForm.startDate}, - #{issueForm.completeDate}, + #{issueForm.completeDate}, #{issueForm.parentIssueId}, #{issueForm.issueStatusId}, #{issueForm.registerId}, #{issueForm.registerId}, NOW(), NOW()) </foreach> </insert> -- Gitblit v1.8.0