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

@@ -56,10 +56,11 @@ class Assessment(SQLAlchemy_ABC, Base):
self.is_new = False self.is_new = False
self.weather = None self.weather = None
self.lighting_level = None self.lighting_level = None
self.temperature_celcius = 22
self.location = None self.location = None
self.user_handler = None self.user_handler = None
self.distractions = None self.distractions = []
self.assessment_command_modality_links = None self.assessment_command_modality_links = []
super().__init__() super().__init__()
@classmethod @classmethod
@@ -99,18 +100,15 @@ class Assessment(SQLAlchemy_ABC, Base):
_m = f'{cls.__qualname__}.from_json' _m = f'{cls.__qualname__}.from_json'
assessment = cls() assessment = cls()
if json is None: return assessment if json is None: return assessment
# Helper_App.console_log(f'{_m}\njson: {json}')
assessment.id_assessment = json.get(Assessment.ATTR_ID_ASSESSMENT, -1) assessment.id_assessment = json.get(Assessment.ATTR_ID_ASSESSMENT, -1)
assessment.id_weather = json[Weather.ATTR_ID_WEATHER] assessment.id_weather = json[Weather.ATTR_ID_WEATHER]
assessment.id_lighting_level = json[Lighting_Level.ATTR_ID_LIGHTING_LEVEL] assessment.id_lighting_level = json[Lighting_Level.ATTR_ID_LIGHTING_LEVEL]
assessment.id_location = json[Location.ATTR_ID_LOCATION] assessment.id_location = json[Location.ATTR_ID_LOCATION]
assessment.user_handler = json[cls.FLAG_USER_HANDLER] assessment.id_user_handler = json[cls.FLAG_USER_HANDLER]
assessment.notes = json[cls.FLAG_NOTES] assessment.notes = json[cls.FLAG_NOTES]
assessment.temperature_celcius = json[cls.FLAG_TEMPERATURE_CELCIUS] assessment.temperature_celcius = json[cls.FLAG_TEMPERATURE_CELCIUS]
assessment.active = json[cls.FLAG_ACTIVE] assessment.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
assessment.created_on = json.get(cls.FLAG_CREATED_ON, None) assessment.created_on = json.get(cls.FLAG_CREATED_ON, None)
# assessment.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
# Helper_App.console_log(f'Dog Command Link: {assessment}')
return assessment return assessment
def to_json(self): def to_json(self):
@@ -129,8 +127,6 @@ class Assessment(SQLAlchemy_ABC, Base):
, self.FLAG_DISTRACTION: [distraction.to_json() for distraction in self.distractions] if (self.distractions is not None and len(self.distractions) > 0) else [] , self.FLAG_DISTRACTION: [distraction.to_json() for distraction in self.distractions] if (self.distractions is not None and len(self.distractions) > 0) else []
, self.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK: [link.to_json() for link in self.assessment_command_modality_links] if (self.assessment_command_modality_links is not None and len(self.assessment_command_modality_links) > 0) else [] , self.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK: [link.to_json() for link in self.assessment_command_modality_links] if (self.assessment_command_modality_links is not None and len(self.assessment_command_modality_links) > 0) else []
} }
# , Command_Category.FLAG_COMMAND_CATEGORY: self.id_command_category
# Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):
@@ -283,8 +279,6 @@ class Parameters_Assessment(Get_Many_Parameters_Base):
@classmethod @classmethod
def from_form_filters_assessment(cls, form): def from_form_filters_assessment(cls, form):
_m = f'{cls.__qualname__}.from_form_filters_assessment' _m = f'{cls.__qualname__}.from_form_filters_assessment'
Helper_App.console_log(_m)
Helper_App.console_log(f'Filters: {form}')
av.val_instance(form, 'form', _m, Filters_Assessment) av.val_instance(form, 'form', _m, Filters_Assessment)
has_filter_search_text = not (form.search.data == '' or form.search.data is None) has_filter_search_text = not (form.search.data == '' or form.search.data is None)
has_filter_weather = not (form.id_weather.data == '0' or form.id_weather.data == '' or form.id_weather.data is None) has_filter_weather = not (form.id_weather.data == '0' or form.id_weather.data == '' or form.id_weather.data is None)
@@ -292,14 +286,7 @@ class Parameters_Assessment(Get_Many_Parameters_Base):
has_filter_location = not (form.id_location.data == '0' or form.id_location.data == '' or form.id_location.data is None) has_filter_location = not (form.id_location.data == '0' or form.id_location.data == '' or form.id_location.data is None)
has_filter_user_handler = not (form.id_user_handler.data == '0' or form.id_user_handler.data == '' or form.id_user_handler.data is None) has_filter_user_handler = not (form.id_user_handler.data == '0' or form.id_user_handler.data == '' or form.id_user_handler.data is None)
active_only = av.input_bool(form.active_only.data, "active", _m) active_only = av.input_bool(form.active_only.data, "active", _m)
Helper_App.console_log(f'''
has_filter_search_text: {has_filter_search_text}
has_filter_weather: {has_filter_weather}
has_filter_lighting_level: {has_filter_lighting_level}
has_filter_location: {has_filter_location}
has_filter_user_handler: {has_filter_user_handler}
active_only: {active_only}
''')
filters = cls.get_default() filters = cls.get_default()
filters.get_all_assessment = True filters.get_all_assessment = True
filters.get_inactive_assessment = not active_only filters.get_inactive_assessment = not active_only

View File

@@ -33,7 +33,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = 'id_link' ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = 'id_link'
FLAG_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = Assessment.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK FLAG_ASSESSMENT_COMMAND_MODALITY_LINK: ClassVar[str] = Assessment.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK
FLAG_ASSESSMENT_RESPONSE: ClassVar[str] = 'assessment_response' FLAG_ASSESSMENT_RESPONSE: ClassVar[str] = 'assessment_response'
FLAG_DISTANCE_FROM_HANDLER: ClassVar[str] = 'distance-from-handler' FLAG_DISTANCE_FROM_HANDLER_METRES: ClassVar[str] = 'distance-from-handler-metres'
FLAG_IS_IN_HEARING_RANGE_OF_HANDLER: ClassVar[str] = 'is-in-hearing-range-of-handler' FLAG_IS_IN_HEARING_RANGE_OF_HANDLER: ClassVar[str] = 'is-in-hearing-range-of-handler'
FLAG_IS_IN_SCENT_RANGE_OF_HANDLER: ClassVar[str] = 'is-in-scent-range-of-handler' FLAG_IS_IN_SCENT_RANGE_OF_HANDLER: ClassVar[str] = 'is-in-scent-range-of-handler'
FLAG_IS_IN_SIGHT_OF_HANDLER: ClassVar[str] = 'is-in-sight-of-handler' FLAG_IS_IN_SIGHT_OF_HANDLER: ClassVar[str] = 'is-in-sight-of-handler'
@@ -50,7 +50,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
id_command = db.Column(db.Integer) id_command = db.Column(db.Integer)
id_command_modality = db.Column(db.Integer) id_command_modality = db.Column(db.Integer)
id_bribe = db.Column(db.Integer) id_bribe = db.Column(db.Integer)
distance_from_handler = db.Column(db.Float) distance_from_handler_metres = db.Column(db.Float)
is_in_hearing_range_of_handler = db.Column(db.Boolean) is_in_hearing_range_of_handler = db.Column(db.Boolean)
is_in_scent_range_of_handler = db.Column(db.Boolean) is_in_scent_range_of_handler = db.Column(db.Boolean)
is_in_sight_of_handler = db.Column(db.Boolean) is_in_sight_of_handler = db.Column(db.Boolean)
@@ -78,7 +78,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
assessment_command_modality_link.id_command = query_row[5] assessment_command_modality_link.id_command = query_row[5]
assessment_command_modality_link.id_command_modality = query_row[7] assessment_command_modality_link.id_command_modality = query_row[7]
assessment_command_modality_link.id_bribe = query_row[9] assessment_command_modality_link.id_bribe = query_row[9]
assessment_command_modality_link.distance_from_handler = query_row[11] assessment_command_modality_link.distance_from_handler_metres = query_row[11]
assessment_command_modality_link.is_in_hearing_range_of_handler = av.input_bool(query_row[12], 'is_in_hearing_range_of_handler', _m) assessment_command_modality_link.is_in_hearing_range_of_handler = av.input_bool(query_row[12], 'is_in_hearing_range_of_handler', _m)
assessment_command_modality_link.is_in_scent_range_of_handler = av.input_bool(query_row[13], 'is_in_scent_range_of_handler', _m) assessment_command_modality_link.is_in_scent_range_of_handler = av.input_bool(query_row[13], 'is_in_scent_range_of_handler', _m)
assessment_command_modality_link.is_in_sight_of_handler = av.input_bool(query_row[14], 'is_in_sight_of_handler', _m) assessment_command_modality_link.is_in_sight_of_handler = av.input_bool(query_row[14], 'is_in_sight_of_handler', _m)
@@ -104,22 +104,19 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
_m = f'{cls.__qualname__}.from_json' _m = f'{cls.__qualname__}.from_json'
assessment_command_modality_link = cls() assessment_command_modality_link = cls()
if json is None: return assessment_command_modality_link if json is None: return assessment_command_modality_link
# Helper_App.console_log(f'{_m}\njson: {json}')
assessment_command_modality_link.id_link = json.get(Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK, -1) assessment_command_modality_link.id_link = json.get(Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK, -1)
assessment_command_modality_link.id_assessment = json[Assessment.ATTR_ID_ASSESSMENT] assessment_command_modality_link.id_assessment = json[Assessment.ATTR_ID_ASSESSMENT]
assessment_command_modality_link.id_command = json[Command.ATTR_ID_COMMAND] assessment_command_modality_link.id_command = json[Command.ATTR_ID_COMMAND]
assessment_command_modality_link.id_command_modality = json[Command_Modality.ATTR_ID_COMMAND_MODALITY] assessment_command_modality_link.id_command_modality = json[Command_Modality.ATTR_ID_COMMAND_MODALITY]
assessment_command_modality_link.id_bribe = json[Bribe.ATTR_ID_BRIBE] assessment_command_modality_link.id_bribe = json[Bribe.ATTR_ID_BRIBE]
assessment_command_modality_link.distance_from_handler = json[cls.FLAG_DISTANCE_FROM_HANDLER] assessment_command_modality_link.distance_from_handler_metres = json[cls.FLAG_DISTANCE_FROM_HANDLER_METRES]
assessment_command_modality_link.is_in_hearing_range_of_handler = json[cls.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER] assessment_command_modality_link.is_in_hearing_range_of_handler = av.input_bool(json[cls.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER], cls.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER, _m)
assessment_command_modality_link.is_in_scent_range_of_handler = json[cls.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER] assessment_command_modality_link.is_in_scent_range_of_handler = av.input_bool(json[cls.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER], cls.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER, _m)
assessment_command_modality_link.is_in_sight_of_handler = json[cls.FLAG_IS_IN_SIGHT_OF_HANDLER] assessment_command_modality_link.is_in_sight_of_handler = av.input_bool(json[cls.FLAG_IS_IN_SIGHT_OF_HANDLER], cls.FLAG_IS_IN_SIGHT_OF_HANDLER, _m)
assessment_command_modality_link.is_on_lead = json[cls.FLAG_IS_ON_LEAD] assessment_command_modality_link.is_on_lead = av.input_bool(json[cls.FLAG_IS_ON_LEAD], cls.FLAG_IS_ON_LEAD, _m)
assessment_command_modality_link.trial_count = json[cls.FLAG_TRIAL_COUNT] assessment_command_modality_link.trial_count = json.get(cls.FLAG_TRIAL_COUNT)
assessment_command_modality_link.active = json[cls.FLAG_ACTIVE] assessment_command_modality_link.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
assessment_command_modality_link.created_on = json.get(cls.FLAG_CREATED_ON, None) assessment_command_modality_link.created_on = json.get(cls.FLAG_CREATED_ON, None)
# assessment_command_modality_link.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
# Helper_App.console_log(f'Dog Command Link: {assessment_command_modality_link}')
return assessment_command_modality_link return assessment_command_modality_link
def to_json(self): def to_json(self):
@@ -130,7 +127,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
, Command.ATTR_ID_COMMAND: { Command.ATTR_ID_COMMAND: None } if self.command is None else self.command.to_json() , Command.ATTR_ID_COMMAND: { Command.ATTR_ID_COMMAND: None } if self.command is None else self.command.to_json()
, Command_Modality.ATTR_ID_COMMAND_MODALITY: { Command_Modality.ATTR_ID_COMMAND_MODALITY: None } if self.command_modality is None else self.command_modality.to_json() , Command_Modality.ATTR_ID_COMMAND_MODALITY: { Command_Modality.ATTR_ID_COMMAND_MODALITY: None } if self.command_modality is None else self.command_modality.to_json()
, Bribe.FLAG_BRIBE: { Bribe.FLAG_BRIBE: None } if self.bribe is None else self.bribe.to_json() , Bribe.FLAG_BRIBE: { Bribe.FLAG_BRIBE: None } if self.bribe is None else self.bribe.to_json()
, self.FLAG_DISTANCE_FROM_HANDLER: self.distance_from_handler , self.FLAG_DISTANCE_FROM_HANDLER_METRES: self.distance_from_handler_metres
, self.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER: self.is_in_hearing_range_of_handler , self.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER: self.is_in_hearing_range_of_handler
, self.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER: self.is_in_scent_range_of_handler , self.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER: self.is_in_scent_range_of_handler
, self.FLAG_IS_IN_SIGHT_OF_HANDLER: self.is_in_sight_of_handler , self.FLAG_IS_IN_SIGHT_OF_HANDLER: self.is_in_sight_of_handler
@@ -140,8 +137,6 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
, self.FLAG_CREATED_ON: self.created_on , self.FLAG_CREATED_ON: self.created_on
, self.FLAG_ASSESSMENT_RESPONSE: [] if self.assessment_responses is None else [response.to_json() for response in self.assessment_responses] , self.FLAG_ASSESSMENT_RESPONSE: [] if self.assessment_responses is None else [response.to_json() for response in self.assessment_responses]
} }
# , Command_Category.FLAG_COMMAND_CATEGORY: self.id_command_category
# Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):
@@ -152,7 +147,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
{Command.FLAG_COMMAND}: {self.command} {Command.FLAG_COMMAND}: {self.command}
{Command_Modality.FLAG_COMMAND_MODALITY}: {self.command_modality} {Command_Modality.FLAG_COMMAND_MODALITY}: {self.command_modality}
{Bribe.FLAG_BRIBE}: {self.bribe} {Bribe.FLAG_BRIBE}: {self.bribe}
{self.FLAG_DISTANCE_FROM_HANDLER}: {self.distance_from_handler} {self.FLAG_DISTANCE_FROM_HANDLER_METRES}: {self.distance_from_handler_metres}
{self.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER}: {self.is_in_hearing_range_of_handler} {self.FLAG_IS_IN_HEARING_RANGE_OF_HANDLER}: {self.is_in_hearing_range_of_handler}
{self.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER}: {self.is_in_scent_range_of_handler} {self.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER}: {self.is_in_scent_range_of_handler}
{self.FLAG_IS_IN_SIGHT_OF_HANDLER}: {self.is_in_sight_of_handler} {self.FLAG_IS_IN_SIGHT_OF_HANDLER}: {self.is_in_sight_of_handler}
@@ -173,7 +168,7 @@ class Assessment_Command_Modality_Link_Temp(db.Model, Base):
id_command = db.Column(db.Integer) id_command = db.Column(db.Integer)
id_command_modality = db.Column(db.Integer) id_command_modality = db.Column(db.Integer)
id_bribe = db.Column(db.Integer) id_bribe = db.Column(db.Integer)
distance_from_handler = db.Column(db.Float) distance_from_handler_metres = db.Column(db.Float)
is_in_hearing_range_of_handler = db.Column(db.Boolean) is_in_hearing_range_of_handler = db.Column(db.Boolean)
is_in_scent_range_of_handler = db.Column(db.Boolean) is_in_scent_range_of_handler = db.Column(db.Boolean)
is_in_sight_of_handler = db.Column(db.Boolean) is_in_sight_of_handler = db.Column(db.Boolean)
@@ -195,7 +190,7 @@ class Assessment_Command_Modality_Link_Temp(db.Model, Base):
temp.id_command = assessment_command_modality_link.id_command temp.id_command = assessment_command_modality_link.id_command
temp.id_command_modality = assessment_command_modality_link.id_command_modality temp.id_command_modality = assessment_command_modality_link.id_command_modality
temp.id_bribe = assessment_command_modality_link.id_bribe temp.id_bribe = assessment_command_modality_link.id_bribe
temp.distance_from_handler = assessment_command_modality_link.distance_from_handler temp.distance_from_handler_metres = assessment_command_modality_link.distance_from_handler_metres
temp.is_in_hearing_range_of_handler = assessment_command_modality_link.is_in_hearing_range_of_handler temp.is_in_hearing_range_of_handler = assessment_command_modality_link.is_in_hearing_range_of_handler
temp.is_in_scent_range_of_handler = assessment_command_modality_link.is_in_scent_range_of_handler temp.is_in_scent_range_of_handler = assessment_command_modality_link.is_in_scent_range_of_handler
temp.is_in_sight_of_handler = assessment_command_modality_link.is_in_sight_of_handler temp.is_in_sight_of_handler = assessment_command_modality_link.is_in_sight_of_handler
@@ -210,8 +205,8 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base):
get_all_link: bool get_all_link: bool
get_inactive_link: bool get_inactive_link: bool
ids_link: str ids_link: str
min_distance_from_handler_link: Optional[float] min_distance_from_handler_metres_link: Optional[float]
max_distance_from_handler_link: Optional[float] max_distance_from_handler_metres_link: Optional[float]
value_is_in_sight_of_handler_link: Optional[bool] value_is_in_sight_of_handler_link: Optional[bool]
value_is_in_scent_range_of_handler_link: Optional[bool] value_is_in_scent_range_of_handler_link: Optional[bool]
value_is_in_hearing_range_of_handler_link: Optional[bool] value_is_in_hearing_range_of_handler_link: Optional[bool]
@@ -276,8 +271,8 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base):
get_all_link = True get_all_link = True
, get_inactive_link = False , get_inactive_link = False
, ids_link = '' , ids_link = ''
, min_distance_from_handler_link = None , min_distance_from_handler_metres_link = None
, max_distance_from_handler_link = None , max_distance_from_handler_metres_link = None
, value_is_in_sight_of_handler_link = None , value_is_in_sight_of_handler_link = None
, value_is_in_scent_range_of_handler_link = None , value_is_in_scent_range_of_handler_link = None
, value_is_in_hearing_range_of_handler_link = None , value_is_in_hearing_range_of_handler_link = None
@@ -344,8 +339,8 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base):
, get_inactive_link = json.get('a_get_inactive_link', False) , get_inactive_link = json.get('a_get_inactive_link', False)
, ids_link = json.get('a_ids_link', '') , ids_link = json.get('a_ids_link', '')
, notes_assessment_command_modality_link = json.get('a_notes_assessment_command_modality_link', '') , notes_assessment_command_modality_link = json.get('a_notes_assessment_command_modality_link', '')
, min_distance_from_handler_link = json.get('a_min_distance_from_handler_link', None) , min_distance_from_handler_metres_link = json.get('a_min_distance_from_handler_metres_link', None)
, max_distance_from_handler_link = json.get('a_max_distance_from_handler_link', None) , max_distance_from_handler_metres_link = json.get('a_max_distance_from_handler_metres_link', None)
, value_is_in_sight_of_handler_link = json.get('a_value_is_in_sight_of_handler_link', None) , value_is_in_sight_of_handler_link = json.get('a_value_is_in_sight_of_handler_link', None)
, value_is_in_scent_range_of_handler_link = json.get('a_value_is_in_scent_range_of_handler_link', None) , value_is_in_scent_range_of_handler_link = json.get('a_value_is_in_scent_range_of_handler_link', None)
, value_is_in_hearing_range_of_handler_link = json.get('a_value_is_in_hearing_range_of_handler_link', None) , value_is_in_hearing_range_of_handler_link = json.get('a_value_is_in_hearing_range_of_handler_link', None)
@@ -408,8 +403,6 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base):
@classmethod @classmethod
def from_form_filters_assessment(cls, form): def from_form_filters_assessment(cls, form):
_m = f'{cls.__qualname__}.from_form_filters_assessment' _m = f'{cls.__qualname__}.from_form_filters_assessment'
Helper_App.console_log(_m)
Helper_App.console_log(f'Filters: {form}')
av.val_instance(form, 'form', _m, Filters_Assessment) av.val_instance(form, 'form', _m, Filters_Assessment)
has_filter_search_text = not (form.search.data == '' or form.search.data is None) has_filter_search_text = not (form.search.data == '' or form.search.data is None)
has_filter_assessment = not (form.id_assessment.data == '0' or form.id_assessment.data == '' or form.id_assessment.data is None) has_filter_assessment = not (form.id_assessment.data == '0' or form.id_assessment.data == '' or form.id_assessment.data is None)
@@ -417,14 +410,7 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base):
has_filter_command_modality = False has_filter_command_modality = False
has_filter_bribe = False has_filter_bribe = False
active_only = av.input_bool(form.active_only.data, "active", _m) active_only = av.input_bool(form.active_only.data, "active", _m)
Helper_App.console_log(f'''
has_filter_search_text: {has_filter_search_text}
has_filter_assessment: {has_filter_assessment}
has_filter_command: {has_filter_command}
has_filter_command_modality: {has_filter_command_modality}
has_filter_bribe: {has_filter_bribe}
active_only: {active_only}
''')
filters = cls.get_default() filters = cls.get_default()
filters.get_all_link = True filters.get_all_link = True
filters.get_inactive_link = not active_only filters.get_inactive_link = not active_only
@@ -451,8 +437,8 @@ active_only: {active_only}
'a_get_all_link': self.get_all_link 'a_get_all_link': self.get_all_link
, 'a_get_inactive_link': self.get_inactive_link , 'a_get_inactive_link': self.get_inactive_link
, 'a_ids_link': self.ids_link , 'a_ids_link': self.ids_link
, 'a_min_distance_from_handler_link': self.min_distance_from_handler_link , 'a_min_distance_from_handler_metres_link': self.min_distance_from_handler_metres_link
, 'a_max_distance_from_handler_link': self.max_distance_from_handler_link , 'a_max_distance_from_handler_metres_link': self.max_distance_from_handler_metres_link
, 'a_value_is_in_sight_of_handler_link': self.value_is_in_sight_of_handler_link , 'a_value_is_in_sight_of_handler_link': self.value_is_in_sight_of_handler_link
, 'a_value_is_in_scent_range_of_handler_link': self.value_is_in_scent_range_of_handler_link , 'a_value_is_in_scent_range_of_handler_link': self.value_is_in_scent_range_of_handler_link
, 'a_value_is_in_hearing_range_of_handler_link': self.value_is_in_hearing_range_of_handler_link , 'a_value_is_in_hearing_range_of_handler_link': self.value_is_in_hearing_range_of_handler_link

