diff --git a/TODO.txt b/TODO.txt index 0b083fd..187c511 100644 --- a/TODO.txt +++ b/TODO.txt @@ -1,6 +1,3 @@ -Menu archivio: eliminare dati non utili; limitare precisione float a 2 decimali -Verificare esito scarto su etichetta, dovrebbe essere ok -Verificare blocco cpu durante reload tabella ? Controllo elettrovalvole di selezione alta/bassa pressione tramite I/O digitali Ciclo di lavoro ordinario: diff --git a/src/lib/db/models/archive.py b/src/lib/db/models/archive.py index 7099d56..8f85419 100644 --- a/src/lib/db/models/archive.py +++ b/src/lib/db/models/archive.py @@ -22,10 +22,36 @@ class Archive(BaseModel): @classmethod @db.atomic() def archive(cls, recipe, test_data, result, overridden): + parsed_test_data = { + "ESITO GLOBALE COLLAUDO": "OK" if test_data.get("ok", None) else "KO", + } + total_duration = 0 + for step_name in [ + "autotest", + "barcodes", + "connector", + "leak", + "print", + "resistance", + "vision", + ]: + for k, v in test_data.get(step_name, {}).items(): + if step_name not in parsed_test_data: + parsed_test_data[step_name] = {} + parsed_test_data[step_name][k] = { + f"ESITO {step_name}": "OK" if v.get("ok", None) else "KO", + "result": v.get("results", {}).get("result", None), + "data": v.get("results", {}).get("data", None), + "spec": v.get("step", {}).get("spec", None), + "duration": v.get("duration", None), + } + if parsed_test_data[step_name][k]["duration"] is not None: + total_duration += parsed_test_data[step_name][k]["duration"] + parsed_test_data["DURATA TOTALE COLLAUDO"] = total_duration return cls.create( user=Users.get_session().user, recipe=recipe, - test_data=test_data, + test_data=parsed_test_data, result=result, overridden=overridden, ) diff --git a/src/ui/recipe_selection/recipe_selection.py b/src/ui/recipe_selection/recipe_selection.py index 059c441..7181e5c 100755 --- a/src/ui/recipe_selection/recipe_selection.py +++ b/src/ui/recipe_selection/recipe_selection.py @@ -28,7 +28,7 @@ class Recipe_Selection(Widget): "part_number": "N° disegno", "spec": "Specifica", "description": "Descrizione", - "archived": "Archiviata", + # "archived": "Archiviata", } filters = None else: @@ -98,7 +98,10 @@ class Recipe_Selection(Widget): "archived": False, }, widget_classes={"spec": lambda *args, **kwargs: Json_External_Dialog_Editor_Cell_Widget(Recipe_Spec_And_Step_Editor, *args, **kwargs, unsupported_steps=unsupported_steps), }, + pagination=25, ) + self.crud.delete_b.setEnabled(False) + self.crud.delete_b.setVisible(False) replace_widget(self, "crud_w", self.crud) self.crud_modified = None self.selected = None @@ -109,7 +112,7 @@ class Recipe_Selection(Widget): self.crud.modified.connect(self.check_modified) self.crud.selected.connect(self.check_selected) self.crud.emit() - self.crud.db_tw.setColumnWidth(0, 25) + self.crud.db_tw.setColumnWidth(0, 200) self.crud.db_tw.setColumnWidth(1, 200) self.crud.db_tw.setColumnWidth(2, 200) self.crud.db_tw.setColumnWidth(3, 200) diff --git a/src/ui/test_barcodes/test_barcodes.py b/src/ui/test_barcodes/test_barcodes.py index 302600e..d383ca0 100644 --- a/src/ui/test_barcodes/test_barcodes.py +++ b/src/ui/test_barcodes/test_barcodes.py @@ -22,6 +22,14 @@ class Test_Barcodes(Test_Test): self.barcodes_le.setPalette(self.status_palettes[None]) self.barcodes_le.setText("") self.barcodes_le.setFocus() + # TESTING + if "--test-connector" in sys.argv or "--test" in sys.argv: + self.barcodes_le.setText("-----TEST_BARCODE-----") + self.test_timer = QTimer() + self.test_timer.setSingleShot(True) + self.test_timer.timeout.connect(self.get) + self.test_timer.start(500) + # /TESTING # def stop(self): # super().stop() diff --git a/src/ui/test_connector/test_connector.py b/src/ui/test_connector/test_connector.py index 51bb69f..d4f5ece 100644 --- a/src/ui/test_connector/test_connector.py +++ b/src/ui/test_connector/test_connector.py @@ -16,10 +16,20 @@ class Test_Connector(Test_Test): if self.run_once is True and self.done is True and self.done_ok is True: return self.visualize() - self.expected_l.setText(str(self.step.spec.get("connector", "-"))) + expected = str(self.step.spec.get("connector", "-")) + self.parent_assembly_widget().set_text(f"COLLEGARE IL CONNETTORE {expected} AL PEZZO E LEGGERE IL SUO BARCODE") + self.expected_l.setText(expected) self.connector_le.setPalette(self.status_palettes[None]) self.connector_le.setText("") self.connector_le.setFocus() + # TESTING + if "--test-connector" in sys.argv or "--test" in sys.argv: + self.connector_le.setText(expected) + self.test_timer = QTimer() + self.test_timer.setSingleShot(True) + self.test_timer.timeout.connect(self.get) + self.test_timer.start(500) + # /TESTING # def stop(self): # super().stop() diff --git a/src/ui/test_resistance/test_resistance.py b/src/ui/test_resistance/test_resistance.py index f245c3e..e789edd 100644 --- a/src/ui/test_resistance/test_resistance.py +++ b/src/ui/test_resistance/test_resistance.py @@ -8,6 +8,12 @@ class Test_Resistance(Test_Test): self.ok_counter_limit = 3 def start(self, recipe=None, step=None): + # TESTING + if "--test-resistance" in sys.argv or "--test" in sys.argv: + self.simulate = True + else: + self.simulate = False + # /TESTING super().start(recipe=recipe, step=step) if self.run_once is True and self.done is True and self.done_ok is True: return @@ -19,8 +25,10 @@ class Test_Resistance(Test_Test): if expected == float("+inf"): self.step.spec["expected"] = 1e9 self.ok_counter_limit = 1 + self.parent_assembly_widget().set_text(u"SCOLLEGARE IL CONNETTORE") else: self.ok_counter_limit = 3 + self.parent_assembly_widget().set_text(u"VERIFICARE CONTROLLO RESISTENZA") self.expected_l.setText(str(expected)) tolerance = self.step.spec.get("tolerance", "-") self.tolerance_l.setText(str(tolerance)) @@ -55,6 +63,14 @@ class Test_Resistance(Test_Test): super().get(None, override=override) return data = data[-1] + # TESTING + if self.simulate: + data["multicomp"] = { + "function": "\"RES\"", + "scale": self.step.spec.get("scale", 500), + "measure": self.step.spec.get("expected", 0), + } + # /TESTING result = data["multicomp"].get("measure", None) expected = self.step.spec.get("expected", "-") tolerance = self.step.spec.get("tolerance", "-")