mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-17 13:01:12 +00:00
Fix resource assignment and type mapping issues
Corrects resource assignment in ItemizedCarrier by using the correct spot key from _ordering. Updates graphio to use 'typeName' instead of 'name' for type mapping in resource_bioyond_to_plr. Renames DummyWorkstation to BioyondWorkstation in workstation_http_service for clarity.
This commit is contained in:
@@ -668,7 +668,7 @@ __all__ = [
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# 简单测试HTTP服务
|
# 简单测试HTTP服务
|
||||||
class DummyWorkstation:
|
class BioyondWorkstation:
|
||||||
device_id = "WS-001"
|
device_id = "WS-001"
|
||||||
|
|
||||||
def process_step_finish_report(self, report_request):
|
def process_step_finish_report(self, report_request):
|
||||||
|
|||||||
@@ -647,11 +647,11 @@ def resource_bioyond_to_plr(bioyond_materials: list[dict], type_mapping: Dict[st
|
|||||||
+ (detail.get("y", 0) - 1)
|
+ (detail.get("y", 0) - 1)
|
||||||
)
|
)
|
||||||
bottle = plr_material[number]
|
bottle = plr_material[number]
|
||||||
if detail["name"] in type_mapping:
|
if detail["typeName"] in type_mapping:
|
||||||
# plr_material.unassign_child_resource(bottle)
|
# plr_material.unassign_child_resource(bottle)
|
||||||
plr_material.sites[number] = None
|
plr_material.sites[number] = None
|
||||||
plr_material[number] = initialize_resource(
|
plr_material[number] = initialize_resource(
|
||||||
{"name": f'{detail["name"]}_{number}', "class": type_mapping[detail["name"]][0]}, resource_type=ResourcePLR
|
{"name": f'{detail["name"]}_{number}', "class": type_mapping[detail["typeName"]][0]}, resource_type=ResourcePLR
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
bottle.tracker.liquids = [
|
bottle.tracker.liquids = [
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ class ItemizedCarrier(ResourcePLR):
|
|||||||
def assign_resource_to_site(self, resource: ResourcePLR, spot: int):
|
def assign_resource_to_site(self, resource: ResourcePLR, spot: int):
|
||||||
if self.sites[spot] is not None and not isinstance(self.sites[spot], ResourceHolder):
|
if self.sites[spot] is not None and not isinstance(self.sites[spot], ResourceHolder):
|
||||||
raise ValueError(f"spot {spot} already has a resource, {resource}")
|
raise ValueError(f"spot {spot} already has a resource, {resource}")
|
||||||
self.assign_child_resource(resource, location=self.child_locations.get(str(spot)), spot=spot)
|
self.assign_child_resource(resource, location=self.child_locations.get(list(self._ordering.keys())[spot]), spot=spot)
|
||||||
|
|
||||||
def unassign_child_resource(self, resource: ResourcePLR):
|
def unassign_child_resource(self, resource: ResourcePLR):
|
||||||
found = False
|
found = False
|
||||||
|
|||||||
Reference in New Issue
Block a user