View File

@@ -61,10 +61,10 @@ class Assessment_Response(SQLAlchemy_ABC, Base):
assessment_response.id_response = query_row[0] assessment_response.id_response = query_row[0]
assessment_response.id_assessment_command_modality_link = query_row[1] assessment_response.id_assessment_command_modality_link = query_row[1]
assessment_response.id_response_quality_metric = query_row[2] assessment_response.id_response_quality_metric = query_row[2]
assessment_response.id_obedience_level = query_row[3] assessment_response.id_obedience_level = query_row[4]
assessment_response.value_measured = query_row[11] assessment_response.value_measured = query_row[6]
assessment_response.notes = query_row[10] assessment_response.notes = query_row[7]
assessment_response.active = av.input_bool(query_row[12], 'active', _m) assessment_response.active = av.input_bool(query_row[8], 'active', _m)
assessment_response.assessment_command_modality_link = Assessment_Command_Modality_Link.from_db_assessment_response(query_row) assessment_response.assessment_command_modality_link = Assessment_Command_Modality_Link.from_db_assessment_response(query_row)
assessment_response.response_quality_metric = Response_Quality_Metric.from_db_assessment_response(query_row) assessment_response.response_quality_metric = Response_Quality_Metric.from_db_assessment_response(query_row)
@@ -76,17 +76,14 @@ class Assessment_Response(SQLAlchemy_ABC, Base):
_m = f'{cls.__qualname__}.from_json' _m = f'{cls.__qualname__}.from_json'
assessment_response = cls() assessment_response = cls()
if json is None: return assessment_response if json is None: return assessment_response
# Helper_App.console_log(f'{_m}\njson: {json}')
assessment_response.id_response = json.get(Assessment_Response.ATTR_ID_ASSESSMENT_RESPONSE, -1) assessment_response.id_response = json.get(Assessment_Response.ATTR_ID_ASSESSMENT_RESPONSE, -1)
assessment_response.id_assessment_command_modality_link = json[Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK] assessment_response.id_assessment_command_modality_link = json[Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK]
assessment_response.id_response_quality_metric = json[Response_Quality_Metric.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC] assessment_response.id_response_quality_metric = json[Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC]
assessment_response.id_obedience_level = json[Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL] assessment_response.id_obedience_level = json[Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL]
assessment_response.value_measured = json[cls.FLAG_VALUE_MEASURED] assessment_response.value_measured = json[cls.FLAG_VALUE_MEASURED]
assessment_response.notes = json[cls.FLAG_NOTES] assessment_response.notes = json[cls.FLAG_NOTES]
assessment_response.active = json[cls.FLAG_ACTIVE] assessment_response.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
assessment_response.created_on = json.get(cls.FLAG_CREATED_ON, None) assessment_response.created_on = json.get(cls.FLAG_CREATED_ON, None)
# assessment_response.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
# Helper_App.console_log(f'Dog Command Link: {assessment_response}')
return assessment_response return assessment_response
def to_json(self): def to_json(self):
@@ -94,15 +91,13 @@ class Assessment_Response(SQLAlchemy_ABC, Base):
**self.get_shared_json_attributes(self) **self.get_shared_json_attributes(self)
, self.ATTR_ID_ASSESSMENT_RESPONSE: self.id_response , self.ATTR_ID_ASSESSMENT_RESPONSE: self.id_response
, Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: { Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: None } if self.assessment_command_modality_link is None else self.assessment_command_modality_link.to_json() , Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: { Assessment_Command_Modality_Link.ATTR_ID_ASSESSMENT_COMMAND_MODALITY_LINK: None } if self.assessment_command_modality_link is None else self.assessment_command_modality_link.to_json()
, Response_Quality_Metric.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: { Response_Quality_Metric.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: None } if self.response_quality_metric is None else self.response_quality_metric.to_json() , Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC: { Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC: None } if self.response_quality_metric is None else self.response_quality_metric.to_json()
, Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: { Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: None } if self.assessment_command_modality_link is None else self.assessment_command_modality_link.to_json() , Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: { Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL: None } if self.obedience_level is None else self.obedience_level.to_json()
, self.FLAG_VALUE_MEASURED: self.value_measured , self.FLAG_VALUE_MEASURED: self.value_measured
, self.FLAG_NOTES: self.notes , self.FLAG_NOTES: self.notes
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
, self.FLAG_CREATED_ON: self.created_on , self.FLAG_CREATED_ON: self.created_on
} }
# , Command_Category.FLAG_COMMAND_CATEGORY: self.id_command_category
# Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):
@@ -163,8 +158,8 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
get_all_ACM_link: bool get_all_ACM_link: bool
get_inactive_ACM_link: bool get_inactive_ACM_link: bool
ids_ACM_link: str ids_ACM_link: str
min_distance_from_handler_ACM_link: Optional[float] min_distance_from_handler_metres_ACM_link: Optional[float]
max_distance_from_handler_ACM_link: Optional[float] max_distance_from_handler_metres_ACM_link: Optional[float]
value_is_in_sight_of_handler_ACM_link: Optional[bool] value_is_in_sight_of_handler_ACM_link: Optional[bool]
value_is_in_scent_range_of_handler_ACM_link: Optional[bool] value_is_in_scent_range_of_handler_ACM_link: Optional[bool]
value_is_in_hearing_range_of_handler_ACM_link: Optional[bool] value_is_in_hearing_range_of_handler_ACM_link: Optional[bool]
@@ -242,8 +237,8 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
, get_all_ACM_link = True , get_all_ACM_link = True
, get_inactive_ACM_link = False , get_inactive_ACM_link = False
, ids_ACM_link = '' , ids_ACM_link = ''
, min_distance_from_handler_ACM_link = None , min_distance_from_handler_metres_ACM_link = None
, max_distance_from_handler_ACM_link = None , max_distance_from_handler_metres_ACM_link = None
, value_is_in_sight_of_handler_ACM_link = None , value_is_in_sight_of_handler_ACM_link = None
, value_is_in_scent_range_of_handler_ACM_link = None , value_is_in_scent_range_of_handler_ACM_link = None
, value_is_in_hearing_range_of_handler_ACM_link = None , value_is_in_hearing_range_of_handler_ACM_link = None
@@ -323,8 +318,8 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
, get_inactive_ACM_link = json.get('a_get_inactive_ACM_link', False) , get_inactive_ACM_link = json.get('a_get_inactive_ACM_link', False)
, ids_ACM_link = json.get('a_ids_ACM_link', '') , ids_ACM_link = json.get('a_ids_ACM_link', '')
, notes_assessment_command_modality_link = json.get('a_notes_assessment_command_modality_link', '') , notes_assessment_command_modality_link = json.get('a_notes_assessment_command_modality_link', '')
, min_distance_from_handler_ACM_link = json.get('a_min_distance_from_handler_ACM_link', None) , min_distance_from_handler_metres_ACM_link = json.get('a_min_distance_from_handler_metres_ACM_link', None)
, max_distance_from_handler_ACM_link = json.get('a_max_distance_from_handler_ACM_link', None) , max_distance_from_handler_metres_ACM_link = json.get('a_max_distance_from_handler_metres_ACM_link', None)
, value_is_in_sight_of_handler_ACM_link = json.get('a_value_is_in_sight_of_handler_ACM_link', None) , value_is_in_sight_of_handler_ACM_link = json.get('a_value_is_in_sight_of_handler_ACM_link', None)
, value_is_in_scent_range_of_handler_ACM_link = json.get('a_value_is_in_scent_range_of_handler_ACM_link', None) , value_is_in_scent_range_of_handler_ACM_link = json.get('a_value_is_in_scent_range_of_handler_ACM_link', None)
, value_is_in_hearing_range_of_handler_ACM_link = json.get('a_value_is_in_hearing_range_of_handler_ACM_link', None) , value_is_in_hearing_range_of_handler_ACM_link = json.get('a_value_is_in_hearing_range_of_handler_ACM_link', None)
@@ -393,8 +388,6 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
@classmethod @classmethod
def from_form_filters_assessment(cls, form): def from_form_filters_assessment(cls, form):
_m = f'{cls.__qualname__}.from_form_filters_assessment' _m = f'{cls.__qualname__}.from_form_filters_assessment'
Helper_App.console_log(_m)
Helper_App.console_log(f'Filters: {form}')
av.val_instance(form, 'form', _m, Filters_Assessment) av.val_instance(form, 'form', _m, Filters_Assessment)
has_filter_search_text = not (form.search.data == '' or form.search.data is None) has_filter_search_text = not (form.search.data == '' or form.search.data is None)
has_filter_assessment_command_modality_link = False has_filter_assessment_command_modality_link = False
@@ -403,14 +396,7 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
has_filter_user_handler = False has_filter_user_handler = False
has_filter_assessment = not (form.id_assessment.data == '' or form.id_assessment.data == '0' or form.id_assessment.data is None) has_filter_assessment = not (form.id_assessment.data == '' or form.id_assessment.data == '0' or form.id_assessment.data is None)
active_only = av.input_bool(form.active_only.data, "active", _m) active_only = av.input_bool(form.active_only.data, "active", _m)
Helper_App.console_log(f'''
has_filter_search_text: {has_filter_search_text}
has_filter_assessment_command_modality_link: {has_filter_assessment_command_modality_link}
has_filter_response_quality_metric: {has_filter_response_quality_metric}
has_filter_obedience_level: {has_filter_obedience_level}
has_filter_user_handler: {has_filter_user_handler}
active_only: {active_only}
''')
filters = cls.get_default() filters = cls.get_default()
filters.get_all_assessment_response = True filters.get_all_assessment_response = True
filters.get_inactive_assessment_response = not active_only filters.get_inactive_assessment_response = not active_only
@@ -448,8 +434,8 @@ active_only: {active_only}
, 'a_get_all_ACM_link': self.get_all_ACM_link , 'a_get_all_ACM_link': self.get_all_ACM_link
, 'a_get_inactive_ACM_link': self.get_inactive_ACM_link , 'a_get_inactive_ACM_link': self.get_inactive_ACM_link
, 'a_ids_ACM_link': self.ids_ACM_link , 'a_ids_ACM_link': self.ids_ACM_link
, 'a_min_distance_from_handler_ACM_link': self.min_distance_from_handler_ACM_link , 'a_min_distance_from_handler_metres_ACM_link': self.min_distance_from_handler_metres_ACM_link
, 'a_max_distance_from_handler_ACM_link': self.max_distance_from_handler_ACM_link , 'a_max_distance_from_handler_metres_ACM_link': self.max_distance_from_handler_metres_ACM_link
, 'a_value_is_in_sight_of_handler_ACM_link': self.value_is_in_sight_of_handler_ACM_link , 'a_value_is_in_sight_of_handler_ACM_link': self.value_is_in_sight_of_handler_ACM_link
, 'a_value_is_in_scent_range_of_handler_ACM_link': self.value_is_in_scent_range_of_handler_ACM_link , 'a_value_is_in_scent_range_of_handler_ACM_link': self.value_is_in_scent_range_of_handler_ACM_link
, 'a_value_is_in_hearing_range_of_handler_ACM_link': self.value_is_in_hearing_range_of_handler_ACM_link , 'a_value_is_in_hearing_range_of_handler_ACM_link': self.value_is_in_hearing_range_of_handler_ACM_link

View File

@@ -71,12 +71,10 @@ class Bribe(SQLAlchemy_ABC, Base):
_m = 'Bribe.from_json' _m = 'Bribe.from_json'
bribe = cls() bribe = cls()
if json is None: return Bribe if json is None: return Bribe
# Helper_App.console_log(f'{_m}\njson: {json}')
bribe.id_bribe = json.get(cls.ATTR_ID_BRIBE, -1) bribe.id_bribe = json.get(cls.ATTR_ID_BRIBE, -1)
bribe.name = json[cls.FLAG_NAME] bribe.name = json[cls.FLAG_NAME]
bribe.code = json.get(cls.FLAG_CODE, bribe.name.upper().replace(" ", "_")) bribe.code = json.get(cls.FLAG_CODE, bribe.name.upper().replace(" ", "_"))
bribe.active = json[cls.FLAG_ACTIVE] bribe.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
# Helper_App.console_log(f'Bribe: {bribe}')
return bribe return bribe
@@ -88,7 +86,6 @@ class Bribe(SQLAlchemy_ABC, Base):
, self.FLAG_NAME: self.name , self.FLAG_NAME: self.name
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
} }
# Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):

View File

@@ -72,15 +72,13 @@ class Button_Icon(SQLAlchemy_ABC, Base):
_m = f'{cls.__qualname__}.from_json' _m = f'{cls.__qualname__}.from_json'
button_icon = cls() button_icon = cls()
if json is None: return button_icon if json is None: return button_icon
# Helper_App.console_log(f'{_m}\njson: {json}')
button_icon.id_button_icon = json.get(Button_Icon.ATTR_ID_BUTTON_ICON, -1) button_icon.id_button_icon = json.get(Button_Icon.ATTR_ID_BUTTON_ICON, -1)
button_icon.id_image = json[Image.FLAG_IMAGE] button_icon.id_image = json[Image.FLAG_IMAGE]
button_icon.name = json[cls.FLAG_NAME] button_icon.name = json[cls.FLAG_NAME]
button_icon.code = json.get(cls.FLAG_CODE, button_icon.name.upper().replace(" ", "_")) button_icon.code = json.get(cls.FLAG_CODE, button_icon.name.upper().replace(" ", "_"))
button_icon.notes = json[cls.FLAG_NOTES] button_icon.notes = json[cls.FLAG_NOTES]
button_icon.active = json[cls.FLAG_ACTIVE] button_icon.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
button_icon.created_on = json.get(cls.FLAG_CREATED_ON, None) button_icon.created_on = json.get(cls.FLAG_CREATED_ON, None)
# Helper_App.console_log(f'Button_Icon: {button_icon}')
return button_icon return button_icon
def to_json(self): def to_json(self):
@@ -94,7 +92,6 @@ class Button_Icon(SQLAlchemy_ABC, Base):
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
, self.FLAG_CREATED_ON: self.created_on , self.FLAG_CREATED_ON: self.created_on
} }
# Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):

View File

