|
1 |
| -SELECT COUNT(*) AS total |
| 1 | +SELECT is_studio |
| 2 | +, challenge_type |
| 3 | +, challenge_name |
| 4 | +, challenge_id |
| 5 | +, (SELECT value FROM project_info WHERE project_id = challenge_id AND project_info_type_id = 4) AS forum_id |
| 6 | +, num_submissions |
| 7 | +, num_registrants |
| 8 | +, number_of_checkpoints_prizes |
| 9 | +, first_place_prize |
| 10 | +, total_prize |
| 11 | +, checkpoint_total_prizes |
| 12 | +, registration_start_date |
| 13 | +, registration_end_date |
| 14 | +, checkpoint_submission_end_date |
| 15 | +, submission_end_date |
| 16 | +, status |
| 17 | +, digital_run_points |
| 18 | +, nvl((SELECT MAX(event_id) FROM contest_project_xref x, contest c WHERE project_id = challenge_id AND c.contest_id = x.contest_id), 0) AS event_id |
| 19 | +, (SELECT event_short_desc FROM event e WHERE e.event_id = nvl((SELECT MAX(event_id) FROM contest_project_xref x, contest c WHERE project_id = challenge_id AND c.contest_id = x.contest_id), 0)) AS event_name |
| 20 | +, technology_list(value_for_technology) AS technologies |
| 21 | +, platform_list(id_for_platform) AS platforms |
| 22 | +, registration_open |
| 23 | +, NVL((SELECT CAST('t' AS boolean) FROM contest_eligibility WHERE contest_id = challenge_id), CAST('f' AS boolean)) AS is_private |
| 24 | +, (SELECT value FROM project_info pi53 WHERE project_id = challenge_id AND project_info_type_id = 53) AS submissions_viewable |
| 25 | +FROM ( |
| 26 | +SELECT |
| 27 | +SKIP @first_row_index@ |
| 28 | +FIRST @page_size@ |
| 29 | + CASE WHEN (p.project_studio_spec_id IS NOT NULL) THEN 1 ELSE 0 END AS is_studio |
| 30 | +, pcl.description AS challenge_type |
| 31 | +, pn.value AS challenge_name |
| 32 | +, p.project_id AS challenge_id |
| 33 | +, (SELECT COUNT(*) FROM submission s1 INNER JOIN upload u1 ON s1.upload_id = u1.upload_id |
| 34 | + WHERE u1.project_id = p.project_id |
| 35 | + AND s1.submission_type_id = 1 |
| 36 | + AND s1.submission_status_id <> 5) AS num_submissions |
| 37 | +, (SELECT COUNT(*) FROM resource r WHERE r.project_id = p.project_id AND r.resource_role_id = 1) AS num_registrants |
| 38 | +, NVL((SELECT SUM(pr.number_of_submissions) FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 14), 0) AS number_of_checkpoints_prizes |
| 39 | +, (SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 1) AS first_place_prize |
| 40 | +, (SELECT SUM(prize_amount) FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15) AS total_prize |
| 41 | +, (SELECT SUM(prize_amount * number_of_submissions) FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 14) AS checkpoint_total_prizes |
| 42 | +, NVL(pp1.actual_start_time, pp1.scheduled_start_time) AS registration_start_date |
| 43 | +, NVL(pp1.actual_end_time, pp1.scheduled_end_time) AS registration_end_date |
| 44 | +, NVL(pp15.actual_end_time, pp15.scheduled_end_time) AS checkpoint_submission_end_date |
| 45 | +, NVL(pp2.actual_end_time, pp2.scheduled_end_time) AS submission_end_date |
| 46 | +, pstatus.name AS status |
| 47 | +, CASE WHEN pidr.value = 'On' THEN |
| 48 | + NVL((SELECT value::decimal FROM project_info pi_dr WHERE pi_dr.project_info_type_id = 30 AND pi_dr.project_id = p.project_id), (SELECT round(NVL(pi16.value::decimal, 0)) FROM project_info pi16 WHERE pi16.project_info_type_id = 16 AND pi16.project_id = p.project_id)) |
| 49 | + ELSE NULL END AS digital_run_points |
| 50 | +, pi1.value AS value_for_technology |
| 51 | +, p.project_id AS id_for_platform |
| 52 | +, CASE WHEN (pp1.phase_status_id = 2) THEN 'Yes' ELSE 'No' END AS registration_open |
2 | 53 | FROM project p
|
3 |
| -, project_phase pp1 --registration phase |
4 |
| -, project_phase pp2 --submission phase |
5 |
| -, project_info pn |
6 |
| -, project_info pi1 |
7 |
| -, project_category_lu pcl |
8 |
| -, OUTER project_info pi82 |
9 |
| -WHERE p.project_id = pn.project_id |
10 |
| -AND pn.project_info_type_id = 6 |
11 |
| -AND pp1.project_id = p.project_id |
12 |
| -AND pp1.phase_type_id = 1 --registration phase |
13 |
| -AND pp2.project_id = p.project_id |
14 |
| -AND pp2.phase_type_id = 2 --submission phase |
15 |
| -AND p.project_category_id = pcl.project_category_id |
16 |
| -AND p.project_status_id IN (4, 5, 6, 7, 8, 9, 10, 11) |
17 |
| -AND pcl.project_type_id IN (@track@) |
18 |
| -AND pp1.phase_status_id in (2,3) |
19 |
| -AND pi1.project_id = p.project_id |
20 |
| -AND pi1.project_info_type_id = 1 |
| 54 | +INNER JOIN project_status_lu pstatus ON pstatus.project_status_id = p.project_status_id |
| 55 | +INNER JOIN project_category_lu pcl ON pcl.project_category_id = p.project_category_id |
| 56 | +INNER JOIN project_phase pp1 ON pp1.project_id = p.project_id AND pp1.phase_type_id = 1 |
| 57 | +INNER JOIN project_phase pp2 ON pp2.project_id = p.project_id AND pp2.phase_type_id = 2 |
| 58 | +INNER JOIN project_info pn ON pn.project_id = p.project_id AND pn.project_info_type_id = 6 |
| 59 | +INNER JOIN project_info pi1 ON pi1.project_id = p.project_id AND pi1.project_info_type_id = 1 |
| 60 | +LEFT JOIN project_phase pp15 ON pp15.project_id = p.project_id AND pp15.phase_type_id = 15 |
| 61 | +LEFT JOIN project_info pidr ON pidr.project_id = p.project_id AND pidr.project_info_type_id = 26 |
| 62 | +WHERE |
| 63 | +p.project_status_id IN (4, 5, 6, 7, 8, 9, 10, 11) |
| 64 | +AND pcl.project_category_id NOT IN (27, 37) AND pcl.project_type_id IN (@track@) |
21 | 65 | and NVL(pp2.actual_end_time, pp2.scheduled_end_time) > '2012-01-01 00:00:00'
|
22 |
| -AND pcl.project_category_id NOT IN (27, 37) --exclude when spec review was a 'contest.' Also exclude MM, which is in there as a 'software' contest. |
23 |
| --- start of parameters |
24 |
| - |
25 | 66 | AND NVL(pp2.actual_end_time, pp2.scheduled_end_time) BETWEEN TO_DATE('@submission_end_from@ 00:00:00', '%Y-%m-%d %H:%M:%S') AND TO_DATE('@submission_end_to@ 23:59:59', '%Y-%m-%d %H:%M:%S')
|
26 |
| - |
27 |
| -AND LOWER(pn.value) LIKE ('@challenge_name@') |
| 67 | +-- Filter out the challenge that user is not belong to. |
| 68 | +AND pp1.phase_status_id in (2,3) |
| 69 | +AND LOWER(pn.value) LIKE('@challenge_name@') |
| 70 | +-- start of parameters |
28 | 71 | AND NVL((SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 1), 0) >= @prize_lower_bound@
|
29 | 72 | AND NVL((SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 1), 0) <= @prize_upper_bound@
|
30 | 73 | AND p.tc_direct_project_id = DECODE(@project_id@, 0, p.tc_direct_project_id, @project_id@)
|
31 |
| --- Filter out the challenge that user is not belong to. |
32 |
| -AND (not exists (select contest_id from contest_eligibility where contest_id = p.project_id) |
33 |
| - or exists(select contest_id from contest_eligibility ce, group_contest_eligibility gce, user_group_xref x |
34 |
| - where x.login_id = @user_id@ AND x.group_id = gce.group_id AND gce.contest_eligibility_id = ce.contest_eligibility_id |
35 |
| - AND ce.contest_id = p.project_id)) |
36 |
| -AND NOT ( NVL(pi82.value,0) = 1 |
37 |
| - AND (select count(*) from resource r where r.project_id = p.project_id and resource_role_id = 1 ) > 0 |
38 |
| - ) |
| 74 | +AND not exists (select 1 from resource r, project_info pi82 where r.project_id = p.project_id and r.resource_role_id = 1 and p.project_id = pi82.project_id and project_info_type_id = 82) -- exclude assigned tasks |
| 75 | +ORDER BY @sort_column@ @sort_order@ |
| 76 | +) |
0 commit comments