lims_analysis_sheet: improves function to get result line

This commit is contained in:
Adrián Bernardi 2021-06-24 11:19:17 -03:00
parent 5672abf96a
commit 05066a78fc
1 changed files with 28 additions and 6 deletions

View File

@ -85,12 +85,23 @@ def get_nline_analysis(analysis_code, alias=None, notebook_line=None):
notebook_line = NotebookLine(notebook_line)
notebook_id = notebook_line.notebook.id
lines = NotebookLine.search([
target_line = None
accepted_line = NotebookLine.search([
('notebook', '=', notebook_id),
('analysis.code', '=', analysis_code),
('annulled', '=', False),
('accepted', '=', True),
])
target_line = lines and lines[0] or None
if accepted_line:
target_line = accepted_line[0]
else:
last_repetition_line = NotebookLine.search([
('notebook', '=', notebook_id),
('analysis.code', '=', analysis_code),
('annulled', '=', False),
], order=[('repetition', 'DESC')], limit=1)
if last_repetition_line:
target_line = last_repetition_line[0]
if not target_line:
return None
@ -118,12 +129,23 @@ def get_sheet_analysis(analysis_code, alias=None, notebook_line=None):
notebook_line = NotebookLine(notebook_line)
notebook_id = notebook_line.notebook.id
lines = NotebookLine.search([
nline = None
accepted_line = NotebookLine.search([
('notebook', '=', notebook_id),
('analysis.code', '=', analysis_code),
('annulled', '=', False),
('accepted', '=', True),
])
nline = lines and lines[0] or None
if accepted_line:
nline = accepted_line[0]
else:
last_repetition_line = NotebookLine.search([
('notebook', '=', notebook_id),
('analysis.code', '=', analysis_code),
('annulled', '=', False),
], order=[('repetition', 'DESC')], limit=1)
if last_repetition_line:
nline = last_repetition_line[0]
if not nline:
return None