@@ -66,14 +66,12 @@ class Button_Shape(SQLAlchemy_ABC, Base):
_m = f'{cls.__qualname__}.from_json' _m = f'{cls.__qualname__}.from_json'
button_shape = cls() button_shape = cls()
if json is None: return button_shape if json is None: return button_shape
# Helper_App.console_log(f'{_m}\njson: {json}')
button_shape.id_button_shape = json.get(Button_Shape.ATTR_ID_BUTTON_SHAPE, -1) button_shape.id_button_shape = json.get(Button_Shape.ATTR_ID_BUTTON_SHAPE, -1)
button_shape.name = json[cls.FLAG_NAME] button_shape.name = json[cls.FLAG_NAME]
button_shape.code = json.get(cls.FLAG_CODE, button_shape.name.upper().replace(" ", "_")) button_shape.code = json.get(cls.FLAG_CODE, button_shape.name.upper().replace(" ", "_"))
button_shape.notes = json[cls.FLAG_NOTES] button_shape.notes = json[cls.FLAG_NOTES]
button_shape.active = json[cls.FLAG_ACTIVE] button_shape.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
button_shape.created_on = json.get(cls.FLAG_CREATED_ON, None) button_shape.created_on = json.get(cls.FLAG_CREATED_ON, None)
# Helper_App.console_log(f'Button_Shape: {button_shape}')
return button_shape return button_shape
def to_json(self): def to_json(self):
@@ -86,7 +84,6 @@ class Button_Shape(SQLAlchemy_ABC, Base):
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
, self.FLAG_CREATED_ON: self.created_on , self.FLAG_CREATED_ON: self.created_on
} }
# Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):

View File

@@ -64,13 +64,11 @@ class Colour(SQLAlchemy_ABC, Base):
_m = f'{cls.__qualname__}.from_json' _m = f'{cls.__qualname__}.from_json'
colour = cls() colour = cls()
if json is None: return colour if json is None: return colour
# Helper_App.console_log(f'{_m}\njson: {json}')
colour.id_colour = json.get(Colour.ATTR_ID_COLOUR, -1) colour.id_colour = json.get(Colour.ATTR_ID_COLOUR, -1)
colour.name = json[cls.FLAG_NAME] colour.name = json[cls.FLAG_NAME]
colour.code = json.get(cls.FLAG_CODE, colour.name.upper().replace(" ", "_")) colour.code = json.get(cls.FLAG_CODE, colour.name.upper().replace(" ", "_"))
colour.active = json[cls.FLAG_ACTIVE] colour.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
colour.created_on = json.get(cls.FLAG_CREATED_ON, None) colour.created_on = json.get(cls.FLAG_CREATED_ON, None)
# Helper_App.console_log(f'Colour: {colour}')
return colour return colour
def to_json(self): def to_json(self):
@@ -82,7 +80,6 @@ class Colour(SQLAlchemy_ABC, Base):
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
, self.FLAG_CREATED_ON: self.created_on , self.FLAG_CREATED_ON: self.created_on
} }
# Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):

View File

@@ -112,7 +112,7 @@ class Command(SQLAlchemy_ABC, Base):
command.hand_signal_default_description = json[cls.FLAG_HAND_SIGNAL_DEFAULT_DESCRIPTION] command.hand_signal_default_description = json[cls.FLAG_HAND_SIGNAL_DEFAULT_DESCRIPTION]
command.can_have_button = json[cls.FLAG_CAN_HAVE_BUTTON] command.can_have_button = json[cls.FLAG_CAN_HAVE_BUTTON]
command.notes = json[cls.FLAG_NOTES] command.notes = json[cls.FLAG_NOTES]
command.active = json[cls.FLAG_ACTIVE] command.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
command.created_on = json.get(cls.FLAG_CREATED_ON, None) command.created_on = json.get(cls.FLAG_CREATED_ON, None)
# Helper_App.console_log(f'Command: {command}') # Helper_App.console_log(f'Command: {command}')
return command return command

View File

@@ -79,17 +79,14 @@ class Command_Button_Link(SQLAlchemy_ABC, Base):
_m = 'Command_Button_Link.from_json' _m = 'Command_Button_Link.from_json'
command_button_link = cls() command_button_link = cls()
if json is None: return command_button_link if json is None: return command_button_link
# Helper_App.console_log(f'{_m}\njson: {json}')
command_button_link.id_link = json.get(Command_Button_Link.ATTR_ID_COMMAND_BUTTON_LINK, -1) command_button_link.id_link = json.get(Command_Button_Link.ATTR_ID_COMMAND_BUTTON_LINK, -1)
command_button_link.id_command = json[Command.FLAG_COMMAND] command_button_link.id_command = json[Command.FLAG_COMMAND]
command_button_link.id_button_shape = json[Button_Shape.FLAG_BUTTON_SHAPE] command_button_link.id_button_shape = json[Button_Shape.FLAG_BUTTON_SHAPE]
command_button_link.id_button_colour = json[Colour.FLAG_COLOUR] command_button_link.id_button_colour = json[Colour.FLAG_COLOUR]
command_button_link.id_button_icon = json[Button_Icon.FLAG_BUTTON_ICON] command_button_link.id_button_icon = json[Button_Icon.FLAG_BUTTON_ICON]
command_button_link.id_location = json[Location.FLAG_LOCATION] command_button_link.id_location = json[Location.FLAG_LOCATION]
command_button_link.active = json[cls.FLAG_ACTIVE] command_button_link.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
command_button_link.created_on = json.get(cls.FLAG_CREATED_ON, None) command_button_link.created_on = json.get(cls.FLAG_CREATED_ON, None)
# command_button_link.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
# Helper_App.console_log(f'Dog Command Link: {command_button_link}')
return command_button_link return command_button_link
def to_json(self): def to_json(self):
@@ -104,8 +101,6 @@ class Command_Button_Link(SQLAlchemy_ABC, Base):
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
, self.FLAG_CREATED_ON: self.created_on , self.FLAG_CREATED_ON: self.created_on
} }
# , Command_Category.FLAG_COMMAND_CATEGORY: self.id_command_category
# Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):
@@ -299,8 +294,6 @@ class Parameters_Command_Button_Link(Get_Many_Parameters_Base):
@classmethod @classmethod
def from_form_filters_command_button_link(cls, form): def from_form_filters_command_button_link(cls, form):
_m = f'{cls.__qualname__}.from_form_filters_command_button_link' _m = f'{cls.__qualname__}.from_form_filters_command_button_link'
Helper_App.console_log(_m)
Helper_App.console_log(f'Filters: {form}')
av.val_instance(form, 'form', _m, Filters_Command_Button_Link) av.val_instance(form, 'form', _m, Filters_Command_Button_Link)
has_filter_search_text = not (form.search.data == '' or form.search.data is None) has_filter_search_text = not (form.search.data == '' or form.search.data is None)
has_filter_command_category = not (form.id_command_category.data == '0' or form.id_command_category.data == '' or form.id_command_category.data is None) has_filter_command_category = not (form.id_command_category.data == '0' or form.id_command_category.data == '' or form.id_command_category.data is None)
@@ -310,16 +303,7 @@ class Parameters_Command_Button_Link(Get_Many_Parameters_Base):
has_filter_button_icon = not (form.id_button_icon.data == '0' or form.id_button_icon.data == '' or form.id_button_icon.data is None) has_filter_button_icon = not (form.id_button_icon.data == '0' or form.id_button_icon.data == '' or form.id_button_icon.data is None)
has_filter_location = not (form.id_location.data == '0' or form.id_location.data == '' or form.id_location.data is None) has_filter_location = not (form.id_location.data == '0' or form.id_location.data == '' or form.id_location.data is None)
active_only = av.input_bool(form.active_only.data, "active", _m) active_only = av.input_bool(form.active_only.data, "active", _m)
Helper_App.console_log(f'''
has_filter_search_text: {has_filter_search_text}
has_filter_command_category: {has_filter_command_category}
has_filter_command: {has_filter_command}
has_filter_button_shape: {has_filter_button_shape}
has_filter_colour: {has_filter_colour}
has_filter_button_icon: {has_filter_button_icon}
has_filter_location: {has_filter_location}
active_only: {active_only}
''')
filters = cls.get_default() filters = cls.get_default()
filters.get_all_link = True filters.get_all_link = True
filters.get_inactive_link = not active_only filters.get_inactive_link = not active_only

View File

@@ -85,7 +85,7 @@ class Command_Category(SQLAlchemy_ABC, Base):
command_category.id_command_category = json.get(cls.ATTR_ID_COMMAND_CATEGORY, -1) command_category.id_command_category = json.get(cls.ATTR_ID_COMMAND_CATEGORY, -1)
command_category.name = json[cls.FLAG_NAME] command_category.name = json[cls.FLAG_NAME]
command_category.code = json.get(cls.FLAG_CODE, command_category.name.upper().replace(" ", "_")) command_category.code = json.get(cls.FLAG_CODE, command_category.name.upper().replace(" ", "_"))
command_category.active = json[cls.FLAG_ACTIVE] command_category.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
# Helper_App.console_log(f'Command_Category: {command_category}') # Helper_App.console_log(f'Command_Category: {command_category}')
return command_category return command_category

View File

@@ -71,12 +71,10 @@ class Command_Modality(SQLAlchemy_ABC, Base):
_m = 'Command_Modality.from_json' _m = 'Command_Modality.from_json'
command_modality = cls() command_modality = cls()
if json is None: return Command_Modality if json is None: return Command_Modality
# Helper_App.console_log(f'{_m}\njson: {json}')
command_modality.id_command_modality = json.get(cls.ATTR_ID_COMMAND_MODALITY, -1) command_modality.id_command_modality = json.get(cls.ATTR_ID_COMMAND_MODALITY, -1)
command_modality.name = json[cls.FLAG_NAME] command_modality.name = json[cls.FLAG_NAME]
command_modality.code = json.get(cls.FLAG_CODE, command_modality.name.upper().replace(" ", "_")) command_modality.code = json.get(cls.FLAG_CODE, command_modality.name.upper().replace(" ", "_"))
command_modality.active = json[cls.FLAG_ACTIVE] command_modality.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
# Helper_App.console_log(f'Command_Modality: {command_modality}')
return command_modality return command_modality
@@ -88,7 +86,6 @@ class Command_Modality(SQLAlchemy_ABC, Base):
, self.FLAG_NAME: self.name , self.FLAG_NAME: self.name
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
} }
# Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):

View File

@@ -111,7 +111,7 @@ class Distraction(SQLAlchemy_ABC, Base):
distraction.quantity = json[cls.FLAG_QUANTITY] distraction.quantity = json[cls.FLAG_QUANTITY]
distraction.proximity_metres = json[cls.FLAG_PROXIMITY_METRES] distraction.proximity_metres = json[cls.FLAG_PROXIMITY_METRES]
distraction.notes = json[cls.FLAG_NOTES] distraction.notes = json[cls.FLAG_NOTES]
distraction.active = json[cls.FLAG_ACTIVE] distraction.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
distraction.created_on = json.get(cls.FLAG_CREATED_ON, None) distraction.created_on = json.get(cls.FLAG_CREATED_ON, None)
# distraction.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY] # distraction.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
# Helper_App.console_log(f'Dog Command Link: {distraction}') # Helper_App.console_log(f'Dog Command Link: {distraction}')

View File

@@ -102,7 +102,7 @@ class Distraction_Intensity_Level(SQLAlchemy_ABC, Base):
distraction_intensity_level.id_intensity_level = json.get(cls.ATTR_ID_DISTRACTION_INTENSITY_LEVEL, -1) distraction_intensity_level.id_intensity_level = json.get(cls.ATTR_ID_DISTRACTION_INTENSITY_LEVEL, -1)
distraction_intensity_level.name = json[cls.FLAG_NAME] distraction_intensity_level.name = json[cls.FLAG_NAME]
distraction_intensity_level.code = json.get(cls.FLAG_CODE, distraction_intensity_level.name.upper().replace(" ", "_")) distraction_intensity_level.code = json.get(cls.FLAG_CODE, distraction_intensity_level.name.upper().replace(" ", "_"))
distraction_intensity_level.active = json[cls.FLAG_ACTIVE] distraction_intensity_level.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
# Helper_App.console_log(f'Distraction_Intensity_Level: {distraction_intensity_level}') # Helper_App.console_log(f'Distraction_Intensity_Level: {distraction_intensity_level}')
return distraction_intensity_level return distraction_intensity_level

View File

@@ -66,7 +66,7 @@ class Distraction_Type(SQLAlchemy_ABC, Base):
distraction_type.id_distraction_type = json.get(cls.ATTR_ID_DISTRACTION_TYPE, -1) distraction_type.id_distraction_type = json.get(cls.ATTR_ID_DISTRACTION_TYPE, -1)
distraction_type.name = json[cls.FLAG_NAME] distraction_type.name = json[cls.FLAG_NAME]
distraction_type.code = json.get(cls.FLAG_CODE, distraction_type.name.upper().replace(" ", "_")) distraction_type.code = json.get(cls.FLAG_CODE, distraction_type.name.upper().replace(" ", "_"))
distraction_type.active = json[cls.FLAG_ACTIVE] distraction_type.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
# Helper_App.console_log(f'Distraction_Type: {distraction_type}') # Helper_App.console_log(f'Distraction_Type: {distraction_type}')
return distraction_type return distraction_type

View File

@@ -79,7 +79,7 @@ class Dog(SQLAlchemy_ABC, Base):
dog.appearance = json[cls.FLAG_APPEARANCE] dog.appearance = json[cls.FLAG_APPEARANCE]
dog.mass_kg = json[cls.FLAG_MASS_KG] dog.mass_kg = json[cls.FLAG_MASS_KG]
dog.notes = json[cls.FLAG_NOTES] dog.notes = json[cls.FLAG_NOTES]
dog.active = json[cls.FLAG_ACTIVE] dog.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
# Helper_App.console_log(f'Dog: {dog}') # Helper_App.console_log(f'Dog: {dog}')
return dog return dog

View File

@@ -75,7 +75,7 @@ class Dog_Command_Link(SQLAlchemy_ABC, Base):
dog_command_link.id_command = json[Command.ATTR_ID_COMMAND] dog_command_link.id_command = json[Command.ATTR_ID_COMMAND]
dog_command_link.hand_signal_description = json[cls.FLAG_HAND_SIGNAL_DESCRIPTION] dog_command_link.hand_signal_description = json[cls.FLAG_HAND_SIGNAL_DESCRIPTION]
dog_command_link.notes = json[cls.FLAG_NOTES] dog_command_link.notes = json[cls.FLAG_NOTES]
dog_command_link.active = json[cls.FLAG_ACTIVE] dog_command_link.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
dog_command_link.created_on = json.get(cls.FLAG_CREATED_ON, None) dog_command_link.created_on = json.get(cls.FLAG_CREATED_ON, None)
# dog_command_link.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY] # dog_command_link.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
# Helper_App.console_log(f'Dog Command Link: {dog_command_link}') # Helper_App.console_log(f'Dog Command Link: {dog_command_link}')
@@ -221,21 +221,13 @@ class Parameters_Dog_Command_Link(Get_Many_Parameters_Base):
@classmethod @classmethod
def from_form_filters_dog_command_link(cls, form): def from_form_filters_dog_command_link(cls, form):
_m = f'{cls.__qualname__}.from_form_filters_dog_command_link' _m = f'{cls.__qualname__}.from_form_filters_dog_command_link'
Helper_App.console_log(_m)
Helper_App.console_log(f'Filters: {form}')
av.val_instance(form, 'form', _m, Filters_Dog_Command_Link) av.val_instance(form, 'form', _m, Filters_Dog_Command_Link)
has_filter_search_text = not (form.search.data == '' or form.search.data is None) has_filter_search_text = not (form.search.data == '' or form.search.data is None)
has_filter_dog = not (form.id_dog.data == '0' or form.id_dog.data == '' or form.id_dog.data is None) has_filter_dog = not (form.id_dog.data == '0' or form.id_dog.data == '' or form.id_dog.data is None)
has_filter_command_category = not (form.id_command_category.data == '0' or form.id_command_category.data == '' or form.id_command_category.data is None) has_filter_command_category = not (form.id_command_category.data == '0' or form.id_command_category.data == '' or form.id_command_category.data is None)
has_filter_command = not (form.id_command.data == '0' or form.id_command.data == '' or form.id_command.data is None) has_filter_command = not (form.id_command.data == '0' or form.id_command.data == '' or form.id_command.data is None)
active_only = av.input_bool(form.active_only.data, "active", _m) active_only = av.input_bool(form.active_only.data, "active", _m)
Helper_App.console_log(f'''
has_filter_search_text: {has_filter_search_text}
has_filter_dog: {has_filter_dog}
has_filter_command_category: {has_filter_command_category}
has_filter_command: {has_filter_command}
active_only: {active_only}
''')
filters = cls.get_default() filters = cls.get_default()
filters.get_all_link = True filters.get_all_link = True
filters.get_inactive_link = not active_only filters.get_inactive_link = not active_only

View File

@@ -85,7 +85,7 @@ class Image(SQLAlchemy_ABC, Base):
image.id_dog = json[Dog.FLAG_DOG] image.id_dog = json[Dog.FLAG_DOG]
image.path = json[cls.FLAG_PATH] image.path = json[cls.FLAG_PATH]
image.name = json[cls.FLAG_NAME] image.name = json[cls.FLAG_NAME]
image.active = json[cls.FLAG_ACTIVE] image.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
image.created_on = json.get(cls.FLAG_CREATED_ON, None) image.created_on = json.get(cls.FLAG_CREATED_ON, None)
# Helper_App.console_log(f'Image: {image}') # Helper_App.console_log(f'Image: {image}')
return image return image

View File

@@ -68,7 +68,7 @@ class Lighting_Level(SQLAlchemy_ABC, Base):
lighting_level.id_lighting_level = json.get(Lighting_Level.ATTR_ID_LIGHTING_LEVEL, -1) lighting_level.id_lighting_level = json.get(Lighting_Level.ATTR_ID_LIGHTING_LEVEL, -1)
lighting_level.name = json[cls.FLAG_NAME] lighting_level.name = json[cls.FLAG_NAME]
lighting_level.code = json.get(cls.FLAG_CODE, lighting_level.name.upper().replace(" ", "_")) lighting_level.code = json.get(cls.FLAG_CODE, lighting_level.name.upper().replace(" ", "_"))
lighting_level.active = json[cls.FLAG_ACTIVE] lighting_level.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
lighting_level.created_on = json.get(cls.FLAG_CREATED_ON, None) lighting_level.created_on = json.get(cls.FLAG_CREATED_ON, None)
# Helper_App.console_log(f'Lighting_Level: {lighting_level}') # Helper_App.console_log(f'Lighting_Level: {lighting_level}')
return lighting_level return lighting_level

