Feat: Architecture redesign for Assessments, Commands, Modalities, Training Techniques, Reinforcement Schedules, Distractions, and Assessment Responses.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -44,21 +44,29 @@ DROP TABLE IF EXISTS fetchmetrics.DOG_Response_Quality_Metric_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Response_Quality_Metric_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Response_Quality_Metric;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Technique_Link_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Technique_Link;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe_User_Link_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe_User_Link_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe_User_Link;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Training_Technique_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Training_Technique_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Training_Technique;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Link_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Link_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Link;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Reinforcement_Schedule_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Reinforcement_Schedule_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Reinforcement_Schedule;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_User_Link_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_User_Link_Audit;
|
||||
@@ -80,6 +88,10 @@ DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Type_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Type_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Type;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Lighting_Level_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Lighting_Level_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Lighting_Level;
|
||||
@@ -128,10 +140,6 @@ DROP TABLE IF EXISTS fetchmetrics.DOG_Location_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Location_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Location;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_User_Link_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_User_Link_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_User_Link;
|
||||
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_Temp;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_Audit;
|
||||
DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality;
|
||||
|
||||
27
static/MySQL/11308a_tbl_DOG_Assessment_Type.sql
Normal file
27
static/MySQL/11308a_tbl_DOG_Assessment_Type.sql
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Type'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Type (
|
||||
id_type INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, code VARCHAR(1000) NOT NULL
|
||||
, name VARCHAR(1000) NOT NULL
|
||||
, description VARCHAR(1000) NOT NULL
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
, created_on DATETIME
|
||||
, id_user_created_by INT
|
||||
, CONSTRAINT FK_DOG_Assessment_Type_id_user_created_by
|
||||
FOREIGN KEY (id_user_created_by)
|
||||
REFERENCES fetchmetrics.DOG_User(id_user)
|
||||
, id_change_set INT
|
||||
, CONSTRAINT FK_DOG_Assessment_Type_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
24
static/MySQL/11308b_tbl_DOG_Assessment_Type_Audit.sql
Normal file
24
static/MySQL/11308b_tbl_DOG_Assessment_Type_Audit.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Type_Audit'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Type_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_assessment_type INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Type_Audit_id_assessment_type
|
||||
FOREIGN KEY (id_assessment_type)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Type(id_type)
|
||||
, name_field VARCHAR(255) NOT NULL
|
||||
, value_prev TEXT
|
||||
, value_new TEXT
|
||||
, id_change_set INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Type_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
25
static/MySQL/11308c_tbl_DOG_Assessment_Type_Temp.sql
Normal file
25
static/MySQL/11308c_tbl_DOG_Assessment_Type_Temp.sql
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
-- DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Type_Temp;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Type_Temp'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Type_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(1000)
|
||||
, name VARCHAR(1000)
|
||||
, description VARCHAR(1000) NOT NULL
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
|
||||
, guid BINARY(36)
|
||||
);
|
||||
@@ -11,6 +11,16 @@ WHERE
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment (
|
||||
id_assessment INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
/*
|
||||
, id_assessment_group INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_id_assessment_group
|
||||
FOREIGN KEY (id_assessment_group)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Group(id_group)
|
||||
*/
|
||||
, id_assessment_type INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_id_assessment_type
|
||||
FOREIGN KEY (id_assessment_type)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Type(id_type)
|
||||
, id_weather INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_id_weather
|
||||
FOREIGN KEY (id_weather)
|
||||
@@ -27,9 +37,12 @@ CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment (
|
||||
, CONSTRAINT FK_DOG_Assessment_id_user_handler
|
||||
FOREIGN KEY (id_user_handler)
|
||||
REFERENCES fetchmetrics.DOG_User(id_user)
|
||||
, name VARCHAR(1000) NOT NULL
|
||||
, notes TEXT
|
||||
, temperature_celcius DECIMAL(5, 2)
|
||||
, difficulty_level DOUBLE
|
||||
, start_on DATETIME
|
||||
, end_on DATETIME
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
, created_on DATETIME
|
||||
, id_user_created_by INT
|
||||
@@ -13,13 +13,18 @@ WHERE
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_assessment INT
|
||||
-- , id_assessment_group INT
|
||||
, id_assessment_type INT
|
||||
, id_weather INT
|
||||
, id_lighting_level INT
|
||||
, id_location INT
|
||||
, id_user_handler INT
|
||||
, name VARCHAR(250)
|
||||
, notes TEXT
|
||||
, temperature_celcius DECIMAL(5, 2)
|
||||
, difficulty_level DOUBLE
|
||||
, start_on DATETIME
|
||||
, end_on DATETIME
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
27
static/MySQL/11325a_tbl_DOG_Reinforcement_Schedule.sql
Normal file
27
static/MySQL/11325a_tbl_DOG_Reinforcement_Schedule.sql
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Reinforcement_Schedule'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Reinforcement_Schedule (
|
||||
id_reinforcement_schedule INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, name VARCHAR(250) NOT NULL
|
||||
, description VARCHAR(1000) NOT NULL
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
, created_on DATETIME
|
||||
, id_user_created_by INT
|
||||
, CONSTRAINT FK_DOG_Reinforcement_Schedule_id_user_created_by
|
||||
FOREIGN KEY (id_user_created_by)
|
||||
REFERENCES fetchmetrics.DOG_User(id_user)
|
||||
, id_change_set INT
|
||||
, CONSTRAINT FK_DOG_Reinforcement_Schedule_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
24
static/MySQL/11325b_tbl_DOG_Reinforcement_Schedule_Audit.sql
Normal file
24
static/MySQL/11325b_tbl_DOG_Reinforcement_Schedule_Audit.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Reinforcement_Schedule_Audit'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Reinforcement_Schedule_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_reinforcement_schedule INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Reinforcement_Schedule_Audit_id_reinforcement_schedule
|
||||
FOREIGN KEY (id_reinforcement_schedule)
|
||||
REFERENCES fetchmetrics.DOG_Reinforcement_Schedule(id_reinforcement_schedule)
|
||||
, name_field VARCHAR(255) NOT NULL
|
||||
, value_prev TEXT
|
||||
, value_new TEXT
|
||||
, id_change_set INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Reinforcement_Schedule_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
25
static/MySQL/11325c_tbl_DOG_Reinforcement_Schedule_Temp.sql
Normal file
25
static/MySQL/11325c_tbl_DOG_Reinforcement_Schedule_Temp.sql
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
-- DROP TABLE IF EXISTS fetchmetrics.DOG_Reinforcement_Schedule_Temp;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Reinforcement_Schedule_Temp'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Reinforcement_Schedule_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_reinforcement_schedule INT
|
||||
, code VARCHAR(250)
|
||||
, name VARCHAR(250)
|
||||
, description VARCHAR(1000) NOT NULL
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
|
||||
, guid BINARY(36)
|
||||
);
|
||||
@@ -5,28 +5,34 @@ SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Command_Modality_Link'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Command_Link'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link (
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Link (
|
||||
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_assessment INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_assessment
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Link_id_assessment
|
||||
FOREIGN KEY (id_assessment)
|
||||
REFERENCES fetchmetrics.DOG_Assessment(id_assessment)
|
||||
, id_command INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_command
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Link_id_command
|
||||
FOREIGN KEY (id_command)
|
||||
REFERENCES fetchmetrics.DOG_Command(id_command)
|
||||
/*
|
||||
, id_command_modality INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_command_modality
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Link_id_command_modality
|
||||
FOREIGN KEY (id_command_modality)
|
||||
REFERENCES fetchmetrics.DOG_Command_Modality(id_command_modality)
|
||||
, id_bribe INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_bribe
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Link_id_bribe
|
||||
FOREIGN KEY (id_bribe)
|
||||
REFERENCES fetchmetrics.DOG_Bribe(id_bribe)
|
||||
*/
|
||||
, id_reinforcement_schedule INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Link_id_reinforcement_schedule
|
||||
FOREIGN KEY (id_reinforcement_schedule)
|
||||
REFERENCES fetchmetrics.DOG_Reinforcement_Schedule(id_reinforcement_schedule)
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
@@ -36,11 +42,11 @@ CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link (
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
, created_on DATETIME
|
||||
, id_user_created_by INT
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_user_created_by
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Link_id_user_created_by
|
||||
FOREIGN KEY (id_user_created_by)
|
||||
REFERENCES fetchmetrics.DOG_User(id_user)
|
||||
, id_change_set INT
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_change_set
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Link_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Command_Link_Audit'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Link_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_link INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Link_Audit_id_link
|
||||
FOREIGN KEY (id_link)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Command_Link(id_link)
|
||||
, name_field VARCHAR(255) NOT NULL
|
||||
, value_prev TEXT
|
||||
, value_new TEXT
|
||||
, id_change_set INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Link_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
31
static/MySQL/11328c_tbl_DOG_Assessment_Command_Link_Temp.sql
Normal file
31
static/MySQL/11328c_tbl_DOG_Assessment_Command_Link_Temp.sql
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
-- DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Link_Temp;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Command_Link_Temp'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Link_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_link INT
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_reinforcement_schedule INT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
, is_on_lead BIT
|
||||
, trial_count INT
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
|
||||
, guid BINARY(36)
|
||||
);
|
||||
27
static/MySQL/11329a_tbl_DOG_Training_Technique.sql
Normal file
27
static/MySQL/11329a_tbl_DOG_Training_Technique.sql
Normal file
@@ -0,0 +1,27 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Training_Technique'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Training_Technique (
|
||||
id_technique INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, code VARCHAR(1000) NOT NULL
|
||||
, name VARCHAR(1000) NOT NULL
|
||||
, description VARCHAR(1000) NOT NULL
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
, created_on DATETIME
|
||||
, id_user_created_by INT
|
||||
, CONSTRAINT FK_DOG_Training_Technique_id_user_created_by
|
||||
FOREIGN KEY (id_user_created_by)
|
||||
REFERENCES fetchmetrics.DOG_User(id_user)
|
||||
, id_change_set INT
|
||||
, CONSTRAINT FK_DOG_Training_Technique_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
24
static/MySQL/11329b_tbl_DOG_Training_Technique_Audit.sql
Normal file
24
static/MySQL/11329b_tbl_DOG_Training_Technique_Audit.sql
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Training_Technique_Audit'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Training_Technique_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_training_technique INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Training_Technique_Audit_id_training_technique
|
||||
FOREIGN KEY (id_training_technique)
|
||||
REFERENCES fetchmetrics.DOG_Training_Technique(id_technique)
|
||||
, name_field VARCHAR(255) NOT NULL
|
||||
, value_prev TEXT
|
||||
, value_new TEXT
|
||||
, id_change_set INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Training_Technique_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
25
static/MySQL/11329c_tbl_DOG_Training_Technique_Temp.sql
Normal file
25
static/MySQL/11329c_tbl_DOG_Training_Technique_Temp.sql
Normal file
@@ -0,0 +1,25 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
-- DROP TABLE IF EXISTS fetchmetrics.DOG_Training_Technique_Temp;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Training_Technique_Temp'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Training_Technique_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_technique INT
|
||||
, code VARCHAR(1000)
|
||||
, name VARCHAR(1000)
|
||||
, description VARCHAR(1000) NOT NULL
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
|
||||
, guid BINARY(36)
|
||||
);
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Command_Technique_Link'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Technique_Link (
|
||||
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_assessment_command_link INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_ACTL_id_assessment_command_link
|
||||
FOREIGN KEY (id_assessment_command_link)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Command_Link(id_link)
|
||||
, id_training_technique INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_ACTL_id_training_technique
|
||||
FOREIGN KEY (id_training_technique)
|
||||
REFERENCES fetchmetrics.DOG_Training_Technique(id_technique)
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
, created_on DATETIME
|
||||
, id_user_created_by INT
|
||||
, CONSTRAINT FK_DOG_ACTL_id_user_created_by
|
||||
FOREIGN KEY (id_user_created_by)
|
||||
REFERENCES fetchmetrics.DOG_User(id_user)
|
||||
, id_change_set INT
|
||||
, CONSTRAINT FK_DOG_ACTL_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Command_Technique_Link_Audit'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Technique_Link_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_link INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_ACTL_Audit_id_link
|
||||
FOREIGN KEY (id_link)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Command_Technique_Link(id_link)
|
||||
, name_field VARCHAR(255) NOT NULL
|
||||
, value_prev TEXT
|
||||
, value_new TEXT
|
||||
, id_change_set INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_ACTL_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
-- DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Command_Technique_Link_Temp'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_link INT
|
||||
, id_assessment_command_link INT
|
||||
, id_training_technique INT
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
|
||||
, guid BINARY(36)
|
||||
);
|
||||
@@ -0,0 +1,32 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Command_Modality_Link'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link (
|
||||
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_assessment_command_link INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_ACML_id_assessment_command_link
|
||||
FOREIGN KEY (id_assessment_command_link)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Command_Link(id_link)
|
||||
, id_command_modality INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_ACML_id_command_modality
|
||||
FOREIGN KEY (id_command_modality)
|
||||
REFERENCES fetchmetrics.DOG_Command_Modality(id_command_modality)
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
, created_on DATETIME
|
||||
, id_user_created_by INT
|
||||
, CONSTRAINT FK_DOG_ACML_id_user_created_by
|
||||
FOREIGN KEY (id_user_created_by)
|
||||
REFERENCES fetchmetrics.DOG_User(id_user)
|
||||
, id_change_set INT
|
||||
, CONSTRAINT FK_DOG_ACML_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -11,14 +11,14 @@ WHERE
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_link INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_Audit_id_link
|
||||
, CONSTRAINT FK_DOG_ACML_Audit_id_link
|
||||
FOREIGN KEY (id_link)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Command_Modality_Link(id_link)
|
||||
, name_field VARCHAR(255) NOT NULL
|
||||
, value_prev TEXT
|
||||
, value_new TEXT
|
||||
, id_change_set INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_Audit_id_change_set
|
||||
, CONSTRAINT FK_DOG_ACML_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -13,16 +13,8 @@ WHERE
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_link INT
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_assessment_command_link INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
, is_on_lead BIT
|
||||
, trial_count INT
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
@@ -13,10 +13,16 @@ WHERE
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction (
|
||||
id_distraction INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
/*
|
||||
, id_assessment INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Distraction_id_assessment
|
||||
FOREIGN KEY (id_assessment)
|
||||
REFERENCES fetchmetrics.DOG_Assessment(id_assessment)
|
||||
*/
|
||||
, id_assessment_command_link INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Distraction_id_assessment_command_link
|
||||
FOREIGN KEY (id_assessment_command_link)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Command_Link(id_link)
|
||||
, id_distraction_type INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Distraction_id_distraction_type
|
||||
FOREIGN KEY (id_distraction_type)
|
||||
@@ -13,7 +13,8 @@ WHERE
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_distraction INT
|
||||
, id_assessment INT
|
||||
-- , id_assessment INT
|
||||
, id_assessment_command_link INT
|
||||
, id_distraction_type INT
|
||||
, id_intensity_level_emotional INT
|
||||
, id_intensity_level_scent INT
|
||||
@@ -13,10 +13,10 @@ WHERE
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Response (
|
||||
id_response INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_assessment_command_modality_link INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Response_id_assessment_command_modality_link
|
||||
FOREIGN KEY (id_assessment_command_modality_link)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Command_Modality_Link(id_link)
|
||||
, id_assessment_command_link INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Response_id_assessment_command_link
|
||||
FOREIGN KEY (id_assessment_command_link)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Command_Link(id_link)
|
||||
, id_response_quality_metric INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Response_id_response_quality_metric
|
||||
FOREIGN KEY (id_response_quality_metric)
|
||||
|
||||
@@ -13,7 +13,7 @@ WHERE
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Response_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_response INT
|
||||
, id_assessment_command_modality_link INT
|
||||
, id_assessment_command_link INT
|
||||
, id_response_quality_metric INT
|
||||
, id_obedience_level INT
|
||||
, value_measured DOUBLE
|
||||
|
||||
50
static/MySQL/31308_tri_DOG_Assessment_Type.sql
Normal file
50
static/MySQL/31308_tri_DOG_Assessment_Type.sql
Normal file
@@ -0,0 +1,50 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Assessment_Type;
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Assessment_Type;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_insert_DOG_Assessment_Type
|
||||
BEFORE INSERT ON fetchmetrics.DOG_Assessment_Type
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_update_DOG_Assessment_Type
|
||||
BEFORE UPDATE ON fetchmetrics.DOG_Assessment_Type
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Type_Audit (
|
||||
id_type
|
||||
, name_field
|
||||
, value_prev
|
||||
, value_new
|
||||
, id_change_set
|
||||
)
|
||||
-- Changed code
|
||||
SELECT NEW.id_type, 'code', OLD.code, NEW.code, NEW.id_change_set
|
||||
WHERE NOT (OLD.code <=> NEW.code)
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.id_type, 'name', OLD.name, NEW.name, NEW.id_change_set
|
||||
WHERE NOT (OLD.name <=> NEW.name)
|
||||
UNION
|
||||
-- Changed description
|
||||
SELECT NEW.id_type, 'description', OLD.description, NEW.description, NEW.id_change_set
|
||||
WHERE NOT (OLD.description <=> NEW.description)
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.id_type, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;
|
||||
88
static/MySQL/31310_tri_DOG_Assessment.sql
Normal file
88
static/MySQL/31310_tri_DOG_Assessment.sql
Normal file
@@ -0,0 +1,88 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Assessment;
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Assessment;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_insert_DOG_Assessment
|
||||
BEFORE INSERT ON fetchmetrics.DOG_Assessment
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_update_DOG_Assessment
|
||||
BEFORE UPDATE ON fetchmetrics.DOG_Assessment
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Audit (
|
||||
id_assessment
|
||||
, name_field
|
||||
, value_prev
|
||||
, value_new
|
||||
, id_change_set
|
||||
)
|
||||
/*
|
||||
-- Changed id_assessment_group
|
||||
SELECT NEW.id_assessment, 'id_assessment_group', CONVERT(OLD.id_assessment_group, CHAR), CONVERT(NEW.id_assessment_group, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_assessment_group <=> NEW.id_assessment_group)
|
||||
UNION
|
||||
*/
|
||||
-- Changed id_assessment_type
|
||||
SELECT NEW.id_assessment, 'id_assessment_type', CONVERT(OLD.id_assessment_type, CHAR), CONVERT(NEW.id_assessment_type, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_assessment_type <=> NEW.id_assessment_type)
|
||||
UNION
|
||||
-- Changed id_weather
|
||||
SELECT NEW.id_assessment, 'id_weather', CONVERT(OLD.id_weather, CHAR), CONVERT(NEW.id_weather, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_weather <=> NEW.id_weather)
|
||||
UNION
|
||||
-- Changed id_lighting_level
|
||||
SELECT NEW.id_assessment, 'id_lighting_level', CONVERT(OLD.id_lighting_level, CHAR), CONVERT(NEW.id_lighting_level, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_lighting_level <=> NEW.id_lighting_level)
|
||||
UNION
|
||||
-- Changed id_location
|
||||
SELECT NEW.id_assessment, 'id_location', CONVERT(OLD.id_location, CHAR), CONVERT(NEW.id_location, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_location <=> NEW.id_location)
|
||||
UNION
|
||||
-- Changed id_user_handler
|
||||
SELECT NEW.id_assessment, 'id_user_handler', CONVERT(OLD.id_user_handler, CHAR), CONVERT(NEW.id_user_handler, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_user_handler <=> NEW.id_user_handler)
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.id_assessment, 'name', OLD.name, NEW.name, NEW.id_change_set
|
||||
WHERE NOT (OLD.name <=> NEW.name)
|
||||
UNION
|
||||
-- Changed notes
|
||||
SELECT NEW.id_assessment, 'notes', OLD.notes, NEW.notes, NEW.id_change_set
|
||||
WHERE NOT (OLD.notes <=> NEW.notes)
|
||||
UNION
|
||||
-- Changed temperature_celcius
|
||||
SELECT NEW.id_assessment, 'temperature_celcius', CONVERT(OLD.temperature_celcius, CHAR), CONVERT(NEW.temperature_celcius, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.temperature_celcius <=> NEW.temperature_celcius)
|
||||
UNION
|
||||
-- Changed difficulty_level
|
||||
SELECT NEW.id_assessment, 'difficulty_level', CONVERT(OLD.difficulty_level, CHAR), CONVERT(NEW.difficulty_level, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.difficulty_level <=> NEW.difficulty_level)
|
||||
UNION
|
||||
-- Changed start_on
|
||||
SELECT NEW.id_assessment, 'start_on', CONVERT(OLD.start_on, CHAR), CONVERT(NEW.start_on, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.start_on <=> NEW.start_on)
|
||||
UNION
|
||||
-- Changed end_on
|
||||
SELECT NEW.id_assessment, 'end_on', CONVERT(OLD.end_on, CHAR), CONVERT(NEW.end_on, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.end_on <=> NEW.end_on)
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.id_assessment, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;
|
||||
50
static/MySQL/31325_tri_DOG_Reinforcement_Schedule.sql
Normal file
50
static/MySQL/31325_tri_DOG_Reinforcement_Schedule.sql
Normal file
@@ -0,0 +1,50 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Reinforcement_Schedule;
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Reinforcement_Schedule;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_insert_DOG_Reinforcement_Schedule
|
||||
BEFORE INSERT ON fetchmetrics.DOG_Reinforcement_Schedule
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_update_DOG_Reinforcement_Schedule
|
||||
BEFORE UPDATE ON fetchmetrics.DOG_Reinforcement_Schedule
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Reinforcement_Schedule_Audit (
|
||||
id_reinforcement_schedule
|
||||
, name_field
|
||||
, value_prev
|
||||
, value_new
|
||||
, id_change_set
|
||||
)
|
||||
-- Changed code
|
||||
SELECT NEW.id_reinforcement_schedule, 'code', OLD.code, NEW.code, NEW.id_change_set
|
||||
WHERE NOT (OLD.code <=> NEW.code)
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.id_reinforcement_schedule, 'name', OLD.name, NEW.name, NEW.id_change_set
|
||||
WHERE NOT (OLD.name <=> NEW.name)
|
||||
UNION
|
||||
-- Changed description
|
||||
SELECT NEW.id_reinforcement_schedule, 'description', OLD.description, NEW.description, NEW.id_change_set
|
||||
WHERE NOT (OLD.description <=> NEW.description)
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.id_reinforcement_schedule, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;
|
||||
@@ -1,12 +1,12 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Assessment_Command_Modality_Link;
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Assessment_Command_Modality_Link;
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Assessment_Command_Link;
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Assessment_Command_Link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_insert_DOG_Assessment_Command_Modality_Link
|
||||
BEFORE INSERT ON fetchmetrics.DOG_Assessment_Command_Modality_Link
|
||||
CREATE TRIGGER fetchmetrics.before_insert_DOG_Assessment_Command_Link
|
||||
BEFORE INSERT ON fetchmetrics.DOG_Assessment_Command_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
@@ -14,8 +14,8 @@ END //
|
||||
DELIMITER ;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_update_DOG_Assessment_Command_Modality_Link
|
||||
BEFORE UPDATE ON fetchmetrics.DOG_Assessment_Command_Modality_Link
|
||||
CREATE TRIGGER fetchmetrics.before_update_DOG_Assessment_Command_Link
|
||||
BEFORE UPDATE ON fetchmetrics.DOG_Assessment_Command_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
@@ -23,7 +23,7 @@ BEGIN
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link_Audit (
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Link_Audit (
|
||||
id_link
|
||||
, name_field
|
||||
, value_prev
|
||||
@@ -37,6 +37,7 @@ BEGIN
|
||||
-- Changed id_command
|
||||
SELECT NEW.id_link, 'id_command', CONVERT(OLD.id_command, CHAR), CONVERT(NEW.id_command, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_command <=> NEW.id_command)
|
||||
/*
|
||||
UNION
|
||||
-- Changed id_command_modality
|
||||
SELECT NEW.id_link, 'id_command_modality', CONVERT(OLD.id_command_modality, CHAR), CONVERT(NEW.id_command_modality, CHAR), NEW.id_change_set
|
||||
@@ -45,6 +46,11 @@ BEGIN
|
||||
-- Changed id_bribe
|
||||
SELECT NEW.id_link, 'id_bribe', CONVERT(OLD.id_bribe, CHAR), CONVERT(NEW.id_bribe, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_bribe <=> NEW.id_bribe)
|
||||
*/
|
||||
UNION
|
||||
-- Changed id_reinforcement_schedule
|
||||
SELECT NEW.id_link, 'id_reinforcement_schedule', CONVERT(OLD.id_reinforcement_schedule, CHAR), CONVERT(NEW.id_reinforcement_schedule, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_reinforcement_schedule <=> NEW.id_reinforcement_schedule)
|
||||
UNION
|
||||
-- Changed distance_from_handler_metres
|
||||
SELECT NEW.id_link, 'distance_from_handler_metres', CONVERT(OLD.distance_from_handler_metres, CHAR), CONVERT(NEW.distance_from_handler_metres, CHAR), NEW.id_change_set
|
||||
50
static/MySQL/31329_tri_DOG_Training_Technique.sql
Normal file
50
static/MySQL/31329_tri_DOG_Training_Technique.sql
Normal file
@@ -0,0 +1,50 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Training_Technique;
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Training_Technique;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_insert_DOG_Training_Technique
|
||||
BEFORE INSERT ON fetchmetrics.DOG_Training_Technique
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_update_DOG_Training_Technique
|
||||
BEFORE UPDATE ON fetchmetrics.DOG_Training_Technique
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Training_Technique_Audit (
|
||||
id_training_technique
|
||||
, name_field
|
||||
, value_prev
|
||||
, value_new
|
||||
, id_change_set
|
||||
)
|
||||
-- Changed code
|
||||
SELECT NEW.id_technique, 'code', OLD.code, NEW.code, NEW.id_change_set
|
||||
WHERE NOT (OLD.code <=> NEW.code)
|
||||
UNION
|
||||
-- Changed name
|
||||
SELECT NEW.id_technique, 'name', OLD.name, NEW.name, NEW.id_change_set
|
||||
WHERE NOT (OLD.name <=> NEW.name)
|
||||
UNION
|
||||
-- Changed description
|
||||
SELECT NEW.id_technique, 'description', OLD.description, NEW.description, NEW.id_change_set
|
||||
WHERE NOT (OLD.description <=> NEW.description)
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.id_technique, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;
|
||||
@@ -0,0 +1,46 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Assessment_Command_Technique_Link;
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Assessment_Command_Technique_Link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_insert_DOG_Assessment_Command_Technique_Link
|
||||
BEFORE INSERT ON fetchmetrics.DOG_Assessment_Command_Technique_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_update_DOG_Assessment_Command_Technique_Link
|
||||
BEFORE UPDATE ON fetchmetrics.DOG_Assessment_Command_Technique_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Technique_Link_Audit (
|
||||
id_link
|
||||
, name_field
|
||||
, value_prev
|
||||
, value_new
|
||||
, id_change_set
|
||||
)
|
||||
-- Changed id_assessment_command_link
|
||||
SELECT NEW.id_link, 'id_assessment_command_link', CONVERT(OLD.id_assessment_command_link, CHAR), CONVERT(NEW.id_assessment_command_link, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_assessment_command_link <=> NEW.id_assessment_command_link)
|
||||
UNION
|
||||
-- Changed id_training_technique
|
||||
SELECT NEW.id_link, 'id_training_technique', CONVERT(OLD.id_training_technique, CHAR), CONVERT(NEW.id_training_technique, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_training_technique <=> NEW.id_training_technique)
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;
|
||||
@@ -0,0 +1,46 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Assessment_Command_Modality_Link;
|
||||
DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Assessment_Command_Modality_Link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_insert_DOG_Assessment_Command_Modality_Link
|
||||
BEFORE INSERT ON fetchmetrics.DOG_Assessment_Command_Modality_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
SET NEW.created_on := IFNULL(NEW.created_on, NOW());
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER fetchmetrics.before_update_DOG_Assessment_Command_Modality_Link
|
||||
BEFORE UPDATE ON fetchmetrics.DOG_Assessment_Command_Modality_Link
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link_Audit (
|
||||
id_link
|
||||
, name_field
|
||||
, value_prev
|
||||
, value_new
|
||||
, id_change_set
|
||||
)
|
||||
-- Changed id_assessment_command_link
|
||||
SELECT NEW.id_link, 'id_assessment_command_link', CONVERT(OLD.id_assessment_command_link, CHAR), CONVERT(NEW.id_assessment_command_link, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_assessment_command_link <=> NEW.id_assessment_command_link)
|
||||
UNION
|
||||
-- Changed id_command_modality
|
||||
SELECT NEW.id_link, 'id_command_modality', CONVERT(OLD.id_command_modality, CHAR), CONVERT(NEW.id_command_modality, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_command_modality <=> NEW.id_command_modality)
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;
|
||||
@@ -30,10 +30,16 @@ BEGIN
|
||||
, value_new
|
||||
, id_change_set
|
||||
)
|
||||
/*
|
||||
-- Changed id_assessment
|
||||
SELECT NEW.id_distraction, 'id_assessment', CONVERT(OLD.id_assessment, CHAR), CONVERT(NEW.id_assessment, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_assessment <=> NEW.id_assessment)
|
||||
UNION
|
||||
*/
|
||||
-- Changed id_assessment_command_link
|
||||
SELECT NEW.id_distraction, 'id_assessment_command_link', CONVERT(OLD.id_assessment_command_link, CHAR), CONVERT(NEW.id_assessment_command_link, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_assessment_command_link <=> NEW.id_assessment_command_link)
|
||||
UNION
|
||||
-- Changed id_distraction_type
|
||||
SELECT NEW.id_distraction, 'id_distraction_type', CONVERT(OLD.id_distraction_type, CHAR), CONVERT(NEW.id_distraction_type, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_distraction_type <=> NEW.id_distraction_type)
|
||||
@@ -30,9 +30,9 @@ BEGIN
|
||||
, value_new
|
||||
, id_change_set
|
||||
)
|
||||
-- Changed id_assessment_command_modality_link
|
||||
SELECT NEW.id_response, 'id_assessment_command_modality_link', CONVERT(OLD.id_assessment_command_modality_link, CHAR), CONVERT(NEW.id_assessment_command_modality_link, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_assessment_command_modality_link <=> NEW.id_assessment_command_modality_link)
|
||||
-- Changed id_assessment_command_link
|
||||
SELECT NEW.id_response, 'id_assessment_command_link', CONVERT(OLD.id_assessment_command_link, CHAR), CONVERT(NEW.id_assessment_command_link, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_assessment_command_link <=> NEW.id_assessment_command_link)
|
||||
UNION
|
||||
-- Changed id_response_quality_metric
|
||||
SELECT NEW.id_response, 'id_response_quality_metric', CONVERT(OLD.id_response_quality_metric, CHAR), CONVERT(NEW.id_response_quality_metric, CHAR), NEW.id_change_set
|
||||
|
||||
@@ -73,7 +73,7 @@ BEGIN
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_permission_dog_admin := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_ADMIN' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_admin := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'ADMIN' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
@@ -667,7 +667,6 @@ SET
|
||||
WHERE C.hand_signal_default_description = ''
|
||||
;
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -740,3 +739,5 @@ ORDER BY CC.name, C.name
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Command
|
||||
;
|
||||
|
||||
*/
|
||||
|
||||
@@ -72,7 +72,7 @@ BEGIN
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
@@ -72,7 +72,7 @@ BEGIN
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
@@ -72,7 +72,7 @@ BEGIN
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
@@ -72,7 +72,7 @@ BEGIN
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
543
static/MySQL/71308_p_dog_calc_assessment_type.sql
Normal file
543
static/MySQL/71308_p_dog_calc_assessment_type.sql
Normal file
@@ -0,0 +1,543 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_assessment_type;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment_type (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_id_user INT
|
||||
, IN a_get_all_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type 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_show_errors 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_has_filter_assessment_type_id BIT;
|
||||
DECLARE v_has_filter_assessment_type_name BIT;
|
||||
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_Calc_Assessment_Type (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error_Calc_Assessment_Type (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM fetchmetrics.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_Calc_Assessment_Type t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Assessment_Type;
|
||||
END;
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_code_type_error_no_permission := 'NO_PERMISSION';
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
SET a_get_all_assessment_type := IFNULL(a_get_all_assessment_type, 0);
|
||||
SET a_get_inactive_assessment_type := IFNULL(a_get_inactive_assessment_type, 0);
|
||||
SET a_ids_assessment_type := TRIM(IFNULL(a_ids_assessment_type, ''));
|
||||
SET a_names_assessment_type := TRIM(IFNULL(a_names_assessment_type, ''));
|
||||
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_show_errors := IFNULL(a_show_errors, 0);
|
||||
SET a_debug := IFNULL(a_debug, 0);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid
|
||||
, a_id_user
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_show_errors
|
||||
, a_debug
|
||||
;
|
||||
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_id_type_error_no_permission
|
||||
, v_id_permission_dog_view
|
||||
, v_time_start
|
||||
;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Assessment_Type;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Assessment_Type;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_Assessment_Type;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Type_Calc_Assessment_Type;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Type_Calc_Assessment_Type (
|
||||
id_type INT NOT NULL
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment_Type (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Assessment_Type (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Assessment_Type;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Assessment_Type (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Assessment_Type;
|
||||
|
||||
SET v_has_filter_assessment_type_id = CASE WHEN a_ids_assessment_type <> '' THEN 1 ELSE 0 END;
|
||||
SET v_has_filter_assessment_type_name = CASE WHEN a_names_assessment_type <> '' THEN 1 ELSE 0 END;
|
||||
|
||||
-- Assessment_Types
|
||||
IF v_has_filter_assessment_type_id = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_ids_assessment_type, ',', a_debug);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
INSERT INTO tmp_Split_Id_Calc_Assessment_Type (
|
||||
substring
|
||||
, as_int
|
||||
)
|
||||
SELECT
|
||||
SPLIT_T.substring
|
||||
, CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int
|
||||
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
|
||||
WHERE
|
||||
SPLIT_T.GUID = a_guid
|
||||
AND IFNULL(SPLIT_T.substring, '') <> ''
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_core_clear_split( a_guid );
|
||||
END IF;
|
||||
|
||||
IF v_has_filter_assessment_type_name = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_names_assessment_type, ',', a_debug);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
INSERT INTO tmp_Split_Name_Calc_Assessment_Type (
|
||||
substring
|
||||
, as_int
|
||||
)
|
||||
SELECT
|
||||
SPLIT_T.substring
|
||||
, CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int
|
||||
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
|
||||
WHERE
|
||||
SPLIT_T.GUID = a_guid
|
||||
AND IFNULL(SPLIT_T.substring, '') <> ''
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_core_clear_split( a_guid );
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Type t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Split_Id_Calc_Assessment_Type t_SPLIT_ID
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Type ASSESSMENT_TYPES ON t_SPLIT_ID.as_int = ASSESSMENT_TYPES.id_type
|
||||
WHERE
|
||||
ISNULL(t_SPLIT_ID.as_int)
|
||||
OR ISNULL(ASSESSMENT_TYPES.id_type)
|
||||
OR (
|
||||
ASSESSMENT_TYPES.active = 0
|
||||
AND a_get_inactive_assessment_type = 0
|
||||
)
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error_Calc_Assessment_Type (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('Invalid or inactive Assessment_Type IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL'))
|
||||
FROM tmp_Split_Id_Calc_Assessment_Type t_SPLIT_ID
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Type ASSESSMENT_TYPES ON t_SPLIT_ID.as_int = ASSESSMENT_TYPES.id_type
|
||||
WHERE
|
||||
ISNULL(t_SPLIT_ID.as_int)
|
||||
OR ISNULL(ASSESSMENT_TYPES.id_type)
|
||||
OR (
|
||||
ASSESSMENT_TYPES.active = 0
|
||||
AND a_get_inactive_assessment_type = 0
|
||||
)
|
||||
;
|
||||
/* Don't error on names, hand signals, or notes not found
|
||||
ELSEIF EXISTS ()
|
||||
*/
|
||||
ELSE
|
||||
INSERT INTO tmp_Assessment_Type_Calc_Assessment_Type (
|
||||
id_type
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
WITH
|
||||
Assessment_Type_Id_Filter AS (
|
||||
SELECT ASSESSMENT_TYPES.id_type
|
||||
FROM tmp_Split_Id_Calc_Assessment_Type t_SPLIT_ID
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Type ASSESSMENT_TYPES ON t_SPLIT_ID.as_int = ASSESSMENT_TYPES.id_type
|
||||
)
|
||||
, Assessment_Type_Name_Filter AS (
|
||||
SELECT ASSESSMENT_TYPES.id_type
|
||||
FROM tmp_Split_Name_Calc_Assessment_Type t_SPLIT_NAME
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Type ASSESSMENT_TYPES ON ASSESSMENT_TYPES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%')
|
||||
WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL
|
||||
)
|
||||
, Assessment_Type_Filters AS (
|
||||
SELECT
|
||||
ASSESSMENT_TYPES_COMBINED.id_type
|
||||
, MAX(ASSESSMENT_TYPES_COMBINED.does_meet_id_filter) AS does_meet_id_filter
|
||||
, MAX(ASSESSMENT_TYPES_COMBINED.does_meet_name_filter) AS does_meet_name_filter
|
||||
FROM (
|
||||
SELECT
|
||||
ASSESSMENT_TYPES_ID_FILTER.id_type
|
||||
, 1 AS does_meet_id_filter
|
||||
, 0 AS does_meet_name_filter
|
||||
FROM Assessment_Type_Id_Filter ASSESSMENT_TYPES_ID_FILTER
|
||||
UNION
|
||||
SELECT
|
||||
ASSESSMENT_TYPES_NAME_FILTER.id_type
|
||||
, 0 AS does_meet_id_filter
|
||||
, 1 AS does_meet_name_filter
|
||||
FROM Assessment_Type_Name_Filter ASSESSMENT_TYPES_NAME_FILTER
|
||||
) ASSESSMENT_TYPES_COMBINED
|
||||
GROUP BY ASSESSMENT_TYPES_COMBINED.id_type
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_TYPES.id_type
|
||||
, CASE WHEN
|
||||
v_has_filter_assessment_type_id = 0
|
||||
OR IFNULL(ASSESSMENT_TYPES_FILTERS.does_meet_id_filter, 0) = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_id_filters
|
||||
, CASE WHEN
|
||||
(
|
||||
v_has_filter_assessment_type_name = 0
|
||||
)
|
||||
OR IFNULL(ASSESSMENT_TYPES_FILTERS.does_meet_name_filter, 0) = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Type ASSESSMENT_TYPES
|
||||
LEFT JOIN Assessment_Type_Filters ASSESSMENT_TYPES_FILTERS ON ASSESSMENT_TYPES.id_type = ASSESSMENT_TYPES_FILTERS.id_type
|
||||
WHERE
|
||||
(
|
||||
a_get_all_assessment_type = 1
|
||||
OR (
|
||||
v_has_filter_assessment_type_id = 1
|
||||
AND ASSESSMENT_TYPES_FILTERS.does_meet_id_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_type_name = 1
|
||||
AND ASSESSMENT_TYPES_FILTERS.does_meet_name_filter = 1
|
||||
)
|
||||
)
|
||||
AND (
|
||||
a_get_inactive_assessment_type = 1
|
||||
OR ASSESSMENT_TYPES.active = 1
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Split_Id_Calc_Assessment_Type;
|
||||
DELETE FROM tmp_Split_Name_Calc_Assessment_Type;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After get Assessment_Types ';
|
||||
SELECT * FROM tmp_Assessment_Type_Calc_Assessment_Type;
|
||||
END IF;
|
||||
|
||||
-- Filter records
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Type t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
DELETE t_ASSESSMENT_TYPES
|
||||
FROM tmp_Assessment_Type_Calc_Assessment_Type t_ASSESSMENT_TYPES
|
||||
WHERE
|
||||
(
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
t_ASSESSMENT_TYPES.does_meet_id_filters = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_all_non_id_search_filters_met = 1
|
||||
AND (
|
||||
t_ASSESSMENT_TYPES.does_meet_non_id_filters = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND t_ASSESSMENT_TYPES.does_meet_id_filters = 0
|
||||
)
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND t_ASSESSMENT_TYPES.does_meet_non_id_filters = 0
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After filter Assessment_Types';
|
||||
SELECT * FROM tmp_Assessment_Type_Calc_Assessment_Type;
|
||||
END IF;
|
||||
|
||||
-- Calculated fields
|
||||
|
||||
-- Permissions
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- 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_view -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_user_access(
|
||||
a_guid -- 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_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 fetchmetrics.DOG_Calc_User_Access_Temp CALC_USER_T
|
||||
WHERE CALC_USER_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT v_can_view;
|
||||
END IF;
|
||||
|
||||
IF (v_can_view = 0) THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error_Calc_Assessment_Type t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error_Calc_Assessment_Type (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to view Dogs and Assessment_Types.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Before non-permitted data deletion';
|
||||
SELECT * FROM tmp_Assessment_Type_Calc_Assessment_Type;
|
||||
SELECT * FROM tmp_Msg_Error_Calc_Assessment_Type;
|
||||
END IF;
|
||||
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Type t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Type_Calc_Assessment_Type;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Type_Calc_Assessment_Type;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After non-permitted data deletion';
|
||||
END IF;
|
||||
|
||||
-- Outputs
|
||||
START TRANSACTION;
|
||||
-- Assessment_Types
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Type_Temp (
|
||||
guid
|
||||
, id_type
|
||||
, code
|
||||
, name
|
||||
, description
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
a_guid
|
||||
, t_ASSESSMENT_TYPES.id_type
|
||||
, ASSESSMENT_TYPES.code
|
||||
, ASSESSMENT_TYPES.name
|
||||
, ASSESSMENT_TYPES.description
|
||||
, ASSESSMENT_TYPES.active
|
||||
|
||||
, t_ASSESSMENT_TYPES.does_meet_id_filters
|
||||
, t_ASSESSMENT_TYPES.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Type ASSESSMENT_TYPES
|
||||
INNER JOIN tmp_Assessment_Type_Calc_Assessment_Type t_ASSESSMENT_TYPES ON ASSESSMENT_TYPES.id_type = t_ASSESSMENT_TYPES.id_type
|
||||
ORDER BY ASSESSMENT_TYPES.name
|
||||
;
|
||||
COMMIT;
|
||||
|
||||
-- Errors
|
||||
IF a_show_errors = 1 THEN
|
||||
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_Calc_Assessment_Type t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 AND v_can_view = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Type_Calc_Assessment_Type;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 );
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Assessment_Type;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Assessment_Type;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_Assessment_Type;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Type_Calc_Assessment_Type;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_assessment_type (
|
||||
'gripe ' -- a_guid
|
||||
, 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 0 -- a_require_all_id_search_filters_met
|
||||
, 0 -- 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
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Assessment_Type_Temp
|
||||
;
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_type (
|
||||
'gripe ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
|
||||
DELETE
|
||||
FROM fetchmetrics.DOG_Assessment_Type_Temp
|
||||
;
|
||||
|
||||
*/
|
||||
45
static/MySQL/71308_p_dog_clear_calc_assessment_type.sql
Normal file
45
static/MySQL/71308_p_dog_clear_calc_assessment_type.sql
Normal file
@@ -0,0 +1,45 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_assessment_type;
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_assessment_type_clear_calc_assessment_type;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_assessment_type (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE ASSESSMENT_TYPES_T
|
||||
FROM fetchmetrics.DOG_Assessment_Type_Temp ASSESSMENT_TYPES_T
|
||||
WHERE ASSESSMENT_TYPES_T.GUID = a_guid
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_debug_timing_reporting( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_type (
|
||||
'crips ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Calc_User_Access_Temp
|
||||
WHERE GUID = 'chips '
|
||||
;
|
||||
|
||||
*/
|
||||
379
static/MySQL/71308_p_dog_get_many_assessment_type.sql
Normal file
379
static/MySQL/71308_p_dog_get_many_assessment_type.sql
Normal file
@@ -0,0 +1,379 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_assessment_type;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment_type (
|
||||
IN a_id_user INT
|
||||
, IN a_get_all_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type 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
|
||||
, 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 fetchmetrics.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 fetchmetrics.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 fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
/*
|
||||
SET a_get_all_assessment_type := IFNULL(a_get_all_assessment_type, 0);
|
||||
SET a_get_inactive_assessment_type := IFNULL(a_get_inactive_assessment_type, 0);
|
||||
SET a_ids_assessment_type := TRIM(IFNULL(a_ids_assessment_type, ''));
|
||||
SET a_names_assessment_type := TRIM(IFNULL(a_names_assessment_type, ''));
|
||||
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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_Assessment_Type;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Type (
|
||||
id_type INT NOT NULL
|
||||
, code VARCHAR(250)
|
||||
, name VARCHAR(250)
|
||||
, description VARCHAR(1000)
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, 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 fetchmetrics.p_dog_calc_user_access(
|
||||
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 fetchmetrics.DOG_Calc_User_Access_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 Assessment_Types.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
v_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
|
||||
-- Call Assessment_Type Calc
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_assessment_type -- a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type -- a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type -- a_ids_assessment_type
|
||||
, a_names_assessment_type -- a_names_assessment_type
|
||||
, 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 fetchmetrics.p_dog_calc_assessment_type (
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_assessment_type -- a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type -- a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type -- a_ids_assessment_type
|
||||
, a_names_assessment_type -- a_names_assessment_type
|
||||
, 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 fetchmetrics.DOG_Assessment_Type_Temp;
|
||||
SELECT * FROM fetchmetrics.DOG_Assessment_Type_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Assessment_Type (
|
||||
id_type
|
||||
, code
|
||||
, name
|
||||
, description
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_TYPE_T.id_type
|
||||
, ASSESSMENT_TYPE_T.code
|
||||
, ASSESSMENT_TYPE_T.name
|
||||
, ASSESSMENT_TYPE_T.description
|
||||
, ASSESSMENT_TYPE_T.active
|
||||
|
||||
, ASSESSMENT_TYPE_T.does_meet_id_filters
|
||||
, ASSESSMENT_TYPE_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Type_Temp ASSESSMENT_TYPE_T
|
||||
WHERE ASSESSMENT_TYPE_T.GUID = v_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Type;
|
||||
SELECT * FROM tmp_Assessment_Type;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Filter outputs
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Type;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Type;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Outputs
|
||||
-- Assessment_Types
|
||||
SELECT
|
||||
t_ASSESSMENT_TYPES.id_type
|
||||
, t_ASSESSMENT_TYPES.code
|
||||
, t_ASSESSMENT_TYPES.name
|
||||
, t_ASSESSMENT_TYPES.description
|
||||
, t_ASSESSMENT_TYPES.active
|
||||
|
||||
, t_ASSESSMENT_TYPES.does_meet_id_filters
|
||||
, t_ASSESSMENT_TYPES.does_meet_non_id_filters
|
||||
FROM tmp_Assessment_Type t_ASSESSMENT_TYPES
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Type ASSESSMENT_TYPES ON t_ASSESSMENT_TYPES.id_type = ASSESSMENT_TYPES.id_type
|
||||
ORDER BY t_ASSESSMENT_TYPES.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 fetchmetrics.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_Assessment_Type;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_type(
|
||||
v_guid -- a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Type;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_get_many_assessment_type (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 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 fetchmetrics.p_dog_get_many_assessment_type (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, 'pat,point' -- a_names_assessment_type
|
||||
, 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
|
||||
);
|
||||
|
||||
*/
|
||||
@@ -13,6 +13,10 @@ CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment (
|
||||
, 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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, IN a_get_all_weather BIT
|
||||
, IN a_get_inactive_weather BIT
|
||||
, IN a_ids_weather TEXT
|
||||
@@ -136,6 +140,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -178,6 +186,16 @@ BEGIN
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Location_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Lighting_Level_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Weather_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Type_Calc_Assessment;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Type_Calc_Assessment (
|
||||
id_type 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_Weather_Calc_Assessment (
|
||||
id_weather INT NOT NULL
|
||||
@@ -224,13 +242,16 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Calc_Assessment (
|
||||
id_assessment INT NOT NULL
|
||||
, id_assessment_type INT
|
||||
, id_weather INT
|
||||
, id_lighting_level INT
|
||||
, id_location INT
|
||||
, id_user_handler INT
|
||||
, notes TEXT
|
||||
, active BIT
|
||||
, temperature_celcius DECIMAL(5, 2)
|
||||
, start_on DATETIME
|
||||
, end_on DATETIME
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
@@ -259,6 +280,66 @@ BEGIN
|
||||
SET v_has_filter_assessment_temperature_min := NOT ISNULL(a_min_temperature_assessment);
|
||||
SET v_has_filter_assessment_temperature_max := NOT ISNULL(a_max_temperature_assessment);
|
||||
|
||||
-- Call Calc Assessment_Type
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_assessment_type -- a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type -- a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type -- a_ids_assessment_type
|
||||
, a_names_assessment_type -- a_names_assessment_type
|
||||
, 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 fetchmetrics.p_dog_calc_assessment_type (
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_assessment_type -- a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type -- a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type -- a_ids_assessment_type
|
||||
, a_names_assessment_type -- a_names_assessment_type
|
||||
, 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_Assessment_Type_Calc_Assessment (
|
||||
id_type
|
||||
, code
|
||||
, name
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_TYPE_T.id_type
|
||||
, ASSESSMENT_TYPE_T.code
|
||||
, ASSESSMENT_TYPE_T.name
|
||||
, ASSESSMENT_TYPE_T.active
|
||||
|
||||
, ASSESSMENT_TYPE_T.does_meet_id_filters
|
||||
, ASSESSMENT_TYPE_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Type_Temp ASSESSMENT_TYPE_T
|
||||
WHERE ASSESSMENT_TYPE_T.GUID = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Type_Calc_Assessment;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Call Calc Weather
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
@@ -604,113 +685,17 @@ BEGIN
|
||||
ELSEIF EXISTS ()
|
||||
*/
|
||||
ELSE
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Assessment Filters';
|
||||
WITH
|
||||
Assessment_Id_Filter AS (
|
||||
SELECT ASSESSMENT.id_assessment
|
||||
FROM tmp_Split_Id_Calc_Assessment t_SPLIT_ID
|
||||
INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment
|
||||
)
|
||||
, Assessment_Notes_Filter AS (
|
||||
SELECT ASSESSMENT.id_assessment
|
||||
FROM tmp_Split_Notes_Calc_Assessment t_SPLIT_NOTES
|
||||
INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON ASSESSMENT.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
|
||||
WHERE
|
||||
t_SPLIT_NOTES.substring IS NOT NULL
|
||||
AND t_SPLIT_NOTES.substring <> ''
|
||||
)
|
||||
, Assessment_Filters AS (
|
||||
SELECT
|
||||
ASSESSMENT_COMBINED.id_assessment
|
||||
, MAX(ASSESSMENT_COMBINED.does_meet_id_filter) AS does_meet_id_filter
|
||||
, MAX(ASSESSMENT_COMBINED.does_meet_notes_filter) AS does_meet_notes_filter
|
||||
FROM (
|
||||
SELECT
|
||||
ASSESSMENT_ID_FILTER.id_assessment
|
||||
, 1 AS does_meet_id_filter
|
||||
, 0 AS does_meet_notes_filter
|
||||
FROM Assessment_Id_Filter ASSESSMENT_ID_FILTER
|
||||
UNION
|
||||
SELECT
|
||||
ASSESSMENT_NOTES_FILTER.id_assessment
|
||||
, 0 AS does_meet_id_filter
|
||||
, 1 AS does_meet_notes_filter
|
||||
FROM Assessment_Notes_Filter ASSESSMENT_NOTES_FILTER
|
||||
) ASSESSMENT_COMBINED
|
||||
GROUP BY ASSESSMENT_COMBINED.id_assessment
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT.id_assessment
|
||||
, ASSESSMENT.id_weather
|
||||
, ASSESSMENT.id_lighting_level
|
||||
, ASSESSMENT.id_location
|
||||
, ASSESSMENT.id_user_handler
|
||||
, ASSESSMENT.notes
|
||||
, ASSESSMENT.temperature_celcius
|
||||
, ASSESSMENT.active
|
||||
, CASE WHEN
|
||||
v_has_filter_assessment_id = 0
|
||||
OR ASSESSMENT_FILTERS.does_meet_id_filter = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_id_filters
|
||||
, CASE WHEN
|
||||
(
|
||||
v_has_filter_assessment_notes = 0
|
||||
AND v_has_filter_assessment_temperature_min = 0
|
||||
AND v_has_filter_assessment_temperature_max = 0
|
||||
)
|
||||
OR ASSESSMENT_FILTERS.does_meet_notes_filter = 1
|
||||
OR (
|
||||
v_has_filter_assessment_temperature_min = 0
|
||||
OR (
|
||||
v_has_filter_assessment_temperature_min = 1
|
||||
AND ASSESSMENT.temperature_celcius >= v_has_filter_assessment_temperature_min
|
||||
)
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_temperature_max = 0
|
||||
OR (
|
||||
v_has_filter_assessment_temperature_max = 1
|
||||
AND ASSESSMENT.temperature_celcius <= v_has_filter_assessment_temperature_max
|
||||
)
|
||||
)
|
||||
THEN 1 ELSE 0 END AS does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment ASSESSMENT
|
||||
LEFT JOIN Assessment_Filters ASSESSMENT_FILTERS ON ASSESSMENT.id_assessment = ASSESSMENT_FILTERS.id_assessment
|
||||
WHERE
|
||||
(
|
||||
a_get_all_assessment = 1
|
||||
OR (
|
||||
v_has_filter_assessment_id = 1
|
||||
AND ASSESSMENT_FILTERS.does_meet_id_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_notes = 1
|
||||
AND ASSESSMENT_FILTERS.does_meet_notes_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_temperature_min = 1
|
||||
AND ASSESSMENT.temperature_celcius >= v_has_filter_assessment_temperature_min
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_temperature_max = 1
|
||||
AND ASSESSMENT.temperature_celcius <= v_has_filter_assessment_temperature_max
|
||||
)
|
||||
)
|
||||
AND (
|
||||
a_get_inactive_assessment = 1
|
||||
OR ASSESSMENT.active = 1
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
INSERT INTO tmp_Assessment_Calc_Assessment (
|
||||
id_assessment
|
||||
, id_assessment_type
|
||||
, id_weather
|
||||
, id_lighting_level
|
||||
, id_location
|
||||
, id_user_handler
|
||||
, notes
|
||||
, temperature_celcius
|
||||
, start_on
|
||||
, end_on
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
@@ -751,12 +736,15 @@ BEGIN
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT.id_assessment
|
||||
, ASSESSMENT.id_assessment_type
|
||||
, ASSESSMENT.id_weather
|
||||
, ASSESSMENT.id_lighting_level
|
||||
, ASSESSMENT.id_location
|
||||
, ASSESSMENT.id_user_handler
|
||||
, ASSESSMENT.notes
|
||||
, ASSESSMENT.temperature_celcius
|
||||
, ASSESSMENT.start_on
|
||||
, ASSESSMENT.end_on
|
||||
, ASSESSMENT.active
|
||||
, CASE WHEN
|
||||
v_has_filter_assessment_id = 0
|
||||
@@ -826,6 +814,7 @@ BEGIN
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
DELETE t_ASSESSMENT
|
||||
FROM tmp_Assessment_Calc_Assessment t_ASSESSMENT
|
||||
LEFT JOIN tmp_Assessment_Type_Calc_Assessment t_ASSESSMENT_TYPE ON t_ASSESSMENT.id_assessment_type = t_ASSESSMENT_TYPE.id_type
|
||||
LEFT JOIN tmp_Weather_Calc_Assessment t_WEATHER ON t_ASSESSMENT.id_weather = t_WEATHER.id_weather
|
||||
LEFT JOIN tmp_Lighting_Level_Calc_Assessment t_LIGHTING_LEVEL ON t_ASSESSMENT.id_lighting_level = t_LIGHTING_LEVEL.id_lighting_level
|
||||
LEFT JOIN tmp_Location_Calc_Assessment t_LOCATION ON t_ASSESSMENT.id_location = t_LOCATION.id_location
|
||||
@@ -835,6 +824,7 @@ BEGIN
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
t_ASSESSMENT.does_meet_id_filters = 0
|
||||
OR IFNULL(t_ASSESSMENT_TYPE.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_WEATHER.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_LIGHTING_LEVEL.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_LOCATION.does_meet_id_filters, 1) = 0
|
||||
@@ -845,6 +835,7 @@ BEGIN
|
||||
a_require_all_non_id_search_filters_met = 1
|
||||
AND (
|
||||
t_ASSESSMENT.does_meet_non_id_filters = 0
|
||||
OR IFNULL(t_ASSESSMENT_TYPE.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_WEATHER.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_LIGHTING_LEVEL.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_LOCATION.does_meet_non_id_filters, 1) = 0
|
||||
@@ -854,6 +845,7 @@ BEGIN
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND t_ASSESSMENT.does_meet_id_filters = 0
|
||||
AND IFNULL(t_ASSESSMENT_TYPE.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_WEATHER.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_LIGHTING_LEVEL.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_LOCATION.does_meet_id_filters, 1) = 0
|
||||
@@ -862,6 +854,7 @@ BEGIN
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND t_ASSESSMENT.does_meet_non_id_filters = 0
|
||||
AND IFNULL(t_ASSESSMENT_TYPE.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_WEATHER.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_LIGHTING_LEVEL.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_LOCATION.does_meet_non_id_filters, 1) = 0
|
||||
@@ -872,6 +865,7 @@ BEGIN
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After filter Assessments';
|
||||
SELECT * FROM tmp_Assessment_Type_Calc_Assessment;
|
||||
SELECT * FROM tmp_Weather_Calc_Assessment;
|
||||
SELECT * FROM tmp_Lighting_Level_Calc_Assessment;
|
||||
SELECT * FROM tmp_Location_Calc_Assessment;
|
||||
@@ -957,6 +951,7 @@ BEGIN
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Before non-permitted data deletion';
|
||||
SELECT * FROM tmp_Assessment_Type_Calc_Assessment;
|
||||
SELECT * FROM tmp_Weather_Calc_Assessment;
|
||||
SELECT * FROM tmp_Lighting_Level_Calc_Assessment;
|
||||
SELECT * FROM tmp_Location_Calc_Assessment;
|
||||
@@ -967,6 +962,7 @@ BEGIN
|
||||
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Type_Calc_Assessment;
|
||||
SELECT * FROM tmp_Weather_Calc_Assessment;
|
||||
SELECT * FROM tmp_Lighting_Level_Calc_Assessment;
|
||||
SELECT * FROM tmp_Location_Calc_Assessment;
|
||||
@@ -974,6 +970,7 @@ BEGIN
|
||||
SELECT * FROM tmp_Assessment_Calc_Assessment;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Type_Calc_Assessment;
|
||||
DELETE FROM tmp_Assessment_Calc_Assessment;
|
||||
DELETE FROM tmp_User_Handler_Calc_Assessment;
|
||||
DELETE FROM tmp_Location_Calc_Assessment;
|
||||
@@ -991,12 +988,15 @@ BEGIN
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Temp (
|
||||
guid
|
||||
, id_assessment
|
||||
, id_assessment_type
|
||||
, id_weather
|
||||
, id_lighting_level
|
||||
, id_location
|
||||
, id_user_handler
|
||||
, notes
|
||||
, temperature_celcius
|
||||
, start_on
|
||||
, end_on
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
@@ -1005,12 +1005,15 @@ BEGIN
|
||||
SELECT
|
||||
a_guid
|
||||
, t_ASSESSMENT.id_assessment
|
||||
, t_ASSESSMENT.id_assessment_type
|
||||
, t_ASSESSMENT.id_weather
|
||||
, t_ASSESSMENT.id_lighting_level
|
||||
, t_ASSESSMENT.id_location
|
||||
, t_ASSESSMENT.id_user_handler
|
||||
, ASSESSMENT.notes
|
||||
, ASSESSMENT.temperature_celcius
|
||||
, ASSESSMENT.start_on
|
||||
, ASSESSMENT.end_on
|
||||
, ASSESSMENT.active
|
||||
|
||||
, t_ASSESSMENT.does_meet_id_filters
|
||||
@@ -1046,11 +1049,14 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Notes_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Image_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_User_Handler_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Location_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Lighting_Level_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Weather_Calc_Assessment;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Type_Calc_Assessment;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
@@ -1070,6 +1076,10 @@ CALL fetchmetrics.p_dog_calc_assessment (
|
||||
, '' -- a_notes_assessment
|
||||
, NULL -- a_min_temperature_assessment
|
||||
, NULL -- a_max_temperature_assessment
|
||||
, 1 -- a_get_all_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 1 -- a_get_all_weather
|
||||
, 0 -- a_get_inactive_weather
|
||||
, '' -- a_ids_weather
|
||||
@@ -1103,6 +1113,10 @@ CALL fetchmetrics.p_dog_calc_assessment (
|
||||
, 0 -- a_get_inactive_assessment
|
||||
, '' -- a_ids_assessment
|
||||
, 'pat,point' -- a_notes_assessment
|
||||
, 1 -- a_get_all_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 1 -- a_get_all_weather
|
||||
, 0 -- a_get_inactive_weather
|
||||
, '' -- a_ids_weather
|
||||
@@ -12,6 +12,10 @@ CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment (
|
||||
, 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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, IN a_get_all_weather BIT
|
||||
, IN a_get_inactive_weather BIT
|
||||
, IN a_ids_weather TEXT
|
||||
@@ -118,6 +122,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -157,6 +165,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment (
|
||||
id_assessment INT NOT NULL
|
||||
, id_assessment_type INT
|
||||
, id_weather INT
|
||||
, id_lighting_level INT
|
||||
, id_location INT
|
||||
@@ -164,6 +173,8 @@ BEGIN
|
||||
, notes TEXT
|
||||
, temperature_celcius DECIMAL(5, 2)
|
||||
-- , difficulty_level FLOAT
|
||||
, start_on DATETIME
|
||||
, end_on DATETIME
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
@@ -266,6 +277,10 @@ BEGIN
|
||||
, a_notes_assessment -- a_notes_assessment
|
||||
, a_min_temperature_assessment -- a_min_temperature_assessment
|
||||
, a_max_temperature_assessment -- a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather -- a_get_all_weather
|
||||
, a_get_inactive_weather -- a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -302,6 +317,10 @@ BEGIN
|
||||
, a_notes_assessment -- a_notes_assessment
|
||||
, a_min_temperature_assessment -- a_min_temperature_assessment
|
||||
, a_max_temperature_assessment -- a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather -- a_get_all_weather
|
||||
, a_get_inactive_weather -- a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -335,6 +354,7 @@ BEGIN
|
||||
|
||||
INSERT INTO tmp_Assessment (
|
||||
id_assessment
|
||||
, id_assessment_type
|
||||
, id_weather
|
||||
, id_lighting_level
|
||||
, id_location
|
||||
@@ -342,12 +362,15 @@ BEGIN
|
||||
, notes
|
||||
, temperature_celcius
|
||||
-- , difficulty_level
|
||||
, start_on
|
||||
, end_on
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_T.id_assessment
|
||||
, ASSESSMENT_T.id_assessment_type
|
||||
, ASSESSMENT_T.id_weather
|
||||
, ASSESSMENT_T.id_lighting_level
|
||||
, ASSESSMENT_T.id_location
|
||||
@@ -355,6 +378,8 @@ BEGIN
|
||||
, ASSESSMENT_T.notes
|
||||
, ASSESSMENT_T.temperature_celcius
|
||||
-- , ASSESSMENT_T.difficulty_level
|
||||
, ASSESSMENT_T.start_on
|
||||
, ASSESSMENT_T.end_on
|
||||
, ASSESSMENT_T.active
|
||||
|
||||
, ASSESSMENT_T.does_meet_id_filters
|
||||
@@ -383,6 +408,8 @@ BEGIN
|
||||
-- Assessments
|
||||
SELECT
|
||||
t_ASSESSMENT.id_assessment
|
||||
, t_ASSESSMENT.id_assessment_type
|
||||
, ASSESSMENT_TYPE.name AS name_assessment_type
|
||||
, t_ASSESSMENT.id_weather
|
||||
, WEATHER.name AS name_weather
|
||||
, t_ASSESSMENT.id_lighting_level
|
||||
@@ -395,6 +422,8 @@ BEGIN
|
||||
, t_ASSESSMENT.notes
|
||||
, t_ASSESSMENT.temperature_celcius
|
||||
-- , t_ASSESSMENT.difficulty_level
|
||||
, t_ASSESSMENT.start_on
|
||||
, t_ASSESSMENT.end_on
|
||||
, t_ASSESSMENT.active
|
||||
|
||||
, t_ASSESSMENT.does_meet_id_filters
|
||||
@@ -411,6 +440,7 @@ BEGIN
|
||||
*/
|
||||
FROM tmp_Assessment t_ASSESSMENT
|
||||
INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Type ASSESSMENT_TYPE ON t_ASSESSMENT.id_assessment_type = ASSESSMENT_TYPE.id_type
|
||||
LEFT JOIN fetchmetrics.DOG_Weather WEATHER ON t_ASSESSMENT.id_weather = WEATHER.id_weather
|
||||
-- LEFT JOIN tmp_Weather t_WEATHER ON t_ASSESSMENT.id_weather = t_WEATHER.id_weather
|
||||
LEFT JOIN fetchmetrics.DOG_Lighting_Level LIGHTING_LEVEL ON t_ASSESSMENT.id_lighting_level = LIGHTING_LEVEL.id_lighting_level
|
||||
@@ -467,6 +497,10 @@ CALL fetchmetrics.p_dog_get_many_assessment (
|
||||
, '' -- a_notes_assessment
|
||||
, NULL -- a_min_temperature_assessment
|
||||
, NULL -- a_max_temperature_assessment
|
||||
, 1 -- a_get_all_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 1 -- a_get_all_weather
|
||||
, 0 -- a_get_inactive_weather
|
||||
, '' -- a_ids_weather
|
||||
@@ -501,6 +535,10 @@ CALL fetchmetrics.p_dog_get_many_assessment (
|
||||
, 'pat,point' -- a_notes_assessment
|
||||
, NULL -- a_min_temperature_assessment
|
||||
, NULL -- a_max_temperature_assessment
|
||||
, 1 -- a_get_all_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 1 -- a_get_all_weather
|
||||
, 0 -- a_get_inactive_weather
|
||||
, '' -- a_ids_weather
|
||||
@@ -88,7 +88,7 @@ BEGIN
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
@@ -98,6 +98,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment (
|
||||
id_temp INT
|
||||
, id_assessment_type INT
|
||||
, id_assessment INT
|
||||
, id_weather INT
|
||||
, id_lighting_level INT
|
||||
@@ -106,6 +107,8 @@ BEGIN
|
||||
, notes TEXT
|
||||
, temperature_celcius DECIMAL(5, 2)
|
||||
, difficulty_level FLOAT
|
||||
, start_on DATETIME
|
||||
, end_on DATETIME
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
, name_error VARCHAR(250)
|
||||
@@ -113,6 +116,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Copy (
|
||||
id_temp INT
|
||||
, id_assessment_type INT
|
||||
, id_assessment INT
|
||||
, id_weather INT
|
||||
, id_lighting_level INT
|
||||
@@ -121,6 +125,8 @@ BEGIN
|
||||
, notes TEXT
|
||||
, temperature_celcius DECIMAL(5, 2)
|
||||
, difficulty_level FLOAT
|
||||
, start_on DATETIME
|
||||
, end_on DATETIME
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
, name_error VARCHAR(250)
|
||||
@@ -138,6 +144,7 @@ BEGIN
|
||||
INSERT INTO tmp_Assessment (
|
||||
id_temp
|
||||
, id_assessment
|
||||
, id_assessment_type
|
||||
, id_weather
|
||||
, id_lighting_level
|
||||
, id_location
|
||||
@@ -145,12 +152,18 @@ BEGIN
|
||||
, notes
|
||||
, temperature_celcius
|
||||
, difficulty_level
|
||||
, start_on
|
||||
, end_on
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_T.id_temp
|
||||
, ASSESSMENT_T.id_assessment
|
||||
, COALESCE(
|
||||
ASSESSMENT_T.id_assessment_type
|
||||
, ASSESSMENT.id_assessment_type
|
||||
) AS id_assessment_type
|
||||
, COALESCE(
|
||||
ASSESSMENT_T.id_weather
|
||||
, ASSESSMENT.id_weather
|
||||
@@ -170,6 +183,8 @@ BEGIN
|
||||
, ASSESSMENT_T.notes
|
||||
, ASSESSMENT_T.temperature_celcius
|
||||
, ASSESSMENT_T.difficulty_level
|
||||
, ASSESSMENT_T.start_on
|
||||
, ASSESSMENT_T.end_on
|
||||
, COALESCE(ASSESSMENT_T.active, 1) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_T.id_assessment, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Temp ASSESSMENT_T
|
||||
@@ -212,6 +227,33 @@ BEGIN
|
||||
|
||||
-- Validation
|
||||
-- Missing mandatory fields
|
||||
-- id_assessment_type
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment t_ASSESSMENT
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Type ASSESSMENT_TYPE ON t_ASSESSMENT.id_assessment_type = ASSESSMENT_TYPE.id_type
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT.id_assessment_type)
|
||||
OR ISNULL(ASSESSMENT_TYPE.id_type)
|
||||
OR ASSESSMENT_TYPE.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 Assessment_Type Assessment(s) do not have a valid Assessment_Type: ', GROUP_CONCAT(t_ASSESSMENT.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment t_ASSESSMENT
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Type ASSESSMENT_TYPE ON t_ASSESSMENT.id_assessment_type = ASSESSMENT_TYPE.id_type
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT.id_assessment_type)
|
||||
OR ISNULL(ASSESSMENT_TYPE.id_type)
|
||||
OR ASSESSMENT_TYPE.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_weather
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
@@ -403,42 +445,51 @@ BEGIN
|
||||
ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment
|
||||
AND t_ASSESSMENT.is_new = 0
|
||||
SET
|
||||
ASSESSMENT.id_weather = t_ASSESSMENT.id_weather
|
||||
ASSESSMENT.id_assessment_type = t_ASSESSMENT.id_assessment_type
|
||||
, ASSESSMENT.id_weather = t_ASSESSMENT.id_weather
|
||||
, ASSESSMENT.id_lighting_level = t_ASSESSMENT.id_lighting_level
|
||||
, ASSESSMENT.id_location = t_ASSESSMENT.id_location
|
||||
, ASSESSMENT.id_user_handler = t_ASSESSMENT.id_user_handler
|
||||
, ASSESSMENT.temperature_celcius = t_ASSESSMENT.temperature_celcius
|
||||
, ASSESSMENT.difficulty_level = t_ASSESSMENT.difficulty_level
|
||||
, ASSESSMENT.notes = t_ASSESSMENT.notes
|
||||
, ASSESSMENT.start_on = t_ASSESSMENT.start_on
|
||||
, ASSESSMENT.end_on = t_ASSESSMENT.end_on
|
||||
, ASSESSMENT.active = t_ASSESSMENT.active
|
||||
, ASSESSMENT.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment (
|
||||
id_temp
|
||||
, id_weather
|
||||
, id_assessment_type
|
||||
, id_weather
|
||||
, id_lighting_level
|
||||
, id_location
|
||||
, id_user_handler
|
||||
, temperature_celcius
|
||||
, difficulty_level
|
||||
, notes
|
||||
, start_on
|
||||
, end_on
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT.id_temp
|
||||
, t_ASSESSMENT.id_weather AS id_weather
|
||||
, t_ASSESSMENT.id_lighting_level AS id_lighting_level
|
||||
, t_ASSESSMENT.id_location AS id_location
|
||||
, t_ASSESSMENT.id_user_handler AS id_user_handler
|
||||
, t_ASSESSMENT.temperature_celcius AS temperature_celcius
|
||||
, t_ASSESSMENT.difficulty_level AS difficulty_level
|
||||
, t_ASSESSMENT.notes AS notes
|
||||
, t_ASSESSMENT.active AS active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
, t_ASSESSMENT.id_assessment_type
|
||||
, t_ASSESSMENT.id_weather
|
||||
, t_ASSESSMENT.id_lighting_level
|
||||
, t_ASSESSMENT.id_location
|
||||
, t_ASSESSMENT.id_user_handler
|
||||
, t_ASSESSMENT.temperature_celcius
|
||||
, t_ASSESSMENT.difficulty_level
|
||||
, t_ASSESSMENT.notes
|
||||
, t_ASSESSMENT.start_on
|
||||
, t_ASSESSMENT.end_on
|
||||
, t_ASSESSMENT.active
|
||||
, a_id_user
|
||||
, v_time_start
|
||||
FROM tmp_Assessment t_ASSESSMENT
|
||||
WHERE
|
||||
t_ASSESSMENT.is_new = 1
|
||||
543
static/MySQL/71325_p_dog_calc_reinforcement_schedule.sql
Normal file
543
static/MySQL/71325_p_dog_calc_reinforcement_schedule.sql
Normal file
@@ -0,0 +1,543 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_reinforcement_schedule;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_calc_reinforcement_schedule (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_id_user INT
|
||||
, IN a_get_all_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule 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_show_errors 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_has_filter_reinforcement_schedule_id BIT;
|
||||
DECLARE v_has_filter_reinforcement_schedule_name BIT;
|
||||
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_Calc_Reinforcement_Schedule (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error_Calc_Reinforcement_Schedule (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM fetchmetrics.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_Calc_Reinforcement_Schedule t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Reinforcement_Schedule;
|
||||
END;
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_code_type_error_no_permission := 'NO_PERMISSION';
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
SET a_get_all_reinforcement_schedule := IFNULL(a_get_all_reinforcement_schedule, 0);
|
||||
SET a_get_inactive_reinforcement_schedule := IFNULL(a_get_inactive_reinforcement_schedule, 0);
|
||||
SET a_ids_reinforcement_schedule := TRIM(IFNULL(a_ids_reinforcement_schedule, ''));
|
||||
SET a_names_reinforcement_schedule := TRIM(IFNULL(a_names_reinforcement_schedule, ''));
|
||||
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_show_errors := IFNULL(a_show_errors, 0);
|
||||
SET a_debug := IFNULL(a_debug, 0);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid
|
||||
, a_id_user
|
||||
, a_get_all_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
, 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_show_errors
|
||||
, a_debug
|
||||
;
|
||||
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_id_type_error_no_permission
|
||||
, v_id_permission_dog_view
|
||||
, v_time_start
|
||||
;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Reinforcement_Schedule;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Reinforcement_Schedule;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_Reinforcement_Schedule;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule (
|
||||
id_reinforcement_schedule INT NOT NULL
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Reinforcement_Schedule (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Reinforcement_Schedule (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Reinforcement_Schedule;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Reinforcement_Schedule (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Reinforcement_Schedule;
|
||||
|
||||
SET v_has_filter_reinforcement_schedule_id = CASE WHEN a_ids_reinforcement_schedule <> '' THEN 1 ELSE 0 END;
|
||||
SET v_has_filter_reinforcement_schedule_name = CASE WHEN a_names_reinforcement_schedule <> '' THEN 1 ELSE 0 END;
|
||||
|
||||
-- Reinforcement_Schedules
|
||||
IF v_has_filter_reinforcement_schedule_id = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_ids_reinforcement_schedule, ',', a_debug);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
INSERT INTO tmp_Split_Id_Calc_Reinforcement_Schedule (
|
||||
substring
|
||||
, as_int
|
||||
)
|
||||
SELECT
|
||||
SPLIT_T.substring
|
||||
, CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int
|
||||
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
|
||||
WHERE
|
||||
SPLIT_T.GUID = a_guid
|
||||
AND IFNULL(SPLIT_T.substring, '') <> ''
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_core_clear_split( a_guid );
|
||||
END IF;
|
||||
|
||||
IF v_has_filter_reinforcement_schedule_name = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_names_reinforcement_schedule, ',', a_debug);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
INSERT INTO tmp_Split_Name_Calc_Reinforcement_Schedule (
|
||||
substring
|
||||
, as_int
|
||||
)
|
||||
SELECT
|
||||
SPLIT_T.substring
|
||||
, CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int
|
||||
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
|
||||
WHERE
|
||||
SPLIT_T.GUID = a_guid
|
||||
AND IFNULL(SPLIT_T.substring, '') <> ''
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_core_clear_split( a_guid );
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Reinforcement_Schedule t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Split_Id_Calc_Reinforcement_Schedule t_SPLIT_ID
|
||||
LEFT JOIN fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULES ON t_SPLIT_ID.as_int = REINFORCEMENT_SCHEDULES.id_reinforcement_schedule
|
||||
WHERE
|
||||
ISNULL(t_SPLIT_ID.as_int)
|
||||
OR ISNULL(REINFORCEMENT_SCHEDULES.id_reinforcement_schedule)
|
||||
OR (
|
||||
REINFORCEMENT_SCHEDULES.active = 0
|
||||
AND a_get_inactive_reinforcement_schedule = 0
|
||||
)
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error_Calc_Reinforcement_Schedule (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('Invalid or inactive Reinforcement_Schedule IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL'))
|
||||
FROM tmp_Split_Id_Calc_Reinforcement_Schedule t_SPLIT_ID
|
||||
LEFT JOIN fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULES ON t_SPLIT_ID.as_int = REINFORCEMENT_SCHEDULES.id_reinforcement_schedule
|
||||
WHERE
|
||||
ISNULL(t_SPLIT_ID.as_int)
|
||||
OR ISNULL(REINFORCEMENT_SCHEDULES.id_reinforcement_schedule)
|
||||
OR (
|
||||
REINFORCEMENT_SCHEDULES.active = 0
|
||||
AND a_get_inactive_reinforcement_schedule = 0
|
||||
)
|
||||
;
|
||||
/* Don't error on names, hand signals, or notes not found
|
||||
ELSEIF EXISTS ()
|
||||
*/
|
||||
ELSE
|
||||
INSERT INTO tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule (
|
||||
id_reinforcement_schedule
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
WITH
|
||||
Reinforcement_Schedule_Id_Filter AS (
|
||||
SELECT REINFORCEMENT_SCHEDULES.id_reinforcement_schedule
|
||||
FROM tmp_Split_Id_Calc_Reinforcement_Schedule t_SPLIT_ID
|
||||
INNER JOIN fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULES ON t_SPLIT_ID.as_int = REINFORCEMENT_SCHEDULES.id_reinforcement_schedule
|
||||
)
|
||||
, Reinforcement_Schedule_Name_Filter AS (
|
||||
SELECT REINFORCEMENT_SCHEDULES.id_reinforcement_schedule
|
||||
FROM tmp_Split_Name_Calc_Reinforcement_Schedule t_SPLIT_NAME
|
||||
INNER JOIN fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULES ON REINFORCEMENT_SCHEDULES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%')
|
||||
WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL
|
||||
)
|
||||
, Reinforcement_Schedule_Filters AS (
|
||||
SELECT
|
||||
REINFORCEMENT_SCHEDULES_COMBINED.id_reinforcement_schedule
|
||||
, MAX(REINFORCEMENT_SCHEDULES_COMBINED.does_meet_id_filter) AS does_meet_id_filter
|
||||
, MAX(REINFORCEMENT_SCHEDULES_COMBINED.does_meet_name_filter) AS does_meet_name_filter
|
||||
FROM (
|
||||
SELECT
|
||||
REINFORCEMENT_SCHEDULES_ID_FILTER.id_reinforcement_schedule
|
||||
, 1 AS does_meet_id_filter
|
||||
, 0 AS does_meet_name_filter
|
||||
FROM Reinforcement_Schedule_Id_Filter REINFORCEMENT_SCHEDULES_ID_FILTER
|
||||
UNION
|
||||
SELECT
|
||||
REINFORCEMENT_SCHEDULES_NAME_FILTER.id_reinforcement_schedule
|
||||
, 0 AS does_meet_id_filter
|
||||
, 1 AS does_meet_name_filter
|
||||
FROM Reinforcement_Schedule_Name_Filter REINFORCEMENT_SCHEDULES_NAME_FILTER
|
||||
) REINFORCEMENT_SCHEDULES_COMBINED
|
||||
GROUP BY REINFORCEMENT_SCHEDULES_COMBINED.id_reinforcement_schedule
|
||||
)
|
||||
SELECT
|
||||
REINFORCEMENT_SCHEDULES.id_reinforcement_schedule
|
||||
, CASE WHEN
|
||||
v_has_filter_reinforcement_schedule_id = 0
|
||||
OR IFNULL(REINFORCEMENT_SCHEDULES_FILTERS.does_meet_id_filter, 0) = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_id_filters
|
||||
, CASE WHEN
|
||||
(
|
||||
v_has_filter_reinforcement_schedule_name = 0
|
||||
)
|
||||
OR IFNULL(REINFORCEMENT_SCHEDULES_FILTERS.does_meet_name_filter, 0) = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULES
|
||||
LEFT JOIN Reinforcement_Schedule_Filters REINFORCEMENT_SCHEDULES_FILTERS ON REINFORCEMENT_SCHEDULES.id_reinforcement_schedule = REINFORCEMENT_SCHEDULES_FILTERS.id_reinforcement_schedule
|
||||
WHERE
|
||||
(
|
||||
a_get_all_reinforcement_schedule = 1
|
||||
OR (
|
||||
v_has_filter_reinforcement_schedule_id = 1
|
||||
AND REINFORCEMENT_SCHEDULES_FILTERS.does_meet_id_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_reinforcement_schedule_name = 1
|
||||
AND REINFORCEMENT_SCHEDULES_FILTERS.does_meet_name_filter = 1
|
||||
)
|
||||
)
|
||||
AND (
|
||||
a_get_inactive_reinforcement_schedule = 1
|
||||
OR REINFORCEMENT_SCHEDULES.active = 1
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Split_Id_Calc_Reinforcement_Schedule;
|
||||
DELETE FROM tmp_Split_Name_Calc_Reinforcement_Schedule;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After get Reinforcement_Schedules ';
|
||||
SELECT * FROM tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule;
|
||||
END IF;
|
||||
|
||||
-- Filter records
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Reinforcement_Schedule t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
DELETE t_REINFORCEMENT_SCHEDULES
|
||||
FROM tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule t_REINFORCEMENT_SCHEDULES
|
||||
WHERE
|
||||
(
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
t_REINFORCEMENT_SCHEDULES.does_meet_id_filters = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_all_non_id_search_filters_met = 1
|
||||
AND (
|
||||
t_REINFORCEMENT_SCHEDULES.does_meet_non_id_filters = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND t_REINFORCEMENT_SCHEDULES.does_meet_id_filters = 0
|
||||
)
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND t_REINFORCEMENT_SCHEDULES.does_meet_non_id_filters = 0
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After filter Reinforcement_Schedules';
|
||||
SELECT * FROM tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule;
|
||||
END IF;
|
||||
|
||||
-- Calculated fields
|
||||
|
||||
-- Permissions
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- 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_view -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_user_access(
|
||||
a_guid -- 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_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 fetchmetrics.DOG_Calc_User_Access_Temp CALC_USER_T
|
||||
WHERE CALC_USER_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT v_can_view;
|
||||
END IF;
|
||||
|
||||
IF (v_can_view = 0) THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error_Calc_Reinforcement_Schedule t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error_Calc_Reinforcement_Schedule (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to view Dogs and Reinforcement_Schedules.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Before non-permitted data deletion';
|
||||
SELECT * FROM tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule;
|
||||
SELECT * FROM tmp_Msg_Error_Calc_Reinforcement_Schedule;
|
||||
END IF;
|
||||
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Reinforcement_Schedule t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After non-permitted data deletion';
|
||||
END IF;
|
||||
|
||||
-- Outputs
|
||||
START TRANSACTION;
|
||||
-- Reinforcement_Schedules
|
||||
INSERT INTO fetchmetrics.DOG_Reinforcement_Schedule_Temp (
|
||||
guid
|
||||
, id_reinforcement_schedule
|
||||
, code
|
||||
, name
|
||||
, description
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
a_guid
|
||||
, t_REINFORCEMENT_SCHEDULES.id_reinforcement_schedule
|
||||
, REINFORCEMENT_SCHEDULES.code
|
||||
, REINFORCEMENT_SCHEDULES.name
|
||||
, REINFORCEMENT_SCHEDULES.description
|
||||
, REINFORCEMENT_SCHEDULES.active
|
||||
|
||||
, t_REINFORCEMENT_SCHEDULES.does_meet_id_filters
|
||||
, t_REINFORCEMENT_SCHEDULES.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULES
|
||||
INNER JOIN tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule t_REINFORCEMENT_SCHEDULES ON REINFORCEMENT_SCHEDULES.id_reinforcement_schedule = t_REINFORCEMENT_SCHEDULES.id_reinforcement_schedule
|
||||
ORDER BY REINFORCEMENT_SCHEDULES.name
|
||||
;
|
||||
COMMIT;
|
||||
|
||||
-- Errors
|
||||
IF a_show_errors = 1 THEN
|
||||
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_Calc_Reinforcement_Schedule t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 AND v_can_view = 1 THEN
|
||||
SELECT * FROM tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 );
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Reinforcement_Schedule;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Reinforcement_Schedule;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_Reinforcement_Schedule;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Reinforcement_Schedule_Calc_Reinforcement_Schedule;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_reinforcement_schedule (
|
||||
'gripe ' -- a_guid
|
||||
, 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
, 0 -- a_require_all_id_search_filters_met
|
||||
, 0 -- 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
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Reinforcement_Schedule_Temp
|
||||
;
|
||||
CALL fetchmetrics.p_dog_clear_calc_reinforcement_schedule (
|
||||
'gripe ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
|
||||
DELETE
|
||||
FROM fetchmetrics.DOG_Reinforcement_Schedule_Temp
|
||||
;
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,45 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_reinforcement_schedule;
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_reinforcement_schedule_clear_calc_reinforcement_schedule;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_reinforcement_schedule (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE REINFORCEMENT_SCHEDULES_T
|
||||
FROM fetchmetrics.DOG_Reinforcement_Schedule_Temp REINFORCEMENT_SCHEDULES_T
|
||||
WHERE REINFORCEMENT_SCHEDULES_T.GUID = a_guid
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_debug_timing_reporting( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_reinforcement_schedule (
|
||||
'crips ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Calc_User_Access_Temp
|
||||
WHERE GUID = 'chips '
|
||||
;
|
||||
|
||||
*/
|
||||
379
static/MySQL/71325_p_dog_get_many_reinforcement_schedule.sql
Normal file
379
static/MySQL/71325_p_dog_get_many_reinforcement_schedule.sql
Normal file
@@ -0,0 +1,379 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_reinforcement_schedule;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_get_many_reinforcement_schedule (
|
||||
IN a_id_user INT
|
||||
, IN a_get_all_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule 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
|
||||
, 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 fetchmetrics.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 fetchmetrics.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 fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
/*
|
||||
SET a_get_all_reinforcement_schedule := IFNULL(a_get_all_reinforcement_schedule, 0);
|
||||
SET a_get_inactive_reinforcement_schedule := IFNULL(a_get_inactive_reinforcement_schedule, 0);
|
||||
SET a_ids_reinforcement_schedule := TRIM(IFNULL(a_ids_reinforcement_schedule, ''));
|
||||
SET a_names_reinforcement_schedule := TRIM(IFNULL(a_names_reinforcement_schedule, ''));
|
||||
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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
, 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_Reinforcement_Schedule;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Reinforcement_Schedule (
|
||||
id_reinforcement_schedule INT NOT NULL
|
||||
, code VARCHAR(250)
|
||||
, name VARCHAR(250)
|
||||
, description VARCHAR(1000)
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, 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 fetchmetrics.p_dog_calc_user_access(
|
||||
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 fetchmetrics.DOG_Calc_User_Access_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 Reinforcement_Schedules.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
v_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
|
||||
-- Call Reinforcement_Schedule Calc
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_reinforcement_schedule -- a_get_all_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule -- a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule -- a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule -- a_names_reinforcement_schedule
|
||||
, 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 fetchmetrics.p_dog_calc_reinforcement_schedule (
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_reinforcement_schedule -- a_get_all_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule -- a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule -- a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule -- a_names_reinforcement_schedule
|
||||
, 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 fetchmetrics.DOG_Reinforcement_Schedule_Temp;
|
||||
SELECT * FROM fetchmetrics.DOG_Reinforcement_Schedule_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Reinforcement_Schedule (
|
||||
id_reinforcement_schedule
|
||||
, code
|
||||
, name
|
||||
, description
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
REINFORCEMENT_SCHEDULE_T.id_reinforcement_schedule
|
||||
, REINFORCEMENT_SCHEDULE_T.code
|
||||
, REINFORCEMENT_SCHEDULE_T.name
|
||||
, REINFORCEMENT_SCHEDULE_T.description
|
||||
, REINFORCEMENT_SCHEDULE_T.active
|
||||
|
||||
, REINFORCEMENT_SCHEDULE_T.does_meet_id_filters
|
||||
, REINFORCEMENT_SCHEDULE_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Reinforcement_Schedule_Temp REINFORCEMENT_SCHEDULE_T
|
||||
WHERE REINFORCEMENT_SCHEDULE_T.GUID = v_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Reinforcement_Schedule;
|
||||
SELECT * FROM tmp_Reinforcement_Schedule;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Filter outputs
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Reinforcement_Schedule;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Reinforcement_Schedule;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Outputs
|
||||
-- Reinforcement_Schedules
|
||||
SELECT
|
||||
t_REINFORCEMENT_SCHEDULES.id_reinforcement_schedule
|
||||
, t_REINFORCEMENT_SCHEDULES.code
|
||||
, t_REINFORCEMENT_SCHEDULES.name
|
||||
, t_REINFORCEMENT_SCHEDULES.description
|
||||
, t_REINFORCEMENT_SCHEDULES.active
|
||||
|
||||
, t_REINFORCEMENT_SCHEDULES.does_meet_id_filters
|
||||
, t_REINFORCEMENT_SCHEDULES.does_meet_non_id_filters
|
||||
FROM tmp_Reinforcement_Schedule t_REINFORCEMENT_SCHEDULES
|
||||
LEFT JOIN fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULES ON t_REINFORCEMENT_SCHEDULES.id_reinforcement_schedule = REINFORCEMENT_SCHEDULES.id_reinforcement_schedule
|
||||
ORDER BY t_REINFORCEMENT_SCHEDULES.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 fetchmetrics.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_Reinforcement_Schedule;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_reinforcement_schedule(
|
||||
v_guid -- a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Reinforcement_Schedule;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_get_many_reinforcement_schedule (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
, 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 fetchmetrics.p_dog_get_many_reinforcement_schedule (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, 'pat,point' -- a_names_reinforcement_schedule
|
||||
, 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
|
||||
);
|
||||
|
||||
*/
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,10 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_assessment_command_modality_link;
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_assessment_command_link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_assessment_command_modality_link (
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_assessment_command_link (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_debug BIT
|
||||
)
|
||||
@@ -16,9 +16,9 @@ BEGIN
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE ASSESSMENT_COMMAND_MODALITY_LINKS_T
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINKS_T
|
||||
WHERE ASSESSMENT_COMMAND_MODALITY_LINKS_T.GUID = a_guid
|
||||
DELETE ASSESSMENT_COMMAND_LINKS_T
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link_Temp ASSESSMENT_COMMAND_LINKS_T
|
||||
WHERE ASSESSMENT_COMMAND_LINKS_T.GUID = a_guid
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
@@ -31,7 +31,7 @@ DELIMITER ;
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_modality_link (
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_link (
|
||||
'crips ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
650
static/MySQL/71328_p_dog_get_many_assessment_command_link.sql
Normal file
650
static/MySQL/71328_p_dog_get_many_assessment_command_link.sql
Normal file
@@ -0,0 +1,650 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_assessment_command_link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment_command_link (
|
||||
IN a_id_user INT
|
||||
, IN a_get_all_link BIT
|
||||
, IN a_get_inactive_link BIT
|
||||
, IN a_ids_link TEXT
|
||||
, IN a_min_distance_from_handler_metres_link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_link FLOAT
|
||||
, 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
|
||||
|
||||
, 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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, 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_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule 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
|
||||
, 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 fetchmetrics.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 fetchmetrics.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 fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
/*
|
||||
Filters handled by Calc Stored Procedure
|
||||
*/
|
||||
SET a_debug := IFNULL(a_debug, 0);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_id_user
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
, a_min_distance_from_handler_metres_link
|
||||
, a_max_distance_from_handler_metres_link
|
||||
, a_value_is_in_sight_of_handler_link
|
||||
, a_value_is_in_scent_range_of_handler_link
|
||||
, a_value_is_in_hearing_range_of_handler_link
|
||||
, a_value_is_on_lead_link
|
||||
, a_min_trial_count_link
|
||||
, a_max_trial_count_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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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_Assessment_Command_Link;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Link (
|
||||
id_link INT NOT NULL
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_reinforcement_schedule INT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
, is_on_lead BIT
|
||||
, trial_count INT
|
||||
, 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
|
||||
, 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 fetchmetrics.p_dog_calc_user_access(
|
||||
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 fetchmetrics.DOG_Calc_User_Access_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 Assessment_Command_Links.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
v_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
|
||||
-- Call Assessment_Command_Link Calc
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
, a_min_distance_from_handler_metres_link
|
||||
, a_max_distance_from_handler_metres_link
|
||||
, a_value_is_in_sight_of_handler_link
|
||||
, a_value_is_in_scent_range_of_handler_link
|
||||
, a_value_is_in_hearing_range_of_handler_link
|
||||
, a_value_is_on_lead_link
|
||||
, a_min_trial_count_link
|
||||
, a_max_trial_count_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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 fetchmetrics.p_dog_calc_assessment_command_link (
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
, a_min_distance_from_handler_metres_link
|
||||
, a_max_distance_from_handler_metres_link
|
||||
, a_value_is_in_sight_of_handler_link
|
||||
, a_value_is_in_scent_range_of_handler_link
|
||||
, a_value_is_in_hearing_range_of_handler_link
|
||||
, a_value_is_on_lead_link
|
||||
, a_min_trial_count_link
|
||||
, a_max_trial_count_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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 fetchmetrics.DOG_Assessment_Command_Link_Temp;
|
||||
SELECT * FROM fetchmetrics.DOG_Assessment_Command_Link_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Link (
|
||||
id_link
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_reinforcement_schedule
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, trial_count
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_assessment
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_command
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_reinforcement_schedule
|
||||
, ASSESSMENT_COMMAND_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_on_lead
|
||||
, ASSESSMENT_COMMAND_LINK_T.trial_count
|
||||
, ASSESSMENT_COMMAND_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_LINK_T.does_meet_id_filters
|
||||
, ASSESSMENT_COMMAND_LINK_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link_Temp ASSESSMENT_COMMAND_LINK_T
|
||||
WHERE ASSESSMENT_COMMAND_LINK_T.GUID = v_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Link;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Filter outputs
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Command_Link;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Command_Link;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Outputs
|
||||
-- Assessment_Command_Links
|
||||
SELECT
|
||||
t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
, t_ASSESSMENT_COMMAND_LINK.id_assessment
|
||||
, ASSESSMENT.created_on AS created_on_assessment
|
||||
, COMMAND.id_command_category
|
||||
, COMMAND_CATEGORY.name AS name_command_category
|
||||
, t_ASSESSMENT_COMMAND_LINK.id_command
|
||||
, COMMAND.name AS name_command
|
||||
, t_ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule
|
||||
, REINFORCEMENT_SCHEDULE.name AS name_reinforcement_schedule
|
||||
, t_ASSESSMENT_COMMAND_LINK.distance_from_handler_metres
|
||||
, t_ASSESSMENT_COMMAND_LINK.is_in_sight_of_handler
|
||||
, t_ASSESSMENT_COMMAND_LINK.is_in_scent_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_LINK.is_in_hearing_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_LINK.is_on_lead
|
||||
, t_ASSESSMENT_COMMAND_LINK.trial_count
|
||||
, t_ASSESSMENT_COMMAND_LINK.active
|
||||
|
||||
, t_ASSESSMENT_COMMAND_LINK.does_meet_id_filters
|
||||
, t_ASSESSMENT_COMMAND_LINK.does_meet_non_id_filters
|
||||
FROM tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_LINK.id_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_LINK.id_command = COMMAND.id_command
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category
|
||||
LEFT JOIN fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULE ON t_ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule = REINFORCEMENT_SCHEDULE.id_reinforcement_schedule
|
||||
LIMIT 1000
|
||||
;
|
||||
|
||||
-- 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 fetchmetrics.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_Assessment_Command_Link;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_link(
|
||||
v_guid -- a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Link;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_get_many_assessment_command_link (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_link
|
||||
, 0 -- a_get_inactive_link
|
||||
, '' -- a_ids_link
|
||||
, NULL -- a_min_distance_from_handler_metres_link
|
||||
, NULL -- a_max_distance_from_handler_metres_link
|
||||
, NULL -- a_value_is_in_sight_of_handler_link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_link
|
||||
, NULL -- a_value_is_on_lead_link
|
||||
, NULL -- a_min_trial_count_link
|
||||
, NULL -- a_max_trial_count_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_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
|
||||
, 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
|
||||
);
|
||||
|
||||
*/
|
||||
619
static/MySQL/71328_p_dog_save_assessment_command_link.sql
Normal file
619
static/MySQL/71328_p_dog_save_assessment_command_link.sql
Normal file
@@ -0,0 +1,619 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_assessment_command_link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_save_assessment_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
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM fetchmetrics.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 fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
START TRANSACTION;
|
||||
INSERT INTO fetchmetrics.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
, guid
|
||||
)
|
||||
SELECT
|
||||
t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, t_ERROR.msg
|
||||
, a_guid
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
;
|
||||
COMMIT;
|
||||
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Link_Copy;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Link;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Link (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_reinforcement_schedule INT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
, is_on_lead BIT
|
||||
, trial_count INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
, name_error VARCHAR(250)
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Link_Copy (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_reinforcement_schedule INT
|
||||
, distance_from_handler_metres INT
|
||||
, is_in_sight_of_handler INT
|
||||
, is_in_scent_range_of_handler INT
|
||||
, is_in_hearing_range_of_handler INT
|
||||
, is_on_lead FLOAT
|
||||
, trial_count 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
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- Get data from Temp table
|
||||
INSERT INTO tmp_Assessment_Command_Link (
|
||||
id_temp
|
||||
, id_link
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_reinforcement_schedule
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
-- , trial_count
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_LINK_T.id_temp
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.id_assessment
|
||||
, ASSESSMENT_COMMAND_LINK.id_assessment
|
||||
) AS id_assessment
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.id_command
|
||||
, ASSESSMENT_COMMAND_LINK.id_command
|
||||
) AS id_command
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.id_reinforcement_schedule
|
||||
, ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule
|
||||
) AS id_reinforcement_schedule
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_LINK.distance_from_handler_metres
|
||||
, 1
|
||||
) AS distance_from_handler_metres
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK.is_in_sight_of_handler
|
||||
, 1
|
||||
) AS is_in_sight_of_handler
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK.is_in_scent_range_of_handler
|
||||
, 1
|
||||
) AS is_in_scent_range_of_handler
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK.is_in_hearing_range_of_handler
|
||||
, 1
|
||||
) AS is_in_hearing_range_of_handler
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.is_on_lead
|
||||
, ASSESSMENT_COMMAND_LINK.is_on_lead
|
||||
, 0
|
||||
) AS is_on_lead
|
||||
/*
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.trial_count
|
||||
, ASSESSMENT_COMMAND_LINK.trial_count
|
||||
) AS trial_count
|
||||
*/
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_LINK.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_COMMAND_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link_Temp ASSESSMENT_COMMAND_LINK_T
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON ASSESSMENT_COMMAND_LINK_T.id_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE ASSESSMENT_COMMAND_LINK_T.guid = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Assessment_Command_Link_Temp records';
|
||||
SELECT * FROM tmp_Assessment_Command_Link;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Link;
|
||||
END IF;
|
||||
|
||||
-- Error names
|
||||
UPDATE tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_LINK.id_command = COMMAND.id_command
|
||||
LEFT JOIN fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULE ON t_ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule = REINFORCEMENT_SCHEDULE.id_reinforcement_schedule
|
||||
SET t_ASSESSMENT_COMMAND_LINK.name_error = CONCAT(
|
||||
COALESCE(CONVERT(ASSESSMENT.created_on, CHAR), '(No Assessment)')
|
||||
, ' - '
|
||||
, COALESCE(COMMAND.name, '(No Command)')
|
||||
, ' - '
|
||||
, COALESCE(REINFORCEMENT_SCHEDULE.name, '(No Command Modality)')
|
||||
)
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After set name_error';
|
||||
SELECT * FROM tmp_Assessment_Command_Link;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Link;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Validation
|
||||
-- Missing mandatory fields
|
||||
-- id_assessment
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_LINK.id_assessment)
|
||||
OR ISNULL(ASSESSMENT.id_assessment)
|
||||
OR ASSESSMENT.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 Assessment Command Link(s) do not have a valid Assessment: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_LINK.id_assessment)
|
||||
OR ISNULL(ASSESSMENT.id_assessment)
|
||||
OR ASSESSMENT.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_command
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_LINK.id_command = COMMAND.id_command
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_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 Assessment Command Link(s) do not have a valid Command: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_LINK.id_command = COMMAND.id_command
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_LINK.id_command)
|
||||
OR ISNULL(COMMAND.id_command)
|
||||
OR COMMAND.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_reinforcement_schedule
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULE ON t_ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule = REINFORCEMENT_SCHEDULE.id_reinforcement_schedule
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule)
|
||||
OR ISNULL(REINFORCEMENT_SCHEDULE.id_reinforcement_schedule)
|
||||
OR REINFORCEMENT_SCHEDULE.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 Assessment Command Link(s) do not have a valid Command Modality: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Reinforcement_Schedule REINFORCEMENT_SCHEDULE ON t_ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule = REINFORCEMENT_SCHEDULE.id_reinforcement_schedule
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule)
|
||||
OR ISNULL(REINFORCEMENT_SCHEDULE.id_reinforcement_schedule)
|
||||
OR REINFORCEMENT_SCHEDULE.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- distance_from_handler_metres
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
WHERE IFNULL(t_ASSESSMENT_COMMAND_LINK.distance_from_handler_metres, -1) < 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 Assessment_Command_Link(s) do not have a valid Distance From Handler: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
WHERE IFNULL(t_ASSESSMENT_COMMAND_LINK.distance_from_handler_metres, -1) < 0
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Permissions
|
||||
-- Can Create
|
||||
CALL fetchmetrics.p_dog_calc_user_access(
|
||||
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 fetchmetrics.DOG_Calc_User_Access_Temp CU_T
|
||||
WHERE CU_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
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 Assessment_Command_Links.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * from tmp_Assessment_Command_Link;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Command_Link;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
INSERT INTO fetchmetrics.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 fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK
|
||||
INNER JOIN tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
ON ASSESSMENT_COMMAND_LINK.id_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
AND t_ASSESSMENT_COMMAND_LINK.is_new = 0
|
||||
SET
|
||||
ASSESSMENT_COMMAND_LINK.id_assessment = t_ASSESSMENT_COMMAND_LINK.id_assessment
|
||||
, ASSESSMENT_COMMAND_LINK.id_command = t_ASSESSMENT_COMMAND_LINK.id_command
|
||||
, ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule = t_ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule
|
||||
, ASSESSMENT_COMMAND_LINK.distance_from_handler_metres = t_ASSESSMENT_COMMAND_LINK.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_LINK.is_in_sight_of_handler = t_ASSESSMENT_COMMAND_LINK.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK.is_in_scent_range_of_handler = t_ASSESSMENT_COMMAND_LINK.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK.is_in_hearing_range_of_handler = t_ASSESSMENT_COMMAND_LINK.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK.is_on_lead = t_ASSESSMENT_COMMAND_LINK.is_on_lead
|
||||
-- , ASSESSMENT_COMMAND_LINK.trial_count = t_ASSESSMENT_COMMAND_LINK.trial_count
|
||||
, ASSESSMENT_COMMAND_LINK.active = t_ASSESSMENT_COMMAND_LINK.active
|
||||
, ASSESSMENT_COMMAND_LINK.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Link (
|
||||
id_temp
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_reinforcement_schedule
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
-- , trial_count
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_COMMAND_LINK.id_temp
|
||||
, t_ASSESSMENT_COMMAND_LINK.id_assessment AS id_assessment
|
||||
, t_ASSESSMENT_COMMAND_LINK.id_command AS id_command
|
||||
, t_ASSESSMENT_COMMAND_LINK.id_reinforcement_schedule AS id_reinforcement_schedule
|
||||
, t_ASSESSMENT_COMMAND_LINK.distance_from_handler_metres AS distance_from_handler_metres
|
||||
, t_ASSESSMENT_COMMAND_LINK.is_in_sight_of_handler AS is_in_sight_of_handler
|
||||
, t_ASSESSMENT_COMMAND_LINK.is_in_scent_range_of_handler AS is_in_scent_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_LINK.is_in_hearing_range_of_handler AS is_in_hearing_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_LINK.is_on_lead AS is_on_lead
|
||||
-- , t_ASSESSMENT_COMMAND_LINK.trial_count AS trial_count
|
||||
, t_ASSESSMENT_COMMAND_LINK.active AS active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Assessment_Command_Link t_ASSESSMENT_COMMAND_LINK
|
||||
WHERE
|
||||
t_ASSESSMENT_COMMAND_LINK.is_new = 1
|
||||
AND t_ASSESSMENT_COMMAND_LINK.active = 1
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
, guid
|
||||
)
|
||||
SELECT
|
||||
t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, t_ERROR.msg
|
||||
, a_guid
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE FROM fetchmetrics.DOG_Assessment_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 fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Command_Link;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE tmp_Assessment_Command_Link;
|
||||
DROP TEMPORARY TABLE tmp_Msg_Error;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
'ripplesipplenippletippledipplykipple'
|
||||
DELETE FROM fetchmetrics.DOG_Assessment_Command_Link WHERE id_link > 740;
|
||||
* /
|
||||
delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Link_Audit
|
||||
where id_link > 768
|
||||
;
|
||||
delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Link
|
||||
where id_link > 768
|
||||
;
|
||||
delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Link_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Link_Temp
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Assessment_Command_Link_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Link
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Assessment_Command_Link
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Link_Temp (
|
||||
id_link
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_reinforcement_schedule
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, active
|
||||
, guid
|
||||
)
|
||||
VALUES (
|
||||
-1 -- id_link
|
||||
, 1 -- id_assessment
|
||||
, 1 -- id_command
|
||||
, 1 -- id_reinforcement_schedule
|
||||
, 15 -- distance_from_handler_metres
|
||||
, 1 -- is_in_sight_of_handler
|
||||
, 0 -- is_in_scent_range_of_handler
|
||||
, 0 -- is_in_hearing_range_of_handler
|
||||
, 0 -- is_on_lead
|
||||
-- , NULL -- trial_count
|
||||
, 1 -- active
|
||||
, 'ripplesipplenippletippledipplykipple'
|
||||
);
|
||||
|
||||
CALL fetchmetrics.p_dog_save_assessment_command_link (
|
||||
'nipples'
|
||||
, 'ripplesipplenippletippledipplykipple'
|
||||
, 1
|
||||
, 1
|
||||
);
|
||||
|
||||
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Link_Temp
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Assessment_Command_Link_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Link
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Assessment_Command_Link
|
||||
;
|
||||
|
||||
*/
|
||||
543
static/MySQL/71329_p_dog_calc_training_technique.sql
Normal file
543
static/MySQL/71329_p_dog_calc_training_technique.sql
Normal file
@@ -0,0 +1,543 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_training_technique;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_calc_training_technique (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_id_user INT
|
||||
, IN a_get_all_training_technique BIT
|
||||
, IN a_get_inactive_training_technique BIT
|
||||
, IN a_ids_training_technique TEXT
|
||||
, IN a_names_training_technique 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_show_errors 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_has_filter_training_technique_id BIT;
|
||||
DECLARE v_has_filter_training_technique_name BIT;
|
||||
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_Calc_Training_Technique (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error_Calc_Training_Technique (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM fetchmetrics.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_Calc_Training_Technique t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Training_Technique;
|
||||
END;
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_code_type_error_no_permission := 'NO_PERMISSION';
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
SET a_get_all_training_technique := IFNULL(a_get_all_training_technique, 0);
|
||||
SET a_get_inactive_training_technique := IFNULL(a_get_inactive_training_technique, 0);
|
||||
SET a_ids_training_technique := TRIM(IFNULL(a_ids_training_technique, ''));
|
||||
SET a_names_training_technique := TRIM(IFNULL(a_names_training_technique, ''));
|
||||
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_show_errors := IFNULL(a_show_errors, 0);
|
||||
SET a_debug := IFNULL(a_debug, 0);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid
|
||||
, a_id_user
|
||||
, a_get_all_training_technique
|
||||
, a_get_inactive_training_technique
|
||||
, a_ids_training_technique
|
||||
, a_names_training_technique
|
||||
, 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_show_errors
|
||||
, a_debug
|
||||
;
|
||||
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_id_type_error_no_permission
|
||||
, v_id_permission_dog_view
|
||||
, v_time_start
|
||||
;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Training_Technique;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Training_Technique;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_Training_Technique;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Training_Technique_Calc_Training_Technique;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Training_Technique_Calc_Training_Technique (
|
||||
id_technique INT NOT NULL
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Training_Technique (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Training_Technique (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Training_Technique;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Training_Technique (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Training_Technique;
|
||||
|
||||
SET v_has_filter_training_technique_id = CASE WHEN a_ids_training_technique <> '' THEN 1 ELSE 0 END;
|
||||
SET v_has_filter_training_technique_name = CASE WHEN a_names_training_technique <> '' THEN 1 ELSE 0 END;
|
||||
|
||||
-- Training_Techniques
|
||||
IF v_has_filter_training_technique_id = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_ids_training_technique, ',', a_debug);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
INSERT INTO tmp_Split_Id_Calc_Training_Technique (
|
||||
substring
|
||||
, as_int
|
||||
)
|
||||
SELECT
|
||||
SPLIT_T.substring
|
||||
, CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int
|
||||
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
|
||||
WHERE
|
||||
SPLIT_T.GUID = a_guid
|
||||
AND IFNULL(SPLIT_T.substring, '') <> ''
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_core_clear_split( a_guid );
|
||||
END IF;
|
||||
|
||||
IF v_has_filter_training_technique_name = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_names_training_technique, ',', a_debug);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
INSERT INTO tmp_Split_Name_Calc_Training_Technique (
|
||||
substring
|
||||
, as_int
|
||||
)
|
||||
SELECT
|
||||
SPLIT_T.substring
|
||||
, CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int
|
||||
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
|
||||
WHERE
|
||||
SPLIT_T.GUID = a_guid
|
||||
AND IFNULL(SPLIT_T.substring, '') <> ''
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_core_clear_split( a_guid );
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Training_Technique t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Split_Id_Calc_Training_Technique t_SPLIT_ID
|
||||
LEFT JOIN fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUES ON t_SPLIT_ID.as_int = TRAINING_TECHNIQUES.id_technique
|
||||
WHERE
|
||||
ISNULL(t_SPLIT_ID.as_int)
|
||||
OR ISNULL(TRAINING_TECHNIQUES.id_technique)
|
||||
OR (
|
||||
TRAINING_TECHNIQUES.active = 0
|
||||
AND a_get_inactive_training_technique = 0
|
||||
)
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error_Calc_Training_Technique (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('Invalid or inactive Training_Technique IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL'))
|
||||
FROM tmp_Split_Id_Calc_Training_Technique t_SPLIT_ID
|
||||
LEFT JOIN fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUES ON t_SPLIT_ID.as_int = TRAINING_TECHNIQUES.id_technique
|
||||
WHERE
|
||||
ISNULL(t_SPLIT_ID.as_int)
|
||||
OR ISNULL(TRAINING_TECHNIQUES.id_technique)
|
||||
OR (
|
||||
TRAINING_TECHNIQUES.active = 0
|
||||
AND a_get_inactive_training_technique = 0
|
||||
)
|
||||
;
|
||||
/* Don't error on names, hand signals, or notes not found
|
||||
ELSEIF EXISTS ()
|
||||
*/
|
||||
ELSE
|
||||
INSERT INTO tmp_Training_Technique_Calc_Training_Technique (
|
||||
id_technique
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
WITH
|
||||
Training_Technique_Id_Filter AS (
|
||||
SELECT TRAINING_TECHNIQUES.id_technique
|
||||
FROM tmp_Split_Id_Calc_Training_Technique t_SPLIT_ID
|
||||
INNER JOIN fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUES ON t_SPLIT_ID.as_int = TRAINING_TECHNIQUES.id_technique
|
||||
)
|
||||
, Training_Technique_Name_Filter AS (
|
||||
SELECT TRAINING_TECHNIQUES.id_technique
|
||||
FROM tmp_Split_Name_Calc_Training_Technique t_SPLIT_NAME
|
||||
INNER JOIN fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUES ON TRAINING_TECHNIQUES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%')
|
||||
WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL
|
||||
)
|
||||
, Training_Technique_Filters AS (
|
||||
SELECT
|
||||
TRAINING_TECHNIQUES_COMBINED.id_technique
|
||||
, MAX(TRAINING_TECHNIQUES_COMBINED.does_meet_id_filter) AS does_meet_id_filter
|
||||
, MAX(TRAINING_TECHNIQUES_COMBINED.does_meet_name_filter) AS does_meet_name_filter
|
||||
FROM (
|
||||
SELECT
|
||||
TRAINING_TECHNIQUES_ID_FILTER.id_technique
|
||||
, 1 AS does_meet_id_filter
|
||||
, 0 AS does_meet_name_filter
|
||||
FROM Training_Technique_Id_Filter TRAINING_TECHNIQUES_ID_FILTER
|
||||
UNION
|
||||
SELECT
|
||||
TRAINING_TECHNIQUES_NAME_FILTER.id_technique
|
||||
, 0 AS does_meet_id_filter
|
||||
, 1 AS does_meet_name_filter
|
||||
FROM Training_Technique_Name_Filter TRAINING_TECHNIQUES_NAME_FILTER
|
||||
) TRAINING_TECHNIQUES_COMBINED
|
||||
GROUP BY TRAINING_TECHNIQUES_COMBINED.id_technique
|
||||
)
|
||||
SELECT
|
||||
TRAINING_TECHNIQUES.id_technique
|
||||
, CASE WHEN
|
||||
v_has_filter_training_technique_id = 0
|
||||
OR IFNULL(TRAINING_TECHNIQUES_FILTERS.does_meet_id_filter, 0) = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_id_filters
|
||||
, CASE WHEN
|
||||
(
|
||||
v_has_filter_training_technique_name = 0
|
||||
)
|
||||
OR IFNULL(TRAINING_TECHNIQUES_FILTERS.does_meet_name_filter, 0) = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUES
|
||||
LEFT JOIN Training_Technique_Filters TRAINING_TECHNIQUES_FILTERS ON TRAINING_TECHNIQUES.id_technique = TRAINING_TECHNIQUES_FILTERS.id_technique
|
||||
WHERE
|
||||
(
|
||||
a_get_all_training_technique = 1
|
||||
OR (
|
||||
v_has_filter_training_technique_id = 1
|
||||
AND TRAINING_TECHNIQUES_FILTERS.does_meet_id_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_training_technique_name = 1
|
||||
AND TRAINING_TECHNIQUES_FILTERS.does_meet_name_filter = 1
|
||||
)
|
||||
)
|
||||
AND (
|
||||
a_get_inactive_training_technique = 1
|
||||
OR TRAINING_TECHNIQUES.active = 1
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Split_Id_Calc_Training_Technique;
|
||||
DELETE FROM tmp_Split_Name_Calc_Training_Technique;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After get Training_Techniques ';
|
||||
SELECT * FROM tmp_Training_Technique_Calc_Training_Technique;
|
||||
END IF;
|
||||
|
||||
-- Filter records
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Training_Technique t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
DELETE t_TRAINING_TECHNIQUES
|
||||
FROM tmp_Training_Technique_Calc_Training_Technique t_TRAINING_TECHNIQUES
|
||||
WHERE
|
||||
(
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
t_TRAINING_TECHNIQUES.does_meet_id_filters = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_all_non_id_search_filters_met = 1
|
||||
AND (
|
||||
t_TRAINING_TECHNIQUES.does_meet_non_id_filters = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND t_TRAINING_TECHNIQUES.does_meet_id_filters = 0
|
||||
)
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND t_TRAINING_TECHNIQUES.does_meet_non_id_filters = 0
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After filter Training_Techniques';
|
||||
SELECT * FROM tmp_Training_Technique_Calc_Training_Technique;
|
||||
END IF;
|
||||
|
||||
-- Calculated fields
|
||||
|
||||
-- Permissions
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- 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_view -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_user_access(
|
||||
a_guid -- 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_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 fetchmetrics.DOG_Calc_User_Access_Temp CALC_USER_T
|
||||
WHERE CALC_USER_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT v_can_view;
|
||||
END IF;
|
||||
|
||||
IF (v_can_view = 0) THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error_Calc_Training_Technique t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error_Calc_Training_Technique (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to view Dogs and Training_Techniques.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Before non-permitted data deletion';
|
||||
SELECT * FROM tmp_Training_Technique_Calc_Training_Technique;
|
||||
SELECT * FROM tmp_Msg_Error_Calc_Training_Technique;
|
||||
END IF;
|
||||
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Training_Technique t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Training_Technique_Calc_Training_Technique;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Training_Technique_Calc_Training_Technique;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After non-permitted data deletion';
|
||||
END IF;
|
||||
|
||||
-- Outputs
|
||||
START TRANSACTION;
|
||||
-- Training_Techniques
|
||||
INSERT INTO fetchmetrics.DOG_Training_Technique_Temp (
|
||||
guid
|
||||
, id_technique
|
||||
, code
|
||||
, name
|
||||
, description
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
a_guid
|
||||
, t_TRAINING_TECHNIQUES.id_technique
|
||||
, TRAINING_TECHNIQUES.code
|
||||
, TRAINING_TECHNIQUES.name
|
||||
, TRAINING_TECHNIQUES.description
|
||||
, TRAINING_TECHNIQUES.active
|
||||
|
||||
, t_TRAINING_TECHNIQUES.does_meet_id_filters
|
||||
, t_TRAINING_TECHNIQUES.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUES
|
||||
INNER JOIN tmp_Training_Technique_Calc_Training_Technique t_TRAINING_TECHNIQUES ON TRAINING_TECHNIQUES.id_technique = t_TRAINING_TECHNIQUES.id_technique
|
||||
ORDER BY TRAINING_TECHNIQUES.name
|
||||
;
|
||||
COMMIT;
|
||||
|
||||
-- Errors
|
||||
IF a_show_errors = 1 THEN
|
||||
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_Calc_Training_Technique t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 AND v_can_view = 1 THEN
|
||||
SELECT * FROM tmp_Training_Technique_Calc_Training_Technique;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 );
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Training_Technique;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Training_Technique;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_Training_Technique;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Training_Technique_Calc_Training_Technique;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_training_technique (
|
||||
'gripe ' -- a_guid
|
||||
, 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_training_technique
|
||||
, 0 -- a_get_inactive_training_technique
|
||||
, '' -- a_ids_training_technique
|
||||
, '' -- a_names_training_technique
|
||||
, 0 -- a_require_all_id_search_filters_met
|
||||
, 0 -- 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
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Training_Technique_Temp
|
||||
;
|
||||
CALL fetchmetrics.p_dog_clear_calc_training_technique (
|
||||
'gripe ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
|
||||
DELETE
|
||||
FROM fetchmetrics.DOG_Training_Technique_Temp
|
||||
;
|
||||
|
||||
*/
|
||||
45
static/MySQL/71329_p_dog_clear_calc_training_technique.sql
Normal file
45
static/MySQL/71329_p_dog_clear_calc_training_technique.sql
Normal file
@@ -0,0 +1,45 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_training_technique;
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_training_technique_clear_calc_training_technique;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_training_technique (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE TRAINING_TECHNIQUES_T
|
||||
FROM fetchmetrics.DOG_Training_Technique_Temp TRAINING_TECHNIQUES_T
|
||||
WHERE TRAINING_TECHNIQUES_T.GUID = a_guid
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_debug_timing_reporting( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_training_technique (
|
||||
'crips ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Calc_User_Access_Temp
|
||||
WHERE GUID = 'chips '
|
||||
;
|
||||
|
||||
*/
|
||||
379
static/MySQL/71329_p_dog_get_many_training_technique.sql
Normal file
379
static/MySQL/71329_p_dog_get_many_training_technique.sql
Normal file
@@ -0,0 +1,379 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_training_technique;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_get_many_training_technique (
|
||||
IN a_id_user INT
|
||||
, IN a_get_all_training_technique BIT
|
||||
, IN a_get_inactive_training_technique BIT
|
||||
, IN a_ids_training_technique TEXT
|
||||
, IN a_names_training_technique 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
|
||||
, 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 fetchmetrics.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 fetchmetrics.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 fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
/*
|
||||
SET a_get_all_training_technique := IFNULL(a_get_all_training_technique, 0);
|
||||
SET a_get_inactive_training_technique := IFNULL(a_get_inactive_training_technique, 0);
|
||||
SET a_ids_training_technique := TRIM(IFNULL(a_ids_training_technique, ''));
|
||||
SET a_names_training_technique := TRIM(IFNULL(a_names_training_technique, ''));
|
||||
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_training_technique
|
||||
, a_get_inactive_training_technique
|
||||
, a_ids_training_technique
|
||||
, a_names_training_technique
|
||||
, 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_Training_Technique;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Training_Technique (
|
||||
id_technique INT NOT NULL
|
||||
, code VARCHAR(250)
|
||||
, name VARCHAR(250)
|
||||
, description VARCHAR(1000)
|
||||
, active BIT
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, 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 fetchmetrics.p_dog_calc_user_access(
|
||||
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 fetchmetrics.DOG_Calc_User_Access_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 Training_Techniques.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
v_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
|
||||
-- Call Training_Technique Calc
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_training_technique -- a_get_all_training_technique
|
||||
, a_get_inactive_training_technique -- a_get_inactive_training_technique
|
||||
, a_ids_training_technique -- a_ids_training_technique
|
||||
, a_names_training_technique -- a_names_training_technique
|
||||
, 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 fetchmetrics.p_dog_calc_training_technique (
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_training_technique -- a_get_all_training_technique
|
||||
, a_get_inactive_training_technique -- a_get_inactive_training_technique
|
||||
, a_ids_training_technique -- a_ids_training_technique
|
||||
, a_names_training_technique -- a_names_training_technique
|
||||
, 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 fetchmetrics.DOG_Training_Technique_Temp;
|
||||
SELECT * FROM fetchmetrics.DOG_Training_Technique_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Training_Technique (
|
||||
id_technique
|
||||
, code
|
||||
, name
|
||||
, description
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
TRAINING_TECHNIQUE_T.id_technique
|
||||
, TRAINING_TECHNIQUE_T.code
|
||||
, TRAINING_TECHNIQUE_T.name
|
||||
, TRAINING_TECHNIQUE_T.description
|
||||
, TRAINING_TECHNIQUE_T.active
|
||||
|
||||
, TRAINING_TECHNIQUE_T.does_meet_id_filters
|
||||
, TRAINING_TECHNIQUE_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Training_Technique_Temp TRAINING_TECHNIQUE_T
|
||||
WHERE TRAINING_TECHNIQUE_T.GUID = v_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Training_Technique;
|
||||
SELECT * FROM tmp_Training_Technique;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Filter outputs
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Training_Technique;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Training_Technique;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Outputs
|
||||
-- Training_Techniques
|
||||
SELECT
|
||||
t_TRAINING_TECHNIQUES.id_technique
|
||||
, t_TRAINING_TECHNIQUES.code
|
||||
, t_TRAINING_TECHNIQUES.name
|
||||
, t_TRAINING_TECHNIQUES.description
|
||||
, t_TRAINING_TECHNIQUES.active
|
||||
|
||||
, t_TRAINING_TECHNIQUES.does_meet_id_filters
|
||||
, t_TRAINING_TECHNIQUES.does_meet_non_id_filters
|
||||
FROM tmp_Training_Technique t_TRAINING_TECHNIQUES
|
||||
LEFT JOIN fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUES ON t_TRAINING_TECHNIQUES.id_technique = TRAINING_TECHNIQUES.id_technique
|
||||
ORDER BY t_TRAINING_TECHNIQUES.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 fetchmetrics.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_Training_Technique;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_training_technique(
|
||||
v_guid -- a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Training_Technique;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_get_many_training_technique (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_training_technique
|
||||
, 0 -- a_get_inactive_training_technique
|
||||
, '' -- a_ids_training_technique
|
||||
, '' -- a_names_training_technique
|
||||
, 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 fetchmetrics.p_dog_get_many_training_technique (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_training_technique
|
||||
, 0 -- a_get_inactive_training_technique
|
||||
, '' -- a_ids_training_technique
|
||||
, 'pat,point' -- a_names_training_technique
|
||||
, 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
|
||||
);
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,988 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_assessment_command_technique_link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment_command_technique_link (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_id_user INT
|
||||
, IN a_get_all_link BIT
|
||||
, IN a_get_inactive_link BIT
|
||||
, IN a_ids_link TEXT
|
||||
|
||||
, IN a_get_all_AC_Link BIT
|
||||
, IN a_get_inactive_AC_Link BIT
|
||||
, IN a_ids_AC_Link TEXT
|
||||
, IN a_min_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_scent_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_hearing_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_on_lead_AC_Link BIT
|
||||
, IN a_min_trial_count_AC_Link FLOAT
|
||||
, IN a_max_trial_count_AC_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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, 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_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule TEXT
|
||||
|
||||
, IN a_get_all_training_technique BIT
|
||||
, IN a_get_inactive_training_technique BIT
|
||||
, IN a_ids_training_technique TEXT
|
||||
, IN a_names_training_technique 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_show_errors 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_has_filter_assessment_command_technique_link_id BIT;
|
||||
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_Calc_ACT_Link (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error_Calc_ACT_Link (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM fetchmetrics.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_Calc_ACT_Link t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error_Calc_ACT_Link;
|
||||
END;
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_code_type_error_no_permission := 'NO_PERMISSION';
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
SET a_get_all_link := IFNULL(a_get_all_link, 0);
|
||||
SET a_get_inactive_link := IFNULL(a_get_inactive_link, 0);
|
||||
SET a_ids_link := TRIM(IFNULL(a_ids_link, ''));
|
||||
/*
|
||||
*/
|
||||
-- Foreign key filters corected in their Calc Stored Procedures
|
||||
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_show_errors := IFNULL(a_show_errors, 0);
|
||||
SET a_debug := IFNULL(a_debug, 0);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_get_all_training_technique
|
||||
, a_get_inactive_training_technique
|
||||
, a_ids_training_technique
|
||||
, a_names_training_technique
|
||||
|
||||
, 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_show_errors
|
||||
, a_debug
|
||||
;
|
||||
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_id_type_error_no_permission
|
||||
, v_id_permission_dog_view
|
||||
, v_time_start
|
||||
;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_ACT_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_ACT_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Technique_Link_Calc_ACT_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Training_Technique_Calc_ACT_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Link_Calc_ACT_Link;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Link_Calc_ACT_Link (
|
||||
id_link INT NOT NULL
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_reinforcement_schedule INT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
, is_on_lead BIT
|
||||
, trial_count INT
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Training_Technique_Calc_ACT_Link (
|
||||
id_technique INT NOT NULL
|
||||
, code VARCHAR(250)
|
||||
, name VARCHAR(250)
|
||||
, description VARCHAR(1000)
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Technique_Link_Calc_ACT_Link (
|
||||
id_link INT NOT NULL
|
||||
, id_assessment_command_link INT
|
||||
, id_training_technique INT
|
||||
, 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_Calc_ACT_Link (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_ACT_Link (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_ACT_Link;
|
||||
|
||||
SET v_has_filter_assessment_command_technique_link_id := CASE WHEN a_ids_link <> '' THEN 1 ELSE 0 END;
|
||||
|
||||
-- Call Assessment_Command_Link Calc
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACT_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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 fetchmetrics.p_dog_calc_assessment_command_link (
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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 fetchmetrics.DOG_Assessment_Command_Link_Temp;
|
||||
SELECT * FROM fetchmetrics.DOG_Assessment_Command_Link_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Link_Calc_ACT_Link (
|
||||
id_link
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_reinforcement_schedule
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, trial_count
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_assessment
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_command
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_reinforcement_schedule
|
||||
, ASSESSMENT_COMMAND_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_on_lead
|
||||
, ASSESSMENT_COMMAND_LINK_T.trial_count
|
||||
, ASSESSMENT_COMMAND_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_LINK_T.does_meet_id_filters
|
||||
, ASSESSMENT_COMMAND_LINK_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link_Temp ASSESSMENT_COMMAND_LINK_T
|
||||
WHERE ASSESSMENT_COMMAND_LINK_T.GUID = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Link_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_ACT_Link;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Call Calc Training Technique
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACT_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_training_technique -- a_get_all_training_technique
|
||||
, a_get_inactive_training_technique -- a_get_inactive_training_technique
|
||||
, a_ids_training_technique -- a_ids_training_technique
|
||||
, a_names_training_technique -- a_names_training_technique
|
||||
, 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 fetchmetrics.p_dog_calc_training_technique (
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_training_technique -- a_get_all_training_technique
|
||||
, a_get_inactive_training_technique -- a_get_inactive_training_technique
|
||||
, a_ids_training_technique -- a_ids_training_technique
|
||||
, a_names_training_technique -- a_names_training_technique
|
||||
, 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
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Training_Technique_Calc_ACT_Link (
|
||||
id_technique
|
||||
, code
|
||||
, name
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
TRAINING_TECHNIQUE_T.id_technique
|
||||
, TRAINING_TECHNIQUE_T.code
|
||||
, TRAINING_TECHNIQUE_T.name
|
||||
, TRAINING_TECHNIQUE_T.active
|
||||
|
||||
, TRAINING_TECHNIQUE_T.does_meet_id_filters
|
||||
, TRAINING_TECHNIQUE_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Training_Technique_Temp TRAINING_TECHNIQUE_T
|
||||
WHERE TRAINING_TECHNIQUE_T.GUID = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Training_Technique_Calc_ACT_Link;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Assessment Command Technique Links
|
||||
IF v_has_filter_assessment_command_technique_link_id = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_ids_link, ',', a_debug);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
INSERT INTO tmp_Split_Id_Calc_ACT_Link (
|
||||
substring
|
||||
, as_int
|
||||
)
|
||||
SELECT
|
||||
SPLIT_T.substring
|
||||
, CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int
|
||||
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
|
||||
WHERE
|
||||
SPLIT_T.GUID = a_guid
|
||||
AND IFNULL(SPLIT_T.substring, '') <> ''
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_core_clear_split( a_guid );
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACT_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Split_Id_Calc_ACT_Link t_SPLIT_ID
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Technique_Link ASSESSMENT_COMMAND_TECHNIQUE_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_SPLIT_ID.as_int)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link)
|
||||
OR (
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK.active = 0
|
||||
AND a_get_inactive_link = 0
|
||||
)
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error_Calc_ACT_Link (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('Invalid or inactive Assessment_Command_Technique_Link IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL'))
|
||||
FROM tmp_Split_Id_Calc_ACT_Link t_SPLIT_ID
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Technique_Link ASSESSMENT_COMMAND_TECHNIQUE_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_SPLIT_ID.as_int)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link)
|
||||
OR (
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK.active = 0
|
||||
AND a_get_inactive_link = 0
|
||||
)
|
||||
;
|
||||
/* Don't error on notes not found
|
||||
ELSEIF EXISTS ()
|
||||
*/
|
||||
ELSE
|
||||
INSERT INTO tmp_Assessment_Command_Technique_Link_Calc_ACT_Link (
|
||||
id_link
|
||||
, id_assessment_command_link
|
||||
, id_training_technique
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
WITH
|
||||
Assessment_Command_Technique_Link_Id_Filter AS (
|
||||
SELECT ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
FROM tmp_Split_Id_Calc_ACT_Link t_SPLIT_ID
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Command_Technique_Link ASSESSMENT_COMMAND_TECHNIQUE_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
)
|
||||
, Assessment_Command_Technique_Link_Filters AS (
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK_COMBINED.id_link
|
||||
, MAX(ASSESSMENT_COMMAND_TECHNIQUE_LINK_COMBINED.does_meet_id_filter) AS does_meet_id_filter
|
||||
FROM (
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK_ID_FILTER.id_link
|
||||
, 1 AS does_meet_id_filter
|
||||
FROM Assessment_Command_Technique_Link_Id_Filter ASSESSMENT_COMMAND_TECHNIQUE_LINK_ID_FILTER
|
||||
) ASSESSMENT_COMMAND_TECHNIQUE_LINK_COMBINED
|
||||
GROUP BY ASSESSMENT_COMMAND_TECHNIQUE_LINK_COMBINED.id_link
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK.active
|
||||
, CASE WHEN
|
||||
v_has_filter_assessment_command_technique_link_id = 0
|
||||
OR ASSESSMENT_COMMAND_TECHNIQUE_LINK_FILTERS.does_meet_id_filter = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_id_filters
|
||||
, 1 AS does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Technique_Link ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
LEFT JOIN Assessment_Command_Technique_Link_Filters ASSESSMENT_COMMAND_TECHNIQUE_LINK_FILTERS ON ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link = ASSESSMENT_COMMAND_TECHNIQUE_LINK_FILTERS.id_link
|
||||
WHERE
|
||||
(
|
||||
a_get_all_link = 1
|
||||
OR (
|
||||
v_has_filter_assessment_command_technique_link_id = 1
|
||||
AND ASSESSMENT_COMMAND_TECHNIQUE_LINK_FILTERS.does_meet_id_filter = 1
|
||||
)
|
||||
)
|
||||
AND (
|
||||
a_get_inactive_link = 1
|
||||
OR ASSESSMENT_COMMAND_TECHNIQUE_LINK.active = 1
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Split_Id_Calc_ACT_Link;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After get Assessment_Command_Technique_Links';
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link_Calc_ACT_Link;
|
||||
END IF;
|
||||
|
||||
-- Filter records
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACT_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
DELETE t_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
FROM tmp_Assessment_Command_Technique_Link_Calc_ACT_Link t_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
LEFT JOIN tmp_Assessment_Command_Link_Calc_ACT_Link t_ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
LEFT JOIN tmp_Training_Technique_Calc_ACT_Link t_TRAINING_TECHNIQUE ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique = t_TRAINING_TECHNIQUE.id_technique
|
||||
WHERE
|
||||
(
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.does_meet_id_filters = 0
|
||||
OR IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_TRAINING_TECHNIQUE.does_meet_id_filters, 1) = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_all_non_id_search_filters_met = 1
|
||||
AND (
|
||||
t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.does_meet_non_id_filters = 0
|
||||
OR IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_TRAINING_TECHNIQUE.does_meet_non_id_filters, 1) = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.does_meet_id_filters = 0
|
||||
AND IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_TRAINING_TECHNIQUE.does_meet_id_filters, 1) = 0
|
||||
)
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.does_meet_non_id_filters = 0
|
||||
AND IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_TRAINING_TECHNIQUE.does_meet_non_id_filters, 1) = 0
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After filter Assessment_Command_Technique_Links';
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Training_Technique_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link_Calc_ACT_Link;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Permissions
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- 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_view -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_user_access(
|
||||
a_guid -- 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_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 fetchmetrics.DOG_Calc_User_Access_Temp CALC_USER_T
|
||||
WHERE CALC_USER_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT v_can_view;
|
||||
END IF;
|
||||
|
||||
IF (v_can_view = 0) THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error_Calc_ACT_Link t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error_Calc_ACT_Link (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to view Dogs.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Before non-permitted data deletion';
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Training_Technique_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link_Calc_ACT_Link;
|
||||
END IF;
|
||||
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACT_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Training_Technique_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link_Calc_ACT_Link;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Command_Link_Calc_ACT_Link;
|
||||
DELETE FROM tmp_Training_Technique_Calc_ACT_Link;
|
||||
DELETE FROM tmp_Assessment_Command_Technique_Link_Calc_ACT_Link;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After non-permitted data deletion';
|
||||
END IF;
|
||||
|
||||
-- Outputs
|
||||
/*
|
||||
IF (
|
||||
NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACT_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1)
|
||||
AND EXISTS (SELECT * FROM tmp_Assessment_Command_Technique_Link_Calc_ACT_Link)
|
||||
) THEN
|
||||
*/
|
||||
START TRANSACTION;
|
||||
-- Assessment_Command_Technique_Links
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp (
|
||||
guid
|
||||
, id_link
|
||||
, id_assessment_command_link
|
||||
, id_training_technique
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
a_guid
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.active
|
||||
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.does_meet_id_filters
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Technique_Link ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
INNER JOIN tmp_Assessment_Command_Technique_Link_Calc_ACT_Link t_ASSESSMENT_COMMAND_TECHNIQUE_LINK ON ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link = t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
;
|
||||
COMMIT;
|
||||
-- END IF;
|
||||
|
||||
-- Errors
|
||||
IF a_show_errors = 1 THEN
|
||||
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_Calc_ACT_Link t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 AND v_can_view = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Command_Category_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Command_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Training_Technique_Calc_ACT_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link_Calc_ACT_Link;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_link (
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_training_technique (
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_ACT_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_ACT_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Technique_Link_Calc_ACT_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Training_Technique_Calc_ACT_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Link_Calc_ACT_Link;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_assessment_command_technique_link (
|
||||
'slappery ' -- a_guid
|
||||
, 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_link
|
||||
, 0 -- a_get_inactive_link
|
||||
, '' -- a_ids_link
|
||||
, 1 -- a_get_all_AC_link
|
||||
, 0 -- a_get_inactive_AC_link
|
||||
, '' -- a_ids_AC_link
|
||||
, NULL -- a_min_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_max_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_value_is_in_sight_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_on_lead_AC_Link
|
||||
, NULL -- a_min_trial_count_AC_Link
|
||||
, NULL -- a_max_trial_count_AC_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_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
|
||||
, 1 -- a_get_all_training_technique
|
||||
, 0 -- a_get_inactive_training_technique
|
||||
, '' -- a_ids_training_technique
|
||||
, '' -- a_names_training_technique
|
||||
|
||||
, 0 -- a_require_all_id_search_filters_met
|
||||
, 0 -- 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
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_technique_link (
|
||||
'slappery ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
-- DELETE FROM fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp;
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,44 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_assessment_command_technique_link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_assessment_command_technique_link (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE ASSESSMENT_COMMAND_TECHNIQUE_LINKS_T
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp ASSESSMENT_COMMAND_TECHNIQUE_LINKS_T
|
||||
WHERE ASSESSMENT_COMMAND_TECHNIQUE_LINKS_T.GUID = a_guid
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_debug_timing_reporting( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_technique_link (
|
||||
'crips ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Calc_User_Access_Temp
|
||||
WHERE GUID = 'chips '
|
||||
;
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,663 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_assessment_command_technique_link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment_command_technique_link (
|
||||
IN a_id_user INT
|
||||
, IN a_get_all_link BIT
|
||||
, IN a_get_inactive_link BIT
|
||||
, IN a_ids_link TEXT
|
||||
|
||||
, IN a_get_all_AC_Link BIT
|
||||
, IN a_get_inactive_AC_Link BIT
|
||||
, IN a_ids_AC_Link TEXT
|
||||
, IN a_min_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_scent_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_hearing_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_on_lead_AC_Link BIT
|
||||
, IN a_min_trial_count_AC_Link FLOAT
|
||||
, IN a_max_trial_count_AC_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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, 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_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule TEXT
|
||||
|
||||
, IN a_get_all_training_technique BIT
|
||||
, IN a_get_inactive_training_technique BIT
|
||||
, IN a_ids_training_technique TEXT
|
||||
, IN a_names_training_technique 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
|
||||
, 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 fetchmetrics.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 fetchmetrics.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 fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
/*
|
||||
Filters handled by Calc Stored Procedure
|
||||
*/
|
||||
SET a_debug := IFNULL(a_debug, 0);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_id_user
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_get_all_training_technique
|
||||
, a_get_inactive_training_technique
|
||||
, a_ids_training_technique
|
||||
, a_names_training_technique
|
||||
|
||||
, 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_Assessment_Command_Technique_Link;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Technique_Link (
|
||||
id_link INT NOT NULL
|
||||
, id_assessment_command_link INT
|
||||
, id_training_technique INT
|
||||
, 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
|
||||
, 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 fetchmetrics.p_dog_calc_user_access(
|
||||
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 fetchmetrics.DOG_Calc_User_Access_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 Assessment_Command_Technique_Links.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
v_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
|
||||
-- Call Assessment_Command_Technique_Link Calc
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_get_all_training_technique
|
||||
, a_get_inactive_training_technique
|
||||
, a_ids_training_technique
|
||||
, a_names_training_technique
|
||||
|
||||
, 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 fetchmetrics.p_dog_calc_assessment_command_technique_link (
|
||||
v_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_get_all_training_technique
|
||||
, a_get_inactive_training_technique
|
||||
, a_ids_training_technique
|
||||
, a_names_training_technique
|
||||
|
||||
, 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 fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp;
|
||||
SELECT * FROM fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Technique_Link (
|
||||
id_link
|
||||
, id_assessment_command_link
|
||||
, id_training_technique
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_assessment_command_link
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_training_technique
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.does_meet_id_filters
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp ASSESSMENT_COMMAND_TECHNIQUE_LINK_T
|
||||
WHERE ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.GUID = v_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Technique_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Filter outputs
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Command_Technique_Link;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Outputs
|
||||
-- Assessment_Command_Technique_Links
|
||||
SELECT
|
||||
t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique
|
||||
, TRAINING_TECHNIQUE.name AS name_training_technique
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.active
|
||||
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.does_meet_id_filters
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.does_meet_non_id_filters
|
||||
FROM tmp_Assessment_Command_Technique_Link t_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUE ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique = TRAINING_TECHNIQUE.id_technique
|
||||
LIMIT 1000
|
||||
;
|
||||
|
||||
-- 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 fetchmetrics.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_Assessment_Command_Technique_Link;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_technique_link (
|
||||
v_guid -- a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Technique_Link;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_get_many_assessment_command_technique_link (
|
||||
1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_link
|
||||
, 0 -- a_get_inactive_link
|
||||
, '' -- a_ids_link
|
||||
|
||||
, 1 -- a_get_all_AC_link
|
||||
, 0 -- a_get_inactive_AC_link
|
||||
, '' -- a_ids_AC_link
|
||||
, NULL -- a_min_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_max_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_value_is_in_sight_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_on_lead_AC_Link
|
||||
, NULL -- a_min_trial_count_AC_Link
|
||||
, NULL -- a_max_trial_count_AC_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_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
|
||||
, 1 -- a_get_all_training_technique
|
||||
, 0 -- a_get_inactive_training_technique
|
||||
, '' -- a_ids_training_technique
|
||||
, '' -- a_names_training_technique
|
||||
|
||||
, 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
|
||||
);
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,480 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_assessment_command_technique_link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_save_assessment_command_technique_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
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM fetchmetrics.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 fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
START TRANSACTION;
|
||||
INSERT INTO fetchmetrics.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
, guid
|
||||
)
|
||||
SELECT
|
||||
t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, t_ERROR.msg
|
||||
, a_guid
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
;
|
||||
COMMIT;
|
||||
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Technique_Link_Copy;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Technique_Link;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Technique_Link (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_assessment_command_link INT
|
||||
, id_training_technique INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
, name_error VARCHAR(250)
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Technique_Link_Copy (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_assessment_command_link INT
|
||||
, id_training_technique INT
|
||||
, 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
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- Get data from Temp table
|
||||
INSERT INTO tmp_Assessment_Command_Technique_Link (
|
||||
id_temp
|
||||
, id_link
|
||||
, id_assessment_command_link
|
||||
, id_training_technique
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_temp
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_assessment_command_link
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link
|
||||
) AS id_assessment_command_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_training_technique
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique
|
||||
) AS id_training_technique
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp ASSESSMENT_COMMAND_TECHNIQUE_LINK_T
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Technique_Link ASSESSMENT_COMMAND_TECHNIQUE_LINK ON ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_link = ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
WHERE ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.guid = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Assessment_Command_Technique_Link_Temp records';
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Technique_Link;
|
||||
END IF;
|
||||
|
||||
-- Error names
|
||||
UPDATE tmp_Assessment_Command_Technique_Link t_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUE ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique = TRAINING_TECHNIQUE.id_technique
|
||||
SET t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.name_error = CONCAT(
|
||||
COALESCE(ASSESSMENT_COMMAND_LINK.id_link, '(No Assessment Command Link)')
|
||||
, ' - '
|
||||
, COALESCE(TRAINING_TECHNIQUE.name, '(No Training Technique)')
|
||||
)
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After set name_error';
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Technique_Link;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Validation
|
||||
-- Missing mandatory fields
|
||||
-- id_assessment_command_link
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Technique_Link t_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_LINK.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 Assessment Command Link(s) do not have a valid Assessment: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Technique_Link t_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_LINK.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_training_technique
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Technique_Link t_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUE ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique = TRAINING_TECHNIQUE.id_technique
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique)
|
||||
OR ISNULL(TRAINING_TECHNIQUE.id_technique)
|
||||
OR TRAINING_TECHNIQUE.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 Assessment Command Link(s) do not have a valid Command Modality: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Technique_Link t_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Training_Technique TRAINING_TECHNIQUE ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique = TRAINING_TECHNIQUE.id_technique
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique)
|
||||
OR ISNULL(TRAINING_TECHNIQUE.id_technique)
|
||||
OR TRAINING_TECHNIQUE.active = 0
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Permissions
|
||||
-- Can Create
|
||||
CALL fetchmetrics.p_dog_calc_user_access(
|
||||
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 fetchmetrics.DOG_Calc_User_Access_Temp CU_T
|
||||
WHERE CU_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
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 Assessment_Command_Technique_Links.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * from tmp_Assessment_Command_Technique_Link;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Command_Technique_Link;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
INSERT INTO fetchmetrics.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 fetchmetrics.DOG_Assessment_Command_Technique_Link ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
INNER JOIN tmp_Assessment_Command_Technique_Link t_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
ON ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link = t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
AND t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.is_new = 0
|
||||
SET
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link = t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique = t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK.active = t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.active
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Technique_Link (
|
||||
id_temp
|
||||
, id_assessment_command_link
|
||||
, id_training_technique
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_temp
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_training_technique
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.active
|
||||
, a_id_user AS id_user_created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Assessment_Command_Technique_Link t_ASSESSMENT_COMMAND_TECHNIQUE_LINK
|
||||
WHERE
|
||||
t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.is_new = 1
|
||||
AND t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.active = 1
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
, guid
|
||||
)
|
||||
SELECT
|
||||
t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, t_ERROR.msg
|
||||
, a_guid
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE FROM fetchmetrics.DOG_Assessment_Command_Technique_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 fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE tmp_Assessment_Command_Technique_Link;
|
||||
DROP TEMPORARY TABLE tmp_Msg_Error;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
'ripplesipplenippletippledipplykipple'
|
||||
DELETE FROM fetchmetrics.DOG_Assessment_Command_Technique_Link WHERE id_link > 740;
|
||||
* /
|
||||
delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link_Audit
|
||||
where id_link > 768
|
||||
;
|
||||
delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link
|
||||
where id_link > 768
|
||||
;
|
||||
delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp (
|
||||
id_link
|
||||
, id_assessment_command_link
|
||||
, id_training_technique
|
||||
, active
|
||||
, guid
|
||||
)
|
||||
VALUES (
|
||||
-1 -- id_link
|
||||
, 1 -- id_assessment_command_link
|
||||
, 1 -- id_training_technique
|
||||
, 1 -- active
|
||||
, 'ripplesipplenippletippledipplykipple'
|
||||
);
|
||||
|
||||
CALL fetchmetrics.p_dog_save_assessment_command_technique_link (
|
||||
'nipples'
|
||||
, 'ripplesipplenippletippledipplykipple'
|
||||
, 1
|
||||
, 1
|
||||
);
|
||||
|
||||
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp
|
||||
;
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link
|
||||
;
|
||||
select COUNT(*)
|
||||
from fetchmetrics.DOG_Assessment_Command_Technique_Link
|
||||
;
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,988 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_assessment_command_modality_link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment_command_modality_link (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_id_user INT
|
||||
, IN a_get_all_link BIT
|
||||
, IN a_get_inactive_link BIT
|
||||
, IN a_ids_link TEXT
|
||||
|
||||
, IN a_get_all_AC_Link BIT
|
||||
, IN a_get_inactive_AC_Link BIT
|
||||
, IN a_ids_AC_Link TEXT
|
||||
, IN a_min_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_scent_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_hearing_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_on_lead_AC_Link BIT
|
||||
, IN a_min_trial_count_AC_Link FLOAT
|
||||
, IN a_max_trial_count_AC_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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, 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_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule 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_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_show_errors 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_has_filter_assessment_command_modality_link_id BIT;
|
||||
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_Calc_ACM_Link (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error_Calc_ACM_Link (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM fetchmetrics.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_Calc_ACM_Link t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error_Calc_ACM_Link;
|
||||
END;
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_code_type_error_no_permission := 'NO_PERMISSION';
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1);
|
||||
SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1);
|
||||
SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1);
|
||||
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
SET a_id_user := IFNULL(a_id_user, 0);
|
||||
SET a_get_all_link := IFNULL(a_get_all_link, 0);
|
||||
SET a_get_inactive_link := IFNULL(a_get_inactive_link, 0);
|
||||
SET a_ids_link := TRIM(IFNULL(a_ids_link, ''));
|
||||
/*
|
||||
*/
|
||||
-- Foreign key filters corected in their Calc Stored Procedures
|
||||
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_show_errors := IFNULL(a_show_errors, 0);
|
||||
SET a_debug := IFNULL(a_debug, 0);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_get_all_command_modality
|
||||
, a_get_inactive_command_modality
|
||||
, a_ids_command_modality
|
||||
, a_names_command_modality
|
||||
|
||||
, 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_show_errors
|
||||
, a_debug
|
||||
;
|
||||
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_id_type_error_no_permission
|
||||
, v_id_permission_dog_view
|
||||
, v_time_start
|
||||
;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_ACM_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_ACM_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Calc_ACM_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Command_Modality_Calc_ACM_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Link_Calc_ACM_Link;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Link_Calc_ACM_Link (
|
||||
id_link INT NOT NULL
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_reinforcement_schedule INT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
, is_on_lead BIT
|
||||
, trial_count INT
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Command_Modality_Calc_ACM_Link (
|
||||
id_command_modality INT NOT NULL
|
||||
, code VARCHAR(250)
|
||||
, name VARCHAR(250)
|
||||
, description VARCHAR(1000)
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Calc_ACM_Link (
|
||||
id_link INT NOT NULL
|
||||
, id_assessment_command_link INT
|
||||
, id_command_modality INT
|
||||
, 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_Calc_ACM_Link (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_ACM_Link (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_ACM_Link;
|
||||
|
||||
SET v_has_filter_assessment_command_modality_link_id := CASE WHEN a_ids_link <> '' THEN 1 ELSE 0 END;
|
||||
|
||||
-- Call Assessment_Command_Link Calc
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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 fetchmetrics.p_dog_calc_assessment_command_link (
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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 fetchmetrics.DOG_Assessment_Command_Link_Temp;
|
||||
SELECT * FROM fetchmetrics.DOG_Assessment_Command_Link_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Link_Calc_ACM_Link (
|
||||
id_link
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_reinforcement_schedule
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, trial_count
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_assessment
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_command
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_reinforcement_schedule
|
||||
, ASSESSMENT_COMMAND_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_on_lead
|
||||
, ASSESSMENT_COMMAND_LINK_T.trial_count
|
||||
, ASSESSMENT_COMMAND_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_LINK_T.does_meet_id_filters
|
||||
, ASSESSMENT_COMMAND_LINK_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link_Temp ASSESSMENT_COMMAND_LINK_T
|
||||
WHERE ASSESSMENT_COMMAND_LINK_T.GUID = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Link_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_ACM_Link;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Call Calc Command Modality
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_command_modality -- a_get_all_command_modality
|
||||
, a_get_inactive_command_modality -- a_get_inactive_command_modality
|
||||
, a_ids_command_modality -- a_ids_command_modality
|
||||
, a_names_command_modality -- a_names_command_modality
|
||||
, 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 fetchmetrics.p_dog_calc_command_modality (
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_command_modality -- a_get_all_command_modality
|
||||
, a_get_inactive_command_modality -- a_get_inactive_command_modality
|
||||
, a_ids_command_modality -- a_ids_command_modality
|
||||
, a_names_command_modality -- a_names_command_modality
|
||||
, 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
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Command_Modality_Calc_ACM_Link (
|
||||
id_command_modality
|
||||
, code
|
||||
, name
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
COMMAND_MODALITY_T.id_command_modality
|
||||
, COMMAND_MODALITY_T.code
|
||||
, COMMAND_MODALITY_T.name
|
||||
, COMMAND_MODALITY_T.active
|
||||
|
||||
, COMMAND_MODALITY_T.does_meet_id_filters
|
||||
, COMMAND_MODALITY_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Command_Modality_Temp COMMAND_MODALITY_T
|
||||
WHERE COMMAND_MODALITY_T.GUID = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Command_Modality_Calc_ACM_Link;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
-- Assessment Command Modality Links
|
||||
IF v_has_filter_assessment_command_modality_link_id = 1 THEN
|
||||
CALL fetchmetrics.p_core_split(a_guid, a_ids_link, ',', a_debug);
|
||||
|
||||
SET sql_mode = '';
|
||||
|
||||
INSERT INTO tmp_Split_Id_Calc_ACM_Link (
|
||||
substring
|
||||
, as_int
|
||||
)
|
||||
SELECT
|
||||
SPLIT_T.substring
|
||||
, CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int
|
||||
FROM fetchmetrics.CORE_Split_Temp SPLIT_T
|
||||
WHERE
|
||||
SPLIT_T.GUID = a_guid
|
||||
AND IFNULL(SPLIT_T.substring, '') <> ''
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_core_clear_split( a_guid );
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Split_Id_Calc_ACM_Link t_SPLIT_ID
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_SPLIT_ID.as_int)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link)
|
||||
OR (
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK.active = 0
|
||||
AND a_get_inactive_link = 0
|
||||
)
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error_Calc_ACM_Link (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('Invalid or inactive Assessment_Command_Modality_Link IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL'))
|
||||
FROM tmp_Split_Id_Calc_ACM_Link t_SPLIT_ID
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_SPLIT_ID.as_int)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link)
|
||||
OR (
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK.active = 0
|
||||
AND a_get_inactive_link = 0
|
||||
)
|
||||
;
|
||||
/* Don't error on notes not found
|
||||
ELSEIF EXISTS ()
|
||||
*/
|
||||
ELSE
|
||||
INSERT INTO tmp_Assessment_Command_Modality_Link_Calc_ACM_Link (
|
||||
id_link
|
||||
, id_assessment_command_link
|
||||
, id_command_modality
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
WITH
|
||||
Assessment_Command_Modality_Link_Id_Filter AS (
|
||||
SELECT ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
FROM tmp_Split_Id_Calc_ACM_Link t_SPLIT_ID
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
)
|
||||
, Assessment_Command_Modality_Link_Filters AS (
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_COMBINED.id_link
|
||||
, MAX(ASSESSMENT_COMMAND_MODALITY_LINK_COMBINED.does_meet_id_filter) AS does_meet_id_filter
|
||||
FROM (
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_ID_FILTER.id_link
|
||||
, 1 AS does_meet_id_filter
|
||||
FROM Assessment_Command_Modality_Link_Id_Filter ASSESSMENT_COMMAND_MODALITY_LINK_ID_FILTER
|
||||
) ASSESSMENT_COMMAND_MODALITY_LINK_COMBINED
|
||||
GROUP BY ASSESSMENT_COMMAND_MODALITY_LINK_COMBINED.id_link
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
, CASE WHEN
|
||||
v_has_filter_assessment_command_modality_link_id = 0
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.does_meet_id_filter = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_id_filters
|
||||
, 1 AS does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN Assessment_Command_Modality_Link_Filters ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.id_link
|
||||
WHERE
|
||||
(
|
||||
a_get_all_link = 1
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_id = 1
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.does_meet_id_filter = 1
|
||||
)
|
||||
)
|
||||
AND (
|
||||
a_get_inactive_link = 1
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.active = 1
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Split_Id_Calc_ACM_Link;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After get Assessment_Command_Modality_Links';
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link;
|
||||
END IF;
|
||||
|
||||
-- Filter records
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
DELETE t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN tmp_Assessment_Command_Link_Calc_ACM_Link t_ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
LEFT JOIN tmp_Command_Modality_Calc_ACM_Link t_COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = t_COMMAND_MODALITY.id_command_modality
|
||||
WHERE
|
||||
(
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_id_filters = 0
|
||||
OR IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_COMMAND_MODALITY.does_meet_id_filters, 1) = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_all_non_id_search_filters_met = 1
|
||||
AND (
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_non_id_filters = 0
|
||||
OR IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_COMMAND_MODALITY.does_meet_non_id_filters, 1) = 0
|
||||
)
|
||||
)
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_id_filters = 0
|
||||
AND IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_COMMAND_MODALITY.does_meet_id_filters, 1) = 0
|
||||
)
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_non_id_filters = 0
|
||||
AND IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_COMMAND_MODALITY.does_meet_non_id_filters, 1) = 0
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After filter Assessment_Command_Modality_Links';
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Command_Modality_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link;
|
||||
END IF;
|
||||
|
||||
|
||||
-- Permissions
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- 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_view -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_user_access(
|
||||
a_guid -- 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_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 fetchmetrics.DOG_Calc_User_Access_Temp CALC_USER_T
|
||||
WHERE CALC_USER_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT v_can_view;
|
||||
END IF;
|
||||
|
||||
IF (v_can_view = 0) THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error_Calc_ACM_Link t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error_Calc_ACM_Link (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to view Dogs.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Before non-permitted data deletion';
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Command_Modality_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link;
|
||||
END IF;
|
||||
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Command_Modality_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Command_Link_Calc_ACM_Link;
|
||||
DELETE FROM tmp_Command_Modality_Calc_ACM_Link;
|
||||
DELETE FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After non-permitted data deletion';
|
||||
END IF;
|
||||
|
||||
-- Outputs
|
||||
/*
|
||||
IF (
|
||||
NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1)
|
||||
AND EXISTS (SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link)
|
||||
) THEN
|
||||
*/
|
||||
START TRANSACTION;
|
||||
-- Assessment_Command_Modality_Links
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp (
|
||||
guid
|
||||
, id_link
|
||||
, id_assessment_command_link
|
||||
, id_command_modality
|
||||
, active
|
||||
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
a_guid
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_id_filters
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
INNER JOIN tmp_Assessment_Command_Modality_Link_Calc_ACM_Link t_ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
;
|
||||
COMMIT;
|
||||
-- END IF;
|
||||
|
||||
-- Errors
|
||||
IF a_show_errors = 1 THEN
|
||||
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_Calc_ACM_Link t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 AND v_can_view = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Command_Category_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Command_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Command_Modality_Calc_ACM_Link;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_link (
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_command_modality (
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_ACM_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Calc_ACM_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Calc_ACM_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Command_Modality_Calc_ACM_Link;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Link_Calc_ACM_Link;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_assessment_command_modality_link (
|
||||
'slappery ' -- a_guid
|
||||
, 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user
|
||||
, 1 -- a_get_all_link
|
||||
, 0 -- a_get_inactive_link
|
||||
, '' -- a_ids_link
|
||||
, 1 -- a_get_all_AC_link
|
||||
, 0 -- a_get_inactive_AC_link
|
||||
, '' -- a_ids_AC_link
|
||||
, NULL -- a_min_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_max_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_value_is_in_sight_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_on_lead_AC_Link
|
||||
, NULL -- a_min_trial_count_AC_Link
|
||||
, NULL -- a_max_trial_count_AC_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_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 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_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
|
||||
, 1 -- a_get_all_command_modality
|
||||
, 0 -- a_get_inactive_command_modality
|
||||
, '' -- a_ids_command_modality
|
||||
, '' -- a_names_command_modality
|
||||
|
||||
, 0 -- a_require_all_id_search_filters_met
|
||||
, 0 -- 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
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_modality_link (
|
||||
'slappery ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
-- DELETE FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp;
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,44 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_assessment_command_technique_link;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_assessment_command_technique_link (
|
||||
IN a_guid BINARY(36)
|
||||
, IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE ASSESSMENT_COMMAND_TECHNIQUE_LINKS_T
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp ASSESSMENT_COMMAND_TECHNIQUE_LINKS_T
|
||||
WHERE ASSESSMENT_COMMAND_TECHNIQUE_LINKS_T.GUID = a_guid
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_debug_timing_reporting( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_technique_link (
|
||||
'crips ' -- a_guid
|
||||
, 1 -- debug
|
||||
);
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Calc_User_Access_Temp
|
||||
WHERE GUID = 'chips '
|
||||
;
|
||||
|
||||
*/
|
||||
@@ -9,14 +9,18 @@ CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment_command_modality_link (
|
||||
, IN a_get_all_link BIT
|
||||
, IN a_get_inactive_link BIT
|
||||
, IN a_ids_link TEXT
|
||||
, IN a_min_distance_from_handler_metres_link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_link FLOAT
|
||||
, 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
|
||||
|
||||
, IN a_get_all_AC_Link BIT
|
||||
, IN a_get_inactive_AC_Link BIT
|
||||
, IN a_ids_AC_Link TEXT
|
||||
, IN a_min_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_scent_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_hearing_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_on_lead_AC_Link BIT
|
||||
, IN a_min_trial_count_AC_Link FLOAT
|
||||
, IN a_max_trial_count_AC_Link FLOAT
|
||||
|
||||
, IN a_get_all_assessment BIT
|
||||
, IN a_get_inactive_assessment BIT
|
||||
@@ -24,6 +28,10 @@ CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment_command_modality_link (
|
||||
, 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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, IN a_get_all_weather BIT
|
||||
, IN a_get_inactive_weather BIT
|
||||
, IN a_ids_weather TEXT
|
||||
@@ -54,16 +62,16 @@ CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment_command_modality_link (
|
||||
, IN a_hand_signal_default_descriptions_command TEXT
|
||||
, IN a_notes_command TEXT
|
||||
|
||||
, IN a_get_all_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule 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_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
|
||||
@@ -150,14 +158,18 @@ BEGIN
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
, a_min_distance_from_handler_metres_link
|
||||
, a_max_distance_from_handler_metres_link
|
||||
, a_value_is_in_sight_of_handler_link
|
||||
, a_value_is_in_scent_range_of_handler_link
|
||||
, a_value_is_in_hearing_range_of_handler_link
|
||||
, a_value_is_on_lead_link
|
||||
, a_min_trial_count_link
|
||||
, a_max_trial_count_link
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_Link
|
||||
|
||||
, a_get_all_assessment
|
||||
, a_get_inactive_assessment
|
||||
@@ -165,6 +177,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -195,15 +211,15 @@ BEGIN
|
||||
, a_hand_signal_default_descriptions_command
|
||||
, a_notes_command
|
||||
|
||||
, a_get_all_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met
|
||||
@@ -226,16 +242,8 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link (
|
||||
id_link INT NOT NULL
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_assessment_command_link INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
, is_on_lead BIT
|
||||
, trial_count INT
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
@@ -335,14 +343,18 @@ BEGIN
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
, a_min_distance_from_handler_metres_link
|
||||
, a_max_distance_from_handler_metres_link
|
||||
, a_value_is_in_sight_of_handler_link
|
||||
, a_value_is_in_scent_range_of_handler_link
|
||||
, a_value_is_in_hearing_range_of_handler_link
|
||||
, a_value_is_on_lead_link
|
||||
, a_min_trial_count_link
|
||||
, a_max_trial_count_link
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_Link
|
||||
|
||||
, a_get_all_assessment
|
||||
, a_get_inactive_assessment
|
||||
@@ -350,6 +362,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -380,15 +396,15 @@ BEGIN
|
||||
, a_hand_signal_default_descriptions_command
|
||||
, a_notes_command
|
||||
|
||||
, a_get_all_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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_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
|
||||
@@ -405,14 +421,18 @@ BEGIN
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
, a_min_distance_from_handler_metres_link
|
||||
, a_max_distance_from_handler_metres_link
|
||||
, a_value_is_in_sight_of_handler_link
|
||||
, a_value_is_in_scent_range_of_handler_link
|
||||
, a_value_is_in_hearing_range_of_handler_link
|
||||
, a_value_is_on_lead_link
|
||||
, a_min_trial_count_link
|
||||
, a_max_trial_count_link
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_Link
|
||||
|
||||
, a_get_all_assessment
|
||||
, a_get_inactive_assessment
|
||||
@@ -420,6 +440,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -450,15 +474,15 @@ BEGIN
|
||||
, a_hand_signal_default_descriptions_command
|
||||
, a_notes_command
|
||||
|
||||
, a_get_all_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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_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
|
||||
@@ -475,32 +499,16 @@ BEGIN
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Modality_Link (
|
||||
id_link
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_assessment_command_link
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, trial_count
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment_command_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_bribe
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_on_lead
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.trial_count
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.does_meet_id_filters
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.does_meet_non_id_filters
|
||||
@@ -528,33 +536,15 @@ BEGIN
|
||||
-- Assessment_Command_Modality_Links
|
||||
SELECT
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment
|
||||
, ASSESSMENT.created_on AS created_on_assessment
|
||||
, COMMAND.id_command_category
|
||||
, COMMAND_CATEGORY.name AS name_command_category
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command
|
||||
, COMMAND.name AS name_command
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
|
||||
, COMMAND_MODALITY.name AS name_command_modality
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
|
||||
, BRIBE.name AS name_bribe
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_id_filters
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_non_id_filters
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality
|
||||
LEFT JOIN fetchmetrics.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe
|
||||
LIMIT 1000
|
||||
;
|
||||
|
||||
@@ -599,14 +589,18 @@ CALL fetchmetrics.p_dog_get_many_assessment_command_modality_link (
|
||||
, 1 -- a_get_all_link
|
||||
, 0 -- a_get_inactive_link
|
||||
, '' -- a_ids_link
|
||||
, NULL -- a_min_distance_from_handler_metres_link
|
||||
, NULL -- a_max_distance_from_handler_metres_link
|
||||
, NULL -- a_value_is_in_sight_of_handler_link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_link
|
||||
, NULL -- a_value_is_on_lead_link
|
||||
, NULL -- a_min_trial_count_link
|
||||
, NULL -- a_max_trial_count_link
|
||||
|
||||
, 1 -- a_get_all_AC_link
|
||||
, 0 -- a_get_inactive_AC_link
|
||||
, '' -- a_ids_AC_link
|
||||
, NULL -- a_min_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_max_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_value_is_in_sight_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_on_lead_AC_Link
|
||||
, NULL -- a_min_trial_count_AC_Link
|
||||
, NULL -- a_max_trial_count_AC_Link
|
||||
|
||||
, 1 -- a_get_all_assessment
|
||||
, 0 -- a_get_inactive_assessment
|
||||
@@ -614,6 +608,10 @@ CALL fetchmetrics.p_dog_get_many_assessment_command_modality_link (
|
||||
, '' -- a_notes_assessment
|
||||
, NULL -- a_min_temperature_assessment
|
||||
, NULL -- a_max_temperature_assessment
|
||||
, 1 -- a_get_all_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 1 -- a_get_all_weather
|
||||
, 0 -- a_get_inactive_weather
|
||||
, '' -- a_ids_weather
|
||||
@@ -645,15 +643,15 @@ CALL fetchmetrics.p_dog_get_many_assessment_command_modality_link (
|
||||
, '' -- a_hand_signal_default_descriptions_command
|
||||
, '' -- a_notes_command
|
||||
|
||||
, 1 -- a_get_all_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
|
||||
, 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_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
@@ -88,7 +88,7 @@ BEGIN
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
@@ -99,16 +99,8 @@ BEGIN
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_assessment_command_link INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
, is_on_lead BIT
|
||||
, trial_count INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
, name_error VARCHAR(250)
|
||||
@@ -117,16 +109,8 @@ BEGIN
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Copy (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_assessment_command_link INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, distance_from_handler_metres INT
|
||||
, is_in_sight_of_handler INT
|
||||
, is_in_scent_range_of_handler INT
|
||||
, is_in_hearing_range_of_handler INT
|
||||
, is_on_lead FLOAT
|
||||
, trial_count TEXT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
, name_error VARCHAR(250)
|
||||
@@ -144,16 +128,8 @@ BEGIN
|
||||
INSERT INTO tmp_Assessment_Command_Modality_Link (
|
||||
id_temp
|
||||
, id_link
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_assessment_command_link
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
-- , trial_count
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
@@ -161,52 +137,13 @@ BEGIN
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment
|
||||
) AS id_assessment
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command
|
||||
) AS id_command
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment_command_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link
|
||||
) AS id_assessment_command_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
|
||||
) AS id_command_modality
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_bribe
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
|
||||
) AS id_bribe
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
|
||||
, 1
|
||||
) AS distance_from_handler_metres
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
|
||||
, 1
|
||||
) AS is_in_sight_of_handler
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
|
||||
, 1
|
||||
) AS is_in_scent_range_of_handler
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
|
||||
, 1
|
||||
) AS is_in_hearing_range_of_handler
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.is_on_lead
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead
|
||||
, 0
|
||||
) AS is_on_lead
|
||||
/*
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.trial_count
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.trial_count
|
||||
) AS trial_count
|
||||
*/
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
@@ -226,18 +163,12 @@ BEGIN
|
||||
|
||||
-- Error names
|
||||
UPDATE tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality
|
||||
LEFT JOIN fetchmetrics.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe
|
||||
SET t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error = CONCAT(
|
||||
COALESCE(CONVERT(ASSESSMENT.created_on, CHAR), '(No Assessment)')
|
||||
, ' - '
|
||||
, COALESCE(COMMAND.name, '(No Command)')
|
||||
COALESCE(ASSESSMENT_COMMAND_LINK.id_link, '(No Assessment Command Link)')
|
||||
, ' - '
|
||||
, COALESCE(COMMAND_MODALITY.name, '(No Command Modality)')
|
||||
, ' - '
|
||||
, COALESCE(BRIBE.name, '(No Bribe)')
|
||||
)
|
||||
;
|
||||
|
||||
@@ -250,15 +181,15 @@ BEGIN
|
||||
|
||||
-- Validation
|
||||
-- Missing mandatory fields
|
||||
-- id_assessment
|
||||
-- id_assessment_command_link
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment)
|
||||
OR ISNULL(ASSESSMENT.id_assessment)
|
||||
OR ASSESSMENT.active = 0
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_LINK.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
@@ -268,40 +199,13 @@ BEGIN
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Assessment: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
, CONCAT('The following Dog Assessment Command Link(s) do not have a valid Assessment: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment)
|
||||
OR ISNULL(ASSESSMENT.id_assessment)
|
||||
OR ASSESSMENT.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_command
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_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 Assessment Command Modality Link(s) do not have a valid Command: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command)
|
||||
OR ISNULL(COMMAND.id_command)
|
||||
OR COMMAND.active = 0
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_LINK.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_command_modality
|
||||
@@ -322,7 +226,7 @@ BEGIN
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Command Modality: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
, CONCAT('The following Dog Assessment Command Link(s) do not have a valid Command Modality: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality
|
||||
WHERE
|
||||
@@ -331,52 +235,6 @@ BEGIN
|
||||
OR COMMAND_MODALITY.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_bribe
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe)
|
||||
OR ISNULL(BRIBE.id_bribe)
|
||||
OR BRIBE.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 Assessment Command Modality Link(s) do not have a valid Bribe: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN fetchmetrics.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe)
|
||||
OR ISNULL(BRIBE.id_bribe)
|
||||
OR BRIBE.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- distance_from_handler_metres
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
WHERE IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres, -1) < 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 Assessment_Command_Modality_Link(s) do not have a valid Distance From Handler: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
WHERE IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres, -1) < 0
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Permissions
|
||||
-- Can Create
|
||||
@@ -460,50 +318,26 @@ BEGIN
|
||||
ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
AND t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 0
|
||||
SET
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres = t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead
|
||||
-- , ASSESSMENT_COMMAND_MODALITY_LINK.trial_count = t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.active = t_ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link (
|
||||
id_temp
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_assessment_command_link
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
-- , trial_count
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment AS id_assessment
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command AS id_command
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality AS id_command_modality
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe AS id_bribe
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres AS distance_from_handler_metres
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler AS is_in_sight_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler AS is_in_scent_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler AS is_in_hearing_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead AS is_on_lead
|
||||
-- , t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count AS trial_count
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.active AS active
|
||||
, a_id_user AS created_by
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
, a_id_user AS id_user_created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
WHERE
|
||||
@@ -603,30 +437,15 @@ from fetchmetrics.DOG_Assessment_Command_Modality_Link
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp (
|
||||
id_link
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_assessment_command_link
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, active
|
||||
, guid
|
||||
)
|
||||
VALUES (
|
||||
-1 -- id_link
|
||||
, 1 -- id_assessment
|
||||
, 1 -- id_command
|
||||
, 1 -- id_assessment_command_link
|
||||
, 1 -- id_command_modality
|
||||
, 1 -- id_bribe
|
||||
, 15 -- distance_from_handler_metres
|
||||
, 1 -- is_in_sight_of_handler
|
||||
, 0 -- is_in_scent_range_of_handler
|
||||
, 0 -- is_in_hearing_range_of_handler
|
||||
, 0 -- is_on_lead
|
||||
-- , NULL -- trial_count
|
||||
, 1 -- active
|
||||
, 'ripplesipplenippletippledipplykipple'
|
||||
);
|
||||
@@ -39,12 +39,29 @@ CREATE PROCEDURE fetchmetrics.p_dog_calc_distraction (
|
||||
, IN a_get_inactive_intensity_level_touch BIT
|
||||
, IN a_ids_intensity_level_touch TEXT
|
||||
, IN a_names_intensity_level_touch TEXT
|
||||
|
||||
, IN a_get_all_AC_Link BIT
|
||||
, IN a_get_inactive_AC_Link BIT
|
||||
, IN a_ids_AC_Link TEXT
|
||||
, IN a_min_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_scent_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_hearing_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_on_lead_AC_Link BIT
|
||||
, IN a_min_trial_count_AC_Link FLOAT
|
||||
, IN a_max_trial_count_AC_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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, IN a_get_all_weather BIT
|
||||
, IN a_get_inactive_weather BIT
|
||||
, IN a_ids_weather TEXT
|
||||
@@ -63,6 +80,23 @@ CREATE PROCEDURE fetchmetrics.p_dog_calc_distraction (
|
||||
-- , 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_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule 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
|
||||
@@ -200,12 +234,29 @@ BEGIN
|
||||
, a_get_inactive_intensity_level_touch
|
||||
, a_ids_intensity_level_touch
|
||||
, a_names_intensity_level_touch
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -224,6 +275,23 @@ BEGIN
|
||||
-- , 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met
|
||||
@@ -250,15 +318,19 @@ BEGIN
|
||||
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;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Link_Calc_Distraction;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Calc_Distraction (
|
||||
id_assessment INT NOT NULL
|
||||
, id_weather INT
|
||||
, id_lighting_level INT
|
||||
, id_location INT
|
||||
, id_user_handler INT
|
||||
, notes TEXT
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Link_Calc_Distraction (
|
||||
id_link INT NOT NULL
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_reinforcement_schedule INT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
, is_on_lead BIT
|
||||
, trial_count INT
|
||||
, active BIT
|
||||
, temperature_celcius DECIMAL(5, 2)
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
@@ -321,7 +393,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Distraction_Calc_Distraction (
|
||||
id_distraction INT NOT NULL
|
||||
, id_assessment INT
|
||||
, id_assessment_command_link INT
|
||||
, id_distraction_type INT
|
||||
, id_intensity_level_emotional INT
|
||||
, id_intensity_level_scent INT
|
||||
@@ -363,20 +435,36 @@ BEGIN
|
||||
SET v_has_filter_distraction_proximity_metres_min := NOT ISNULL(a_min_proximity_metres_distraction);
|
||||
SET v_has_filter_distraction_proximity_metres_max := NOT ISNULL(a_max_proximity_metres_distraction);
|
||||
|
||||
-- Call Calc Assessment
|
||||
-- Call Calc Assessment Command Link
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_assessment -- a_get_all_assessment
|
||||
, a_get_inactive_assessment -- a_get_inactive_assessment
|
||||
, a_ids_assessment -- a_ids_assessment
|
||||
, a_notes_assessment -- a_notes_assessment
|
||||
, a_min_temperature_assessment -- a_min_temperature_assessment
|
||||
, a_max_temperature_assessment -- a_max_temperature_assessment
|
||||
, a_get_all_weather -- a_get_all_weather
|
||||
, a_get_inactive_weather -- a_get_inactive_weather
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
, a_names_weather
|
||||
, a_get_all_lighting_level
|
||||
@@ -390,29 +478,62 @@ BEGIN
|
||||
, a_get_all_user_handler
|
||||
, a_get_inactive_user_handler
|
||||
, a_ids_user_handler
|
||||
-- , a_auth0_ids
|
||||
-- , 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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_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 -- a_require_any_non_id_search_filters_met
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_assessment (
|
||||
CALL fetchmetrics.p_dog_calc_assessment_command_link (
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_assessment -- a_get_all_assessment
|
||||
, a_get_inactive_assessment -- a_get_inactive_assessment
|
||||
, a_ids_assessment -- a_ids_assessment
|
||||
, a_notes_assessment -- a_notes_assessment
|
||||
, a_min_temperature_assessment -- a_min_temperature_assessment
|
||||
, a_max_temperature_assessment -- a_max_temperature_assessment
|
||||
, a_get_all_weather -- a_get_all_weather
|
||||
, a_get_inactive_weather -- a_get_inactive_weather
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
, a_names_weather
|
||||
, a_get_all_lighting_level
|
||||
@@ -426,47 +547,75 @@ BEGIN
|
||||
, a_get_all_user_handler
|
||||
, a_get_inactive_user_handler
|
||||
, a_ids_user_handler
|
||||
-- , a_auth0_ids
|
||||
-- , 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, 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_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 -- a_require_any_non_id_search_filters_met
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Assessment_Calc_Distraction (
|
||||
id_assessment
|
||||
, id_weather
|
||||
, id_lighting_level
|
||||
, id_location
|
||||
, id_user_handler
|
||||
, notes
|
||||
, temperature_celcius
|
||||
IF a_debug = 1 THEN
|
||||
SELECT COUNT(*) FROM fetchmetrics.DOG_Assessment_Command_Link_Temp;
|
||||
SELECT * FROM fetchmetrics.DOG_Assessment_Command_Link_Temp;
|
||||
END IF;
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Link_Calc_Distraction (
|
||||
id_link
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_reinforcement_schedule
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, trial_count
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_T.id_assessment
|
||||
, ASSESSMENT_T.id_weather
|
||||
, ASSESSMENT_T.id_lighting_level
|
||||
, ASSESSMENT_T.id_location
|
||||
, ASSESSMENT_T.id_user_handler
|
||||
, ASSESSMENT_T.notes
|
||||
, ASSESSMENT_T.temperature_celcius
|
||||
, ASSESSMENT_T.active
|
||||
|
||||
, ASSESSMENT_T.does_meet_id_filters
|
||||
, ASSESSMENT_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Temp ASSESSMENT_T
|
||||
WHERE ASSESSMENT_T.GUID = a_guid
|
||||
ASSESSMENT_COMMAND_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_assessment
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_command
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_reinforcement_schedule
|
||||
, ASSESSMENT_COMMAND_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_LINK_T.is_on_lead
|
||||
, ASSESSMENT_COMMAND_LINK_T.trial_count
|
||||
, ASSESSMENT_COMMAND_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_LINK_T.does_meet_id_filters
|
||||
, ASSESSMENT_COMMAND_LINK_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link_Temp ASSESSMENT_COMMAND_LINK_T
|
||||
WHERE ASSESSMENT_COMMAND_LINK_T.GUID = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Calc_Distraction;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Link_Calc_Distraction;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_Distraction;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
@@ -994,134 +1143,9 @@ BEGIN
|
||||
ELSEIF EXISTS ()
|
||||
*/
|
||||
ELSE
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Distraction Filters';
|
||||
WITH
|
||||
Distraction_Id_Filter AS (
|
||||
SELECT DISTRACTION.id_distraction
|
||||
FROM tmp_Split_Id_Calc_Distraction t_SPLIT_ID
|
||||
INNER JOIN fetchmetrics.DOG_Distraction DISTRACTION ON t_SPLIT_ID.as_int = DISTRACTION.id_distraction
|
||||
)
|
||||
, Distraction_Notes_Filter AS (
|
||||
SELECT DISTRACTION.id_distraction
|
||||
FROM tmp_Split_Notes_Calc_Distraction t_SPLIT_NOTES
|
||||
INNER JOIN fetchmetrics.DOG_Distraction DISTRACTION ON DISTRACTION.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%')
|
||||
WHERE NULLIF(t_SPLIT_NOTES.substring, '') IS NOT NULL
|
||||
)
|
||||
, Distraction_Filters AS (
|
||||
SELECT
|
||||
DISTRACTION_COMBINED.id_distraction
|
||||
, MAX(DISTRACTION_COMBINED.does_meet_id_filter) AS does_meet_id_filter
|
||||
, MAX(DISTRACTION_COMBINED.does_meet_notes_filter) AS does_meet_notes_filter
|
||||
FROM (
|
||||
SELECT
|
||||
DISTRACTION_ID_FILTER.id_distraction
|
||||
, 1 AS does_meet_id_filter
|
||||
, 0 AS does_meet_notes_filter
|
||||
FROM Distraction_Id_Filter DISTRACTION_ID_FILTER
|
||||
UNION
|
||||
SELECT
|
||||
DISTRACTION_NOTES_FILTER.id_distraction
|
||||
, 0 AS does_meet_id_filter
|
||||
, 1 AS does_meet_notes_filter
|
||||
FROM Distraction_Notes_Filter DISTRACTION_NOTES_FILTER
|
||||
) DISTRACTION_COMBINED
|
||||
GROUP BY DISTRACTION_COMBINED.id_distraction
|
||||
)
|
||||
SELECT
|
||||
DISTRACTION.id_distraction
|
||||
, 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
|
||||
, DISTRACTION.quantity
|
||||
, DISTRACTION.proximity_metres
|
||||
, DISTRACTION.notes
|
||||
, DISTRACTION.active
|
||||
, CASE WHEN
|
||||
v_has_filter_distraction_id = 0
|
||||
OR DISTRACTION_FILTERS.does_meet_id_filter = 1
|
||||
THEN 1 ELSE 0 END AS does_meet_id_filters
|
||||
, CASE WHEN
|
||||
(
|
||||
v_has_filter_distraction_notes = 0
|
||||
AND v_has_filter_distraction_quantity_min = 0
|
||||
AND v_has_filter_distraction_quantity_max = 0
|
||||
AND v_has_filter_distraction_proximity_metres_min = 0
|
||||
AND v_has_filter_distraction_proximity_metres_max = 0
|
||||
)
|
||||
OR DISTRACTION_FILTERS.does_meet_notes_filter = 1
|
||||
OR (
|
||||
v_has_filter_distraction_quantity_min = 0
|
||||
OR (
|
||||
v_has_filter_distraction_quantity_min = 1
|
||||
AND DISTRACTION.quantity >= v_has_filter_distraction_quantity_min
|
||||
)
|
||||
)
|
||||
OR (
|
||||
v_has_filter_distraction_quantity_max = 0
|
||||
OR (
|
||||
v_has_filter_distraction_quantity_max = 1
|
||||
AND DISTRACTION.quantity <= v_has_filter_distraction_quantity_max
|
||||
)
|
||||
)
|
||||
OR (
|
||||
v_has_filter_distraction_proximity_metres_min = 0
|
||||
OR (
|
||||
v_has_filter_distraction_proximity_metres_min = 1
|
||||
AND DISTRACTION.proximity_metres >= v_has_filter_distraction_proximity_metres_min
|
||||
)
|
||||
)
|
||||
OR (
|
||||
v_has_filter_distraction_proximity_metres_max = 0
|
||||
OR (
|
||||
v_has_filter_distraction_proximity_metres_max = 1
|
||||
AND DISTRACTION.proximity_metres <= v_has_filter_distraction_proximity_metres_max
|
||||
)
|
||||
)
|
||||
THEN 1 ELSE 0 END AS does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Distraction DISTRACTION
|
||||
LEFT JOIN Distraction_Filters DISTRACTION_FILTERS ON DISTRACTION.id_distraction = DISTRACTION_FILTERS.id_distraction
|
||||
WHERE
|
||||
(
|
||||
a_get_all_distraction = 1
|
||||
OR (
|
||||
v_has_filter_distraction_id = 1
|
||||
AND DISTRACTION_FILTERS.does_meet_id_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_distraction_notes = 1
|
||||
AND DISTRACTION_FILTERS.does_meet_notes_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_distraction_quantity_min = 1
|
||||
AND DISTRACTION.quantity >= v_has_filter_distraction_quantity_min
|
||||
)
|
||||
OR (
|
||||
v_has_filter_distraction_quantity_max = 1
|
||||
AND DISTRACTION.quantity <= v_has_filter_distraction_quantity_max
|
||||
)
|
||||
OR (
|
||||
v_has_filter_distraction_proximity_metres_min = 1
|
||||
AND DISTRACTION.proximity_metres >= v_has_filter_distraction_proximity_metres_min
|
||||
)
|
||||
OR (
|
||||
v_has_filter_distraction_proximity_metres_max = 1
|
||||
AND DISTRACTION.proximity_metres <= v_has_filter_distraction_proximity_metres_max
|
||||
)
|
||||
)
|
||||
AND (
|
||||
a_get_inactive_distraction = 1
|
||||
OR DISTRACTION.active = 1
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
INSERT INTO tmp_Distraction_Calc_Distraction (
|
||||
id_distraction
|
||||
, id_assessment
|
||||
, id_assessment_command_link
|
||||
, id_distraction_type
|
||||
, id_intensity_level_emotional
|
||||
, id_intensity_level_scent
|
||||
@@ -1171,7 +1195,7 @@ BEGIN
|
||||
)
|
||||
SELECT
|
||||
DISTRACTION.id_distraction
|
||||
, DISTRACTION.id_assessment
|
||||
, DISTRACTION.id_assessment_command_link
|
||||
, DISTRACTION.id_distraction_type
|
||||
, DISTRACTION.id_intensity_level_emotional
|
||||
, DISTRACTION.id_intensity_level_scent
|
||||
@@ -1274,7 +1298,7 @@ BEGIN
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
DELETE t_DISTRACTION
|
||||
FROM tmp_Distraction_Calc_Distraction t_DISTRACTION
|
||||
LEFT JOIN tmp_Assessment_Calc_Distraction t_ASSESSMENT ON t_DISTRACTION.id_assessment = t_ASSESSMENT.id_assessment
|
||||
LEFT JOIN tmp_Assessment_Command_Link_Calc_Distraction t_ASSESSMENT_COMMAND_LINK ON t_DISTRACTION.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
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
|
||||
@@ -1286,7 +1310,7 @@ BEGIN
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
t_DISTRACTION.does_meet_id_filters = 0
|
||||
OR IFNULL(t_ASSESSMENT.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_ASSESSMENT_COMMAND_LINK.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
|
||||
@@ -1299,7 +1323,7 @@ BEGIN
|
||||
a_require_all_non_id_search_filters_met = 1
|
||||
AND (
|
||||
t_DISTRACTION.does_meet_non_id_filters = 0
|
||||
OR IFNULL(t_ASSESSMENT.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_ASSESSMENT_COMMAND_LINK.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
|
||||
@@ -1311,7 +1335,7 @@ BEGIN
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND t_DISTRACTION.does_meet_id_filters = 0
|
||||
AND IFNULL(t_ASSESSMENT.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_ASSESSMENT_COMMAND_LINK.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
|
||||
@@ -1322,7 +1346,7 @@ BEGIN
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND t_DISTRACTION.does_meet_non_id_filters = 0
|
||||
AND IFNULL(t_ASSESSMENT.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_ASSESSMENT_COMMAND_LINK.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
|
||||
@@ -1335,7 +1359,7 @@ BEGIN
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After filter Distractions';
|
||||
SELECT * FROM tmp_Assessment_Calc_Distraction;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_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;
|
||||
@@ -1423,7 +1447,7 @@ BEGIN
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Before non-permitted data deletion';
|
||||
SELECT * FROM tmp_Assessment_Calc_Distraction;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_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;
|
||||
@@ -1435,7 +1459,7 @@ BEGIN
|
||||
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Calc_Distraction;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_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;
|
||||
@@ -1451,7 +1475,7 @@ BEGIN
|
||||
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_Assessment_Command_Link_Calc_Distraction;
|
||||
DELETE FROM tmp_Distraction_Calc_Distraction;
|
||||
END IF;
|
||||
|
||||
@@ -1465,7 +1489,7 @@ BEGIN
|
||||
INSERT INTO fetchmetrics.DOG_Distraction_Temp (
|
||||
guid
|
||||
, id_distraction
|
||||
, id_assessment
|
||||
, id_assessment_command_link
|
||||
, id_distraction_type
|
||||
, id_intensity_level_emotional
|
||||
, id_intensity_level_scent
|
||||
@@ -1483,7 +1507,7 @@ BEGIN
|
||||
SELECT
|
||||
a_guid
|
||||
, t_DISTRACTION.id_distraction
|
||||
, t_DISTRACTION.id_assessment
|
||||
, t_DISTRACTION.id_assessment_command_link
|
||||
, t_DISTRACTION.id_distraction_type
|
||||
, t_DISTRACTION.id_intensity_level_emotional
|
||||
, t_DISTRACTION.id_intensity_level_scent
|
||||
@@ -1530,7 +1554,7 @@ BEGIN
|
||||
SELECT * FROM tmp_Distraction_Calc_Distraction;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment (
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_link (
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
@@ -1550,7 +1574,7 @@ BEGIN
|
||||
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;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Link_Calc_Distraction;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
@@ -1603,12 +1627,28 @@ CALL fetchmetrics.p_dog_calc_distraction (
|
||||
, '' -- a_ids_intensity_level_touch
|
||||
, '' -- a_names_intensity_level_touch
|
||||
|
||||
, 1 -- a_get_all_AC_link
|
||||
, 0 -- a_get_inactive_AC_link
|
||||
, '' -- a_ids_AC_link
|
||||
, NULL -- a_min_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_max_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_value_is_in_sight_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_on_lead_AC_Link
|
||||
, NULL -- a_min_trial_count_AC_Link
|
||||
, NULL -- a_max_trial_count_AC_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_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 1 -- a_get_all_weather
|
||||
, 0 -- a_get_inactive_weather
|
||||
, '' -- a_ids_weather
|
||||
@@ -1627,6 +1667,24 @@ CALL fetchmetrics.p_dog_calc_distraction (
|
||||
-- , 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_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
|
||||
, 0 -- a_require_all_id_search_filters_met
|
||||
, 0 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
@@ -38,12 +38,29 @@ CREATE PROCEDURE fetchmetrics.p_dog_get_many_distraction (
|
||||
, IN a_get_inactive_intensity_level_touch BIT
|
||||
, IN a_ids_intensity_level_touch TEXT
|
||||
, IN a_names_intensity_level_touch TEXT
|
||||
|
||||
, IN a_get_all_AC_Link BIT
|
||||
, IN a_get_inactive_AC_Link BIT
|
||||
, IN a_ids_AC_Link TEXT
|
||||
, IN a_min_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_AC_Link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_scent_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_in_hearing_range_of_handler_AC_Link BIT
|
||||
, IN a_value_is_on_lead_AC_Link BIT
|
||||
, IN a_min_trial_count_AC_Link FLOAT
|
||||
, IN a_max_trial_count_AC_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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, IN a_get_all_weather BIT
|
||||
, IN a_get_inactive_weather BIT
|
||||
, IN a_ids_weather TEXT
|
||||
@@ -62,6 +79,23 @@ CREATE PROCEDURE fetchmetrics.p_dog_get_many_distraction (
|
||||
-- , 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_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule 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
|
||||
@@ -179,12 +213,29 @@ BEGIN
|
||||
, a_get_inactive_intensity_level_touch
|
||||
, a_ids_intensity_level_touch
|
||||
, a_names_intensity_level_touch
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -203,6 +254,23 @@ BEGIN
|
||||
-- , 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met
|
||||
@@ -225,7 +293,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Distraction (
|
||||
id_distraction INT NOT NULL
|
||||
, id_assessment INT
|
||||
, id_assessment_command_link INT
|
||||
, id_distraction_type INT
|
||||
, id_intensity_level_emotional INT
|
||||
, id_intensity_level_scent INT
|
||||
@@ -364,12 +432,29 @@ BEGIN
|
||||
, a_get_inactive_intensity_level_touch
|
||||
, a_ids_intensity_level_touch
|
||||
, a_names_intensity_level_touch
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -388,6 +473,23 @@ BEGIN
|
||||
-- , 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met
|
||||
@@ -432,12 +534,29 @@ BEGIN
|
||||
, a_get_inactive_intensity_level_touch
|
||||
, a_ids_intensity_level_touch
|
||||
, a_names_intensity_level_touch
|
||||
|
||||
, a_get_all_AC_link
|
||||
, a_get_inactive_AC_link
|
||||
, a_ids_AC_link
|
||||
, a_min_distance_from_handler_metres_AC_Link
|
||||
, a_max_distance_from_handler_metres_AC_Link
|
||||
, a_value_is_in_sight_of_handler_AC_Link
|
||||
, a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, a_value_is_on_lead_AC_Link
|
||||
, a_min_trial_count_AC_Link
|
||||
, a_max_trial_count_AC_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_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -456,6 +575,23 @@ BEGIN
|
||||
-- , 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_require_all_id_search_filters_met
|
||||
, a_require_any_id_search_filters_met
|
||||
, a_require_all_non_id_search_filters_met
|
||||
@@ -471,7 +607,7 @@ BEGIN
|
||||
|
||||
INSERT INTO tmp_Distraction (
|
||||
id_distraction
|
||||
, id_assessment
|
||||
, id_assessment_command_link
|
||||
, id_distraction_type
|
||||
, id_intensity_level_emotional
|
||||
, id_intensity_level_scent
|
||||
@@ -487,7 +623,7 @@ BEGIN
|
||||
)
|
||||
SELECT
|
||||
DISTRACTION_T.id_distraction
|
||||
, DISTRACTION_T.id_assessment
|
||||
, DISTRACTION_T.id_assessment_command_link
|
||||
, DISTRACTION_T.id_distraction_type
|
||||
, DISTRACTION_T.id_intensity_level_emotional
|
||||
, DISTRACTION_T.id_intensity_level_scent
|
||||
@@ -525,7 +661,7 @@ BEGIN
|
||||
-- Distractions
|
||||
SELECT
|
||||
t_DISTRACTION.id_distraction
|
||||
, t_DISTRACTION.id_assessment
|
||||
, t_DISTRACTION.id_assessment_command_link
|
||||
, t_DISTRACTION.id_distraction_type
|
||||
, DISTRACTION_TYPE.name AS name_distraction_type
|
||||
, t_DISTRACTION.id_intensity_level_emotional
|
||||
@@ -633,12 +769,28 @@ CALL fetchmetrics.p_dog_get_many_distraction (
|
||||
, '' -- a_ids_intensity_level_touch
|
||||
, '' -- a_names_intensity_level_touch
|
||||
|
||||
, 1 -- a_get_all_AC_link
|
||||
, 0 -- a_get_inactive_AC_link
|
||||
, '' -- a_ids_AC_link
|
||||
, NULL -- a_min_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_max_distance_from_handler_metres_AC_Link
|
||||
, NULL -- a_value_is_in_sight_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_AC_Link
|
||||
, NULL -- a_value_is_on_lead_AC_Link
|
||||
, NULL -- a_min_trial_count_AC_Link
|
||||
, NULL -- a_max_trial_count_AC_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_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 1 -- a_get_all_weather
|
||||
, 0 -- a_get_inactive_weather
|
||||
, '' -- a_ids_weather
|
||||
@@ -657,6 +809,24 @@ CALL fetchmetrics.p_dog_get_many_distraction (
|
||||
-- , 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_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
|
||||
, 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
|
||||
@@ -88,7 +88,7 @@ BEGIN
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
@@ -99,7 +99,7 @@ BEGIN
|
||||
CREATE TEMPORARY TABLE tmp_Distraction (
|
||||
id_temp INT
|
||||
, id_distraction INT
|
||||
, id_assessment INT
|
||||
, id_assessment_command_link INT
|
||||
, id_distraction_type INT
|
||||
, id_intensity_level_emotional INT
|
||||
, id_intensity_level_scent INT
|
||||
@@ -117,7 +117,7 @@ BEGIN
|
||||
CREATE TEMPORARY TABLE tmp_Distraction_Copy (
|
||||
id_temp INT
|
||||
, id_distraction INT
|
||||
, id_assessment INT
|
||||
, id_assessment_command_link INT
|
||||
, id_distraction_type INT
|
||||
, id_intensity_level_emotional INT
|
||||
, id_intensity_level_scent INT
|
||||
@@ -144,7 +144,7 @@ BEGIN
|
||||
INSERT INTO tmp_Distraction (
|
||||
id_temp
|
||||
, id_distraction
|
||||
, id_assessment
|
||||
, id_assessment_command_link
|
||||
, id_distraction_type
|
||||
, id_intensity_level_emotional
|
||||
, id_intensity_level_scent
|
||||
@@ -161,9 +161,9 @@ BEGIN
|
||||
DISTRACTION_T.id_temp
|
||||
, DISTRACTION_T.id_distraction
|
||||
, COALESCE(
|
||||
DISTRACTION_T.id_assessment
|
||||
, DISTRACTION.id_assessment
|
||||
) AS id_assessment
|
||||
DISTRACTION_T.id_assessment_command_link
|
||||
, DISTRACTION.id_assessment_command_link
|
||||
) AS id_assessment_command_link
|
||||
, COALESCE(
|
||||
DISTRACTION_T.id_distraction_type
|
||||
, DISTRACTION.id_distraction_type
|
||||
@@ -242,15 +242,15 @@ BEGIN
|
||||
|
||||
-- Validation
|
||||
-- Missing mandatory fields
|
||||
-- id_assessment
|
||||
-- id_assessment_command_link
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Distraction t_DISTRACTION
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_DISTRACTION.id_assessment = ASSESSMENT.id_assessment
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_DISTRACTION.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_assessment)
|
||||
OR ISNULL(ASSESSMENT.id_assessment)
|
||||
OR ASSESSMENT.active = 0
|
||||
ISNULL(t_DISTRACTION.id_assessment_command_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_LINK.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
@@ -262,11 +262,11 @@ BEGIN
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog Assessment Distraction(s) do not have a valid Assessment: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Distraction t_DISTRACTION
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_DISTRACTION.id_assessment = ASSESSMENT.id_assessment
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_DISTRACTION.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_assessment)
|
||||
OR ISNULL(ASSESSMENT.id_assessment)
|
||||
OR ASSESSMENT.active = 0
|
||||
ISNULL(t_DISTRACTION.id_assessment_command_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_LINK.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_distraction_type
|
||||
@@ -514,7 +514,7 @@ BEGIN
|
||||
ON DISTRACTION.id_distraction = t_DISTRACTION.id_distraction
|
||||
AND t_DISTRACTION.is_new = 0
|
||||
SET
|
||||
DISTRACTION.id_assessment = t_DISTRACTION.id_assessment
|
||||
DISTRACTION.id_assessment_command_link = t_DISTRACTION.id_assessment_command_link
|
||||
, DISTRACTION.id_distraction_type = t_DISTRACTION.id_distraction_type
|
||||
, DISTRACTION.id_intensity_level_emotional = t_DISTRACTION.id_intensity_level_emotional
|
||||
, DISTRACTION.id_intensity_level_scent = t_DISTRACTION.id_intensity_level_scent
|
||||
@@ -530,7 +530,7 @@ BEGIN
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Distraction (
|
||||
id_temp
|
||||
, id_assessment
|
||||
, id_assessment_command_link
|
||||
, id_distraction_type
|
||||
, id_intensity_level_emotional
|
||||
, id_intensity_level_scent
|
||||
@@ -546,7 +546,7 @@ BEGIN
|
||||
)
|
||||
SELECT
|
||||
t_DISTRACTION.id_temp
|
||||
, t_DISTRACTION.id_assessment AS id_assessment
|
||||
, t_DISTRACTION.id_assessment_command_link AS id_assessment_command_link
|
||||
, t_DISTRACTION.id_distraction_type AS id_distraction_type
|
||||
, t_DISTRACTION.id_intensity_level_emotional AS id_intensity_level_emotional
|
||||
, t_DISTRACTION.id_intensity_level_scent AS id_intensity_level_scent
|
||||
@@ -656,7 +656,7 @@ from fetchmetrics.DOG_Distraction
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Distraction_Temp (
|
||||
id_distraction
|
||||
id_assessment
|
||||
, id_dog
|
||||
, id_command
|
||||
, hand_signal_description
|
||||
@@ -31,6 +31,10 @@ CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment_response (
|
||||
, 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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, IN a_get_all_weather BIT
|
||||
, IN a_get_inactive_weather BIT
|
||||
, IN a_ids_weather TEXT
|
||||
@@ -59,14 +63,10 @@ CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment_response (
|
||||
, 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_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule TEXT
|
||||
|
||||
, IN a_get_all_response_quality_metric BIT
|
||||
, IN a_get_inactive_response_quality_metric BIT
|
||||
@@ -203,6 +203,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -221,6 +225,7 @@ BEGIN
|
||||
-- , 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
|
||||
@@ -231,14 +236,11 @@ BEGIN
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric
|
||||
@@ -272,20 +274,10 @@ BEGIN
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Response_Calc_Assessment_Response;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Obedience_Level_Calc_Assessment_Response;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Response_Quality_Metric_Calc_Assessment_Response;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Link_Calc_Assessment_Response;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response (
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Link_Calc_Assessment_Response (
|
||||
id_link INT NOT NULL
|
||||
, id_assessment INT
|
||||
, id_command INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
, is_on_lead BIT
|
||||
, trial_count INT
|
||||
, active BIT
|
||||
, does_meet_id_filters BIT NOT NULL
|
||||
, does_meet_non_id_filters BIT NOT NULL
|
||||
@@ -314,7 +306,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Response_Calc_Assessment_Response (
|
||||
id_response INT NOT NULL
|
||||
, id_assessment_command_modality_link INT
|
||||
, id_assessment_command_link INT
|
||||
, id_response_quality_metric INT
|
||||
, id_obedience_level INT
|
||||
, value_measured DOUBLE
|
||||
@@ -348,7 +340,7 @@ BEGIN
|
||||
SET v_has_filter_assessment_response_value_measured_min := NOT ISNULL(a_min_value_measured_assessment_response);
|
||||
SET v_has_filter_assessment_response_value_measured_max := NOT ISNULL(a_max_value_measured_assessment_response);
|
||||
|
||||
-- Call Calc Assessment Command Modality Link
|
||||
-- Call Calc Assessment Command Link
|
||||
IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
@@ -372,6 +364,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -402,15 +398,10 @@ BEGIN
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met
|
||||
, 0 -- a_require_any_id_search_filters_met
|
||||
@@ -421,7 +412,7 @@ BEGIN
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_calc_assessment_command_modality_link (
|
||||
CALL fetchmetrics.p_dog_calc_assessment_command_link (
|
||||
a_guid -- a_guid
|
||||
, a_id_user -- a_id_user
|
||||
, a_get_all_ACM_link
|
||||
@@ -442,6 +433,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -472,15 +467,10 @@ BEGIN
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met
|
||||
, 0 -- a_require_any_id_search_filters_met
|
||||
@@ -490,44 +480,24 @@ BEGIN
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response (
|
||||
INSERT INTO tmp_Assessment_Command_Link_Calc_Assessment_Response (
|
||||
id_link
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, trial_count
|
||||
, active
|
||||
, does_meet_id_filters
|
||||
, does_meet_non_id_filters
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_bribe
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_on_lead
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.trial_count
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.active
|
||||
ASSESSMENT_COMMAND_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_LINK_T.active
|
||||
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.does_meet_id_filters
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
|
||||
WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.GUID = a_guid
|
||||
, ASSESSMENT_COMMAND_LINK_T.does_meet_id_filters
|
||||
, ASSESSMENT_COMMAND_LINK_T.does_meet_non_id_filters
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link_Temp ASSESSMENT_COMMAND_LINK_T
|
||||
WHERE ASSESSMENT_COMMAND_LINK_T.GUID = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_Assessment_Response;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
@@ -791,7 +761,7 @@ BEGIN
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_RESPONSE.id_response
|
||||
, ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
, ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
, ASSESSMENT_RESPONSE.id_response_quality_metric
|
||||
, ASSESSMENT_RESPONSE.id_obedience_level
|
||||
, ASSESSMENT_RESPONSE.value_measured
|
||||
@@ -853,7 +823,7 @@ BEGIN
|
||||
END IF;
|
||||
INSERT INTO tmp_Assessment_Response_Calc_Assessment_Response (
|
||||
id_response
|
||||
, id_assessment_command_modality_link
|
||||
, id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
@@ -896,7 +866,7 @@ BEGIN
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_RESPONSE.id_response
|
||||
, ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
, ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
, ASSESSMENT_RESPONSE.id_response_quality_metric
|
||||
, ASSESSMENT_RESPONSE.id_obedience_level
|
||||
, ASSESSMENT_RESPONSE.value_measured
|
||||
@@ -970,7 +940,7 @@ BEGIN
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
DELETE t_ASSESSMENT_RESPONSE
|
||||
FROM tmp_Assessment_Response_Calc_Assessment_Response t_ASSESSMENT_RESPONSE
|
||||
LEFT JOIN tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
LEFT JOIN tmp_Assessment_Command_Link_Calc_Assessment_Response t_ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
LEFT JOIN tmp_Response_Quality_Metric_Calc_Assessment_Response t_RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = t_RESPONSE_QUALITY_METRIC.id_metric
|
||||
LEFT JOIN tmp_Obedience_Level_Calc_Assessment_Response t_OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = t_OBEDIENCE_LEVEL.id_obedience_level
|
||||
WHERE
|
||||
@@ -978,7 +948,7 @@ BEGIN
|
||||
a_require_all_id_search_filters_met = 1
|
||||
AND (
|
||||
t_ASSESSMENT_RESPONSE.does_meet_id_filters = 0
|
||||
OR IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_RESPONSE_QUALITY_METRIC.does_meet_id_filters, 1) = 0
|
||||
OR IFNULL(t_OBEDIENCE_LEVEL.does_meet_id_filters, 1) = 0
|
||||
)
|
||||
@@ -987,7 +957,7 @@ BEGIN
|
||||
a_require_all_non_id_search_filters_met = 1
|
||||
AND (
|
||||
t_ASSESSMENT_RESPONSE.does_meet_non_id_filters = 0
|
||||
OR IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_RESPONSE_QUALITY_METRIC.does_meet_non_id_filters, 1) = 0
|
||||
OR IFNULL(t_OBEDIENCE_LEVEL.does_meet_non_id_filters, 1) = 0
|
||||
)
|
||||
@@ -995,14 +965,14 @@ BEGIN
|
||||
OR (
|
||||
a_require_any_id_search_filters_met = 1
|
||||
AND t_ASSESSMENT_RESPONSE.does_meet_id_filters = 0
|
||||
AND IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_RESPONSE_QUALITY_METRIC.does_meet_id_filters, 1) = 0
|
||||
AND IFNULL(t_OBEDIENCE_LEVEL.does_meet_id_filters, 1) = 0
|
||||
)
|
||||
OR (
|
||||
a_require_any_non_id_search_filters_met = 1
|
||||
AND t_ASSESSMENT_RESPONSE.does_meet_non_id_filters = 0
|
||||
AND IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_ASSESSMENT_COMMAND_LINK.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_RESPONSE_QUALITY_METRIC.does_meet_non_id_filters, 1) = 0
|
||||
AND IFNULL(t_OBEDIENCE_LEVEL.does_meet_non_id_filters, 1) = 0
|
||||
)
|
||||
@@ -1011,7 +981,7 @@ BEGIN
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After filter Assessment_Responses';
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Response_Quality_Metric_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Obedience_Level_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Assessment_Response_Calc_Assessment_Response;
|
||||
@@ -1095,7 +1065,7 @@ BEGIN
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Before non-permitted data deletion';
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Response_Quality_Metric_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Obedience_Level_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Assessment_Response_Calc_Assessment_Response;
|
||||
@@ -1103,13 +1073,13 @@ BEGIN
|
||||
|
||||
IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Response_Quality_Metric_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Obedience_Level_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Assessment_Response_Calc_Assessment_Response;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response;
|
||||
DELETE FROM tmp_Assessment_Command_Link_Calc_Assessment_Response;
|
||||
DELETE FROM tmp_Response_Quality_Metric_Calc_Assessment_Response;
|
||||
DELETE FROM tmp_Obedience_Level_Calc_Assessment_Response;
|
||||
DELETE FROM tmp_Assessment_Response_Calc_Assessment_Response;
|
||||
@@ -1125,7 +1095,7 @@ BEGIN
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Response_Temp (
|
||||
guid
|
||||
, id_response
|
||||
, id_assessment_command_modality_link
|
||||
, id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
@@ -1138,7 +1108,7 @@ BEGIN
|
||||
SELECT
|
||||
a_guid
|
||||
, t_ASSESSMENT_RESPONSE.id_response
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
, t_ASSESSMENT_RESPONSE.id_response_quality_metric
|
||||
, t_ASSESSMENT_RESPONSE.id_obedience_level
|
||||
, t_ASSESSMENT_RESPONSE.value_measured
|
||||
@@ -1170,13 +1140,13 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 AND v_can_view = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Response_Quality_Metric_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Obedience_Level_Calc_Assessment_Response;
|
||||
SELECT * FROM tmp_Assessment_Response_Calc_Assessment_Response;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_modality_link (
|
||||
CALL fetchmetrics.p_dog_clear_calc_assessment_command_link (
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
@@ -1197,7 +1167,7 @@ BEGIN
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Response_Calc_Assessment_Response;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Obedience_Level_Calc_Assessment_Response;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Response_Quality_Metric_Calc_Assessment_Response;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Link_Calc_Assessment_Response;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
@@ -1229,12 +1199,17 @@ CALL fetchmetrics.p_dog_calc_assessment_response (
|
||||
, 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_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 1 -- a_get_all_weather
|
||||
, 0 -- a_get_inactive_weather
|
||||
, '' -- a_ids_weather
|
||||
@@ -1253,6 +1228,8 @@ CALL fetchmetrics.p_dog_calc_assessment_response (
|
||||
-- , 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
|
||||
@@ -1263,14 +1240,11 @@ CALL fetchmetrics.p_dog_calc_assessment_response (
|
||||
, '' -- 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_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
|
||||
, 1 -- a_get_all_response_quality_metric
|
||||
, 0 -- a_get_inactive_response_quality_metric
|
||||
|
||||
@@ -30,6 +30,10 @@ CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment_response (
|
||||
, 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_assessment_type BIT
|
||||
, IN a_get_inactive_assessment_type BIT
|
||||
, IN a_ids_assessment_type TEXT
|
||||
, IN a_names_assessment_type TEXT
|
||||
, IN a_get_all_weather BIT
|
||||
, IN a_get_inactive_weather BIT
|
||||
, IN a_ids_weather TEXT
|
||||
@@ -58,14 +62,10 @@ CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment_response (
|
||||
, 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_reinforcement_schedule BIT
|
||||
, IN a_get_inactive_reinforcement_schedule BIT
|
||||
, IN a_ids_reinforcement_schedule TEXT
|
||||
, IN a_names_reinforcement_schedule TEXT
|
||||
|
||||
, IN a_get_all_response_quality_metric BIT
|
||||
, IN a_get_inactive_response_quality_metric BIT
|
||||
@@ -185,6 +185,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -203,6 +207,7 @@ BEGIN
|
||||
-- , 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
|
||||
@@ -213,14 +218,11 @@ BEGIN
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric
|
||||
@@ -253,7 +255,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Response (
|
||||
id_response INT NOT NULL
|
||||
, id_assessment_command_modality_link INT
|
||||
, id_assessment_command_link INT
|
||||
, id_response_quality_metric INT
|
||||
, id_obedience_level INT
|
||||
, value_measured DOUBLE
|
||||
@@ -380,6 +382,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -398,6 +404,7 @@ BEGIN
|
||||
-- , 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
|
||||
@@ -408,14 +415,11 @@ BEGIN
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric
|
||||
@@ -464,6 +468,10 @@ BEGIN
|
||||
, a_notes_assessment
|
||||
, a_min_temperature_assessment
|
||||
, a_max_temperature_assessment
|
||||
, a_get_all_assessment_type
|
||||
, a_get_inactive_assessment_type
|
||||
, a_ids_assessment_type
|
||||
, a_names_assessment_type
|
||||
, a_get_all_weather
|
||||
, a_get_inactive_weather
|
||||
, a_ids_weather
|
||||
@@ -482,6 +490,7 @@ BEGIN
|
||||
-- , 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
|
||||
@@ -492,14 +501,11 @@ BEGIN
|
||||
, 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_reinforcement_schedule
|
||||
, a_get_inactive_reinforcement_schedule
|
||||
, a_ids_reinforcement_schedule
|
||||
, a_names_reinforcement_schedule
|
||||
|
||||
, a_get_all_response_quality_metric
|
||||
, a_get_inactive_response_quality_metric
|
||||
@@ -526,7 +532,7 @@ BEGIN
|
||||
|
||||
INSERT INTO tmp_Assessment_Response (
|
||||
id_response
|
||||
, id_assessment_command_modality_link
|
||||
, id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
@@ -538,7 +544,7 @@ BEGIN
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_RESPONSE_T.id_response
|
||||
, ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link
|
||||
, ASSESSMENT_RESPONSE_T.id_assessment_command_link
|
||||
, ASSESSMENT_RESPONSE_T.id_response_quality_metric
|
||||
, ASSESSMENT_RESPONSE_T.id_obedience_level
|
||||
, ASSESSMENT_RESPONSE_T.value_measured
|
||||
@@ -571,7 +577,7 @@ BEGIN
|
||||
-- Assessment_Responses
|
||||
SELECT
|
||||
t_ASSESSMENT_RESPONSE.id_response
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
, t_ASSESSMENT_RESPONSE.id_response_quality_metric
|
||||
, RESPONSE_QUALITY_METRIC.name AS name_response_quality_metric
|
||||
, UNIT_MEASUREMENT.symbol AS symbol_unit_measurement_response_quality_metric
|
||||
@@ -649,12 +655,17 @@ CALL fetchmetrics.p_dog_get_many_assessment_response (
|
||||
, 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_assessment_type
|
||||
, 0 -- a_get_inactive_assessment_type
|
||||
, '' -- a_ids_assessment_type
|
||||
, '' -- a_names_assessment_type
|
||||
, 1 -- a_get_all_weather
|
||||
, 0 -- a_get_inactive_weather
|
||||
, '' -- a_ids_weather
|
||||
@@ -673,6 +684,8 @@ CALL fetchmetrics.p_dog_get_many_assessment_response (
|
||||
-- , 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
|
||||
@@ -683,14 +696,11 @@ CALL fetchmetrics.p_dog_get_many_assessment_response (
|
||||
, '' -- 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_reinforcement_schedule
|
||||
, 0 -- a_get_inactive_reinforcement_schedule
|
||||
, '' -- a_ids_reinforcement_schedule
|
||||
, '' -- a_names_reinforcement_schedule
|
||||
|
||||
, 1 -- a_get_all_response_quality_metric
|
||||
, 0 -- a_get_inactive_response_quality_metric
|
||||
|
||||
@@ -88,7 +88,7 @@ BEGIN
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
@@ -99,7 +99,7 @@ BEGIN
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Response (
|
||||
id_temp INT
|
||||
, id_response INT
|
||||
, id_assessment_command_modality_link INT
|
||||
, id_assessment_command_link INT
|
||||
, id_response_quality_metric INT
|
||||
, id_obedience_level INT
|
||||
, value_measured DOUBLE
|
||||
@@ -112,7 +112,7 @@ BEGIN
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Response_Copy (
|
||||
id_temp INT
|
||||
, id_response INT
|
||||
, id_assessment_command_modality_link INT
|
||||
, id_assessment_command_link INT
|
||||
, id_response_quality_metric INT
|
||||
, id_obedience_level INT
|
||||
, value_measured DOUBLE
|
||||
@@ -134,7 +134,7 @@ BEGIN
|
||||
INSERT INTO tmp_Assessment_Response (
|
||||
id_temp
|
||||
, id_response
|
||||
, id_assessment_command_modality_link
|
||||
, id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
@@ -146,9 +146,9 @@ BEGIN
|
||||
ASSESSMENT_RESPONSE_T.id_temp
|
||||
, ASSESSMENT_RESPONSE_T.id_response
|
||||
, COALESCE(
|
||||
ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link
|
||||
, ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
) AS id_assessment_command_modality_link
|
||||
ASSESSMENT_RESPONSE_T.id_assessment_command_link
|
||||
, ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
) AS id_assessment_command_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_RESPONSE_T.id_response_quality_metric
|
||||
, ASSESSMENT_RESPONSE.id_response_quality_metric
|
||||
@@ -178,11 +178,11 @@ BEGIN
|
||||
|
||||
-- Error names
|
||||
UPDATE tmp_Assessment_Response t_ASSESSMENT_RESPONSE
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric
|
||||
LEFT JOIN fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level
|
||||
SET t_ASSESSMENT_RESPONSE.name_error = CONCAT(
|
||||
COALESCE(CONVERT(ASSESSMENT_COMMAND_MODALITY_LINK.created_on, CHAR), '(No Assessment Command Modality Link)')
|
||||
COALESCE(CONVERT(ASSESSMENT_COMMAND_LINK.created_on, CHAR), '(No Assessment Command Link)')
|
||||
, ' - '
|
||||
, COALESCE(RESPONSE_QUALITY_METRIC.name, '(No Response Quality Metric)')
|
||||
, ' - '
|
||||
@@ -199,15 +199,15 @@ BEGIN
|
||||
|
||||
-- Validation
|
||||
-- Missing mandatory fields
|
||||
-- id_assessment_command_modality_link
|
||||
-- id_assessment_command_link
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.active = 0
|
||||
ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_LINK.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
@@ -217,13 +217,13 @@ BEGIN
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog Assessment Response(s) do not have a valid Assessment_Command_Modality_Link: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg
|
||||
, CONCAT('The following Dog Assessment Response(s) do not have a valid Assessment_Command_Link: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.active = 0
|
||||
ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_link)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_LINK.id_link)
|
||||
OR ASSESSMENT_COMMAND_LINK.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_response_quality_metric
|
||||
@@ -363,7 +363,7 @@ BEGIN
|
||||
ON ASSESSMENT_RESPONSE.id_response = t_ASSESSMENT_RESPONSE.id_response
|
||||
AND t_ASSESSMENT_RESPONSE.is_new = 0
|
||||
SET
|
||||
ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
ASSESSMENT_RESPONSE.id_assessment_command_link = t_ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
, ASSESSMENT_RESPONSE.id_response_quality_metric = t_ASSESSMENT_RESPONSE.id_response_quality_metric
|
||||
, ASSESSMENT_RESPONSE.id_obedience_level = t_ASSESSMENT_RESPONSE.id_obedience_level
|
||||
, ASSESSMENT_RESPONSE.value_measured = t_ASSESSMENT_RESPONSE.value_measured
|
||||
@@ -374,7 +374,7 @@ BEGIN
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Response (
|
||||
id_temp
|
||||
, id_assessment_command_modality_link
|
||||
, id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
@@ -385,7 +385,7 @@ BEGIN
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_RESPONSE.id_temp
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link AS id_assessment_command_modality_link
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_link AS id_assessment_command_link
|
||||
, t_ASSESSMENT_RESPONSE.id_response_quality_metric AS id_response_quality_metric
|
||||
, t_ASSESSMENT_RESPONSE.id_obedience_level AS id_obedience_level
|
||||
, t_ASSESSMENT_RESPONSE.value_measured AS value_measured
|
||||
@@ -398,6 +398,23 @@ BEGIN
|
||||
t_ASSESSMENT_RESPONSE.is_new = 1
|
||||
AND t_ASSESSMENT_RESPONSE.active = 1
|
||||
;
|
||||
|
||||
WITH Link_Response_Count AS (
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_LINK.id_link
|
||||
, COUNT(*) AS count_responses
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK
|
||||
INNER JOIN tmp_Assessment_Response t_ASSESSMENT_RESPONSE ON ASSESSMENT_COMMAND_LINK.id_link = t_ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_ASSESSMENT_RESPONSE.id_response = ASSESSMENT_RESPONSE.id_response
|
||||
GROUP BY ASSESSMENT_COMMAND_LINK.id_link
|
||||
)
|
||||
UPDATE fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK
|
||||
-- INNER JOIN tmp_Assessment_Response t_ASSESSMENT_RESPONSE ON ASSESSMENT_COMMAND_LINK.id_link = t_ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
LEFT JOIN Link_Response_Count LINK_RESPONSE_COUNT ON ASSESSMENT_COMMAND_LINK.id_link = LINK_RESPONSE_COUNT.id_link
|
||||
SET
|
||||
ASSESSMENT_COMMAND_LINK.trial_count = IFNULL(LINK_RESPONSE_COUNT.count_responses, 0)
|
||||
, ASSESSMENT_COMMAND_LINK.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
@@ -491,7 +508,7 @@ from fetchmetrics.DOG_Assessment_Response
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Response_Temp (
|
||||
id_response
|
||||
, id_assessment_command_modality_link
|
||||
, id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
@@ -501,7 +518,7 @@ INSERT INTO fetchmetrics.DOG_Assessment_Response_Temp (
|
||||
)
|
||||
VALUES (
|
||||
-1 -- id_response
|
||||
, 1 -- id_assessment_command_modality_link
|
||||
, 1 -- id_assessment_command_link
|
||||
, 1 -- id_response_quality_metric
|
||||
, 1 -- id_obedience_level
|
||||
, 10000 -- value_measured
|
||||
|
||||
@@ -0,0 +1,728 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_assessment_distraction_and_response;
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_assessment_command_distraction_and_response;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_save_assessment_command_distraction_and_response (
|
||||
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_Combined (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM fetchmetrics.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_Combined t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error_Combined;
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_EDIT' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ACDR;
|
||||
DROP TABLE IF EXISTS tmp_Distraction_Save_ACDR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Technique_Link_Save_ACDR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ACDR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Link_Save_ACDR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Save_ACDR;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Save_ACDR (
|
||||
id_temp INT
|
||||
, id_assessment INT
|
||||
, id_assessment_old INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Link_Save_ACDR (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_link_old INT
|
||||
, id_assessment INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Save_ACDR (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_link_old INT
|
||||
, id_assessment_command_link INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Technique_Link_Save_ACDR (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_link_old INT
|
||||
, id_assessment_command_link INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Distraction_Save_ACDR (
|
||||
id_temp INT
|
||||
, id_distraction INT
|
||||
, id_distraction_old INT
|
||||
, id_assessment_command_link INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ACDR (
|
||||
id_temp INT
|
||||
, id_response INT
|
||||
, id_response_old INT
|
||||
, id_assessment_command_link INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Combined (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- Get data from Temp table
|
||||
INSERT INTO tmp_Assessment_Save_ACDR (
|
||||
id_temp
|
||||
, id_assessment
|
||||
, id_assessment_old
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_T.id_temp
|
||||
, ASSESSMENT_T.id_assessment
|
||||
, ASSESSMENT_T.id_assessment
|
||||
, COALESCE(
|
||||
ASSESSMENT_T.active
|
||||
, ASSESSMENT.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_T.id_assessment, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Temp ASSESSMENT_T
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON ASSESSMENT_T.id_assessment = ASSESSMENT.id_assessment
|
||||
WHERE ASSESSMENT_T.guid = a_guid
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Link_Save_ACDR (
|
||||
id_temp
|
||||
, id_link
|
||||
, id_link_old
|
||||
, id_assessment
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_LINK_T.id_temp
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_LINK_T.id_assessment
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_LINK.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_COMMAND_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link_Temp ASSESSMENT_COMMAND_LINK_T
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON ASSESSMENT_COMMAND_LINK_T.id_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE ASSESSMENT_COMMAND_LINK_T.guid = a_guid
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Modality_Link_Save_ACDR (
|
||||
id_temp
|
||||
, id_link
|
||||
, id_link_old
|
||||
, id_assessment_command_link
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment_command_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.guid = a_guid
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Technique_Link_Save_ACDR (
|
||||
id_temp
|
||||
, id_link
|
||||
, id_link_old
|
||||
, id_assessment_command_link
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_temp
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_assessment_command_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp ASSESSMENT_COMMAND_TECHNIQUE_LINK_T
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Technique_Link ASSESSMENT_COMMAND_TECHNIQUE_LINK ON ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_link = ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_link
|
||||
WHERE ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.guid = a_guid
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Distraction_Save_ACDR (
|
||||
id_temp
|
||||
, id_distraction
|
||||
, id_distraction_old
|
||||
, id_assessment_command_link
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
DISTRACTION_T.id_temp
|
||||
, DISTRACTION_T.id_distraction
|
||||
, DISTRACTION_T.id_distraction
|
||||
, DISTRACTION_T.id_assessment_command_link
|
||||
, COALESCE(
|
||||
DISTRACTION_T.active
|
||||
, DISTRACTION.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(DISTRACTION_T.id_distraction, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Distraction_Temp DISTRACTION_T
|
||||
LEFT JOIN fetchmetrics.DOG_Distraction DISTRACTION ON DISTRACTION_T.id_distraction = DISTRACTION.id_distraction
|
||||
WHERE DISTRACTION_T.guid = a_guid
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Assessment_Response_Save_ACDR (
|
||||
id_temp
|
||||
, id_response
|
||||
, id_response_old
|
||||
, id_assessment_command_link
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_RESPONSE_T.id_temp
|
||||
, ASSESSMENT_RESPONSE_T.id_response
|
||||
, ASSESSMENT_RESPONSE_T.id_response
|
||||
, ASSESSMENT_RESPONSE_T.id_assessment_command_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_RESPONSE_T.active
|
||||
, ASSESSMENT_RESPONSE.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_RESPONSE_T.id_response, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response
|
||||
WHERE ASSESSMENT_RESPONSE_T.guid = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Temp records';
|
||||
SELECT * FROM tmp_Assessment_Save_ACDR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Save_ACDR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ACDR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Modality_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link_Save_ACDR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Technique_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Distraction_Save_ACDR;
|
||||
SELECT COUNT(*) FROM tmp_Distraction_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ACDR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Response_Save_ACDR;
|
||||
END IF;
|
||||
|
||||
-- Permissions
|
||||
-- Can Create
|
||||
CALL fetchmetrics.p_dog_calc_user_access(
|
||||
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 fetchmetrics.DOG_Calc_User_Access_Temp CU_T
|
||||
WHERE CU_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF v_can_create = 0 THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error_Combined t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to edit Assessment_Distraction_And_Responses.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Assessments
|
||||
-- CREATE TEMPORARY TABLE tmp_Assessment_Save_ACDR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL fetchmetrics.p_dog_save_assessment (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_SAVE_ERROR.id_type
|
||||
, t_ASSESSMENT_SAVE_ERROR.code
|
||||
, t_ASSESSMENT_SAVE_ERROR.msg
|
||||
FROM tmp_Assessment_Save_ACDR_Save_Error t_ASSESSMENT_SAVE_ERROR
|
||||
;
|
||||
*/
|
||||
|
||||
-- Get New Assessment Ids
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
|
||||
-- Update Temporary tables with new Ids
|
||||
UPDATE tmp_Assessment_Save_ACDR t_ASSESSMENT
|
||||
INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_temp = ASSESSMENT.id_temp
|
||||
-- INNER JOIN tmp_Distraction_Save_ACDR t_DISTRACTION ON t_ASSESSMENT.id_assessment_old = t_DISTRACTION.id_assessment
|
||||
LEFT JOIN tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT.id_assessment_old = t_ASSESSMENT_COMMAND_LINK.id_assessment
|
||||
SET
|
||||
t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment
|
||||
-- , t_DISTRACTION.id_assessment = ASSESSMENT.id_assessment
|
||||
, t_ASSESSMENT_COMMAND_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
WHERE
|
||||
t_ASSESSMENT.active = 1
|
||||
AND t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
-- Update Staging tables with new Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Assessment_Save_ACDR t_ASSESSMENT WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old LIMIT 1) THEN
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
/*
|
||||
UPDATE fetchmetrics.DOG_Distraction_Temp DISTRACTION_T
|
||||
INNER JOIN tmp_Distraction_Save_ACDR t_DISTRACTION ON DISTRACTION_T.id_temp = t_DISTRACTION.id_temp
|
||||
INNER JOIN tmp_Assessment_Save_ACDR t_ASSESSMENT ON t_DISTRACTION.id_assessment = t_ASSESSMENT.id_assessment
|
||||
SET DISTRACTION_T.id_assessment = t_DISTRACTION.id_assessment
|
||||
WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old
|
||||
;
|
||||
*/
|
||||
|
||||
UPDATE fetchmetrics.DOG_Assessment_Command_Link_Temp ASSESSMENT_COMMAND_LINK_T
|
||||
INNER JOIN tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK
|
||||
ON t_ASSESSMENT_COMMAND_LINK.id_temp = ASSESSMENT_COMMAND_LINK_T.id_temp
|
||||
AND ASSESSMENT_COMMAND_LINK_T.guid = a_guid
|
||||
INNER JOIN tmp_Assessment_Save_ACDR t_ASSESSMENT ON t_ASSESSMENT.id_assessment = t_ASSESSMENT_COMMAND_LINK.id_assessment
|
||||
SET ASSESSMENT_COMMAND_LINK_T.id_assessment = t_ASSESSMENT_COMMAND_LINK.id_assessment
|
||||
WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After align assessment Ids';
|
||||
SELECT * FROM tmp_Assessment_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Distraction_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ACDR;
|
||||
END IF;
|
||||
|
||||
/*
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Distractions
|
||||
-- CREATE TEMPORARY TABLE tmp_Distraction_Save_ACDR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL fetchmetrics.p_dog_save_distraction (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/ *
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_DISTRACTION_SAVE_ERROR.id_type
|
||||
, t_DISTRACTION_SAVE_ERROR.code
|
||||
, t_DISTRACTION_SAVE_ERROR.msg
|
||||
FROM tmp_Distraction_Save_ACDR_Save_Error t_DISTRACTION_SAVE_ERROR
|
||||
;
|
||||
* /
|
||||
*/
|
||||
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Assessment Command Links
|
||||
-- CREATE TEMPORARY TABLE tmp_Assessment_Command_Link_Save_ACDR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL fetchmetrics.p_dog_save_assessment_command_link (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_ACML_SAVE_ERROR.id_type
|
||||
, t_ACML_SAVE_ERROR.code
|
||||
, t_ACML_SAVE_ERROR.msg
|
||||
FROM tmp_Assessment_Command_Link_Save_ACDR_Save_Error t_ACML_SAVE_ERROR
|
||||
;
|
||||
*/
|
||||
|
||||
-- Get New Assessment Command Link Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE ASSESSMENT
|
||||
FROM fetchmetrics.DOG_Assessment ASSESSMENT
|
||||
INNER JOIN tmp_Assessment_Save_ACDR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment
|
||||
WHERE t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
ELSE
|
||||
-- Update Temporary tables with new Ids
|
||||
UPDATE tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_LINK.id_temp = ASSESSMENT_COMMAND_LINK.id_temp
|
||||
LEFT JOIN tmp_Assessment_Command_Modality_Link_Save_ACDR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_LINK.id_link_old = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link
|
||||
LEFT JOIN tmp_Assessment_Command_Technique_Link_Save_ACDR t_ASSESSMENT_COMMAND_TECHNIQUE_LINK ON t_ASSESSMENT_COMMAND_LINK.id_link_old = t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link
|
||||
LEFT JOIN tmp_Distraction_Save_ACDR t_DISTRACTION ON t_ASSESSMENT_COMMAND_LINK.id_link_old = t_DISTRACTION.id_assessment_command_link
|
||||
LEFT JOIN tmp_Assessment_Response_Save_ACDR t_ASSESSMENT_RESPONSE ON t_ASSESSMENT_COMMAND_LINK.id_link_old = t_ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
SET
|
||||
t_ASSESSMENT_COMMAND_LINK.id_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
, t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
, t_DISTRACTION.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_link = ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE
|
||||
t_ASSESSMENT_COMMAND_LINK.active = 1
|
||||
AND t_ASSESSMENT_COMMAND_LINK.is_new = 1
|
||||
;
|
||||
|
||||
-- Update Staging tables with new Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK WHERE t_ASSESSMENT_COMMAND_LINK.id_link <> t_ASSESSMENT_COMMAND_LINK.id_link_old LIMIT 1) THEN
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
UPDATE tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK
|
||||
/* fetchmetrics.DOG_Assessment_Command_Link_Temp ASSESSMENT_COMMAND_LINK_T
|
||||
INNER JOIN tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK ON ASSESSMENT_COMMAND_LINK_T.id_temp = t_ASSESSMENT_COMMAND_LINK.id_temp
|
||||
*/
|
||||
LEFT JOIN tmp_Assessment_Command_Modality_Link_Save_ACDR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_LINK.id_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
|
||||
ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK_T.guid = a_guid
|
||||
LEFT JOIN tmp_Assessment_Command_Technique_Link_Save_ACDR t_ASSESSMENT_COMMAND_TECHNIQUE_LINK ON t_ASSESSMENT_COMMAND_LINK.id_link = t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Technique_Link_Save_ACDR ASSESSMENT_COMMAND_TECHNIQUE_LINK_T
|
||||
ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_temp = ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_temp
|
||||
AND ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.guid = a_guid
|
||||
LEFT JOIN tmp_Distraction_Save_ACDR t_DISTRACTION ON t_ASSESSMENT_COMMAND_LINK.id_link = t_DISTRACTION.id_assessment_command_link
|
||||
LEFT JOIN fetchmetrics.DOG_Distraction_Save_ACDR DISTRACTION_T
|
||||
ON t_DISTRACTION.id_temp = DISTRACTION_T.id_temp
|
||||
AND DISTRACTION_T.guid = a_guid
|
||||
LEFT JOIN tmp_Assessment_Response_Save_ACDR t_ASSESSMENT_RESPONSE ON t_ASSESSMENT_COMMAND_LINK.id_link = t_ASSESSMENT_RESPONSE.id_assessment_command_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Response_Save_ACDR ASSESSMENT_RESPONSE_T
|
||||
ON t_ASSESSMENT_RESPONSE.id_temp = ASSESSMENT_RESPONSE_T.id_temp
|
||||
AND ASSESSMENT_RESPONSE_T.guid = a_guid
|
||||
SET
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
, ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
, DISTRACTION_T.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
, ASSESSMENT_RESPONSE_T.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE t_ASSESSMENT_COMMAND_LINK.id_link <> t_ASSESSMENT_COMMAND_LINK.id_link_old
|
||||
;
|
||||
/*
|
||||
UPDATE fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
|
||||
INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ACDR t_ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp
|
||||
INNER JOIN tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
SET ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment_command_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_link
|
||||
WHERE t_ASSESSMENT_COMMAND_LINK.id_link <> t_ASSESSMENT_COMMAND_LINK.id_link_old
|
||||
;
|
||||
|
||||
UPDATE fetchmetrics.DOG_Assessment_Command_Technique_Link_Temp ASSESSMENT_COMMAND_TECHNIQUE_LINK_T
|
||||
INNER JOIN tmp_Assessment_Command_Technique_Link_Save_ACDR t_ASSESSMENT_COMMAND_TECHNIQUE_LINK ON ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_temp = t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_temp
|
||||
INNER JOIN tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
SET ASSESSMENT_COMMAND_TECHNIQUE_LINK_T.id_assessment_command_link = t_ASSESSMENT_COMMAND_TECHNIQUE_LINK.id_assessment_command_link
|
||||
WHERE t_ASSESSMENT_COMMAND_LINK.id_link <> t_ASSESSMENT_COMMAND_LINK.id_link_old
|
||||
;
|
||||
|
||||
UPDATE fetchmetrics.DOG_Distraction_Temp DISTRACTION_T
|
||||
INNER JOIN tmp_Distraction_Save_ACDR t_DISTRACTION ON DISTRACTION_T.id_temp = t_DISTRACTION.id_temp
|
||||
INNER JOIN tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK ON t_DISTRACTION.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
SET DISTRACTION_T.id_assessment_command_link = t_DISTRACTION.id_assessment_command_link
|
||||
WHERE t_ASSESSMENT_COMMAND_LINK.id_link <> t_ASSESSMENT_COMMAND_LINK.id_link_old
|
||||
;
|
||||
|
||||
UPDATE fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE
|
||||
INNER JOIN tmp_Assessment_Response t_ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.id_response = t_ASSESSMENT_RESPONSE.id_response
|
||||
INNER JOIN tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
SET ASSESSMENT_COMMAND_LINK_T.id_assessment_command_link = t_ASSESSMENT_COMMAND_LINK.id_link
|
||||
WHERE t_ASSESSMENT_COMMAND_LINK.id_link <> t_ASSESSMENT_COMMAND_LINK.id_link_old
|
||||
;
|
||||
*/
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After align assessment Ids';
|
||||
SELECT * FROM tmp_Assessment_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Distraction_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ACDR;
|
||||
END IF;
|
||||
|
||||
|
||||
CALL fetchmetrics.p_dog_save_assessment_command_modality_link (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
CALL fetchmetrics.p_dog_save_assessment_command_technique_link (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
CALL fetchmetrics.p_dog_save_distraction (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Assessment Responses
|
||||
-- CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ACDR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL fetchmetrics.p_dog_save_assessment_response (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_RESPONSE_SAVE_ERROR.id_type
|
||||
, t_ASSESSMENT_RESPONSE_SAVE_ERROR.code
|
||||
, t_ASSESSMENT_RESPONSE_SAVE_ERROR.msg
|
||||
FROM tmp_Assessment_Response_Save_ACDR_Save_Error t_ASSESSMENT_RESPONSE_SAVE_ERROR
|
||||
;
|
||||
* /
|
||||
|
||||
-- Get New Assessment Command Link Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE ASSESSMENT_COMMAND_LINK
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link ASSESSMENT_COMMAND_LINK
|
||||
INNER JOIN tmp_Assessment_Command_Link_Save_ACDR t_ASSESSMENT_COMMAND_LINK ON ASSESSMENT_COMMAND_LINK.id_link = t_ASSESSMENT_COMMAND_LINK.id_assessment_command_link
|
||||
INNER JOIN tmp_Assessment_Save_ACDR t_ASSESSMENT ON ASSESSMENT_COMMAND_LINK.id_assessment = t_ASSESSMENT.id_assessment
|
||||
WHERE
|
||||
t_ASSESSMENT_COMMAND_LINK.is_new = 1
|
||||
OR t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
DELETE ASSESSMENT
|
||||
FROM fetchmetrics.DOG_Assessment ASSESSMENT
|
||||
INNER JOIN tmp_Assessment_Save_ACDR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment
|
||||
WHERE t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
*/
|
||||
|
||||
-- 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_Combined t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Command_Technique_Link_Save_ACDR;
|
||||
SELECT * FROM tmp_Distraction_Save_ACDR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ACDR;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_msg_error (
|
||||
a_guid
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ACDR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Distraction_Save_ACDR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Link_Save_ACDR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Save_ACDR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ACDR;
|
||||
DROP TABLE IF EXISTS tmp_Distraction_Save_ACDR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Technique_Link_Save_ACDR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ACDR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Link_Save_ACDR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Save_ACDR;
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error_Combined;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_save_assessment_command_distraction_and_response (
|
||||
'nipples'
|
||||
, 'ripplesipplenipplytippledipplykipple'
|
||||
, 1
|
||||
, 1
|
||||
);
|
||||
|
||||
|
||||
*/
|
||||
@@ -1,562 +0,0 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_assessment_distraction_and_response;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE fetchmetrics.p_dog_save_assessment_distraction_and_response (
|
||||
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_Combined (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
MET.id_type
|
||||
, @errno
|
||||
, @text
|
||||
FROM fetchmetrics.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_Combined t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error_Combined;
|
||||
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 fetchmetrics.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 fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL fetchmetrics.p_core_validate_guid ( a_guid );
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Distraction_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Save_ADR;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR (
|
||||
id_temp INT
|
||||
, id_assessment INT
|
||||
, id_assessment_old INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Distraction_Save_ADR (
|
||||
id_temp INT
|
||||
, id_distraction INT
|
||||
, id_distraction_old INT
|
||||
, id_assessment INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Save_ADR (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_link_old INT
|
||||
, id_assessment INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ADR (
|
||||
id_temp INT
|
||||
, id_response INT
|
||||
, id_response_old INT
|
||||
, id_assessment_command_modality_link INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Combined (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- Get data from Temp table
|
||||
INSERT INTO tmp_Assessment_Save_ADR (
|
||||
id_temp
|
||||
, id_assessment
|
||||
, id_assessment_old
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_T.id_temp
|
||||
, ASSESSMENT_T.id_assessment
|
||||
, ASSESSMENT_T.id_assessment
|
||||
, COALESCE(
|
||||
ASSESSMENT_T.active
|
||||
, ASSESSMENT.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_T.id_assessment, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Temp ASSESSMENT_T
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON ASSESSMENT_T.id_assessment = ASSESSMENT.id_assessment
|
||||
WHERE ASSESSMENT_T.guid = a_guid
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Distraction_Save_ADR (
|
||||
id_temp
|
||||
, id_distraction
|
||||
, id_distraction_old
|
||||
, id_assessment
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
DISTRACTION_T.id_temp
|
||||
, DISTRACTION_T.id_distraction
|
||||
, DISTRACTION_T.id_distraction
|
||||
, DISTRACTION_T.id_assessment
|
||||
, COALESCE(
|
||||
DISTRACTION_T.active
|
||||
, DISTRACTION.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(DISTRACTION_T.id_distraction, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Distraction_Temp DISTRACTION_T
|
||||
LEFT JOIN fetchmetrics.DOG_Distraction DISTRACTION ON DISTRACTION_T.id_distraction = DISTRACTION.id_distraction
|
||||
WHERE DISTRACTION_T.guid = a_guid
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Modality_Link_Save_ADR (
|
||||
id_temp
|
||||
, id_link
|
||||
, id_link_old
|
||||
, id_assessment
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.guid = a_guid
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Assessment_Response_Save_ADR (
|
||||
id_temp
|
||||
, id_response
|
||||
, id_response_old
|
||||
, id_assessment_command_modality_link
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_RESPONSE_T.id_temp
|
||||
, ASSESSMENT_RESPONSE_T.id_response
|
||||
, ASSESSMENT_RESPONSE_T.id_response
|
||||
, ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_RESPONSE_T.active
|
||||
, ASSESSMENT_RESPONSE.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_RESPONSE_T.id_response, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM fetchmetrics.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response
|
||||
WHERE ASSESSMENT_RESPONSE_T.guid = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Temp records';
|
||||
SELECT * FROM tmp_Assessment_Save_ADR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Save_ADR;
|
||||
SELECT * FROM tmp_Distraction_Save_ADR;
|
||||
SELECT COUNT(*) FROM tmp_Distraction_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ADR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Response_Save_ADR;
|
||||
END IF;
|
||||
|
||||
-- Permissions
|
||||
-- Can Create
|
||||
CALL fetchmetrics.p_dog_calc_user_access(
|
||||
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 fetchmetrics.DOG_Calc_User_Access_Temp CU_T
|
||||
WHERE CU_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_calc_user_access(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF v_can_create = 0 THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error_Combined t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to edit Assessment_Distraction_And_Responses.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Assessments
|
||||
-- CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL fetchmetrics.p_dog_save_assessment (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_SAVE_ERROR.id_type
|
||||
, t_ASSESSMENT_SAVE_ERROR.code
|
||||
, t_ASSESSMENT_SAVE_ERROR.msg
|
||||
FROM tmp_Assessment_Save_ADR_Save_Error t_ASSESSMENT_SAVE_ERROR
|
||||
;
|
||||
*/
|
||||
|
||||
-- Get New Assessment Ids
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
|
||||
-- Update Temporary tables with new Ids
|
||||
UPDATE tmp_Assessment_Save_ADR t_ASSESSMENT
|
||||
INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_temp = ASSESSMENT.id_temp
|
||||
INNER JOIN tmp_Distraction_Save_ADR t_DISTRACTION ON t_ASSESSMENT.id_assessment_old = t_DISTRACTION.id_assessment
|
||||
INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT.id_assessment_old = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment
|
||||
SET
|
||||
t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment
|
||||
, t_DISTRACTION.id_assessment = ASSESSMENT.id_assessment
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
WHERE
|
||||
t_ASSESSMENT.active = 1
|
||||
AND t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
-- Update Staging tables with new Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Assessment_Save_ADR t_ASSESSMENT WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old LIMIT 1) THEN
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
UPDATE fetchmetrics.DOG_Distraction_Temp DISTRACTION_T
|
||||
INNER JOIN tmp_Distraction_Save_ADR t_DISTRACTION ON DISTRACTION_T.id_temp = t_DISTRACTION.id_temp
|
||||
INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON t_DISTRACTION.id_assessment = t_ASSESSMENT.id_assessment
|
||||
SET DISTRACTION_T.id_assessment = t_DISTRACTION.id_assessment
|
||||
WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old
|
||||
;
|
||||
|
||||
UPDATE fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
|
||||
INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp
|
||||
INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON t_ASSESSMENT.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment
|
||||
SET ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment
|
||||
WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After align assessment Ids';
|
||||
SELECT * FROM tmp_Assessment_Save_ADR;
|
||||
SELECT * FROM tmp_Distraction_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ADR;
|
||||
END IF;
|
||||
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Distractions
|
||||
-- CREATE TEMPORARY TABLE tmp_Distraction_Save_ADR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL fetchmetrics.p_dog_save_distraction (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_DISTRACTION_SAVE_ERROR.id_type
|
||||
, t_DISTRACTION_SAVE_ERROR.code
|
||||
, t_DISTRACTION_SAVE_ERROR.msg
|
||||
FROM tmp_Distraction_Save_ADR_Save_Error t_DISTRACTION_SAVE_ERROR
|
||||
;
|
||||
*/
|
||||
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Assessment Command Modality Links
|
||||
-- CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL fetchmetrics.p_dog_save_assessment_command_modality_link (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_ACML_SAVE_ERROR.id_type
|
||||
, t_ACML_SAVE_ERROR.code
|
||||
, t_ACML_SAVE_ERROR.msg
|
||||
FROM tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error t_ACML_SAVE_ERROR
|
||||
;
|
||||
*/
|
||||
|
||||
-- Get New Assessment Command Modality Link Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE ASSESSMENT
|
||||
FROM fetchmetrics.DOG_Assessment ASSESSMENT
|
||||
INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment
|
||||
WHERE t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
ELSE
|
||||
-- Update Temporary tables with new Ids
|
||||
UPDATE tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK.id_temp
|
||||
LEFT JOIN tmp_Assessment_Response_Save_ADR t_ASSESSMENT_RESPONSE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
SET
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
WHERE
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.active = 1
|
||||
AND t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1
|
||||
;
|
||||
|
||||
-- Update Staging tables with new Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK WHERE t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link <> t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link_old LIMIT 1) THEN
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
UPDATE fetchmetrics.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T
|
||||
INNER JOIN tmp_Assessment_Response_Save_ADR t_ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_temp = t_ASSESSMENT_RESPONSE.id_temp
|
||||
INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
SET ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
WHERE t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link <> t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link_old
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After align assessment Ids';
|
||||
SELECT * FROM tmp_Assessment_Save_ADR;
|
||||
SELECT * FROM tmp_Distraction_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ADR;
|
||||
END IF;
|
||||
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Assessment Responses
|
||||
-- CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ADR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL fetchmetrics.p_dog_save_assessment_response (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_RESPONSE_SAVE_ERROR.id_type
|
||||
, t_ASSESSMENT_RESPONSE_SAVE_ERROR.code
|
||||
, t_ASSESSMENT_RESPONSE_SAVE_ERROR.msg
|
||||
FROM tmp_Assessment_Response_Save_ADR_Save_Error t_ASSESSMENT_RESPONSE_SAVE_ERROR
|
||||
;
|
||||
*/
|
||||
|
||||
-- Get New Assessment Command Modality Link Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_modality_link
|
||||
INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = t_ASSESSMENT.id_assessment
|
||||
WHERE
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1
|
||||
OR t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
DELETE ASSESSMENT
|
||||
FROM fetchmetrics.DOG_Assessment ASSESSMENT
|
||||
INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment
|
||||
WHERE t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
-- 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_Combined t_ERROR
|
||||
INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * FROM tmp_Assessment_Save_ADR;
|
||||
SELECT * FROM tmp_Distraction_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ADR;
|
||||
END IF;
|
||||
|
||||
CALL fetchmetrics.p_dog_clear_msg_error (
|
||||
a_guid
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Distraction_Save_ADR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Save_ADR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Distraction_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Save_ADR;
|
||||
DROP TEMPORARY TABLE tmp_Msg_Error_Combined;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start );
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|
||||
CALL fetchmetrics.p_dog_save_assessment_distraction_and_response (
|
||||
'nipples'
|
||||
, 'ripplesipplenipplytippledipplykipple'
|
||||
, 1
|
||||
, 1
|
||||
);
|
||||
|
||||
|
||||
*/
|
||||
@@ -898,6 +898,7 @@ VALUES
|
||||
)
|
||||
;
|
||||
|
||||
/* Removed
|
||||
INSERT INTO fetchmetrics.DOG_Drive (
|
||||
code
|
||||
, name
|
||||
@@ -930,6 +931,7 @@ VALUES
|
||||
, 0.5
|
||||
)
|
||||
;
|
||||
*/
|
||||
|
||||
/*
|
||||
INSERT INTO fetchmetrics.DOG_Understanding_Level (
|
||||
@@ -962,33 +964,6 @@ VALUES
|
||||
, 'Understood'
|
||||
)
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Obedience_Level (
|
||||
code
|
||||
, name
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
'REFUSAL'
|
||||
, 'Refuses to obey'
|
||||
)
|
||||
, (
|
||||
'ON_HER_TERMS'
|
||||
, 'Might obey if she feels like it'
|
||||
)
|
||||
, (
|
||||
'OBEYS_UNDISTRACTED'
|
||||
, 'Obeys without distractions'
|
||||
)
|
||||
, (
|
||||
'OBEYS_MILDLY_DISTRACTED'
|
||||
, 'Obeys when mildly distracted'
|
||||
)
|
||||
, (
|
||||
'OBEYS_PERFECTLY'
|
||||
, 'Obeys in all situations'
|
||||
)
|
||||
;
|
||||
*/
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Command_Category (
|
||||
@@ -1378,6 +1353,46 @@ VALUES
|
||||
)
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Type (
|
||||
code
|
||||
, name
|
||||
, description
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
'PROFESSIONAL_TRAINING' -- code
|
||||
, 'Professional Training Session' -- name
|
||||
, 'Assessment conducted during one-on-one training sessions at the trainer''s facility. Focuses on specific skills development and command training in a controlled environment.' -- description
|
||||
)
|
||||
, (
|
||||
'GROUP' -- code
|
||||
, 'Group Session' -- name
|
||||
, 'Evaluation during group training classes with multiple dogs and owners present. Measures performance in social settings and ability to focus despite distractions from other dogs.' -- description
|
||||
)
|
||||
, (
|
||||
'HOME' -- code
|
||||
, 'Home' -- name
|
||||
, 'Assessment conducted in the dog''s home environment. Evaluates behavior in familiar surroundings and real-world application of training with household distractions and family dynamics.' -- description
|
||||
)
|
||||
, (
|
||||
'COMPETITION' -- code
|
||||
, 'Competition' -- name
|
||||
, 'Evaluation of performance readiness for dog shows, agility competitions, or sporting events. Measures precision, consistency, and performance under competitive pressure.' -- description
|
||||
)
|
||||
, (
|
||||
'QUALIFICATION' -- code
|
||||
, 'Qualification' -- name
|
||||
, 'Formal assessment for certifications such as Kennel Club Good Citizen, therapy dog qualification, or other official standards. Tests specific criteria required for certification approval.' -- description
|
||||
)
|
||||
/*
|
||||
, (
|
||||
'' -- code
|
||||
, '' -- name
|
||||
, '' -- description
|
||||
)
|
||||
*/
|
||||
;
|
||||
|
||||
/*
|
||||
INSERT INTO fetchmetrics.DOG_Assessment (
|
||||
id_weather
|
||||
@@ -1395,44 +1410,6 @@ VALUES
|
||||
;
|
||||
*/
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Distraction_Type (
|
||||
code
|
||||
, name
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
'RESTLESSNESS'
|
||||
, 'Restlessness'
|
||||
)
|
||||
, (
|
||||
'LIVE_PREY'
|
||||
, 'Live Prey'
|
||||
)
|
||||
, (
|
||||
'DEAD_PREY'
|
||||
, 'Dead Prey'
|
||||
)
|
||||
, (
|
||||
'VEHICLES_MACHINES'
|
||||
, 'Vehicles and Machines'
|
||||
)
|
||||
, (
|
||||
'EXPLOSION'
|
||||
, 'Explosion'
|
||||
)
|
||||
, (
|
||||
'Treat'
|
||||
, 'Treat'
|
||||
)
|
||||
, (
|
||||
'TOY'
|
||||
, 'Toy'
|
||||
)
|
||||
, (
|
||||
'SQUEAKY_TOY'
|
||||
, 'Squeaky Toy'
|
||||
)
|
||||
;
|
||||
/*
|
||||
INSERT INTO fetchmetrics.DOG_Distraction_Type_User_Link (
|
||||
id_distraction_type
|
||||
@@ -1518,6 +1495,7 @@ VALUES
|
||||
;
|
||||
*/
|
||||
|
||||
/* Removed
|
||||
INSERT INTO fetchmetrics.DOG_Bribe (
|
||||
code
|
||||
, name
|
||||
@@ -1549,7 +1527,6 @@ VALUES
|
||||
)
|
||||
;
|
||||
|
||||
/*
|
||||
INSERT INTO fetchmetrics.DOG_Bribe_User_Link (
|
||||
id_bribe
|
||||
, id_user
|
||||
@@ -1567,9 +1544,174 @@ SELECT
|
||||
, 3
|
||||
FROM fetchmetrics.DOG_Bribe B
|
||||
;
|
||||
*/
|
||||
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link (
|
||||
INSERT INTO fetchmetrics.DOG_Reinforcement_Schedule (
|
||||
code
|
||||
, name
|
||||
, description
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
'CRF' -- code
|
||||
, 'Continuous Reinforcement' -- name
|
||||
, 'Every correct response is rewarded. Best for initial learning of new behaviors. Produces steady, moderate response rates but behavior extinguishes quickly when rewards stop.' -- description
|
||||
)
|
||||
, (
|
||||
'FR' -- code
|
||||
, 'Fixed Ratio' -- name
|
||||
, 'Reward given after a fixed number of responses (e.g., every 5th correct response). Creates high, steady response rates with brief pauses after each reward. Risk of "ratio strain" if requirement is too high.' -- description
|
||||
)
|
||||
, (
|
||||
'VR' -- code
|
||||
, 'Variable Ratio' -- name
|
||||
, 'Reward given after an unpredictable number of responses, averaging around a set number. Produces the highest, most consistent response rates with minimal pauses. Creates persistent behavior that''s resistant to extinction.' -- description
|
||||
)
|
||||
, (
|
||||
'RR' -- code
|
||||
, 'Random Ratio' -- name
|
||||
, 'Reward given randomly with no pattern, maintaining a specific percentage (e.g., 50% of responses rewarded). Prevents the dog from predicting when rewards will come, avoiding systematic response patterns.' -- description
|
||||
)
|
||||
, (
|
||||
'FI' -- code
|
||||
, 'Fixed Interval' -- name
|
||||
, 'First response after a set time period is rewarded. Creates a pattern where responses increase as the time approaches, with long pauses after rewards ("fixed-interval scallop").' -- description
|
||||
)
|
||||
, (
|
||||
'VI' -- code
|
||||
, 'Variable Interval' -- name
|
||||
, 'First response after unpredictable time intervals is rewarded, averaging around a set time. Produces steady response rates without pauses, though generally lower rates than ratio schedules.' -- description
|
||||
)
|
||||
, (
|
||||
'DRE' -- code
|
||||
, 'Differential Reinforcement of Excellence' -- name
|
||||
, 'Only the best quality responses are rewarded, with standards that increase as the dog improves. Continuously raises performance standards rather than rewarding on an all-or-nothing basis.' -- description
|
||||
)
|
||||
, (
|
||||
'DRH' -- code
|
||||
, 'Differential Reinforcement of High Rates' -- name
|
||||
, 'Response is only rewarded if it occurs within a short time after the previous response. Encourages rapid, frequent responding.' -- description
|
||||
)
|
||||
, (
|
||||
'DRL' -- code
|
||||
, 'Differential Reinforcement of Low Rates' -- name
|
||||
, 'Response is only rewarded if sufficient time has passed since the previous response. Encourages slower, more deliberate responding.' -- description
|
||||
)
|
||||
, (
|
||||
'DRO' -- code
|
||||
, 'Differential Reinforcement of Other Behaviors' -- name
|
||||
, 'Any behavior except the target unwanted behavior is rewarded. Used to eliminate problem behaviors by reinforcing alternatives.' -- description
|
||||
)
|
||||
, (
|
||||
'DRI' -- code
|
||||
, 'Differential Reinforcement of Incompatible Behaviors' -- name
|
||||
, 'Only behaviors that cannot occur simultaneously with the unwanted behavior are rewarded. More specific than DRO for eliminating problems.' -- description
|
||||
)
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Training_Technique (
|
||||
code
|
||||
, name
|
||||
, description
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
'SHAPING' -- code
|
||||
, 'Shaping by Successive Approximations' -- name
|
||||
, 'Differentially rewarding behaviors that progressively approximate the desired final response. Each step builds closer to the target behavior through careful observation and timing.' -- description
|
||||
)
|
||||
, (
|
||||
'PROMPTING' -- code
|
||||
, 'Prompting' -- name
|
||||
, 'Using physical manipulation, visual lures, or environmental cues to guide the dog into performing the desired behavior, which is then rewarded.' -- description
|
||||
)
|
||||
, (
|
||||
'AUTOSHAPING' -- code
|
||||
, 'Autoshaping' -- name
|
||||
, 'Allowing classical conditioning to naturally develop the desired behavior by pairing a neutral stimulus with food delivery, causing the dog to direct food-related behaviors toward the stimulus.' -- description
|
||||
)
|
||||
, (
|
||||
'BACKWARD_CHAINING' -- code
|
||||
, 'Backward Chaining' -- name
|
||||
, 'Teaching complex behavior sequences by starting with the final behavior and working backwards, so each step is reinforced by the opportunity to perform the already-learned next step.' -- description
|
||||
)
|
||||
, (
|
||||
'FORWARD_CHAINING' -- code
|
||||
, 'Forward Chaining' -- name
|
||||
, 'Teaching complex behavior sequences by starting with the first behavior and progressively adding subsequent steps in order.' -- description
|
||||
)
|
||||
, (
|
||||
'NEGATIVE_REINFORCEMENT' -- code
|
||||
, 'Negative Reinforcement' -- name
|
||||
, 'Removing an unpleasant stimulus when the correct behavior occurs, strengthening the behavior through escape or avoidance of the aversive stimulus.' -- description
|
||||
)
|
||||
, (
|
||||
'POSITIVE_PUNISHMENT' -- code
|
||||
, 'Positive Punishment' -- name
|
||||
, 'Adding an unpleasant consequence immediately after an unwanted behavior to decrease the likelihood of that behavior recurring.' -- description
|
||||
)
|
||||
, (
|
||||
'NEGATIVE_PUNISHMENT' -- code
|
||||
, 'Negative Punishment' -- name
|
||||
, 'Removing something pleasant (like attention or access to activities) immediately after unwanted behavior to decrease that behavior.' -- description
|
||||
)
|
||||
, (
|
||||
'COUNTERCONDITIONING' -- code
|
||||
, 'Counterconditioning' -- name
|
||||
, 'Changing the dog''s emotional response to a stimulus by pairing it with something pleasant, replacing fear or negative associations with positive ones.' -- description
|
||||
)
|
||||
, (
|
||||
'SYSTEMATIC_DESENSITIZATION' -- code
|
||||
, 'Systematic Desensitization' -- name
|
||||
, 'Gradually exposing the dog to increasing intensities of a fear-provoking stimulus while maintaining relaxation, starting well below the threshold that triggers fear.' -- description
|
||||
)
|
||||
, (
|
||||
'FLOODING' -- code
|
||||
, 'Flooding' -- name
|
||||
, 'Exposing the dog to the full intensity of a feared stimulus while preventing escape responses, allowing the fear response to extinguish through prolonged exposure.' -- description
|
||||
)
|
||||
, (
|
||||
'PROMPT_FADING' -- code
|
||||
, 'Prompt Fading' -- name
|
||||
, 'Gradually reducing and removing prompts (physical, visual, or environmental cues) while maintaining the learned behavior until the dog responds to the final cue alone.' -- description
|
||||
)
|
||||
, (
|
||||
'GENERALIZATION_TRAINING' -- code
|
||||
, 'Generalization Training' -- name
|
||||
, 'Teaching the dog to perform learned behaviors across different contexts, locations, people, and situations to ensure reliable performance everywhere.' -- description
|
||||
)
|
||||
, (
|
||||
'ERRORLESS_DISCRIMINATION' -- code
|
||||
, 'Errorless Discrimination Learning' -- name
|
||||
, 'Teaching discriminations by making the correct choice highly obvious initially, then gradually making the distinction more subtle to minimize errors during learning.' -- description
|
||||
)
|
||||
, (
|
||||
'CONTEXT_VARIATION' -- code
|
||||
, 'Context Variation Training' -- name
|
||||
, 'Systematically changing environmental factors (location, time, distractions, people present) during training to strengthen stimulus control and prevent context dependency.' -- description
|
||||
)
|
||||
, (
|
||||
'HABITUATION_TRAINING' -- code
|
||||
, 'Habituation Training' -- name
|
||||
, 'Repeated exposure to a stimulus until the dog stops reacting to it, teaching the dog that the stimulus is irrelevant and requires no response.' -- description
|
||||
)
|
||||
, (
|
||||
'EXTINCTION' -- code
|
||||
, 'Extinction' -- name
|
||||
, 'Stopping all reinforcement for a previously rewarded behavior to decrease and eventually eliminate that behavior, often accompanied by temporary increases in the behavior.' -- description
|
||||
)
|
||||
/*
|
||||
, (
|
||||
'' -- code
|
||||
, '' -- name
|
||||
, '' -- description
|
||||
)
|
||||
*/
|
||||
;
|
||||
|
||||
/*
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Link (
|
||||
id_assessment
|
||||
, id_command
|
||||
, id_command_modality
|
||||
@@ -1589,6 +1731,45 @@ VALUES
|
||||
;
|
||||
*/
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Distraction_Type (
|
||||
code
|
||||
, name
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
'RESTLESSNESS'
|
||||
, 'Restlessness'
|
||||
)
|
||||
, (
|
||||
'LIVE_PREY'
|
||||
, 'Live Prey'
|
||||
)
|
||||
, (
|
||||
'DEAD_PREY'
|
||||
, 'Dead Prey'
|
||||
)
|
||||
, (
|
||||
'VEHICLES_MACHINES'
|
||||
, 'Vehicles and Machines'
|
||||
)
|
||||
, (
|
||||
'EXPLOSION'
|
||||
, 'Explosion'
|
||||
)
|
||||
, (
|
||||
'Treat'
|
||||
, 'Treat'
|
||||
)
|
||||
, (
|
||||
'TOY'
|
||||
, 'Toy'
|
||||
)
|
||||
, (
|
||||
'SQUEAKY_TOY'
|
||||
, 'Squeaky Toy'
|
||||
)
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Response_Quality_Metric (
|
||||
id_unit_measurement
|
||||
, code
|
||||
|
||||
@@ -12,7 +12,7 @@ WHERE
|
||||
ORDER BY A.created_on DESC, D.created_on DESC
|
||||
;
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ACML
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link ACML
|
||||
INNER JOIN fetchmetrics.DOG_Assessment A ON ACML.id_assessment = A.id_assessment
|
||||
WHERE
|
||||
-- ACML.id_link = 5
|
||||
@@ -21,7 +21,7 @@ ORDER BY A.created_on DESC, ACML.created_on DESC
|
||||
;
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Assessment_Response AR
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ACML ON AR.id_assessment_command_modality_link = ACML.id_link
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Command_Link ACML ON AR.id_assessment_command_link = ACML.id_link
|
||||
INNER JOIN fetchmetrics.DOG_Assessment A ON ACML.id_assessment = A.id_assessment
|
||||
WHERE
|
||||
-- ACML.id_link = 5
|
||||
@@ -30,7 +30,7 @@ ORDER BY A.created_on DESC, ACML.created_on DESC
|
||||
;
|
||||
|
||||
/*
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link (
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Link (
|
||||
|
||||
id_assessment
|
||||
, id_command
|
||||
@@ -61,17 +61,17 @@ WHERE (C.id_command % 7 = 0) or (C.id_command % 11 = 0) or (C.id_command % 13 =
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Response (
|
||||
id_assessment_command_modality_link
|
||||
id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
)
|
||||
SELECT
|
||||
ACML.id_link AS id_assessment_command_modality_link
|
||||
ACML.id_link AS id_assessment_command_link
|
||||
, METRIC.id_response_quality_metric
|
||||
, 1 + (ACML.id_command % 8) id_obedience_level
|
||||
, 1 + ((METRIC.id_response_quality_metric * 3 + ACML.id_command) % 8) value_measured
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ACML
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link ACML
|
||||
INNER JOIN fetchmetrics.DOG_Assessment A ON ACML.id_assessment = A.id_assessment
|
||||
CROSS JOIN (
|
||||
SELECT 3 AS id_response_quality_metric
|
||||
@@ -88,15 +88,15 @@ WITH
|
||||
SELECT
|
||||
ACML.id_link
|
||||
, COUNT(*) AS response_count
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ACML
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Response AR ON ACML.id_link = AR.id_assessment_command_modality_link
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link ACML
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Response AR ON ACML.id_link = AR.id_assessment_command_link
|
||||
GROUP BY ACML.id_link
|
||||
)
|
||||
, ACML_With_Responses AS (
|
||||
SELECT
|
||||
ACML.id_link
|
||||
, CASE WHEN IFNULL(ACML_RESPONSE_COUNT.response_count, 0) > 0 THEN 1 ELSE 0 END AS has_responses
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ACML
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link ACML
|
||||
LEFT JOIN ACML_Response_Count ACML_RESPONSE_COUNT ON ACML.id_link = ACML_RESPONSE_COUNT.id_link
|
||||
)
|
||||
, Category_Size_Known AS (
|
||||
@@ -105,10 +105,10 @@ WITH
|
||||
, COUNT(*) AS count_known_commands
|
||||
FROM fetchmetrics.DOG_Command_Category CC
|
||||
INNER JOIN fetchmetrics.DOG_Command C ON CC.id_command_category = C.id_command_category
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ACML ON C.id_command = ACML.id_command
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment_Command_Link ACML ON C.id_command = ACML.id_command
|
||||
LEFT JOIN ACML_With_Responses ACML_WITH_RESPONSES ON ACML.id_link = ACML_WITH_RESPONSES.id_link
|
||||
LEFT JOIN fetchmetrics.DOG_Assessment A ON ACML.id_assessment = A.id_assessment
|
||||
-- LEFT JOIN fetchmetrics.DOG_Assessment_Response AR ON ACML.id_link = AR.id_assessment_command_modality_link
|
||||
-- LEFT JOIN fetchmetrics.DOG_Assessment_Response AR ON ACML.id_link = AR.id_assessment_command_link
|
||||
WHERE
|
||||
ACML_WITH_RESPONSES.has_responses = 1
|
||||
AND CC.active = 1
|
||||
@@ -193,7 +193,7 @@ INNER JOIN fetchmetrics.DOG_Assessment A
|
||||
-- WHERE A.id_assessment <= 21
|
||||
;
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link (
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Command_Link (
|
||||
id_temp
|
||||
, id_assessment
|
||||
, id_command
|
||||
@@ -216,7 +216,7 @@ SELECT
|
||||
, ACML.is_in_scent_range_of_handler
|
||||
, ACML.is_in_hearing_range_of_handler
|
||||
, ACML.is_on_lead
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ACML
|
||||
FROM fetchmetrics.DOG_Assessment_Command_Link ACML
|
||||
INNER JOIN fetchmetrics.DOG_Assessment A
|
||||
-- ON ACML.id_assessment = A.id_assessment
|
||||
ON ACML.id_assessment = A.id_temp
|
||||
@@ -226,7 +226,7 @@ INNER JOIN fetchmetrics.DOG_Assessment A
|
||||
|
||||
INSERT INTO fetchmetrics.DOG_Assessment_Response (
|
||||
id_temp
|
||||
, id_assessment_command_modality_link
|
||||
, id_assessment_command_link
|
||||
, id_response_quality_metric
|
||||
, id_obedience_level
|
||||
, value_measured
|
||||
@@ -234,15 +234,15 @@ INSERT INTO fetchmetrics.DOG_Assessment_Response (
|
||||
)
|
||||
SELECT
|
||||
AR.id_response
|
||||
, ACML.id_link -- (SELECT ACML_NEW.id_assessment_command_modality_link FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ACML_NEW WHERE ACML_NEW.id_temp
|
||||
, ACML.id_link -- (SELECT ACML_NEW.id_assessment_command_link FROM fetchmetrics.DOG_Assessment_Command_Link ACML_NEW WHERE ACML_NEW.id_temp
|
||||
, AR.id_response_quality_metric
|
||||
, AR.id_obedience_level
|
||||
, POWER(CASE WHEN AR.id_obedience_level = 3 THEN 0.9 ELSE 1.35 END, 6) * AR.value_measured
|
||||
, AR.notes
|
||||
FROM fetchmetrics.DOG_Assessment_Response AR
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ACML
|
||||
-- ON AR.id_assessment_command_modality_link = ACML.id_link
|
||||
ON AR.id_assessment_command_modality_link = ACML.id_temp
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Command_Link ACML
|
||||
-- ON AR.id_assessment_command_link = ACML.id_link
|
||||
ON AR.id_assessment_command_link = ACML.id_temp
|
||||
AND ACML.id_link > 3168
|
||||
-- INNER JOIN fetchmetrics.DOG_Assessment A ON AR.id_assessment = A.id_assessment
|
||||
-- WHERE A.id_assessment <= 21
|
||||
@@ -256,7 +256,7 @@ INNER JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ACML
|
||||
|
||||
SELECT *
|
||||
FROM fetchmetrics.DOG_Assessment_Response AR
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ACML ON AR.id_assessment_command_modality_link = ACML.id_link
|
||||
INNER JOIN fetchmetrics.DOG_Assessment_Command_Link ACML ON AR.id_assessment_command_link = ACML.id_link
|
||||
INNER JOIN fetchmetrics.DOG_Assessment A ON ACML.id_assessment = A.id_assessment
|
||||
INNER JOIN fetchmetrics.DOG_Command C ON ACML.id_command = C.id_command
|
||||
WHERE C.name LIKE '%SIT%'
|
||||
|
||||
51
static/MySQL/deprecated/11308a_tbl_DOG_Assessment_Group.sql
Normal file
51
static/MySQL/deprecated/11308a_tbl_DOG_Assessment_Group.sql
Normal file
@@ -0,0 +1,51 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Group'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Group (
|
||||
id_group INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_assessment_type INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_id_assessment_type
|
||||
FOREIGN KEY (id_assessment_type)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Type(id_type)
|
||||
, id_weather INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_id_weather
|
||||
FOREIGN KEY (id_weather)
|
||||
REFERENCES fetchmetrics.DOG_Weather(id_weather)
|
||||
, id_lighting_level INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_id_lighting_level
|
||||
FOREIGN KEY (id_lighting_level)
|
||||
REFERENCES fetchmetrics.DOG_Lighting_Level(id_lighting_level)
|
||||
, id_location INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_id_location
|
||||
FOREIGN KEY (id_location)
|
||||
REFERENCES fetchmetrics.DOG_Location(id_location)
|
||||
, id_user_handler INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_id_user_handler
|
||||
FOREIGN KEY (id_user_handler)
|
||||
REFERENCES fetchmetrics.DOG_User(id_user)
|
||||
, name VARCHAR(1000) NOT NULL
|
||||
, notes TEXT
|
||||
, difficulty_level DOUBLE
|
||||
, start_on DATETIME
|
||||
, end_on DATETIME
|
||||
, temperature_celcius DECIMAL(5, 2)
|
||||
, difficulty_level DOUBLE
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
, created_on DATETIME
|
||||
, id_user_created_by INT
|
||||
, CONSTRAINT FK_DOG_Assessment_Group_id_user_created_by
|
||||
FOREIGN KEY (id_user_created_by)
|
||||
REFERENCES fetchmetrics.DOG_User(id_user)
|
||||
, id_change_set INT
|
||||
, CONSTRAINT FK_DOG_Assessment_Group_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -0,0 +1,24 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Group_Audit'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Group_Audit (
|
||||
id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_assessment_group INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Audit_id_assessment_group
|
||||
FOREIGN KEY (id_assessment_group)
|
||||
REFERENCES fetchmetrics.DOG_Assessment_Group(id_group)
|
||||
, name_field VARCHAR(255) NOT NULL
|
||||
, value_prev TEXT
|
||||
, value_new TEXT
|
||||
, id_change_set INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Group_Audit_id_change_set
|
||||
FOREIGN KEY (id_change_set)
|
||||
REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set)
|
||||
);
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
USE fetchmetrics;
|
||||
|
||||
-- DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Group_Temp;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
TABLE_SCHEMA = 'fetchmetrics'
|
||||
AND TABLE_NAME = 'DOG_Assessment_Group_Temp'
|
||||
;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Group_Temp (
|
||||
id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_temp INT
|
||||
, name VARCHAR(1000)
|
||||
, notes TEXT
|
||||
, start_on DATETIME
|
||||
, end_on DATETIME
|
||||
, temperature_celcius DECIMAL(5, 2)
|
||||
, difficulty_level DOUBLE
|
||||
, active BIT NOT NULL DEFAULT 1
|
||||
|
||||
, does_meet_id_filters BIT
|
||||
, does_meet_non_id_filters BIT
|
||||
|
||||
, guid BINARY(36)
|
||||
);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user