Feat: Assessment page completed with save method combining Assessment, Distraction, Assessment Command Modality Link, and Assessment Response save for creating new complete Assessnent.

This commit is contained in:
2025-07-28 22:41:38 +01:00
parent 1bbe6f0040
commit 574d60442a
122 changed files with 3261 additions and 1057 deletions

View File

@@ -1,26 +1,24 @@
USE demo;
DROP PROCEDURE IF EXISTS demo.p_ph_save_contact_form;
DROP PROCEDURE IF EXISTS demo.p_dog_save_assessment_distraction_and_response;
DELIMITER //
CREATE PROCEDURE demo.p_ph_save_contact_form (
CREATE PROCEDURE demo.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_code_type_error_bad_data VARCHAR(100);
DECLARE v_id_access_level_view INT;
DECLARE v_id_access_level_edit INT;
DECLARE v_id_change_set INT;
DECLARE v_id_permission_contact_form_admin INT;
DECLARE v_id_permission_contact_form_new INT;
DECLARE v_id_type_error_bad_data INT;
DECLARE v_time_start TIMESTAMP(6);
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
@@ -32,16 +30,16 @@ BEGIN
ROLLBACK;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, code VARCHAR(50) NOT NULL
, msg VARCHAR(4000) NOT NULL
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 (
INSERT INTO tmp_Msg_Error_Combined (
id_type
, code
, code
, msg
)
SELECT
@@ -51,156 +49,191 @@ BEGIN
FROM demo.CORE_Msg_Error_Type MET
WHERE MET.code = 'MYSQL_ERROR'
;
SELECT *
FROM tmp_Msg_Error;
DROP TABLE IF EXISTS tmp_Msg_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 demo.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 id_type FROM demo.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
SET v_id_permission_contact_form_admin := (SELECT id_permission FROM demo.DOG_Permission P WHERE P.code = 'CONTACT_FORM_ADMIN' LIMIT 1);
SET v_id_permission_contact_form_new := (SELECT id_permission FROM demo.DOG_Permission P WHERE P.code = 'CONTACT_FORM_CREATE' LIMIT 1);
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM demo.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM demo.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM demo.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
CALL demo.p_core_validate_guid ( a_guid );
DROP TABLE IF EXISTS tmp_Contact_Form;
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_Contact_Form (
id_contact_form INT NOT NULL
, email VARCHAR(255) NOT NULL
, name_contact VARCHAR(255) NOT NULL
, name_company VARCHAR(255) NOT NULL
, message TEXT NOT NULL
, receive_marketing_communications BIT NOT NULL
, active BIT NOT NULL
, name_error VARCHAR(255)
, is_new BIT NOT NULL
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 IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, code VARCHAR(50) NOT NULL
, msg VARCHAR(4000) NOT NULL
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_Contact_Form (
id_contact_form
, email
, name_contact
, name_company
, message
, receive_marketing_communications
INSERT INTO tmp_Assessment_Save_ADR (
id_temp
, id_assessment
, id_assessment_old
, active
, is_new
)
SELECT
CF_T.id_contact_form AS id_contact_form
, IFNULL(CF_T.email, CF.email) AS code
, IFNULL(CF_T.name_contact, CF.name_contact) AS name_contact
, IFNULL(CF_T.name_company, CF.name_company) AS name_company
, IFNULL(CF_T.message, CF.message) AS message
, COALESCE(CF_T.receive_marketing_communications, CF.receive_marketing_communications, 0) AS receive_marketing_communications
, COALESCE(CF_T.active, CF.active, 1) AS active
, CASE WHEN IFNULL(CF_T.id_contact_form, 0) < 1 THEN 1 ELSE 0 END AS is_new
FROM demo.PH_Contact_Form_Temp CF_T
LEFT JOIN demo.PH_Contact_Form CF ON CF_T.id_contact_form = CF.id_contact_form
WHERE CF_T.guid = a_guid
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 demo.DOG_Assessment_Temp ASSESSMENT_T
LEFT JOIN demo.DOG_Assessment ASSESSMENT ON ASSESSMENT_T.id_assessment = ASSESSMENT.id_assessment
WHERE ASSESSMENT_T.guid = a_guid
;
UPDATE tmp_Contact_Form t_CF
SET name_error = COALESCE(t_CF.email, t_CF.name_company, t_CF.name_contact, t_CF.message, '(No Contact Form)')
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 demo.DOG_Distraction_Temp DISTRACTION_T
LEFT JOIN demo.DOG_Distraction DISTRACTION ON DISTRACTION_T.id_distraction = DISTRACTION.id_distraction
WHERE DISTRACTION_T.guid = a_guid
;
-- Validation
-- Missing mandatory fields
-- email
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.email) LIMIT 1) 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 Contact Form(s) do not have an Email: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg
FROM tmp_Contact_Form t_CF
WHERE ISNULL(t_CF.email)
;
END IF;
-- name_contact
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.name_contact) LIMIT 1) 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 Contact Form(s) do not have a Contact Name: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg
FROM tmp_Contact_Form t_CF
WHERE ISNULL(t_CF.name_contact)
;
END IF;
-- name_company
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.name_company) LIMIT 1) 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 Contact Form(s) do not have a Company Name: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg
FROM tmp_Contact_Form t_CF
WHERE ISNULL(t_CF.name)
;
END IF;
-- message
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.message) LIMIT 1) 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 Contact Form(s) do not have a Message: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg
FROM tmp_Contact_Form t_CF
WHERE ISNULL(t_CF.message)
;
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 demo.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
LEFT JOIN demo.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 demo.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T
LEFT JOIN demo.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
IF a_debug = 1 THEN
SELECT
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_contact_form_admin -- ids_permission
, v_id_access_level_view -- ids_access_level
, 0 -- a_show_errors
, 0 -- a_debug
;
END IF;
-- Can Create
CALL demo.p_dog_calc_user(
a_guid
, 0 -- get_all_user
@@ -213,196 +246,300 @@ BEGIN
, 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_contact_form_admin -- ids_permission
, v_id_access_level_view -- ids_access_level
, v_id_permission_dog_new -- ids_permission
, v_id_access_level_edit -- ids_access_level
, 0 -- a_show_errors
, 0 -- a_debug
);
SELECT
IFNULL(CALC_USER_T.has_access, 0)
INTO
v_can_admin
FROM demo.DOG_Calc_User_Temp CALC_USER_T
WHERE CALC_USER_T.GUID = a_guid
LIMIT 1
;
IF a_debug = 1 THEN
SELECT v_can_admin;
SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR;
SELECT * FROM tmp_Msg_Error t_ERROR;
END IF;
CALL demo.p_dog_clear_calc_user(
a_guid
, 0 -- a_debug
);
IF a_debug = 1 THEN
SELECT
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_contact_form_new -- ids_permission
, v_id_access_level_view -- ids_access_level
, 0 -- a_show_errors
, 0 -- a_debug
;
END IF;
CALL demo.p_dog_calc_user(
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_contact_form_new -- 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)
IFNULL(CU_T.has_access, 0)
INTO
v_can_create
FROM demo.DOG_Calc_User_Temp CALC_USER_T
WHERE CALC_USER_T.GUID = a_guid
FROM demo.DOG_Calc_User_Temp CU_T
WHERE CU_T.GUID = a_guid
LIMIT 1
;
IF a_debug = 1 THEN
SELECT v_can_create;
SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR;
SELECT * FROM tmp_Msg_Error t_ERROR;
END IF;
CALL demo.p_dog_clear_calc_user(
a_guid
, 0 -- a_debug
);
IF (v_can_admin = 0 AND EXISTS(SELECT * FROM tmp_Contact_Form WHERE is_new = 0)) THEN
IF v_can_create = 0 THEN
DELETE t_ME
FROM tmp_Msg_Error 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 (
INSERT INTO tmp_Msg_Error_Combined (
id_type
, code
, code
, msg
)
VALUES (
v_id_type_error_no_permission
, v_code_type_error_no_permission
, 'You do not have permission to admin Contact Forms.'
, v_code_type_error_no_permission
, 'You do not have permission to edit Assessment_Distraction_And_Responses.'
)
;
END IF;
IF EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
IF a_debug = 1 THEN
SELECT * from tmp_Contact_Form;
END IF;
DELETE FROM tmp_Contact_Form;
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 demo.p_dog_save_assessment (
a_comment
, a_guid
, a_id_user
, 0 -- debug
);
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
START TRANSACTION;
INSERT INTO demo.PH_Contact_Form_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 demo.PH_Contact_Form CF
INNER JOIN tmp_Contact_Form t_CF
ON CF.id_contact_form = t_CF.id_contact_form
AND t_CF.is_new = 0
SET
CF.email = t_CF.email
, CF.name_contact = t_CF.name_contact
, CF.name_company = t_CF.name_company
, CF.message = t_CF.message
, CF.receive_marketing_communications = t_CF.receive_marketing_communications
, CF.active = t_CF.active
, CF.id_change_set = v_id_change_set
;
INSERT INTO demo.PH_Contact_Form (
email
, name_contact
, name_company
, message
, receive_marketing_communications
, active
, id_user_created_by
, created_on
)
SELECT
t_CF.email AS email
, t_CF.name_contact AS name_contact
, t_CF.name_company AS name_company
, t_CF.message AS message
, t_CF.receive_marketing_communications AS receive_marketing_communications
, t_CF.active AS active
, a_id_user AS created_by
, v_time_start AS created_on
FROM tmp_Contact_Form t_CF
WHERE
t_CF.is_new = 1
AND t_CF.active = 1
;
COMMIT;
END IF;
START TRANSACTION;
/*
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
;
*/
DELETE FROM demo.PH_Contact_Form_Temp
WHERE GUID = a_guid
-- Get New Assessment Ids
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
-- Update Temporary tables with new Ids
UPDATE tmp_Assessment_Save_ADR t_ASSESSMENT
INNER JOIN demo.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
;
COMMIT;
-- 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 demo.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 demo.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 demo.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 demo.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 demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
START TRANSACTION;
DELETE ASSESSMENT
FROM demo.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 demo.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 demo.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 demo.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 demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
START TRANSACTION;
DELETE ASSESSMENT_COMMAND_MODALITY_LINK
FROM demo.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 demo.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 *
FROM tmp_Msg_Error t_ME
INNER JOIN demo.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
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 demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
IF a_debug = 1 THEN
SELECT * from tmp_Contact_Form;
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;
DROP TEMPORARY TABLE tmp_Contact_Form;
DROP TEMPORARY TABLE tmp_Msg_Error;
CALL demo.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 demo.p_core_debug_timing_reporting ( v_time_start );
@@ -411,26 +548,15 @@ END //
DELIMITER ;
select
*
-- COUNT(*)
-- delete
from demo.PH_Contact_Form_Temp
;
/*
CALL demo.p_ph_save_contact_form (
CALL demo.p_dog_save_assessment_distraction_and_response (
'nipples'
, (SELECT GUID FROM demo.PH_Contact_Form_Temp ORDER BY id_temp DESC LIMIT 1)
, 'ripplesipplenipplytippledipplykipple'
, 1
, 1
);
select
*
-- COUNT(*)
-- delete
from demo.PH_Contact_Form_Temp
;
*/

View File

@@ -0,0 +1,19 @@
USE parts;
-- DROP TABLE IF EXISTS parts.DOG_Msg_Error_Temp;
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = 'parts'
AND TABLE_NAME = 'DOG_Msg_Error_Temp'
;
CREATE TABLE IF NOT EXISTS parts.DOG_Msg_Error_Temp (
id_temp INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, id_type INT NOT NULL
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
, GUID BINARY(36) NOT NULL
);

View File

@@ -10,6 +10,7 @@ WHERE
CREATE TABLE IF NOT EXISTS parts.DOG_Assessment (
id_assessment INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, id_temp INT
, id_weather INT NOT NULL
, CONSTRAINT FK_DOG_Assessment_id_weather
FOREIGN KEY (id_weather)

View File

@@ -1,6 +1,8 @@
USE parts;
-- DROP TABLE IF EXISTS parts.DOG_Distraction;
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
FROM INFORMATION_SCHEMA.TABLES
WHERE
@@ -10,6 +12,7 @@ WHERE
CREATE TABLE IF NOT EXISTS parts.DOG_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)

View File

@@ -10,6 +10,7 @@ WHERE
CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_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
FOREIGN KEY (id_assessment)
@@ -26,7 +27,7 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link (
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_bribe
FOREIGN KEY (id_bribe)
REFERENCES parts.DOG_Bribe(id_bribe)
, distance_from_handler FLOAT
, 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

View File

@@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link_Temp (
, id_command INT
, id_command_modality INT
, id_bribe INT
, distance_from_handler FLOAT
, 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

View File

@@ -1,6 +1,8 @@
USE parts;
-- DROP TABLE IF EXISTS parts.DOG_Assessment_Response;
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
FROM INFORMATION_SCHEMA.TABLES
WHERE
@@ -10,6 +12,7 @@ WHERE
CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Response (
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)

View File

@@ -46,9 +46,9 @@ BEGIN
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 distance_from_handler
SELECT NEW.id_link, 'distance_from_handler', CONVERT(OLD.distance_from_handler, CHAR), CONVERT(NEW.distance_from_handler, CHAR), NEW.id_change_set
WHERE NOT (OLD.distance_from_handler <=> NEW.distance_from_handler)
-- 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
WHERE NOT (OLD.distance_from_handler_metres <=> NEW.distance_from_handler_metres)
UNION
-- Changed is_in_sight_of_handler
SELECT NEW.id_link, 'is_in_sight_of_handler', CONVERT(CONVERT(OLD.is_in_sight_of_handler, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_in_sight_of_handler, SIGNED), CHAR), NEW.id_change_set

View File

@@ -0,0 +1,44 @@
USE parts;
DROP PROCEDURE IF EXISTS parts.p_dog_clear_msg_error;
DELIMITER //
CREATE PROCEDURE parts.p_dog_clear_msg_error (
IN a_guid BINARY(36)
, IN a_debug BIT
)
BEGIN
DECLARE v_time_start TIMESTAMP(6);
SET v_time_start := CURRENT_TIMESTAMP(6);
CALL parts.p_core_validate_guid ( a_guid );
START TRANSACTION;
DELETE MSG_ERROR_T
FROM parts.DOG_Msg_Error_Temp MSG_ERROR_T
WHERE MSG_ERROR_T.GUID = a_guid
;
COMMIT;
IF a_debug = 1 THEN
CALL parts.p_debug_timing_reporting( v_time_start );
END IF;
END //
DELIMITER ;
/*
CALL parts.p_dog_clear_msg_error (
'crips ' -- a_guid
, 1 -- debug
);
SELECT *
FROM parts.DOG_Msg_Error_Temp
WHERE GUID = 'chips '
;
*/

View File

@@ -44,7 +44,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -113,8 +113,8 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
CREATE TEMPORARY TABLE tmp_User (
id_user INT NULL
, rank_user INT NULL
id_user INT
, rank_user INT
, can_admin_dog BIT NULL
, can_admin_user BIT NULL
);
@@ -128,7 +128,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split;

View File

@@ -52,7 +52,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -53,7 +53,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_User (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -169,32 +169,32 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_User (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_User (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_User;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Auth0_Id_Calc_User (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Auth0_Id_Calc_User;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_User (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_User;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Email_Calc_User (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Email_Calc_User;

View File

@@ -43,7 +43,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Dog (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -137,20 +137,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Dog (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Dog (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Dog;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Dog (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Dog;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -137,7 +137,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -34,7 +34,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -114,7 +114,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -102,7 +102,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);

View File

@@ -53,7 +53,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -171,32 +171,32 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Command (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Command;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Command (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Command;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Hand_Signal_Default_Description_Calc_Command (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Hand_Signal_Default_Description_Calc_Command;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Command (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Notes_Calc_Command;

View File

@@ -48,7 +48,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -173,7 +173,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -68,7 +68,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -257,26 +257,26 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Dog_Command_Link (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Dog_Command_Link;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Hand_Signal_Description_Calc_Dog_Command_Link (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Hand_Signal_Description_Calc_Dog_Command_Link;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Dog_Command_Link (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Notes_Calc_Dog_Command_Link;

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -106,7 +106,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);

View File

@@ -43,7 +43,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command_Modality (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command_Modality (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Command_Modality (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Command_Modality;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Command_Modality (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Command_Modality;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -43,7 +43,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Location (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -151,20 +151,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Location (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Location (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Location;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Location (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Location;

View File

@@ -41,7 +41,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -141,7 +141,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -104,7 +104,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);

View File

@@ -45,7 +45,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Shape (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -143,26 +143,26 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Shape (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Button_Shape (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Button_Shape;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Button_Shape (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Button_Shape;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Button_Shape (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Notes_Calc_Button_Shape;

View File

@@ -41,7 +41,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -139,7 +139,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -43,7 +43,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Colour (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Colour (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Colour (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Colour;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Colour (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Colour;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -53,7 +53,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Image (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -185,20 +185,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Image (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Image (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Image;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Image (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Image;

View File

@@ -49,7 +49,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -164,7 +164,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -55,7 +55,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Icon (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -185,26 +185,26 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Icon (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Button_Icon (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Button_Icon;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Button_Icon (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Button_Icon;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Button_Icon (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Notes_Calc_Button_Icon;

View File

@@ -49,7 +49,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -164,7 +164,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -104,7 +104,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);

View File

@@ -100,7 +100,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -356,14 +356,14 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Command_Button_Link (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Command_Button_Link;

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -108,7 +108,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);

View File

@@ -43,7 +43,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Weather (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Weather (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Weather (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Weather;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Weather (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Weather;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -43,7 +43,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Lighting_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Lighting_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Lighting_Level (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Lighting_Level;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Lighting_Level (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Lighting_Level;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -65,7 +65,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -237,20 +237,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Assessment (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Assessment;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Assessment (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Notes_Calc_Assessment;

View File

@@ -60,7 +60,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -171,7 +171,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -64,6 +64,22 @@ BEGIN
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
START TRANSACTION;
INSERT INTO parts.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;
@@ -112,7 +128,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -171,7 +187,7 @@ BEGIN
UPDATE tmp_Assessment t_ASSESSMENT
LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment
SET t_ASSESSMENT.name_error = CONCAT(
CONVERT(COALESCE(t_ASSESSMENT.created_on, ASSESSMENT.created_on, v_time_start), CHAR)
CONVERT(COALESCE(ASSESSMENT.created_on, v_time_start), CHAR)
, CASE WHEN t_ASSESSMENT.notes IS NOT NULL THEN CONCAT(' - ', t_ASSESSMENT.notes) ELSE '' END
/*
COALESCE(WEATHER.name, '(No Weather)')
@@ -281,10 +297,10 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Assessment t_ASSESSMENT
LEFT JOIN demo.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user_handler
LEFT JOIN demo.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user
WHERE
ISNULL(t_ASSESSMENT.id_user_handler)
OR ISNULL(USER_HANDLER.id_user_handler)
OR ISNULL(USER_HANDLER.id_user)
OR USER_HANDLER.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
@@ -297,10 +313,10 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('The following Dog User_Handler Assessment(s) do not have a valid User_Handler: ', GROUP_CONCAT(t_ASSESSMENT.name_error SEPARATOR ', ')) AS msg
FROM tmp_Assessment t_ASSESSMENT
LEFT JOIN parts.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user_handler
LEFT JOIN parts.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user
WHERE
ISNULL(t_ASSESSMENT.id_user_handler)
OR ISNULL(USER_HANDLER.id_user_handler)
OR ISNULL(USER_HANDLER.id_user)
OR USER_HANDLER.active = 0
;
END IF;
@@ -399,7 +415,8 @@ BEGIN
;
INSERT INTO parts.DOG_Assessment (
id_weather
id_temp
, id_weather
, id_lighting_level
, id_location
, id_user_handler
@@ -411,7 +428,8 @@ BEGIN
, created_on
)
SELECT
t_ASSESSMENT.id_weather AS id_weather
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
@@ -426,6 +444,20 @@ BEGIN
t_ASSESSMENT.is_new = 1
AND t_ASSESSMENT.active = 1
;
INSERT INTO parts.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;

View File

@@ -43,7 +43,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Type (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Type (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction_Type (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Distraction_Type;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Distraction_Type (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Distraction_Type;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -43,7 +43,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Intensity_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Intensity_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction_Intensity_Level (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Distraction_Intensity_Level;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Distraction_Intensity_Level (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Distraction_Intensity_Level;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -99,7 +99,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -339,20 +339,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Distraction;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Distraction (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Notes_Calc_Distraction;

View File

@@ -93,7 +93,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -243,7 +243,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -64,6 +64,22 @@ BEGIN
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
START TRANSACTION;
INSERT INTO parts.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;
@@ -118,7 +134,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -213,7 +229,7 @@ BEGIN
, ' - '
, COALESCE(DISTRACTION_INTENSITY_LEVEL_SCENT.name, '(No Distraction Intensity Level Touch)')
, ' - x'
, CONVERT(COALESCE(t_ASSESSMENT.quantity, 0), CHAR)
, CONVERT(COALESCE(t_DISTRACTION.quantity, 0), CHAR)
)
;
@@ -257,10 +273,10 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Distraction t_DISTRACTION
LEFT JOIN demo.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_distraction_type
LEFT JOIN demo.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type
WHERE
ISNULL(t_DISTRACTION.id_distraction_type)
OR ISNULL(DISTRACTION_TYPE.id_distraction_type)
OR ISNULL(DISTRACTION_TYPE.id_type)
OR DISTRACTION_TYPE.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
@@ -273,10 +289,10 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('The following Dog Distraction_Type Distraction(s) do not have a valid Distraction_Type: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg
FROM tmp_Distraction t_DISTRACTION
LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_distraction_type
LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type
WHERE
ISNULL(t_DISTRACTION.id_distraction_type)
OR ISNULL(DISTRACTION_TYPE.id_distraction_type)
OR ISNULL(DISTRACTION_TYPE.id_type)
OR DISTRACTION_TYPE.active = 0
;
END IF;
@@ -284,10 +300,10 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Distraction t_DISTRACTION
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level
WHERE
ISNULL(t_DISTRACTION.id_intensity_level_emotional)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level)
OR DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
@@ -300,10 +316,10 @@ BEGIN
, v_code_type_error_bad_data
, CONCAT('The following Distraction(s) do not have a valid Distraction_Intensity_Level_Emotional: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg
FROM tmp_Distraction t_DISTRACTION
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level
WHERE
ISNULL(t_DISTRACTION.id_intensity_level_emotional)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level)
OR DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.active = 0
;
END IF;
@@ -314,7 +330,7 @@ BEGIN
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level
WHERE
ISNULL(t_DISTRACTION.id_intensity_level_scent)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level_scent)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level)
OR DISTRACTION_INTENSITY_LEVEL_SCENT.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
@@ -330,7 +346,7 @@ BEGIN
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level
WHERE
ISNULL(t_DISTRACTION.id_intensity_level_scent)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level_scent)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level)
OR DISTRACTION_INTENSITY_LEVEL_SCENT.active = 0
;
END IF;
@@ -341,7 +357,7 @@ BEGIN
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level
WHERE
ISNULL(t_DISTRACTION.id_intensity_level_sight)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level_sight)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level)
OR DISTRACTION_INTENSITY_LEVEL_SIGHT.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
@@ -357,7 +373,7 @@ BEGIN
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level
WHERE
ISNULL(t_DISTRACTION.id_intensity_level_sight)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level_sight)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level)
OR DISTRACTION_INTENSITY_LEVEL_SIGHT.active = 0
;
END IF;
@@ -368,7 +384,7 @@ BEGIN
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level
WHERE
ISNULL(t_DISTRACTION.id_intensity_level_sound)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level_sound)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level)
OR DISTRACTION_INTENSITY_LEVEL_SOUND.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
@@ -384,7 +400,7 @@ BEGIN
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level
WHERE
ISNULL(t_DISTRACTION.id_intensity_level_sound)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level_sound)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level)
OR DISTRACTION_INTENSITY_LEVEL_SOUND.active = 0
;
END IF;
@@ -395,7 +411,7 @@ BEGIN
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level
WHERE
ISNULL(t_DISTRACTION.id_intensity_level_touch)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level_touch)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level)
OR DISTRACTION_INTENSITY_LEVEL_TOUCH.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
@@ -411,7 +427,7 @@ BEGIN
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level
WHERE
ISNULL(t_DISTRACTION.id_intensity_level_touch)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level_touch)
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level)
OR DISTRACTION_INTENSITY_LEVEL_TOUCH.active = 0
;
END IF;
@@ -513,7 +529,8 @@ BEGIN
;
INSERT INTO parts.DOG_Distraction (
id_assessment
id_temp
, id_assessment
, id_distraction_type
, id_intensity_level_emotional
, id_intensity_level_scent
@@ -528,7 +545,8 @@ BEGIN
, created_on
)
SELECT
t_DISTRACTION.id_assessment AS id_assessment
t_DISTRACTION.id_temp
, t_DISTRACTION.id_assessment AS id_assessment
, 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
@@ -546,6 +564,20 @@ BEGIN
t_DISTRACTION.is_new = 1
AND t_DISTRACTION.active = 1
;
INSERT INTO parts.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;

View File

@@ -43,7 +43,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Bribe (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Bribe (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Bribe (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Bribe;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Bribe (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Bribe;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -10,8 +10,8 @@ CREATE PROCEDURE parts.p_dog_calc_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_link FLOAT
, IN a_max_distance_from_handler_link FLOAT
, 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
@@ -81,8 +81,8 @@ BEGIN
DECLARE v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler BIT;
DECLARE v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler BIT;
DECLARE v_has_filter_assessment_command_modality_link_is_on_lead BIT;
DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_min BIT;
DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_max BIT;
DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min BIT;
DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max BIT;
DECLARE v_has_filter_assessment_command_modality_link_trial_count_min BIT;
DECLARE v_has_filter_assessment_command_modality_link_trial_count_max BIT;
DECLARE v_id_access_level_view INT;
@@ -104,7 +104,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_ACM_Link (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -155,8 +155,8 @@ BEGIN
SET a_get_inactive_link := IFNULL(a_get_inactive_link, 0);
SET a_ids_link := TRIM(IFNULL(a_ids_link, ''));
/*
, IN a_min_distance_from_handler_link FLOAT
, IN a_max_distance_from_handler_link FLOAT
, 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 INT
, IN a_value_is_in_scent_range_of_handler_link INT
, IN a_value_is_in_hearing_range_of_handler_link INT
@@ -178,8 +178,8 @@ BEGIN
, a_get_all_link
, a_get_inactive_link
, a_ids_link
, a_min_distance_from_handler_link
, a_max_distance_from_handler_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
@@ -319,7 +319,7 @@ BEGIN
, id_command INT
, id_command_modality INT
, id_bribe INT
, distance_from_handler FLOAT
, 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
@@ -332,14 +332,14 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_ACM_Link (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, 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 NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_ACM_Link;
@@ -348,8 +348,8 @@ BEGIN
SET v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler := NOT ISNULL(a_value_is_in_scent_range_of_handler_link);
SET v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler := NOT ISNULL(a_value_is_in_hearing_range_of_handler_link);
SET v_has_filter_assessment_command_modality_link_is_on_lead := NOT ISNULL(a_value_is_on_lead_link);
SET v_has_filter_assessment_command_modality_link_distance_from_handler_min := NOT ISNULL(a_min_distance_from_handler_link);
SET v_has_filter_assessment_command_modality_link_distance_from_handler_max := NOT ISNULL(a_max_distance_from_handler_link);
SET v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min := NOT ISNULL(a_min_distance_from_handler_metres_link);
SET v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max := NOT ISNULL(a_max_distance_from_handler_metres_link);
SET v_has_filter_assessment_command_modality_link_trial_count_min := NOT ISNULL(a_min_trial_count_link);
SET v_has_filter_assessment_command_modality_link_trial_count_max := NOT ISNULL(a_max_trial_count_link);
@@ -769,7 +769,7 @@ BEGIN
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
@@ -786,18 +786,18 @@ BEGIN
AND v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler = 0
AND v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler = 0
AND v_has_filter_assessment_command_modality_link_is_on_lead = 0
AND v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
AND v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
AND v_has_filter_assessment_command_modality_link_trial_count_min = 0
AND v_has_filter_assessment_command_modality_link_trial_count_max = 0
)
OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
)
OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
)
OR (
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0
@@ -834,12 +834,12 @@ BEGIN
AND ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.does_meet_id_filter = 1
)
OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
)
OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
)
OR (
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0
@@ -878,7 +878,7 @@ BEGIN
, id_command
, id_command_modality
, id_bribe
, distance_from_handler
, distance_from_handler_metres
, is_in_sight_of_handler
, is_in_scent_range_of_handler
, is_in_hearing_range_of_handler
@@ -912,7 +912,7 @@ BEGIN
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
@@ -929,18 +929,18 @@ BEGIN
AND v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler = 0
AND v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler = 0
AND v_has_filter_assessment_command_modality_link_is_on_lead = 0
AND v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
AND v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
AND v_has_filter_assessment_command_modality_link_trial_count_min = 0
AND v_has_filter_assessment_command_modality_link_trial_count_max = 0
)
OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
)
OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
)
OR (
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0
@@ -977,12 +977,12 @@ BEGIN
AND ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.does_meet_id_filter = 1
)
OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
)
OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
)
OR (
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0
@@ -1211,7 +1211,7 @@ BEGIN
, id_command
, id_command_modality
, id_bribe
, distance_from_handler
, distance_from_handler_metres
, is_in_sight_of_handler
, is_in_scent_range_of_handler
, is_in_hearing_range_of_handler
@@ -1229,7 +1229,7 @@ BEGIN
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
, t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler
, 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
@@ -1315,8 +1315,8 @@ CALL parts.p_dog_calc_assessment_command_modality_link (
, 1 -- a_get_all_link
, 0 -- a_get_inactive_link
, '' -- a_ids_link
, NULL -- a_min_distance_from_handler_link
, NULL -- a_max_distance_from_handler_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

View File

@@ -9,8 +9,8 @@ CREATE PROCEDURE parts.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_link FLOAT
, IN a_max_distance_from_handler_link FLOAT
, 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
@@ -94,7 +94,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -150,8 +150,8 @@ BEGIN
, a_get_all_link
, a_get_inactive_link
, a_ids_link
, a_min_distance_from_handler_link
, a_max_distance_from_handler_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
@@ -230,7 +230,7 @@ BEGIN
, id_command INT
, id_command_modality INT
, id_bribe INT
, distance_from_handler FLOAT
, 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
@@ -243,7 +243,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -335,8 +335,8 @@ BEGIN
, a_get_all_link
, a_get_inactive_link
, a_ids_link
, a_min_distance_from_handler_link
, a_max_distance_from_handler_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
@@ -405,8 +405,8 @@ BEGIN
, a_get_all_link
, a_get_inactive_link
, a_ids_link
, a_min_distance_from_handler_link
, a_max_distance_from_handler_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
@@ -479,7 +479,7 @@ BEGIN
, id_command
, id_command_modality
, id_bribe
, distance_from_handler
, distance_from_handler_metres
, is_in_sight_of_handler
, is_in_scent_range_of_handler
, is_in_hearing_range_of_handler
@@ -495,7 +495,7 @@ BEGIN
, 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
, 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
@@ -538,7 +538,7 @@ BEGIN
, 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
, 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
@@ -598,8 +598,8 @@ CALL parts.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_link
, NULL -- a_max_distance_from_handler_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

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -64,6 +64,22 @@ BEGIN
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
START TRANSACTION;
INSERT INTO parts.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;
@@ -87,7 +103,7 @@ BEGIN
, id_command INT
, id_command_modality INT
, id_bribe INT
, distance_from_handler FLOAT
, 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
@@ -105,9 +121,9 @@ BEGIN
, id_command INT
, id_command_modality INT
, id_bribe INT
, id_distance_from_handler INT
, id_is_in_sight_of_handler INT
, id_is_in_scent_range_of_handler 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
@@ -118,7 +134,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
@@ -132,12 +148,12 @@ BEGIN
, id_command
, id_command_modality
, id_bribe
, id_distance_from_handler
, id_is_in_sight_of_handler
, id_is_in_scent_range_of_handler
, 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
-- , trial_count
, active
, is_new
)
@@ -161,21 +177,41 @@ BEGIN
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
) AS id_bribe
, COALESCE(
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_distance_from_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler
) AS id_distance_from_handler
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.id_is_in_sight_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler
) AS id_is_in_sight_of_handler
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.id_is_in_scent_range_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler
) AS id_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
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.active, 1) AS active
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
, 1
) AS active
, CASE WHEN COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new
FROM parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
@@ -190,30 +226,18 @@ BEGIN
-- Error names
UPDATE tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
LEFT JOIN parts.DOG_Assessment_Command_Modality_Command ASSESSMENT_COMMAND_MODALITY_COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = ASSESSMENT_COMMAND_MODALITY_COMMAND.id_type
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_intensity_level
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_intensity_level
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_intensity_level
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_intensity_level
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_intensity_level
LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
LEFT JOIN parts.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command
LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality
LEFT JOIN parts.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe
SET t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error = CONCAT(
/*
CONVERT(COALESCE(t_ASSESSMENT_COMMAND_MODALITY_LINK.created_on, ASSESSMENT_COMMAND_MODALITY_LINK.created_on, v_time_start), CHAR)
, CASE WHEN t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count IS NOT NULL THEN CONCAT(' - ', t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count) ELSE '' END
*/
COALESCE(ASSESSMENT_COMMAND_MODALITY_COMMAND.name, '(No Assessment_Command_Modality_Link Type)')
COALESCE(CONVERT(ASSESSMENT.created_on, CHAR), '(No Assessment)')
, ' - '
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.name, '(No Assessment_Command_Modality_Link Intensity Level Emotional)')
, COALESCE(COMMAND.name, '(No Command)')
, ' - '
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Scent)')
, COALESCE(COMMAND_MODALITY.name, '(No Command Modality)')
, ' - '
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Sight)')
, ' - '
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Sound)')
, ' - '
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Touch)')
, ' - x'
, CONVERT(COALESCE(t_ASSESSMENT.is_in_hearing_range_of_handler, 0), CHAR)
, COALESCE(BRIBE.name, '(No Bribe)')
)
;
@@ -244,7 +268,7 @@ BEGIN
SELECT
v_id_type_error_bad_data
, v_code_type_error_bad_data
, CONCAT('The following Dog Assessment 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 Modality 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 parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
WHERE
@@ -257,11 +281,11 @@ BEGIN
IF EXISTS (
SELECT *
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
LEFT JOIN demo.DOG_Assessment_Command_Modality_Command ASSESSMENT_COMMAND_MODALITY_COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command
LEFT JOIN demo.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(ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command)
OR ASSESSMENT_COMMAND_MODALITY_COMMAND.active = 0
OR ISNULL(COMMAND.id_command)
OR COMMAND.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
id_type
@@ -271,24 +295,24 @@ BEGIN
SELECT
v_id_type_error_bad_data
, v_code_type_error_bad_data
, CONCAT('The following Dog Assessment_Command_Modality_Command Assessment_Command_Modality_Link(s) do not have a valid Assessment_Command_Modality_Command: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
, 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 parts.DOG_Assessment_Command_Modality_Command ASSESSMENT_COMMAND_MODALITY_COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command
LEFT JOIN demo.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(ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command)
OR ASSESSMENT_COMMAND_MODALITY_COMMAND.active = 0
OR ISNULL(COMMAND.id_command)
OR COMMAND.active = 0
;
END IF;
-- id_command_modality
IF EXISTS (
SELECT *
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality
LEFT JOIN demo.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality
WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality)
OR ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.active = 0
OR ISNULL(COMMAND_MODALITY.id_command_modality)
OR COMMAND_MODALITY.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
id_type
@@ -298,24 +322,24 @@ BEGIN
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 Assessment_Command_Modality_Link_Command_Modality: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
, 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
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality
LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality
WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality)
OR ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.active = 0
OR ISNULL(COMMAND_MODALITY.id_command_modality)
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 demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_intensity_level
LEFT JOIN demo.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(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_bribe)
OR ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.active = 0
OR ISNULL(BRIBE.id_bribe)
OR BRIBE.active = 0
) THEN
INSERT INTO tmp_Msg_Error (
id_type
@@ -325,24 +349,20 @@ BEGIN
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 Intensity Level Scent: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
, 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 parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_intensity_level
LEFT JOIN demo.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(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_bribe)
OR ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.active = 0
OR ISNULL(BRIBE.id_bribe)
OR BRIBE.active = 0
;
END IF;
-- id_distance_from_handler
-- distance_from_handler_metres
IF EXISTS (
SELECT *
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_intensity_level
WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_distance_from_handler)
OR ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.active = 0
WHERE IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres, -1) < 0
) THEN
INSERT INTO tmp_Msg_Error (
id_type
@@ -352,67 +372,9 @@ BEGIN
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 Intensity Level Sight: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
, 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
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_intensity_level
WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_distance_from_handler)
OR ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.active = 0
;
END IF;
-- id_is_in_sight_of_handler
IF EXISTS (
SELECT *
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_intensity_level
WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_is_in_sight_of_handler)
OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.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 Assessment_Command_Modality_Link(s) do not have a valid Intensity Level Sound: ', 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 parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_intensity_level
WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_is_in_sight_of_handler)
OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.active = 0
;
END IF;
-- id_is_in_scent_range_of_handler
IF EXISTS (
SELECT *
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_intensity_level
WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_is_in_scent_range_of_handler)
OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.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 Assessment_Command_Modality_Link(s) do not have a valid Intensity Level Touch: ', 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 parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_intensity_level
WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_is_in_scent_range_of_handler)
OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.active = 0
WHERE IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres, -1) < 0
;
END IF;
@@ -502,42 +464,44 @@ BEGIN
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command
, 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.id_distance_from_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler
, 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.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 parts.DOG_Assessment_Command_Modality_Link (
id_assessment
id_temp
, id_assessment
, id_command
, id_command_modality
, id_bribe
, id_distance_from_handler
, id_is_in_sight_of_handler
, id_is_in_scent_range_of_handler
, 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
-- , trial_count
, active
, id_user_created_by
, created_on
)
SELECT
t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment AS id_assessment
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.id_distance_from_handler AS id_distance_from_handler
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler AS id_is_in_sight_of_handler
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler AS id_is_in_scent_range_of_handler
, 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.trial_count AS trial_count
, t_ASSESSMENT_COMMAND_MODALITY_LINK.active AS active
, a_id_user AS created_by
, v_time_start AS created_on
@@ -546,6 +510,20 @@ BEGIN
t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1
AND t_ASSESSMENT_COMMAND_MODALITY_LINK.active = 1
;
INSERT INTO parts.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;
@@ -590,7 +568,7 @@ DELIMITER ;
/*
'ripplesipplenippletippledipplekipple'
'ripplesipplenippletippledipplykipple'
DELETE FROM parts.DOG_Assessment_Command_Modality_Link WHERE id_link > 740;
* /
delete
@@ -625,26 +603,37 @@ from parts.DOG_Assessment_Command_Modality_Link
INSERT INTO parts.DOG_Assessment_Command_Modality_Link_Temp (
id_link
, id_dog
, id_assessment
, id_command
, hand_signal_description
, trial_count
, 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_dog
, 1 -- id_assessment
, 1 -- id_command
, 'Test deez noots' -- hand_signal_description
, NULL -- trial_count
, 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
, 'ripplesipplenippletippledipplekipple'
, 'ripplesipplenippletippledipplykipple'
);
CALL parts.p_dog_save_assessment_command_modality_link (
'nipples'
, 'ripplesipplenippletippledipplekipple'
, 'ripplesipplenippletippledipplykipple'
, 1
, 1
);

View File

@@ -45,7 +45,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_RQM (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -146,20 +146,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_RQM (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_RQM (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_RQM;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_RQM (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_RQM;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -137,7 +137,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -43,7 +43,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Obedience_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Obedience_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Obedience_Level (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Obedience_Level;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Obedience_Level (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name_Calc_Obedience_Level;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);

View File

@@ -17,8 +17,8 @@ CREATE PROCEDURE parts.p_dog_calc_assessment_response (
, IN a_get_all_ACM_link BIT
, IN a_get_inactive_ACM_link BIT
, IN a_ids_ACM_link TEXT
, IN a_min_distance_from_handler_ACM_link FLOAT
, IN a_max_distance_from_handler_ACM_link FLOAT
, IN a_min_distance_from_handler_metres_ACM_link FLOAT
, IN a_max_distance_from_handler_metres_ACM_link FLOAT
, IN a_value_is_in_sight_of_handler_ACM_link INT
, IN a_value_is_in_scent_range_of_handler_ACM_link INT
, IN a_value_is_in_hearing_range_of_handler_ACM_link INT
@@ -112,7 +112,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment_Response (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -189,8 +189,8 @@ BEGIN
, a_get_all_ACM_link
, a_get_inactive_ACM_link
, a_ids_ACM_link
, a_min_distance_from_handler_ACM_link
, a_max_distance_from_handler_ACM_link
, a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_range_of_handler_ACM_link
@@ -280,7 +280,7 @@ BEGIN
, id_command INT
, id_command_modality INT
, id_bribe INT
, distance_from_handler FLOAT
, 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
@@ -326,20 +326,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment_Response (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Assessment_Response (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id_Calc_Assessment_Response;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Assessment_Response (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Notes_Calc_Assessment_Response;
@@ -357,8 +357,8 @@ BEGIN
, a_get_all_ACM_link
, a_get_inactive_ACM_link
, a_ids_ACM_link
, a_min_distance_from_handler_ACM_link
, a_max_distance_from_handler_ACM_link
, a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_range_of_handler_ACM_link
@@ -427,8 +427,8 @@ BEGIN
, a_get_all_ACM_link
, a_get_inactive_ACM_link
, a_ids_ACM_link
, a_min_distance_from_handler_ACM_link
, a_max_distance_from_handler_ACM_link
, a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_range_of_handler_ACM_link
@@ -496,7 +496,7 @@ BEGIN
, id_command
, id_command_modality
, id_bribe
, distance_from_handler
, distance_from_handler_metres
, is_in_sight_of_handler
, is_in_scent_range_of_handler
, is_in_hearing_range_of_handler
@@ -512,7 +512,7 @@ BEGIN
, 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
, 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
@@ -1201,8 +1201,8 @@ CALL parts.p_dog_calc_assessment_response (
, 1 -- a_get_all_ACM_link
, 0 -- a_get_inactive_ACM_link
, '' -- a_ids_ACM_link
, NULL -- a_min_distance_from_handler_ACM_link
, NULL -- a_max_distance_from_handler_ACM_link
, NULL -- a_min_distance_from_handler_metres_ACM_link
, NULL -- a_max_distance_from_handler_metres_ACM_link
, NULL -- a_value_is_in_sight_of_handler_ACM_link
, NULL -- a_value_is_in_scent_range_of_handler_ACM_link
, NULL -- a_value_is_in_hearing_range_of_handler_ACM_link

View File

@@ -16,8 +16,8 @@ CREATE PROCEDURE parts.p_dog_get_many_assessment_response (
, IN a_get_all_ACM_link BIT
, IN a_get_inactive_ACM_link BIT
, IN a_ids_ACM_link TEXT
, IN a_min_distance_from_handler_ACM_link FLOAT
, IN a_max_distance_from_handler_ACM_link FLOAT
, IN a_min_distance_from_handler_metres_ACM_link FLOAT
, IN a_max_distance_from_handler_metres_ACM_link FLOAT
, IN a_value_is_in_sight_of_handler_ACM_link INT
, IN a_value_is_in_scent_range_of_handler_ACM_link INT
, IN a_value_is_in_hearing_range_of_handler_ACM_link INT
@@ -107,7 +107,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -171,8 +171,8 @@ BEGIN
, a_get_all_ACM_link
, a_get_inactive_ACM_link
, a_ids_ACM_link
, a_min_distance_from_handler_ACM_link
, a_max_distance_from_handler_ACM_link
, a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_range_of_handler_ACM_link
@@ -266,7 +266,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -366,8 +366,8 @@ BEGIN
, a_get_all_ACM_link
, a_get_inactive_ACM_link
, a_ids_ACM_link
, a_min_distance_from_handler_ACM_link
, a_max_distance_from_handler_ACM_link
, a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_range_of_handler_ACM_link
@@ -450,8 +450,8 @@ BEGIN
, a_get_all_ACM_link
, a_get_inactive_ACM_link
, a_ids_ACM_link
, a_min_distance_from_handler_ACM_link
, a_max_distance_from_handler_ACM_link
, a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_range_of_handler_ACM_link
@@ -638,8 +638,8 @@ CALL parts.p_dog_get_many_assessment_response (
, 1 -- a_get_all_ACM_link
, 0 -- a_get_inactive_ACM_link
, '' -- a_ids_ACM_link
, NULL -- a_min_distance_from_handler_ACM_link
, NULL -- a_max_distance_from_handler_ACM_link
, NULL -- a_min_distance_from_handler_metres_ACM_link
, NULL -- a_max_distance_from_handler_metres_ACM_link
, NULL -- a_value_is_in_sight_of_handler_ACM_link
, NULL -- a_value_is_in_scent_range_of_handler_ACM_link
, NULL -- a_value_is_in_hearing_range_of_handler_ACM_link

View File

@@ -0,0 +1,540 @@
USE parts;
DROP PROCEDURE IF EXISTS parts.p_dog_save_assessment_response;
DELIMITER //
CREATE PROCEDURE parts.p_dog_save_assessment_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 (
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 parts.CORE_Msg_Error_Type MET
WHERE MET.code = 'MYSQL_ERROR'
;
SELECT
t_ERROR.id_error
, t_ERROR.id_type
, t_ERROR.code
, ERROR_TYPE.name
, ERROR_TYPE.description
, ERROR_TYPE.is_breaking_error
, ERROR_TYPE.background_colour
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error t_ERROR
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
START TRANSACTION;
INSERT INTO parts.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 parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
CALL parts.p_core_validate_guid ( a_guid );
DROP TABLE IF EXISTS tmp_Assessment_Response_Copy;
DROP TABLE IF EXISTS tmp_Assessment_Response;
CREATE TEMPORARY TABLE tmp_Assessment_Response (
id_temp INT
, id_response INT
, id_assessment_command_modality_link INT
, id_response_quality_metric INT
, id_obedience_level INT
, value_measured DOUBLE
, notes TEXT
, active BIT
, is_new BIT
, name_error VARCHAR(250)
);
CREATE TEMPORARY TABLE tmp_Assessment_Response_Copy (
id_temp INT
, id_response INT
, id_assessment_command_modality_link INT
, id_response_quality_metric INT
, id_obedience_level INT
, value_measured DOUBLE
, notes TEXT
, active BIT
, is_new BIT
, name_error VARCHAR(250)
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT
, code VARCHAR(250)
, msg TEXT NOT NULL
);
-- Get data from Temp table
INSERT INTO tmp_Assessment_Response (
id_temp
, id_response
, id_assessment_command_modality_link
, id_response_quality_metric
, id_obedience_level
, value_measured
, notes
, active
, is_new
)
SELECT
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
, COALESCE(
ASSESSMENT_RESPONSE_T.id_response_quality_metric
, ASSESSMENT_RESPONSE.id_response_quality_metric
) AS id_response_quality_metric
, COALESCE(
ASSESSMENT_RESPONSE_T.id_obedience_level
, ASSESSMENT_RESPONSE.id_obedience_level
) AS id_obedience_level
, ASSESSMENT_RESPONSE_T.value_measured
, ASSESSMENT_RESPONSE_T.notes
, 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 parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T
LEFT JOIN parts.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 'Assessment_Response_Temp records';
SELECT * FROM tmp_Assessment_Response;
SELECT COUNT(*) FROM tmp_Assessment_Response;
END IF;
-- Error names
UPDATE tmp_Assessment_Response t_ASSESSMENT_RESPONSE
LEFT JOIN parts.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 parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric
LEFT JOIN parts.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(RESPONSE_QUALITY_METRIC.name, '(No Response Quality Metric)')
, ' - '
, COALESCE(OBEDIENCE_LEVEL.name, '(No Obedience Level)')
)
;
IF a_debug = 1 THEN
SELECT 'After set name_error';
SELECT * FROM tmp_Assessment_Response;
SELECT COUNT(*) FROM tmp_Assessment_Response;
END IF;
-- Validation
-- Missing mandatory fields
-- id_assessment_command_modality_link
IF EXISTS (
SELECT *
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_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
) 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 Response(s) do not have a valid Assessment_Command_Modality_Link: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_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
;
END IF;
-- id_response_quality_metric
IF EXISTS (
SELECT *
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
LEFT JOIN demo.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric
WHERE
ISNULL(t_ASSESSMENT_RESPONSE.id_response_quality_metric)
OR ISNULL(RESPONSE_QUALITY_METRIC.id_metric)
OR RESPONSE_QUALITY_METRIC.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 Response(s) do not have a valid Response_Quality_Metric: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
LEFT JOIN demo.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric
WHERE
ISNULL(t_ASSESSMENT_RESPONSE.id_response_quality_metric)
OR ISNULL(RESPONSE_QUALITY_METRIC.id_metric)
OR RESPONSE_QUALITY_METRIC.active = 0
;
END IF;
-- id_obedience_level
IF EXISTS (
SELECT *
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
LEFT JOIN demo.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level
WHERE
ISNULL(t_ASSESSMENT_RESPONSE.id_obedience_level)
OR ISNULL(OBEDIENCE_LEVEL.id_obedience_level)
OR OBEDIENCE_LEVEL.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 Response(s) do not have a valid Obedience Level: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
LEFT JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level
WHERE
ISNULL(t_ASSESSMENT_RESPONSE.id_obedience_level)
OR ISNULL(OBEDIENCE_LEVEL.id_obedience_level)
OR OBEDIENCE_LEVEL.active = 0
;
END IF;
-- Permissions
-- Can Create
CALL parts.p_dog_calc_user(
a_guid
, 0 -- get_all_user
, 0 -- get_inactive_user
, a_id_user -- ids_user
, '' -- a_auth0_ids_user
, '' -- a_names_user
, '' -- a_emails_user
, 1 -- a_require_all_id_search_filters_met
, 1 -- a_require_any_id_search_filters_met
, 0 -- a_require_all_non_id_search_filters_met
, 0 -- a_require_any_non_id_search_filters_met
, v_id_permission_dog_new -- ids_permission
, v_id_access_level_edit -- ids_access_level
, 0 -- a_show_errors
, 0 -- a_debug
);
SELECT
IFNULL(CU_T.has_access, 0)
INTO
v_can_create
FROM parts.DOG_Calc_User_Temp CU_T
WHERE CU_T.GUID = a_guid
LIMIT 1
;
CALL parts.p_dog_clear_calc_user(
a_guid
, 0 -- a_debug
);
IF v_can_create = 0 THEN
DELETE t_ME
FROM tmp_Msg_Error t_ME
WHERE t_ME.id_type <> v_id_type_error_no_permission
;
INSERT INTO tmp_Msg_Error (
id_type
, code
, msg
)
VALUES (
v_id_type_error_no_permission
, v_code_type_error_no_permission
, 'You do not have permission to edit Assessment_Responses.'
)
;
END IF;
IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
IF a_debug = 1 THEN
SELECT * from tmp_Assessment_Response;
END IF;
DELETE FROM tmp_Assessment_Response;
END IF;
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
START TRANSACTION;
INSERT INTO parts.DOG_Dog_Change_Set (
comment
, id_user_updated_last_by
, updated_last_on
)
VALUES (
a_comment
, a_id_user
, v_time_start
)
;
SET v_id_change_set := LAST_INSERT_ID();
UPDATE parts.DOG_Assessment_Response ASSESSMENT_RESPONSE
INNER JOIN tmp_Assessment_Response t_ASSESSMENT_RESPONSE
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_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
, ASSESSMENT_RESPONSE.notes = t_ASSESSMENT_RESPONSE.notes
, ASSESSMENT_RESPONSE.active = t_ASSESSMENT_RESPONSE.active
, ASSESSMENT_RESPONSE.id_change_set = v_id_change_set
;
INSERT INTO parts.DOG_Assessment_Response (
id_temp
, id_assessment_command_modality_link
, id_response_quality_metric
, id_obedience_level
, value_measured
, notes
, active
, id_user_created_by
, created_on
)
SELECT
t_ASSESSMENT_RESPONSE.id_temp
, t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link AS id_assessment_command_modality_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
, t_ASSESSMENT_RESPONSE.notes AS notes
, t_ASSESSMENT_RESPONSE.active AS active
, a_id_user AS created_by
, v_time_start AS created_on
FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE
WHERE
t_ASSESSMENT_RESPONSE.is_new = 1
AND t_ASSESSMENT_RESPONSE.active = 1
;
INSERT INTO parts.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 parts.DOG_Assessment_Response_Temp
WHERE GUID = a_guid
;
COMMIT;
-- Errors
SELECT
t_ERROR.id_error
, t_ERROR.id_type
, t_ERROR.code
, ERROR_TYPE.name
, ERROR_TYPE.description
, ERROR_TYPE.is_breaking_error
, ERROR_TYPE.background_colour
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error t_ERROR
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
IF a_debug = 1 THEN
SELECT * FROM tmp_Assessment_Response;
END IF;
DROP TEMPORARY TABLE tmp_Assessment_Response;
DROP TEMPORARY TABLE tmp_Msg_Error;
IF a_debug = 1 THEN
CALL parts.p_core_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;
/*
'ripplesipplenipplytippledipplykipple'
DELETE FROM parts.DOG_Assessment_Response WHERE id_response > 740;
* /
delete
from parts.DOG_Assessment_Response_Audit
where id_response > 768
;
delete
from parts.DOG_Assessment_Response
where id_response > 768
;
delete
from parts.DOG_Assessment_Response_Temp
;
select
*
-- COUNT(*)
-- delete
from parts.DOG_Assessment_Response_Temp
;
select COUNT(*)
from parts.DOG_Assessment_Response_Temp
;
select
*
-- COUNT(*)
-- delete
from parts.DOG_Assessment_Response
;
select COUNT(*)
from parts.DOG_Assessment_Response
;
INSERT INTO parts.DOG_Assessment_Response_Temp (
id_response
, id_assessment_command_modality_link
, id_response_quality_metric
, id_obedience_level
, value_measured
, notes
, active
, guid
)
VALUES (
-1 -- id_response
, 1 -- id_assessment_command_modality_link
, 1 -- id_response_quality_metric
, 1 -- id_obedience_level
, 10000 -- value_measured
, 'suck balls' -- notes
, 1 -- active
, 'ripplesipplenipplytippledipplykipple'
);
CALL parts.p_dog_save_assessment_response (
'nipples'
, 'ripplesipplenipplytippledipplykipple'
, 1
, 1
);
select
*
-- COUNT(*)
-- delete
from parts.DOG_Assessment_Response_Temp
;
select COUNT(*)
from parts.DOG_Assessment_Response_Temp
;
select
*
-- COUNT(*)
-- delete
from parts.DOG_Assessment_Response
;
select COUNT(*)
from parts.DOG_Assessment_Response
;
*/

View File

@@ -0,0 +1,562 @@
USE parts;
DROP PROCEDURE IF EXISTS parts.p_dog_save_assessment_distraction_and_response;
DELIMITER //
CREATE PROCEDURE parts.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 parts.CORE_Msg_Error_Type MET
WHERE MET.code = 'MYSQL_ERROR'
;
SELECT
t_ERROR.id_error
, t_ERROR.id_type
, t_ERROR.code
, ERROR_TYPE.name
, ERROR_TYPE.description
, ERROR_TYPE.is_breaking_error
, ERROR_TYPE.background_colour
, ERROR_TYPE.text_colour
, t_ERROR.msg
FROM tmp_Msg_Error_Combined t_ERROR
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
;
DROP TABLE IF EXISTS tmp_Msg_Error_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 parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
CALL parts.p_core_validate_guid ( a_guid );
DROP TABLE IF EXISTS tmp_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 parts.DOG_Assessment_Temp ASSESSMENT_T
LEFT JOIN parts.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 parts.DOG_Distraction_Temp DISTRACTION_T
LEFT JOIN parts.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 parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
LEFT JOIN parts.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 parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T
LEFT JOIN parts.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 parts.p_dog_calc_user(
a_guid
, 0 -- get_all_user
, 0 -- get_inactive_user
, a_id_user -- ids_user
, '' -- a_auth0_ids_user
, '' -- a_names_user
, '' -- a_emails_user
, 1 -- a_require_all_id_search_filters_met
, 1 -- a_require_any_id_search_filters_met
, 0 -- a_require_all_non_id_search_filters_met
, 0 -- a_require_any_non_id_search_filters_met
, v_id_permission_dog_new -- ids_permission
, v_id_access_level_edit -- ids_access_level
, 0 -- a_show_errors
, 0 -- a_debug
);
SELECT
IFNULL(CU_T.has_access, 0)
INTO
v_can_create
FROM parts.DOG_Calc_User_Temp CU_T
WHERE CU_T.GUID = a_guid
LIMIT 1
;
CALL parts.p_dog_clear_calc_user(
a_guid
, 0 -- a_debug
);
IF v_can_create = 0 THEN
DELETE t_ME
FROM tmp_Msg_Error_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 parts.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 parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
-- Update Temporary tables with new Ids
UPDATE tmp_Assessment_Save_ADR t_ASSESSMENT
INNER JOIN parts.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 parts.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 parts.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 parts.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 parts.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 parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
START TRANSACTION;
DELETE ASSESSMENT
FROM parts.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 parts.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 parts.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 parts.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 parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
START TRANSACTION;
DELETE ASSESSMENT_COMMAND_MODALITY_LINK
FROM parts.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 parts.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 parts.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 parts.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 parts.p_core_debug_timing_reporting ( v_time_start );
END IF;
END //
DELIMITER ;
/*
CALL parts.p_dog_save_assessment_distraction_and_response (
'nipples'
, 'ripplesipplenipplytippledipplykipple'
, 1
, 1
);
*/

View File

@@ -34,7 +34,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(50) NOT NULL
, msg VARCHAR(4000) NOT NULL
);
@@ -82,7 +82,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(50) NOT NULL
, msg VARCHAR(4000) NOT NULL
);

View File

@@ -50,14 +50,14 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(50) NOT NULL
, msg VARCHAR(4000) NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split;

View File

@@ -989,6 +989,10 @@ INSERT INTO parts.DOG_Bribe (
)
VALUES
(
'NONE'
, 'None'
)
, (
'TREAT'
, 'Treat'
)
@@ -1016,7 +1020,7 @@ INSERT INTO parts.DOG_Assessment_Command_Modality_Link (
, id_command
, id_command_modality
, id_bribe
, distance_from_handler
, distance_from_handler_metres
, is_in_sight_of_handler
, is_in_scent_range_of_handler
, is_in_hearing_range_of_handler

View File

@@ -38,7 +38,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -120,20 +120,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
@@ -126,26 +126,26 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL
, id_type INT
, code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL
);
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Id;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Code (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Code;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name (
substring VARCHAR(4000) NOT NULL
, as_int INT NULL
, as_int INT
);
DELETE FROM tmp_Split_Name;