|
1 | 1 | SELECT
|
2 | 2 | SKIP @firstRowIndex@
|
3 | 3 | FIRST @pageSize@
|
4 |
| - CASE WHEN (p.project_studio_spec_id IS NOT NULL) THEN 1 ELSE 0 END AS is_studio |
5 |
| -, p.project_id AS challenge_id |
6 |
| -, pcl.description AS challenge_type |
7 |
| -, pi.challenge_name |
8 |
| -, p.tc_direct_project_id AS project_id |
9 |
| -, screening.parameter AS screening_scorecard_id |
10 |
| -, review.parameter AS review_scorecard_id |
11 |
| -, pi.cmc_task_id |
12 |
| -, pi.forum_id |
13 |
| -, (SELECT COUNT(*) FROM submission s1 INNER JOIN upload u1 ON s1.upload_id = u1.upload_id |
14 |
| - WHERE u1.project_id = p.project_id |
15 |
| - AND s1.submission_type_id IN (1, 3) |
16 |
| - AND s1.submission_status_id <> 5) AS num_submissions |
17 |
| -, (SELECT COUNT(*) FROM resource r WHERE r.project_id = p.project_id AND r.resource_role_id = 1) AS num_registrants |
18 |
| -, 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 |
19 |
| -, pr.top_checkpoint_prize |
20 |
| -, pr.prize1 |
21 |
| -, pr.prize2 |
22 |
| -, pr.prize3 |
23 |
| -, pr.prize4 |
24 |
| -, pr.prize5 |
25 |
| -, pr.prize6 |
26 |
| -, pr.prize7 |
27 |
| -, pr.prize8 |
28 |
| -, NVL(pp.registration_actual_start_time, pp.registration_scheduled_start_time) AS posting_date |
29 |
| -, NVL(pp.registration_actual_end_time, pp.registration_scheduled_end_time) AS registration_end_date |
30 |
| -, NVL(pp.checkpoint_actual_end_time , pp.checkpoint_scheduled_end_time) AS checkpoint_submission_end_date |
31 |
| -, NVL(pp.submission_actual_end_time, pp.submission_scheduled_end_time) AS submission_end_date |
32 |
| -, NVL(pp.appeals_scheduled_end_time, review.scheduled_end_time) AS appeals_end_date |
33 |
| -, NVL(pp.final_fix_actual_end_time, pp.final_fix_scheduled_end_time) AS final_fix_end_date |
34 |
| -, NVL(nd_phase.actual_end_time, nd_phase.scheduled_end_time) AS current_phase_end_date |
35 |
| -, (( nd_phase.scheduled_end_time - CURRENT)::interval second(9) to second)::char(10)::int8 AS current_phase_remaining_time |
36 |
| -, pstatus.name AS current_status |
37 |
| -, CASE WHEN (nd_phase.scheduled_end_time IS NOT NULL) THEN |
38 |
| - (SELECT phase_type_lu.description FROM phase_type_lu |
39 |
| - WHERE phase_type_id = nd_phase.phase_type_id) |
40 |
| - ELSE NULL |
41 |
| - END AS current_phase_name |
42 |
| -, CASE WHEN pi.digital_run_flag = 'On' THEN NVL(pi.digital_run_points, pi.payments) |
43 |
| - ELSE NULL |
44 |
| - END AS digital_run_points |
45 |
| -, NVL((SELECT max(event_id) FROM contest_project_xref x, contest c WHERE project_id = p.project_id AND c.contest_id = x.contest_id), 0) AS event_id |
46 |
| -, (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 = p.project_id AND c.contest_id = x.contest_id), 0)) AS event_name |
47 |
| -, technology_list(p.project_id) AS technology |
48 |
| -, platform_list(p.project_id) AS platforms |
49 |
| -FROM project p |
50 |
| -LEFT JOIN ( |
51 |
| - SELECT |
52 |
| - project_id |
53 |
| - , MAX(CASE WHEN prize_type_id = 14 AND place = 1 THEN prize_amount ELSE NULL END) AS top_checkpoint_prize |
54 |
| - , MAX(CASE WHEN prize_type_id = 15 AND place = 1 THEN prize_amount ELSE NULL END) AS prize1 |
55 |
| - , MAX(CASE WHEN prize_type_id = 15 AND place = 2 THEN prize_amount ELSE NULL END) AS prize2 |
56 |
| - , MAX(CASE WHEN prize_type_id = 15 AND place = 3 THEN prize_amount ELSE NULL END) AS prize3 |
57 |
| - , MAX(CASE WHEN prize_type_id = 15 AND place = 4 THEN prize_amount ELSE NULL END) AS prize4 |
58 |
| - , MAX(CASE WHEN prize_type_id = 15 AND place = 5 THEN prize_amount ELSE NULL END) AS prize5 |
59 |
| - , MAX(CASE WHEN prize_type_id = 15 AND place = 6 THEN prize_amount ELSE NULL END) AS prize6 |
60 |
| - , MAX(CASE WHEN prize_type_id = 15 AND place = 7 THEN prize_amount ELSE NULL END) AS prize7 |
61 |
| - , MAX(CASE WHEN prize_type_id = 15 AND place = 8 THEN prize_amount ELSE NULL END) AS prize8 |
62 |
| - FROM prize |
63 |
| - WHERE prize_type_id IN (14, 15) |
64 |
| - GROUP BY project_id |
65 |
| -) pr ON pr.project_id = p.project_id |
66 |
| -INNER JOIN ( |
67 |
| - SELECT |
68 |
| - project_id |
69 |
| - , MAX(DECODE(phase_type_id, 1, actual_end_time, NULL)) AS registration_actual_end_time |
70 |
| - , MAX(DECODE(phase_type_id, 1, scheduled_end_time, NULL)) AS registration_scheduled_end_time |
71 |
| - , MAX(DECODE(phase_type_id, 1, scheduled_start_time, NULL)) AS registration_scheduled_start_time |
72 |
| - , MAX(DECODE(phase_type_id, 1, actual_start_time, NULL)) AS registration_actual_start_time |
73 |
| - , MAX(DECODE(phase_type_id, 2, actual_end_time, NULL)) AS submission_actual_end_time |
74 |
| - , MAX(DECODE(phase_type_id, 2, scheduled_end_time, NULL)) AS submission_scheduled_end_time |
75 |
| - , MAX(DECODE(phase_type_id, 6, scheduled_end_time, NULL)) AS appeals_scheduled_end_time |
76 |
| - , MAX(DECODE(phase_type_id, 9, actual_end_time, NULL)) AS final_fix_actual_end_time |
77 |
| - , MAX(DECODE(phase_type_id, 9, scheduled_end_time, NULL)) AS final_fix_scheduled_end_time |
78 |
| - , MAX(DECODE(phase_type_id, 15, actual_end_time, NULL)) AS checkpoint_actual_end_time |
79 |
| - , MAX(DECODE(phase_type_id, 15, scheduled_end_time, NULL)) AS checkpoint_scheduled_end_time |
80 |
| - FROM project_phase |
81 |
| - WHERE phase_type_id IN (1,2,6,9,15) |
82 |
| - GROUP BY project_id |
83 |
| -) pp ON pp.project_id = p.project_id |
84 |
| -INNER JOIN ( |
85 |
| - SELECT |
86 |
| - project_id |
87 |
| - , MAX(DECODE(project_info_type_id, 4, value, '')) AS forum_id |
88 |
| - , MAX(DECODE(project_info_type_id, 16, value, '')) AS payments |
89 |
| - , MAX(DECODE(project_info_type_id, 26, value, '')) AS digital_run_flag |
90 |
| - , MAX(DECODE(project_info_type_id, 30, value, '')) AS digital_run_points |
91 |
| - , MAX(DECODE(project_info_type_id, 70, value, '')) AS cmc_task_id |
92 |
| - , MAX(DECODE(project_info_type_id, 6, value, '')) AS challenge_name |
93 |
| - FROM project_info |
94 |
| - WHERE project_info_type_id IN (70, 30, 16, 26, 4, 6) |
95 |
| - GROUP BY project_id |
96 |
| -) pi ON pi.project_id = p.project_id |
97 |
| -LEFT OUTER JOIN ( |
98 |
| - SELECT |
99 |
| - pp3.project_id |
100 |
| - , pc3.parameter |
101 |
| - FROM project_phase pp3 |
102 |
| - LEFT OUTER JOIN phase_criteria pc3 ON pp3.project_phase_id = pc3.project_phase_id |
103 |
| - WHERE pp3.phase_type_id = 3 |
104 |
| - AND pc3.phase_criteria_type_id = 1 |
105 |
| -) screening ON screening.project_id = p.project_id |
106 |
| -LEFT OUTER JOIN ( |
107 |
| - SELECT |
108 |
| - pp4.project_id |
109 |
| - , pc4.parameter |
110 |
| - , pp4.scheduled_end_time |
111 |
| - FROM project_phase pp4 |
112 |
| - LEFT OUTER JOIN phase_criteria pc4 ON pp4.project_phase_id = pc4.project_phase_id |
113 |
| - WHERE pp4.phase_type_id = 4 |
114 |
| - AND pc4.phase_criteria_type_id = 1 |
115 |
| -) review ON review.project_id = p.project_id |
116 |
| -LEFT OUTER JOIN ( |
117 |
| - SELECT |
118 |
| - scheduled_end_time |
119 |
| - , actual_end_time |
120 |
| - , phase_type_id |
121 |
| - , pp.project_id |
| 4 | + CASE WHEN (p.project_studio_spec_id IS NOT NULL) THEN 1 ELSE 0 END AS is_studio |
| 5 | + , pcl.description AS challenge_type |
| 6 | + , pn.value AS challenge_name |
| 7 | + , p.project_id AS challenge_id |
| 8 | + , p.tc_direct_project_id AS project_id |
| 9 | + , p.project_category_id AS project_type |
| 10 | + , pc3.parameter AS screening_scorecard_id |
| 11 | + , pc4.parameter AS review_scorecard_id |
| 12 | + , (select value from project_info pi70 where pi70.project_id = p.project_id and project_info_type_id = 70) AS cmc_task_id |
| 13 | + , pi4.value AS forum_id |
| 14 | + , (SELECT COUNT(*) FROM submission s1 INNER JOIN upload u1 ON s1.upload_id = u1.upload_id |
| 15 | + WHERE u1.project_id = p.project_id |
| 16 | + AND s1.submission_type_id IN (1, 3) |
| 17 | + AND s1.submission_status_id <> 5) AS num_submissions |
| 18 | + , (SELECT COUNT(*) FROM resource r WHERE r.project_id = p.project_id AND r.resource_role_id = 1) AS num_registrants |
| 19 | + , 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 |
| 20 | + , (SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 14 AND pr.place = 1)::DECIMAL(10,2) AS top_checkpoint_prize |
| 21 | + , (SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 1)::DECIMAL(10,2) AS prize1 |
| 22 | + , (SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 2)::DECIMAL(10,2) AS prize2 |
| 23 | + , (SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 3)::DECIMAL(10,2) AS prize3 |
| 24 | + , (SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 4)::DECIMAL(10,2) AS prize4 |
| 25 | + , (SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 5)::DECIMAL(10,2) AS prize5 |
| 26 | + , (SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 6)::DECIMAL(10,2) AS prize6 |
| 27 | + , (SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 7)::DECIMAL(10,2) AS prize7 |
| 28 | + , (SELECT pr.prize_amount FROM prize pr WHERE pr.project_id = p.project_id AND pr.prize_type_id = 15 AND pr.place = 8)::DECIMAL(10,2) AS prize8 |
| 29 | + , (SELECT NVL(NVL(ppd.actual_start_time, psd.actual_start_time), ppd.scheduled_start_time) |
| 30 | + FROM project proj |
| 31 | + , OUTER project_phase psd |
| 32 | + , OUTER project_phase ppd |
| 33 | + WHERE psd.project_id = proj.project_id |
| 34 | + AND psd.phase_type_id = 2 |
| 35 | + AND ppd.project_id = proj.project_id |
| 36 | + AND proj.project_id = p.project_id |
| 37 | + AND ppd.phase_type_id = 1) AS posting_date |
| 38 | + , NVL(NVL(pp1.actual_end_time, pp1.scheduled_end_time), NVL(pp2.actual_end_time, pp2.scheduled_end_time)) AS registration_end_date |
| 39 | + , NVL(pp15.actual_end_time , pp15.scheduled_end_time) AS checkpoint_submission_end_date |
| 40 | + , NVL(pp2.actual_end_time, pp2.scheduled_end_time) AS submission_end_date |
| 41 | + , NVL(NVL(pp6.actual_end_time, pp6.scheduled_end_time), NVL(pp4.actual_end_time, pp4.scheduled_end_time)) AS appeals_end_date |
| 42 | + , NVL(pp9.actual_end_time, pp9.scheduled_end_time) AS final_fix_end_date |
| 43 | + , NVL(nd_phase.actual_end_time, nd_phase.scheduled_end_time) AS current_phase_end_date |
| 44 | + , (( nd_phase.scheduled_end_time - CURRENT)::interval second(9) to second)::char(10)::int8 AS current_phase_remaining_time |
| 45 | + , pstatus.name AS current_status |
| 46 | + , CASE WHEN (nd_phase.scheduled_end_time IS NOT NULL) THEN |
| 47 | + (SELECT phase_type_lu.description FROM phase_type_lu |
| 48 | + WHERE phase_type_id = nd_phase.phase_type_id) |
| 49 | + ELSE NULL |
| 50 | + END AS current_phase_name |
| 51 | + , CASE WHEN pidr.value = 'On' THEN |
| 52 | + 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)) |
| 53 | + ELSE NULL END AS digital_run_points |
122 | 54 | FROM project p
|
123 |
| - LEFT OUTER JOIN project_phase pp ON pp.project_id = p.project_id |
124 |
| - WHERE project_phase_id = (SELECT MAX(project_phase_id) FROM project_phase pp WHERE pp.project_id = p.project_id AND pp.phase_status_id = 2 AND pp.phase_type_id IN (1,2,3,4,5,6,7,8,9,10,11,12)) |
125 |
| -) nd_phase ON nd_phase.project_id = p.project_id |
126 |
| -INNER JOIN project_phase pp1 ON pp1.project_id = p.project_id AND pp1.phase_type_id = 1 |
127 |
| -INNER JOIN project_status_lu pstatus ON p.project_status_id = pstatus.project_status_id |
128 |
| -, project_category_lu pcl |
129 |
| -WHERE 1=1 |
130 |
| -AND p.project_category_id = pcl.project_category_id |
131 |
| --- Filter the private challenge |
132 |
| -AND p.project_id IN (SELECT |
133 |
| - contest_id |
134 |
| - FROM contest_eligibility ce |
135 |
| - , group_contest_eligibility gce |
136 |
| - WHERE ce.contest_eligibility_id = gce.contest_eligibility_id |
137 |
| - AND gce.group_id = @communityId@) |
138 |
| -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. |
139 |
| -AND p.project_status_id IN (@project_status_id@) |
140 |
| -AND pcl.project_type_id IN (@project_type_id@) |
141 |
| -AND pp1.phase_status_id IN (@registration_phase_status@) |
142 |
| -AND NVL(pp.submission_actual_end_time, pp.submission_scheduled_end_time) BETWEEN TO_DATE('@submissionEndFrom@ 00:00:00', '%Y-%m-%d %H:%M:%S') AND TO_DATE('@submissionEndTo@ 23:59:59', '%Y-%m-%d %H:%M:%S') |
| 55 | + , project_status_lu pstatus |
| 56 | + , project_phase pp1 --registration phase |
| 57 | + , project_phase pp2 --submission phase |
| 58 | + , outer project_phase pp6 --appeals phase |
| 59 | + , outer project_phase pp15 --checkpoint submission phase |
| 60 | + , outer project_phase pp9 --final fix phase |
| 61 | + , outer ( project_phase pp3 --screening phase |
| 62 | + , outer phase_criteria pc3 ) --screening phase scorecard |
| 63 | + , outer ( project_phase pp4 --review phase |
| 64 | + , outer phase_criteria pc4) --review phase scorecard |
| 65 | + , project_info pn |
| 66 | + , outer project_info pidr |
| 67 | + , outer project_phase nd_phase |
| 68 | + , project_category_lu pcl |
| 69 | + , outer project_info pi4 --forum id |
| 70 | + WHERE 1=1 |
| 71 | + AND p.project_status_id = pstatus.project_status_id |
| 72 | + AND p.project_id = pn.project_id |
| 73 | + AND pn.project_info_type_id = 6 |
| 74 | + AND pp1.project_id = p.project_id |
| 75 | + AND pp1.phase_type_id = 1 --registration phase |
| 76 | + AND pp2.project_id = p.project_id |
| 77 | + AND pp2.phase_type_id = 2 --submission phase |
| 78 | + AND pp6.project_id = p.project_id |
| 79 | + AND pp6.phase_type_id = 6 --appeals phase |
| 80 | + AND pp15.project_id = p.project_id |
| 81 | + AND pp15.phase_type_id = 15 --checkpoint submission phase |
| 82 | + AND pp9.project_id = p.project_id |
| 83 | + AND pp9.phase_type_id = 9 --final fix phase |
| 84 | + AND pp9.project_phase_id = (SELECT MAX(project_phase_id) FROM project_phase WHERE project_id = p.project_id AND phase_type_id = 9) --last final fix only |
| 85 | + AND pp3.project_id = p.project_id |
| 86 | + AND pp3.phase_type_id = 3 --screening phase |
| 87 | + AND pp3.project_phase_id = pc3.project_phase_id |
| 88 | + AND pc3.phase_criteria_type_id = 1 -- scorecardid type |
| 89 | + AND pp4.project_id = p.project_id |
| 90 | + AND pp4.phase_type_id = 4 --review phase |
| 91 | + AND pp4.project_phase_id = pc4.project_phase_id |
| 92 | + AND pc4.phase_criteria_type_id = 1 -- scorecardid type |
| 93 | + AND pidr.project_id = p.project_id |
| 94 | + AND pidr.project_info_type_id = 26 --digital run |
| 95 | + AND pi4.project_id = p.project_id |
| 96 | + AND pi4.project_info_type_id = 4 --forum id |
| 97 | + AND p.project_Id = nd_phase.project_id |
| 98 | + AND nd_phase.project_phase_id = (SELECT MAX(project_phase_id) FROM project_phase WHERE project_id = p.project_id AND phase_status_id = 2 AND phase_type_id IN (1,2,3,4,5,6,7,8,9,10,11,12)) |
| 99 | + AND p.project_category_id = pcl.project_category_id |
| 100 | + -- Filter the private challenge |
| 101 | + AND p.project_id IN (SELECT |
| 102 | + contest_id |
| 103 | + FROM contest_eligibility ce |
| 104 | + , group_contest_eligibility gce |
| 105 | + WHERE ce.contest_eligibility_id = gce.contest_eligibility_id |
| 106 | + AND gce.group_id = @communityId@) |
| 107 | + 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. |
| 108 | + -- start of parameters |
| 109 | + AND pstatus.project_status_id IN (@project_status_id@) |
| 110 | + AND pcl.project_type_id IN (@project_type_id@) |
| 111 | + AND pp1.phase_status_id IN (@registration_phase_status@) |
| 112 | + AND NVL(pp2.actual_end_time, pp2.scheduled_end_time) BETWEEN TO_DATE('@submissionEndFrom@ 00:00:00', '%Y-%m-%d %H:%M:%S') AND TO_DATE('@submissionEndTo@ 23:59:59', '%Y-%m-%d %H:%M:%S') |
143 | 113 |
|
144 |
| -AND LOWER(pcl.description) = DECODE('@categoryName@', '', LOWER(pcl.description), '@categoryName@') |
145 |
| -AND LOWER(pi.challenge_name) LIKE ('@challengeName@') |
146 |
| -AND NVL(pr.prize1, 0) >= @prilower@ |
147 |
| -AND NVL(pr.prize1, 0) <= @priupper@ |
148 |
| -AND p.tc_direct_project_id = DECODE(@tcdirectid@, 0, p.tc_direct_project_id, @tcdirectid@) |
149 |
| -AND NVL(LOWER(pi.cmc_task_id), '') = DECODE('@cmc@', '', NVL(LOWER(pi.cmc_task_id), ''), '@cmc@') |
| 114 | + AND LOWER(pcl.description) = DECODE('@categoryName@', '', LOWER(pcl.description), '@categoryName@') |
| 115 | + AND LOWER(pn.value) LIKE ('@challengeName@') |
| 116 | + 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) >= @prilower@ |
| 117 | + 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) <= @priupper@ |
| 118 | + AND p.tc_direct_project_id = DECODE(@tcdirectid@, 0, p.tc_direct_project_id, @tcdirectid@) |
| 119 | + AND NVL(LOWER((select value from project_info pi70 where pi70.project_id = p.project_id and project_info_type_id = 70)), '') = DECODE('@cmc@', '', NVL(LOWER((select value from project_info pi70 where pi70.project_id = p.project_id and project_info_type_id = 70)), ''), '@cmc@') |
150 | 120 | ORDER BY @sortColumn@ @sortOrder@
|
0 commit comments