View File

@@ -85,7 +85,7 @@ class Location(SQLAlchemy_ABC, Base):
location.id_location_parent = json[Location.FLAG_LOCATION_PARENT] location.id_location_parent = json[Location.FLAG_LOCATION_PARENT]
location.name = json[cls.FLAG_NAME] location.name = json[cls.FLAG_NAME]
location.code = json.get(cls.FLAG_CODE, location.name.upper().replace(" ", "_")) location.code = json.get(cls.FLAG_CODE, location.name.upper().replace(" ", "_"))
location.active = json[cls.FLAG_ACTIVE] location.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
location.created_on = json.get(cls.FLAG_CREATED_ON, None) location.created_on = json.get(cls.FLAG_CREATED_ON, None)
# Helper_App.console_log(f'Location: {location}') # Helper_App.console_log(f'Location: {location}')
return location return location

View File

@@ -61,12 +61,10 @@ class Obedience_Level(SQLAlchemy_ABC, Base):
_m = f'{cls.__qualname__}.from_json' _m = f'{cls.__qualname__}.from_json'
obedience_level = cls() obedience_level = cls()
if json is None: return Obedience_Level if json is None: return Obedience_Level
Helper_App.console_log(f'{_m}\njson: {json}')
obedience_level.id_obedience_level = json.get(Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL, -1) obedience_level.id_obedience_level = json.get(Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL, -1)
obedience_level.code = json[cls.FLAG_CODE] obedience_level.code = json[cls.FLAG_CODE]
obedience_level.name = json[cls.FLAG_NAME] obedience_level.name = json[cls.FLAG_NAME]
obedience_level.active = json[cls.FLAG_ACTIVE] obedience_level.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
Helper_App.console_log(f'Obedience_Level: {obedience_level}')
return obedience_level return obedience_level
@@ -78,7 +76,6 @@ class Obedience_Level(SQLAlchemy_ABC, Base):
, self.FLAG_NAME: self.name , self.FLAG_NAME: self.name
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
} }
Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):

View File

@@ -20,11 +20,11 @@ from typing import ClassVar
class Response_Quality_Metric(SQLAlchemy_ABC, Base): class Response_Quality_Metric(SQLAlchemy_ABC, Base):
ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: ClassVar[str] = 'id_response_quality_metric' ATTR_ID_RESPONSE_QUALITY_METRIC: ClassVar[str] = 'id_response_quality_metric'
FLAG_RESPONSE_QUALITY_METRIC: ClassVar[str] = 'response-quality-metric' FLAG_RESPONSE_QUALITY_METRIC: ClassVar[str] = 'response-quality-metric'
FLAG_VALUE_MIN: ClassVar[str] = 'value-min' FLAG_VALUE_MIN: ClassVar[str] = 'value-min'
FLAG_VALUE_MAX: ClassVar[str] = 'value-max' FLAG_VALUE_MAX: ClassVar[str] = 'value-max'
NAME_ATTR_OPTION_VALUE: ClassVar[str] = ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC NAME_ATTR_OPTION_VALUE: ClassVar[str] = ATTR_ID_RESPONSE_QUALITY_METRIC
NAME_ATTR_OPTION_TEXT: ClassVar[str] = Base.FLAG_NAME NAME_ATTR_OPTION_TEXT: ClassVar[str] = Base.FLAG_NAME
__tablename__ = 'DOG_Response_Quality_Metric' __tablename__ = 'DOG_Response_Quality_Metric'
@@ -47,25 +47,26 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base):
@classmethod @classmethod
def from_db_response_quality_metric(cls, query_row): def from_db_response_quality_metric(cls, query_row):
_m = f'{cls.__qualname__}.from_db_response_quality_metric' _m = f'{cls.__qualname__}.from_db_response_quality_metric'
response = cls() metric = cls()
response.id_response_quality_metric = query_row[0] metric.id_response_quality_metric = query_row[0]
response.id_unit_measurement = query_row[1] metric.id_unit_measurement = query_row[1]
response.code = query_row[5] metric.code = query_row[5]
response.name = query_row[6] metric.name = query_row[6]
response.value_min = query_row[7] metric.value_min = query_row[7]
response.value_max = query_row[8] metric.value_max = query_row[8]
response.active = av.input_bool(query_row[9], 'active', _m) metric.active = av.input_bool(query_row[9], 'active', _m)
response.unit_measurement = Unit_Measurement.from_db_response_quality_metric(query_row) metric.unit_measurement = Unit_Measurement.from_db_response_quality_metric(query_row)
return response return metric
@classmethod @classmethod
def from_db_assessment_response(cls, query_row): def from_db_assessment_response(cls, query_row):
_m = f'{cls.__qualname__}.from_db_assessment_response' _m = f'{cls.__qualname__}.from_db_assessment_response'
level = cls() metric = cls()
level.id_response_quality_metric = query_row[2] metric.id_response_quality_metric = query_row[2]
level.name = query_row[3] metric.name = query_row[3]
level.active = True metric.active = True
return level metric.unit_measurement = Unit_Measurement.from_db_assessment_response(query_row)
return metric
@classmethod @classmethod
def from_json(cls, json): def from_json(cls, json):
@@ -73,12 +74,12 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base):
response_quality_metric = cls() response_quality_metric = cls()
if json is None: return Response_Quality_Metric if json is None: return Response_Quality_Metric
# Helper_App.console_log(f'{_m}\njson: {json}') # Helper_App.console_log(f'{_m}\njson: {json}')
response_quality_metric.id_response_quality_metric = json.get(cls.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC, -1) response_quality_metric.id_response_quality_metric = json.get(cls.ATTR_ID_RESPONSE_QUALITY_METRIC, -1)
response_quality_metric.name = json[cls.FLAG_NAME] response_quality_metric.name = json[cls.FLAG_NAME]
response_quality_metric.code = json.get(cls.FLAG_CODE, response_quality_metric.name.upper().replace(" ", "_")) response_quality_metric.code = json.get(cls.FLAG_CODE, response_quality_metric.name.upper().replace(" ", "_"))
response_quality_metric.value_min = json[cls.FLAG_VALUE_MIN] response_quality_metric.value_min = json[cls.FLAG_VALUE_MIN]
response_quality_metric.value_max = json[cls.FLAG_VALUE_MAX] response_quality_metric.value_max = json[cls.FLAG_VALUE_MAX]
response_quality_metric.active = json[cls.FLAG_ACTIVE] response_quality_metric.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
# Helper_App.console_log(f'Response_Quality_Metric: {response_quality_metric}') # Helper_App.console_log(f'Response_Quality_Metric: {response_quality_metric}')
return response_quality_metric return response_quality_metric
@@ -86,7 +87,7 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base):
def to_json(self): def to_json(self):
as_json = { as_json = {
**self.get_shared_json_attributes(self) **self.get_shared_json_attributes(self)
, self.ATTR_ID_ASSESSMENT_RESPONSE_QUALITY_METRIC: self.id_response_quality_metric , self.ATTR_ID_RESPONSE_QUALITY_METRIC: self.id_response_quality_metric
, self.FLAG_CODE: self.code , self.FLAG_CODE: self.code
, self.FLAG_NAME: f'{self.name} ({self.unit_measurement.symbol})' , self.FLAG_NAME: f'{self.name} ({self.unit_measurement.symbol})'
, self.FLAG_VALUE_MIN: self.value_min , self.FLAG_VALUE_MIN: self.value_min

View File

@@ -53,49 +53,57 @@ class Unit_Measurement(SQLAlchemy_ABC, Base):
@classmethod @classmethod
def from_db_unit_measurement(cls, query_row): def from_db_unit_measurement(cls, query_row):
_m = f'{cls.__qualname__}.from_db_unit_measurement' _m = f'{cls.__qualname__}.from_db_unit_measurement'
level = cls() unit = cls()
level.id_unit_measurement = query_row[0] unit.id_unit_measurement = query_row[0]
level.name_singular = query_row[1] unit.name_singular = query_row[1]
level.name_plural = query_row[2] unit.name_plural = query_row[2]
level.symbol = query_row[3] unit.symbol = query_row[3]
level.symbol_is_suffix_not_prefix = query_row[4] unit.symbol_is_suffix_not_prefix = query_row[4]
level.is_base_unit = query_row[5] unit.is_base_unit = av.input_bool(query_row[5], 'is_base_unit', _m)
level.is_unit_of_distance = query_row[6] unit.is_unit_of_distance = av.input_bool(query_row[6], 'is_base_unit', _m)
level.is_unit_of_mass = query_row[7] unit.is_unit_of_mass = av.input_bool(query_row[7], 'is_base_unit', _m)
level.is_unit_of_time = query_row[8] unit.is_unit_of_time = av.input_bool(query_row[8], 'is_base_unit', _m)
level.is_unit_of_volume = query_row[9] unit.is_unit_of_volume = av.input_bool(query_row[9], 'is_base_unit', _m)
level.active = True unit.active = True
return level return unit
@classmethod @classmethod
def from_db_response_quality_metric(cls, query_row): def from_db_response_quality_metric(cls, query_row):
_m = f'{cls.__qualname__}.from_db_response_quality_metric' _m = f'{cls.__qualname__}.from_db_response_quality_metric'
level = cls() unit = cls()
level.id_unit_measurement = query_row[1] unit.id_unit_measurement = query_row[1]
level.name_singular = query_row[2] unit.name_singular = query_row[2]
level.name_plural = query_row[3] unit.name_plural = query_row[3]
level.symbol = query_row[4] unit.symbol = query_row[4]
level.active = True unit.active = True
return level return unit
@classmethod
def from_db_assessment_response(cls, query_row):
_m = f'{cls.__qualname__}.from_db_assessment_response'
unit = cls()
unit.id_unit_measurement = None
unit.name_singular = ''
unit.name_plural = ''
unit.symbol = ''
return unit
@classmethod @classmethod
def from_json(cls, json): def from_json(cls, json):
_m = f'{cls.__qualname__}.from_json' _m = f'{cls.__qualname__}.from_json'
unit_measurement = cls() unit_measurement = cls()
if json is None: return Unit_Measurement if json is None: return Unit_Measurement
Helper_App.console_log(f'{_m}\njson: {json}')
unit_measurement.id_unit_measurement = json.get(Unit_Measurement.ATTR_ID_UNIT_MEASUREMENT, -1) unit_measurement.id_unit_measurement = json.get(Unit_Measurement.ATTR_ID_UNIT_MEASUREMENT, -1)
unit_measurement.name_singular = json[cls.FLAG_NAME_SINGULAR] unit_measurement.name_singular = json[cls.FLAG_NAME_SINGULAR]
unit_measurement.name_plural = json[cls.FLAG_NAME_PLURAL] unit_measurement.name_plural = json[cls.FLAG_NAME_PLURAL]
unit_measurement.symbol = json[cls.FLAG_SYMBOL] unit_measurement.symbol = json[cls.FLAG_SYMBOL]
unit_measurement.symbol_is_suffix_not_prefix = json[cls.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX] unit_measurement.symbol_is_suffix_not_prefix = av.input_bool(json[cls.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX], cls.FLAG_ACTIVE, _m)
unit_measurement.is_base_unit = json[cls.FLAG_IS_BASE_UNIT] unit_measurement.is_base_unit = av.input_bool(json[cls.FLAG_IS_BASE_UNIT], cls.FLAG_ACTIVE, _m)
unit_measurement.is_unit_of_distance = json[cls.FLAG_IS_UNIT_OF_DISTANCE] unit_measurement.is_unit_of_distance = av.input_bool(json[cls.FLAG_IS_UNIT_OF_DISTANCE], cls.FLAG_ACTIVE, _m)
unit_measurement.is_unit_of_mass = json[cls.FLAG_IS_UNIT_OF_MASS] unit_measurement.is_unit_of_mass = av.input_bool(json[cls.FLAG_IS_UNIT_OF_MASS], cls.FLAG_ACTIVE, _m)
unit_measurement.is_unit_of_time = json[cls.FLAG_IS_UNIT_OF_TIME] unit_measurement.is_unit_of_time = av.input_bool(json[cls.FLAG_IS_UNIT_OF_TIME], cls.FLAG_ACTIVE, _m)
unit_measurement.is_unit_of_volume = json[cls.FLAG_IS_UNIT_OF_VOLUME] unit_measurement.is_unit_of_volume = av.input_bool(json[cls.FLAG_IS_UNIT_OF_VOLUME], cls.FLAG_ACTIVE, _m)
unit_measurement.active = json[cls.FLAG_ACTIVE] unit_measurement.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
Helper_App.console_log(f'Unit_Measurement: {unit_measurement}')
return unit_measurement return unit_measurement
@@ -114,7 +122,6 @@ class Unit_Measurement(SQLAlchemy_ABC, Base):
, self.FLAG_IS_UNIT_OF_VOLUME: self.is_unit_of_volume , self.FLAG_IS_UNIT_OF_VOLUME: self.is_unit_of_volume
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
} }
Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):

View File

@@ -72,7 +72,6 @@ class User(SQLAlchemy_ABC, Base):
_m = 'User.from_json' _m = 'User.from_json'
user = User() user = User()
if json is None: return user if json is None: return user
Helper_App.console_log(f'{_m}\njson: {json}')
user.id_user = json['id_user'] user.id_user = json['id_user']
user.id_user_auth0 = json['id_user_auth0'] user.id_user_auth0 = json['id_user_auth0']
user.firstname = json['firstname'] user.firstname = json['firstname']
@@ -83,7 +82,6 @@ class User(SQLAlchemy_ABC, Base):
user.can_admin_dog = user.is_super_user user.can_admin_dog = user.is_super_user
Helper_App.console_log(f'user: {user}')
return user return user
@staticmethod @staticmethod
@@ -91,7 +89,6 @@ class User(SQLAlchemy_ABC, Base):
_m = 'User.from_json_auth0' _m = 'User.from_json_auth0'
user = User() user = User()
if json is None: return user if json is None: return user
Helper_App.console_log(f'{_m}\njson: {json}')
user_info = json['userinfo'] user_info = json['userinfo']
user.id_user = None user.id_user = None
user.id_user_auth0 = user_info['sub'] user.id_user_auth0 = user_info['sub']
@@ -103,7 +100,6 @@ class User(SQLAlchemy_ABC, Base):
user.can_admin_dog = user.is_super_user user.can_admin_dog = user.is_super_user
Helper_App.console_log(f'user: {user}')
return user return user
def to_json(self): def to_json(self):
@@ -118,7 +114,6 @@ class User(SQLAlchemy_ABC, Base):
, 'is_email_verified': self.is_email_verified , 'is_email_verified': self.is_email_verified
, 'is_super_user': self.is_super_user , 'is_super_user': self.is_super_user
} }
Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):

View File

@@ -68,7 +68,7 @@ class Weather(SQLAlchemy_ABC, Base):
weather.id_weather = json.get(Weather.ATTR_ID_WEATHER, -1) weather.id_weather = json.get(Weather.ATTR_ID_WEATHER, -1)
weather.name = json[cls.FLAG_NAME] weather.name = json[cls.FLAG_NAME]
weather.code = json.get(cls.FLAG_CODE, weather.name.upper().replace(" ", "_")) weather.code = json.get(cls.FLAG_CODE, weather.name.upper().replace(" ", "_"))
weather.active = json[cls.FLAG_ACTIVE] weather.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
weather.created_on = json.get(cls.FLAG_CREATED_ON, None) weather.created_on = json.get(cls.FLAG_CREATED_ON, None)
# Helper_App.console_log(f'Weather: {weather}') # Helper_App.console_log(f'Weather: {weather}')
return weather return weather

View File

@@ -56,13 +56,11 @@ class File_Type(SQLAlchemy_ABC, Base):
_m = 'File_Type.from_json' _m = 'File_Type.from_json'
file_type = cls() file_type = cls()
if json is None: return File_Type if json is None: return File_Type
# Helper_App.console_log(f'{_m}\njson: {json}')
file_type.id_file_type = json.get(cls.ATTR_ID_FILE_TYPE, -1) file_type.id_file_type = json.get(cls.ATTR_ID_FILE_TYPE, -1)
file_type.name = json[cls.FLAG_NAME] file_type.name = json[cls.FLAG_NAME]
file_type.code = json.get(cls.FLAG_CODE, file_type.name.upper().replace(" ", "_")) file_type.code = json.get(cls.FLAG_CODE, file_type.name.upper().replace(" ", "_"))
file_type.is_image = json[cls.FLAG_IS_IMAGE] file_type.is_image = json[cls.FLAG_IS_IMAGE]
file_type.active = json[cls.FLAG_ACTIVE] file_type.active = json[cls.FLAG_ACTIVE]
# Helper_App.console_log(f'File_Type: {file_type}')
return file_type return file_type
@@ -75,7 +73,6 @@ class File_Type(SQLAlchemy_ABC, Base):
, self.FLAG_IS_IMAGE: self.is_image , self.FLAG_IS_IMAGE: self.is_image
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
} }
# Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):

View File

@@ -63,16 +63,14 @@ class Contact_Form(SQLAlchemy_ABC, Base):
_m = 'Contact_Form.from_json' _m = 'Contact_Form.from_json'
contact_form = cls() contact_form = cls()
if json is None: return Contact_Form if json is None: return Contact_Form
Helper_App.console_log(f'{_m}\njson: {json}')
contact_form.id_contact_form = -1 contact_form.id_contact_form = -1
contact_form.email = json[cls.FLAG_EMAIL] contact_form.email = json[cls.FLAG_EMAIL]
contact_form.name_contact = json[cls.FLAG_NAME_CONTACT] contact_form.name_contact = json[cls.FLAG_NAME_CONTACT]
contact_form.name_company = json[cls.FLAG_NAME_COMPANY] contact_form.name_company = json[cls.FLAG_NAME_COMPANY]
contact_form.message = json[cls.FLAG_MESSAGE] contact_form.message = json[cls.FLAG_MESSAGE]
contact_form.receive_marketing_communications = json[cls.FLAG_RECEIVE_MARKETING_COMMUNICATIONS] contact_form.receive_marketing_communications = json[cls.FLAG_RECEIVE_MARKETING_COMMUNICATIONS]
contact_form.active = json[cls.FLAG_ACTIVE] contact_form.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
contact_form.created_on = json.get(cls.FLAG_CREATED_ON, None) contact_form.created_on = json.get(cls.FLAG_CREATED_ON, None)
Helper_App.console_log(f'Contact_Form: {contact_form}')
return contact_form return contact_form
@@ -87,7 +85,6 @@ class Contact_Form(SQLAlchemy_ABC, Base):
, self.FLAG_ACTIVE: self.active , self.FLAG_ACTIVE: self.active
, self.FLAG_CREATED_ON: self.created_on , self.FLAG_CREATED_ON: self.created_on
} }
Helper_App.console_log(f'as_json: {as_json}')
return as_json return as_json
def __repr__(self): def __repr__(self):

