配置 (状态机构建基块)
PTC.StateMachineImpl.Manager 事物的 StateMachineConfiguration 配置表用于定义单个状态机。此表格包括以下字段:
• stateMachineName - 状态机的名称。名称必须是唯一的。
• dataShapeName - 如果状态机与数据形状中的字段相关联,则指定数据形状的名称。
• fieldName - 如果状态机与数据形状中的字段相关联,则指定该字段的名称。
• stateMachineConfiguration - 用于定义状态机的 JSON 代码。对于状态机中的每个状态,可以指定以下内容:
◦ initial - 如果值为 true,则状态为初始状态。
◦ final - 如果值为 true,则状态为最终状态。
◦ transitions - 此状态的有效转变。对于给定转变,还可以指定以下内容:
▪ action - 发生转变时可能发生的操作。
▪ event - 用于触发转变的事件。
action 和 event 值可由调用状态机的服务引用。
以下示例代码是由
作业单构建基块提供的
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": {}
}
}
}
}