Skip to content

AGV code should be recorded in station attributes, not task extension properties #710

@grefus

Description

@grefus

Background:
Current business logic records agvCode in the task's extension attributes. Correct logic is to record agvCode as a property of the station itself.

Problem Details:

  1. agvCode is currently set in subTask.OperationArgs, but should be recorded as an attribute of the target StationEntity (via StationProperties or ExtendProperties).
  2. This leads to misleading AGV binding behavior, especially when handling holding points for non-released AGVs.
  3. The system fails to properly reference agvCode in subsequent append sub-task/continue workflows.

Expected Change:

  • Refactor business logic to ensure agvCode is tracked per station, not per sub-task/task extension.
  • Update relevant methods to read and write agvCode from StationEntity attributes.
  • Ensure AGV release logic validates with station attributes and not task properties.

Impacts:

  • Will affect task status transitions, sub-task append logic, and AGV release/hold workflows.

Reference:
Please see existing TaskService implementation (see methods: ReceiveTaskStatus, AppendSubTask, ClearAgvBinding, CheckAndHandleHoldingPoint).


Action Items:

  • Refactor code to bind agvCode to station attributes
  • Update logic in ReceiveTaskStatus, AppendSubTask for proper AGV hold/release flows
  • Test across scenarios involving holding points, multiple sub-tasks, and multi-AGV
  • Document changes and migration steps for affected deployments

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions