| | |
| | | WHERE EXISTS(SELECT 1 FROM issue_status iss WHERE iss.issue_status_type != 'CLOSE' AND i.issue_status_id = |
| | | iss.id) |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="countRemainIssueByDepartment" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT |
| | | COUNT(i.id) FROM issue i |
| | | INNER JOIN issue_department isd ON isd.issue_id = i.id |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | WHERE EXISTS(SELECT 1 FROM issue_status iss WHERE iss.issue_status_type != 'CLOSE' AND i.issue_status_id = |
| | | iss.id) |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </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> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | |
| | | COUNT(i.id) FROM issue i where |
| | | exists(select 1 from issue_status iss where iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE') |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | |
| | | AND i.complete_date <![CDATA[ < ]]> #{completeDate} |
| | | </select> |
| | | |
| | | <!-- 할당 이슈 개수 --> |
| | | <select id="countAssigneeIssue" resultType="java.lang.Long" |
| | | <select id="countTodayDelayIssueByDepartment" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT |
| | | COUNT(i.id) FROM issue i |
| | | INNER JOIN issue_department isd ON isd.issue_id = i.id |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | where exists(select 1 from issue_status iss where iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE') |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </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> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | AND i.complete_date IS NOT NULL |
| | | AND i.complete_date <![CDATA[ < ]]> #{completeDate} |
| | | </select> |
| | | |
| | | <!-- 할당 이슈 개수 - 담당자 버전 --> |
| | | <!--<select id="countAssigneeIssue" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT |
| | | COUNT(i.id) FROM issue i |
| | |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | <choose> |
| | | <when test="downProjectIds.size != 0"> |
| | | OR i.project_id IN |
| | | <foreach collection="downProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select>--> |
| | | |
| | | <!-- 할당 이슈 개수 - 담당부서 버전 --> |
| | | <select id="countAssigneeIssue" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT |
| | | COUNT(i.id) FROM issue i |
| | | WHERE EXISTS(SELECT 1 FROM issue_department isd WHERE isd.issue_id = i.id |
| | | <choose> |
| | | <when test="myDepartmentIds.size != 0"> |
| | | AND isd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | ) AND EXISTS(SELECT 1 FROM issue_status iss WHERE iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE') |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="countAssigneeIssueByDepartment" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT |
| | | COUNT(i.id) FROM issue i |
| | | INNER JOIN issue_department isd ON isd.issue_id = i.id |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | WHERE EXISTS(SELECT 1 FROM issue_department isd WHERE isd.issue_id = i.id |
| | | <choose> |
| | | <when test="myDepartmentIds.size != 0"> |
| | | AND isd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | ) AND EXISTS(SELECT 1 FROM issue_status iss WHERE iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE') |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select> |
| | | |
| | | <!-- 내가 오늘 등록한 이슈 개수 --> |
| | |
| | | count(i.id) as todayCount from issue i where |
| | | i.register_id = #{loginUserId} |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | |
| | | AND i.register_date BETWEEN (CURDATE()) AND (CURDATE() + INTERVAL 1 DAY) |
| | | </select> |
| | | |
| | | <select id="countTodayRegisterIssueByDepartment" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | count(i.id) as todayCount from issue i |
| | | INNER JOIN issue_department isd ON isd.issue_id = i.id |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | where |
| | | i.register_id = #{loginUserId} |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </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> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | AND i.register_date BETWEEN (CURDATE()) AND (CURDATE() + INTERVAL 1 DAY) |
| | | </select> |
| | | |
| | | <!-- 미할당 이슈 개수 --> |
| | | <select id="countNoAssigneeIssue" resultType="java.lang.Long" |
| | | <!--<select id="countNoAssigneeIssue" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT |
| | | COUNT(DISTINCT i.id) FROM issue i |
| | |
| | | WHERE |
| | | EXISTS(select 1 from issue_status iss where iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE') |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | AND iu.id IS NULL |
| | | </select>--> |
| | | |
| | | <!-- 미할당 이슈 개수 (담당부서 버전) --> |
| | | <select id="countNoAssigneeIssue" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT |
| | | COUNT(DISTINCT i.id) FROM issue i |
| | | LEFT OUTER JOIN issue_department isd ON isd.issue_id = i.id |
| | | WHERE |
| | | EXISTS(select 1 from issue_status iss where iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE') |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | AND isd.id IS NULL |
| | | </select> |
| | | |
| | | <!--<select id="countNoAssigneeIssueByDepartment" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT |
| | | COUNT(DISTINCT i.id) FROM issue i |
| | | LEFT OUTER JOIN issue_department isd ON isd.issue_id = i.id |
| | | WHERE |
| | | EXISTS(select 1 from issue_status iss where iss.id = i.issue_status_id and iss.issue_status_type != 'CLOSE') |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </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> |
| | | AND isd.id IS NULL |
| | | </select>--> |
| | | |
| | | <!-- 완료된 이슈 개수 --> |
| | | <select id="countCompleteIssue" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where iss.issue_status_type = 'CLOSE' |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="countCompleteIssueByDepartment" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | count(*) as issueCount from issue i |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | INNER JOIN issue_department isd ON isd.issue_id = i.id |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | where iss.issue_status_type = 'CLOSE' |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </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> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | |
| | | where iss.issue_status_type = 'CLOSE' |
| | | and i.modify_date between #{searchStartDate} and #{searchEndDate} |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where 1=1 |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | |
| | | |
| | | <!-- 3번 위젯 시작 --> |
| | | |
| | | <!-- 진행중인 프로젝트 현황 --> |
| | | <select id="findProjectProgress" resultType="java.util.HashMap" |
| | | <!-- 진행중인 프로젝트 현황 (담당자 버전) --> |
| | | <!--<select id="findProjectProgress" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | p.id as id, |
| | |
| | | </when> |
| | | </choose> |
| | | GROUP by p.id |
| | | </select>--> |
| | | |
| | | <!-- 진행중인 프로젝트 현황 (담당부서 버전) --> |
| | | <select id="findProjectProgress" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | p.id as id, |
| | | p.name as name, |
| | | replace(p.start_date, "-", ".") as startDate, |
| | | replace(p.end_date, "-", ".") as endDate, |
| | | count(case when iss.issue_status_type = 'CLOSE' THEN 1 END) as 'close', |
| | | count(case when iss.issue_status_type != 'CLOSE' THEN 1 END) as 'remain', |
| | | (select concat(u.name, "%", u.account, "%", u.profile) from user u |
| | | inner join project_role_user pru on pru.user_id = u.id |
| | | inner join project_role pr on pr.id = pru.project_role_id |
| | | where pr.project_id = p.id and pr.role_type = '02' |
| | | ) as managerInfo |
| | | , |
| | | ( |
| | | select count(distinct(d.id)) from department d |
| | | inner join project_role_department prd on prd.department_id = d.id |
| | | inner join project_role pr on pr.id = prd.project_role_id |
| | | where pr.project_id = p.id and pr.role_type = '01' |
| | | ) as teamCount |
| | | from |
| | | project p |
| | | left outer join issue i on p.id = i.project_id |
| | | left outer join issue_status iss on iss.id = i.issue_status_id |
| | | WHERE 1=1 |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND p.id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | GROUP by p.id |
| | | </select> |
| | | |
| | | <!-- 진행중인 프로젝트 현황(전체) --> |
| | | <select id="findProjectProgressAll" resultType="java.util.HashMap" |
| | | <!-- 진행중인 프로젝트 현황(전체) (담당자 버전) --> |
| | | <!--<select id="findProjectProgressAll" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | p.id as id, |
| | |
| | | left outer join issue_status iss on iss.id = i.issue_status_id |
| | | WHERE 1=1 |
| | | GROUP by p.id |
| | | </select>--> |
| | | |
| | | <!-- 진행중인 프로젝트 현황(전체) (담당부서 버전) --> |
| | | <select id="findProjectProgressAll" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | p.id as id, |
| | | p.name as name, |
| | | replace(p.start_date, "-", ".") as startDate, |
| | | replace(p.end_date, "-", ".") as endDate, |
| | | count(case when iss.issue_status_type = 'CLOSE' THEN 1 END) as 'close', |
| | | count(case when iss.issue_status_type != 'CLOSE' THEN 1 END) as 'remain', |
| | | (select concat(u.name, "%", u.account, "%", u.profile) from user u |
| | | inner join project_role_user pru on pru.user_id = u.id |
| | | inner join project_role pr on pr.id = pru.project_role_id |
| | | where pr.project_id = p.id and pr.role_type = '02' |
| | | ) as managerInfo |
| | | , |
| | | ( |
| | | select count(distinct(d.id)) from department d |
| | | inner join project_role_department prd on prd.department_id = d.id |
| | | inner join project_role pr on pr.id = prd.project_role_id |
| | | where pr.project_id = p.id and pr.role_type = '01' |
| | | ) as teamCount |
| | | from |
| | | project p |
| | | left outer join issue i on p.id = i.project_id |
| | | left outer join issue_status iss on iss.id = i.issue_status_id |
| | | WHERE 1=1 |
| | | GROUP by p.id |
| | | </select> |
| | | |
| | | <!-- 3번 위젯 끝 --> |
| | |
| | | |
| | | <!-- 4번 위젯 시작 --> |
| | | |
| | | <!-- 내가 오늘 할당받은 이슈 개수 --> |
| | | <select id="countTodayMyAssigneeIssue" resultType="java.lang.Long" |
| | | <!--내가 오늘 할당받은 이슈 개수 - 담당자 버전--> |
| | | <!--<select id="countTodayMyAssigneeIssue" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | count(i.id) as todayCount from issue i where |
| | |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select>--> |
| | | |
| | | <!-- 내가 오늘 할당받은 이슈 개수 - 담당부서 버전 --> |
| | | <select id="countTodayMyAssigneeIssue" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | count(i.id) as todayCount from issue i where |
| | | exists(select 1 from issue_department isd |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | where isd.issue_id = i.id |
| | | <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> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | and isd.register_date |
| | | BETWEEN (CURDATE()) AND (CURDATE() + INTERVAL 1 DAY)) |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select> |
| | | |
| | | <!-- 내가 담당하는 이슈 개수 --> |
| | | <select id="countMyAssigneeIssue" resultType="java.lang.Long" |
| | | <!-- 내가 담당하는 이슈 개수 - 담당자 --> |
| | | <!--<select id="countMyAssigneeIssue" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | count(distinct i.id) |
| | |
| | | </choose> |
| | | and iu.user_id = #{loginUserId} |
| | | and iss.issue_status_type != 'CLOSE' |
| | | </select>--> |
| | | |
| | | <!-- 내가 담당하는 이슈 개수 - 담당부서 --> |
| | | <select id="countMyAssigneeIssue" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | count(distinct i.id) |
| | | from issue i |
| | | inner join issue_department isd on isd.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | WHERE 1=1 |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | <choose> |
| | | <when test="myDepartmentIds.size != 0"> |
| | | AND isd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | And iss.issue_status_type != 'CLOSE' |
| | | </select> |
| | | |
| | | <!-- 내가 담당하는 이슈 --> |
| | | <select id="findMyAssigneeIssue" resultType="java.util.HashMap" |
| | | <!--<select id="findMyAssigneeIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | distinct i.id as id, |
| | |
| | | <if test="page != null and !page.equals('')"> |
| | | limit #{pageSize} offset #{page}; |
| | | </if> |
| | | </select>--> |
| | | |
| | | <!-- 내가 담당하는 이슈 - 담당부서 --> |
| | | <!--<select id="findMyAssigneeIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | distinct i.id as id, |
| | | i.title as title, |
| | | p.name as projectName, |
| | | CONCAT(p.project_key, '-', i.issue_number) AS issueKey, |
| | | p.project_key as projectKey, |
| | | i.issue_number as issueNumber, |
| | | iss.name as issueStatusName, |
| | | replace(i.complete_date, "-", ".") as completeDate, |
| | | replace(SUBSTRING(i.register_date, 1, 10), "-", ".") as registerDate |
| | | from issue i |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | inner join project p on p.id = i.project_id |
| | | WHERE 1=1 |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND p.id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | and iss.issue_status_type != 'CLOSE' |
| | | GROUP by i.id |
| | | <if test="page != null and !page.equals('')"> |
| | | limit #{pageSize} offset #{page}; |
| | | </if> |
| | | </select>--> |
| | | |
| | | <select id="findMyAssigneeIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | distinct i.id as id, |
| | | i.title as title, |
| | | p.name as projectName, |
| | | CONCAT(p.project_key, '-', i.issue_number) AS issueKey, |
| | | p.project_key as projectKey, |
| | | i.issue_number as issueNumber, |
| | | iss.name as issueStatusName, |
| | | replace(i.complete_date, "-", ".") as completeDate, |
| | | replace(SUBSTRING(i.register_date, 1, 10), "-", ".") as registerDate |
| | | from issue i |
| | | inner join issue_department isd on isd.issue_id = i.id |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | inner join project p on p.id = i.project_id |
| | | WHERE 1=1 |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND p.id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </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> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | and iss.issue_status_type != 'CLOSE' |
| | | GROUP by i.id |
| | | <if test="page != null and !page.equals('')"> |
| | | limit #{pageSize} offset #{page}; |
| | | </if> |
| | | </select> |
| | | |
| | | <!-- 4번 위젯 끝 --> |
| | |
| | | <!-- 5번 위젯 시작 --> |
| | | |
| | | <!-- 번복되는 상태 변경 및 빈번한 담당자 변경 개수 --> |
| | | <select id="countChangeStatusAndAssigneeIssue" resultType="java.util.HashMap" |
| | | <!--<select id="countChangeStatusAndAssigneeIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | count(case when ir.change_assignee_count > 3 then 1 end) as changeAssigneeCount, |
| | |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select>--> |
| | | |
| | | <select id="countChangeStatusAndDepartmentIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | count(case when ir.change_department_count > 3 then 1 end) as changeDepartmentCount, |
| | | count(case when ir.change_issue_status_count > 3 then 1 end) as changeIssueStatusCount |
| | | from issue i |
| | | inner join issue_risk ir on ir.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where iss.issue_status_type != 'CLOSE' |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select> |
| | | |
| | | <!-- 위험 관리 --> |
| | | <select id="findRiskIssue" resultType="java.util.HashMap" |
| | | <!--<select id="findRiskIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | DISTINCT i.id, i.title, iss.name as issueStatusName, |
| | |
| | | <if test="page != null and !page.equals('')"> |
| | | limit #{pageSize} offset #{page}; |
| | | </if> |
| | | </select>--> |
| | | <select id="findRiskIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | DISTINCT i.id, i.title, iss.name as issueStatusName, |
| | | (case when ir.change_department_count > 3 then true else false end) as changeDepartmentType, |
| | | (case when ir.change_issue_status_count > 3 then true else false end) as changeIssueStatusType, |
| | | CONCAT(p.project_key, '-', i.issue_number) AS issueKey, |
| | | i.issue_number as issueNumber, |
| | | p.project_key as projectKey, |
| | | p.name as projectName |
| | | from issue i |
| | | inner join issue_risk ir on ir.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | inner join project p on p.id = i.project_id |
| | | where iss.issue_status_type != 'CLOSE' |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND p.id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | and (ir.change_department_count > 3 || ir.change_issue_status_count > 3) |
| | | <if test="page != null and !page.equals('')"> |
| | | limit #{pageSize} offset #{page}; |
| | | </if> |
| | | </select> |
| | | |
| | | <!-- 위험 관리 개수 --> |
| | |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where iss.issue_status_type != 'CLOSE' |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | and (ir.change_assignee_count > 3 || ir.change_issue_status_count > 3) |
| | | and (ir.change_department_count > 3 || ir.change_issue_status_count > 3) |
| | | </select> |
| | | |
| | | <!-- 5번 위젯 끝 --> |
| | |
| | | , replace(i.start_date, "-", ".") as startDate |
| | | , replace(i.complete_date, "-", ".") as completeDate |
| | | , i.title as title |
| | | , p.name as projectName |
| | | , iss.name as issueStatusName |
| | | , i.issue_number as issueNumber |
| | | , p.project_key as projectKey |
| | |
| | | WHERE 1=1 |
| | | AND i.register_id = #{loginUserId} |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | |
| | | AND EXISTS (SELECT 1 FROM issue_status iss WHERE iss.id = i.issue_status_id AND iss.issue_status_type != 'CLOSE') |
| | | </if> |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | |
| | | , replace(i.start_date, "-", ".") as startDate |
| | | , replace(i.complete_date, "-", ".") as completeDate |
| | | , i.title as title |
| | | , p.name as projectName |
| | | , iss.name as issueStatusName |
| | | , i.issue_number as issueNumber |
| | | , p.project_key as projectKey |
| | |
| | | </if> |
| | | WHERE 1=1 |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | |
| | | </if> |
| | | WHERE 1=1 |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where 1=1 |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | group by p.id |
| | | </select> |
| | | |
| | | <select id="findByStandIssueStatusOfDepartment" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | <choose> |
| | | <when test="issueStatuses.size != 0"> |
| | | <foreach collection="issueStatuses" item="item" index="index" separator="," open="" close=""> |
| | | count(case when i.issue_status_id = #{item.id} then 1 end) as #{item.name} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | ,p.id, |
| | | p.name as projectName |
| | | from issue i |
| | | inner join project p on p.id = i.project_id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | INNER JOIN issue_department isd ON isd.issue_id = i.id |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | where 1=1 |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </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> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | group by p.id |
| | | </select> |
| | |
| | | <!-- 11번 위젯 시작 --> |
| | | |
| | | <!-- 멤버별 진행률 --> |
| | | <select id="findProjectMemberIssue" resultType="java.util.HashMap" |
| | | <!--<select id="findProjectMemberIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | u.name, u.profile, u.account, |
| | |
| | | inner join project_role pr on pr.id = pru.project_role_id |
| | | inner join project p on p.id = pr.project_id |
| | | where p.id = #{projectId} and p.status = '02' |
| | | </select>--> |
| | | |
| | | <!-- 담당부서별 진행률 --> |
| | | <select id="findProjectMemberIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | d.department_name as departmentName, |
| | | p.name as projectName, |
| | | (select count(*) from issue i |
| | | inner join issue_department isd on isd.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where isd.department_id = d.id and i.project_id = p.id and iss.issue_status_type = 'CLOSE') as completeCount, |
| | | (select count(*) from issue i |
| | | inner join issue_department isd on isd.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where isd.department_id = d.id and i.project_id = p.id and iss.issue_status_type != 'CLOSE') as remainCount, |
| | | (select count(*) from issue i |
| | | inner join issue_department isd on isd.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where isd.department_id = d.id and i.project_id = p.id and iss.issue_status_type != 'CLOSE' and i.complete_date is not null and i.complete_date <![CDATA[ < ]]> now()) as delayCount |
| | | from |
| | | department d |
| | | inner join project_role_department prd on prd.department_id = d.id |
| | | inner join project_role pr on pr.id = prd.project_role_id |
| | | inner join project p on p.id = pr.project_id |
| | | WHERE |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | p.id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | and p.status = '02'; |
| | | </select> |
| | | |
| | | <select id="findProjectMemberIssueByDepartment" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select |
| | | d.department_name as departmentName, |
| | | p.name as projectName, |
| | | (select count(*) from issue i |
| | | inner join issue_department isd on isd.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where isd.department_id = d.id and i.project_id = p.id and iss.issue_status_type = 'CLOSE') as completeCount, |
| | | (select count(*) from issue i |
| | | inner join issue_department isd on isd.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where isd.department_id = d.id and i.project_id = p.id and iss.issue_status_type != 'CLOSE') as remainCount, |
| | | (select count(*) from issue i |
| | | inner join issue_department isd on isd.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where isd.department_id = d.id and i.project_id = p.id and iss.issue_status_type != 'CLOSE' and i.complete_date is not null and i.complete_date <![CDATA[ < ]]> now()) as delayCount |
| | | from |
| | | department d |
| | | inner join project_role_department prd on prd.department_id = d.id |
| | | INNER JOIN user_department ud ON ud.department_id = prd.department_id |
| | | inner join project_role pr on pr.id = prd.project_role_id |
| | | inner join project p on p.id = pr.project_id |
| | | WHERE |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | p.id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | <choose> |
| | | <when test="myDepartmentIds.size != 0"> |
| | | AND prd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | and p.status = '02'; |
| | | </select> |
| | | |
| | | |
| | | <!-- 11번 위젯 끝 --> |
| | | |
| | |
| | | 'CLOSE') AND |
| | | i.register_id = #{loginUserId} |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | |
| | | 'CLOSE') |
| | | AND i.register_id = #{loginUserId} |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | |
| | | </select> |
| | | |
| | | <!-- 담당한 이슈 중 완료 갯수 --> |
| | | <select id="findMyAssigneeCompleteIssue" resultType="java.util.HashMap" |
| | | <!--<select id="findMyAssigneeCompleteIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select i.project_id as projectId, count(distinct i.id) as issueCount from issue i |
| | | inner join issue_user iu on iu.issue_id = i.id |
| | |
| | | </when> |
| | | </choose> |
| | | group by i.project_id |
| | | </select>--> |
| | | |
| | | <!-- 담당한 이슈 중 완료 갯수 - 담당부서 --> |
| | | <select id="findMyAssigneeCompleteIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select i.project_id as projectId, count(distinct i.id) as issueCount from issue i |
| | | inner join issue_department isd on isd.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | <choose> |
| | | <when test="myDepartmentIds.size != 0"> |
| | | AND isd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | and iss.issue_status_type = 'CLOSE' |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | group by i.project_id |
| | | </select> |
| | | |
| | | <!-- 담당한 이슈 중 진행 갯수 --> |
| | | <select id="findMyAssigneeRemainIssue" resultType="java.util.HashMap" |
| | | <!--<select id="findMyAssigneeRemainIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select i.project_id as projectId, count(distinct i.id) as issueCount from issue i |
| | | inner join issue_user iu on iu.issue_id = i.id |
| | |
| | | </when> |
| | | </choose> |
| | | group by i.project_id |
| | | </select>--> |
| | | |
| | | <!-- 담당한 이슈 중 진행 갯수 - 담당부서 --> |
| | | <select id="findMyAssigneeRemainIssue" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | select i.project_id as projectId, count(distinct i.id) as issueCount from issue i |
| | | inner join issue_department isd on isd.issue_id = i.id |
| | | inner join issue_status iss on iss.id = i.issue_status_id |
| | | where iss.issue_status_type != 'CLOSE' |
| | | <choose> |
| | | <when test="myDepartmentIds.size != 0"> |
| | | AND isd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | group by i.project_id |
| | | </select> |
| | | |
| | | <!-- 12번 위젯 끝 --> |
| | |
| | | |
| | | <select id="findByStandIssueType" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT issue_type.name as name, COUNT(issue.id) as issueCount FROM issue issue |
| | | INNER JOIN issue_type issue_type ON issue.issue_type_id = issue_type.id |
| | | SELECT issue_type.name as name, COUNT(issue.id) as issueCount FROM issue |
| | | INNER JOIN issue_type ON issue.issue_type_id = issue_type.id |
| | | WHERE issue.project_id = #{projectId} |
| | | GROUP BY issue_type.name |
| | | </select> |
| | | |
| | | <select id="findByStandIssueTypeOfDepartment" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT issue_type.name as name, COUNT(issue.id) as issueCount FROM issue |
| | | INNER JOIN issue_type ON issue.issue_type_id = issue_type.id |
| | | INNER JOIN issue_department isd ON isd.issue_id = issue.id |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | WHERE issue.project_id = #{projectId} |
| | | <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> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | GROUP BY issue_type.name |
| | | </select> |
| | | |
| | |
| | | WHERE w.id = #{workspaceId} |
| | | AND iss.issue_status_type != 'CLOSE' |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="countSeverityIssueByDepartment" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT |
| | | COUNT(case when s.id = 1 then 'CRITICAL' END) AS 'critical', |
| | | COUNT(case when s.id = 2 then 'MAJOR' END) AS 'major', |
| | | COUNT(case when s.id = 3 then 'MINOR' END) AS 'minor', |
| | | COUNT(case when s.id = 4 then 'TRIVIAL' END) AS 'trivial' |
| | | FROM issue i |
| | | INNER JOIN project p ON p.id = i.project_id |
| | | INNER JOIN workspace w ON w.id = p.workspace_id |
| | | INNER JOIN severity s ON s.id = i.severity_id |
| | | INNER JOIN issue_status iss ON iss.id = i.issue_status_id |
| | | INNER JOIN issue_department isd on isd.issue_id = i.id |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | WHERE w.id = #{workspaceId} |
| | | AND iss.issue_status_type != 'CLOSE' |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | <choose> |
| | | <when test="myDepartmentIds.size != 0"> |
| | | AND isd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT i.title AS title, |
| | | s.name AS severityName, |
| | | p.name AS projectName, |
| | | s.color AS severityColor, |
| | | replace(i.start_date, "-", ".") AS startDate, |
| | | replace(i.complete_date, "-", ".") AS completeDate, |
| | | i.issue_number AS issueNumber, |
| | | p.project_key AS projectKey, |
| | | p.name AS projectName, |
| | | iss.name AS issueStatusName, |
| | | CONCAT(p.project_key, '-', i.issue_number) AS issueKey |
| | | FROM issue i |
| | |
| | | AND s.id = #{severityId} |
| | | AND iss.issue_status_type != 'CLOSE' |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | <if test="page != null and !page.equals('')"> |
| | | limit #{pageSize} offset #{page}; |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="findSeverityIssuesByDepartment" resultType="java.util.HashMap" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT i.title AS title, |
| | | s.name AS severityName, |
| | | p.name AS projectName, |
| | | s.color AS severityColor, |
| | | replace(i.start_date, "-", ".") AS startDate, |
| | | replace(i.complete_date, "-", ".") AS completeDate, |
| | | i.issue_number AS issueNumber, |
| | | p.project_key AS projectKey, |
| | | p.name AS projectName, |
| | | iss.name AS issueStatusName, |
| | | CONCAT(p.project_key, '-', i.issue_number) AS issueKey |
| | | FROM issue i |
| | | INNER JOIN project p ON p.id = i.project_id |
| | | INNER JOIN workspace w ON w.id = p.workspace_id |
| | | INNER JOIN severity s ON s.id = i.severity_id |
| | | INNER JOIN issue_status iss ON iss.id = i.issue_status_id |
| | | INNER JOIN issue_department isd on isd.issue_id = i.id |
| | | INNER JOIN user_department ud ON ud.department_id = isd.department_id |
| | | WHERE w.id = #{workspaceId} |
| | | AND s.id = #{severityId} |
| | | AND iss.issue_status_type != 'CLOSE' |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | <choose> |
| | | <when test="myDepartmentIds.size != 0"> |
| | | AND isd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | <if test="page != null and !page.equals('')"> |
| | | limit #{pageSize} offset #{page}; |
| | |
| | | AND s.id = #{severityId} |
| | | AND iss.issue_status_type != 'CLOSE' |
| | | <choose> |
| | | <when test="projectIds.size != 0"> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="projectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | </select> |
| | | |
| | | <select id="countSearchIssueByDepartment" resultType="java.lang.Long" |
| | | parameterType="kr.wisestone.owl.web.condition.WidgetCondition"> |
| | | SELECT COUNT(distinct i.id) |
| | | FROM issue i |
| | | INNER JOIN project p ON p.id = i.project_id |
| | | INNER JOIN workspace w ON w.id = p.workspace_id |
| | | INNER JOIN severity s ON s.id = i.severity_id |
| | | INNER JOIN issue_status iss ON iss.id = i.issue_status_id |
| | | INNER JOIN issue_department isd on isd.issue_id = i.id |
| | | WHERE w.id = #{workspaceId} |
| | | AND s.id = #{severityId} |
| | | AND iss.issue_status_type != 'CLOSE' |
| | | <choose> |
| | | <when test="meAndDownProjectIds != null and meAndDownProjectIds.size != 0"> |
| | | AND i.project_id IN |
| | | <foreach collection="meAndDownProjectIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | </choose> |
| | | <choose> |
| | | <when test="myDepartmentIds.size != 0"> |
| | | AND isd.department_id IN |
| | | <foreach collection="myDepartmentIds" item="item" index="index" separator="," open="(" close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </when> |
| | | <otherwise> |
| | | AND 1 != 1 |
| | | </otherwise> |
| | | </choose> |
| | | </select> |
| | | |
| | | <!-- 13번 위젯 끝 --> |
| | | |
| | | </mapper> |