From e4a04c9338c9821c614087502a614789ff9862f0 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 24 12월 2021 14:14:02 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa --- src/main/resources/mybatis/query-template/issue-template.xml | 147 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 129 insertions(+), 18 deletions(-) diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml index 6e07ef3..d54d7e2 100644 --- a/src/main/resources/mybatis/query-template/issue-template.xml +++ b/src/main/resources/mybatis/query-template/issue-template.xml @@ -45,6 +45,11 @@ LEFT OUTER JOIN issue_custom_field_value issue_custom FORCE INDEX(issueIdIndex) ON issue.id = issue_custom.issue_id LEFT OUTER JOIN issue_department isd FORCE INDEX(issueIdIndex) ON issue.id = isd.issue_id LEFT OUTER JOIN issue_user issue_user FORCE INDEX(issueIdIndex) ON issue.id = issue_user.issue_id + LEFT OUTER JOIN user_department ud ON ud.department_id = isd.department_id + LEFT OUTER JOIN department d ON d.id = isd.department_id + LEFT OUTER JOIN issue_company ic ON ic.issue_id = issue.id + LEFT OUTER JOIN issue_isp ii ON ii.issue_id = issue.id + LEFT OUTER JOIN issue_hosting ih ON ih.issue_id = issue.id LEFT OUTER JOIN (SELECT issue_id, COUNT(id) as attachedFileCount FROM attached_file GROUP BY issue_id) temp_attached_file on (temp_attached_file.issue_id = issue.id) LEFT OUTER JOIN (SELECT issue_id, COUNT(id) as issueCommentCount FROM issue_comment GROUP BY issue_id) @@ -52,7 +57,7 @@ LEFT OUTER JOIN user user ON issue_user.user_id = user.id WHERE 1=1 <if test="keyWord != null and !keyWord.equals('') "> - AND issue.title like CONCAT('%',#{keyWord},'%') + AND (issue.title like CONCAT('%',#{keyWord},'%') OR issue.description like CONCAT('%',#{keyWord},'%') OR issue.start_date like CONCAT('%',#{keyWord},'%') OR issue.complete_date like CONCAT('%',#{keyWord},'%') @@ -66,6 +71,27 @@ OR priority.name like CONCAT('%',#{keyWord},'%') OR severity.name like CONCAT('%',#{keyWord},'%') OR issue_custom.use_value like CONCAT('%',#{keyWord},'%') + OR d.department_name like CONCAT('%',#{keyWord},'%') + OR ic.name like CONCAT('%',#{keyWord},'%') + OR ic.manager like CONCAT('%',#{keyWord},'%') + OR ic.tel like CONCAT('%',#{keyWord},'%') + OR ic.email like CONCAT('%',#{keyWord},'%') + OR ic.url like CONCAT('%',#{keyWord},'%') + OR ic.memo like CONCAT('%',#{keyWord},'%') + OR ii.name like CONCAT('%',#{keyWord},'%') + OR ii.code like CONCAT('%',#{keyWord},'%') + OR ii.manager like CONCAT('%',#{keyWord},'%') + OR ii.tel like CONCAT('%',#{keyWord},'%') + OR ii.email like CONCAT('%',#{keyWord},'%') + OR ii.url like CONCAT('%',#{keyWord},'%') + OR ii.memo like CONCAT('%',#{keyWord},'%') + OR ih.name like CONCAT('%',#{keyWord},'%') + OR ih.code like CONCAT('%',#{keyWord},'%') + OR ih.manager like CONCAT('%',#{keyWord},'%') + OR ih.tel like CONCAT('%',#{keyWord},'%') + OR ih.email like CONCAT('%',#{keyWord},'%') + OR ih.url like CONCAT('%',#{keyWord},'%') + OR ih.memo like CONCAT('%',#{keyWord},'%')) </if> <if test="title != null and !title.equals('')"> @@ -104,7 +130,13 @@ ANd issue.complete_date <![CDATA[ <= ]]> #{endCompleteDate} </if> - <if test="hideIssue != null and hideIssue == true"> + <if test="combinationIssueNumber == null or combinationIssueNumber.equals('')"> + <if test="hideDownIssue != null and hideDownIssue == true"> + AND issue.parent_issue_id IS NULL + </if> + </if> + + <if test="hideCompleteIssue != null and hideCompleteIssue == true"> AND issue_status.issue_status_type != 'CLOSE' </if> @@ -172,6 +204,15 @@ </choose> <choose> + <when test="myDepartmentIds != null and myDepartmentIds.size != 0"> + AND isd.department_id IN + <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </when> + </choose> + + <choose> <when test="registerIds.size != 0"> AND issue.register_id IN <foreach collection="registerIds" item="item" index="index" separator="," open="(" close=")"> @@ -196,9 +237,6 @@ </foreach> </when> </choose> - <if test="combinationIssueNumber == null or combinationIssueNumber.equals('')"> - AND issue.parent_issue_id IS NULL - </if> AND issue.reverse_index <![CDATA[ < ]]> 0 AND workspace.id = #{workspaceId} GROUP BY issue.id @@ -208,7 +246,7 @@ </if> </select> - <select id="findByDepartment" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCondition"> + <!--<select id="findByDepartment" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCondition"> SELECT DISTINCT issue.id as id, issue.register_id as registerId, @@ -401,7 +439,7 @@ <if test="page != null and !page.equals('')"> limit #{pageSize} offset #{page}; </if> - </select> + </select>--> <!--<select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.IssueCondition"> SELECT @@ -540,11 +578,65 @@ SELECT COUNT(DISTINCT issue.id) FROM issue issue - LEFT OUTER JOIN issue_department isd ON issue.id = isd.issue_id - LEFT OUTER JOIN issue_status iss ON iss.id = issue.issue_status_id + INNER JOIN project project FORCE INDEX(workspaceIdIndex) ON issue.project_id = project.id + INNER JOIN workspace workspace ON workspace.id = project.workspace_id + INNER JOIN issue_status issue_status FORCE INDEX(PRIMARY) ON issue.issue_status_id = issue_status.id + INNER JOIN issue_type issue_type FORCE INDEX(PRIMARY) ON issue.issue_type_id = issue_type.id + INNER JOIN priority priority FORCE INDEX(PRIMARY) ON issue.priority_id = priority.id + INNER JOIN severity severity FORCE INDEX(PRIMARY) ON issue.severity_id = severity.id + LEFT OUTER JOIN issue_custom_field_value issue_custom FORCE INDEX(issueIdIndex) ON issue.id = issue_custom.issue_id + LEFT OUTER JOIN issue_department isd FORCE INDEX(issueIdIndex) ON issue.id = isd.issue_id + LEFT OUTER JOIN issue_user issue_user FORCE INDEX(issueIdIndex) ON issue.id = issue_user.issue_id + LEFT OUTER JOIN user_department ud ON ud.department_id = isd.department_id + LEFT OUTER JOIN department d ON d.id = isd.department_id + LEFT OUTER JOIN issue_company ic ON ic.issue_id = issue.id + LEFT OUTER JOIN issue_isp ii ON ii.issue_id = issue.id + LEFT OUTER JOIN issue_hosting ih ON ih.issue_id = issue.id + LEFT OUTER JOIN (SELECT issue_id, COUNT(id) as attachedFileCount FROM attached_file GROUP BY issue_id) + temp_attached_file on (temp_attached_file.issue_id = issue.id) + LEFT OUTER JOIN (SELECT issue_id, COUNT(id) as issueCommentCount FROM issue_comment GROUP BY issue_id) + temp_issue_comment on (temp_issue_comment.issue_id = issue.id) + LEFT OUTER JOIN user user ON issue_user.user_id = user.id WHERE 1=1 - AND issue.parent_issue_id IS NULL - <if test="title != null and !title.equals('') "> + <if test="keyWord != null and !keyWord.equals('') "> + AND (issue.title like CONCAT('%',#{keyWord},'%') + OR issue.description like CONCAT('%',#{keyWord},'%') + OR issue.start_date like CONCAT('%',#{keyWord},'%') + OR issue.complete_date like CONCAT('%',#{keyWord},'%') + OR issue.issue_number like CONCAT('%',#{keyWord},'%') + OR issue.register_date like CONCAT('%',#{keyWord},'%') + OR project.name like CONCAT('%',#{keyWord},'%') + OR project.project_key like CONCAT('%',#{keyWord},'%') + OR issue_type.name like CONCAT('%',#{keyWord},'%') + OR issue_status.issue_status_type like CONCAT('%',#{keyWord},'%') + OR issue_status.name like CONCAT('%',#{keyWord},'%') + OR priority.name like CONCAT('%',#{keyWord},'%') + OR severity.name like CONCAT('%',#{keyWord},'%') + OR issue_custom.use_value like CONCAT('%',#{keyWord},'%') + OR d.department_name like CONCAT('%',#{keyWord},'%') + OR ic.name like CONCAT('%',#{keyWord},'%') + OR ic.manager like CONCAT('%',#{keyWord},'%') + OR ic.tel like CONCAT('%',#{keyWord},'%') + OR ic.email like CONCAT('%',#{keyWord},'%') + OR ic.url like CONCAT('%',#{keyWord},'%') + OR ic.memo like CONCAT('%',#{keyWord},'%') + OR ii.name like CONCAT('%',#{keyWord},'%') + OR ii.code like CONCAT('%',#{keyWord},'%') + OR ii.manager like CONCAT('%',#{keyWord},'%') + OR ii.tel like CONCAT('%',#{keyWord},'%') + OR ii.email like CONCAT('%',#{keyWord},'%') + OR ii.url like CONCAT('%',#{keyWord},'%') + OR ii.memo like CONCAT('%',#{keyWord},'%') + OR ih.name like CONCAT('%',#{keyWord},'%') + OR ih.code like CONCAT('%',#{keyWord},'%') + OR ih.manager like CONCAT('%',#{keyWord},'%') + OR ih.tel like CONCAT('%',#{keyWord},'%') + OR ih.email like CONCAT('%',#{keyWord},'%') + OR ih.url like CONCAT('%',#{keyWord},'%') + OR ih.memo like CONCAT('%',#{keyWord},'%')) + </if> + + <if test="title != null and !title.equals('')"> AND issue.title like CONCAT('%',#{title},'%') </if> @@ -580,8 +672,14 @@ ANd issue.complete_date <![CDATA[ <= ]]> #{endCompleteDate} </if> - <if test="hideIssue != null and hideIssue == true"> - AND iss.issue_status_type != 'CLOSE' + <if test="combinationIssueNumber == null or combinationIssueNumber.equals('')"> + <if test="hideDownIssue != null and hideDownIssue == true"> + AND issue.parent_issue_id IS NULL + </if> + </if> + + <if test="hideCompleteIssue != null and hideCompleteIssue == true"> + AND issue_status.issue_status_type != 'CLOSE' </if> <choose> @@ -639,6 +737,15 @@ </choose> <choose> + <when test="myDepartmentIds != null and myDepartmentIds.size != 0"> + AND isd.department_id IN + <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> + #{item} + </foreach> + </when> + </choose> + + <choose> <when test="registerIds.size != 0"> AND issue.register_id IN <foreach collection="registerIds" item="item" index="index" separator="," open="(" close=")"> @@ -672,7 +779,6 @@ LEFT OUTER JOIN issue_department isd ON issue.id = isd.issue_id LEFT OUTER JOIN issue_status iss ON iss.id = issue.issue_status_id WHERE 1=1 - AND issue.parent_issue_id IS NULL <if test="title != null and !title.equals('') "> AND issue.title like CONCAT('%',#{title},'%') </if> @@ -709,7 +815,13 @@ ANd issue.complete_date <![CDATA[ <= ]]> #{endCompleteDate} </if> - <if test="hideIssue != null and hideIssue == true"> + <if test="combinationIssueNumber == null or combinationIssueNumber.equals('')"> + <if test="hideDownIssue != null and hideDownIssue == true"> + AND issue.parent_issue_id IS NULL + </if> + </if> + + <if test="hideCompleteIssue != null and hideCompleteIssue == true"> AND iss.issue_status_type != 'CLOSE' </if> @@ -984,14 +1096,13 @@ issue.id as id, issue.title as title, customFieldValue.customFieldType AS customFieldType, - GROUP_CONCAT(customFieldValue.useValue) AS concatUseValue + GROUP_CONCAT(customFieldValue.useValue ORDER BY customFieldValue.customFieldId ASC) AS concatUseValue FROM issue issue FORCE INDEX(reverseIndex) INNER JOIN issue_status as issStatus ON issue.issue_status_id = issStatus.id LEFT OUTER JOIN ( SELECT cf.id AS customFieldId, cf.custom_field_type AS customFieldType, issue_custom.use_value AS useValue, issue_custom.issue_id AS issueId FROM issue_custom_field_value issue_custom - INNER JOIN custom_field cf ON cf.id = issue_custom.custom_field_id - ORDER BY issue_custom.id ASC) customFieldValue ON customFieldValue.issueId = issue.id + INNER JOIN custom_field cf ON cf.id = issue_custom.custom_field_id) customFieldValue ON customFieldValue.issueId = issue.id WHERE issStatus.issue_status_type != 'CLOSE' AND issue.issue_type_id = #{issueTypeId} GROUP BY issue.id -- Gitblit v1.8.0