Feat(Project Hub): Apply for Founding Partner Program page created with database structure and methods.

This commit is contained in:
2025-08-02 17:39:22 +01:00
parent 09af0a7a93
commit 438909b102
343 changed files with 8047 additions and 4253 deletions

View File

@@ -1,10 +1,10 @@
USE parts;
USE fetchmetrics;
DROP PROCEDURE IF EXISTS parts.p_dog_calc_assessment_response;
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_assessment_response;
DELIMITER //
CREATE PROCEDURE parts.p_dog_calc_assessment_response (
CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment_response (
IN a_guid BINARY(36)
, IN a_id_user INT
, IN a_get_all_assessment_response BIT
@@ -126,7 +126,7 @@ BEGIN
MET.id_type
, @errno
, @text
FROM parts.CORE_Msg_Error_Type MET
FROM fetchmetrics.CORE_Msg_Error_Type MET
WHERE MET.code = 'MYSQL_ERROR'
;
@@ -141,7 +141,7 @@ BEGIN
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Assessment_Response;
@@ -150,13 +150,13 @@ BEGIN
SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_code_type_error_bad_data := 'BAD_DATA';
SET v_code_type_error_no_permission := 'NO_PERMISSION';
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
CALL parts.p_core_validate_guid ( a_guid );
CALL fetchmetrics.p_core_validate_guid ( a_guid );
SET a_id_user := IFNULL(a_id_user, 0);
SET a_get_all_assessment_response := IFNULL(a_get_all_assessment_response, 0);
@@ -349,7 +349,7 @@ BEGIN
SET v_has_filter_assessment_response_value_measured_max := NOT ISNULL(a_max_value_measured_assessment_response);
-- Call Calc Assessment Command Modality Link
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF a_debug = 1 THEN
SELECT
v_guid -- a_guid
@@ -421,7 +421,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_calc_assessment_command_modality_link (
CALL fetchmetrics.p_dog_calc_assessment_command_modality_link (
a_guid -- a_guid
, a_id_user -- a_id_user
, a_get_all_ACM_link
@@ -522,7 +522,7 @@ BEGIN
, ASSESSMENT_COMMAND_MODALITY_LINK_T.does_meet_id_filters
, ASSESSMENT_COMMAND_MODALITY_LINK_T.does_meet_non_id_filters
FROM parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.GUID = a_guid
;
@@ -532,7 +532,7 @@ BEGIN
END IF;
-- Call Calc Response Quality Metric
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF a_debug = 1 THEN
SELECT
a_guid -- a_guid
@@ -550,7 +550,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_calc_response_quality_metric (
CALL fetchmetrics.p_dog_calc_response_quality_metric (
a_guid -- a_guid
, a_id_user -- a_id_user
, a_get_all_response_quality_metric -- a_get_all_response_quality_metric
@@ -587,7 +587,7 @@ BEGIN
, RESPONSE_QUALITY_METRIC_T.does_meet_id_filters
, RESPONSE_QUALITY_METRIC_T.does_meet_non_id_filters
FROM parts.DOG_Response_Quality_Metric_Temp RESPONSE_QUALITY_METRIC_T
FROM fetchmetrics.DOG_Response_Quality_Metric_Temp RESPONSE_QUALITY_METRIC_T
WHERE RESPONSE_QUALITY_METRIC_T.GUID = a_guid
;
@@ -597,7 +597,7 @@ BEGIN
END IF;
-- Call Calc Obedience Level
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF a_debug = 1 THEN
SELECT
a_guid -- a_guid
@@ -615,7 +615,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_calc_obedience_level (
CALL fetchmetrics.p_dog_calc_obedience_level (
a_guid -- a_guid
, a_id_user -- a_id_user
, a_get_all_obedience_level -- a_get_all_obedience_level
@@ -647,7 +647,7 @@ BEGIN
, OBEDIENCE_LEVEL_T.does_meet_id_filters
, OBEDIENCE_LEVEL_T.does_meet_non_id_filters
FROM parts.DOG_Obedience_Level_Temp OBEDIENCE_LEVEL_T
FROM fetchmetrics.DOG_Obedience_Level_Temp OBEDIENCE_LEVEL_T
WHERE OBEDIENCE_LEVEL_T.GUID = a_guid
;
@@ -658,7 +658,7 @@ BEGIN
-- Assessment_Responses
IF v_has_filter_assessment_response_id = 1 THEN
CALL parts.p_core_split(a_guid, a_ids_assessment_response, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_ids_assessment_response, ',', a_debug);
SET sql_mode = '';
@@ -669,17 +669,17 @@ BEGIN
SELECT
SPLIT_T.substring
, CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int
FROM parts.CORE_Split_Temp SPLIT_T
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
WHERE
SPLIT_T.GUID = a_guid
AND IFNULL(SPLIT_T.substring, '') <> ''
;
CALL parts.p_core_clear_split( a_guid );
CALL fetchmetrics.p_core_clear_split( a_guid );
END IF;
IF v_has_filter_assessment_response_notes = 1 THEN
CALL parts.p_core_split(a_guid, a_notes_assessment_response, ',', a_debug);
CALL fetchmetrics.p_core_split(a_guid, a_notes_assessment_response, ',', a_debug);
SET sql_mode = '';
@@ -690,20 +690,20 @@ BEGIN
SELECT
SPLIT_T.substring
, CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int
FROM parts.CORE_Split_Temp SPLIT_T
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
WHERE
SPLIT_T.GUID = a_guid
AND IFNULL(SPLIT_T.substring, '') <> ''
;
CALL parts.p_core_clear_split( a_guid );
CALL fetchmetrics.p_core_clear_split( a_guid );
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF EXISTS (
SELECT *
FROM tmp_Split_Id_Calc_Assessment_Response t_SPLIT_ID
LEFT JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response
LEFT JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response
WHERE
ISNULL(t_SPLIT_ID.as_int)
OR ISNULL(ASSESSMENT_RESPONSE.id_response)
@@ -722,7 +722,7 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('Invalid or inactive Assessment_Response IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL'))
FROM tmp_Split_Id_Calc_Assessment_Response t_SPLIT_ID
LEFT JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response
LEFT JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response
WHERE
ISNULL(t_SPLIT_ID.as_int)
OR ISNULL(ASSESSMENT_RESPONSE.id_response)
@@ -741,12 +741,12 @@ BEGIN
Assessment_Response_Id_Filter AS (
SELECT ASSESSMENT_RESPONSE.id_response
FROM tmp_Split_Id_Calc_Assessment_Response t_SPLIT_ID
INNER JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response
INNER JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response
)
, Assessment_Response_Notes_Filter AS (
SELECT ASSESSMENT_RESPONSE.id_response
FROM tmp_Split_Notes_Calc_Assessment_Response t_SPLIT_NOTES
INNER JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
INNER JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
WHERE NULLIF(t_SPLIT_NOTES.substring, '') IS NOT NULL
)
, Assessment_Response_Filters AS (
@@ -803,7 +803,7 @@ BEGIN
)
)
THEN 1 ELSE 0 END AS does_meet_non_id_filters
FROM parts.DOG_Assessment_Response ASSESSMENT_RESPONSE
FROM fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE
LEFT JOIN Assessment_Response_Filters ASSESSMENT_RESPONSE_FILTERS ON ASSESSMENT_RESPONSE.id_response = ASSESSMENT_RESPONSE_FILTERS.id_response
WHERE
(
@@ -846,12 +846,12 @@ BEGIN
Assessment_Response_Id_Filter AS (
SELECT ASSESSMENT_RESPONSE.id_response
FROM tmp_Split_Id_Calc_Assessment_Response t_SPLIT_ID
INNER JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response
INNER JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response
)
, Assessment_Response_Notes_Filter AS (
SELECT ASSESSMENT_RESPONSE.id_response
FROM tmp_Split_Notes_Calc_Assessment_Response t_SPLIT_NOTES
INNER JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
INNER JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
WHERE NULLIF(t_SPLIT_NOTES.substring, '') IS NOT NULL
)
, Assessment_Response_Filters AS (
@@ -908,7 +908,7 @@ BEGIN
)
)
THEN 1 ELSE 0 END AS does_meet_non_id_filters
FROM parts.DOG_Assessment_Response ASSESSMENT_RESPONSE
FROM fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE
LEFT JOIN Assessment_Response_Filters ASSESSMENT_RESPONSE_FILTERS ON ASSESSMENT_RESPONSE.id_response = ASSESSMENT_RESPONSE_FILTERS.id_response
WHERE
(
@@ -947,7 +947,7 @@ BEGIN
END IF;
-- Filter records
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
DELETE t_ASSESSMENT_RESPONSE
FROM tmp_Assessment_Response_Calc_Assessment_Response t_ASSESSMENT_RESPONSE
LEFT JOIN tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link
@@ -1019,7 +1019,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_calc_user(
CALL fetchmetrics.p_dog_calc_user(
a_guid -- a_guid
, 0 -- get_all_user
, 0 -- get_inactive_user
@@ -1041,7 +1041,7 @@ BEGIN
IFNULL(CALC_USER_T.has_access, 0)
INTO
v_can_view
FROM parts.DOG_Calc_User_Temp CALC_USER_T
FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T
WHERE CALC_USER_T.GUID = a_guid
LIMIT 1
;
@@ -1068,7 +1068,7 @@ BEGIN
;
END IF;
CALL parts.p_dog_clear_calc_user(
CALL fetchmetrics.p_dog_clear_calc_user(
a_guid
, 0 -- a_debug
);
@@ -1081,7 +1081,7 @@ BEGIN
SELECT * FROM tmp_Assessment_Response_Calc_Assessment_Response;
END IF;
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF a_debug = 1 THEN
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response;
SELECT * FROM tmp_Response_Quality_Metric_Calc_Assessment_Response;
@@ -1102,7 +1102,7 @@ BEGIN
-- Outputs
START TRANSACTION;
-- Assessment_Responses
INSERT INTO parts.DOG_Assessment_Response_Temp (
INSERT INTO fetchmetrics.DOG_Assessment_Response_Temp (
guid
, id_response
, id_assessment_command_modality_link
@@ -1127,7 +1127,7 @@ BEGIN
, t_ASSESSMENT_RESPONSE.does_meet_id_filters
, t_ASSESSMENT_RESPONSE.does_meet_non_id_filters
FROM parts.DOG_Assessment_Response ASSESSMENT_RESPONSE
FROM fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE
INNER JOIN tmp_Assessment_Response_Calc_Assessment_Response t_ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.id_response = t_ASSESSMENT_RESPONSE.id_response
;
COMMIT;
@@ -1145,7 +1145,7 @@ BEGIN
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
END IF;
@@ -1156,17 +1156,17 @@ BEGIN
SELECT * FROM tmp_Assessment_Response_Calc_Assessment_Response;
END IF;
CALL parts.p_dog_clear_calc_assessment_command_modality_link (
CALL fetchmetrics.p_dog_clear_calc_assessment_command_modality_link (
a_guid
, 0 -- a_debug
);
CALL parts.p_dog_clear_calc_response_quality_metric (
CALL fetchmetrics.p_dog_clear_calc_response_quality_metric (
a_guid
, 0 -- a_debug
);
CALL parts.p_dog_clear_calc_obedience_level (
CALL fetchmetrics.p_dog_clear_calc_obedience_level (
a_guid
, 0 -- a_debug
);
@@ -1180,7 +1180,7 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response;
IF a_debug = 1 THEN
CALL parts.p_core_debug_timing_reporting ( v_time_start );
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;
@@ -1188,7 +1188,7 @@ DELIMITER ;
/*
CALL parts.p_dog_calc_assessment_response (
CALL fetchmetrics.p_dog_calc_assessment_response (
'slippery ' -- a_guid
, 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
, 1 -- a_get_all_assessment_response
@@ -1271,14 +1271,14 @@ CALL parts.p_dog_calc_assessment_response (
);
SELECT *
FROM parts.DOG_Assessment_Response_Temp
FROM fetchmetrics.DOG_Assessment_Response_Temp
;
CALL parts.p_dog_clear_calc_assessment_response (
CALL fetchmetrics.p_dog_clear_calc_assessment_response (
'slippery ' -- a_guid
, 1 -- debug
);
-- DELETE FROM parts.DOG_Assessment_Response_Temp;
-- DELETE FROM fetchmetrics.DOG_Assessment_Response_Temp;
*/