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:
@@ -56,10 +56,11 @@ class Assessment(SQLAlchemy_ABC, Base):
|
||||
self.is_new = False
|
||||
self.weather = None
|
||||
self.lighting_level = None
|
||||
self.temperature_celcius = 22
|
||||
self.location = None
|
||||
self.user_handler = None
|
||||
self.distractions = None
|
||||
self.assessment_command_modality_links = None
|
||||
self.distractions = []
|
||||
self.assessment_command_modality_links = []
|
||||
super().__init__()
|
||||
|
||||
@classmethod
|
||||
@@ -99,18 +100,15 @@ class Assessment(SQLAlchemy_ABC, Base):
|
||||
_m = f'{cls.__qualname__}.from_json'
|
||||
assessment = cls()
|
||||
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_weather = json[Weather.ATTR_ID_WEATHER]
|
||||
assessment.id_lighting_level = json[Lighting_Level.ATTR_ID_LIGHTING_LEVEL]
|
||||
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.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.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
|
||||
# Helper_App.console_log(f'Dog Command Link: {assessment}')
|
||||
return assessment
|
||||
|
||||
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_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
|
||||
|
||||
def __repr__(self):
|
||||
@@ -283,8 +279,6 @@ class Parameters_Assessment(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_form_filters_assessment(cls, form):
|
||||
_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)
|
||||
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)
|
||||
@@ -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_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)
|
||||
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.get_all_assessment = True
|
||||
filters.get_inactive_assessment = not active_only
|
||||
|
||||
@@ -33,7 +33,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
|
||||
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_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_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'
|
||||
@@ -50,7 +50,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
|
||||
id_command = db.Column(db.Integer)
|
||||
id_command_modality = 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_scent_range_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_modality = query_row[7]
|
||||
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_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)
|
||||
@@ -104,22 +104,19 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
|
||||
_m = f'{cls.__qualname__}.from_json'
|
||||
assessment_command_modality_link = cls()
|
||||
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_assessment = json[Assessment.ATTR_ID_ASSESSMENT]
|
||||
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_bribe = json[Bribe.ATTR_ID_BRIBE]
|
||||
assessment_command_modality_link.distance_from_handler = json[cls.FLAG_DISTANCE_FROM_HANDLER]
|
||||
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_scent_range_of_handler = json[cls.FLAG_IS_IN_SCENT_RANGE_OF_HANDLER]
|
||||
assessment_command_modality_link.is_in_sight_of_handler = json[cls.FLAG_IS_IN_SIGHT_OF_HANDLER]
|
||||
assessment_command_modality_link.is_on_lead = json[cls.FLAG_IS_ON_LEAD]
|
||||
assessment_command_modality_link.trial_count = json[cls.FLAG_TRIAL_COUNT]
|
||||
assessment_command_modality_link.active = json[cls.FLAG_ACTIVE]
|
||||
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 = 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 = 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 = 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 = av.input_bool(json[cls.FLAG_IS_ON_LEAD], cls.FLAG_IS_ON_LEAD, _m)
|
||||
assessment_command_modality_link.trial_count = json.get(cls.FLAG_TRIAL_COUNT)
|
||||
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.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
|
||||
|
||||
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_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()
|
||||
, 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_SCENT_RANGE_OF_HANDLER: self.is_in_scent_range_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_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
|
||||
|
||||
def __repr__(self):
|
||||
@@ -152,7 +147,7 @@ class Assessment_Command_Modality_Link(SQLAlchemy_ABC, Base):
|
||||
{Command.FLAG_COMMAND}: {self.command}
|
||||
{Command_Modality.FLAG_COMMAND_MODALITY}: {self.command_modality}
|
||||
{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_SCENT_RANGE_OF_HANDLER}: {self.is_in_scent_range_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_modality = 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_scent_range_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_modality = assessment_command_modality_link.id_command_modality
|
||||
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_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
|
||||
@@ -210,8 +205,8 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base):
|
||||
get_all_link: bool
|
||||
get_inactive_link: bool
|
||||
ids_link: str
|
||||
min_distance_from_handler_link: Optional[float]
|
||||
max_distance_from_handler_link: Optional[float]
|
||||
min_distance_from_handler_metres_link: Optional[float]
|
||||
max_distance_from_handler_metres_link: Optional[float]
|
||||
value_is_in_sight_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]
|
||||
@@ -276,8 +271,8 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base):
|
||||
get_all_link = True
|
||||
, get_inactive_link = False
|
||||
, ids_link = ''
|
||||
, min_distance_from_handler_link = None
|
||||
, max_distance_from_handler_link = None
|
||||
, min_distance_from_handler_metres_link = None
|
||||
, max_distance_from_handler_metres_link = None
|
||||
, value_is_in_sight_of_handler_link = None
|
||||
, value_is_in_scent_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)
|
||||
, ids_link = json.get('a_ids_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)
|
||||
, max_distance_from_handler_link = json.get('a_max_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_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_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)
|
||||
@@ -408,8 +403,6 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_form_filters_assessment(cls, form):
|
||||
_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)
|
||||
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)
|
||||
@@ -417,14 +410,7 @@ class Parameters_Assessment_Command_Modality_Link(Get_Many_Parameters_Base):
|
||||
has_filter_command_modality = False
|
||||
has_filter_bribe = False
|
||||
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.get_all_link = True
|
||||
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_inactive_link': self.get_inactive_link
|
||||
, 'a_ids_link': self.ids_link
|
||||
, 'a_min_distance_from_handler_link': self.min_distance_from_handler_link
|
||||
, 'a_max_distance_from_handler_link': self.max_distance_from_handler_link
|
||||
, 'a_min_distance_from_handler_metres_link': self.min_distance_from_handler_metres_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_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
|
||||
|
||||
@@ -61,10 +61,10 @@ class Assessment_Response(SQLAlchemy_ABC, Base):
|
||||
assessment_response.id_response = query_row[0]
|
||||
assessment_response.id_assessment_command_modality_link = query_row[1]
|
||||
assessment_response.id_response_quality_metric = query_row[2]
|
||||
assessment_response.id_obedience_level = query_row[3]
|
||||
assessment_response.value_measured = query_row[11]
|
||||
assessment_response.notes = query_row[10]
|
||||
assessment_response.active = av.input_bool(query_row[12], 'active', _m)
|
||||
assessment_response.id_obedience_level = query_row[4]
|
||||
assessment_response.value_measured = query_row[6]
|
||||
assessment_response.notes = query_row[7]
|
||||
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.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'
|
||||
assessment_response = cls()
|
||||
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_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.value_measured = json[cls.FLAG_VALUE_MEASURED]
|
||||
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.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
|
||||
# Helper_App.console_log(f'Dog Command Link: {assessment_response}')
|
||||
return assessment_response
|
||||
|
||||
def to_json(self):
|
||||
@@ -94,15 +91,13 @@ class Assessment_Response(SQLAlchemy_ABC, Base):
|
||||
**self.get_shared_json_attributes(self)
|
||||
, 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()
|
||||
, 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()
|
||||
, 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()
|
||||
, 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.obedience_level is None else self.obedience_level.to_json()
|
||||
, self.FLAG_VALUE_MEASURED: self.value_measured
|
||||
, self.FLAG_NOTES: self.notes
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
, 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
|
||||
|
||||
def __repr__(self):
|
||||
@@ -163,8 +158,8 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
|
||||
get_all_ACM_link: bool
|
||||
get_inactive_ACM_link: bool
|
||||
ids_ACM_link: str
|
||||
min_distance_from_handler_ACM_link: Optional[float]
|
||||
max_distance_from_handler_ACM_link: Optional[float]
|
||||
min_distance_from_handler_metres_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_scent_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_inactive_ACM_link = False
|
||||
, ids_ACM_link = ''
|
||||
, min_distance_from_handler_ACM_link = None
|
||||
, max_distance_from_handler_ACM_link = None
|
||||
, min_distance_from_handler_metres_ACM_link = None
|
||||
, max_distance_from_handler_metres_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_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)
|
||||
, ids_ACM_link = json.get('a_ids_ACM_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)
|
||||
, max_distance_from_handler_ACM_link = json.get('a_max_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_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_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)
|
||||
@@ -393,8 +388,6 @@ class Parameters_Assessment_Response(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_form_filters_assessment(cls, form):
|
||||
_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)
|
||||
has_filter_search_text = not (form.search.data == '' or form.search.data is None)
|
||||
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_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)
|
||||
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.get_all_assessment_response = True
|
||||
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_inactive_ACM_link': self.get_inactive_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_max_distance_from_handler_ACM_link': self.max_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_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_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
|
||||
|
||||
@@ -71,12 +71,10 @@ class Bribe(SQLAlchemy_ABC, Base):
|
||||
_m = 'Bribe.from_json'
|
||||
bribe = cls()
|
||||
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.name = json[cls.FLAG_NAME]
|
||||
bribe.code = json.get(cls.FLAG_CODE, bribe.name.upper().replace(" ", "_"))
|
||||
bribe.active = json[cls.FLAG_ACTIVE]
|
||||
# Helper_App.console_log(f'Bribe: {bribe}')
|
||||
bribe.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
|
||||
return bribe
|
||||
|
||||
|
||||
@@ -88,7 +86,6 @@ class Bribe(SQLAlchemy_ABC, Base):
|
||||
, self.FLAG_NAME: self.name
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
}
|
||||
# Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -72,15 +72,13 @@ class Button_Icon(SQLAlchemy_ABC, Base):
|
||||
_m = f'{cls.__qualname__}.from_json'
|
||||
button_icon = cls()
|
||||
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_image = json[Image.FLAG_IMAGE]
|
||||
button_icon.name = json[cls.FLAG_NAME]
|
||||
button_icon.code = json.get(cls.FLAG_CODE, button_icon.name.upper().replace(" ", "_"))
|
||||
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)
|
||||
# Helper_App.console_log(f'Button_Icon: {button_icon}')
|
||||
return button_icon
|
||||
|
||||
def to_json(self):
|
||||
@@ -94,7 +92,6 @@ class Button_Icon(SQLAlchemy_ABC, Base):
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
, self.FLAG_CREATED_ON: self.created_on
|
||||
}
|
||||
# Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -66,14 +66,12 @@ class Button_Shape(SQLAlchemy_ABC, Base):
|
||||
_m = f'{cls.__qualname__}.from_json'
|
||||
button_shape = cls()
|
||||
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.name = json[cls.FLAG_NAME]
|
||||
button_shape.code = json.get(cls.FLAG_CODE, button_shape.name.upper().replace(" ", "_"))
|
||||
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)
|
||||
# Helper_App.console_log(f'Button_Shape: {button_shape}')
|
||||
return button_shape
|
||||
|
||||
def to_json(self):
|
||||
@@ -86,7 +84,6 @@ class Button_Shape(SQLAlchemy_ABC, Base):
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
, self.FLAG_CREATED_ON: self.created_on
|
||||
}
|
||||
# Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -64,13 +64,11 @@ class Colour(SQLAlchemy_ABC, Base):
|
||||
_m = f'{cls.__qualname__}.from_json'
|
||||
colour = cls()
|
||||
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.name = json[cls.FLAG_NAME]
|
||||
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)
|
||||
# Helper_App.console_log(f'Colour: {colour}')
|
||||
return colour
|
||||
|
||||
def to_json(self):
|
||||
@@ -82,7 +80,6 @@ class Colour(SQLAlchemy_ABC, Base):
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
, self.FLAG_CREATED_ON: self.created_on
|
||||
}
|
||||
# Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -112,7 +112,7 @@ class Command(SQLAlchemy_ABC, Base):
|
||||
command.hand_signal_default_description = json[cls.FLAG_HAND_SIGNAL_DEFAULT_DESCRIPTION]
|
||||
command.can_have_button = json[cls.FLAG_CAN_HAVE_BUTTON]
|
||||
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)
|
||||
# Helper_App.console_log(f'Command: {command}')
|
||||
return command
|
||||
|
||||
@@ -79,17 +79,14 @@ class Command_Button_Link(SQLAlchemy_ABC, Base):
|
||||
_m = 'Command_Button_Link.from_json'
|
||||
command_button_link = cls()
|
||||
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_command = json[Command.FLAG_COMMAND]
|
||||
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_icon = json[Button_Icon.FLAG_BUTTON_ICON]
|
||||
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.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
|
||||
# Helper_App.console_log(f'Dog Command Link: {command_button_link}')
|
||||
return command_button_link
|
||||
|
||||
def to_json(self):
|
||||
@@ -104,8 +101,6 @@ class Command_Button_Link(SQLAlchemy_ABC, Base):
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
, 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
|
||||
|
||||
def __repr__(self):
|
||||
@@ -299,8 +294,6 @@ class Parameters_Command_Button_Link(Get_Many_Parameters_Base):
|
||||
@classmethod
|
||||
def from_form_filters_command_button_link(cls, form):
|
||||
_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)
|
||||
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)
|
||||
@@ -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_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)
|
||||
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.get_all_link = True
|
||||
filters.get_inactive_link = not active_only
|
||||
|
||||
@@ -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.name = json[cls.FLAG_NAME]
|
||||
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}')
|
||||
return command_category
|
||||
|
||||
|
||||
@@ -71,12 +71,10 @@ class Command_Modality(SQLAlchemy_ABC, Base):
|
||||
_m = 'Command_Modality.from_json'
|
||||
command_modality = cls()
|
||||
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.name = json[cls.FLAG_NAME]
|
||||
command_modality.code = json.get(cls.FLAG_CODE, command_modality.name.upper().replace(" ", "_"))
|
||||
command_modality.active = json[cls.FLAG_ACTIVE]
|
||||
# Helper_App.console_log(f'Command_Modality: {command_modality}')
|
||||
command_modality.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
|
||||
return command_modality
|
||||
|
||||
|
||||
@@ -88,7 +86,6 @@ class Command_Modality(SQLAlchemy_ABC, Base):
|
||||
, self.FLAG_NAME: self.name
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
}
|
||||
# Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -111,7 +111,7 @@ class Distraction(SQLAlchemy_ABC, Base):
|
||||
distraction.quantity = json[cls.FLAG_QUANTITY]
|
||||
distraction.proximity_metres = json[cls.FLAG_PROXIMITY_METRES]
|
||||
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.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
|
||||
# Helper_App.console_log(f'Dog Command Link: {distraction}')
|
||||
|
||||
@@ -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.name = json[cls.FLAG_NAME]
|
||||
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}')
|
||||
return distraction_intensity_level
|
||||
|
||||
|
||||
@@ -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.name = json[cls.FLAG_NAME]
|
||||
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}')
|
||||
return distraction_type
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ class Dog(SQLAlchemy_ABC, Base):
|
||||
dog.appearance = json[cls.FLAG_APPEARANCE]
|
||||
dog.mass_kg = json[cls.FLAG_MASS_KG]
|
||||
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}')
|
||||
return dog
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ class Dog_Command_Link(SQLAlchemy_ABC, Base):
|
||||
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.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.id_command_category = json[Command_Category.FLAG_COMMAND_CATEGORY]
|
||||
# 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
|
||||
def from_form_filters_dog_command_link(cls, form):
|
||||
_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)
|
||||
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_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)
|
||||
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.get_all_link = True
|
||||
filters.get_inactive_link = not active_only
|
||||
|
||||
@@ -85,7 +85,7 @@ class Image(SQLAlchemy_ABC, Base):
|
||||
image.id_dog = json[Dog.FLAG_DOG]
|
||||
image.path = json[cls.FLAG_PATH]
|
||||
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)
|
||||
# Helper_App.console_log(f'Image: {image}')
|
||||
return image
|
||||
|
||||
@@ -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.name = json[cls.FLAG_NAME]
|
||||
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)
|
||||
# Helper_App.console_log(f'Lighting_Level: {lighting_level}')
|
||||
return lighting_level
|
||||
|
||||
@@ -85,7 +85,7 @@ class Location(SQLAlchemy_ABC, Base):
|
||||
location.id_location_parent = json[Location.FLAG_LOCATION_PARENT]
|
||||
location.name = json[cls.FLAG_NAME]
|
||||
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)
|
||||
# Helper_App.console_log(f'Location: {location}')
|
||||
return location
|
||||
|
||||
@@ -61,12 +61,10 @@ class Obedience_Level(SQLAlchemy_ABC, Base):
|
||||
_m = f'{cls.__qualname__}.from_json'
|
||||
obedience_level = cls()
|
||||
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.code = json[cls.FLAG_CODE]
|
||||
obedience_level.name = json[cls.FLAG_NAME]
|
||||
obedience_level.active = json[cls.FLAG_ACTIVE]
|
||||
Helper_App.console_log(f'Obedience_Level: {obedience_level}')
|
||||
obedience_level.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
|
||||
return obedience_level
|
||||
|
||||
|
||||
@@ -78,7 +76,6 @@ class Obedience_Level(SQLAlchemy_ABC, Base):
|
||||
, self.FLAG_NAME: self.name
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
}
|
||||
Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -20,11 +20,11 @@ from typing import ClassVar
|
||||
|
||||
|
||||
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_VALUE_MIN: ClassVar[str] = 'value-min'
|
||||
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
|
||||
|
||||
__tablename__ = 'DOG_Response_Quality_Metric'
|
||||
@@ -47,25 +47,26 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base):
|
||||
@classmethod
|
||||
def from_db_response_quality_metric(cls, query_row):
|
||||
_m = f'{cls.__qualname__}.from_db_response_quality_metric'
|
||||
response = cls()
|
||||
response.id_response_quality_metric = query_row[0]
|
||||
response.id_unit_measurement = query_row[1]
|
||||
response.code = query_row[5]
|
||||
response.name = query_row[6]
|
||||
response.value_min = query_row[7]
|
||||
response.value_max = query_row[8]
|
||||
response.active = av.input_bool(query_row[9], 'active', _m)
|
||||
response.unit_measurement = Unit_Measurement.from_db_response_quality_metric(query_row)
|
||||
return response
|
||||
metric = cls()
|
||||
metric.id_response_quality_metric = query_row[0]
|
||||
metric.id_unit_measurement = query_row[1]
|
||||
metric.code = query_row[5]
|
||||
metric.name = query_row[6]
|
||||
metric.value_min = query_row[7]
|
||||
metric.value_max = query_row[8]
|
||||
metric.active = av.input_bool(query_row[9], 'active', _m)
|
||||
metric.unit_measurement = Unit_Measurement.from_db_response_quality_metric(query_row)
|
||||
return metric
|
||||
|
||||
@classmethod
|
||||
def from_db_assessment_response(cls, query_row):
|
||||
_m = f'{cls.__qualname__}.from_db_assessment_response'
|
||||
level = cls()
|
||||
level.id_response_quality_metric = query_row[2]
|
||||
level.name = query_row[3]
|
||||
level.active = True
|
||||
return level
|
||||
metric = cls()
|
||||
metric.id_response_quality_metric = query_row[2]
|
||||
metric.name = query_row[3]
|
||||
metric.active = True
|
||||
metric.unit_measurement = Unit_Measurement.from_db_assessment_response(query_row)
|
||||
return metric
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json):
|
||||
@@ -73,12 +74,12 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base):
|
||||
response_quality_metric = cls()
|
||||
if json is None: return Response_Quality_Metric
|
||||
# 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.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_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}')
|
||||
return response_quality_metric
|
||||
|
||||
@@ -86,7 +87,7 @@ class Response_Quality_Metric(SQLAlchemy_ABC, Base):
|
||||
def to_json(self):
|
||||
as_json = {
|
||||
**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_NAME: f'{self.name} ({self.unit_measurement.symbol})'
|
||||
, self.FLAG_VALUE_MIN: self.value_min
|
||||
|
||||
@@ -53,49 +53,57 @@ class Unit_Measurement(SQLAlchemy_ABC, Base):
|
||||
@classmethod
|
||||
def from_db_unit_measurement(cls, query_row):
|
||||
_m = f'{cls.__qualname__}.from_db_unit_measurement'
|
||||
level = cls()
|
||||
level.id_unit_measurement = query_row[0]
|
||||
level.name_singular = query_row[1]
|
||||
level.name_plural = query_row[2]
|
||||
level.symbol = query_row[3]
|
||||
level.symbol_is_suffix_not_prefix = query_row[4]
|
||||
level.is_base_unit = query_row[5]
|
||||
level.is_unit_of_distance = query_row[6]
|
||||
level.is_unit_of_mass = query_row[7]
|
||||
level.is_unit_of_time = query_row[8]
|
||||
level.is_unit_of_volume = query_row[9]
|
||||
level.active = True
|
||||
return level
|
||||
unit = cls()
|
||||
unit.id_unit_measurement = query_row[0]
|
||||
unit.name_singular = query_row[1]
|
||||
unit.name_plural = query_row[2]
|
||||
unit.symbol = query_row[3]
|
||||
unit.symbol_is_suffix_not_prefix = query_row[4]
|
||||
unit.is_base_unit = av.input_bool(query_row[5], 'is_base_unit', _m)
|
||||
unit.is_unit_of_distance = av.input_bool(query_row[6], 'is_base_unit', _m)
|
||||
unit.is_unit_of_mass = av.input_bool(query_row[7], 'is_base_unit', _m)
|
||||
unit.is_unit_of_time = av.input_bool(query_row[8], 'is_base_unit', _m)
|
||||
unit.is_unit_of_volume = av.input_bool(query_row[9], 'is_base_unit', _m)
|
||||
unit.active = True
|
||||
return unit
|
||||
|
||||
@classmethod
|
||||
def from_db_response_quality_metric(cls, query_row):
|
||||
_m = f'{cls.__qualname__}.from_db_response_quality_metric'
|
||||
level = cls()
|
||||
level.id_unit_measurement = query_row[1]
|
||||
level.name_singular = query_row[2]
|
||||
level.name_plural = query_row[3]
|
||||
level.symbol = query_row[4]
|
||||
level.active = True
|
||||
return level
|
||||
unit = cls()
|
||||
unit.id_unit_measurement = query_row[1]
|
||||
unit.name_singular = query_row[2]
|
||||
unit.name_plural = query_row[3]
|
||||
unit.symbol = query_row[4]
|
||||
unit.active = True
|
||||
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
|
||||
def from_json(cls, json):
|
||||
_m = f'{cls.__qualname__}.from_json'
|
||||
unit_measurement = cls()
|
||||
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.name_singular = json[cls.FLAG_NAME_SINGULAR]
|
||||
unit_measurement.name_plural = json[cls.FLAG_NAME_PLURAL]
|
||||
unit_measurement.symbol = json[cls.FLAG_SYMBOL]
|
||||
unit_measurement.symbol_is_suffix_not_prefix = json[cls.FLAG_SYMBOL_IS_SUFFIX_NOT_PREFIX]
|
||||
unit_measurement.is_base_unit = json[cls.FLAG_IS_BASE_UNIT]
|
||||
unit_measurement.is_unit_of_distance = json[cls.FLAG_IS_UNIT_OF_DISTANCE]
|
||||
unit_measurement.is_unit_of_mass = json[cls.FLAG_IS_UNIT_OF_MASS]
|
||||
unit_measurement.is_unit_of_time = json[cls.FLAG_IS_UNIT_OF_TIME]
|
||||
unit_measurement.is_unit_of_volume = json[cls.FLAG_IS_UNIT_OF_VOLUME]
|
||||
unit_measurement.active = json[cls.FLAG_ACTIVE]
|
||||
Helper_App.console_log(f'Unit_Measurement: {unit_measurement}')
|
||||
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 = av.input_bool(json[cls.FLAG_IS_BASE_UNIT], cls.FLAG_ACTIVE, _m)
|
||||
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 = av.input_bool(json[cls.FLAG_IS_UNIT_OF_MASS], cls.FLAG_ACTIVE, _m)
|
||||
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 = av.input_bool(json[cls.FLAG_IS_UNIT_OF_VOLUME], cls.FLAG_ACTIVE, _m)
|
||||
unit_measurement.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m)
|
||||
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_ACTIVE: self.active
|
||||
}
|
||||
Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -72,7 +72,6 @@ class User(SQLAlchemy_ABC, Base):
|
||||
_m = 'User.from_json'
|
||||
user = User()
|
||||
if json is None: return user
|
||||
Helper_App.console_log(f'{_m}\njson: {json}')
|
||||
user.id_user = json['id_user']
|
||||
user.id_user_auth0 = json['id_user_auth0']
|
||||
user.firstname = json['firstname']
|
||||
@@ -83,7 +82,6 @@ class User(SQLAlchemy_ABC, Base):
|
||||
|
||||
user.can_admin_dog = user.is_super_user
|
||||
|
||||
Helper_App.console_log(f'user: {user}')
|
||||
return user
|
||||
|
||||
@staticmethod
|
||||
@@ -91,7 +89,6 @@ class User(SQLAlchemy_ABC, Base):
|
||||
_m = 'User.from_json_auth0'
|
||||
user = User()
|
||||
if json is None: return user
|
||||
Helper_App.console_log(f'{_m}\njson: {json}')
|
||||
user_info = json['userinfo']
|
||||
user.id_user = None
|
||||
user.id_user_auth0 = user_info['sub']
|
||||
@@ -103,7 +100,6 @@ class User(SQLAlchemy_ABC, Base):
|
||||
|
||||
user.can_admin_dog = user.is_super_user
|
||||
|
||||
Helper_App.console_log(f'user: {user}')
|
||||
return user
|
||||
|
||||
def to_json(self):
|
||||
@@ -118,7 +114,6 @@ class User(SQLAlchemy_ABC, Base):
|
||||
, 'is_email_verified': self.is_email_verified
|
||||
, 'is_super_user': self.is_super_user
|
||||
}
|
||||
Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -68,7 +68,7 @@ class Weather(SQLAlchemy_ABC, Base):
|
||||
weather.id_weather = json.get(Weather.ATTR_ID_WEATHER, -1)
|
||||
weather.name = json[cls.FLAG_NAME]
|
||||
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)
|
||||
# Helper_App.console_log(f'Weather: {weather}')
|
||||
return weather
|
||||
|
||||
@@ -56,13 +56,11 @@ class File_Type(SQLAlchemy_ABC, Base):
|
||||
_m = 'File_Type.from_json'
|
||||
file_type = cls()
|
||||
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.name = json[cls.FLAG_NAME]
|
||||
file_type.code = json.get(cls.FLAG_CODE, file_type.name.upper().replace(" ", "_"))
|
||||
file_type.is_image = json[cls.FLAG_IS_IMAGE]
|
||||
file_type.active = json[cls.FLAG_ACTIVE]
|
||||
# Helper_App.console_log(f'File_Type: {file_type}')
|
||||
return file_type
|
||||
|
||||
|
||||
@@ -75,7 +73,6 @@ class File_Type(SQLAlchemy_ABC, Base):
|
||||
, self.FLAG_IS_IMAGE: self.is_image
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
}
|
||||
# Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -63,16 +63,14 @@ class Contact_Form(SQLAlchemy_ABC, Base):
|
||||
_m = 'Contact_Form.from_json'
|
||||
contact_form = cls()
|
||||
if json is None: return Contact_Form
|
||||
Helper_App.console_log(f'{_m}\njson: {json}')
|
||||
contact_form.id_contact_form = -1
|
||||
contact_form.email = json[cls.FLAG_EMAIL]
|
||||
contact_form.name_contact = json[cls.FLAG_NAME_CONTACT]
|
||||
contact_form.name_company = json[cls.FLAG_NAME_COMPANY]
|
||||
contact_form.message = json[cls.FLAG_MESSAGE]
|
||||
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)
|
||||
Helper_App.console_log(f'Contact_Form: {contact_form}')
|
||||
return contact_form
|
||||
|
||||
|
||||
@@ -87,7 +85,6 @@ class Contact_Form(SQLAlchemy_ABC, Base):
|
||||
, self.FLAG_ACTIVE: self.active
|
||||
, self.FLAG_CREATED_ON: self.created_on
|
||||
}
|
||||
Helper_App.console_log(f'as_json: {as_json}')
|
||||
return as_json
|
||||
|
||||
def __repr__(self):
|
||||
|
||||
@@ -15,6 +15,9 @@ Dog Assessments Page Controller.
|
||||
from business_objects.api import API
|
||||
from business_objects.dog.command import Command
|
||||
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 forms.dog.assessment import Filters_Assessment
|
||||
from helpers.helper_app import Helper_App
|
||||
@@ -56,18 +59,31 @@ def assessments():
|
||||
Helper_App.console_log(f'form_filters={form_filters}')
|
||||
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():
|
||||
Helper_App.console_log('save_assessment')
|
||||
data = Helper_App.get_request_data(request)
|
||||
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])
|
||||
"""
|
||||
if not form_filters.validate_on_submit():
|
||||
return jsonify({
|
||||
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_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')
|
||||
|
||||
assessments = data[Model_View_Dog_Assessment.FLAG_ASSESSMENT]
|
||||
@@ -77,19 +93,47 @@ def save_assessment():
|
||||
Model_View_Dog_Assessment.FLAG_MESSAGE: f'No assessments.'
|
||||
})
|
||||
objs_assessment = []
|
||||
objs_distraction = []
|
||||
objs_assessment_command_modality_link = []
|
||||
objs_assessment_responses = []
|
||||
for assessment in assessments:
|
||||
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}')
|
||||
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):
|
||||
return jsonify({
|
||||
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({
|
||||
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:
|
||||
return jsonify({
|
||||
@@ -107,12 +151,17 @@ def assessment():
|
||||
Helper_App.console_log(f'Error: {e}')
|
||||
form_filters = Filters_Assessment()
|
||||
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._title = 'Assessment'
|
||||
if model.assessments is None or len(model.assessments) == 0:
|
||||
return assessments()
|
||||
if id_assessment is not None and id_assessment > 0:
|
||||
return assessments()
|
||||
else:
|
||||
model.assessments = [Assessment()]
|
||||
if not model.is_user_logged_in:
|
||||
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}')
|
||||
return render_template('pages/dog/_assessment.html', model = model)
|
||||
|
||||
@@ -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
|
||||
import lib.argument_validation as av
|
||||
# external
|
||||
from flask import render_template, Blueprint
|
||||
from flask import render_template, Blueprint, send_from_directory
|
||||
|
||||
|
||||
routes_legal = Blueprint('routes_legal', __name__)
|
||||
@@ -67,4 +67,6 @@ def privacy_policy():
|
||||
except Exception as e:
|
||||
return str(e)
|
||||
return html_body
|
||||
|
||||
@routes_legal.route('/robots.txt', methods=['GET'])
|
||||
def robots_txt():
|
||||
return send_from_directory('static', 'docs/robots.txt')
|
||||
|
||||
@@ -681,6 +681,54 @@ class DataStore_Dog(DataStore_Base):
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
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
|
||||
@@ -872,6 +920,54 @@ class DataStore_Dog(DataStore_Base):
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
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
|
||||
@@ -986,6 +1082,54 @@ class DataStore_Dog(DataStore_Base):
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
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
|
||||
@@ -1100,3 +1244,124 @@ class DataStore_Dog(DataStore_Base):
|
||||
cls.db_cursor_clear(cursor)
|
||||
|
||||
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
|
||||
|
||||
@@ -41,7 +41,7 @@ class Form_Base(FlaskForm, metaclass=Form_Base_Meta):
|
||||
|
||||
@staticmethod
|
||||
def get_select_option_default_value():
|
||||
return ''
|
||||
return '0'
|
||||
|
||||
def __repr__(self):
|
||||
fields = ', '.join(
|
||||
|
||||
@@ -76,6 +76,8 @@ class Model_View_Base(BaseModel, ABC):
|
||||
ATTR_ID_IMAGE: ClassVar[str] = Image.ATTR_ID_IMAGE
|
||||
ATTR_ID_LIGHTING_LEVEL: ClassVar[str] = Lighting_Level.ATTR_ID_LIGHTING_LEVEL
|
||||
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_TEXT_COLLAPSED: ClassVar[str] = 'textCollapsed'
|
||||
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_DOG_COMMAND_LINKS: ClassVar[str] = '/dog/dog-command-links'
|
||||
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_ERROR_NO_PERMISSION: ClassVar[str] = '/error'
|
||||
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_LOGIN: ClassVar[str] = '/login'
|
||||
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_COLOUR: ClassVar[str] = '/dog/save-colour'
|
||||
HASH_SAVE_DOG_COMMAND: ClassVar[str] = '/dog/save-command'
|
||||
|
||||
@@ -41,7 +41,7 @@ from typing import ClassVar, Optional
|
||||
from operator import attrgetter
|
||||
|
||||
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_SCENT: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SCENT
|
||||
FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT: ClassVar[str] = Distraction.FLAG_DISTRACTION_INTENSITY_LEVEL_SIGHT
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
User-agent: *
|
||||
Disallow: /qa
|
||||
Disallow: /dev
|
||||
@@ -1,26 +1,24 @@
|
||||
|
||||
USE demo;
|
||||
|
||||
DROP PROCEDURE IF EXISTS demo.p_ph_save_contact_form;
|
||||
DROP PROCEDURE IF EXISTS demo.p_dog_save_assessment_distraction_and_response;
|
||||
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE demo.p_ph_save_contact_form (
|
||||
CREATE PROCEDURE demo.p_dog_save_assessment_distraction_and_response (
|
||||
IN a_comment VARCHAR(500),
|
||||
IN a_guid BINARY(36),
|
||||
IN a_id_user INT,
|
||||
IN a_debug BIT
|
||||
)
|
||||
BEGIN
|
||||
DECLARE v_code_type_error_bad_data VARCHAR(100);
|
||||
DECLARE v_id_access_level_view INT;
|
||||
DECLARE v_id_access_level_edit INT;
|
||||
DECLARE v_id_change_set INT;
|
||||
DECLARE v_id_permission_contact_form_admin INT;
|
||||
DECLARE v_id_permission_contact_form_new INT;
|
||||
DECLARE v_id_type_error_bad_data INT;
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
DECLARE v_can_admin BIT;
|
||||
DECLARE v_can_create BIT;
|
||||
DECLARE v_code_type_error_bad_data VARCHAR(100);
|
||||
DECLARE v_id_access_level_edit INT;
|
||||
DECLARE v_id_change_set INT;
|
||||
DECLARE v_id_permission_dog_new INT;
|
||||
DECLARE v_id_type_error_bad_data INT;
|
||||
DECLARE v_time_start TIMESTAMP(6);
|
||||
|
||||
DECLARE exit handler for SQLEXCEPTION
|
||||
BEGIN
|
||||
@@ -32,16 +30,16 @@ BEGIN
|
||||
|
||||
ROLLBACK;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, code VARCHAR(50) NOT NULL
|
||||
, msg VARCHAR(4000) NOT NULL
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Combined (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
@@ -51,156 +49,191 @@ BEGIN
|
||||
FROM demo.CORE_Msg_Error_Type MET
|
||||
WHERE MET.code = 'MYSQL_ERROR'
|
||||
;
|
||||
|
||||
SELECT *
|
||||
FROM tmp_Msg_Error;
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error
|
||||
|
||||
SELECT
|
||||
t_ERROR.id_error
|
||||
, t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error_Combined t_ERROR
|
||||
INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error_Combined;
|
||||
END;
|
||||
|
||||
SET SESSION group_concat_max_len=15000;
|
||||
|
||||
SET v_time_start := CURRENT_TIMESTAMP(6);
|
||||
SET v_code_type_error_bad_data := 'BAD_DATA';
|
||||
SET v_id_type_error_bad_data := (SELECT id_type FROM demo.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_permission_contact_form_admin := (SELECT id_permission FROM demo.DOG_Permission P WHERE P.code = 'CONTACT_FORM_ADMIN' LIMIT 1);
|
||||
SET v_id_permission_contact_form_new := (SELECT id_permission FROM demo.DOG_Permission P WHERE P.code = 'CONTACT_FORM_CREATE' LIMIT 1);
|
||||
SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM demo.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1);
|
||||
SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM demo.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1);
|
||||
SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM demo.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1);
|
||||
|
||||
CALL demo.p_core_validate_guid ( a_guid );
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Contact_Form;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Distraction_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Save_ADR;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Contact_Form (
|
||||
id_contact_form INT NOT NULL
|
||||
, email VARCHAR(255) NOT NULL
|
||||
, name_contact VARCHAR(255) NOT NULL
|
||||
, name_company VARCHAR(255) NOT NULL
|
||||
, message TEXT NOT NULL
|
||||
, receive_marketing_communications BIT NOT NULL
|
||||
, active BIT NOT NULL
|
||||
, name_error VARCHAR(255)
|
||||
, is_new BIT NOT NULL
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR (
|
||||
id_temp INT
|
||||
, id_assessment INT
|
||||
, id_assessment_old INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, code VARCHAR(50) NOT NULL
|
||||
, msg VARCHAR(4000) NOT NULL
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Distraction_Save_ADR (
|
||||
id_temp INT
|
||||
, id_distraction INT
|
||||
, id_distraction_old INT
|
||||
, id_assessment INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Save_ADR (
|
||||
id_temp INT
|
||||
, id_link INT
|
||||
, id_link_old INT
|
||||
, id_assessment INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ADR (
|
||||
id_temp INT
|
||||
, id_response INT
|
||||
, id_response_old INT
|
||||
, id_assessment_command_modality_link INT
|
||||
, active BIT
|
||||
, is_new BIT
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Combined (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- Get data from Temp table
|
||||
INSERT INTO tmp_Contact_Form (
|
||||
id_contact_form
|
||||
, email
|
||||
, name_contact
|
||||
, name_company
|
||||
, message
|
||||
, receive_marketing_communications
|
||||
INSERT INTO tmp_Assessment_Save_ADR (
|
||||
id_temp
|
||||
, id_assessment
|
||||
, id_assessment_old
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
CF_T.id_contact_form AS id_contact_form
|
||||
, IFNULL(CF_T.email, CF.email) AS code
|
||||
, IFNULL(CF_T.name_contact, CF.name_contact) AS name_contact
|
||||
, IFNULL(CF_T.name_company, CF.name_company) AS name_company
|
||||
, IFNULL(CF_T.message, CF.message) AS message
|
||||
, COALESCE(CF_T.receive_marketing_communications, CF.receive_marketing_communications, 0) AS receive_marketing_communications
|
||||
, COALESCE(CF_T.active, CF.active, 1) AS active
|
||||
, CASE WHEN IFNULL(CF_T.id_contact_form, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM demo.PH_Contact_Form_Temp CF_T
|
||||
LEFT JOIN demo.PH_Contact_Form CF ON CF_T.id_contact_form = CF.id_contact_form
|
||||
WHERE CF_T.guid = a_guid
|
||||
ASSESSMENT_T.id_temp
|
||||
, ASSESSMENT_T.id_assessment
|
||||
, ASSESSMENT_T.id_assessment
|
||||
, COALESCE(
|
||||
ASSESSMENT_T.active
|
||||
, ASSESSMENT.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_T.id_assessment, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM demo.DOG_Assessment_Temp ASSESSMENT_T
|
||||
LEFT JOIN demo.DOG_Assessment ASSESSMENT ON ASSESSMENT_T.id_assessment = ASSESSMENT.id_assessment
|
||||
WHERE ASSESSMENT_T.guid = a_guid
|
||||
;
|
||||
|
||||
UPDATE tmp_Contact_Form t_CF
|
||||
SET name_error = COALESCE(t_CF.email, t_CF.name_company, t_CF.name_contact, t_CF.message, '(No Contact Form)')
|
||||
INSERT INTO tmp_Distraction_Save_ADR (
|
||||
id_temp
|
||||
, id_distraction
|
||||
, id_distraction_old
|
||||
, id_assessment
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
DISTRACTION_T.id_temp
|
||||
, DISTRACTION_T.id_distraction
|
||||
, DISTRACTION_T.id_distraction
|
||||
, DISTRACTION_T.id_assessment
|
||||
, COALESCE(
|
||||
DISTRACTION_T.active
|
||||
, DISTRACTION.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(DISTRACTION_T.id_distraction, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM demo.DOG_Distraction_Temp DISTRACTION_T
|
||||
LEFT JOIN demo.DOG_Distraction DISTRACTION ON DISTRACTION_T.id_distraction = DISTRACTION.id_distraction
|
||||
WHERE DISTRACTION_T.guid = a_guid
|
||||
;
|
||||
|
||||
-- Validation
|
||||
-- Missing mandatory fields
|
||||
-- email
|
||||
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.email) LIMIT 1) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Contact Form(s) do not have an Email: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Contact_Form t_CF
|
||||
WHERE ISNULL(t_CF.email)
|
||||
;
|
||||
END IF;
|
||||
-- name_contact
|
||||
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.name_contact) LIMIT 1) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Contact Form(s) do not have a Contact Name: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Contact_Form t_CF
|
||||
WHERE ISNULL(t_CF.name_contact)
|
||||
;
|
||||
END IF;
|
||||
-- name_company
|
||||
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.name_company) LIMIT 1) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Contact Form(s) do not have a Company Name: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Contact_Form t_CF
|
||||
WHERE ISNULL(t_CF.name)
|
||||
;
|
||||
END IF;
|
||||
-- message
|
||||
IF EXISTS (SELECT * FROM tmp_Contact_Form t_CF WHERE ISNULL(t_CF.message) LIMIT 1) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Contact Form(s) do not have a Message: ', GROUP_CONCAT(t_CF.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Contact_Form t_CF
|
||||
WHERE ISNULL(t_CF.message)
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Assessment_Command_Modality_Link_Save_ADR (
|
||||
id_temp
|
||||
, id_link
|
||||
, id_link_old
|
||||
, id_assessment
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM demo.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
|
||||
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.guid = a_guid
|
||||
;
|
||||
|
||||
INSERT INTO tmp_Assessment_Response_Save_ADR (
|
||||
id_temp
|
||||
, id_response
|
||||
, id_response_old
|
||||
, id_assessment_command_modality_link
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
SELECT
|
||||
ASSESSMENT_RESPONSE_T.id_temp
|
||||
, ASSESSMENT_RESPONSE_T.id_response
|
||||
, ASSESSMENT_RESPONSE_T.id_response
|
||||
, ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link
|
||||
, COALESCE(
|
||||
ASSESSMENT_RESPONSE_T.active
|
||||
, ASSESSMENT_RESPONSE.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_RESPONSE_T.id_response, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM demo.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T
|
||||
LEFT JOIN demo.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response
|
||||
WHERE ASSESSMENT_RESPONSE_T.guid = a_guid
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'Temp records';
|
||||
SELECT * FROM tmp_Assessment_Save_ADR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Save_ADR;
|
||||
SELECT * FROM tmp_Distraction_Save_ADR;
|
||||
SELECT COUNT(*) FROM tmp_Distraction_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ADR;
|
||||
SELECT COUNT(*) FROM tmp_Assessment_Response_Save_ADR;
|
||||
END IF;
|
||||
|
||||
-- Permissions
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid
|
||||
, 0 -- get_all_user
|
||||
, 0 -- get_inactive_user
|
||||
, a_id_user -- ids_user
|
||||
, '' -- a_auth0_ids_user
|
||||
, '' -- a_names_user
|
||||
, '' -- a_emails_user
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met
|
||||
, v_id_permission_contact_form_admin -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
-- Can Create
|
||||
CALL demo.p_dog_calc_user(
|
||||
a_guid
|
||||
, 0 -- get_all_user
|
||||
@@ -213,196 +246,300 @@ BEGIN
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met
|
||||
, v_id_permission_contact_form_admin -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, v_id_permission_dog_new -- ids_permission
|
||||
, v_id_access_level_edit -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
SELECT
|
||||
IFNULL(CALC_USER_T.has_access, 0)
|
||||
INTO
|
||||
v_can_admin
|
||||
FROM demo.DOG_Calc_User_Temp CALC_USER_T
|
||||
WHERE CALC_USER_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT v_can_admin;
|
||||
SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR;
|
||||
SELECT * FROM tmp_Msg_Error t_ERROR;
|
||||
END IF;
|
||||
|
||||
CALL demo.p_dog_clear_calc_user(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT
|
||||
a_guid
|
||||
, 0 -- get_all_user
|
||||
, 0 -- get_inactive_user
|
||||
, a_id_user -- ids_user
|
||||
, '' -- a_auth0_ids_user
|
||||
, '' -- a_names_user
|
||||
, '' -- a_emails_user
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met
|
||||
, v_id_permission_contact_form_new -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
;
|
||||
END IF;
|
||||
|
||||
CALL demo.p_dog_calc_user(
|
||||
a_guid
|
||||
, 0 -- get_all_user
|
||||
, 0 -- get_inactive_user
|
||||
, a_id_user -- ids_user
|
||||
, '' -- a_auth0_ids_user
|
||||
, '' -- a_names_user
|
||||
, '' -- a_emails_user
|
||||
, 1 -- a_require_all_id_search_filters_met
|
||||
, 1 -- a_require_any_id_search_filters_met
|
||||
, 0 -- a_require_all_non_id_search_filters_met
|
||||
, 0 -- a_require_any_non_id_search_filters_met
|
||||
, v_id_permission_contact_form_new -- ids_permission
|
||||
, v_id_access_level_view -- ids_access_level
|
||||
, 0 -- a_show_errors
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
SELECT
|
||||
IFNULL(CALC_USER_T.has_access, 0)
|
||||
IFNULL(CU_T.has_access, 0)
|
||||
INTO
|
||||
v_can_create
|
||||
FROM demo.DOG_Calc_User_Temp CALC_USER_T
|
||||
WHERE CALC_USER_T.GUID = a_guid
|
||||
FROM demo.DOG_Calc_User_Temp CU_T
|
||||
WHERE CU_T.GUID = a_guid
|
||||
LIMIT 1
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT v_can_create;
|
||||
SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR;
|
||||
SELECT * FROM tmp_Msg_Error t_ERROR;
|
||||
END IF;
|
||||
|
||||
CALL demo.p_dog_clear_calc_user(
|
||||
a_guid
|
||||
, 0 -- a_debug
|
||||
);
|
||||
|
||||
IF (v_can_admin = 0 AND EXISTS(SELECT * FROM tmp_Contact_Form WHERE is_new = 0)) THEN
|
||||
IF v_can_create = 0 THEN
|
||||
DELETE t_ME
|
||||
FROM tmp_Msg_Error t_ME
|
||||
FROM tmp_Msg_Error_Combined t_ME
|
||||
WHERE t_ME.id_type <> v_id_type_error_no_permission
|
||||
;
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
VALUES (
|
||||
v_id_type_error_no_permission
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to admin Contact Forms.'
|
||||
, v_code_type_error_no_permission
|
||||
, 'You do not have permission to edit Assessment_Distraction_And_Responses.'
|
||||
)
|
||||
;
|
||||
END IF;
|
||||
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * from tmp_Contact_Form;
|
||||
END IF;
|
||||
|
||||
DELETE FROM tmp_Contact_Form;
|
||||
END IF;
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Assessments
|
||||
-- CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL demo.p_dog_save_assessment (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
INSERT INTO demo.PH_Contact_Form_Change_Set (
|
||||
comment
|
||||
, id_user_updated_last_by
|
||||
, updated_last_on
|
||||
)
|
||||
VALUES (
|
||||
a_comment
|
||||
, a_id_user
|
||||
, v_time_start
|
||||
)
|
||||
;
|
||||
|
||||
SET v_id_change_set := LAST_INSERT_ID();
|
||||
|
||||
UPDATE demo.PH_Contact_Form CF
|
||||
INNER JOIN tmp_Contact_Form t_CF
|
||||
ON CF.id_contact_form = t_CF.id_contact_form
|
||||
AND t_CF.is_new = 0
|
||||
SET
|
||||
CF.email = t_CF.email
|
||||
, CF.name_contact = t_CF.name_contact
|
||||
, CF.name_company = t_CF.name_company
|
||||
, CF.message = t_CF.message
|
||||
, CF.receive_marketing_communications = t_CF.receive_marketing_communications
|
||||
, CF.active = t_CF.active
|
||||
, CF.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO demo.PH_Contact_Form (
|
||||
email
|
||||
, name_contact
|
||||
, name_company
|
||||
, message
|
||||
, receive_marketing_communications
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_CF.email AS email
|
||||
, t_CF.name_contact AS name_contact
|
||||
, t_CF.name_company AS name_company
|
||||
, t_CF.message AS message
|
||||
, t_CF.receive_marketing_communications AS receive_marketing_communications
|
||||
, t_CF.active AS active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
FROM tmp_Contact_Form t_CF
|
||||
WHERE
|
||||
t_CF.is_new = 1
|
||||
AND t_CF.active = 1
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
START TRANSACTION;
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_SAVE_ERROR.id_type
|
||||
, t_ASSESSMENT_SAVE_ERROR.code
|
||||
, t_ASSESSMENT_SAVE_ERROR.msg
|
||||
FROM tmp_Assessment_Save_ADR_Save_Error t_ASSESSMENT_SAVE_ERROR
|
||||
;
|
||||
*/
|
||||
|
||||
DELETE FROM demo.PH_Contact_Form_Temp
|
||||
WHERE GUID = a_guid
|
||||
-- Get New Assessment Ids
|
||||
IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
|
||||
-- Update Temporary tables with new Ids
|
||||
UPDATE tmp_Assessment_Save_ADR t_ASSESSMENT
|
||||
INNER JOIN demo.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_temp = ASSESSMENT.id_temp
|
||||
INNER JOIN tmp_Distraction_Save_ADR t_DISTRACTION ON t_ASSESSMENT.id_assessment_old = t_DISTRACTION.id_assessment
|
||||
INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT.id_assessment_old = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment
|
||||
SET
|
||||
t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment
|
||||
, t_DISTRACTION.id_assessment = ASSESSMENT.id_assessment
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
WHERE
|
||||
t_ASSESSMENT.active = 1
|
||||
AND t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- Update Staging tables with new Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Assessment_Save_ADR t_ASSESSMENT WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old LIMIT 1) THEN
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
UPDATE demo.DOG_Distraction_Temp DISTRACTION_T
|
||||
INNER JOIN tmp_Distraction_Save_ADR t_DISTRACTION ON DISTRACTION_T.id_temp = t_DISTRACTION.id_temp
|
||||
INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON t_DISTRACTION.id_assessment = t_ASSESSMENT.id_assessment
|
||||
SET DISTRACTION_T.id_assessment = t_DISTRACTION.id_assessment
|
||||
WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old
|
||||
;
|
||||
|
||||
UPDATE demo.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
|
||||
INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp
|
||||
INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON t_ASSESSMENT.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment
|
||||
SET ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment
|
||||
WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After align assessment Ids';
|
||||
SELECT * FROM tmp_Assessment_Save_ADR;
|
||||
SELECT * FROM tmp_Distraction_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ADR;
|
||||
END IF;
|
||||
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Distractions
|
||||
-- CREATE TEMPORARY TABLE tmp_Distraction_Save_ADR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL demo.p_dog_save_distraction (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_DISTRACTION_SAVE_ERROR.id_type
|
||||
, t_DISTRACTION_SAVE_ERROR.code
|
||||
, t_DISTRACTION_SAVE_ERROR.msg
|
||||
FROM tmp_Distraction_Save_ADR_Save_Error t_DISTRACTION_SAVE_ERROR
|
||||
;
|
||||
*/
|
||||
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Assessment Command Modality Links
|
||||
-- CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL demo.p_dog_save_assessment_command_modality_link (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_ACML_SAVE_ERROR.id_type
|
||||
, t_ACML_SAVE_ERROR.code
|
||||
, t_ACML_SAVE_ERROR.msg
|
||||
FROM tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error t_ACML_SAVE_ERROR
|
||||
;
|
||||
*/
|
||||
|
||||
-- Get New Assessment Command Modality Link Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE ASSESSMENT
|
||||
FROM demo.DOG_Assessment ASSESSMENT
|
||||
INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment
|
||||
WHERE t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
ELSE
|
||||
-- Update Temporary tables with new Ids
|
||||
UPDATE tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
INNER JOIN demo.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK.id_temp
|
||||
LEFT JOIN tmp_Assessment_Response_Save_ADR t_ASSESSMENT_RESPONSE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
SET
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
, t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
WHERE
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.active = 1
|
||||
AND t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1
|
||||
;
|
||||
|
||||
-- Update Staging tables with new Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK WHERE t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link <> t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link_old LIMIT 1) THEN
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
UPDATE demo.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T
|
||||
INNER JOIN tmp_Assessment_Response_Save_ADR t_ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_temp = t_ASSESSMENT_RESPONSE.id_temp
|
||||
INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
SET ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link
|
||||
WHERE t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link <> t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link_old
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT 'After align assessment Ids';
|
||||
SELECT * FROM tmp_Assessment_Save_ADR;
|
||||
SELECT * FROM tmp_Distraction_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ADR;
|
||||
END IF;
|
||||
|
||||
-- DELETE FROM tmp_Msg_Error_Combined_Save;
|
||||
-- Save Assessment Responses
|
||||
-- CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ADR_Save_Error AS
|
||||
-- INSERT INTO tmp_Msg_Error_Combined_Save
|
||||
CALL demo.p_dog_save_assessment_response (
|
||||
a_comment
|
||||
, a_guid
|
||||
, a_id_user
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
/*
|
||||
INSERT INTO tmp_Msg_Error_Combined (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_RESPONSE_SAVE_ERROR.id_type
|
||||
, t_ASSESSMENT_RESPONSE_SAVE_ERROR.code
|
||||
, t_ASSESSMENT_RESPONSE_SAVE_ERROR.msg
|
||||
FROM tmp_Assessment_Response_Save_ADR_Save_Error t_ASSESSMENT_RESPONSE_SAVE_ERROR
|
||||
;
|
||||
*/
|
||||
|
||||
-- Get New Assessment Command Modality Link Ids
|
||||
IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN
|
||||
START TRANSACTION;
|
||||
|
||||
DELETE ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
FROM demo.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_modality_link
|
||||
INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = t_ASSESSMENT.id_assessment
|
||||
WHERE
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1
|
||||
OR t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
DELETE ASSESSMENT
|
||||
FROM demo.DOG_Assessment ASSESSMENT
|
||||
INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment
|
||||
WHERE t_ASSESSMENT.is_new = 1
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
-- Errors
|
||||
SELECT *
|
||||
FROM tmp_Msg_Error t_ME
|
||||
INNER JOIN demo.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type
|
||||
SELECT
|
||||
t_ERROR.id_error
|
||||
, t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, ERROR_TYPE.name
|
||||
, ERROR_TYPE.description
|
||||
, ERROR_TYPE.is_breaking_error
|
||||
, ERROR_TYPE.background_colour
|
||||
, ERROR_TYPE.text_colour
|
||||
, t_ERROR.msg
|
||||
FROM tmp_Msg_Error_Combined t_ERROR
|
||||
INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
SELECT * from tmp_Contact_Form;
|
||||
SELECT * FROM tmp_Assessment_Save_ADR;
|
||||
SELECT * FROM tmp_Distraction_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
SELECT * FROM tmp_Assessment_Response_Save_ADR;
|
||||
END IF;
|
||||
|
||||
DROP TEMPORARY TABLE tmp_Contact_Form;
|
||||
DROP TEMPORARY TABLE tmp_Msg_Error;
|
||||
CALL demo.p_dog_clear_msg_error (
|
||||
a_guid
|
||||
, 0 -- debug
|
||||
);
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Distraction_Save_ADR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Save_ADR_Save_Error;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Distraction_Save_ADR;
|
||||
DROP TABLE IF EXISTS tmp_Assessment_Save_ADR;
|
||||
DROP TEMPORARY TABLE tmp_Msg_Error_Combined;
|
||||
|
||||
IF a_debug = 1 THEN
|
||||
CALL demo.p_core_debug_timing_reporting ( v_time_start );
|
||||
@@ -411,26 +548,15 @@ END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from demo.PH_Contact_Form_Temp
|
||||
;
|
||||
|
||||
/*
|
||||
|
||||
CALL demo.p_ph_save_contact_form (
|
||||
CALL demo.p_dog_save_assessment_distraction_and_response (
|
||||
'nipples'
|
||||
, (SELECT GUID FROM demo.PH_Contact_Form_Temp ORDER BY id_temp DESC LIMIT 1)
|
||||
, 'ripplesipplenipplytippledipplykipple'
|
||||
, 1
|
||||
, 1
|
||||
);
|
||||
|
||||
select
|
||||
*
|
||||
-- COUNT(*)
|
||||
-- delete
|
||||
from demo.PH_Contact_Form_Temp
|
||||
;
|
||||
|
||||
|
||||
*/
|
||||
19
static/MySQL/10502_tbl_CORE_Msg_Error_Temp.sql
Normal file
19
static/MySQL/10502_tbl_CORE_Msg_Error_Temp.sql
Normal 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
|
||||
);
|
||||
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS parts.DOG_Assessment (
|
||||
id_assessment INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_weather INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_id_weather
|
||||
FOREIGN KEY (id_weather)
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
|
||||
USE parts;
|
||||
|
||||
-- DROP TABLE IF EXISTS parts.DOG_Distraction;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
@@ -10,6 +12,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS parts.DOG_Distraction (
|
||||
id_distraction INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_assessment INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Distraction_id_assessment
|
||||
FOREIGN KEY (id_assessment)
|
||||
|
||||
@@ -10,6 +10,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link (
|
||||
id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_assessment INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_assessment
|
||||
FOREIGN KEY (id_assessment)
|
||||
@@ -26,7 +27,7 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link (
|
||||
, CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_bribe
|
||||
FOREIGN KEY (id_bribe)
|
||||
REFERENCES parts.DOG_Bribe(id_bribe)
|
||||
, distance_from_handler FLOAT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
|
||||
@@ -17,7 +17,7 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link_Temp (
|
||||
, id_command INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, distance_from_handler FLOAT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
|
||||
USE parts;
|
||||
|
||||
-- DROP TABLE IF EXISTS parts.DOG_Assessment_Response;
|
||||
|
||||
SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE
|
||||
@@ -10,6 +12,7 @@ WHERE
|
||||
|
||||
CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Response (
|
||||
id_response INT NOT NULL AUTO_INCREMENT PRIMARY KEY
|
||||
, id_temp INT
|
||||
, id_assessment_command_modality_link INT NOT NULL
|
||||
, CONSTRAINT FK_DOG_Assessment_Response_id_assessment_command_modality_link
|
||||
FOREIGN KEY (id_assessment_command_modality_link)
|
||||
|
||||
@@ -46,9 +46,9 @@ BEGIN
|
||||
SELECT NEW.id_link, 'id_bribe', CONVERT(OLD.id_bribe, CHAR), CONVERT(NEW.id_bribe, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.id_bribe <=> NEW.id_bribe)
|
||||
UNION
|
||||
-- Changed distance_from_handler
|
||||
SELECT NEW.id_link, 'distance_from_handler', CONVERT(OLD.distance_from_handler, CHAR), CONVERT(NEW.distance_from_handler, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.distance_from_handler <=> NEW.distance_from_handler)
|
||||
-- Changed distance_from_handler_metres
|
||||
SELECT NEW.id_link, 'distance_from_handler_metres', CONVERT(OLD.distance_from_handler_metres, CHAR), CONVERT(NEW.distance_from_handler_metres, CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.distance_from_handler_metres <=> NEW.distance_from_handler_metres)
|
||||
UNION
|
||||
-- Changed is_in_sight_of_handler
|
||||
SELECT NEW.id_link, 'is_in_sight_of_handler', CONVERT(CONVERT(OLD.is_in_sight_of_handler, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_in_sight_of_handler, SIGNED), CHAR), NEW.id_change_set
|
||||
|
||||
44
static/MySQL/70502_p_dog_clear_msg_error.sql
Normal file
44
static/MySQL/70502_p_dog_clear_msg_error.sql
Normal 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 '
|
||||
;
|
||||
|
||||
*/
|
||||
@@ -44,7 +44,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -113,8 +113,8 @@ BEGIN
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp_User (
|
||||
id_user INT NULL
|
||||
, rank_user INT NULL
|
||||
id_user INT
|
||||
, rank_user INT
|
||||
, can_admin_dog BIT NULL
|
||||
, can_admin_user BIT NULL
|
||||
);
|
||||
@@ -128,7 +128,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split;
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -32,7 +32,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -53,7 +53,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_User (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -169,32 +169,32 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_User (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_User (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_User;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Auth0_Id_Calc_User (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Auth0_Id_Calc_User;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_User (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_User;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Email_Calc_User (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Email_Calc_User;
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Dog (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -137,20 +137,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Dog (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Dog (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Dog;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Dog (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Dog;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -137,7 +137,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -34,7 +34,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -114,7 +114,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -32,7 +32,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -102,7 +102,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -53,7 +53,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -171,32 +171,32 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Command (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Command;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Command (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Command;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Hand_Signal_Default_Description_Calc_Command (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Hand_Signal_Default_Description_Calc_Command;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Command (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Notes_Calc_Command;
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -173,7 +173,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -68,7 +68,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -257,26 +257,26 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Dog_Command_Link (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Dog_Command_Link;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Hand_Signal_Description_Calc_Dog_Command_Link (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Hand_Signal_Description_Calc_Dog_Command_Link;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Dog_Command_Link (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Notes_Calc_Dog_Command_Link;
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -106,7 +106,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -43,7 +43,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command_Modality (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -138,20 +138,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Command_Modality (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Command_Modality (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Command_Modality;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Command_Modality (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Command_Modality;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -135,7 +135,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -43,7 +43,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Location (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -151,20 +151,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Location (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Location (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Location;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Location (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Location;
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -141,7 +141,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -32,7 +32,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -104,7 +104,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -45,7 +45,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Shape (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -143,26 +143,26 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Shape (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Button_Shape (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Button_Shape;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Button_Shape (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Button_Shape;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Button_Shape (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Notes_Calc_Button_Shape;
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -139,7 +139,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -43,7 +43,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Colour (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -138,20 +138,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Colour (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Colour (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Colour;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Colour (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Colour;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -135,7 +135,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -53,7 +53,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Image (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -185,20 +185,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Image (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Image (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Image;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Image (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Image;
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -164,7 +164,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -55,7 +55,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Icon (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -185,26 +185,26 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Button_Icon (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Button_Icon (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Button_Icon;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Button_Icon (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Button_Icon;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Button_Icon (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Notes_Calc_Button_Icon;
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -164,7 +164,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -32,7 +32,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -104,7 +104,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -100,7 +100,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -356,14 +356,14 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Command_Button_Link (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Command_Button_Link;
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -108,7 +108,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -43,7 +43,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Weather (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -138,20 +138,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Weather (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Weather (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Weather;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Weather (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Weather;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -135,7 +135,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -43,7 +43,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Lighting_Level (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -138,20 +138,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Lighting_Level (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Lighting_Level (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Lighting_Level;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Lighting_Level (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Lighting_Level;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -135,7 +135,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -65,7 +65,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -237,20 +237,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Assessment (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Assessment;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Assessment (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Notes_Calc_Assessment;
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -171,7 +171,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -32,7 +32,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -64,6 +64,22 @@ BEGIN
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
START TRANSACTION;
|
||||
INSERT INTO parts.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
, guid
|
||||
)
|
||||
SELECT
|
||||
t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, t_ERROR.msg
|
||||
, a_guid
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
;
|
||||
COMMIT;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
END;
|
||||
|
||||
@@ -112,7 +128,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -171,7 +187,7 @@ BEGIN
|
||||
UPDATE tmp_Assessment t_ASSESSMENT
|
||||
LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment
|
||||
SET t_ASSESSMENT.name_error = CONCAT(
|
||||
CONVERT(COALESCE(t_ASSESSMENT.created_on, ASSESSMENT.created_on, v_time_start), CHAR)
|
||||
CONVERT(COALESCE(ASSESSMENT.created_on, v_time_start), CHAR)
|
||||
, CASE WHEN t_ASSESSMENT.notes IS NOT NULL THEN CONCAT(' - ', t_ASSESSMENT.notes) ELSE '' END
|
||||
/*
|
||||
COALESCE(WEATHER.name, '(No Weather)')
|
||||
@@ -281,10 +297,10 @@ BEGIN
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment t_ASSESSMENT
|
||||
LEFT JOIN demo.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user_handler
|
||||
LEFT JOIN demo.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT.id_user_handler)
|
||||
OR ISNULL(USER_HANDLER.id_user_handler)
|
||||
OR ISNULL(USER_HANDLER.id_user)
|
||||
OR USER_HANDLER.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
@@ -297,10 +313,10 @@ BEGIN
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog User_Handler Assessment(s) do not have a valid User_Handler: ', GROUP_CONCAT(t_ASSESSMENT.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment t_ASSESSMENT
|
||||
LEFT JOIN parts.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user_handler
|
||||
LEFT JOIN parts.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT.id_user_handler)
|
||||
OR ISNULL(USER_HANDLER.id_user_handler)
|
||||
OR ISNULL(USER_HANDLER.id_user)
|
||||
OR USER_HANDLER.active = 0
|
||||
;
|
||||
END IF;
|
||||
@@ -399,7 +415,8 @@ BEGIN
|
||||
;
|
||||
|
||||
INSERT INTO parts.DOG_Assessment (
|
||||
id_weather
|
||||
id_temp
|
||||
, id_weather
|
||||
, id_lighting_level
|
||||
, id_location
|
||||
, id_user_handler
|
||||
@@ -411,7 +428,8 @@ BEGIN
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT.id_weather AS id_weather
|
||||
t_ASSESSMENT.id_temp
|
||||
, t_ASSESSMENT.id_weather AS id_weather
|
||||
, t_ASSESSMENT.id_lighting_level AS id_lighting_level
|
||||
, t_ASSESSMENT.id_location AS id_location
|
||||
, t_ASSESSMENT.id_user_handler AS id_user_handler
|
||||
@@ -426,6 +444,20 @@ BEGIN
|
||||
t_ASSESSMENT.is_new = 1
|
||||
AND t_ASSESSMENT.active = 1
|
||||
;
|
||||
|
||||
INSERT INTO parts.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
, guid
|
||||
)
|
||||
SELECT
|
||||
t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, t_ERROR.msg
|
||||
, a_guid
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
@@ -43,7 +43,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Type (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -138,20 +138,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Type (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction_Type (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Distraction_Type;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Distraction_Type (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Distraction_Type;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -135,7 +135,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -43,7 +43,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Intensity_Level (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -138,20 +138,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction_Intensity_Level (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction_Intensity_Level (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Distraction_Intensity_Level;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Distraction_Intensity_Level (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Distraction_Intensity_Level;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -135,7 +135,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -99,7 +99,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -339,20 +339,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Distraction (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Distraction (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Distraction;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Distraction (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Notes_Calc_Distraction;
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -243,7 +243,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -32,7 +32,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -64,6 +64,22 @@ BEGIN
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
START TRANSACTION;
|
||||
INSERT INTO parts.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
, guid
|
||||
)
|
||||
SELECT
|
||||
t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, t_ERROR.msg
|
||||
, a_guid
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
;
|
||||
COMMIT;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
END;
|
||||
|
||||
@@ -118,7 +134,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -213,7 +229,7 @@ BEGIN
|
||||
, ' - '
|
||||
, COALESCE(DISTRACTION_INTENSITY_LEVEL_SCENT.name, '(No Distraction Intensity Level Touch)')
|
||||
, ' - x'
|
||||
, CONVERT(COALESCE(t_ASSESSMENT.quantity, 0), CHAR)
|
||||
, CONVERT(COALESCE(t_DISTRACTION.quantity, 0), CHAR)
|
||||
)
|
||||
;
|
||||
|
||||
@@ -257,10 +273,10 @@ BEGIN
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Distraction t_DISTRACTION
|
||||
LEFT JOIN demo.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_distraction_type
|
||||
LEFT JOIN demo.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_distraction_type)
|
||||
OR ISNULL(DISTRACTION_TYPE.id_distraction_type)
|
||||
OR ISNULL(DISTRACTION_TYPE.id_type)
|
||||
OR DISTRACTION_TYPE.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
@@ -273,10 +289,10 @@ BEGIN
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog Distraction_Type Distraction(s) do not have a valid Distraction_Type: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Distraction t_DISTRACTION
|
||||
LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_distraction_type
|
||||
LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_distraction_type)
|
||||
OR ISNULL(DISTRACTION_TYPE.id_distraction_type)
|
||||
OR ISNULL(DISTRACTION_TYPE.id_type)
|
||||
OR DISTRACTION_TYPE.active = 0
|
||||
;
|
||||
END IF;
|
||||
@@ -284,10 +300,10 @@ BEGIN
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Distraction t_DISTRACTION
|
||||
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional
|
||||
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_intensity_level_emotional)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level)
|
||||
OR DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
@@ -300,10 +316,10 @@ BEGIN
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Distraction(s) do not have a valid Distraction_Intensity_Level_Emotional: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Distraction t_DISTRACTION
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_intensity_level_emotional)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level_emotional)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level)
|
||||
OR DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.active = 0
|
||||
;
|
||||
END IF;
|
||||
@@ -314,7 +330,7 @@ BEGIN
|
||||
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_intensity_level_scent)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level_scent)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level)
|
||||
OR DISTRACTION_INTENSITY_LEVEL_SCENT.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
@@ -330,7 +346,7 @@ BEGIN
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_intensity_level_scent)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level_scent)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level)
|
||||
OR DISTRACTION_INTENSITY_LEVEL_SCENT.active = 0
|
||||
;
|
||||
END IF;
|
||||
@@ -341,7 +357,7 @@ BEGIN
|
||||
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_intensity_level_sight)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level_sight)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level)
|
||||
OR DISTRACTION_INTENSITY_LEVEL_SIGHT.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
@@ -357,7 +373,7 @@ BEGIN
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_intensity_level_sight)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level_sight)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level)
|
||||
OR DISTRACTION_INTENSITY_LEVEL_SIGHT.active = 0
|
||||
;
|
||||
END IF;
|
||||
@@ -368,7 +384,7 @@ BEGIN
|
||||
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_intensity_level_sound)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level_sound)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level)
|
||||
OR DISTRACTION_INTENSITY_LEVEL_SOUND.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
@@ -384,7 +400,7 @@ BEGIN
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_intensity_level_sound)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level_sound)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level)
|
||||
OR DISTRACTION_INTENSITY_LEVEL_SOUND.active = 0
|
||||
;
|
||||
END IF;
|
||||
@@ -395,7 +411,7 @@ BEGIN
|
||||
LEFT JOIN demo.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_intensity_level_touch)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level_touch)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level)
|
||||
OR DISTRACTION_INTENSITY_LEVEL_TOUCH.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
@@ -411,7 +427,7 @@ BEGIN
|
||||
LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_DISTRACTION.id_intensity_level_touch)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level_touch)
|
||||
OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level)
|
||||
OR DISTRACTION_INTENSITY_LEVEL_TOUCH.active = 0
|
||||
;
|
||||
END IF;
|
||||
@@ -513,7 +529,8 @@ BEGIN
|
||||
;
|
||||
|
||||
INSERT INTO parts.DOG_Distraction (
|
||||
id_assessment
|
||||
id_temp
|
||||
, id_assessment
|
||||
, id_distraction_type
|
||||
, id_intensity_level_emotional
|
||||
, id_intensity_level_scent
|
||||
@@ -528,7 +545,8 @@ BEGIN
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_DISTRACTION.id_assessment AS id_assessment
|
||||
t_DISTRACTION.id_temp
|
||||
, t_DISTRACTION.id_assessment AS id_assessment
|
||||
, t_DISTRACTION.id_distraction_type AS id_distraction_type
|
||||
, t_DISTRACTION.id_intensity_level_emotional AS id_intensity_level_emotional
|
||||
, t_DISTRACTION.id_intensity_level_scent AS id_intensity_level_scent
|
||||
@@ -546,6 +564,20 @@ BEGIN
|
||||
t_DISTRACTION.is_new = 1
|
||||
AND t_DISTRACTION.active = 1
|
||||
;
|
||||
|
||||
INSERT INTO parts.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
, guid
|
||||
)
|
||||
SELECT
|
||||
t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, t_ERROR.msg
|
||||
, a_guid
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
@@ -43,7 +43,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Bribe (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -138,20 +138,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Bribe (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Bribe (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Bribe;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Bribe (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Bribe;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -135,7 +135,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -10,8 +10,8 @@ CREATE PROCEDURE parts.p_dog_calc_assessment_command_modality_link (
|
||||
, IN a_get_all_link BIT
|
||||
, IN a_get_inactive_link BIT
|
||||
, IN a_ids_link TEXT
|
||||
, IN a_min_distance_from_handler_link FLOAT
|
||||
, IN a_max_distance_from_handler_link FLOAT
|
||||
, IN a_min_distance_from_handler_metres_link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_link BIT
|
||||
, IN a_value_is_in_scent_range_of_handler_link BIT
|
||||
, IN a_value_is_in_hearing_range_of_handler_link BIT
|
||||
@@ -81,8 +81,8 @@ BEGIN
|
||||
DECLARE v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler BIT;
|
||||
DECLARE v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler BIT;
|
||||
DECLARE v_has_filter_assessment_command_modality_link_is_on_lead BIT;
|
||||
DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_min BIT;
|
||||
DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_max BIT;
|
||||
DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min BIT;
|
||||
DECLARE v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max BIT;
|
||||
DECLARE v_has_filter_assessment_command_modality_link_trial_count_min BIT;
|
||||
DECLARE v_has_filter_assessment_command_modality_link_trial_count_max BIT;
|
||||
DECLARE v_id_access_level_view INT;
|
||||
@@ -104,7 +104,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_ACM_Link (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -155,8 +155,8 @@ BEGIN
|
||||
SET a_get_inactive_link := IFNULL(a_get_inactive_link, 0);
|
||||
SET a_ids_link := TRIM(IFNULL(a_ids_link, ''));
|
||||
/*
|
||||
, IN a_min_distance_from_handler_link FLOAT
|
||||
, IN a_max_distance_from_handler_link FLOAT
|
||||
, IN a_min_distance_from_handler_metres_link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_link INT
|
||||
, IN a_value_is_in_scent_range_of_handler_link INT
|
||||
, IN a_value_is_in_hearing_range_of_handler_link INT
|
||||
@@ -178,8 +178,8 @@ BEGIN
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
, a_min_distance_from_handler_link
|
||||
, a_max_distance_from_handler_link
|
||||
, a_min_distance_from_handler_metres_link
|
||||
, a_max_distance_from_handler_metres_link
|
||||
, a_value_is_in_sight_of_handler_link
|
||||
, a_value_is_in_scent_range_of_handler_link
|
||||
, a_value_is_in_hearing_range_of_handler_link
|
||||
@@ -319,7 +319,7 @@ BEGIN
|
||||
, id_command INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, distance_from_handler FLOAT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
@@ -332,14 +332,14 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_ACM_Link (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_ACM_Link (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_ACM_Link;
|
||||
|
||||
@@ -348,8 +348,8 @@ BEGIN
|
||||
SET v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler := NOT ISNULL(a_value_is_in_scent_range_of_handler_link);
|
||||
SET v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler := NOT ISNULL(a_value_is_in_hearing_range_of_handler_link);
|
||||
SET v_has_filter_assessment_command_modality_link_is_on_lead := NOT ISNULL(a_value_is_on_lead_link);
|
||||
SET v_has_filter_assessment_command_modality_link_distance_from_handler_min := NOT ISNULL(a_min_distance_from_handler_link);
|
||||
SET v_has_filter_assessment_command_modality_link_distance_from_handler_max := NOT ISNULL(a_max_distance_from_handler_link);
|
||||
SET v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min := NOT ISNULL(a_min_distance_from_handler_metres_link);
|
||||
SET v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max := NOT ISNULL(a_max_distance_from_handler_metres_link);
|
||||
SET v_has_filter_assessment_command_modality_link_trial_count_min := NOT ISNULL(a_min_trial_count_link);
|
||||
SET v_has_filter_assessment_command_modality_link_trial_count_max := NOT ISNULL(a_max_trial_count_link);
|
||||
|
||||
@@ -769,7 +769,7 @@ BEGIN
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
|
||||
@@ -786,18 +786,18 @@ BEGIN
|
||||
AND v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler = 0
|
||||
AND v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler = 0
|
||||
AND v_has_filter_assessment_command_modality_link_is_on_lead = 0
|
||||
AND v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
|
||||
AND v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
|
||||
AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
|
||||
AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
|
||||
AND v_has_filter_assessment_command_modality_link_trial_count_min = 0
|
||||
AND v_has_filter_assessment_command_modality_link_trial_count_max = 0
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0
|
||||
@@ -834,12 +834,12 @@ BEGIN
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.does_meet_id_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0
|
||||
@@ -878,7 +878,7 @@ BEGIN
|
||||
, id_command
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
@@ -912,7 +912,7 @@ BEGIN
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
|
||||
@@ -929,18 +929,18 @@ BEGIN
|
||||
AND v_has_filter_assessment_command_modality_link_is_in_scent_range_of_handler = 0
|
||||
AND v_has_filter_assessment_command_modality_link_is_in_hearing_range_of_handler = 0
|
||||
AND v_has_filter_assessment_command_modality_link_is_on_lead = 0
|
||||
AND v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
|
||||
AND v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
|
||||
AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
|
||||
AND v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
|
||||
AND v_has_filter_assessment_command_modality_link_trial_count_min = 0
|
||||
AND v_has_filter_assessment_command_modality_link_trial_count_max = 0
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0
|
||||
@@ -977,12 +977,12 @@ BEGIN
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.does_meet_id_filter = 1
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_min = 0
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler >= a_min_distance_from_handler_link
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_min = 0
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres >= a_min_distance_from_handler_metres_link
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_max = 0
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler <= a_max_distance_from_handler_link
|
||||
v_has_filter_assessment_command_modality_link_distance_from_handler_metres_max = 0
|
||||
AND ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres <= a_max_distance_from_handler_metres_link
|
||||
)
|
||||
OR (
|
||||
v_has_filter_assessment_command_modality_link_is_in_sight_of_handler = 0
|
||||
@@ -1211,7 +1211,7 @@ BEGIN
|
||||
, id_command
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
@@ -1229,7 +1229,7 @@ BEGIN
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
|
||||
@@ -1315,8 +1315,8 @@ CALL parts.p_dog_calc_assessment_command_modality_link (
|
||||
, 1 -- a_get_all_link
|
||||
, 0 -- a_get_inactive_link
|
||||
, '' -- a_ids_link
|
||||
, NULL -- a_min_distance_from_handler_link
|
||||
, NULL -- a_max_distance_from_handler_link
|
||||
, NULL -- a_min_distance_from_handler_metres_link
|
||||
, NULL -- a_max_distance_from_handler_metres_link
|
||||
, NULL -- a_value_is_in_sight_of_handler_link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_link
|
||||
|
||||
@@ -9,8 +9,8 @@ CREATE PROCEDURE parts.p_dog_get_many_assessment_command_modality_link (
|
||||
, IN a_get_all_link BIT
|
||||
, IN a_get_inactive_link BIT
|
||||
, IN a_ids_link TEXT
|
||||
, IN a_min_distance_from_handler_link FLOAT
|
||||
, IN a_max_distance_from_handler_link FLOAT
|
||||
, IN a_min_distance_from_handler_metres_link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_link BIT
|
||||
, IN a_value_is_in_scent_range_of_handler_link BIT
|
||||
, IN a_value_is_in_hearing_range_of_handler_link BIT
|
||||
@@ -94,7 +94,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -150,8 +150,8 @@ BEGIN
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
, a_min_distance_from_handler_link
|
||||
, a_max_distance_from_handler_link
|
||||
, a_min_distance_from_handler_metres_link
|
||||
, a_max_distance_from_handler_metres_link
|
||||
, a_value_is_in_sight_of_handler_link
|
||||
, a_value_is_in_scent_range_of_handler_link
|
||||
, a_value_is_in_hearing_range_of_handler_link
|
||||
@@ -230,7 +230,7 @@ BEGIN
|
||||
, id_command INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, distance_from_handler FLOAT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
@@ -243,7 +243,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -335,8 +335,8 @@ BEGIN
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
, a_min_distance_from_handler_link
|
||||
, a_max_distance_from_handler_link
|
||||
, a_min_distance_from_handler_metres_link
|
||||
, a_max_distance_from_handler_metres_link
|
||||
, a_value_is_in_sight_of_handler_link
|
||||
, a_value_is_in_scent_range_of_handler_link
|
||||
, a_value_is_in_hearing_range_of_handler_link
|
||||
@@ -405,8 +405,8 @@ BEGIN
|
||||
, a_get_all_link
|
||||
, a_get_inactive_link
|
||||
, a_ids_link
|
||||
, a_min_distance_from_handler_link
|
||||
, a_max_distance_from_handler_link
|
||||
, a_min_distance_from_handler_metres_link
|
||||
, a_max_distance_from_handler_metres_link
|
||||
, a_value_is_in_sight_of_handler_link
|
||||
, a_value_is_in_scent_range_of_handler_link
|
||||
, a_value_is_in_hearing_range_of_handler_link
|
||||
@@ -479,7 +479,7 @@ BEGIN
|
||||
, id_command
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
@@ -495,7 +495,7 @@ BEGIN
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_bribe
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler
|
||||
@@ -538,7 +538,7 @@ BEGIN
|
||||
, COMMAND_MODALITY.name AS name_command_modality
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
|
||||
, BRIBE.name AS name_bribe
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
|
||||
@@ -598,8 +598,8 @@ CALL parts.p_dog_get_many_assessment_command_modality_link (
|
||||
, 1 -- a_get_all_link
|
||||
, 0 -- a_get_inactive_link
|
||||
, '' -- a_ids_link
|
||||
, NULL -- a_min_distance_from_handler_link
|
||||
, NULL -- a_max_distance_from_handler_link
|
||||
, NULL -- a_min_distance_from_handler_metres_link
|
||||
, NULL -- a_max_distance_from_handler_metres_link
|
||||
, NULL -- a_value_is_in_sight_of_handler_link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_link
|
||||
|
||||
@@ -32,7 +32,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -64,6 +64,22 @@ BEGIN
|
||||
INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type
|
||||
;
|
||||
|
||||
START TRANSACTION;
|
||||
INSERT INTO parts.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
, guid
|
||||
)
|
||||
SELECT
|
||||
t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, t_ERROR.msg
|
||||
, a_guid
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
;
|
||||
COMMIT;
|
||||
|
||||
DROP TABLE IF EXISTS tmp_Msg_Error;
|
||||
END;
|
||||
|
||||
@@ -87,7 +103,7 @@ BEGIN
|
||||
, id_command INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, distance_from_handler FLOAT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
@@ -105,9 +121,9 @@ BEGIN
|
||||
, id_command INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, id_distance_from_handler INT
|
||||
, id_is_in_sight_of_handler INT
|
||||
, id_is_in_scent_range_of_handler INT
|
||||
, distance_from_handler_metres INT
|
||||
, is_in_sight_of_handler INT
|
||||
, is_in_scent_range_of_handler INT
|
||||
, is_in_hearing_range_of_handler INT
|
||||
, is_on_lead FLOAT
|
||||
, trial_count TEXT
|
||||
@@ -118,7 +134,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250)
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -132,12 +148,12 @@ BEGIN
|
||||
, id_command
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, id_distance_from_handler
|
||||
, id_is_in_sight_of_handler
|
||||
, id_is_in_scent_range_of_handler
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, trial_count
|
||||
-- , trial_count
|
||||
, active
|
||||
, is_new
|
||||
)
|
||||
@@ -161,21 +177,41 @@ BEGIN
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
|
||||
) AS id_bribe
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_distance_from_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler
|
||||
) AS id_distance_from_handler
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
|
||||
, 1
|
||||
) AS distance_from_handler_metres
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler
|
||||
) AS id_is_in_sight_of_handler
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
|
||||
, 1
|
||||
) AS is_in_sight_of_handler
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.id_is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler
|
||||
) AS id_is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_on_lead
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.trial_count
|
||||
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.active, 1) AS active
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
|
||||
, 1
|
||||
) AS is_in_scent_range_of_handler
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
|
||||
, 1
|
||||
) AS is_in_hearing_range_of_handler
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.is_on_lead
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead
|
||||
, 0
|
||||
) AS is_on_lead
|
||||
/*
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.trial_count
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.trial_count
|
||||
) AS trial_count
|
||||
*/
|
||||
, COALESCE(
|
||||
ASSESSMENT_COMMAND_MODALITY_LINK_T.active
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
, 1
|
||||
) AS active
|
||||
, CASE WHEN COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new
|
||||
FROM parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link
|
||||
@@ -190,30 +226,18 @@ BEGIN
|
||||
|
||||
-- Error names
|
||||
UPDATE tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Command ASSESSMENT_COMMAND_MODALITY_COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = ASSESSMENT_COMMAND_MODALITY_COMMAND.id_type
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_intensity_level
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_intensity_level
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_intensity_level
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_intensity_level
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_intensity_level
|
||||
LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
LEFT JOIN parts.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command
|
||||
LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality
|
||||
LEFT JOIN parts.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe
|
||||
SET t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error = CONCAT(
|
||||
/*
|
||||
CONVERT(COALESCE(t_ASSESSMENT_COMMAND_MODALITY_LINK.created_on, ASSESSMENT_COMMAND_MODALITY_LINK.created_on, v_time_start), CHAR)
|
||||
, CASE WHEN t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count IS NOT NULL THEN CONCAT(' - ', t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count) ELSE '' END
|
||||
*/
|
||||
COALESCE(ASSESSMENT_COMMAND_MODALITY_COMMAND.name, '(No Assessment_Command_Modality_Link Type)')
|
||||
COALESCE(CONVERT(ASSESSMENT.created_on, CHAR), '(No Assessment)')
|
||||
, ' - '
|
||||
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.name, '(No Assessment_Command_Modality_Link Intensity Level Emotional)')
|
||||
, COALESCE(COMMAND.name, '(No Command)')
|
||||
, ' - '
|
||||
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Scent)')
|
||||
, COALESCE(COMMAND_MODALITY.name, '(No Command Modality)')
|
||||
, ' - '
|
||||
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Sight)')
|
||||
, ' - '
|
||||
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Sound)')
|
||||
, ' - '
|
||||
, COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.name, '(No Assessment_Command_Modality_Link Intensity Level Touch)')
|
||||
, ' - x'
|
||||
, CONVERT(COALESCE(t_ASSESSMENT.is_in_hearing_range_of_handler, 0), CHAR)
|
||||
, COALESCE(BRIBE.name, '(No Bribe)')
|
||||
)
|
||||
;
|
||||
|
||||
@@ -244,7 +268,7 @@ BEGIN
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog Assessment Assessment_Command_Modality_Link(s) do not have a valid Assessment: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
, CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Assessment: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment
|
||||
WHERE
|
||||
@@ -257,11 +281,11 @@ BEGIN
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN demo.DOG_Assessment_Command_Modality_Command ASSESSMENT_COMMAND_MODALITY_COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command
|
||||
LEFT JOIN demo.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_COMMAND.active = 0
|
||||
OR ISNULL(COMMAND.id_command)
|
||||
OR COMMAND.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
@@ -271,24 +295,24 @@ BEGIN
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Dog Assessment_Command_Modality_Command Assessment_Command_Modality_Link(s) do not have a valid Assessment_Command_Modality_Command: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
, CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Command: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Command ASSESSMENT_COMMAND_MODALITY_COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command
|
||||
LEFT JOIN demo.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_COMMAND.id_command)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_COMMAND.active = 0
|
||||
OR ISNULL(COMMAND.id_command)
|
||||
OR COMMAND.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_command_modality
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality
|
||||
LEFT JOIN demo.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.active = 0
|
||||
OR ISNULL(COMMAND_MODALITY.id_command_modality)
|
||||
OR COMMAND_MODALITY.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
@@ -298,24 +322,24 @@ BEGIN
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Assessment_Command_Modality_Link_Command_Modality: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
, CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Command Modality: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality
|
||||
LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.id_command_modality)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_COMMAND_MODALITY.active = 0
|
||||
OR ISNULL(COMMAND_MODALITY.id_command_modality)
|
||||
OR COMMAND_MODALITY.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_bribe
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_intensity_level
|
||||
LEFT JOIN demo.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_bribe)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.active = 0
|
||||
OR ISNULL(BRIBE.id_bribe)
|
||||
OR BRIBE.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
@@ -325,24 +349,20 @@ BEGIN
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Intensity Level Scent: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
, CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Bribe: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_intensity_level
|
||||
LEFT JOIN demo.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.id_bribe)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_BRIBE.active = 0
|
||||
OR ISNULL(BRIBE.id_bribe)
|
||||
OR BRIBE.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_distance_from_handler
|
||||
-- distance_from_handler_metres
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_distance_from_handler)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.active = 0
|
||||
WHERE IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres, -1) < 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
@@ -352,67 +372,9 @@ BEGIN
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Intensity Level Sight: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
, CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Distance From Handler: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.id_distance_from_handler)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_DISTANCE_FROM_HANDLER.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_is_in_sight_of_handler
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_is_in_sight_of_handler)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Intensity Level Sound: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.id_is_in_sight_of_handler)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SIGHT_OF_HANDLER.active = 0
|
||||
;
|
||||
END IF;
|
||||
-- id_is_in_scent_range_of_handler
|
||||
IF EXISTS (
|
||||
SELECT *
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN demo.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_is_in_scent_range_of_handler)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.active = 0
|
||||
) THEN
|
||||
INSERT INTO tmp_Msg_Error (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
)
|
||||
SELECT
|
||||
v_id_type_error_bad_data
|
||||
, v_code_type_error_bad_data
|
||||
, CONCAT('The following Assessment_Command_Modality_Link(s) do not have a valid Intensity Level Touch: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg
|
||||
FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK
|
||||
LEFT JOIN parts.DOG_Assessment_Command_Modality_Link_Intensity_Level ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_intensity_level
|
||||
WHERE
|
||||
ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler)
|
||||
OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.id_is_in_scent_range_of_handler)
|
||||
OR ASSESSMENT_COMMAND_MODALITY_LINK_IS_IN_SCENT_RANGE_OF_HANDLER.active = 0
|
||||
WHERE IFNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres, -1) < 0
|
||||
;
|
||||
END IF;
|
||||
|
||||
@@ -502,42 +464,44 @@ BEGIN
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres = t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead = t_ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.trial_count = t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count
|
||||
-- , ASSESSMENT_COMMAND_MODALITY_LINK.trial_count = t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.active = t_ASSESSMENT_COMMAND_MODALITY_LINK.active
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK.id_change_set = v_id_change_set
|
||||
;
|
||||
|
||||
INSERT INTO parts.DOG_Assessment_Command_Modality_Link (
|
||||
id_assessment
|
||||
id_temp
|
||||
, id_assessment
|
||||
, id_command
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, id_distance_from_handler
|
||||
, id_is_in_sight_of_handler
|
||||
, id_is_in_scent_range_of_handler
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, trial_count
|
||||
-- , trial_count
|
||||
, active
|
||||
, id_user_created_by
|
||||
, created_on
|
||||
)
|
||||
SELECT
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment AS id_assessment
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment AS id_assessment
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command AS id_command
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality AS id_command_modality
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe AS id_bribe
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_distance_from_handler AS id_distance_from_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_sight_of_handler AS id_is_in_sight_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.id_is_in_scent_range_of_handler AS id_is_in_scent_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.distance_from_handler_metres AS distance_from_handler_metres
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_sight_of_handler AS is_in_sight_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_scent_range_of_handler AS is_in_scent_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_in_hearing_range_of_handler AS is_in_hearing_range_of_handler
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.is_on_lead AS is_on_lead
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count AS trial_count
|
||||
-- , t_ASSESSMENT_COMMAND_MODALITY_LINK.trial_count AS trial_count
|
||||
, t_ASSESSMENT_COMMAND_MODALITY_LINK.active AS active
|
||||
, a_id_user AS created_by
|
||||
, v_time_start AS created_on
|
||||
@@ -546,6 +510,20 @@ BEGIN
|
||||
t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 1
|
||||
AND t_ASSESSMENT_COMMAND_MODALITY_LINK.active = 1
|
||||
;
|
||||
|
||||
INSERT INTO parts.DOG_Msg_Error_Temp (
|
||||
id_type
|
||||
, code
|
||||
, msg
|
||||
, guid
|
||||
)
|
||||
SELECT
|
||||
t_ERROR.id_type
|
||||
, t_ERROR.code
|
||||
, t_ERROR.msg
|
||||
, a_guid
|
||||
FROM tmp_Msg_Error t_ERROR
|
||||
;
|
||||
|
||||
COMMIT;
|
||||
END IF;
|
||||
@@ -590,7 +568,7 @@ DELIMITER ;
|
||||
|
||||
/*
|
||||
|
||||
'ripplesipplenippletippledipplekipple'
|
||||
'ripplesipplenippletippledipplykipple'
|
||||
DELETE FROM parts.DOG_Assessment_Command_Modality_Link WHERE id_link > 740;
|
||||
* /
|
||||
delete
|
||||
@@ -625,26 +603,37 @@ from parts.DOG_Assessment_Command_Modality_Link
|
||||
|
||||
INSERT INTO parts.DOG_Assessment_Command_Modality_Link_Temp (
|
||||
id_link
|
||||
, id_dog
|
||||
, id_assessment
|
||||
, id_command
|
||||
, hand_signal_description
|
||||
, trial_count
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
, is_on_lead
|
||||
, active
|
||||
, guid
|
||||
)
|
||||
VALUES (
|
||||
-1 -- id_link
|
||||
, 1 -- id_dog
|
||||
, 1 -- id_assessment
|
||||
, 1 -- id_command
|
||||
, 'Test deez noots' -- hand_signal_description
|
||||
, NULL -- trial_count
|
||||
, 1 -- id_command_modality
|
||||
, 1 -- id_bribe
|
||||
, 15 -- distance_from_handler_metres
|
||||
, 1 -- is_in_sight_of_handler
|
||||
, 0 -- is_in_scent_range_of_handler
|
||||
, 0 -- is_in_hearing_range_of_handler
|
||||
, 0 -- is_on_lead
|
||||
-- , NULL -- trial_count
|
||||
, 1 -- active
|
||||
, 'ripplesipplenippletippledipplekipple'
|
||||
, 'ripplesipplenippletippledipplykipple'
|
||||
);
|
||||
|
||||
CALL parts.p_dog_save_assessment_command_modality_link (
|
||||
'nipples'
|
||||
, 'ripplesipplenippletippledipplekipple'
|
||||
, 'ripplesipplenippletippledipplykipple'
|
||||
, 1
|
||||
, 1
|
||||
);
|
||||
|
||||
@@ -45,7 +45,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_RQM (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -146,20 +146,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_RQM (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_RQM (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_RQM;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_RQM (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_RQM;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -137,7 +137,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -43,7 +43,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Obedience_Level (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -138,20 +138,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Obedience_Level (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Obedience_Level (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Obedience_Level;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Name_Calc_Obedience_Level (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Name_Calc_Obedience_Level;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -135,7 +135,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
@@ -17,8 +17,8 @@ CREATE PROCEDURE parts.p_dog_calc_assessment_response (
|
||||
, IN a_get_all_ACM_link BIT
|
||||
, IN a_get_inactive_ACM_link BIT
|
||||
, IN a_ids_ACM_link TEXT
|
||||
, IN a_min_distance_from_handler_ACM_link FLOAT
|
||||
, IN a_max_distance_from_handler_ACM_link FLOAT
|
||||
, IN a_min_distance_from_handler_metres_ACM_link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_ACM_link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_ACM_link INT
|
||||
, IN a_value_is_in_scent_range_of_handler_ACM_link INT
|
||||
, IN a_value_is_in_hearing_range_of_handler_ACM_link INT
|
||||
@@ -112,7 +112,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment_Response (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -189,8 +189,8 @@ BEGIN
|
||||
, a_get_all_ACM_link
|
||||
, a_get_inactive_ACM_link
|
||||
, a_ids_ACM_link
|
||||
, a_min_distance_from_handler_ACM_link
|
||||
, a_max_distance_from_handler_ACM_link
|
||||
, a_min_distance_from_handler_metres_ACM_link
|
||||
, a_max_distance_from_handler_metres_ACM_link
|
||||
, a_value_is_in_sight_of_handler_ACM_link
|
||||
, a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
@@ -280,7 +280,7 @@ BEGIN
|
||||
, id_command INT
|
||||
, id_command_modality INT
|
||||
, id_bribe INT
|
||||
, distance_from_handler FLOAT
|
||||
, distance_from_handler_metres FLOAT
|
||||
, is_in_sight_of_handler BIT
|
||||
, is_in_scent_range_of_handler BIT
|
||||
, is_in_hearing_range_of_handler BIT
|
||||
@@ -326,20 +326,20 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error_Calc_Assessment_Response (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Id_Calc_Assessment_Response (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Id_Calc_Assessment_Response;
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split_Notes_Calc_Assessment_Response (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split_Notes_Calc_Assessment_Response;
|
||||
|
||||
@@ -357,8 +357,8 @@ BEGIN
|
||||
, a_get_all_ACM_link
|
||||
, a_get_inactive_ACM_link
|
||||
, a_ids_ACM_link
|
||||
, a_min_distance_from_handler_ACM_link
|
||||
, a_max_distance_from_handler_ACM_link
|
||||
, a_min_distance_from_handler_metres_ACM_link
|
||||
, a_max_distance_from_handler_metres_ACM_link
|
||||
, a_value_is_in_sight_of_handler_ACM_link
|
||||
, a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
@@ -427,8 +427,8 @@ BEGIN
|
||||
, a_get_all_ACM_link
|
||||
, a_get_inactive_ACM_link
|
||||
, a_ids_ACM_link
|
||||
, a_min_distance_from_handler_ACM_link
|
||||
, a_max_distance_from_handler_ACM_link
|
||||
, a_min_distance_from_handler_metres_ACM_link
|
||||
, a_max_distance_from_handler_metres_ACM_link
|
||||
, a_value_is_in_sight_of_handler_ACM_link
|
||||
, a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
@@ -496,7 +496,7 @@ BEGIN
|
||||
, id_command
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
@@ -512,7 +512,7 @@ BEGIN
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_command_modality
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.id_bribe
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.distance_from_handler_metres
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_sight_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_scent_range_of_handler
|
||||
, ASSESSMENT_COMMAND_MODALITY_LINK_T.is_in_hearing_range_of_handler
|
||||
@@ -1201,8 +1201,8 @@ CALL parts.p_dog_calc_assessment_response (
|
||||
, 1 -- a_get_all_ACM_link
|
||||
, 0 -- a_get_inactive_ACM_link
|
||||
, '' -- a_ids_ACM_link
|
||||
, NULL -- a_min_distance_from_handler_ACM_link
|
||||
, NULL -- a_max_distance_from_handler_ACM_link
|
||||
, NULL -- a_min_distance_from_handler_metres_ACM_link
|
||||
, NULL -- a_max_distance_from_handler_metres_ACM_link
|
||||
, NULL -- a_value_is_in_sight_of_handler_ACM_link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
|
||||
@@ -16,8 +16,8 @@ CREATE PROCEDURE parts.p_dog_get_many_assessment_response (
|
||||
, IN a_get_all_ACM_link BIT
|
||||
, IN a_get_inactive_ACM_link BIT
|
||||
, IN a_ids_ACM_link TEXT
|
||||
, IN a_min_distance_from_handler_ACM_link FLOAT
|
||||
, IN a_max_distance_from_handler_ACM_link FLOAT
|
||||
, IN a_min_distance_from_handler_metres_ACM_link FLOAT
|
||||
, IN a_max_distance_from_handler_metres_ACM_link FLOAT
|
||||
, IN a_value_is_in_sight_of_handler_ACM_link INT
|
||||
, IN a_value_is_in_scent_range_of_handler_ACM_link INT
|
||||
, IN a_value_is_in_hearing_range_of_handler_ACM_link INT
|
||||
@@ -107,7 +107,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -171,8 +171,8 @@ BEGIN
|
||||
, a_get_all_ACM_link
|
||||
, a_get_inactive_ACM_link
|
||||
, a_ids_ACM_link
|
||||
, a_min_distance_from_handler_ACM_link
|
||||
, a_max_distance_from_handler_ACM_link
|
||||
, a_min_distance_from_handler_metres_ACM_link
|
||||
, a_max_distance_from_handler_metres_ACM_link
|
||||
, a_value_is_in_sight_of_handler_ACM_link
|
||||
, a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
@@ -266,7 +266,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(250) NOT NULL
|
||||
, msg TEXT NOT NULL
|
||||
);
|
||||
@@ -366,8 +366,8 @@ BEGIN
|
||||
, a_get_all_ACM_link
|
||||
, a_get_inactive_ACM_link
|
||||
, a_ids_ACM_link
|
||||
, a_min_distance_from_handler_ACM_link
|
||||
, a_max_distance_from_handler_ACM_link
|
||||
, a_min_distance_from_handler_metres_ACM_link
|
||||
, a_max_distance_from_handler_metres_ACM_link
|
||||
, a_value_is_in_sight_of_handler_ACM_link
|
||||
, a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
@@ -450,8 +450,8 @@ BEGIN
|
||||
, a_get_all_ACM_link
|
||||
, a_get_inactive_ACM_link
|
||||
, a_ids_ACM_link
|
||||
, a_min_distance_from_handler_ACM_link
|
||||
, a_max_distance_from_handler_ACM_link
|
||||
, a_min_distance_from_handler_metres_ACM_link
|
||||
, a_max_distance_from_handler_metres_ACM_link
|
||||
, a_value_is_in_sight_of_handler_ACM_link
|
||||
, a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
@@ -638,8 +638,8 @@ CALL parts.p_dog_get_many_assessment_response (
|
||||
, 1 -- a_get_all_ACM_link
|
||||
, 0 -- a_get_inactive_ACM_link
|
||||
, '' -- a_ids_ACM_link
|
||||
, NULL -- a_min_distance_from_handler_ACM_link
|
||||
, NULL -- a_max_distance_from_handler_ACM_link
|
||||
, NULL -- a_min_distance_from_handler_metres_ACM_link
|
||||
, NULL -- a_max_distance_from_handler_metres_ACM_link
|
||||
, NULL -- a_value_is_in_sight_of_handler_ACM_link
|
||||
, NULL -- a_value_is_in_scent_range_of_handler_ACM_link
|
||||
, NULL -- a_value_is_in_hearing_range_of_handler_ACM_link
|
||||
|
||||
540
static/MySQL/71342_p_dog_save_assessment_response.sql
Normal file
540
static/MySQL/71342_p_dog_save_assessment_response.sql
Normal 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
|
||||
;
|
||||
|
||||
*/
|
||||
@@ -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
|
||||
);
|
||||
|
||||
|
||||
*/
|
||||
@@ -34,7 +34,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(50) NOT NULL
|
||||
, msg VARCHAR(4000) NOT NULL
|
||||
);
|
||||
@@ -82,7 +82,7 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(50) NOT NULL
|
||||
, msg VARCHAR(4000) NOT NULL
|
||||
);
|
||||
|
||||
@@ -50,14 +50,14 @@ BEGIN
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error (
|
||||
display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT
|
||||
, id_type INT NULL
|
||||
, id_type INT
|
||||
, code VARCHAR(50) NOT NULL
|
||||
, msg VARCHAR(4000) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split (
|
||||
substring VARCHAR(4000) NOT NULL
|
||||
, as_int INT NULL
|
||||
, as_int INT
|
||||
);
|
||||
DELETE FROM tmp_Split;
|
||||
|
||||
|
||||
@@ -989,6 +989,10 @@ INSERT INTO parts.DOG_Bribe (
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
'NONE'
|
||||
, 'None'
|
||||
)
|
||||
, (
|
||||
'TREAT'
|
||||
, 'Treat'
|
||||
)
|
||||
@@ -1016,7 +1020,7 @@ INSERT INTO parts.DOG_Assessment_Command_Modality_Link (
|
||||
, id_command
|
||||
, id_command_modality
|
||||
, id_bribe
|
||||
, distance_from_handler
|
||||
, distance_from_handler_metres
|
||||
, is_in_sight_of_handler
|
||||
, is_in_scent_range_of_handler
|
||||
, is_in_hearing_range_of_handler
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user