View File

@@ -15,6 +15,9 @@ Dog Assessments Page Controller.
from business_objects.api import API from business_objects.api import API
from business_objects.dog.command import Command from business_objects.dog.command import Command
from business_objects.dog.assessment import Assessment from business_objects.dog.assessment import Assessment
from business_objects.dog.assessment_command_modality_link import Assessment_Command_Modality_Link
from business_objects.dog.assessment_response import Assessment_Response
from business_objects.dog.distraction import Distraction
from datastores.datastore_dog import DataStore_Dog from datastores.datastore_dog import DataStore_Dog
from forms.dog.assessment import Filters_Assessment from forms.dog.assessment import Filters_Assessment
from helpers.helper_app import Helper_App from helpers.helper_app import Helper_App
@@ -56,18 +59,31 @@ def assessments():
Helper_App.console_log(f'form_filters={form_filters}') Helper_App.console_log(f'form_filters={form_filters}')
return render_template('pages/dog/_assessments.html', model = model) return render_template('pages/dog/_assessments.html', model = model)
@routes_dog_assessment.route(Model_View_Dog_Assessment.HASH_SAVE_DOG_ASSESSMENT, methods=['POST']) @routes_dog_assessment.route(Model_View_Dog_Assessment.HASH_SAVE_DOG_ASSESSMENT_DISTRACTION_AND_RESPONSE, methods=['POST'])
def save_assessment(): def save_assessment():
Helper_App.console_log('save_assessment')
data = Helper_App.get_request_data(request) data = Helper_App.get_request_data(request)
try: try:
token_received = data.get(Model_View_Dog_Assessment.FLAG_CSRF_TOKEN)
token_expected = session.get(Model_View_Dog_Assessment.FLAG_CSRF_TOKEN) # 'csrf_token'
if (not token_received) or not hmac.compare_digest(token_received, token_expected):
Helper_App.console_log(f'token_received: {token_received}\ntoken_expected: {token_expected}')
Helper_App.console_log(f'session: {session}\nkey: {Model_View_Dog_Assessment.FLAG_CSRF_TOKEN}')
return jsonify({
Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_FAILURE,
Model_View_Dog_Assessment.FLAG_MESSAGE: f'Invalid token received.'
})
form_filters = Filters_Assessment.from_json(data[Model_View_Dog_Assessment.FLAG_FORM_FILTERS]) form_filters = Filters_Assessment.from_json(data[Model_View_Dog_Assessment.FLAG_FORM_FILTERS])
"""
if not form_filters.validate_on_submit(): if not form_filters.validate_on_submit():
return jsonify({ return jsonify({
Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_FAILURE, Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_FAILURE,
Model_View_Dog_Assessment.FLAG_MESSAGE: f'Filters form invalid.\n{form_filters.errors}' Model_View_Dog_Assessment.FLAG_MESSAGE: f'Filters form invalid.\n{form_filters.errors}'
}) })
model_return = Model_View_Dog_Assessment(form_filters_old=form_filters) """
if not model_return.is_user_logged_in: model_permissions = Model_View_Dog_Assessment(form_filters_old=form_filters)
Helper_App.console_log('made model')
if not model_permissions.is_user_logged_in:
raise Exception('User not logged in') raise Exception('User not logged in')
assessments = data[Model_View_Dog_Assessment.FLAG_ASSESSMENT] assessments = data[Model_View_Dog_Assessment.FLAG_ASSESSMENT]
@@ -77,19 +93,47 @@ def save_assessment():
Model_View_Dog_Assessment.FLAG_MESSAGE: f'No assessments.' Model_View_Dog_Assessment.FLAG_MESSAGE: f'No assessments.'
}) })
objs_assessment = [] objs_assessment = []
objs_distraction = []
objs_assessment_command_modality_link = []
objs_assessment_responses = []
for assessment in assessments: for assessment in assessments:
objs_assessment.append(Assessment.from_json(assessment)) objs_assessment.append(Assessment.from_json(assessment))
objs_distraction.extend([Distraction.from_json(link_json) for link_json in assessment.get(Distraction.FLAG_DISTRACTION, [])])
for link_json in assessment.get(Assessment_Command_Modality_Link.FLAG_ASSESSMENT_COMMAND_MODALITY_LINK, []):
objs_assessment_command_modality_link.append(Assessment_Command_Modality_Link.from_json(link_json))
objs_assessment_responses.extend([Assessment_Response.from_json(response_json) for response_json in link_json.get(Assessment_Response.FLAG_ASSESSMENT_RESPONSE, [])])
"""
errors = []
Helper_App.console_log(f'objs_assessment={objs_assessment}') Helper_App.console_log(f'objs_assessment={objs_assessment}')
errors = DataStore_Dog.save_assessments(data.get('comment', 'No comment'), objs_assessment) if len(objs_assessment) > 0:
errors.extend(DataStore_Dog.save_assessments(data.get('comment', 'No comment'), objs_assessment))
Helper_App.console_log(f'objs_distraction={objs_distraction}')
if len(objs_distraction) > 0:
errors.extend(DataStore_Dog.save_distractions(data.get('comment', 'No comment'), objs_distraction))
Helper_App.console_log(f'objs_assessment_command_modality_link={objs_assessment_command_modality_link}')
if len(objs_assessment_command_modality_link) > 0:
errors.extend(DataStore_Dog.save_assessment_command_modality_links(data.get('comment', 'No comment'), objs_assessment_command_modality_link))
Helper_App.console_log(f'objs_assessment_responses={objs_assessment_responses}')
if len(objs_assessment_responses) > 0:
errors.extend(DataStore_Dog.save_assessment_responses(data.get('comment', 'No comment'), objs_assessment_responses))
"""
errors = DataStore_Dog.save_assessments_distactions_and_responses(
comment = data.get('comment', 'No comment')
, assessments = objs_assessment
, distractions = objs_distraction
, assessment_command_modality_links = objs_assessment_command_modality_link
, assessment_responses = objs_assessment_responses
)
# model_return = Model_View_Dog_Assessment(form_filters_old=form_filters)
if (len(errors) > 0): if (len(errors) > 0):
return jsonify({ return jsonify({
Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_FAILURE, Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_FAILURE,
Model_View_Dog_Assessment.FLAG_MESSAGE: f'Error saving assessments.\n{model_return.convert_list_objects_to_json(errors)}' Model_View_Dog_Assessment.FLAG_MESSAGE: f'Error saving assessments.\n{model_permissions.convert_list_objects_to_json(errors)}'
}) })
return jsonify({ return jsonify({
Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_SUCCESS, Model_View_Dog_Assessment.FLAG_STATUS: Model_View_Dog_Assessment.FLAG_SUCCESS,
Model_View_Dog_Assessment.FLAG_DATA: Model_View_Dog_Assessment.convert_list_objects_to_json(model_return.assessments) Model_View_Dog_Assessment.FLAG_DATA: None # Model_View_Dog_Assessment.convert_list_objects_to_json(model_permissions.assessments)
}) })
except Exception as e: except Exception as e:
return jsonify({ return jsonify({
@@ -107,12 +151,17 @@ def assessment():
Helper_App.console_log(f'Error: {e}') Helper_App.console_log(f'Error: {e}')
form_filters = Filters_Assessment() form_filters = Filters_Assessment()
Helper_App.console_log(f'form_filters={form_filters}') Helper_App.console_log(f'form_filters={form_filters}')
id_assessment = request.args.get(Model_View_Dog_Assessment.ATTR_ID_ASSESSMENT, None) temp_id_assessment = request.args.get(Model_View_Dog_Assessment.ATTR_ID_ASSESSMENT, -1)
id_assessment = None if (temp_id_assessment is None or temp_id_assessment == '') else int(temp_id_assessment)
model = Model_View_Dog_Assessment(form_filters_old = form_filters, id_assessment = id_assessment, hash_page_current = Model_View_Dog_Assessment.HASH_PAGE_DOG_ASSESSMENT) model = Model_View_Dog_Assessment(form_filters_old = form_filters, id_assessment = id_assessment, hash_page_current = Model_View_Dog_Assessment.HASH_PAGE_DOG_ASSESSMENT)
model._title = 'Assessment' model._title = 'Assessment'
if model.assessments is None or len(model.assessments) == 0: if model.assessments is None or len(model.assessments) == 0:
if id_assessment is not None and id_assessment > 0:
return assessments() return assessments()
else:
model.assessments = [Assessment()]
if not model.is_user_logged_in: if not model.is_user_logged_in:
return redirect(url_for('routes_core_home.home')) return redirect(url_for('routes_core_home.home'))
session[Model_View_Dog_Assessment.FLAG_CSRF_TOKEN] = model.form_filters.csrf_token.current_token #.hidden_tag()
Helper_App.console_log(f'form_filters={form_filters}') Helper_App.console_log(f'form_filters={form_filters}')
return render_template('pages/dog/_assessment.html', model = model) return render_template('pages/dog/_assessment.html', model = model)

View File

@@ -20,7 +20,7 @@ from models.model_view_accessibility_statement import Model_View_Accessibility_S
from models.model_view_retention_schedule import Model_View_Retention_Schedule from models.model_view_retention_schedule import Model_View_Retention_Schedule
import lib.argument_validation as av import lib.argument_validation as av
# external # external
from flask import render_template, Blueprint from flask import render_template, Blueprint, send_from_directory
routes_legal = Blueprint('routes_legal', __name__) routes_legal = Blueprint('routes_legal', __name__)
@@ -67,4 +67,6 @@ def privacy_policy():
except Exception as e: except Exception as e:
return str(e) return str(e)
return html_body return html_body
@routes_legal.route('/robots.txt', methods=['GET'])
def robots_txt():
return send_from_directory('static', 'docs/robots.txt')

View File

@@ -682,6 +682,54 @@ class DataStore_Dog(DataStore_Base):
return assessments, errors return assessments, errors
@classmethod
def save_assessments(cls, comment, assessments):
_m = f'{cls}.save_assessments'
av.val_str(comment, 'comment', _m)
guid = Helper_DB_MySQL.create_guid_str()
now = datetime.now()
user = cls.get_user_session()
Helper_App.console_log(f'saving assessments: {assessments}')
rows = []
for link in assessments:
row = Assessment_Temp.from_assessment(link)
row.guid = guid
rows.append(row)
Helper_App.console_log(f'rows: {rows}')
cls.upload_bulk(Assessment_Temp.__tablename__, rows, 1000)
Helper_App.console_log('assessments uploaded')
argument_dict_list = {
'a_comment': comment,
'a_guid': guid,
'a_id_user': user.id_user,
'a_debug': 0
}
result = cls.db_procedure_execute('p_dog_save_assessment', argument_dict_list)
Helper_App.console_log('Assessments saved')
# Errors
cursor = result.cursor
cursor.nextset()
result_set_e = cursor.fetchall()
Helper_App.console_log(f"Raw errors: {result_set_e}")
errors = []
if len(result_set_e) > 0:
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
for error in errors:
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
cls.db_cursor_clear(cursor)
return errors
@classmethod @classmethod
def get_many_weather(cls, filters_weather): def get_many_weather(cls, filters_weather):
@@ -873,6 +921,54 @@ class DataStore_Dog(DataStore_Base):
return distractions, errors return distractions, errors
@classmethod
def save_distractions(cls, comment, distractions):
_m = f'{cls}.save_distractions'
av.val_str(comment, 'comment', _m)
guid = Helper_DB_MySQL.create_guid_str()
now = datetime.now()
user = cls.get_user_session()
Helper_App.console_log(f'saving distractions: {distractions}')
rows = []
for distraction in distractions:
row = Distraction_Temp.from_distraction(distraction)
row.guid = guid
rows.append(row)
Helper_App.console_log(f'rows: {rows}')
cls.upload_bulk(Distraction_Temp.__tablename__, rows, 1000)
Helper_App.console_log('distractions uploaded')
argument_dict_list = {
'a_comment': comment,
'a_guid': guid,
'a_id_user': user.id_user,
'a_debug': 0
}
result = cls.db_procedure_execute('p_dog_save_distraction', argument_dict_list)
Helper_App.console_log('Distractions saved')
# Errors
cursor = result.cursor
cursor.nextset()
result_set_e = cursor.fetchall()
Helper_App.console_log(f"Raw errors: {result_set_e}")
errors = []
if len(result_set_e) > 0:
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
for error in errors:
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
cls.db_cursor_clear(cursor)
return errors
@classmethod @classmethod
def get_many_command_modality(cls, filters_command_modality): def get_many_command_modality(cls, filters_command_modality):
@@ -987,6 +1083,54 @@ class DataStore_Dog(DataStore_Base):
return assessment_command_modality_links, errors return assessment_command_modality_links, errors
@classmethod
def save_assessment_command_modality_links(cls, comment, assessment_command_modality_links):
_m = f'{cls}.save_assessment_command_modality_links'
av.val_str(comment, 'comment', _m)
guid = Helper_DB_MySQL.create_guid_str()
now = datetime.now()
user = cls.get_user_session()
Helper_App.console_log(f'saving assessment_command_modality_links: {assessment_command_modality_links}')
rows = []
for link in assessment_command_modality_links:
row = Assessment_Command_Modality_Link_Temp.from_assessment_command_modality_link(link)
row.guid = guid
rows.append(row)
Helper_App.console_log(f'rows: {rows}')
cls.upload_bulk(Assessment_Command_Modality_Link_Temp.__tablename__, rows, 1000)
Helper_App.console_log('assessment_command_modality_links uploaded')
argument_dict_list = {
'a_comment': comment,
'a_guid': guid,
'a_id_user': user.id_user,
'a_debug': 0
}
result = cls.db_procedure_execute('p_dog_save_assessment_command_modality_link', argument_dict_list)
Helper_App.console_log('Assessment_Command_Modality_Links saved')
# Errors
cursor = result.cursor
cursor.nextset()
result_set_e = cursor.fetchall()
Helper_App.console_log(f"Raw errors: {result_set_e}")
errors = []
if len(result_set_e) > 0:
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
for error in errors:
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
cls.db_cursor_clear(cursor)
return errors
@classmethod @classmethod
def get_many_response_quality_metric(cls, filters_response_quality_metric): def get_many_response_quality_metric(cls, filters_response_quality_metric):
@@ -1100,3 +1244,124 @@ class DataStore_Dog(DataStore_Base):
cls.db_cursor_clear(cursor) cls.db_cursor_clear(cursor)
return assessment_responses, errors return assessment_responses, errors
@classmethod
def save_assessment_responses(cls, comment, assessment_responses):
_m = f'{cls}.save_assessment_responses'
av.val_str(comment, 'comment', _m)
guid = Helper_DB_MySQL.create_guid_str()
now = datetime.now()
user = cls.get_user_session()
Helper_App.console_log(f'saving assessment_responses: {assessment_responses}')
rows = []
for response in assessment_responses:
row = Assessment_Response_Temp.from_assessment_response(response)
row.guid = guid
rows.append(row)
Helper_App.console_log(f'rows: {rows}')
cls.upload_bulk(Assessment_Response_Temp.__tablename__, rows, 1000)
Helper_App.console_log('assessment_responses uploaded')
argument_dict_list = {
'a_comment': comment,
'a_guid': guid,
'a_id_user': user.id_user,
'a_debug': 0
}
result = cls.db_procedure_execute('p_dog_save_assessment_response', argument_dict_list)
Helper_App.console_log('Assessment_Responses saved')
# Errors
cursor = result.cursor
cursor.nextset()
result_set_e = cursor.fetchall()
Helper_App.console_log(f"Raw errors: {result_set_e}")
errors = []
if len(result_set_e) > 0:
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
for error in errors:
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
cls.db_cursor_clear(cursor)
return errors
@classmethod
def save_assessments_distactions_and_responses(cls, comment, assessments, distractions, assessment_command_modality_links, assessment_responses):
_m = f'{cls}.save_assessments_distactions_and_responses'
av.val_str(comment, 'comment', _m)
guid = Helper_DB_MySQL.create_guid_str()
now = datetime.now()
user = cls.get_user_session()
Helper_App.console_log(f'saving assessments, distractions, and responses:\nAssessments: {assessments}\nDistractions: {distractions}\nAssessment Command Modality Links: {assessment_command_modality_links}\nResponses: {assessment_responses}')
rows_assessment = []
for assessment in assessments:
row = Assessment_Temp.from_assessment(assessment)
row.guid = guid
rows_assessment.append(row)
Helper_App.console_log(f'rows_assessment: {rows_assessment}')
cls.upload_bulk(Assessment_Temp.__tablename__, rows_assessment, 1000)
Helper_App.console_log('assessments uploaded')
rows_distraction = []
for distraction in distractions:
row = Distraction_Temp.from_distraction(distraction)
row.guid = guid
rows_distraction.append(row)
Helper_App.console_log(f'rows_distraction: {rows_distraction}')
cls.upload_bulk(Distraction_Temp.__tablename__, rows_distraction, 1000)
Helper_App.console_log('distractions uploaded')
rows_link = []
for link in assessment_command_modality_links:
row = Assessment_Command_Modality_Link_Temp.from_assessment_command_modality_link(link)
row.guid = guid
rows_link.append(row)
Helper_App.console_log(f'rows_link: {rows_link}')
cls.upload_bulk(Assessment_Command_Modality_Link_Temp.__tablename__, rows_link, 1000)
Helper_App.console_log('links uploaded')
rows_response = []
for response in assessment_responses:
row = Assessment_Response_Temp.from_assessment_response(response)
row.guid = guid
rows_response.append(row)
Helper_App.console_log(f'rows_response: {rows_response}')
cls.upload_bulk(Assessment_Response_Temp.__tablename__, rows_response, 1000)
Helper_App.console_log('assessment responses uploaded')
argument_dict_list = {
'a_comment': comment,
'a_guid': guid,
'a_id_user': user.id_user,
'a_debug': 0
}
result = cls.db_procedure_execute('p_dog_save_assessment_distraction_and_response', argument_dict_list)
Helper_App.console_log('All saved')
# Errors
cursor = result.cursor
cursor.nextset()
result_set_e = cursor.fetchall()
Helper_App.console_log(f"Raw errors: {result_set_e}")
errors = []
if len(result_set_e) > 0:
errors = [SQL_Error.from_db_record(row) for row in result_set_e]
for error in errors:
Helper_App.console_log(f"Error [{error.code}]: {error.msg}")
cls.db_cursor_clear(cursor)
return errors

View File

@@ -41,7 +41,7 @@ class Form_Base(FlaskForm, metaclass=Form_Base_Meta):
@staticmethod @staticmethod
def get_select_option_default_value(): def get_select_option_default_value():
return '' return '0'
def __repr__(self): def __repr__(self):
fields = ', '.join( fields = ', '.join(

View File

@@ -76,6 +76,8 @@ class Model_View_Base(BaseModel, ABC):
ATTR_ID_IMAGE: ClassVar[str] = Image.ATTR_ID_IMAGE ATTR_ID_IMAGE: ClassVar[str] = Image.ATTR_ID_IMAGE
ATTR_ID_LIGHTING_LEVEL: ClassVar[str] = Lighting_Level.ATTR_ID_LIGHTING_LEVEL ATTR_ID_LIGHTING_LEVEL: ClassVar[str] = Lighting_Level.ATTR_ID_LIGHTING_LEVEL
ATTR_ID_LOCATION: ClassVar[str] = Location.ATTR_ID_LOCATION ATTR_ID_LOCATION: ClassVar[str] = Location.ATTR_ID_LOCATION
ATTR_ID_OBEDIENCE_LEVEL: ClassVar[str] = Obedience_Level.ATTR_ID_OBEDIENCE_LEVEL
ATTR_ID_RESPONSE_QUALITY_METRIC: ClassVar[str] = Response_Quality_Metric.ATTR_ID_RESPONSE_QUALITY_METRIC
ATTR_ID_WEATHER: ClassVar[str] = Weather.ATTR_ID_WEATHER ATTR_ID_WEATHER: ClassVar[str] = Weather.ATTR_ID_WEATHER
ATTR_TEXT_COLLAPSED: ClassVar[str] = 'textCollapsed' ATTR_TEXT_COLLAPSED: ClassVar[str] = 'textCollapsed'
ATTR_TEXT_EXPANDED: ClassVar[str] = 'textExpanded' ATTR_TEXT_EXPANDED: ClassVar[str] = 'textExpanded'
@@ -243,7 +245,7 @@ class Model_View_Base(BaseModel, ABC):
HASH_PAGE_DOG_COMMANDS: ClassVar[str] = '/dog/commands' HASH_PAGE_DOG_COMMANDS: ClassVar[str] = '/dog/commands'
HASH_PAGE_DOG_DOG_COMMAND_LINKS: ClassVar[str] = '/dog/dog-command-links' HASH_PAGE_DOG_DOG_COMMAND_LINKS: ClassVar[str] = '/dog/dog-command-links'
HASH_PAGE_DOG_DOGS: ClassVar[str] = '/dog/dogs' HASH_PAGE_DOG_DOGS: ClassVar[str] = '/dog/dogs'
HASH_PAGE_DOG_HOME: ClassVar[str] = '/dog/home' HASH_PAGE_DOG_HOME: ClassVar[str] = '/dog/'
HASH_PAGE_DOG_LOCATIONS: ClassVar[str] = '/dog/locations' HASH_PAGE_DOG_LOCATIONS: ClassVar[str] = '/dog/locations'
HASH_PAGE_ERROR_NO_PERMISSION: ClassVar[str] = '/error' HASH_PAGE_ERROR_NO_PERMISSION: ClassVar[str] = '/error'
HASH_PAGE_HOME: ClassVar[str] = '/' HASH_PAGE_HOME: ClassVar[str] = '/'
@@ -252,7 +254,8 @@ class Model_View_Base(BaseModel, ABC):
HASH_PAGE_USER_ACCOUNT: ClassVar[str] = '/user' HASH_PAGE_USER_ACCOUNT: ClassVar[str] = '/user'
HASH_PAGE_USER_LOGIN: ClassVar[str] = '/login' HASH_PAGE_USER_LOGIN: ClassVar[str] = '/login'
HASH_PAGE_USER_LOGOUT: ClassVar[str] = '/logout' HASH_PAGE_USER_LOGOUT: ClassVar[str] = '/logout'
HASH_SAVE_DOG_ASSESSMENT: ClassVar[str] = '/dog/save-assessment' # HASH_SAVE_DOG_ASSESSMENT: ClassVar[str] = '/dog/save-assessment'
HASH_SAVE_DOG_ASSESSMENT_DISTRACTION_AND_RESPONSE: ClassVar[str] = '/dog/save-assessment-distraction-and-response'
HASH_SAVE_DOG_BUTTON_ICON: ClassVar[str] = '/dog/save-button-icon' HASH_SAVE_DOG_BUTTON_ICON: ClassVar[str] = '/dog/save-button-icon'
HASH_SAVE_DOG_COLOUR: ClassVar[str] = '/dog/save-colour' HASH_SAVE_DOG_COLOUR: ClassVar[str] = '/dog/save-colour'
HASH_SAVE_DOG_COMMAND: ClassVar[str] = '/dog/save-command' HASH_SAVE_DOG_COMMAND: ClassVar[str] = '/dog/save-command'

View File

@@ -41,7 +41,7 @@ from typing import ClassVar, Optional
from operator import attrgetter from operator import attrgetter
class Model_View_Dog_Assessment(Model_View_Dog_Base): class Model_View_Dog_Assessment(Model_View_Dog_Base):
FLAG_DISTANCE_FROM_HANDLER: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_DISTANCE_FROM_HANDLER FLAG_DISTANCE_FROM_HANDLER_METRES: ClassVar[str] = Assessment_Command_Modality_Link.FLAG_DISTANCE_FROM_HANDLER_METRES
FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_EMOTIONAL
FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT
FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT

View File

@@ -1,3 +0,0 @@
User-agent: *
Disallow: /qa
Disallow: /dev

View File

@@ -1,26 +1,24 @@
USE demo; 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 // 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_comment VARCHAR(500),
IN a_guid BINARY(36), IN a_guid BINARY(36),
IN a_id_user INT, IN a_id_user INT,
IN a_debug BIT IN a_debug BIT
) )
BEGIN 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_admin BIT;
DECLARE v_can_create 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 DECLARE exit handler for SQLEXCEPTION
BEGIN BEGIN
@@ -32,14 +30,14 @@ BEGIN
ROLLBACK; ROLLBACK;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Combined (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(50) NOT NULL , code VARCHAR(250)
, msg VARCHAR(4000) NOT NULL , msg TEXT NOT NULL
); );
INSERT INTO tmp_Msg_Error ( INSERT INTO tmp_Msg_Error_Combined (
id_type id_type
, code , code
, msg , msg
@@ -52,155 +50,190 @@ BEGIN
WHERE MET.code = 'MYSQL_ERROR' WHERE MET.code = 'MYSQL_ERROR'
; ;
SELECT * SELECT
FROM tmp_Msg_Error; t_ERROR.id_error
DROP TABLE IF EXISTS tmp_Msg_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; END;
SET SESSION group_concat_max_len=15000;
SET v_time_start := CURRENT_TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6);
SET v_code_type_error_bad_data := 'BAD_DATA'; 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_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_contact_form_admin := (SELECT id_permission FROM demo.DOG_Permission P WHERE P.code = 'CONTACT_FORM_ADMIN' 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_permission_contact_form_new := (SELECT id_permission FROM demo.DOG_Permission P WHERE P.code = 'CONTACT_FORM_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 ); 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 ( CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR (
id_contact_form INT NOT NULL id_temp INT
, email VARCHAR(255) NOT NULL , id_assessment INT
, name_contact VARCHAR(255) NOT NULL , id_assessment_old INT
, name_company VARCHAR(255) NOT NULL , active BIT
, message TEXT NOT NULL , is_new BIT
, receive_marketing_communications BIT NOT NULL
, active BIT NOT NULL
, name_error VARCHAR(255)
, is_new BIT NOT NULL
); );
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE tmp_Distraction_Save_ADR (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_temp INT
, id_type INT NULL , id_distraction INT
, code VARCHAR(50) NOT NULL , id_distraction_old INT
, msg VARCHAR(4000) NOT NULL , 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 -- Get data from Temp table
INSERT INTO tmp_Contact_Form ( INSERT INTO tmp_Assessment_Save_ADR (
id_contact_form id_temp
, email , id_assessment
, name_contact , id_assessment_old
, name_company
, message
, receive_marketing_communications
, active , active
, is_new , is_new
) )
SELECT SELECT
CF_T.id_contact_form AS id_contact_form ASSESSMENT_T.id_temp
, IFNULL(CF_T.email, CF.email) AS code , ASSESSMENT_T.id_assessment
, IFNULL(CF_T.name_contact, CF.name_contact) AS name_contact , ASSESSMENT_T.id_assessment
, IFNULL(CF_T.name_company, CF.name_company) AS name_company , COALESCE(
, IFNULL(CF_T.message, CF.message) AS message ASSESSMENT_T.active
, COALESCE(CF_T.receive_marketing_communications, CF.receive_marketing_communications, 0) AS receive_marketing_communications , ASSESSMENT.active
, COALESCE(CF_T.active, CF.active, 1) AS active , 1
, CASE WHEN IFNULL(CF_T.id_contact_form, 0) < 1 THEN 1 ELSE 0 END AS is_new ) AS active
FROM demo.PH_Contact_Form_Temp CF_T , CASE WHEN COALESCE(ASSESSMENT_T.id_assessment, 0) < 1 THEN 1 ELSE 0 END AS is_new
LEFT JOIN demo.PH_Contact_Form CF ON CF_T.id_contact_form = CF.id_contact_form FROM demo.DOG_Assessment_Temp ASSESSMENT_T
WHERE CF_T.guid = a_guid 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 INSERT INTO tmp_Distraction_Save_ADR (
SET name_error = COALESCE(t_CF.email, t_CF.name_company, t_CF.name_contact, t_CF.message, '(No Contact Form)') 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 INSERT INTO tmp_Assessment_Command_Modality_Link_Save_ADR (
-- Missing mandatory fields id_temp
-- email , id_link
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.email) LIMIT 1) THEN , id_link_old
INSERT INTO tmp_Msg_Error ( , id_assessment
id_type , active
, code , is_new
, msg
) )
SELECT SELECT
v_id_type_error_bad_data ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp
, v_code_type_error_bad_data , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
, CONCAT('The following Contact Form(s) do not have an Email: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
FROM tmp_Contact_Form t_CF , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment
WHERE ISNULL(t_CF.email) , 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
; ;
END IF;
-- name_contact INSERT INTO tmp_Assessment_Response_Save_ADR (
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.name_contact) LIMIT 1) THEN id_temp
INSERT INTO tmp_Msg_Error ( , id_response
id_type , id_response_old
, code , id_assessment_command_modality_link
, msg , active
, is_new
) )
SELECT SELECT
v_id_type_error_bad_data ASSESSMENT_RESPONSE_T.id_temp
, v_code_type_error_bad_data , ASSESSMENT_RESPONSE_T.id_response
, CONCAT('The following Contact Form(s) do not have a Contact Name: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg , ASSESSMENT_RESPONSE_T.id_response
FROM tmp_Contact_Form t_CF , ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link
WHERE ISNULL(t_CF.name_contact) , COALESCE(
; ASSESSMENT_RESPONSE_T.active
END IF; , ASSESSMENT_RESPONSE.active
-- name_company , 1
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.name_company) LIMIT 1) THEN ) AS active
INSERT INTO tmp_Msg_Error ( , CASE WHEN COALESCE(ASSESSMENT_RESPONSE_T.id_response, 0) < 1 THEN 1 ELSE 0 END AS is_new
id_type FROM demo.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T
, code LEFT JOIN demo.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response
, msg WHERE ASSESSMENT_RESPONSE_T.guid = a_guid
)
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)
; ;
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; END IF;
-- Permissions -- Permissions
IF a_debug = 1 THEN -- Can Create
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;
CALL demo.p_dog_calc_user( CALL demo.p_dog_calc_user(
a_guid a_guid
, 0 -- get_all_user , 0 -- get_all_user
@@ -213,97 +246,32 @@ BEGIN
, 1 -- a_require_any_id_search_filters_met , 1 -- a_require_any_id_search_filters_met
, 0 -- a_require_all_non_id_search_filters_met , 0 -- a_require_all_non_id_search_filters_met
, 0 -- a_require_any_non_id_search_filters_met , 0 -- a_require_any_non_id_search_filters_met
, v_id_permission_contact_form_admin -- ids_permission , v_id_permission_dog_new -- ids_permission
, v_id_access_level_view -- ids_access_level , v_id_access_level_edit -- ids_access_level
, 0 -- a_show_errors , 0 -- a_show_errors
, 0 -- a_debug , 0 -- a_debug
); );
SELECT SELECT
IFNULL(CALC_USER_T.has_access, 0) IFNULL(CU_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)
INTO INTO
v_can_create v_can_create
FROM demo.DOG_Calc_User_Temp CALC_USER_T FROM demo.DOG_Calc_User_Temp CU_T
WHERE CALC_USER_T.GUID = a_guid WHERE CU_T.GUID = a_guid
LIMIT 1 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( CALL demo.p_dog_clear_calc_user(
a_guid a_guid
, 0 -- a_debug , 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 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 WHERE t_ME.id_type <> v_id_type_error_no_permission
; ;
INSERT INTO tmp_Msg_Error ( INSERT INTO tmp_Msg_Error_Combined (
id_type id_type
, code , code
, msg , msg
@@ -311,98 +279,267 @@ BEGIN
VALUES ( VALUES (
v_id_type_error_no_permission v_id_type_error_no_permission
, v_code_type_error_no_permission , v_code_type_error_no_permission
, 'You do not have permission to admin Contact Forms.' , 'You do not have permission to edit Assessment_Distraction_And_Responses.'
) )
; ;
END IF; END IF;
IF EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN -- DELETE FROM tmp_Msg_Error_Combined_Save;
IF a_debug = 1 THEN -- Save Assessments
SELECT * from tmp_Contact_Form; -- CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR_Save_Error AS
END IF; -- INSERT INTO tmp_Msg_Error_Combined_Save
CALL demo.p_dog_save_assessment (
DELETE FROM tmp_Contact_Form;
END IF;
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_comment
, a_guid
, a_id_user , a_id_user
, v_time_start , 0 -- debug
) );
;
SET v_id_change_set := LAST_INSERT_ID(); /*
INSERT INTO tmp_Msg_Error_Combined (
UPDATE demo.PH_Contact_Form CF id_type
INNER JOIN tmp_Contact_Form t_CF , code
ON CF.id_contact_form = t_CF.id_contact_form , msg
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 SELECT
t_CF.email AS email t_ASSESSMENT_SAVE_ERROR.id_type
, t_CF.name_contact AS name_contact , t_ASSESSMENT_SAVE_ERROR.code
, t_CF.name_company AS name_company , t_ASSESSMENT_SAVE_ERROR.msg
, t_CF.message AS message FROM tmp_Assessment_Save_ADR_Save_Error t_ASSESSMENT_SAVE_ERROR
, 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 -- Get New Assessment Ids
FROM tmp_Contact_Form t_CF 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 WHERE
t_CF.is_new = 1 t_ASSESSMENT.active = 1
AND t_CF.active = 1 AND t_ASSESSMENT.is_new = 1
; ;
COMMIT; -- Update Staging tables with new Ids
END IF; 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; START TRANSACTION;
DELETE FROM demo.PH_Contact_Form_Temp UPDATE demo.DOG_Distraction_Temp DISTRACTION_T
WHERE GUID = a_guid 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; 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 -- Errors
SELECT * SELECT
FROM tmp_Msg_Error t_ME t_ERROR.id_error
INNER JOIN demo.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type , 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 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; END IF;
DROP TEMPORARY TABLE tmp_Contact_Form; CALL demo.p_dog_clear_msg_error (
DROP TEMPORARY TABLE tmp_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 IF a_debug = 1 THEN
CALL demo.p_core_debug_timing_reporting ( v_time_start ); CALL demo.p_core_debug_timing_reporting ( v_time_start );
@@ -411,26 +548,15 @@ END //
DELIMITER ; 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' 'nipples'
, (SELECT GUID FROM demo.PH_Contact_Form_Temp ORDER BY id_temp DESC LIMIT 1) , 'ripplesipplenipplytippledipplykipple'
, 1 , 1
, 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 ( CREATE TABLE IF NOT EXISTS parts.DOG_Assessment (
id_assessment INT NOT NULL AUTO_INCREMENT PRIMARY KEY id_assessment INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, id_temp INT
, id_weather INT NOT NULL , id_weather INT NOT NULL
, CONSTRAINT FK_DOG_Assessment_id_weather , CONSTRAINT FK_DOG_Assessment_id_weather
FOREIGN KEY (id_weather) FOREIGN KEY (id_weather)

View File

@@ -1,6 +1,8 @@
USE parts; USE parts;
-- DROP TABLE IF EXISTS parts.DOG_Distraction;
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
FROM INFORMATION_SCHEMA.TABLES FROM INFORMATION_SCHEMA.TABLES
WHERE WHERE
@@ -10,6 +12,7 @@ WHERE
CREATE TABLE IF NOT EXISTS parts.DOG_Distraction ( CREATE TABLE IF NOT EXISTS parts.DOG_Distraction (
id_distraction INT NOT NULL AUTO_INCREMENT PRIMARY KEY id_distraction INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, id_temp INT
, id_assessment INT NOT NULL , id_assessment INT NOT NULL
, CONSTRAINT FK_DOG_Distraction_id_assessment , CONSTRAINT FK_DOG_Distraction_id_assessment
FOREIGN KEY (id_assessment) FOREIGN KEY (id_assessment)

View File

@@ -10,6 +10,7 @@ WHERE
CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link ( CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link (
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, id_temp INT
, id_assessment INT NOT NULL , id_assessment INT NOT NULL
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_assessment , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_assessment
FOREIGN KEY (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 , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_bribe
FOREIGN KEY (id_bribe) FOREIGN KEY (id_bribe)
REFERENCES parts.DOG_Bribe(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_sight_of_handler BIT
, is_in_scent_range_of_handler BIT , is_in_scent_range_of_handler BIT
, is_in_hearing_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 INT
, id_command_modality INT , id_command_modality INT
, id_bribe INT , id_bribe INT
, distance_from_handler FLOAT , distance_from_handler_metres FLOAT
, is_in_sight_of_handler BIT , is_in_sight_of_handler BIT
, is_in_scent_range_of_handler BIT , is_in_scent_range_of_handler BIT
, is_in_hearing_range_of_handler BIT , is_in_hearing_range_of_handler BIT

View File

@@ -1,6 +1,8 @@
USE parts; USE parts;
-- DROP TABLE IF EXISTS parts.DOG_Assessment_Response;
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
FROM INFORMATION_SCHEMA.TABLES FROM INFORMATION_SCHEMA.TABLES
WHERE WHERE
@@ -10,6 +12,7 @@ WHERE
CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Response ( CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Response (
id_response INT NOT NULL AUTO_INCREMENT PRIMARY KEY id_response INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, id_temp INT
, id_assessment_command_modality_link INT NOT NULL , id_assessment_command_modality_link INT NOT NULL
, CONSTRAINT FK_DOG_Assessment_Response_id_assessment_command_modality_link , CONSTRAINT FK_DOG_Assessment_Response_id_assessment_command_modality_link
FOREIGN KEY (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 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) WHERE NOT (OLD.id_bribe <=> NEW.id_bribe)
UNION UNION
-- Changed distance_from_handler -- Changed distance_from_handler_metres
SELECT NEW.id_link, 'distance_from_handler', CONVERT(OLD.distance_from_handler, CHAR), CONVERT(NEW.distance_from_handler, CHAR), NEW.id_change_set 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 <=> NEW.distance_from_handler) WHERE NOT (OLD.distance_from_handler_metres <=> NEW.distance_from_handler_metres)
UNION UNION
-- Changed is_in_sight_of_handler -- 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 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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -113,8 +113,8 @@ BEGIN
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
CREATE TEMPORARY TABLE tmp_User ( CREATE TEMPORARY TABLE tmp_User (
id_user INT NULL id_user INT
, rank_user INT NULL , rank_user INT
, can_admin_dog BIT NULL , can_admin_dog BIT NULL
, can_admin_user BIT NULL , can_admin_user BIT NULL
); );
@@ -128,7 +128,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split; DELETE FROM tmp_Split;

View File

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

View File

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

View File

@@ -53,7 +53,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_User ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_User (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -169,32 +169,32 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_User ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_User (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_User ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_User (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Id_Calc_User; DELETE FROM tmp_Split_Id_Calc_User;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Auth0_Id_Calc_User ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Auth0_Id_Calc_User (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Auth0_Id_Calc_User; DELETE FROM tmp_Split_Auth0_Id_Calc_User;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_User ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_User (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Name_Calc_User; DELETE FROM tmp_Split_Name_Calc_User;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Email_Calc_User ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Email_Calc_User (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Email_Calc_User; 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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Dog (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -137,20 +137,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Dog ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Dog (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Dog ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Dog (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Id_Calc_Dog; DELETE FROM tmp_Split_Id_Calc_Dog;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Dog ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Dog (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Name_Calc_Dog; DELETE FROM tmp_Split_Name_Calc_Dog;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -49,7 +49,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -164,7 +164,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT 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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Icon (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -185,26 +185,26 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Icon ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Icon (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Button_Icon ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Button_Icon (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Id_Calc_Button_Icon; DELETE FROM tmp_Split_Id_Calc_Button_Icon;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Button_Icon ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Button_Icon (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Name_Calc_Button_Icon; DELETE FROM tmp_Split_Name_Calc_Button_Icon;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Button_Icon ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Button_Icon (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Notes_Calc_Button_Icon; DELETE FROM tmp_Split_Notes_Calc_Button_Icon;

View File

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

View File

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

View File

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

View File

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

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT 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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Lighting_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Lighting_Level ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Lighting_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Lighting_Level ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Lighting_Level (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Id_Calc_Lighting_Level; DELETE FROM tmp_Split_Id_Calc_Lighting_Level;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Lighting_Level ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Lighting_Level (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Name_Calc_Lighting_Level; DELETE FROM tmp_Split_Name_Calc_Lighting_Level;

View File

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

View File

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

View File

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

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) , code VARCHAR(250)
, msg TEXT NOT NULL , 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 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; DROP TABLE IF EXISTS tmp_Msg_Error;
END; END;
@@ -112,7 +128,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) , code VARCHAR(250)
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -171,7 +187,7 @@ BEGIN
UPDATE tmp_Assessment t_ASSESSMENT UPDATE tmp_Assessment t_ASSESSMENT
LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment
SET t_ASSESSMENT.name_error = CONCAT( 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 , CASE WHEN t_ASSESSMENT.notes IS NOT NULL THEN CONCAT(' - ', t_ASSESSMENT.notes) ELSE '' END
/* /*
COALESCE(WEATHER.name, '(No Weather)') COALESCE(WEATHER.name, '(No Weather)')
@@ -281,10 +297,10 @@ BEGIN
IF EXISTS ( IF EXISTS (
SELECT * SELECT *
FROM tmp_Assessment t_ASSESSMENT 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 WHERE
ISNULL(t_ASSESSMENT.id_user_handler) ISNULL(t_ASSESSMENT.id_user_handler)
OR ISNULL(USER_HANDLER.id_user_handler) OR ISNULL(USER_HANDLER.id_user)
OR USER_HANDLER.active = 0 OR USER_HANDLER.active = 0
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( INSERT INTO tmp_Msg_Error (
@@ -297,10 +313,10 @@ BEGIN
, v_code_type_error_bad_data , 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 , 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 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 WHERE
ISNULL(t_ASSESSMENT.id_user_handler) ISNULL(t_ASSESSMENT.id_user_handler)
OR ISNULL(USER_HANDLER.id_user_handler) OR ISNULL(USER_HANDLER.id_user)
OR USER_HANDLER.active = 0 OR USER_HANDLER.active = 0
; ;
END IF; END IF;
@@ -399,7 +415,8 @@ BEGIN
; ;
INSERT INTO parts.DOG_Assessment ( INSERT INTO parts.DOG_Assessment (
id_weather id_temp
, id_weather
, id_lighting_level , id_lighting_level
, id_location , id_location
, id_user_handler , id_user_handler
@@ -411,7 +428,8 @@ BEGIN
, created_on , created_on
) )
SELECT 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_lighting_level AS id_lighting_level
, t_ASSESSMENT.id_location AS id_location , t_ASSESSMENT.id_location AS id_location
, t_ASSESSMENT.id_user_handler AS id_user_handler , t_ASSESSMENT.id_user_handler AS id_user_handler
@@ -427,6 +445,20 @@ BEGIN
AND t_ASSESSMENT.active = 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; COMMIT;
END IF; END IF;

View File

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

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT 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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Intensity_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Intensity_Level ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Intensity_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction_Intensity_Level ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction_Intensity_Level (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Id_Calc_Distraction_Intensity_Level; DELETE FROM tmp_Split_Id_Calc_Distraction_Intensity_Level;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Distraction_Intensity_Level ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Distraction_Intensity_Level (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Name_Calc_Distraction_Intensity_Level; 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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );

View File

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

View File

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

View File

@@ -32,7 +32,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) , code VARCHAR(250)
, msg TEXT NOT NULL , 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 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; DROP TABLE IF EXISTS tmp_Msg_Error;
END; END;
@@ -118,7 +134,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) , code VARCHAR(250)
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -213,7 +229,7 @@ BEGIN
, ' - ' , ' - '
, COALESCE(DISTRACTION_INTENSITY_LEVEL_SCENT.name, '(No Distraction Intensity Level Touch)') , COALESCE(DISTRACTION_INTENSITY_LEVEL_SCENT.name, '(No Distraction Intensity Level Touch)')
, ' - x' , ' - x'
, CONVERT(COALESCE(t_ASSESSMENT.quantity, 0), CHAR) , CONVERT(COALESCE(t_DISTRACTION.quantity, 0), CHAR)
) )
; ;
@@ -257,10 +273,10 @@ BEGIN
IF EXISTS ( IF EXISTS (
SELECT * SELECT *
FROM tmp_Distraction t_DISTRACTION 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 WHERE
ISNULL(t_DISTRACTION.id_distraction_type) ISNULL(t_DISTRACTION.id_distraction_type)
OR ISNULL(DISTRACTION_TYPE.id_distraction_type) OR ISNULL(DISTRACTION_TYPE.id_type)
OR DISTRACTION_TYPE.active = 0 OR DISTRACTION_TYPE.active = 0
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( INSERT INTO tmp_Msg_Error (
@@ -273,10 +289,10 @@ BEGIN
, v_code_type_error_bad_data , 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 , 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 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 WHERE
ISNULL(t_DISTRACTION.id_distraction_type) ISNULL(t_DISTRACTION.id_distraction_type)
OR ISNULL(DISTRACTION_TYPE.id_distraction_type) OR ISNULL(DISTRACTION_TYPE.id_type)
OR DISTRACTION_TYPE.active = 0 OR DISTRACTION_TYPE.active = 0
; ;
END IF; END IF;
@@ -284,10 +300,10 @@ BEGIN
IF EXISTS ( IF EXISTS (
SELECT * SELECT *
FROM tmp_Distraction t_DISTRACTION 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 WHERE
ISNULL(t_DISTRACTION.id_intensity_level_emotional) 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 OR DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.active = 0
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( INSERT INTO tmp_Msg_Error (
@@ -300,10 +316,10 @@ BEGIN
, v_code_type_error_bad_data , 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 , 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 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 WHERE
ISNULL(t_DISTRACTION.id_intensity_level_emotional) 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 OR DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.active = 0
; ;
END IF; 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 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 WHERE
ISNULL(t_DISTRACTION.id_intensity_level_scent) 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 OR DISTRACTION_INTENSITY_LEVEL_SCENT.active = 0
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( 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 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 WHERE
ISNULL(t_DISTRACTION.id_intensity_level_scent) 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 OR DISTRACTION_INTENSITY_LEVEL_SCENT.active = 0
; ;
END IF; 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 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 WHERE
ISNULL(t_DISTRACTION.id_intensity_level_sight) 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 OR DISTRACTION_INTENSITY_LEVEL_SIGHT.active = 0
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( 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 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 WHERE
ISNULL(t_DISTRACTION.id_intensity_level_sight) 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 OR DISTRACTION_INTENSITY_LEVEL_SIGHT.active = 0
; ;
END IF; 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 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 WHERE
ISNULL(t_DISTRACTION.id_intensity_level_sound) 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 OR DISTRACTION_INTENSITY_LEVEL_SOUND.active = 0
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( 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 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 WHERE
ISNULL(t_DISTRACTION.id_intensity_level_sound) 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 OR DISTRACTION_INTENSITY_LEVEL_SOUND.active = 0
; ;
END IF; 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 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 WHERE
ISNULL(t_DISTRACTION.id_intensity_level_touch) 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 OR DISTRACTION_INTENSITY_LEVEL_TOUCH.active = 0
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( 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 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 WHERE
ISNULL(t_DISTRACTION.id_intensity_level_touch) 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 OR DISTRACTION_INTENSITY_LEVEL_TOUCH.active = 0
; ;
END IF; END IF;
@@ -513,7 +529,8 @@ BEGIN
; ;
INSERT INTO parts.DOG_Distraction ( INSERT INTO parts.DOG_Distraction (
id_assessment id_temp
, id_assessment
, id_distraction_type , id_distraction_type
, id_intensity_level_emotional , id_intensity_level_emotional
, id_intensity_level_scent , id_intensity_level_scent
@@ -528,7 +545,8 @@ BEGIN
, created_on , created_on
) )
SELECT 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_distraction_type AS id_distraction_type
, t_DISTRACTION.id_intensity_level_emotional AS id_intensity_level_emotional , t_DISTRACTION.id_intensity_level_emotional AS id_intensity_level_emotional
, t_DISTRACTION.id_intensity_level_scent AS id_intensity_level_scent , t_DISTRACTION.id_intensity_level_scent AS id_intensity_level_scent
@@ -547,6 +565,20 @@ BEGIN
AND t_DISTRACTION.active = 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; COMMIT;
END IF; END IF;

View File

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

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT 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_all_link BIT
, IN a_get_inactive_link BIT , IN a_get_inactive_link BIT
, IN a_ids_link TEXT , IN a_ids_link TEXT
, IN a_min_distance_from_handler_link FLOAT , IN a_min_distance_from_handler_metres_link FLOAT
, IN a_max_distance_from_handler_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_sight_of_handler_link BIT
, IN a_value_is_in_scent_range_of_handler_link BIT , IN a_value_is_in_scent_range_of_handler_link BIT
, IN a_value_is_in_hearing_range_of_handler_link BIT , IN a_value_is_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_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_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_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_metres_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_max BIT;
DECLARE v_has_filter_assessment_command_modality_link_trial_count_min 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_has_filter_assessment_command_modality_link_trial_count_max BIT;
DECLARE v_id_access_level_view INT; DECLARE v_id_access_level_view INT;
@@ -104,7 +104,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_ACM_Link ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_ACM_Link (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -155,8 +155,8 @@ BEGIN
SET a_get_inactive_link := IFNULL(a_get_inactive_link, 0); SET a_get_inactive_link := IFNULL(a_get_inactive_link, 0);
SET a_ids_link := TRIM(IFNULL(a_ids_link, '')); SET a_ids_link := TRIM(IFNULL(a_ids_link, ''));
/* /*
, IN a_min_distance_from_handler_link FLOAT , IN a_min_distance_from_handler_metres_link FLOAT
, IN a_max_distance_from_handler_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_sight_of_handler_link INT
, IN a_value_is_in_scent_range_of_handler_link INT , IN a_value_is_in_scent_range_of_handler_link INT
, IN a_value_is_in_hearing_range_of_handler_link INT , IN a_value_is_in_hearing_range_of_handler_link INT
@@ -178,8 +178,8 @@ BEGIN
, a_get_all_link , a_get_all_link
, a_get_inactive_link , a_get_inactive_link
, a_ids_link , a_ids_link
, a_min_distance_from_handler_link , a_min_distance_from_handler_metres_link
, a_max_distance_from_handler_link , a_max_distance_from_handler_metres_link
, a_value_is_in_sight_of_handler_link , a_value_is_in_sight_of_handler_link
, a_value_is_in_scent_range_of_handler_link , a_value_is_in_scent_range_of_handler_link
, a_value_is_in_hearing_range_of_handler_link , a_value_is_in_hearing_range_of_handler_link
@@ -319,7 +319,7 @@ BEGIN
, id_command INT , id_command INT
, id_command_modality INT , id_command_modality INT
, id_bribe INT , id_bribe INT
, distance_from_handler FLOAT , distance_from_handler_metres FLOAT
, is_in_sight_of_handler BIT , is_in_sight_of_handler BIT
, is_in_scent_range_of_handler BIT , is_in_scent_range_of_handler BIT
, is_in_hearing_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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_ACM_Link (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_ACM_Link ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_ACM_Link (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Id_Calc_ACM_Link; 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_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_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_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_metres_min := NOT ISNULL(a_min_distance_from_handler_metres_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_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_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); 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
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality , ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe , 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_sight_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_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_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_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_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_metres_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_max = 0
AND v_has_filter_assessment_command_modality_link_trial_count_min = 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 AND v_has_filter_assessment_command_modality_link_trial_count_max = 0
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0 v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0 v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0 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 AND ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.does_meet_id_filter = 1
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0 v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0 v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0 v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0
@@ -878,7 +878,7 @@ BEGIN
, id_command , id_command
, id_command_modality , id_command_modality
, id_bribe , id_bribe
, distance_from_handler , distance_from_handler_metres
, is_in_sight_of_handler , is_in_sight_of_handler
, is_in_scent_range_of_handler , is_in_scent_range_of_handler
, is_in_hearing_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
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality , ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe , 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_sight_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_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_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_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_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_metres_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_max = 0
AND v_has_filter_assessment_command_modality_link_trial_count_min = 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 AND v_has_filter_assessment_command_modality_link_trial_count_max = 0
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0 v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0 v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0 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 AND ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.does_meet_id_filter = 1
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0 v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0 v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
) )
OR ( OR (
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0 v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0
@@ -1211,7 +1211,7 @@ BEGIN
, id_command , id_command
, id_command_modality , id_command_modality
, id_bribe , id_bribe
, distance_from_handler , distance_from_handler_metres
, is_in_sight_of_handler , is_in_sight_of_handler
, is_in_scent_range_of_handler , is_in_scent_range_of_handler
, is_in_hearing_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
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe , 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_sight_of_handler
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
@@ -1315,8 +1315,8 @@ CALL parts.p_dog_calc_assessment_command_modality_link (
, 1 -- a_get_all_link , 1 -- a_get_all_link
, 0 -- a_get_inactive_link , 0 -- a_get_inactive_link
, '' -- a_ids_link , '' -- a_ids_link
, NULL -- a_min_distance_from_handler_link , NULL -- a_min_distance_from_handler_metres_link
, NULL -- a_max_distance_from_handler_link , NULL -- a_max_distance_from_handler_metres_link
, NULL -- a_value_is_in_sight_of_handler_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_scent_range_of_handler_link
, NULL -- a_value_is_in_hearing_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_all_link BIT
, IN a_get_inactive_link BIT , IN a_get_inactive_link BIT
, IN a_ids_link TEXT , IN a_ids_link TEXT
, IN a_min_distance_from_handler_link FLOAT , IN a_min_distance_from_handler_metres_link FLOAT
, IN a_max_distance_from_handler_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_sight_of_handler_link BIT
, IN a_value_is_in_scent_range_of_handler_link BIT , IN a_value_is_in_scent_range_of_handler_link BIT
, IN a_value_is_in_hearing_range_of_handler_link BIT , IN a_value_is_in_hearing_range_of_handler_link BIT
@@ -94,7 +94,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -150,8 +150,8 @@ BEGIN
, a_get_all_link , a_get_all_link
, a_get_inactive_link , a_get_inactive_link
, a_ids_link , a_ids_link
, a_min_distance_from_handler_link , a_min_distance_from_handler_metres_link
, a_max_distance_from_handler_link , a_max_distance_from_handler_metres_link
, a_value_is_in_sight_of_handler_link , a_value_is_in_sight_of_handler_link
, a_value_is_in_scent_range_of_handler_link , a_value_is_in_scent_range_of_handler_link
, a_value_is_in_hearing_range_of_handler_link , a_value_is_in_hearing_range_of_handler_link
@@ -230,7 +230,7 @@ BEGIN
, id_command INT , id_command INT
, id_command_modality INT , id_command_modality INT
, id_bribe INT , id_bribe INT
, distance_from_handler FLOAT , distance_from_handler_metres FLOAT
, is_in_sight_of_handler BIT , is_in_sight_of_handler BIT
, is_in_scent_range_of_handler BIT , is_in_scent_range_of_handler BIT
, is_in_hearing_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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -335,8 +335,8 @@ BEGIN
, a_get_all_link , a_get_all_link
, a_get_inactive_link , a_get_inactive_link
, a_ids_link , a_ids_link
, a_min_distance_from_handler_link , a_min_distance_from_handler_metres_link
, a_max_distance_from_handler_link , a_max_distance_from_handler_metres_link
, a_value_is_in_sight_of_handler_link , a_value_is_in_sight_of_handler_link
, a_value_is_in_scent_range_of_handler_link , a_value_is_in_scent_range_of_handler_link
, a_value_is_in_hearing_range_of_handler_link , a_value_is_in_hearing_range_of_handler_link
@@ -405,8 +405,8 @@ BEGIN
, a_get_all_link , a_get_all_link
, a_get_inactive_link , a_get_inactive_link
, a_ids_link , a_ids_link
, a_min_distance_from_handler_link , a_min_distance_from_handler_metres_link
, a_max_distance_from_handler_link , a_max_distance_from_handler_metres_link
, a_value_is_in_sight_of_handler_link , a_value_is_in_sight_of_handler_link
, a_value_is_in_scent_range_of_handler_link , a_value_is_in_scent_range_of_handler_link
, a_value_is_in_hearing_range_of_handler_link , a_value_is_in_hearing_range_of_handler_link
@@ -479,7 +479,7 @@ BEGIN
, id_command , id_command
, id_command_modality , id_command_modality
, id_bribe , id_bribe
, distance_from_handler , distance_from_handler_metres
, is_in_sight_of_handler , is_in_sight_of_handler
, is_in_scent_range_of_handler , is_in_scent_range_of_handler
, is_in_hearing_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
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_bribe , 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_sight_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler
@@ -538,7 +538,7 @@ BEGIN
, COMMAND_MODALITY.name AS name_command_modality , COMMAND_MODALITY.name AS name_command_modality
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe , t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
, BRIBE.name AS name_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_sight_of_handler
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
@@ -598,8 +598,8 @@ CALL parts.p_dog_get_many_assessment_command_modality_link (
, 1 -- a_get_all_link , 1 -- a_get_all_link
, 0 -- a_get_inactive_link , 0 -- a_get_inactive_link
, '' -- a_ids_link , '' -- a_ids_link
, NULL -- a_min_distance_from_handler_link , NULL -- a_min_distance_from_handler_metres_link
, NULL -- a_max_distance_from_handler_link , NULL -- a_max_distance_from_handler_metres_link
, NULL -- a_value_is_in_sight_of_handler_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_scent_range_of_handler_link
, NULL -- a_value_is_in_hearing_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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) , code VARCHAR(250)
, msg TEXT NOT NULL , 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 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; DROP TABLE IF EXISTS tmp_Msg_Error;
END; END;
@@ -87,7 +103,7 @@ BEGIN
, id_command INT , id_command INT
, id_command_modality INT , id_command_modality INT
, id_bribe INT , id_bribe INT
, distance_from_handler FLOAT , distance_from_handler_metres FLOAT
, is_in_sight_of_handler BIT , is_in_sight_of_handler BIT
, is_in_scent_range_of_handler BIT , is_in_scent_range_of_handler BIT
, is_in_hearing_range_of_handler BIT , is_in_hearing_range_of_handler BIT
@@ -105,9 +121,9 @@ BEGIN
, id_command INT , id_command INT
, id_command_modality INT , id_command_modality INT
, id_bribe INT , id_bribe INT
, id_distance_from_handler INT , distance_from_handler_metres INT
, id_is_in_sight_of_handler INT , is_in_sight_of_handler INT
, id_is_in_scent_range_of_handler INT , is_in_scent_range_of_handler INT
, is_in_hearing_range_of_handler INT , is_in_hearing_range_of_handler INT
, is_on_lead FLOAT , is_on_lead FLOAT
, trial_count TEXT , trial_count TEXT
@@ -118,7 +134,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) , code VARCHAR(250)
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -132,12 +148,12 @@ BEGIN
, id_command , id_command
, id_command_modality , id_command_modality
, id_bribe , id_bribe
, id_distance_from_handler , distance_from_handler_metres
, id_is_in_sight_of_handler , is_in_sight_of_handler
, id_is_in_scent_range_of_handler , is_in_scent_range_of_handler
, is_in_hearing_range_of_handler , is_in_hearing_range_of_handler
, is_on_lead , is_on_lead
, trial_count -- , trial_count
, active , active
, is_new , is_new
) )
@@ -161,21 +177,41 @@ BEGIN
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe , ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
) AS id_bribe ) AS id_bribe
, COALESCE( , COALESCE(
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_distance_from_handler ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler_metres
, ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler , ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
) AS id_distance_from_handler , 1
) AS distance_from_handler_metres
, COALESCE( , COALESCE(
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_is_in_sight_of_handler ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_sight_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
) AS id_is_in_sight_of_handler , 1
) AS is_in_sight_of_handler
, COALESCE( , COALESCE(
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_is_in_scent_range_of_handler ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
) AS id_is_in_scent_range_of_handler , 1
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler ) AS is_in_scent_range_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_on_lead , COALESCE(
, ASSESSMENT_COMMAND_MODALITY_LINK_T.trial_count ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.active, 1) AS active , 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 , 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 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 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 -- Error names
UPDATE tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK 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 ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
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_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command
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_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality
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_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe
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
SET t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error = CONCAT( SET t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error = CONCAT(
/* COALESCE(CONVERT(ASSESSMENT.created_on, CHAR), '(No Assessment)')
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(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(BRIBE.name, '(No Bribe)')
, ' - '
, 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)
) )
; ;
@@ -244,7 +268,7 @@ BEGIN
SELECT SELECT
v_id_type_error_bad_data v_id_type_error_bad_data
, v_code_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 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 LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
WHERE WHERE
@@ -257,11 +281,11 @@ BEGIN
IF EXISTS ( IF EXISTS (
SELECT * SELECT *
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK 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 WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command) ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command) OR ISNULL(COMMAND.id_command)
OR ASSESSMENT_COMMAND_MODALITY_COMMAND.active = 0 OR COMMAND.active = 0
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( INSERT INTO tmp_Msg_Error (
id_type id_type
@@ -271,24 +295,24 @@ BEGIN
SELECT SELECT
v_id_type_error_bad_data v_id_type_error_bad_data
, v_code_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 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 WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command) ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command) OR ISNULL(COMMAND.id_command)
OR ASSESSMENT_COMMAND_MODALITY_COMMAND.active = 0 OR COMMAND.active = 0
; ;
END IF; END IF;
-- id_command_modality -- id_command_modality
IF EXISTS ( IF EXISTS (
SELECT * SELECT *
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK 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 WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality) ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality) OR ISNULL(COMMAND_MODALITY.id_command_modality)
OR ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.active = 0 OR COMMAND_MODALITY.active = 0
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( INSERT INTO tmp_Msg_Error (
id_type id_type
@@ -298,24 +322,24 @@ BEGIN
SELECT SELECT
v_id_type_error_bad_data v_id_type_error_bad_data
, v_code_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 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 WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality) ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality) OR ISNULL(COMMAND_MODALITY.id_command_modality)
OR ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.active = 0 OR COMMAND_MODALITY.active = 0
; ;
END IF; END IF;
-- id_bribe -- id_bribe
IF EXISTS ( IF EXISTS (
SELECT * SELECT *
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK 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 WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe) ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_bribe) OR ISNULL(BRIBE.id_bribe)
OR ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.active = 0 OR BRIBE.active = 0
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( INSERT INTO tmp_Msg_Error (
id_type id_type
@@ -325,24 +349,20 @@ BEGIN
SELECT SELECT
v_id_type_error_bad_data v_id_type_error_bad_data
, v_code_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 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 WHERE
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe) ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe)
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_bribe) OR ISNULL(BRIBE.id_bribe)
OR ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.active = 0 OR BRIBE.active = 0
; ;
END IF; END IF;
-- id_distance_from_handler -- distance_from_handler_metres
IF EXISTS ( IF EXISTS (
SELECT * SELECT *
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK 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 IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres, -1) < 0
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
) THEN ) THEN
INSERT INTO tmp_Msg_Error ( INSERT INTO tmp_Msg_Error (
id_type id_type
@@ -352,67 +372,9 @@ BEGIN
SELECT SELECT
v_id_type_error_bad_data v_id_type_error_bad_data
, v_code_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 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 IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres, -1) < 0
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
; ;
END IF; 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 = 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_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_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.distance_from_handler_metres = t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
, 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.is_in_sight_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.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.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_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.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.active = t_ASSESSMENT_COMMAND_MODALITY_LINK.active
, ASSESSMENT_COMMAND_MODALITY_LINK.id_change_set = v_id_change_set , ASSESSMENT_COMMAND_MODALITY_LINK.id_change_set = v_id_change_set
; ;
INSERT INTO parts.DOG_Assessment_Command_Modality_Link ( INSERT INTO parts.DOG_Assessment_Command_Modality_Link (
id_assessment id_temp
, id_assessment
, id_command , id_command
, id_command_modality , id_command_modality
, id_bribe , id_bribe
, id_distance_from_handler , distance_from_handler_metres
, id_is_in_sight_of_handler , is_in_sight_of_handler
, id_is_in_scent_range_of_handler , is_in_scent_range_of_handler
, is_in_hearing_range_of_handler , is_in_hearing_range_of_handler
, is_on_lead , is_on_lead
, trial_count -- , trial_count
, active , active
, id_user_created_by , id_user_created_by
, created_on , created_on
) )
SELECT 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 AS id_command
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality AS id_command_modality , 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_bribe AS id_bribe
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler AS id_distance_from_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres AS distance_from_handler_metres
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler AS id_is_in_sight_of_handler , t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler AS 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.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_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.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 , t_ASSESSMENT_COMMAND_MODALITY_LINK.active AS active
, a_id_user AS created_by , a_id_user AS created_by
, v_time_start AS created_on , v_time_start AS created_on
@@ -547,6 +511,20 @@ BEGIN
AND t_ASSESSMENT_COMMAND_MODALITY_LINK.active = 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; COMMIT;
END IF; END IF;
@@ -590,7 +568,7 @@ DELIMITER ;
/* /*
'ripplesipplenippletippledipplekipple' 'ripplesipplenippletippledipplykipple'
DELETE FROM parts.DOG_Assessment_Command_Modality_Link WHERE id_link > 740; DELETE FROM parts.DOG_Assessment_Command_Modality_Link WHERE id_link > 740;
* / * /
delete delete
@@ -625,26 +603,37 @@ from parts.DOG_Assessment_Command_Modality_Link
INSERT INTO parts.DOG_Assessment_Command_Modality_Link_Temp ( INSERT INTO parts.DOG_Assessment_Command_Modality_Link_Temp (
id_link id_link
, id_dog , id_assessment
, id_command , id_command
, hand_signal_description , id_command_modality
, trial_count , 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 , active
, guid , guid
) )
VALUES ( VALUES (
-1 -- id_link -1 -- id_link
, 1 -- id_dog , 1 -- id_assessment
, 1 -- id_command , 1 -- id_command
, 'Test deez noots' -- hand_signal_description , 1 -- id_command_modality
, NULL -- trial_count , 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 , 1 -- active
, 'ripplesipplenippletippledipplekipple' , 'ripplesipplenippletippledipplykipple'
); );
CALL parts.p_dog_save_assessment_command_modality_link ( CALL parts.p_dog_save_assessment_command_modality_link (
'nipples' 'nipples'
, 'ripplesipplenippletippledipplekipple' , 'ripplesipplenippletippledipplykipple'
, 1 , 1
, 1 , 1
); );

View File

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

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -137,7 +137,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT 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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Obedience_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -138,20 +138,20 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Obedience_Level ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Obedience_Level (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Obedience_Level ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Obedience_Level (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Id_Calc_Obedience_Level; DELETE FROM tmp_Split_Id_Calc_Obedience_Level;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Obedience_Level ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Obedience_Level (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Name_Calc_Obedience_Level; DELETE FROM tmp_Split_Name_Calc_Obedience_Level;

View File

@@ -40,7 +40,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -135,7 +135,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT 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_all_ACM_link BIT
, IN a_get_inactive_ACM_link BIT , IN a_get_inactive_ACM_link BIT
, IN a_ids_ACM_link TEXT , IN a_ids_ACM_link TEXT
, IN a_min_distance_from_handler_ACM_link FLOAT , IN a_min_distance_from_handler_metres_ACM_link FLOAT
, IN a_max_distance_from_handler_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_sight_of_handler_ACM_link INT
, IN a_value_is_in_scent_range_of_handler_ACM_link INT , IN a_value_is_in_scent_range_of_handler_ACM_link INT
, IN a_value_is_in_hearing_range_of_handler_ACM_link INT , IN a_value_is_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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment_Response (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -189,8 +189,8 @@ BEGIN
, a_get_all_ACM_link , a_get_all_ACM_link
, a_get_inactive_ACM_link , a_get_inactive_ACM_link
, a_ids_ACM_link , a_ids_ACM_link
, a_min_distance_from_handler_ACM_link , a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_ACM_link , a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_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 INT
, id_command_modality INT , id_command_modality INT
, id_bribe INT , id_bribe INT
, distance_from_handler FLOAT , distance_from_handler_metres FLOAT
, is_in_sight_of_handler BIT , is_in_sight_of_handler BIT
, is_in_scent_range_of_handler BIT , is_in_scent_range_of_handler BIT
, is_in_hearing_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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment_Response (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Assessment_Response ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Assessment_Response (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Id_Calc_Assessment_Response; DELETE FROM tmp_Split_Id_Calc_Assessment_Response;
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Assessment_Response ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Assessment_Response (
substring VARCHAR(4000) NOT NULL substring VARCHAR(4000) NOT NULL
, as_int INT NULL , as_int INT
); );
DELETE FROM tmp_Split_Notes_Calc_Assessment_Response; DELETE FROM tmp_Split_Notes_Calc_Assessment_Response;
@@ -357,8 +357,8 @@ BEGIN
, a_get_all_ACM_link , a_get_all_ACM_link
, a_get_inactive_ACM_link , a_get_inactive_ACM_link
, a_ids_ACM_link , a_ids_ACM_link
, a_min_distance_from_handler_ACM_link , a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_ACM_link , a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_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_all_ACM_link
, a_get_inactive_ACM_link , a_get_inactive_ACM_link
, a_ids_ACM_link , a_ids_ACM_link
, a_min_distance_from_handler_ACM_link , a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_ACM_link , a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_range_of_handler_ACM_link , a_value_is_in_hearing_range_of_handler_ACM_link
@@ -496,7 +496,7 @@ BEGIN
, id_command , id_command
, id_command_modality , id_command_modality
, id_bribe , id_bribe
, distance_from_handler , distance_from_handler_metres
, is_in_sight_of_handler , is_in_sight_of_handler
, is_in_scent_range_of_handler , is_in_scent_range_of_handler
, is_in_hearing_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
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality , ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_bribe , 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_sight_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler , ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler
@@ -1201,8 +1201,8 @@ CALL parts.p_dog_calc_assessment_response (
, 1 -- a_get_all_ACM_link , 1 -- a_get_all_ACM_link
, 0 -- a_get_inactive_ACM_link , 0 -- a_get_inactive_ACM_link
, '' -- a_ids_ACM_link , '' -- a_ids_ACM_link
, NULL -- a_min_distance_from_handler_ACM_link , NULL -- a_min_distance_from_handler_metres_ACM_link
, NULL -- a_max_distance_from_handler_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_sight_of_handler_ACM_link
, NULL -- a_value_is_in_scent_range_of_handler_ACM_link , NULL -- a_value_is_in_scent_range_of_handler_ACM_link
, NULL -- a_value_is_in_hearing_range_of_handler_ACM_link , NULL -- a_value_is_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_all_ACM_link BIT
, IN a_get_inactive_ACM_link BIT , IN a_get_inactive_ACM_link BIT
, IN a_ids_ACM_link TEXT , IN a_ids_ACM_link TEXT
, IN a_min_distance_from_handler_ACM_link FLOAT , IN a_min_distance_from_handler_metres_ACM_link FLOAT
, IN a_max_distance_from_handler_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_sight_of_handler_ACM_link INT
, IN a_value_is_in_scent_range_of_handler_ACM_link INT , IN a_value_is_in_scent_range_of_handler_ACM_link INT
, IN a_value_is_in_hearing_range_of_handler_ACM_link INT , IN a_value_is_in_hearing_range_of_handler_ACM_link INT
@@ -107,7 +107,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -171,8 +171,8 @@ BEGIN
, a_get_all_ACM_link , a_get_all_ACM_link
, a_get_inactive_ACM_link , a_get_inactive_ACM_link
, a_ids_ACM_link , a_ids_ACM_link
, a_min_distance_from_handler_ACM_link , a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_ACM_link , a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(250) NOT NULL , code VARCHAR(250) NOT NULL
, msg TEXT NOT NULL , msg TEXT NOT NULL
); );
@@ -366,8 +366,8 @@ BEGIN
, a_get_all_ACM_link , a_get_all_ACM_link
, a_get_inactive_ACM_link , a_get_inactive_ACM_link
, a_ids_ACM_link , a_ids_ACM_link
, a_min_distance_from_handler_ACM_link , a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_ACM_link , a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_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_all_ACM_link
, a_get_inactive_ACM_link , a_get_inactive_ACM_link
, a_ids_ACM_link , a_ids_ACM_link
, a_min_distance_from_handler_ACM_link , a_min_distance_from_handler_metres_ACM_link
, a_max_distance_from_handler_ACM_link , a_max_distance_from_handler_metres_ACM_link
, a_value_is_in_sight_of_handler_ACM_link , a_value_is_in_sight_of_handler_ACM_link
, a_value_is_in_scent_range_of_handler_ACM_link , a_value_is_in_scent_range_of_handler_ACM_link
, a_value_is_in_hearing_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 , 1 -- a_get_all_ACM_link
, 0 -- a_get_inactive_ACM_link , 0 -- a_get_inactive_ACM_link
, '' -- a_ids_ACM_link , '' -- a_ids_ACM_link
, NULL -- a_min_distance_from_handler_ACM_link , NULL -- a_min_distance_from_handler_metres_ACM_link
, NULL -- a_max_distance_from_handler_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_sight_of_handler_ACM_link
, NULL -- a_value_is_in_scent_range_of_handler_ACM_link , NULL -- a_value_is_in_scent_range_of_handler_ACM_link
, NULL -- a_value_is_in_hearing_range_of_handler_ACM_link , NULL -- a_value_is_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 ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(50) NOT NULL , code VARCHAR(50) NOT NULL
, msg VARCHAR(4000) NOT NULL , msg VARCHAR(4000) NOT NULL
); );
@@ -82,7 +82,7 @@ BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
, id_type INT NULL , id_type INT
, code VARCHAR(50) NOT NULL , code VARCHAR(50) NOT NULL
, msg VARCHAR(4000) NOT NULL , msg VARCHAR(4000) NOT NULL
); );

View File

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

View File

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

Some files were not shown because too many files have changed in this diff Show More