@@ -58,35 +58,35 @@ def split_fit_kits(kit_id_df):
5858
5959def get_service_management_by_device_id (deviceid ):
6060 get_service_management_df = OracleDB ().execute_query (f"""SELECT kq.device_id, kq.test_kit_name, kq.test_kit_type, kq.test_kit_status,
61- CASE WHEN tki.logged_in_flag = 'Y' THEN kq.logged_by_hub END AS logged_by_hub,
62- CASE WHEN tki.logged_in_flag = 'Y' THEN kq.date_time_logged END AS date_time_logged,
63- tki.logged_in_on AS tk_logged_date_time, kq.test_result, kq.calculated_result,
64- kq.error_code,
65- (SELECT vvt.description
66- FROM tk_analyser_t tka
67- INNER JOIN tk_analyser_type_error tkate ON tkate.tk_analyser_type_id = tka.tk_analyser_type_id
68- INNER JOIN valid_values vvt ON tkate.tk_analyser_error_type_id = vvt.valid_value_id
69- WHERE tka.analyser_code = kq.analyser_code AND tkate.error_code = kq.error_code)
70- AS analyser_error_description, kq.analyser_code, kq.date_time_authorised,
71- kq.authoriser_user_code, kq.datestamp, kq.bcss_error_id,
72- REPLACE(mt.description, 'ERROR - ', '') AS error_type,
73- NVL(mta.allowed_value, 'N') AS error_ok_to_archive,
74- kq.post_response, kq.post_attempts, kq.put_response,
75- kq.put_attempts, kq.date_time_error_archived,
76- kq.error_archived_user_code, sst.screening_subject_id,
77- sst.subject_nhs_number, tki.test_results, tki.issue_date,
78- o.org_code AS issued_by_hub
79- FROM kit_queue kq
80- LEFT OUTER JOIN tk_items_t tki ON tki.device_id = kq.device_id
81- OR (tki.device_id IS NULL AND tki.kitid = pkg_test_kit.f_get_kit_id_from_device_id(kq.device_id))
82- LEFT OUTER JOIN screening_subject_t sst ON sst.screening_subject_id = tki.screening_subject_id
83- LEFT OUTER JOIN ep_subject_episode_t ep ON ep.subject_epis_id = tki.subject_epis_id
84- LEFT OUTER JOIN message_types mt ON kq.bcss_error_id = mt.message_type_id
85- LEFT OUTER JOIN valid_values mta ON mta.valid_value_id = mt.message_attribute_id AND mta.valid_value_id = 305482
86- LEFT OUTER JOIN ORG o ON ep.start_hub_id = o.org_id
87- LEFT OUTER JOIN ORG lo ON lo.org_code = kq.logged_by_hub
88- WHERE kq.test_kit_type = 'FIT' AND kq.device_id = '{ deviceid } '
89- """ )
61+ CASE WHEN tki.logged_in_flag = 'Y' THEN kq.logged_by_hub END AS logged_by_hub,
62+ CASE WHEN tki.logged_in_flag = 'Y' THEN kq.date_time_logged END AS date_time_logged,
63+ tki.logged_in_on AS tk_logged_date_time, kq.test_result, kq.calculated_result,
64+ kq.error_code,
65+ (SELECT vvt.description
66+ FROM tk_analyser_t tka
67+ INNER JOIN tk_analyser_type_error tkate ON tkate.tk_analyser_type_id = tka.tk_analyser_type_id
68+ INNER JOIN valid_values vvt ON tkate.tk_analyser_error_type_id = vvt.valid_value_id
69+ WHERE tka.analyser_code = kq.analyser_code AND tkate.error_code = kq.error_code)
70+ AS analyser_error_description, kq.analyser_code, kq.date_time_authorised,
71+ kq.authoriser_user_code, kq.datestamp, kq.bcss_error_id,
72+ REPLACE(mt.description, 'ERROR - ', '') AS error_type,
73+ NVL(mta.allowed_value, 'N') AS error_ok_to_archive,
74+ kq.post_response, kq.post_attempts, kq.put_response,
75+ kq.put_attempts, kq.date_time_error_archived,
76+ kq.error_archived_user_code, sst.screening_subject_id,
77+ sst.subject_nhs_number, tki.test_results, tki.issue_date,
78+ o.org_code AS issued_by_hub
79+ FROM kit_queue kq
80+ LEFT OUTER JOIN tk_items_t tki ON tki.device_id = kq.device_id
81+ OR (tki.device_id IS NULL AND tki.kitid = pkg_test_kit.f_get_kit_id_from_device_id(kq.device_id))
82+ LEFT OUTER JOIN screening_subject_t sst ON sst.screening_subject_id = tki.screening_subject_id
83+ LEFT OUTER JOIN ep_subject_episode_t ep ON ep.subject_epis_id = tki.subject_epis_id
84+ LEFT OUTER JOIN message_types mt ON kq.bcss_error_id = mt.message_type_id
85+ LEFT OUTER JOIN valid_values mta ON mta.valid_value_id = mt.message_attribute_id AND mta.valid_value_id = 305482
86+ LEFT OUTER JOIN ORG o ON ep.start_hub_id = o.org_id
87+ LEFT OUTER JOIN ORG lo ON lo.org_code = kq.logged_by_hub
88+ WHERE kq.test_kit_type = 'FIT' AND kq.device_id = '{ deviceid } '
89+ """ )
9090 return get_service_management_df
9191
9292
@@ -115,50 +115,50 @@ def update_kit_service_management_entity(device_id, normal):
115115 test_result = 150
116116 # Parameterized query
117117 update_query = """
118- UPDATE kit_queue kq
119- SET kq.test_kit_name = :test_kit_name,
120- kq.test_kit_type = :test_kit_type,
121- kq.test_kit_status =:test_kit_status,
122- kq.logged_by_hub = :logged_by_hub,
123- kq.date_time_logged = :date_time_logged,
124- kq.test_result = :test_result,
125- kq.calculated_result = :calculated_result,
126- kq.error_code = NULL,
127- kq.analyser_code = 'HMJackalt1',
128- kq.date_time_authorised = TO_TIMESTAMP(:date_time_authorised, 'DD-Mon-YY HH24.MI.SS.FF9'),
129- kq.authoriser_user_code = 'AUTO1',
130- kq.post_response = :post_response,
131- kq.post_attempts = :post_attempts,
132- kq.put_response = :put_response,
133- kq.put_attempts = :put_attempts
134- WHERE kq.device_id = :device_id
135- """
118+ UPDATE kit_queue kq
119+ SET kq.test_kit_name = :test_kit_name,
120+ kq.test_kit_type = :test_kit_type,
121+ kq.test_kit_status =:test_kit_status,
122+ kq.logged_by_hub = :logged_by_hub,
123+ kq.date_time_logged = :date_time_logged,
124+ kq.test_result = :test_result,
125+ kq.calculated_result = :calculated_result,
126+ kq.error_code = NULL,
127+ kq.analyser_code = 'HMJackalt1',
128+ kq.date_time_authorised = TO_TIMESTAMP(:date_time_authorised, 'DD-Mon-YY HH24.MI.SS.FF9'),
129+ kq.authoriser_user_code = 'AUTO1',
130+ kq.post_response = :post_response,
131+ kq.post_attempts = :post_attempts,
132+ kq.put_response = :put_response,
133+ kq.put_attempts = :put_attempts
134+ WHERE kq.device_id = :device_id
135+ """
136136
137137 # Parameters dictionary
138138 params = {
139- "test_kit_name" : test_kit_name ,
140- "test_kit_type" : test_kit_type ,
141- "test_kit_status" : 'BCSS_READY' ,
142- "logged_by_hub" : logged_by_hub ,
143- "date_time_logged" : date_time_logged ,
144- "test_result" : int (test_result ),
145- "calculated_result" : calculated_result ,
146- "date_time_authorised" : str (date_time_authorised ),
147- "post_response" : int (post_response ),
148- "post_attempts" : int (post_attempts ),
149- "put_response" : put_response ,
150- "put_attempts" : put_attempts ,
151- "device_id" : device_id
139+ "test_kit_name" : test_kit_name ,
140+ "test_kit_type" : test_kit_type ,
141+ "test_kit_status" : 'BCSS_READY' ,
142+ "logged_by_hub" : logged_by_hub ,
143+ "date_time_logged" : date_time_logged ,
144+ "test_result" : int (test_result ),
145+ "calculated_result" : calculated_result ,
146+ "date_time_authorised" : str (date_time_authorised ),
147+ "post_response" : int (post_response ),
148+ "post_attempts" : int (post_attempts ),
149+ "put_response" : put_response ,
150+ "put_attempts" : put_attempts ,
151+ "device_id" : device_id
152152 }
153153
154154 # Execute query
155155 print ("Parameters before execution:" , params )
156- rows_affected = OracleDB ().update_or_insert_data_to_table (update_query , params )
156+ rows_affected = OracleDB ().update_or_insert_data_to_table (update_query , params )
157157 print (f"Rows affected: { rows_affected } " )
158158
159159
160160def get_nhs_number_from_subject_id (subject_ids , df ):
161161 temp_df = OracleDB ().execute_query (
162- f"SELECT SCREENING_SUBJECT_ID, SUBJECT_NHS_NUMBER FROM SCREENING_SUBJECT_T WHERE SCREENING_SUBJECT_ID = { subject_ids } " )
162+ f"SELECT SCREENING_SUBJECT_ID, SUBJECT_NHS_NUMBER FROM SCREENING_SUBJECT_T WHERE SCREENING_SUBJECT_ID = { subject_ids } " )
163163 df = df .merge (temp_df [["screening_subject_id" , "subject_nhs_number" ]], on = "screening_subject_id" , how = "left" )
164164 return df
0 commit comments