特定于域的构建基块 > 状态机构建基块 > 配置 (状态机构建基块)
配置 (状态机构建基块)
PTC.StateMachineImpl.Manager 事物的 StateMachineConfiguration 配置表用于定义单个状态机。此表格包括以下字段:
stateMachineName - 状态机的名称。名称必须是唯一的。
dataShapeName - 如果状态机与数据形状中的字段相关联,则指定数据形状的名称。
fieldName - 如果状态机与数据形状中的字段相关联,则指定该字段的名称。
stateMachineConfiguration - 用于定义状态机的 JSON 代码。对于状态机中的每个状态,可以指定以下内容:
initial - 如果值为 true,则状态为初始状态。
final - 如果值为 true,则状态为最终状态。
transitions - 此状态的有效转变。对于给定转变,还可以指定以下内容:
action - 发生转变时可能发生的操作。
event - 用于触发转变的事件。
actionevent 值可由调用状态机的服务引用。
以下示例代码是由作业单构建基块提供的 JobOrderDispatchStatus 状态机的 stateMachineConfiguration JSON 代码:
{
"states": {
"Dispatched": {
"initial": true,
"transitions": {
"Running": {
"action": "EndProductionBlock",
"event": "StartJobOrder"
},
"Canceled": {},
"Pending": {}
}
},
"Held": {
"transitions": {
"Running": {
"action": "EndProductionBlock",
"event": "StartJobOrder"
},
"Completed": {},
"Canceled": {}
}
},
"Running": {
"transitions": {
"Held": {
"action": "EndProductionBlock",
"event": "StopJobOrder"
},
"Completed": {
"action": "EndProductionBlock",
"event": "StopJobOrder"
}
}
},
"Completed": {
"final": true
},
"Canceled": {
"final": true
},
"Pending": {
"initial": true,
"transitions": {
"Dispatched": {},
"Canceled": {}
}
}
}
}
这对您有帮助吗?