Feat(SQL, UI): 1. Calc and Get Many Stored Procedures created for Weather, Lighting Level, Assessment, Distraction Type, Distraction Intensity Level, Distraction, Bribe, Assessment Command Modality Link, Response Quality Metric, Obedience Level, and Assessment Response. \n 2. Assessments and Assessment pages created with data loading and hooked up, but not saving.
This commit is contained in:
@@ -1,15 +1,389 @@
|
||||
https://www.molly.teddy.org.uk/login_callback, http://www.molly.teddy.org.uk/login_callback
|
||||
, https://molly.teddy.org.uk/login_callback, http://molly.teddy.org.uk/login_callback
|
||||
, https://www.fetch-metrics.co.uk/login_callback, http://www.fetch-metrics.co.uk/login_callback
|
||||
, https://fetch-metrics.co.uk/login_callback, http://fetch-metrics.co.uk/login_callback
|
||||
, https://www.fetch-metrics.com/login_callback, http://www.fetch-metrics.com/login_callback
|
||||
, https://fetch-metrics.com/login_callback, http://fetch-metrics.com/login_callback
|
||||
, http://127.0.0.1:5000/login_callback
|
||||
|
||||
USE demo;
|
||||
|
||||
http://www.molly.teddy.org.uk/, https://www.molly.teddy.org.uk/,
|
||||
http://molly.teddy.org.uk/, https://molly.teddy.org.uk/,
|
||||
http://www.molly.teddy.org.uk/logout, https://www.molly.teddy.org.uk/logout,
|
||||
http://molly.teddy.org.uk/logout, https://molly.teddy.org.uk/logout,
|
||||
http://www.molly.teddy.org.uk/logout_callback, https://www.molly.teddy.org.uk/logout_callback,
|
||||
http://molly.teddy.org.uk/logout_callback, https://molly.teddy.org.uk/logout_callback,
|
||||
http://127.0.0.1:5000/logout, http://127.0.0.1:5000/logout_callback
|
||||
DROP PROCEDURE IF EXISTS demo.p_dog_get_many_response_quality_metric;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE demo.p_dog_get_many_response_quality_metric (
|
||||
IN a_id_user INT
|
||||
, IN a_get_all_response_quality_metric BIT
|
||||
, IN a_get_inactive_response_quality_metric BIT
|
||||
, IN a_ids_response_quality_metric TEXT
|
||||
, IN a_names_response_quality_metric TEXT
|
||||
, IN a_require_all_id_search_filters_met BIT
|
||||
, IN a_require_any_id_search_filters_met BIT
|
||||
, IN a_require_all_non_id_search_filters_met BIT
|
||||
, IN a_require_any_non_id_search_filters_met BIT
|
||||
, IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
DECLARE v_can_view BIT;
|
||||
DECLARE v_code_type_error_bad_data VARCHAR(100);
|
||||
DECLARE v_code_type_error_no_permission VARCHAR(100);
|
||||
DECLARE v_guid BINARY(36);
|
||||
DECLARE v_id_access_level_view INT;
|
||||
DECLARE v_id_minimum INT;
|
||||
DECLARE v_id_permission_dog_view INT;
|
||||
DECLARE v_id_type_error_bad_data INT;
|
||||
DECLARE v_id_type_error_no_permission INT;
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
|
||||
DECLARE exit handler for SQLEXCEPTION
|
||||
BEGIN
|
||||
GET DIAGNOSTICS CONDITION 1
|
||||
@sqlstate = RETURNED_SQLSTATE
|
||||
, @errno = MYSQL_ERRNO
|
||||
, @text = MESSAGE_TEXT
|
||||
;
|
||||
|
||||
ROLLBACK;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM demo.CORE_Msg_Error_Type MET
|
||||
WHERE MET.code = 'MYSQL_ERROR'
|
||||
;
|
||||
|
||||
SELECT
|
||||
t_ERROR.id_error
|
||||
, t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
END;
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_guid := UUID();
|
||||
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 demo.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 demo.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 demo.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM demo.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
/*
|
||||
SET a_get_all_response_quality_metric := IFNULL(a_get_all_response_quality_metric, 0);
|
||||
SET a_get_inactive_response_quality_metric := IFNULL(a_get_inactive_response_quality_metric, 0);
|
||||
SET a_ids_response_quality_metric := TRIM(IFNULL(a_ids_response_quality_metric, ''));
|
||||
SET a_names_response_quality_metric := TRIM(IFNULL(a_names_response_quality_metric, ''));
|
||||
SET a_require_all_id_search_filters_met := IFNULL(a_require_all_id_search_filters_met, 1);
|
||||
SET a_require_any_id_search_filters_met := IFNULL(a_require_any_id_search_filters_met, 1);
|
||||
SET a_require_all_non_id_search_filters_met := IFNULL(a_require_all_non_id_search_filters_met, 0);
|
||||
SET a_require_any_non_id_search_filters_met := IFNULL(a_require_any_non_id_search_filters_met, 1);
|
||||
*/
|
||||
SET a_debug := IFNULL(a_debug, 0);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_id_user
|
||||
, a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric
|
||||
, a_ids_response_quality_metric
|
||||
, a_names_response_quality_metric
|
||||
, a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met
|
||||
, a_require_any_non_id_search_filters_met
|
||||
, a_debug
|
||||
;
|
||||
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_id_type_error_no_permission
|
||||
, v_guid
|
||||
, v_id_permission_dog_view
|
||||
, v_time_start
|
||||
;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Response_Quality_Metric;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Response_Quality_Metric (
|
||||
id_metric INT NOT NULL
|
||||
, id_unit_measurement INT
|
||||
, code VARCHAR(250)
|
||||
, name VARCHAR(250)
|
||||
, value_min DOUBLE
|
||||
, value_max DOUBLE
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
-- Permissions
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
v_guid
|
||||
, 0 -- get_all_user
|
||||
, 0 -- get_inactive_user
|
||||
, a_id_user -- ids_user
|
||||
, '' -- a_auth0_ids_user
|
||||
, '' -- a_names_user
|
||||
, '' -- a_emails_user
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met
|
||||
, v_id_permission_dog_view -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL demo.p_dog_calc_user(
|
||||
v_guid
|
||||
, 0 -- get_all_user
|
||||
, 0 -- get_inactive_user
|
||||
, a_id_user -- ids_user
|
||||
, '' -- a_auth0_ids_user
|
||||
, '' -- a_names_user
|
||||
, '' -- a_emails_user
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met
|
||||
, v_id_permission_dog_view -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
SELECT
|
||||
IFNULL(CALC_USER_T.has_access, 0)
|
||||
INTO
|
||||
v_can_view
|
||||
FROM demo.DOG_Calc_User_Temp CALC_USER_T
|
||||
WHERE CALC_USER_T.GUID = v_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT v_can_view;
|
||||
SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR;
|
||||
SELECT * FROM tmp_Msg_Error t_ERROR;
|
||||
END IF;
|
||||
|
||||
IF (v_can_view = 0) THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to view RESPONSE_QUALITY_METRIC.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL demo.p_dog_clear_calc_user(
|
||||
v_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
|
||||
-- Call Response_Quality_Metric Calc
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN demo.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
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_response_quality_metric -- a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric -- a_get_inactive_response_quality_metric
|
||||
, a_ids_response_quality_metric -- a_ids_response_quality_metric
|
||||
, a_names_response_quality_metric -- a_names_response_quality_metric
|
||||
, a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met -- a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met -- a_require_all_non_id_search_filters_met
|
||||
, a_require_any_non_id_search_filters_met -- a_require_any_non_id_search_filters_met
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL demo.p_dog_calc_response_quality_metric (
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_response_quality_metric -- a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric -- a_get_inactive_response_quality_metric
|
||||
, a_ids_response_quality_metric -- a_ids_response_quality_metric
|
||||
, a_names_response_quality_metric -- a_names_response_quality_metric
|
||||
, a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met -- a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met -- a_require_all_non_id_search_filters_met
|
||||
, a_require_any_non_id_search_filters_met -- a_require_any_non_id_search_filters_met
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM demo.DOG_Response_Quality_Metric_Temp;
|
||||
SELECT * FROM demo.DOG_Response_Quality_Metric_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Response_Quality_Metric (
|
||||
id_metric
|
||||
, id_unit_measurement
|
||||
, code
|
||||
, name
|
||||
, value_min
|
||||
, value_max
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
RESPONSE_QUALITY_METRIC_T.id_metric
|
||||
, RESPONSE_QUALITY_METRIC_T.id_unit_measurement
|
||||
, RESPONSE_QUALITY_METRIC_T.code
|
||||
, RESPONSE_QUALITY_METRIC_T.name
|
||||
, RESPONSE_QUALITY_METRIC_T.value_min
|
||||
, RESPONSE_QUALITY_METRIC_T.value_max
|
||||
, RESPONSE_QUALITY_METRIC_T.active
|
||||
|
||||
, RESPONSE_QUALITY_METRIC_T.does_meet_id_filters
|
||||
, RESPONSE_QUALITY_METRIC_T.does_meet_non_id_filters
|
||||
FROM demo.DOG_Response_Quality_Metric_Temp RESPONSE_QUALITY_METRIC_T
|
||||
WHERE RESPONSE_QUALITY_METRIC_T.GUID = v_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Response_Quality_Metric;
|
||||
SELECT * FROM tmp_Response_Quality_Metric;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Filter outputs
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN demo.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_Response_Quality_Metric;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Response_Quality_Metric;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Outputs
|
||||
-- RESPONSE_QUALITY_METRIC
|
||||
SELECT
|
||||
t_RESPONSE_QUALITY_METRIC.id_metric
|
||||
, t_RESPONSE_QUALITY_METRIC.id_unit_measurement
|
||||
, UNIT_MEASUREMENT.name_singular AS name_singular_unit_measurement
|
||||
, UNIT_MEASUREMENT.name_plural AS name_plural_unit_measurement
|
||||
, UNIT_MEASUREMENT.symbol AS symbol_unit_measurement
|
||||
, t_RESPONSE_QUALITY_METRIC.code
|
||||
, t_RESPONSE_QUALITY_METRIC.name
|
||||
, t_RESPONSE_QUALITY_METRIC.value_min
|
||||
, t_RESPONSE_QUALITY_METRIC.value_max
|
||||
, t_RESPONSE_QUALITY_METRIC.active
|
||||
|
||||
, t_RESPONSE_QUALITY_METRIC.does_meet_id_filters
|
||||
, t_RESPONSE_QUALITY_METRIC.does_meet_non_id_filters
|
||||
FROM tmp_Response_Quality_Metric t_RESPONSE_QUALITY_METRIC
|
||||
LEFT JOIN demo.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_RESPONSE_QUALITY_METRIC.id_metric = RESPONSE_QUALITY_METRIC.id_metric
|
||||
LEFT JOIN demo.DOG_Unit_Measurement UNIT_MEASUREMENT ON t_RESPONSE_QUALITY_METRIC.id_unit_measurement = UNIT_MEASUREMENT.id_unit_measurement
|
||||
ORDER BY t_RESPONSE_QUALITY_METRIC.name
|
||||
;
|
||||
|
||||
-- Errors
|
||||
SELECT
|
||||
t_ERROR.id_error
|
||||
, t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
IF a_debug = 1 AND v_can_view = 1 THEN
|
||||
SELECT * FROM tmp_Response_Quality_Metric;
|
||||
END IF;
|
||||
|
||||
CALL demo.p_dog_clear_calc_response_quality_metric(
|
||||
v_guid -- a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Response_Quality_Metric;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL demo.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL demo.p_dog_get_many_response_quality_metric (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_response_quality_metric
|
||||
, 0 -- a_get_inactive_response_quality_metric
|
||||
, '' -- a_ids_response_quality_metric
|
||||
, '' -- a_names_response_quality_metric
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 1 -- a_require_any_non_id_search_filters_met
|
||||
, 1 -- a_debug
|
||||
);
|
||||
|
||||
|
||||
CALL demo.p_dog_get_many_response_quality_metric (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_response_quality_metric
|
||||
, 0 -- a_get_inactive_response_quality_metric
|
||||
, '' -- a_ids_response_quality_metric
|
||||
, 'pat,point' -- a_names_response_quality_metric
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 1 -- a_require_any_non_id_search_filters_met
|
||||
, 1 -- a_debug
|
||||
);
|
||||
|
||||
*/
|
||||
@@ -12,8 +12,8 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS DOG_Unit_Measurement (
|
||||
id_unit_measurement INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, name_singular VARCHAR(255) NOT NULL
|
||||
, name_plural VARCHAR(256) NOT NULL
|
||||
, name_singular VARCHAR(250) NOT NULL
|
||||
, name_plural VARCHAR(250) NOT NULL
|
||||
, symbol VARCHAR(50) NOT NULL
|
||||
, symbol_is_suffix_not_prefix BIT NOT NULL DEFAULT 1
|
||||
, is_base_unit BIT NOT NULL DEFAULT 0
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
|
||||
USE parts;
|
||||
|
||||
DROP TABLE IF EXISTS parts.DOG_Distraction_Temp;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
@@ -14,6 +16,7 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Temp (
|
||||
, id_assessment INT
|
||||
, id_distraction_type INT
|
||||
, id_intensity_level_emotional INT
|
||||
, id_intensity_level_scent INT
|
||||
, id_intensity_level_sight INT
|
||||
, id_intensity_level_sound INT
|
||||
, id_intensity_level_touch INT
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
|
||||
USE parts;
|
||||
|
||||
-- DROP TABLE IF EXISTS parts.DOG_Assessment_Response_Temp;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
@@ -10,6 +12,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Response_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_response INT
|
||||
, id_assessment_command_modality_link INT
|
||||
, id_response_quality_metric INT
|
||||
, id_obedience_level INT
|
||||
|
||||
@@ -68,8 +68,8 @@ BEGIN
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_lighting_level
|
||||
, ERROR_TYPE.text_lighting_level
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error_Calc_Lighting_Level t_ERROR
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
@@ -481,8 +481,8 @@ BEGIN
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_lighting_level
|
||||
, ERROR_TYPE.text_lighting_level
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error_Calc_Lighting_Level t_ERROR
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
|
||||
@@ -65,8 +65,8 @@ BEGIN
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_lighting_level
|
||||
, ERROR_TYPE.text_lighting_level
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
@@ -317,8 +317,8 @@ BEGIN
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_lighting_level
|
||||
, ERROR_TYPE.text_lighting_level
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
|
||||
@@ -163,6 +163,7 @@ BEGIN
|
||||
, id_user_handler INT
|
||||
, notes TEXT
|
||||
, temperature_celcius DECIMAL(5, 2)
|
||||
-- , difficulty_level FLOAT
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
@@ -340,6 +341,7 @@ BEGIN
|
||||
, id_user_handler
|
||||
, notes
|
||||
, temperature_celcius
|
||||
-- , difficulty_level
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
@@ -352,6 +354,7 @@ BEGIN
|
||||
, ASSESSMENT_T.id_user_handler
|
||||
, ASSESSMENT_T.notes
|
||||
, ASSESSMENT_T.temperature_celcius
|
||||
-- , ASSESSMENT_T.difficulty_level
|
||||
, ASSESSMENT_T.active
|
||||
|
||||
, ASSESSMENT_T.does_meet_id_filters
|
||||
@@ -391,6 +394,7 @@ BEGIN
|
||||
, USER.surname AS surname_user_handler
|
||||
, t_ASSESSMENT.notes
|
||||
, t_ASSESSMENT.temperature_celcius
|
||||
-- , t_ASSESSMENT.difficulty_level
|
||||
, t_ASSESSMENT.active
|
||||
|
||||
, t_ASSESSMENT.does_meet_id_filters
|
||||
|
||||
693
static/MySQL/71310_p_dog_save_dog_assessment.sql
Normal file
693
static/MySQL/71310_p_dog_save_dog_assessment.sql
Normal file
@@ -0,0 +1,693 @@
|
||||
|
||||
USE parts;
|
||||
|
||||
DROP PROCEDURE IF EXISTS parts.p_dog_save_dog_command_link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE parts.p_dog_save_dog_command_link (
|
||||
IN a_comment VARCHAR(500),
|
||||
IN a_guid BINARY(36),
|
||||
IN a_id_user INT,
|
||||
IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
DECLARE v_can_admin BIT;
|
||||
DECLARE v_can_create BIT;
|
||||
DECLARE v_code_type_error_bad_data VARCHAR(100);
|
||||
DECLARE v_id_access_level_edit INT;
|
||||
DECLARE v_id_change_set INT;
|
||||
DECLARE v_id_permission_dog_new INT;
|
||||
DECLARE v_id_type_error_bad_data INT;
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
|
||||
DECLARE exit handler for SQLEXCEPTION
|
||||
BEGIN
|
||||
GET DIAGNOSTICS CONDITION 1
|
||||
@sqlstate = RETURNED_SQLSTATE
|
||||
, @errno = MYSQL_ERRNO
|
||||
, @text = MESSAGE_TEXT
|
||||
;
|
||||
|
||||
ROLLBACK;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM parts.CORE_Msg_Error_Type MET
|
||||
WHERE MET.code = 'MYSQL_ERROR'
|
||||
;
|
||||
|
||||
SELECT
|
||||
t_ERROR.id_error
|
||||
, t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
END;
|
||||
|
||||
SET SESSION group_concat_max_len=15000;
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
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_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL parts.p_core_validate_guid ( a_guid );
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Dog_Command_Link_Copy;
|
||||
DROP TABLE IF EXISTS tmp_Dog_Command_Link;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Dog_Command_Link (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_dog INT
|
||||
, id_command INT
|
||||
, hand_signal_description TEXT
|
||||
, notes TEXT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
, name_error VARCHAR(250)
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Dog_Command_Link_Copy (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_dog INT
|
||||
, id_command INT
|
||||
, hand_signal_description TEXT
|
||||
, notes TEXT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
, name_error VARCHAR(250)
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- Get data from Temp table
|
||||
INSERT INTO tmp_Dog_Command_Link (
|
||||
id_temp
|
||||
, id_link
|
||||
, id_dog
|
||||
, id_command
|
||||
, hand_signal_description
|
||||
, notes
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
DOG_COMMAND_LINK_T.id_temp
|
||||
, COALESCE(DOG_COMMAND_LINK.id_link, DOG_COMMAND_LINK_T.id_link)
|
||||
, COALESCE(
|
||||
DOG_COMMAND_LINK_T.id_dog
|
||||
, DOG_COMMAND_LINK.id_dog
|
||||
) AS id_dog
|
||||
, COALESCE(
|
||||
DOG_COMMAND_LINK_T.id_command
|
||||
, DOG_COMMAND_LINK.id_command
|
||||
) AS id_command
|
||||
/*
|
||||
, NULLIF(
|
||||
COALESCE(
|
||||
DOG_COMMAND_LINK_T.hand_signal_description
|
||||
, DOG_COMMAND_LINK.hand_signal_description
|
||||
)
|
||||
, ''
|
||||
) AS hand_signal_description
|
||||
, NULLIF(
|
||||
COALESCE(
|
||||
DOG_COMMAND_LINK_T.notes
|
||||
, DOG_COMMAND_LINK.notes
|
||||
)
|
||||
, ''
|
||||
) AS notes
|
||||
*/
|
||||
, COALESCE(
|
||||
DOG_COMMAND_LINK_T.hand_signal_description
|
||||
, DOG_COMMAND_LINK.hand_signal_description
|
||||
) AS hand_signal_description
|
||||
, COALESCE(
|
||||
DOG_COMMAND_LINK_T.notes
|
||||
, DOG_COMMAND_LINK.notes
|
||||
) AS notes
|
||||
, COALESCE(DOG_COMMAND_LINK_T.active, 1) AS active
|
||||
, CASE WHEN COALESCE(DOG_COMMAND_LINK.id_link, DOG_COMMAND_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM parts.DOG_Dog_Command_Link_Temp DOG_COMMAND_LINK_T
|
||||
LEFT JOIN parts.DOG_Dog_Command_Link DOG_COMMAND_LINK
|
||||
ON DOG_COMMAND_LINK_T.id_link = DOG_COMMAND_LINK.id_link
|
||||
OR (
|
||||
DOG_COMMAND_LINK_T.id_dog = DOG_COMMAND_LINK.id_dog
|
||||
AND DOG_COMMAND_LINK_T.id_command = DOG_COMMAND_LINK.id_command
|
||||
AND (
|
||||
DOG_COMMAND_LINK.hand_signal_description IS NULL
|
||||
OR DOG_COMMAND_LINK_T.hand_signal_description <=> DOG_COMMAND_LINK.hand_signal_description
|
||||
)
|
||||
AND (
|
||||
DOG_COMMAND_LINK.notes IS NULL
|
||||
OR DOG_COMMAND_LINK_T.notes <=> DOG_COMMAND_LINK.notes
|
||||
)
|
||||
)
|
||||
WHERE DOG_COMMAND_LINK_T.guid = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Dog_Command_Link_Temp records';
|
||||
SELECT * FROM tmp_Dog_Command_Link;
|
||||
SELECT COUNT(*) FROM tmp_Dog_Command_Link;
|
||||
END IF;
|
||||
|
||||
-- Error names
|
||||
UPDATE tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
LEFT JOIN parts.DOG_Dog DOG ON t_DOG_COMMAND_LINK.id_dog = DOG.id_dog
|
||||
LEFT JOIN parts.DOG_Command COMMAND ON t_DOG_COMMAND_LINK.id_command = COMMAND.id_command
|
||||
SET t_DOG_COMMAND_LINK.name_error = CASE WHEN
|
||||
ISNULL(DOG.id_dog)
|
||||
AND ISNULL(COMMAND.id_command)
|
||||
THEN COALESCE(t_DOG_COMMAND_LINK.hand_signal_description, t_DOG_COMMAND_LINK.notes, '(No Dog Command Link)')
|
||||
ELSE CONCAT(
|
||||
COALESCE(DOG.name, t_DOG_COMMAND_LINK.id_dog, '(No Dog)')
|
||||
, ' - '
|
||||
, COALESCE(COMMAND.name, t_DOG_COMMAND_LINK.id_command, '(No Command)')
|
||||
) END
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After set name_error';
|
||||
SELECT * FROM tmp_Dog_Command_Link;
|
||||
SELECT COUNT(*) FROM tmp_Dog_Command_Link;
|
||||
END IF;
|
||||
|
||||
/*
|
||||
-- Missing Dog Command Link Ids
|
||||
UPDATE tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
LEFT JOIN parts.DOG_Dog_Command_Link DOG_COMMAND_LINK
|
||||
-- ON t_DOG_COMMAND_LINK.id_link = DOG_COMMAND_LINK.id_link
|
||||
ON t_DOG_COMMAND_LINK.id_dog = DOG_COMMAND_LINK.id_dog
|
||||
AND t_DOG_COMMAND_LINK.id_command = DOG_COMMAND_LINK.id_command
|
||||
SET
|
||||
t_DOG_COMMAND_LINK.id_link = DOG_COMMAND_LINK.id_link
|
||||
, t_DOG_COMMAND_LINK.is_new = 0
|
||||
WHERE
|
||||
IFNULL(t_DOG_COMMAND_LINK.id_link, 0) < 1
|
||||
AND NOT ISNULL(DOG_COMMAND_LINK.id_link)
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After set missing id_link';
|
||||
SELECT * FROM tmp_Dog_Command_Link;
|
||||
SELECT COUNT(*) FROM tmp_Dog_Command_Link;
|
||||
END IF;
|
||||
*/
|
||||
|
||||
-- Validation
|
||||
-- Missing mandatory fields
|
||||
-- id_dog
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
LEFT JOIN demo.DOG_Dog DOG ON t_DOG_COMMAND_LINK.id_dog = DOG.id_dog
|
||||
WHERE
|
||||
ISNULL(t_DOG_COMMAND_LINK.id_dog)
|
||||
OR ISNULL(DOG.id_dog)
|
||||
OR DOG.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog Command Link(s) do not have a valid Dog: ', GROUP_CONCAT(t_DOG_COMMAND_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
LEFT JOIN parts.DOG_Dog DOG ON t_DOG_COMMAND_LINK.id_dog = DOG.id_dog
|
||||
WHERE
|
||||
ISNULL(t_DOG_COMMAND_LINK.id_dog)
|
||||
OR ISNULL(DOG.id_dog)
|
||||
OR DOG.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_command
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
LEFT JOIN demo.DOG_Command COMMAND ON t_DOG_COMMAND_LINK.id_command = COMMAND.id_command
|
||||
WHERE
|
||||
ISNULL(t_DOG_COMMAND_LINK.id_command)
|
||||
OR ISNULL(COMMAND.id_command)
|
||||
OR COMMAND.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog Command Link(s) do not have a valid Command: ', GROUP_CONCAT(t_DOG_COMMAND_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
LEFT JOIN parts.DOG_Command COMMAND ON t_DOG_COMMAND_LINK.id_command = COMMAND.id_command
|
||||
WHERE
|
||||
ISNULL(t_DOG_COMMAND_LINK.id_command)
|
||||
OR ISNULL(COMMAND.id_command)
|
||||
OR COMMAND.active = 0
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Duplicates
|
||||
INSERT INTO tmp_Dog_Command_Link_Copy (
|
||||
id_temp
|
||||
, id_link
|
||||
, id_dog
|
||||
, id_command
|
||||
, hand_signal_description
|
||||
, notes
|
||||
, active
|
||||
, is_new
|
||||
, name_error
|
||||
)
|
||||
SELECT
|
||||
t_DOG_COMMAND_LINK.id_temp
|
||||
, t_DOG_COMMAND_LINK.id_link
|
||||
, t_DOG_COMMAND_LINK.id_dog
|
||||
, t_DOG_COMMAND_LINK.id_command
|
||||
, t_DOG_COMMAND_LINK.hand_signal_description
|
||||
, t_DOG_COMMAND_LINK.notes
|
||||
, t_DOG_COMMAND_LINK.active
|
||||
, t_DOG_COMMAND_LINK.is_new
|
||||
, t_DOG_COMMAND_LINK.name_error
|
||||
FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) AS Count_Temp_Link FROM tmp_Dog_Command_Link;
|
||||
SELECT COUNT(*) AS Count_Temp_Link_Copy FROM tmp_Dog_Command_Link_Copy;
|
||||
|
||||
WITH
|
||||
Combined_Links AS (
|
||||
SELECT
|
||||
DOG_COMMAND_LINK.id_link
|
||||
, DOG_COMMAND_LINK.id_dog
|
||||
, DOG_COMMAND_LINK.id_command
|
||||
, IFNULL(
|
||||
t_DOG_COMMAND_LINK_COPY.name_error
|
||||
, CONCAT(
|
||||
COALESCE(DOG.name, t_DOG_COMMAND_LINK_COPY.id_dog, '(No Dog)')
|
||||
, ' - '
|
||||
, COALESCE(COMMAND.name, t_DOG_COMMAND_LINK_COPY.id_command, '(No Command)')
|
||||
)
|
||||
) AS name_error
|
||||
FROM parts.DOG_Dog_Command_Link DOG_COMMAND_LINK
|
||||
LEFT JOIN tmp_Dog_Command_Link_Copy t_DOG_COMMAND_LINK_COPY
|
||||
ON DOG_COMMAND_LINK.id_dog = t_DOG_COMMAND_LINK_COPY.id_dog
|
||||
AND DOG_COMMAND_LINK.id_command = t_DOG_COMMAND_LINK_COPY.id_command
|
||||
INNER JOIN parts.DOG_Dog DOG ON DOG_COMMAND_LINK.id_dog = DOG.id_dog
|
||||
INNER JOIN parts.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command
|
||||
WHERE t_DOG_COMMAND_LINK_COPY.is_new = 1
|
||||
UNION
|
||||
SELECT
|
||||
t_DOG_COMMAND_LINK.id_link
|
||||
, t_DOG_COMMAND_LINK.id_dog
|
||||
, t_DOG_COMMAND_LINK.id_command
|
||||
, t_DOG_COMMAND_LINK.name_error
|
||||
FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
)
|
||||
, Duplicate_Link_Row_Numbers AS (
|
||||
SELECT
|
||||
COMBINED_LINK.id_link
|
||||
, COMBINED_LINK.id_dog
|
||||
, COMBINED_LINK.id_command
|
||||
, COMBINED_LINK.name_error
|
||||
, ROW_NUMBER() OVER (PARTITION BY COMBINED_LINK.id_dog, COMBINED_LINK.id_command ORDER BY COMBINED_LINK.name_error ASC) AS index_link_as_duplicate
|
||||
FROM Combined_Links COMBINED_LINK
|
||||
)
|
||||
SELECT *
|
||||
FROM Duplicate_Link_Row_Numbers;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (
|
||||
WITH
|
||||
Combined_Links AS (
|
||||
SELECT
|
||||
DOG_COMMAND_LINK.id_link
|
||||
, DOG_COMMAND_LINK.id_dog
|
||||
, DOG_COMMAND_LINK.id_command
|
||||
, IFNULL(
|
||||
t_DOG_COMMAND_LINK_COPY.name_error
|
||||
, CONCAT(
|
||||
COALESCE(DOG.name, t_DOG_COMMAND_LINK_COPY.id_dog, '(No Dog)')
|
||||
, ' - '
|
||||
, COALESCE(COMMAND.name, t_DOG_COMMAND_LINK_COPY.id_command, '(No Command)')
|
||||
)
|
||||
) AS name_error
|
||||
FROM parts.DOG_Dog_Command_Link DOG_COMMAND_LINK
|
||||
LEFT JOIN tmp_Dog_Command_Link_Copy t_DOG_COMMAND_LINK_COPY
|
||||
ON DOG_COMMAND_LINK.id_dog = t_DOG_COMMAND_LINK_COPY.id_dog
|
||||
AND DOG_COMMAND_LINK.id_command = t_DOG_COMMAND_LINK_COPY.id_command
|
||||
INNER JOIN parts.DOG_Dog DOG ON DOG_COMMAND_LINK.id_dog = DOG.id_dog
|
||||
INNER JOIN parts.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command
|
||||
WHERE t_DOG_COMMAND_LINK_COPY.is_new = 1
|
||||
UNION
|
||||
SELECT
|
||||
t_DOG_COMMAND_LINK.id_link
|
||||
, t_DOG_COMMAND_LINK.id_dog
|
||||
, t_DOG_COMMAND_LINK.id_command
|
||||
, t_DOG_COMMAND_LINK.name_error
|
||||
FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
)
|
||||
, Duplicate_Link_Row_Numbers AS (
|
||||
SELECT
|
||||
COMBINED_LINK.id_link
|
||||
, COMBINED_LINK.id_dog
|
||||
, COMBINED_LINK.id_command
|
||||
, COMBINED_LINK.name_error
|
||||
, ROW_NUMBER() OVER (PARTITION BY COMBINED_LINK.id_dog, COMBINED_LINK.id_command ORDER BY COMBINED_LINK.name_error ASC) AS index_link_as_duplicate
|
||||
FROM Combined_Links COMBINED_LINK
|
||||
)
|
||||
SELECT *
|
||||
FROM Duplicate_Link_Row_Numbers DUPLICATE_LINK
|
||||
WHERE DUPLICATE_LINK.index_link_as_duplicate > 1
|
||||
GROUP BY DUPLICATE_LINK.id_dog, DUPLICATE_LINK.id_command
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
WITH
|
||||
Combined_Links AS (
|
||||
SELECT
|
||||
DOG_COMMAND_LINK.id_link
|
||||
, DOG_COMMAND_LINK.id_dog
|
||||
, DOG_COMMAND_LINK.id_command
|
||||
, IFNULL(
|
||||
t_DOG_COMMAND_LINK_COPY.name_error
|
||||
, CONCAT(
|
||||
COALESCE(DOG.name, t_DOG_COMMAND_LINK_COPY.id_dog, '(No Dog)')
|
||||
, ' - '
|
||||
, COALESCE(COMMAND.name, t_DOG_COMMAND_LINK_COPY.id_command, '(No Command)')
|
||||
)
|
||||
) AS name_error
|
||||
FROM parts.DOG_Dog_Command_Link DOG_COMMAND_LINK
|
||||
LEFT JOIN tmp_Dog_Command_Link_Copy t_DOG_COMMAND_LINK_COPY
|
||||
ON DOG_COMMAND_LINK.id_dog = t_DOG_COMMAND_LINK_COPY.id_dog
|
||||
AND DOG_COMMAND_LINK.id_command = t_DOG_COMMAND_LINK_COPY.id_command
|
||||
INNER JOIN parts.DOG_Dog DOG ON DOG_COMMAND_LINK.id_dog = DOG.id_dog
|
||||
INNER JOIN parts.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command
|
||||
WHERE t_DOG_COMMAND_LINK_COPY.is_new = 1
|
||||
UNION
|
||||
SELECT
|
||||
t_DOG_COMMAND_LINK.id_link
|
||||
, t_DOG_COMMAND_LINK.id_dog
|
||||
, t_DOG_COMMAND_LINK.id_command
|
||||
, t_DOG_COMMAND_LINK.name_error
|
||||
FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
)
|
||||
, Duplicate_Link_Row_Numbers AS (
|
||||
SELECT
|
||||
COMBINED_LINK.id_link
|
||||
, COMBINED_LINK.id_dog
|
||||
, COMBINED_LINK.id_command
|
||||
, COMBINED_LINK.name_error
|
||||
, ROW_NUMBER() OVER (PARTITION BY COMBINED_LINK.id_dog, COMBINED_LINK.id_command ORDER BY COMBINED_LINK.name_error ASC) AS index_link_as_duplicate
|
||||
FROM Combined_Links COMBINED_LINK
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('Attempt to create duplicate or overwrite existing Dog Command Links on: ', GROUP_CONCAT(DUPLICATE_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM Duplicate_Link_Row_Numbers DUPLICATE_LINK
|
||||
WHERE DUPLICATE_LINK.index_link_as_duplicate > 1
|
||||
GROUP BY
|
||||
DUPLICATE_LINK.id_dog
|
||||
, DUPLICATE_LINK.id_command
|
||||
;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Permissions
|
||||
-- Can Create
|
||||
CALL parts.p_dog_calc_user(
|
||||
a_guid
|
||||
, 0 -- get_all_user
|
||||
, 0 -- get_inactive_user
|
||||
, a_id_user -- ids_user
|
||||
, '' -- a_auth0_ids_user
|
||||
, '' -- a_names_user
|
||||
, '' -- a_emails_user
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met
|
||||
, v_id_permission_dog_new -- ids_permission
|
||||
, v_id_access_level_edit -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
SELECT
|
||||
IFNULL(CU_T.has_access, 0)
|
||||
INTO
|
||||
v_can_create
|
||||
FROM parts.DOG_Calc_User_Temp CU_T
|
||||
WHERE CU_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
CALL parts.p_dog_clear_calc_user(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF v_can_create = 0 THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to edit Commands.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error 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 a_debug = 1 THEN
|
||||
SELECT * from tmp_Dog_Command_Link;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Dog_Command_Link;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error 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
|
||||
START TRANSACTION;
|
||||
|
||||
INSERT INTO parts.DOG_Dog_Change_Set (
|
||||
comment
|
||||
, id_user_updated_last_by
|
||||
, updated_last_on
|
||||
)
|
||||
VALUES (
|
||||
a_comment
|
||||
, a_id_user
|
||||
, v_time_start
|
||||
)
|
||||
;
|
||||
|
||||
SET v_id_change_set := LAST_INSERT_ID();
|
||||
|
||||
UPDATE parts.DOG_Dog_Command_Link DOG_COMMAND_LINK
|
||||
INNER JOIN tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
ON DOG_COMMAND_LINK.id_link = t_DOG_COMMAND_LINK.id_link
|
||||
AND t_DOG_COMMAND_LINK.is_new = 0
|
||||
SET
|
||||
DOG_COMMAND_LINK.id_dog = t_DOG_COMMAND_LINK.id_dog
|
||||
, DOG_COMMAND_LINK.id_command = t_DOG_COMMAND_LINK.id_command
|
||||
, DOG_COMMAND_LINK.hand_signal_description = t_DOG_COMMAND_LINK.hand_signal_description
|
||||
, DOG_COMMAND_LINK.notes = t_DOG_COMMAND_LINK.notes
|
||||
, DOG_COMMAND_LINK.active = t_DOG_COMMAND_LINK.active
|
||||
, DOG_COMMAND_LINK.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO parts.DOG_Dog_Command_Link (
|
||||
id_dog
|
||||
, id_command
|
||||
, hand_signal_description
|
||||
, notes
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_DOG_COMMAND_LINK.id_dog AS id_dog
|
||||
, t_DOG_COMMAND_LINK.id_command AS id_command
|
||||
, t_DOG_COMMAND_LINK.hand_signal_description AS hand_signal_description
|
||||
, t_DOG_COMMAND_LINK.notes AS notes
|
||||
, t_DOG_COMMAND_LINK.active AS active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK
|
||||
WHERE
|
||||
t_DOG_COMMAND_LINK.is_new = 1
|
||||
AND t_DOG_COMMAND_LINK.active = 1
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE FROM parts.DOG_Dog_Command_Link_Temp
|
||||
WHERE GUID = a_guid
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- Errors
|
||||
SELECT
|
||||
t_ERROR.id_error
|
||||
, t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Dog_Command_Link;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE tmp_Dog_Command_Link;
|
||||
DROP TEMPORARY TABLE tmp_Msg_Error;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL parts.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
'ripplesipplenippletippledipplekipple'
|
||||
DELETE FROM parts.DOG_Dog_Command_Link WHERE id_link > 740;
|
||||
* /
|
||||
delete
|
||||
from parts.DOG_Dog_Command_Link_Audit
|
||||
where id_link > 768
|
||||
;
|
||||
delete
|
||||
from parts.DOG_Dog_Command_Link
|
||||
where id_link > 768
|
||||
;
|
||||
delete
|
||||
from parts.DOG_Dog_Command_Link_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from parts.DOG_Dog_Command_Link_Temp
|
||||
;
|
||||
select COUNT(*)
|
||||
from parts.DOG_Dog_Command_Link_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from parts.DOG_Dog_Command_Link
|
||||
;
|
||||
select COUNT(*)
|
||||
from parts.DOG_Dog_Command_Link
|
||||
;
|
||||
|
||||
INSERT INTO parts.DOG_Dog_Command_Link_Temp (
|
||||
id_link
|
||||
, id_dog
|
||||
, id_command
|
||||
, hand_signal_description
|
||||
, notes
|
||||
, active
|
||||
, guid
|
||||
)
|
||||
VALUES (
|
||||
-1 -- id_link
|
||||
, 1 -- id_dog
|
||||
, 1 -- id_command
|
||||
, 'Test deez noots' -- hand_signal_description
|
||||
, NULL -- notes
|
||||
, 1 -- active
|
||||
, 'ripplesipplenippletippledipplekipple'
|
||||
);
|
||||
|
||||
CALL parts.p_dog_save_dog_command_link (
|
||||
'nipples'
|
||||
, 'ripplesipplenippletippledipplekipple'
|
||||
, 1
|
||||
, 1
|
||||
);
|
||||
|
||||
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from parts.DOG_Dog_Command_Link_Temp
|
||||
;
|
||||
select COUNT(*)
|
||||
from parts.DOG_Dog_Command_Link_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from parts.DOG_Dog_Command_Link
|
||||
;
|
||||
select COUNT(*)
|
||||
from parts.DOG_Dog_Command_Link
|
||||
;
|
||||
|
||||
*/
|
||||
@@ -23,6 +23,10 @@ CREATE PROCEDURE parts.p_dog_calc_distraction (
|
||||
, IN a_get_inactive_intensity_level_emotional BIT
|
||||
, IN a_ids_intensity_level_emotional TEXT
|
||||
, IN a_names_intensity_level_emotional TEXT
|
||||
, IN a_get_all_intensity_level_scent BIT
|
||||
, IN a_get_inactive_intensity_level_scent BIT
|
||||
, IN a_ids_intensity_level_scent TEXT
|
||||
, IN a_names_intensity_level_scent TEXT
|
||||
, IN a_get_all_intensity_level_sight BIT
|
||||
, IN a_get_inactive_intensity_level_sight BIT
|
||||
, IN a_ids_intensity_level_sight TEXT
|
||||
@@ -180,6 +184,10 @@ BEGIN
|
||||
, a_get_inactive_intensity_level_emotional
|
||||
, a_ids_intensity_level_emotional
|
||||
, a_names_intensity_level_emotional
|
||||
, a_get_all_intensity_level_scent
|
||||
, a_get_inactive_intensity_level_scent
|
||||
, a_ids_intensity_level_scent
|
||||
, a_names_intensity_level_scent
|
||||
, a_get_all_intensity_level_sight
|
||||
, a_get_inactive_intensity_level_sight
|
||||
, a_ids_intensity_level_sight
|
||||
@@ -239,6 +247,7 @@ BEGIN
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Intensity_Level_Touch_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Intensity_Level_Sound_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Intensity_Level_Sight_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Intensity_Level_Scent_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Intensity_Level_Emotional_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Distraction_Type_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Calc_Distraction;
|
||||
@@ -274,6 +283,15 @@ BEGIN
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Intensity_Level_Scent_Calc_Distraction (
|
||||
id_intensity_level INT NOT NULL
|
||||
, code VARCHAR(250)
|
||||
, name VARCHAR(250)
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Intensity_Level_Sight_Calc_Distraction (
|
||||
id_intensity_level INT NOT NULL
|
||||
, code VARCHAR(250)
|
||||
@@ -306,6 +324,7 @@ BEGIN
|
||||
, id_assessment INT
|
||||
, id_distraction_type INT
|
||||
, id_intensity_level_emotional INT
|
||||
, id_intensity_level_scent INT
|
||||
, id_intensity_level_sight INT
|
||||
, id_intensity_level_sound INT
|
||||
, id_intensity_level_touch INT
|
||||
@@ -576,6 +595,71 @@ BEGIN
|
||||
);
|
||||
END IF;
|
||||
|
||||
-- Call Calc Intensity Level Scent
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction 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 a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_intensity_level_scent -- a_get_all_intensity_level_scent
|
||||
, a_get_inactive_intensity_level_scent -- a_get_inactive_intensity_level_scent
|
||||
, a_ids_intensity_level_scent -- a_ids_intensity_level_scent
|
||||
, a_names_intensity_level_scent -- a_names_intensity_level_scent
|
||||
, a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met
|
||||
, 0 -- a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL parts.p_dog_calc_distraction_intensity_level (
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_intensity_level_scent -- a_get_all_intensity_level_scent
|
||||
, a_get_inactive_intensity_level_scent -- a_get_inactive_intensity_level_scent
|
||||
, a_ids_intensity_level_scent -- a_ids_intensity_level_scent
|
||||
, a_names_intensity_level_scent -- a_names_intensity_level_scent
|
||||
, a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met
|
||||
, 0 -- a_require_any_id_search_filters_met -- a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met -- a_require_any_non_id_search_filters_met
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Intensity_Level_Scent_Calc_Distraction (
|
||||
id_intensity_level
|
||||
, code
|
||||
, name
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
INTENSITY_LEVEL_SCENT_T.id_intensity_level
|
||||
, INTENSITY_LEVEL_SCENT_T.code
|
||||
, INTENSITY_LEVEL_SCENT_T.name
|
||||
, INTENSITY_LEVEL_SCENT_T.active
|
||||
|
||||
, INTENSITY_LEVEL_SCENT_T.does_meet_id_filters
|
||||
, INTENSITY_LEVEL_SCENT_T.does_meet_non_id_filters
|
||||
FROM parts.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_SCENT_T
|
||||
WHERE INTENSITY_LEVEL_SCENT_T.GUID = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Intensity_Level_Scent_Calc_Distraction;
|
||||
END IF;
|
||||
|
||||
CALL parts.p_dog_clear_calc_distraction_intensity_level (
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
END IF;
|
||||
|
||||
-- Call Calc Intensity Level Sight
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction 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 a_debug = 1 THEN
|
||||
@@ -889,6 +973,7 @@ BEGIN
|
||||
, DISTRACTION.id_assessment
|
||||
, DISTRACTION.id_distraction_type
|
||||
, DISTRACTION.id_intensity_level_emotional
|
||||
, DISTRACTION.id_intensity_level_scent
|
||||
, DISTRACTION.id_intensity_level_sight
|
||||
, DISTRACTION.id_intensity_level_sound
|
||||
, DISTRACTION.id_intensity_level_touch
|
||||
@@ -979,6 +1064,7 @@ BEGIN
|
||||
, id_assessment
|
||||
, id_distraction_type
|
||||
, id_intensity_level_emotional
|
||||
, id_intensity_level_scent
|
||||
, id_intensity_level_sight
|
||||
, id_intensity_level_sound
|
||||
, id_intensity_level_touch
|
||||
@@ -1028,6 +1114,7 @@ BEGIN
|
||||
, DISTRACTION.id_assessment
|
||||
, DISTRACTION.id_distraction_type
|
||||
, DISTRACTION.id_intensity_level_emotional
|
||||
, DISTRACTION.id_intensity_level_scent
|
||||
, DISTRACTION.id_intensity_level_sight
|
||||
, DISTRACTION.id_intensity_level_sound
|
||||
, DISTRACTION.id_intensity_level_touch
|
||||
@@ -1130,6 +1217,7 @@ BEGIN
|
||||
LEFT JOIN tmp_Assessment_Calc_Distraction t_ASSESSMENT ON t_DISTRACTION.id_assessment = t_ASSESSMENT.id_assessment
|
||||
LEFT JOIN tmp_Distraction_Type_Calc_Distraction t_DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = t_DISTRACTION_TYPE.id_type
|
||||
LEFT JOIN tmp_Intensity_Level_Emotional_Calc_Distraction t_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = t_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level
|
||||
LEFT JOIN tmp_Intensity_Level_Scent_Calc_Distraction t_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = t_INTENSITY_LEVEL_SCENT.id_intensity_level
|
||||
LEFT JOIN tmp_Intensity_Level_Sight_Calc_Distraction t_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = t_INTENSITY_LEVEL_SIGHT.id_intensity_level
|
||||
LEFT JOIN tmp_Intensity_Level_Sound_Calc_Distraction t_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = t_INTENSITY_LEVEL_SOUND.id_intensity_level
|
||||
LEFT JOIN tmp_Intensity_Level_Touch_Calc_Distraction t_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = t_INTENSITY_LEVEL_TOUCH.id_intensity_level
|
||||
@@ -1141,6 +1229,7 @@ BEGIN
|
||||
OR IFNULL(t_ASSESSMENT.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_DISTRACTION_TYPE.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_INTENSITY_LEVEL_EMOTIONAL.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_INTENSITY_LEVEL_SCENT.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_INTENSITY_LEVEL_SIGHT.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_INTENSITY_LEVEL_SOUND.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_INTENSITY_LEVEL_TOUCH.does_meet_id_filters, 1) = 0
|
||||
@@ -1153,6 +1242,7 @@ BEGIN
|
||||
OR IFNULL(t_ASSESSMENT.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_DISTRACTION_TYPE.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_INTENSITY_LEVEL_EMOTIONAL.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_INTENSITY_LEVEL_SCENT.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_INTENSITY_LEVEL_SIGHT.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_INTENSITY_LEVEL_SOUND.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_INTENSITY_LEVEL_TOUCH.does_meet_non_id_filters, 1) = 0
|
||||
@@ -1164,6 +1254,7 @@ BEGIN
|
||||
AND IFNULL(t_ASSESSMENT.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_DISTRACTION_TYPE.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_INTENSITY_LEVEL_EMOTIONAL.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_INTENSITY_LEVEL_SCENT.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_INTENSITY_LEVEL_SIGHT.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_INTENSITY_LEVEL_SOUND.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_INTENSITY_LEVEL_TOUCH.does_meet_id_filters, 1) = 0
|
||||
@@ -1174,6 +1265,7 @@ BEGIN
|
||||
AND IFNULL(t_ASSESSMENT.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_DISTRACTION_TYPE.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_INTENSITY_LEVEL_EMOTIONAL.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_INTENSITY_LEVEL_SCENT.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_INTENSITY_LEVEL_SIGHT.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_INTENSITY_LEVEL_SOUND.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_INTENSITY_LEVEL_TOUCH.does_meet_non_id_filters, 1) = 0
|
||||
@@ -1186,6 +1278,7 @@ BEGIN
|
||||
SELECT * FROM tmp_Assessment_Calc_Distraction;
|
||||
SELECT * FROM tmp_Distraction_Type_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Emotional_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Scent_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Sight_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Sound_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Touch_Calc_Distraction;
|
||||
@@ -1273,6 +1366,7 @@ BEGIN
|
||||
SELECT * FROM tmp_Assessment_Calc_Distraction;
|
||||
SELECT * FROM tmp_Distraction_Type_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Emotional_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Scent_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Sight_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Sound_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Touch_Calc_Distraction;
|
||||
@@ -1283,19 +1377,21 @@ BEGIN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Calc_Distraction;
|
||||
SELECT * FROM tmp_Distraction_Type_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Emotional_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Sight_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Sound_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Touch_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Emotional_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Scent_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Sight_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Sound_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Touch_Calc_Distraction;
|
||||
SELECT * FROM tmp_Distraction_Calc_Distraction;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Calc_Distraction;
|
||||
DELETE FROM tmp_Distraction_Type_Calc_Distraction;
|
||||
DELETE FROM tmp_Intensity_Level_Emotional_Calc_Distraction;
|
||||
DELETE FROM tmp_Intensity_Level_Sight_Calc_Distraction;
|
||||
DELETE FROM tmp_Intensity_Level_Sound_Calc_Distraction;
|
||||
DELETE FROM tmp_Intensity_Level_Touch_Calc_Distraction;
|
||||
DELETE FROM tmp_Intensity_Level_Sound_Calc_Distraction;
|
||||
DELETE FROM tmp_Intensity_Level_Sight_Calc_Distraction;
|
||||
DELETE FROM tmp_Intensity_Level_Scent_Calc_Distraction;
|
||||
DELETE FROM tmp_Intensity_Level_Emotional_Calc_Distraction;
|
||||
DELETE FROM tmp_Distraction_Type_Calc_Distraction;
|
||||
DELETE FROM tmp_Assessment_Calc_Distraction;
|
||||
DELETE FROM tmp_Distraction_Calc_Distraction;
|
||||
END IF;
|
||||
|
||||
@@ -1312,6 +1408,7 @@ BEGIN
|
||||
, id_assessment
|
||||
, id_distraction_type
|
||||
, id_intensity_level_emotional
|
||||
, id_intensity_level_scent
|
||||
, id_intensity_level_sight
|
||||
, id_intensity_level_sound
|
||||
, id_intensity_level_touch
|
||||
@@ -1329,6 +1426,7 @@ BEGIN
|
||||
, t_DISTRACTION.id_assessment
|
||||
, t_DISTRACTION.id_distraction_type
|
||||
, t_DISTRACTION.id_intensity_level_emotional
|
||||
, t_DISTRACTION.id_intensity_level_scent
|
||||
, t_DISTRACTION.id_intensity_level_sight
|
||||
, t_DISTRACTION.id_intensity_level_sound
|
||||
, t_DISTRACTION.id_intensity_level_touch
|
||||
@@ -1365,6 +1463,7 @@ BEGIN
|
||||
SELECT * FROM tmp_Assessment_Calc_Distraction;
|
||||
SELECT * FROM tmp_Distraction_Type_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Emotional_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Scent_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Sight_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Sound_Calc_Distraction;
|
||||
SELECT * FROM tmp_Intensity_Level_Touch_Calc_Distraction;
|
||||
@@ -1388,6 +1487,7 @@ BEGIN
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Intensity_Level_Touch_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Intensity_Level_Sound_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Intensity_Level_Sight_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Intensity_Level_Scent_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Intensity_Level_Emotional_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Distraction_Type_Calc_Distraction;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Calc_Distraction;
|
||||
@@ -1423,6 +1523,11 @@ CALL parts.p_dog_calc_distraction (
|
||||
, '' -- a_ids_intensity_level_emotional
|
||||
, '' -- a_names_intensity_level_emotional
|
||||
|
||||
, 1 -- a_get_all_intensity_level_scent
|
||||
, 0 -- a_get_inactive_intensity_level_scent
|
||||
, '' -- a_ids_intensity_level_scent
|
||||
, '' -- a_names_intensity_level_scent
|
||||
|
||||
, 1 -- a_get_all_intensity_level_sight
|
||||
, 0 -- a_get_inactive_intensity_level_sight
|
||||
, '' -- a_ids_intensity_level_sight
|
||||
|
||||
@@ -22,6 +22,10 @@ CREATE PROCEDURE parts.p_dog_get_many_distraction (
|
||||
, IN a_get_inactive_intensity_level_emotional BIT
|
||||
, IN a_ids_intensity_level_emotional TEXT
|
||||
, IN a_names_intensity_level_emotional TEXT
|
||||
, IN a_get_all_intensity_level_scent BIT
|
||||
, IN a_get_inactive_intensity_level_scent BIT
|
||||
, IN a_ids_intensity_level_scent TEXT
|
||||
, IN a_names_intensity_level_scent TEXT
|
||||
, IN a_get_all_intensity_level_sight BIT
|
||||
, IN a_get_inactive_intensity_level_sight BIT
|
||||
, IN a_ids_intensity_level_sight TEXT
|
||||
@@ -159,6 +163,10 @@ BEGIN
|
||||
, a_get_inactive_intensity_level_emotional
|
||||
, a_ids_intensity_level_emotional
|
||||
, a_names_intensity_level_emotional
|
||||
, a_get_all_intensity_level_scent
|
||||
, a_get_inactive_intensity_level_scent
|
||||
, a_ids_intensity_level_scent
|
||||
, a_names_intensity_level_scent
|
||||
, a_get_all_intensity_level_sight
|
||||
, a_get_inactive_intensity_level_sight
|
||||
, a_ids_intensity_level_sight
|
||||
@@ -220,6 +228,7 @@ BEGIN
|
||||
, id_assessment INT
|
||||
, id_distraction_type INT
|
||||
, id_intensity_level_emotional INT
|
||||
, id_intensity_level_scent INT
|
||||
, id_intensity_level_sight INT
|
||||
, id_intensity_level_sound INT
|
||||
, id_intensity_level_touch INT
|
||||
@@ -339,6 +348,10 @@ BEGIN
|
||||
, a_get_inactive_intensity_level_emotional
|
||||
, a_ids_intensity_level_emotional
|
||||
, a_names_intensity_level_emotional
|
||||
, a_get_all_intensity_level_scent
|
||||
, a_get_inactive_intensity_level_scent
|
||||
, a_ids_intensity_level_scent
|
||||
, a_names_intensity_level_scent
|
||||
, a_get_all_intensity_level_sight
|
||||
, a_get_inactive_intensity_level_sight
|
||||
, a_ids_intensity_level_sight
|
||||
@@ -403,6 +416,10 @@ BEGIN
|
||||
, a_get_inactive_intensity_level_emotional
|
||||
, a_ids_intensity_level_emotional
|
||||
, a_names_intensity_level_emotional
|
||||
, a_get_all_intensity_level_scent
|
||||
, a_get_inactive_intensity_level_scent
|
||||
, a_ids_intensity_level_scent
|
||||
, a_names_intensity_level_scent
|
||||
, a_get_all_intensity_level_sight
|
||||
, a_get_inactive_intensity_level_sight
|
||||
, a_ids_intensity_level_sight
|
||||
@@ -457,6 +474,7 @@ BEGIN
|
||||
, id_assessment
|
||||
, id_distraction_type
|
||||
, id_intensity_level_emotional
|
||||
, id_intensity_level_scent
|
||||
, id_intensity_level_sight
|
||||
, id_intensity_level_sound
|
||||
, id_intensity_level_touch
|
||||
@@ -472,6 +490,7 @@ BEGIN
|
||||
, DISTRACTION_T.id_assessment
|
||||
, DISTRACTION_T.id_distraction_type
|
||||
, DISTRACTION_T.id_intensity_level_emotional
|
||||
, DISTRACTION_T.id_intensity_level_scent
|
||||
, DISTRACTION_T.id_intensity_level_sight
|
||||
, DISTRACTION_T.id_intensity_level_sound
|
||||
, DISTRACTION_T.id_intensity_level_touch
|
||||
@@ -511,6 +530,8 @@ BEGIN
|
||||
, DISTRACTION_TYPE.name AS name_distraction_type
|
||||
, t_DISTRACTION.id_intensity_level_emotional
|
||||
, INTENSITY_LEVEL_EMOTIONAL.name AS name_intensity_level_emotional
|
||||
, t_DISTRACTION.id_intensity_level_scent
|
||||
, INTENSITY_LEVEL_SCENT.name AS name_intensity_level_scent
|
||||
, t_DISTRACTION.id_intensity_level_sight
|
||||
, INTENSITY_LEVEL_SIGHT.name AS name_intensity_level_sight
|
||||
, t_DISTRACTION.id_intensity_level_sound
|
||||
@@ -527,6 +548,7 @@ BEGIN
|
||||
FROM tmp_Distraction t_DISTRACTION
|
||||
LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = INTENSITY_LEVEL_EMOTIONAL.id_intensity_level
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = INTENSITY_LEVEL_SCENT.id_intensity_level
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = INTENSITY_LEVEL_SIGHT.id_intensity_level
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = INTENSITY_LEVEL_SOUND.id_intensity_level
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = INTENSITY_LEVEL_TOUCH.id_intensity_level
|
||||
@@ -590,6 +612,11 @@ CALL parts.p_dog_get_many_distraction (
|
||||
, '' -- a_ids_intensity_level_emotional
|
||||
, '' -- a_names_intensity_level_emotional
|
||||
|
||||
, 1 -- a_get_all_intensity_level_scent
|
||||
, 0 -- a_get_inactive_intensity_level_scent
|
||||
, '' -- a_ids_intensity_level_scent
|
||||
, '' -- a_names_intensity_level_scent
|
||||
|
||||
, 1 -- a_get_all_intensity_level_sight
|
||||
, 0 -- a_get_inactive_intensity_level_sight
|
||||
, '' -- a_ids_intensity_level_sight
|
||||
|
||||
@@ -12,10 +12,10 @@ CREATE PROCEDURE parts.p_dog_calc_assessment_command_modality_link (
|
||||
, IN a_ids_link TEXT
|
||||
, IN a_min_distance_from_handler_link FLOAT
|
||||
, IN a_max_distance_from_handler_link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_link INT
|
||||
, IN a_value_is_in_scent_range_of_handler_link INT
|
||||
, IN a_value_is_in_hearing_range_of_handler_link INT
|
||||
, IN a_value_is_on_lead_link INT
|
||||
, IN a_value_is_in_sight_of_handler_link BIT
|
||||
, IN a_value_is_in_scent_range_of_handler_link BIT
|
||||
, IN a_value_is_in_hearing_range_of_handler_link BIT
|
||||
, IN a_value_is_on_lead_link BIT
|
||||
, IN a_min_trial_count_link FLOAT
|
||||
, IN a_max_trial_count_link FLOAT
|
||||
|
||||
|
||||
@@ -11,10 +11,10 @@ CREATE PROCEDURE parts.p_dog_get_many_assessment_command_modality_link (
|
||||
, IN a_ids_link TEXT
|
||||
, IN a_min_distance_from_handler_link FLOAT
|
||||
, IN a_max_distance_from_handler_link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_link INT
|
||||
, IN a_value_is_in_scent_range_of_handler_link INT
|
||||
, IN a_value_is_in_hearing_range_of_handler_link INT
|
||||
, IN a_value_is_on_lead_link INT
|
||||
, IN a_value_is_in_sight_of_handler_link BIT
|
||||
, IN a_value_is_in_scent_range_of_handler_link BIT
|
||||
, IN a_value_is_in_hearing_range_of_handler_link BIT
|
||||
, IN a_value_is_on_lead_link BIT
|
||||
, IN a_min_trial_count_link FLOAT
|
||||
, IN a_max_trial_count_link FLOAT
|
||||
|
||||
@@ -63,6 +63,7 @@ CREATE PROCEDURE parts.p_dog_get_many_assessment_command_modality_link (
|
||||
, IN a_get_inactive_bribe BIT
|
||||
, IN a_ids_bribe TEXT
|
||||
, IN a_names_bribe TEXT
|
||||
|
||||
, IN a_require_all_id_search_filters_met BIT
|
||||
, IN a_require_any_id_search_filters_met BIT
|
||||
, IN a_require_all_non_id_search_filters_met BIT
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
|
||||
USE parts;
|
||||
|
||||
DROP PROCEDURE IF EXISTS parts.p_dog_get_many_colour;
|
||||
DROP PROCEDURE IF EXISTS parts.p_dog_get_many_response_quality_metric;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE parts.p_dog_get_many_colour (
|
||||
CREATE PROCEDURE parts.p_dog_get_many_response_quality_metric (
|
||||
IN a_id_user INT
|
||||
, IN a_get_all_colour BIT
|
||||
, IN a_get_inactive_colour BIT
|
||||
, IN a_ids_colour TEXT
|
||||
, IN a_names_colour TEXT
|
||||
, IN a_get_all_response_quality_metric BIT
|
||||
, IN a_get_inactive_response_quality_metric BIT
|
||||
, IN a_ids_response_quality_metric TEXT
|
||||
, IN a_names_response_quality_metric TEXT
|
||||
, IN a_require_all_id_search_filters_met BIT
|
||||
, IN a_require_any_id_search_filters_met BIT
|
||||
, IN a_require_all_non_id_search_filters_met BIT
|
||||
@@ -86,10 +86,10 @@ BEGIN
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
/*
|
||||
SET a_get_all_colour := IFNULL(a_get_all_colour, 0);
|
||||
SET a_get_inactive_colour := IFNULL(a_get_inactive_colour, 0);
|
||||
SET a_ids_colour := TRIM(IFNULL(a_ids_colour, ''));
|
||||
SET a_names_colour := TRIM(IFNULL(a_names_colour, ''));
|
||||
SET a_get_all_response_quality_metric := IFNULL(a_get_all_response_quality_metric, 0);
|
||||
SET a_get_inactive_response_quality_metric := IFNULL(a_get_inactive_response_quality_metric, 0);
|
||||
SET a_ids_response_quality_metric := TRIM(IFNULL(a_ids_response_quality_metric, ''));
|
||||
SET a_names_response_quality_metric := TRIM(IFNULL(a_names_response_quality_metric, ''));
|
||||
SET a_require_all_id_search_filters_met := IFNULL(a_require_all_id_search_filters_met, 1);
|
||||
SET a_require_any_id_search_filters_met := IFNULL(a_require_any_id_search_filters_met, 1);
|
||||
SET a_require_all_non_id_search_filters_met := IFNULL(a_require_all_non_id_search_filters_met, 0);
|
||||
@@ -100,10 +100,10 @@ BEGIN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_id_user
|
||||
, a_get_all_colour
|
||||
, a_get_inactive_colour
|
||||
, a_ids_colour
|
||||
, a_names_colour
|
||||
, a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric
|
||||
, a_ids_response_quality_metric
|
||||
, a_names_response_quality_metric
|
||||
, a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met
|
||||
@@ -121,16 +121,18 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Colour;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Response_Quality_Metric;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Colour (
|
||||
id_colour INT NOT NULL
|
||||
, code VARCHAR(250)
|
||||
CREATE TEMPORARY TABLE tmp_Response_Quality_Metric (
|
||||
id_metric INT NOT NULL
|
||||
, id_unit_measurement INT
|
||||
, code VARCHAR(250)
|
||||
, name VARCHAR(250)
|
||||
, value_min DOUBLE
|
||||
, value_max DOUBLE
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
@@ -207,7 +209,7 @@ BEGIN
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to view Colours.'
|
||||
, 'You do not have permission to view RESPONSE_QUALITY_METRIC.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
@@ -218,16 +220,16 @@ BEGIN
|
||||
);
|
||||
|
||||
|
||||
-- Call Colour Calc
|
||||
-- Call Response_Quality_Metric Calc
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error 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 a_debug = 1 THEN
|
||||
SELECT
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_colour -- a_get_all_colour
|
||||
, a_get_inactive_colour -- a_get_inactive_colour
|
||||
, a_ids_colour -- a_ids_colour
|
||||
, a_names_colour -- a_names_colour
|
||||
, a_get_all_response_quality_metric -- a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric -- a_get_inactive_response_quality_metric
|
||||
, a_ids_response_quality_metric -- a_ids_response_quality_metric
|
||||
, a_names_response_quality_metric -- a_names_response_quality_metric
|
||||
, a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met -- a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met -- a_require_all_non_id_search_filters_met
|
||||
@@ -237,13 +239,13 @@ BEGIN
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL parts.p_dog_calc_colour (
|
||||
CALL parts.p_dog_calc_response_quality_metric (
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_colour -- a_get_all_colour
|
||||
, a_get_inactive_colour -- a_get_inactive_colour
|
||||
, a_ids_colour -- a_ids_colour
|
||||
, a_names_colour -- a_names_colour
|
||||
, a_get_all_response_quality_metric -- a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric -- a_get_inactive_response_quality_metric
|
||||
, a_ids_response_quality_metric -- a_ids_response_quality_metric
|
||||
, a_names_response_quality_metric -- a_names_response_quality_metric
|
||||
, a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met -- a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met -- a_require_all_non_id_search_filters_met
|
||||
@@ -253,60 +255,72 @@ BEGIN
|
||||
);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM parts.DOG_Colour_Temp;
|
||||
SELECT * FROM parts.DOG_Colour_Temp;
|
||||
SELECT COUNT(*) FROM parts.DOG_Response_Quality_Metric_Temp;
|
||||
SELECT * FROM parts.DOG_Response_Quality_Metric_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Colour (
|
||||
id_colour
|
||||
INSERT INTO tmp_Response_Quality_Metric (
|
||||
id_metric
|
||||
, id_unit_measurement
|
||||
, code
|
||||
, name
|
||||
, value_min
|
||||
, value_max
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
COLOUR_T.id_colour
|
||||
, COLOUR_T.code
|
||||
, COLOUR_T.name
|
||||
, COLOUR_T.active
|
||||
RESPONSE_QUALITY_METRIC_T.id_metric
|
||||
, RESPONSE_QUALITY_METRIC_T.id_unit_measurement
|
||||
, RESPONSE_QUALITY_METRIC_T.code
|
||||
, RESPONSE_QUALITY_METRIC_T.name
|
||||
, RESPONSE_QUALITY_METRIC_T.value_min
|
||||
, RESPONSE_QUALITY_METRIC_T.value_max
|
||||
, RESPONSE_QUALITY_METRIC_T.active
|
||||
|
||||
, COLOUR_T.does_meet_id_filters
|
||||
, COLOUR_T.does_meet_non_id_filters
|
||||
FROM parts.DOG_Colour_Temp COLOUR_T
|
||||
WHERE COLOUR_T.GUID = v_guid
|
||||
, 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
|
||||
WHERE RESPONSE_QUALITY_METRIC_T.GUID = v_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Colour;
|
||||
SELECT * FROM tmp_Colour;
|
||||
SELECT COUNT(*) FROM tmp_Response_Quality_Metric;
|
||||
SELECT * FROM tmp_Response_Quality_Metric;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Filter outputs
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error 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 a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Colour;
|
||||
SELECT * FROM tmp_Response_Quality_Metric;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Colour;
|
||||
DELETE FROM tmp_Response_Quality_Metric;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Outputs
|
||||
-- Colours
|
||||
-- RESPONSE_QUALITY_METRIC
|
||||
SELECT
|
||||
t_COLOURS.id_colour
|
||||
, t_COLOURS.code
|
||||
, t_COLOURS.name
|
||||
, t_COLOURS.active
|
||||
t_RESPONSE_QUALITY_METRIC.id_metric
|
||||
, t_RESPONSE_QUALITY_METRIC.id_unit_measurement
|
||||
, UNIT_MEASUREMENT.name_singular AS name_singular_unit_measurement
|
||||
, UNIT_MEASUREMENT.name_plural AS name_plural_unit_measurement
|
||||
, UNIT_MEASUREMENT.symbol AS symbol_unit_measurement
|
||||
, t_RESPONSE_QUALITY_METRIC.code
|
||||
, t_RESPONSE_QUALITY_METRIC.name
|
||||
, t_RESPONSE_QUALITY_METRIC.value_min
|
||||
, t_RESPONSE_QUALITY_METRIC.value_max
|
||||
, t_RESPONSE_QUALITY_METRIC.active
|
||||
|
||||
, t_COLOURS.does_meet_id_filters
|
||||
, t_COLOURS.does_meet_non_id_filters
|
||||
FROM tmp_Colour t_COLOURS
|
||||
LEFT JOIN parts.DOG_Colour COLOURS ON t_COLOURS.id_colour = COLOURS.id_colour
|
||||
ORDER BY t_COLOURS.name
|
||||
, t_RESPONSE_QUALITY_METRIC.does_meet_id_filters
|
||||
, t_RESPONSE_QUALITY_METRIC.does_meet_non_id_filters
|
||||
FROM tmp_Response_Quality_Metric t_RESPONSE_QUALITY_METRIC
|
||||
LEFT JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_RESPONSE_QUALITY_METRIC.id_metric = RESPONSE_QUALITY_METRIC.id_metric
|
||||
LEFT JOIN parts.DOG_Unit_Measurement UNIT_MEASUREMENT ON t_RESPONSE_QUALITY_METRIC.id_unit_measurement = UNIT_MEASUREMENT.id_unit_measurement
|
||||
ORDER BY t_RESPONSE_QUALITY_METRIC.name
|
||||
;
|
||||
|
||||
-- Errors
|
||||
@@ -325,16 +339,16 @@ BEGIN
|
||||
;
|
||||
|
||||
IF a_debug = 1 AND v_can_view = 1 THEN
|
||||
SELECT * FROM tmp_Colour;
|
||||
SELECT * FROM tmp_Response_Quality_Metric;
|
||||
END IF;
|
||||
|
||||
CALL parts.p_dog_clear_calc_colour(
|
||||
CALL parts.p_dog_clear_calc_response_quality_metric(
|
||||
v_guid -- a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Colour;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Response_Quality_Metric;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL parts.p_core_debug_timing_reporting ( v_time_start );
|
||||
@@ -345,12 +359,12 @@ DELIMITER ;
|
||||
|
||||
/*
|
||||
|
||||
CALL parts.p_dog_get_many_colour (
|
||||
CALL parts.p_dog_get_many_response_quality_metric (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_colour
|
||||
, 0 -- a_get_inactive_colour
|
||||
, '' -- a_ids_colour
|
||||
, '' -- a_names_colour
|
||||
, 1 -- a_get_all_response_quality_metric
|
||||
, 0 -- a_get_inactive_response_quality_metric
|
||||
, '' -- a_ids_response_quality_metric
|
||||
, '' -- a_names_response_quality_metric
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
@@ -359,12 +373,12 @@ CALL parts.p_dog_get_many_colour (
|
||||
);
|
||||
|
||||
|
||||
CALL demo.p_dog_get_many_colour (
|
||||
CALL demo.p_dog_get_many_response_quality_metric (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_colour
|
||||
, 0 -- a_get_inactive_colour
|
||||
, '' -- a_ids_colour
|
||||
, 'pat,point' -- a_names_colour
|
||||
, 1 -- a_get_all_response_quality_metric
|
||||
, 0 -- a_get_inactive_response_quality_metric
|
||||
, '' -- a_ids_response_quality_metric
|
||||
, 'pat,point' -- a_names_response_quality_metric
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
|
||||
@@ -68,8 +68,8 @@ BEGIN
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_obedience_level
|
||||
, ERROR_TYPE.text_obedience_level
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error_Calc_Obedience_Level t_ERROR
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
@@ -481,8 +481,8 @@ BEGIN
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_obedience_level
|
||||
, ERROR_TYPE.text_obedience_level
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error_Calc_Obedience_Level t_ERROR
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
|
||||
@@ -65,8 +65,8 @@ BEGIN
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_obedience_level
|
||||
, ERROR_TYPE.text_obedience_level
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
@@ -317,8 +317,8 @@ BEGIN
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_obedience_level
|
||||
, ERROR_TYPE.text_obedience_level
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,11 @@
|
||||
|
||||
USE parts;
|
||||
|
||||
DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_colour;
|
||||
DROP PROCEDURE IF EXISTS parts.p_colour_clear_calc_colour;
|
||||
DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_assessment_response;
|
||||
DROP PROCEDURE IF EXISTS parts.p_assessment_response_clear_calc_assessment_response;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE parts.p_dog_clear_calc_colour (
|
||||
CREATE PROCEDURE parts.p_dog_clear_calc_assessment_response (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_debug BIT
|
||||
)
|
||||
@@ -17,9 +17,9 @@ BEGIN
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE COLOURS_T
|
||||
FROM parts.DOG_Colour_Temp COLOURS_T
|
||||
WHERE COLOURS_T.GUID = a_guid
|
||||
DELETE ASSESSMENT_RESPONSES_T
|
||||
FROM parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSES_T
|
||||
WHERE ASSESSMENT_RESPONSES_T.GUID = a_guid
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
@@ -32,7 +32,7 @@ DELIMITER ;
|
||||
|
||||
/*
|
||||
|
||||
CALL parts.p_dog_clear_calc_colour (
|
||||
CALL parts.p_dog_clear_calc_assessment_response (
|
||||
'crips ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
@@ -1,15 +1,82 @@
|
||||
|
||||
USE parts;
|
||||
|
||||
DROP PROCEDURE IF EXISTS parts.p_dog_get_many_colour;
|
||||
DROP PROCEDURE IF EXISTS parts.p_dog_get_many_assessment_response;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE parts.p_dog_get_many_colour (
|
||||
CREATE PROCEDURE parts.p_dog_get_many_assessment_response (
|
||||
IN a_id_user INT
|
||||
, IN a_get_all_colour BIT
|
||||
, IN a_get_inactive_colour BIT
|
||||
, IN a_ids_colour TEXT
|
||||
, IN a_names_colour TEXT
|
||||
, IN a_get_all_assessment_response BIT
|
||||
, IN a_get_inactive_assessment_response BIT
|
||||
, IN a_ids_assessment_response TEXT
|
||||
, IN a_notes_assessment_response TEXT
|
||||
, IN a_min_value_measured_assessment_response INT
|
||||
, IN a_max_value_measured_assessment_response INT
|
||||
|
||||
, IN a_get_all_ACM_link BIT
|
||||
, IN a_get_inactive_ACM_link BIT
|
||||
, IN a_ids_ACM_link TEXT
|
||||
, IN a_min_distance_from_handler_ACM_link FLOAT
|
||||
, IN a_max_distance_from_handler_ACM_link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_ACM_link INT
|
||||
, IN a_value_is_in_scent_range_of_handler_ACM_link INT
|
||||
, IN a_value_is_in_hearing_range_of_handler_ACM_link INT
|
||||
, IN a_value_is_on_lead_ACM_link INT
|
||||
, IN a_min_trial_count_ACM_link FLOAT
|
||||
, IN a_max_trial_count_ACM_link FLOAT
|
||||
, IN a_get_all_assessment BIT
|
||||
, IN a_get_inactive_assessment BIT
|
||||
, IN a_ids_assessment TEXT
|
||||
, IN a_notes_assessment TEXT
|
||||
, IN a_min_temperature_assessment DECIMAL(5, 2)
|
||||
, IN a_max_temperature_assessment DECIMAL(5, 2)
|
||||
, IN a_get_all_weather BIT
|
||||
, IN a_get_inactive_weather BIT
|
||||
, IN a_ids_weather TEXT
|
||||
, IN a_names_weather TEXT
|
||||
, IN a_get_all_lighting_level BIT
|
||||
, IN a_get_inactive_lighting_level BIT
|
||||
, IN a_ids_lighting_level TEXT
|
||||
, IN a_names_lighting_level TEXT
|
||||
, IN a_get_all_location BIT
|
||||
, IN a_get_inactive_location BIT
|
||||
, IN a_ids_location TEXT
|
||||
, IN a_names_location TEXT
|
||||
, IN a_get_all_user_handler BIT
|
||||
, IN a_get_inactive_user_handler BIT
|
||||
, IN a_ids_user_handler TEXT
|
||||
-- , IN a_auth0_ids_user_handler TEXT
|
||||
, IN a_names_user_handler TEXT
|
||||
, IN a_emails_user_handler TEXT
|
||||
, IN a_get_all_command_category BIT
|
||||
, IN a_get_inactive_command_category BIT
|
||||
, IN a_ids_command_category TEXT
|
||||
, IN a_names_command_category TEXT
|
||||
, IN a_get_all_command BIT
|
||||
, IN a_get_inactive_command BIT
|
||||
, IN a_ids_command TEXT
|
||||
, IN a_names_command TEXT
|
||||
, IN a_hand_signal_default_descriptions_command TEXT
|
||||
, IN a_notes_command TEXT
|
||||
, IN a_get_all_command_modality BIT
|
||||
, IN a_get_inactive_command_modality BIT
|
||||
, IN a_ids_command_modality TEXT
|
||||
, IN a_names_command_modality TEXT
|
||||
, IN a_get_all_bribe BIT
|
||||
, IN a_get_inactive_bribe BIT
|
||||
, IN a_ids_bribe TEXT
|
||||
, IN a_names_bribe TEXT
|
||||
|
||||
, IN a_get_all_response_quality_metric BIT
|
||||
, IN a_get_inactive_response_quality_metric BIT
|
||||
, IN a_ids_response_quality_metric TEXT
|
||||
, IN a_names_response_quality_metric TEXT
|
||||
|
||||
, IN a_get_all_obedience_level BIT
|
||||
, IN a_get_inactive_obedience_level BIT
|
||||
, IN a_ids_obedience_level TEXT
|
||||
, IN a_names_obedience_level TEXT
|
||||
|
||||
, IN a_require_all_id_search_filters_met BIT
|
||||
, IN a_require_any_id_search_filters_met BIT
|
||||
, IN a_require_all_non_id_search_filters_met BIT
|
||||
@@ -86,24 +153,85 @@ BEGIN
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
/*
|
||||
SET a_get_all_colour := IFNULL(a_get_all_colour, 0);
|
||||
SET a_get_inactive_colour := IFNULL(a_get_inactive_colour, 0);
|
||||
SET a_ids_colour := TRIM(IFNULL(a_ids_colour, ''));
|
||||
SET a_names_colour := TRIM(IFNULL(a_names_colour, ''));
|
||||
SET a_require_all_id_search_filters_met := IFNULL(a_require_all_id_search_filters_met, 1);
|
||||
SET a_require_any_id_search_filters_met := IFNULL(a_require_any_id_search_filters_met, 1);
|
||||
SET a_require_all_non_id_search_filters_met := IFNULL(a_require_all_non_id_search_filters_met, 0);
|
||||
SET a_require_any_non_id_search_filters_met := IFNULL(a_require_any_non_id_search_filters_met, 1);
|
||||
Filters handled by Calc
|
||||
*/
|
||||
SET a_debug := IFNULL(a_debug, 0);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_id_user
|
||||
, a_get_all_colour
|
||||
, a_get_inactive_colour
|
||||
, a_ids_colour
|
||||
, a_names_colour
|
||||
|
||||
, a_get_all_assessment_response
|
||||
, a_get_inactive_assessment_response
|
||||
, a_ids_assessment_response
|
||||
, a_notes_assessment_response
|
||||
, a_min_value_measured_assessment_response
|
||||
, a_max_value_measured_assessment_response
|
||||
|
||||
, a_get_all_ACM_link
|
||||
, a_get_inactive_ACM_link
|
||||
, a_ids_ACM_link
|
||||
, a_min_distance_from_handler_ACM_link
|
||||
, a_max_distance_from_handler_ACM_link
|
||||
, a_value_is_in_sight_of_handler_ACM_link
|
||||
, a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
, a_value_is_on_lead_ACM_link
|
||||
, a_min_trial_count_ACM_link
|
||||
, a_max_trial_count_ACM_link
|
||||
, a_get_all_assessment
|
||||
, a_get_inactive_assessment
|
||||
, a_ids_assessment
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
, a_names_weather
|
||||
, a_get_all_lighting_level
|
||||
, a_get_inactive_lighting_level
|
||||
, a_ids_lighting_level
|
||||
, a_names_lighting_level
|
||||
, a_get_all_location
|
||||
, a_get_inactive_location
|
||||
, a_ids_location
|
||||
, a_names_location
|
||||
, a_get_all_user_handler
|
||||
, a_get_inactive_user_handler
|
||||
, a_ids_user_handler
|
||||
-- , a_auth0_ids_user_handler
|
||||
, a_names_user_handler
|
||||
, a_emails_user_handler
|
||||
, a_get_all_command_category
|
||||
, a_get_inactive_command_category
|
||||
, a_ids_command_category
|
||||
, a_names_command_category
|
||||
, a_get_all_command
|
||||
, a_get_inactive_command
|
||||
, a_ids_command
|
||||
, a_names_command
|
||||
, a_hand_signal_default_descriptions_command
|
||||
, a_notes_command
|
||||
, a_get_all_command_modality
|
||||
, a_get_inactive_command_modality
|
||||
, a_ids_command_modality
|
||||
, a_names_command_modality
|
||||
, a_get_all_bribe
|
||||
, a_get_inactive_bribe
|
||||
, a_ids_bribe
|
||||
, a_names_bribe
|
||||
|
||||
, a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric
|
||||
, a_ids_response_quality_metric
|
||||
, a_names_response_quality_metric
|
||||
|
||||
, a_get_all_obedience_level
|
||||
, a_get_inactive_obedience_level
|
||||
, a_ids_obedience_level
|
||||
, a_names_obedience_level
|
||||
|
||||
, a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met
|
||||
@@ -121,12 +249,15 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Colour;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Response;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Colour (
|
||||
id_colour INT NOT NULL
|
||||
, code VARCHAR(250)
|
||||
, name VARCHAR(250)
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Response (
|
||||
id_response INT NOT NULL
|
||||
, id_assessment_command_modality_link INT
|
||||
, id_response_quality_metric INT
|
||||
, id_obedience_level INT
|
||||
, value_measured DOUBLE
|
||||
, notes TEXT
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
@@ -207,7 +338,7 @@ BEGIN
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to view Colours.'
|
||||
, 'You do not have permission to view Assessment_Responses.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
@@ -218,16 +349,84 @@ BEGIN
|
||||
);
|
||||
|
||||
|
||||
-- Call Colour Calc
|
||||
-- Call Assessment_Response Calc
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error 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 a_debug = 1 THEN
|
||||
SELECT
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_colour -- a_get_all_colour
|
||||
, a_get_inactive_colour -- a_get_inactive_colour
|
||||
, a_ids_colour -- a_ids_colour
|
||||
, a_names_colour -- a_names_colour
|
||||
|
||||
, a_get_all_assessment_response
|
||||
, a_get_inactive_assessment_response
|
||||
, a_ids_assessment_response
|
||||
, a_notes_assessment_response
|
||||
, a_min_value_measured_assessment_response
|
||||
, a_max_value_measured_assessment_response
|
||||
|
||||
, a_get_all_ACM_link
|
||||
, a_get_inactive_ACM_link
|
||||
, a_ids_ACM_link
|
||||
, a_min_distance_from_handler_ACM_link
|
||||
, a_max_distance_from_handler_ACM_link
|
||||
, a_value_is_in_sight_of_handler_ACM_link
|
||||
, a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
, a_value_is_on_lead_ACM_link
|
||||
, a_min_trial_count_ACM_link
|
||||
, a_max_trial_count_ACM_link
|
||||
, a_get_all_assessment
|
||||
, a_get_inactive_assessment
|
||||
, a_ids_assessment
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
, a_names_weather
|
||||
, a_get_all_lighting_level
|
||||
, a_get_inactive_lighting_level
|
||||
, a_ids_lighting_level
|
||||
, a_names_lighting_level
|
||||
, a_get_all_location
|
||||
, a_get_inactive_location
|
||||
, a_ids_location
|
||||
, a_names_location
|
||||
, a_get_all_user_handler
|
||||
, a_get_inactive_user_handler
|
||||
, a_ids_user_handler
|
||||
-- , a_auth0_ids_user_handler
|
||||
, a_names_user_handler
|
||||
, a_emails_user_handler
|
||||
, a_get_all_command_category
|
||||
, a_get_inactive_command_category
|
||||
, a_ids_command_category
|
||||
, a_names_command_category
|
||||
, a_get_all_command
|
||||
, a_get_inactive_command
|
||||
, a_ids_command
|
||||
, a_names_command
|
||||
, a_hand_signal_default_descriptions_command
|
||||
, a_notes_command
|
||||
, a_get_all_command_modality
|
||||
, a_get_inactive_command_modality
|
||||
, a_ids_command_modality
|
||||
, a_names_command_modality
|
||||
, a_get_all_bribe
|
||||
, a_get_inactive_bribe
|
||||
, a_ids_bribe
|
||||
, a_names_bribe
|
||||
|
||||
, a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric
|
||||
, a_ids_response_quality_metric
|
||||
, a_names_response_quality_metric
|
||||
|
||||
, a_get_all_obedience_level
|
||||
, a_get_inactive_obedience_level
|
||||
, a_ids_obedience_level
|
||||
, a_names_obedience_level
|
||||
|
||||
, a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met -- a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met -- a_require_all_non_id_search_filters_met
|
||||
@@ -237,13 +436,81 @@ BEGIN
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL parts.p_dog_calc_colour (
|
||||
CALL parts.p_dog_calc_assessment_response (
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_colour -- a_get_all_colour
|
||||
, a_get_inactive_colour -- a_get_inactive_colour
|
||||
, a_ids_colour -- a_ids_colour
|
||||
, a_names_colour -- a_names_colour
|
||||
|
||||
, a_get_all_assessment_response
|
||||
, a_get_inactive_assessment_response
|
||||
, a_ids_assessment_response
|
||||
, a_notes_assessment_response
|
||||
, a_min_value_measured_assessment_response
|
||||
, a_max_value_measured_assessment_response
|
||||
|
||||
, a_get_all_ACM_link
|
||||
, a_get_inactive_ACM_link
|
||||
, a_ids_ACM_link
|
||||
, a_min_distance_from_handler_ACM_link
|
||||
, a_max_distance_from_handler_ACM_link
|
||||
, a_value_is_in_sight_of_handler_ACM_link
|
||||
, a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
, a_value_is_on_lead_ACM_link
|
||||
, a_min_trial_count_ACM_link
|
||||
, a_max_trial_count_ACM_link
|
||||
, a_get_all_assessment
|
||||
, a_get_inactive_assessment
|
||||
, a_ids_assessment
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
, a_names_weather
|
||||
, a_get_all_lighting_level
|
||||
, a_get_inactive_lighting_level
|
||||
, a_ids_lighting_level
|
||||
, a_names_lighting_level
|
||||
, a_get_all_location
|
||||
, a_get_inactive_location
|
||||
, a_ids_location
|
||||
, a_names_location
|
||||
, a_get_all_user_handler
|
||||
, a_get_inactive_user_handler
|
||||
, a_ids_user_handler
|
||||
-- , a_auth0_ids_user_handler
|
||||
, a_names_user_handler
|
||||
, a_emails_user_handler
|
||||
, a_get_all_command_category
|
||||
, a_get_inactive_command_category
|
||||
, a_ids_command_category
|
||||
, a_names_command_category
|
||||
, a_get_all_command
|
||||
, a_get_inactive_command
|
||||
, a_ids_command
|
||||
, a_names_command
|
||||
, a_hand_signal_default_descriptions_command
|
||||
, a_notes_command
|
||||
, a_get_all_command_modality
|
||||
, a_get_inactive_command_modality
|
||||
, a_ids_command_modality
|
||||
, a_names_command_modality
|
||||
, a_get_all_bribe
|
||||
, a_get_inactive_bribe
|
||||
, a_ids_bribe
|
||||
, a_names_bribe
|
||||
|
||||
, a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric
|
||||
, a_ids_response_quality_metric
|
||||
, a_names_response_quality_metric
|
||||
|
||||
, a_get_all_obedience_level
|
||||
, a_get_inactive_obedience_level
|
||||
, a_ids_obedience_level
|
||||
, a_names_obedience_level
|
||||
|
||||
, a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met -- a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met -- a_require_all_non_id_search_filters_met
|
||||
@@ -253,60 +520,73 @@ BEGIN
|
||||
);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM parts.DOG_Colour_Temp;
|
||||
SELECT * FROM parts.DOG_Colour_Temp;
|
||||
SELECT COUNT(*) FROM parts.DOG_Assessment_Response_Temp;
|
||||
SELECT * FROM parts.DOG_Assessment_Response_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Colour (
|
||||
id_colour
|
||||
, code
|
||||
, name
|
||||
INSERT INTO tmp_Assessment_Response (
|
||||
id_response
|
||||
, id_assessment_command_modality_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
, notes
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
COLOUR_T.id_colour
|
||||
, COLOUR_T.code
|
||||
, COLOUR_T.name
|
||||
, COLOUR_T.active
|
||||
ASSESSMENT_RESPONSE_T.id_response
|
||||
, ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link
|
||||
, ASSESSMENT_RESPONSE_T.id_response_quality_metric
|
||||
, ASSESSMENT_RESPONSE_T.id_obedience_level
|
||||
, ASSESSMENT_RESPONSE_T.value_measured
|
||||
, ASSESSMENT_RESPONSE_T.notes
|
||||
, ASSESSMENT_RESPONSE_T.active
|
||||
|
||||
, COLOUR_T.does_meet_id_filters
|
||||
, COLOUR_T.does_meet_non_id_filters
|
||||
FROM parts.DOG_Colour_Temp COLOUR_T
|
||||
WHERE COLOUR_T.GUID = v_guid
|
||||
, ASSESSMENT_RESPONSE_T.does_meet_id_filters
|
||||
, ASSESSMENT_RESPONSE_T.does_meet_non_id_filters
|
||||
FROM parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T
|
||||
WHERE ASSESSMENT_RESPONSE_T.GUID = v_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Colour;
|
||||
SELECT * FROM tmp_Colour;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Response;
|
||||
SELECT * FROM tmp_Assessment_Response;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Filter outputs
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error 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 a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Colour;
|
||||
SELECT * FROM tmp_Assessment_Response;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Colour;
|
||||
DELETE FROM tmp_Assessment_Response;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Outputs
|
||||
-- Colours
|
||||
-- Assessment_Responses
|
||||
SELECT
|
||||
t_COLOURS.id_colour
|
||||
, t_COLOURS.code
|
||||
, t_COLOURS.name
|
||||
, t_COLOURS.active
|
||||
t_ASSESSMENT_RESPONSE.id_response
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
, t_ASSESSMENT_RESPONSE.id_response_quality_metric
|
||||
, RESPONSE_QUALITY_METRIC.name AS name_response_quality_metric
|
||||
, t_ASSESSMENT_RESPONSE.id_obedience_level
|
||||
, OBEDIENCE_LEVEL.name AS name_obedience_level
|
||||
, t_ASSESSMENT_RESPONSE.value_measured
|
||||
, t_ASSESSMENT_RESPONSE.notes
|
||||
, t_ASSESSMENT_RESPONSE.active
|
||||
|
||||
, t_COLOURS.does_meet_id_filters
|
||||
, t_COLOURS.does_meet_non_id_filters
|
||||
FROM tmp_Colour t_COLOURS
|
||||
LEFT JOIN parts.DOG_Colour COLOURS ON t_COLOURS.id_colour = COLOURS.id_colour
|
||||
ORDER BY t_COLOURS.name
|
||||
, t_ASSESSMENT_RESPONSE.does_meet_id_filters
|
||||
, t_ASSESSMENT_RESPONSE.does_meet_non_id_filters
|
||||
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
|
||||
LEFT JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_ASSESSMENT_RESPONSE.id_response = ASSESSMENT_RESPONSE.id_response
|
||||
LEFT JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level
|
||||
LEFT JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric
|
||||
ORDER BY ASSESSMENT_RESPONSE.created_on DESC
|
||||
;
|
||||
|
||||
-- Errors
|
||||
@@ -325,16 +605,16 @@ BEGIN
|
||||
;
|
||||
|
||||
IF a_debug = 1 AND v_can_view = 1 THEN
|
||||
SELECT * FROM tmp_Colour;
|
||||
SELECT * FROM tmp_Assessment_Response;
|
||||
END IF;
|
||||
|
||||
CALL parts.p_dog_clear_calc_colour(
|
||||
CALL parts.p_dog_clear_calc_assessment_response(
|
||||
v_guid -- a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Colour;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Response;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL parts.p_core_debug_timing_reporting ( v_time_start );
|
||||
@@ -345,26 +625,81 @@ DELIMITER ;
|
||||
|
||||
/*
|
||||
|
||||
CALL parts.p_dog_get_many_colour (
|
||||
CALL parts.p_dog_get_many_assessment_response (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_colour
|
||||
, 0 -- a_get_inactive_colour
|
||||
, '' -- a_ids_colour
|
||||
, '' -- a_names_colour
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 1 -- a_require_any_non_id_search_filters_met
|
||||
, 1 -- a_debug
|
||||
);
|
||||
|
||||
, 1 -- a_get_all_assessment_response
|
||||
, 0 -- a_get_inactive_assessment_response
|
||||
, '' -- a_ids_assessment_response
|
||||
, '' -- a_notes_assessment_response
|
||||
, NULL -- a_min_value_measured_assessment_response
|
||||
, NULL -- a_max_value_measured_assessment_response
|
||||
|
||||
, 1 -- a_get_all_ACM_link
|
||||
, 0 -- a_get_inactive_ACM_link
|
||||
, '' -- a_ids_ACM_link
|
||||
, NULL -- a_min_distance_from_handler_ACM_link
|
||||
, NULL -- a_max_distance_from_handler_ACM_link
|
||||
, NULL -- a_value_is_in_sight_of_handler_ACM_link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
, NULL -- a_value_is_on_lead_ACM_link
|
||||
, NULL -- a_min_trial_count_ACM_link
|
||||
, NULL -- a_max_trial_count_ACM_link
|
||||
, 1 -- a_get_all_assessment
|
||||
, 0 -- a_get_inactive_assessment
|
||||
, '' -- a_ids_assessment
|
||||
, '' -- a_notes_assessment
|
||||
, NULL -- a_min_temperature_assessment
|
||||
, NULL -- a_max_temperature_assessment
|
||||
, 1 -- a_get_all_weather
|
||||
, 0 -- a_get_inactive_weather
|
||||
, '' -- a_ids_weather
|
||||
, '' -- a_names_weather
|
||||
, 1 -- a_get_all_lighting_level
|
||||
, 0 -- a_get_inactive_lighting_level
|
||||
, '' -- a_ids_lighting_level
|
||||
, '' -- a_names_lighting_level
|
||||
, 1 -- a_get_all_location
|
||||
, 0 -- a_get_inactive_location
|
||||
, '' -- a_ids_location
|
||||
, '' -- a_names_location
|
||||
, 1 -- a_get_all_user_handler
|
||||
, 0 -- a_get_inactive_user_handler
|
||||
, '' -- a_ids_user_handler
|
||||
-- , IN a_auth0_ids_user_handler TEXT
|
||||
, '' -- a_names_user_handler
|
||||
, '' -- a_emails_user_handler
|
||||
, 1 -- a_get_all_command_category
|
||||
, 0 -- a_get_inactive_command_category
|
||||
, '' -- a_ids_command_category
|
||||
, '' -- a_names_command_category
|
||||
, 1 -- a_get_all_command
|
||||
, 0 -- a_get_inactive_command
|
||||
, '' -- a_ids_command
|
||||
, '' -- a_names_command
|
||||
, '' -- a_hand_signal_default_descriptions_command
|
||||
, '' -- a_notes_command
|
||||
, 1 -- a_get_all_command_modality
|
||||
, 0 -- a_get_inactive_command_modality
|
||||
, '' -- a_ids_command_modality
|
||||
, '' -- a_names_command_modality
|
||||
, 1 -- a_get_all_bribe
|
||||
, 0 -- a_get_inactive_bribe
|
||||
, '' -- a_ids_bribe
|
||||
, '' -- a_names_bribe
|
||||
|
||||
, 1 -- a_get_all_response_quality_metric
|
||||
, 0 -- a_get_inactive_response_quality_metric
|
||||
, '' -- a_ids_response_quality_metric
|
||||
, '' -- a_names_response_quality_metric
|
||||
|
||||
, 1 -- a_get_all_obedience_level
|
||||
, 0 -- a_get_inactive_obedience_level
|
||||
, '' -- a_ids_obedience_level
|
||||
, '' -- a_names_obedience_level
|
||||
|
||||
|
||||
CALL demo.p_dog_get_many_colour (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_colour
|
||||
, 0 -- a_get_inactive_colour
|
||||
, '' -- a_ids_colour
|
||||
, 'pat,point' -- a_names_colour
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
|
||||
Reference in New Issue
Block a user