DEBUG
3
WITH cteSection AS
(
/* OG
SELECT ROW_NUMBER() OVER (
PARTITION BY JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_activitycode')
Order BY JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_activitycode'),
JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_section')
) AS RowNum,
JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_activitycode') AS ActivityCode,
JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_section') AS SectionNum,
JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_brochurecode') AS BrochureCode,
JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_brochuretext') AS ActivityDescription,
JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_facilitylocation') AS LocationCode,
JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_displayonweb') AS Display
FROM AccuRecTrac
WHERE AccuRecTrac.TableName LIKE 'arsection'
-- [X] TODO - move to api filter
AND JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_archived') = 'false'
--AND JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_displayonweb') LIKE 'Yes'
*/
SELECT ROW_NUMBER() OVER (
PARTITION BY activitycode
Order BY activitycode,
section
) AS RowNum,
activitycode AS ActivityCode,
section AS SectionNum,
brochurecode AS BrochureCode,
brochuretext AS ActivityDescription,
facilitylocation AS LocationCode
FROM AccuRecTrac_arsection
),
cteSectionFilter AS
(
/* OG
SELECT DISTINCT JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_activitycode') AS ActivityCode
FROM AccuRecTrac
WHERE AccuRecTrac.TableName LIKE 'arsection'
-- [X] TODO - move to api filter
AND JSON_VALUE(AccuRecTrac.DataJSON, '$.arsection_displayonweb') LIKE 'Yes'
*/
SELECT DISTINCT activitycode AS ActivityCode
FROM AccuRecTrac_arsection
WHERE 1 = 1
),
cteBrochure AS
(
SELECT JSON_VALUE(AccuRecTrac.DataJSON, '$.sacommentcode_commentcode') AS BrochureCode,
JSON_VALUE(AccuRecTrac.DataJSON, '$.sacommentcode_comments') AS ActivityDescription
FROM AccuRecTrac
WHERE AccuRecTrac.TableName LIKE 'sacommentcode'
)
/* OG
SELECT DISTINCT JSON_VALUE(ART.DataJSON, '$.aractivity_activitycode') AS ActivityCode,
JSON_VALUE(ART.DataJSON, '$.aractivity_shortdescription') AS Title,
JSON_VALUE(ART.DataJSON, '$.aractivity_typecode') AS TypeCode,
CASE WHEN Brochure.ActivityDescription IS NOT NULL THEN Brochure.ActivityDescription ELSE SecDesc.ActivityDescription END AS ActivityDescription,
SecDesc.SectionNum as SectionNum,
SecDesc.RowNum
FROM AccuRecTrac AS ART
INNER JOIN cteSection AS SecDesc ON SecDesc.ActivityCode = JSON_VALUE(ART.DataJSON, '$.aractivity_activitycode')
LEFT JOIN cteBrochure AS Brochure ON Brochure.BrochureCode = SecDesc.BrochureCode
-- [] TODO - uncomment as the fallback skip activities with no sections returned will mess with pagination by possibly having less than rpp on a page
--INNER JOIN cteSectionFilter AS Filter ON Filter.ActivityCode = SecDesc.ActivityCode
WHERE ART.TableName LIKE 'aractivity'
-- [X] TODO - move to api filter
AND JSON_VALUE(ART.DataJSON, '$.aractivity_activitycode') <> ''
-- [X] TODO - move to api filter
AND SecDesc.ActivityDescription <> ''
AND RowNum = 1
-- [X] TODO - move to api filter
AND SecDesc.Display LIKE 'Yes'
*/
SELECT DISTINCT ART.activitycode AS ActivityCode,
ART.shortdescription AS Title,
ART.typecode AS TypeCode,
CASE WHEN Brochure.ActivityDescription IS NOT NULL THEN Brochure.ActivityDescription ELSE SecDesc.ActivityDescription END AS ActivityDescription,
SecDesc.SectionNum as SectionNum,
SecDesc.RowNum
FROM AccuRecTrac_aractivity AS ART
INNER JOIN cteSection AS SecDesc ON SecDesc.ActivityCode = ART.activitycode
LEFT JOIN cteBrochure AS Brochure ON Brochure.BrochureCode = SecDesc.BrochureCode
-- [] TODO - uncomment as the fallback skip activities with no sections returned will mess with pagination by possibly having less than rpp on a page
INNER JOIN cteSectionFilter AS Filter ON Filter.ActivityCode = SecDesc.ActivityCode
WHERE SecDesc.RowNum = 1
AND (/* OG JSON_VALUE(ART.DataJSON, '$.aractivity_typecode') LIKE 'DOG OBEDIENCE' */ ART.typecode LIKE 'DOG OBEDIENCE')
/* OG
ORDER BY JSON_VALUE(ART.DataJSON, '$.aractivity_typecode')
*/
ORDER BY ART.typecode
;
4240101 / Puppy Kindergarten
Teaches your puppy how to socialize with others as well as adjust to a puppy collar, lead, and walking. Puppies learn words and positions of sit, down, stand, and come when called. Basic house control and commands stressed. Please do not bring dogs to the first meeting. Shot history and proof of negative fecal test within 6 months are required at the first meeting. Note: Puppies are dogs 8 weeks to 5 1/2 months.
PLEASE NOTE: First meeting will take place on June 19 at 7:30pm at South Park
4240101-1 - Puppy Kindergarten
Res/NonRes
$81.00/$120.00
6/19/2024 - 8/14/2024
7:00 pm - 7:55 pm
Location
Centennial Activity Center
4240102 / Beginner Dog Obedience
Learn to enjoy your pet through correct discipline and handling. Dogs learn basic commands and positions of sit, down, stand, come and heel on a leash. Bad tempered dogs are not accepted. Please do not bring dogs to the first meeting. Rabies, shot history, and proof of negative fecal exam within 6 months are required at first meeting. Beginners are dogs that have not had class instruction. Note: Dogs must be at least 6 months old.
First meeting will take place on June 19 at 7:30pm at South Park.
4240102-1 - Beginner Dog Obedience
Res/NonRes
$105.00/$135.00
6/19/2024 - 8/21/2024
8:00 pm - 8:55 pm
Location
Centennial Activity Center
4240102-3 - Beginner Dog Obedience
Res/NonRes
$105.00/$135.00
6/19/2024 - 8/21/2024
7:00 pm - 7:55 pm
4240103 / Novice Dog Obedience
Learn to enjoy your pet through correct discipline and handling. Dogs learn basic commands and positions of sit, down, stand, come and heel on a leash. Bad tempered dogs are not accepted. Please do not bring dogs to the first meeting. Rabies, shot history, and proof of negative fecal exam within 6 months are required at first meeting. Beginners are dogs that have not had class instruction. Note: Dogs must be at least 6 months old.
PLEASE NOTE: First meeting will take place on June 19 at 7:30pm at South Park.
4240103-1 - Novice I Dog Obedience
Res/NonRes
$105.00/$135.00
6/19/2024 - 8/21/2024
8:00 pm - 8:55 pm
4240103-2 - Novice II Dog Obedience
Res/NonRes
$105.00/$135.00
6/19/2024 - 8/21/2024
8:30 pm - 9:10 pm