您位於此處:
InsPolicyService:invokeRules
使用此服務可叫用與目標原則上的目標狀態交易相關聯的狀態轉換規則。如果規則符合轉換條件,此服務會執行與轉換相關聯的動作、選擇性記錄規則執行的結果,並將目標原則轉換為新狀態。
運作方式
-
此服務會取回由 policyId 選項指定的物件。
-
系統會根據物件類型、物件的目前狀態以及 toState 選項來決定目標狀態轉換。
-
系統會從狀態轉換、狀態轉換規則和狀態轉換規則動作中來取用並執行產品規則。
-
如果狀態轉換規則符合在狀態轉換上指定的轉換完成條件,則物件會轉換為「州/省」。
如果狀態轉換具有與其相關聯的動作,則會執行該動作。
如果不滿足轉換完成條件,則物件會轉換為在狀態轉換上指定的 替代狀態 (若存在)。如果狀態轉換沒有「替代」」狀態,則物件會保留其目前狀態。
-
如果已指定 logResults 選項,則會記錄每個規則的結果以及物件交易的結果 (成功或失敗)。
遠端選項
選項 |
描述 |
|---|---|
policyID |
必要。 要套用規則的目標原則識別碼 |
toState |
必要 要根據狀態轉換條件將目標物件移至的州/省 |
lastDefaultState |
選擇性 目標物件的最後預設狀態名稱 |
invokeStateTransitionRules |
選擇性 true 用於叫用狀態轉換規則。這是預設值。 false 如果您不想要叫用狀態轉換規則,則使用。 |
invokeProductRules |
選擇性 true 用於叫用產品規則。這是預設值。 false 如果您不想要叫用產品規則,請使用。 |
invokeActionType |
選擇性 若有指定,則表示在符合條件時要叫用的動作類型。預設設定為 預設值。 預設 僅執行與狀態轉換相關聯的預設動作 所有 執行與狀態轉換相關聯的所有動作 無 請勿叫用與狀態轉換相關聯的任何動作 |
actionScope |
選擇性 若有指定,則表示在目前的狀態模型版本或任何狀態模型版本上是否必須定義叫用動作。預設設定為 版本。 版本 僅執行與目前狀態模型版本相關聯的動作 與任何狀態模型版本相關聯的「任何執行動作」 |
logResults |
選擇性 true 用於記錄結果。這是預設值。 false 如果您不想記錄結果,請使用。 |
fromNoneState |
選擇性 true Object 從「無」 狀態轉換。 false 物件未從 無狀態轉換。這是預設值。 |
輸入 JSON
下列範例顯示範例輸入 JSON。
{
"objectId": "02i3h0000009OqCAAU",
"toState": "Review",
"lastDefaultState": "Draft",
"invokeActionType": "draft",
"actionScope": "version",
"logResults": true,
"fromNoneState": false
}輸出 JSON
下列範例顯示範例輸出 JSON。
{
"transition": true,
"transitedState": "Review",
"stateTransitionRules": {
"result": true,
"ruleDetails": [{
"result": true,
"conditions": "Asset.Status == 'Draft'",
"name": "Status is Draft",
"ruleId": "a5Q6g0000005vSPEAY",
"transitionName": "Draft > Review",
"objId": "02i3h0000009OqCAAU"
}, {
"result": false,
"conditions": "Asset.Name == 'Test'",
"name": "Name is Test",
"ruleId": "a5Q6g0000005vSPEAZ",
"transitionName": "Draft > Review",
"objId": "02i3h0000009OqCAAU"
}]
},
"productRules": {
"allFalse": false,
"trueRules": {
"Asset": [{
"ruleDetails": {
"ruleId": "a5Q6g0000005vSPEBX",
"objectId": "02i3h0000009OqCAAU",
"transitionName": "Draft > Review",
"productId": "01t6g000000RzFAAA0",
"action class": null,
"action method": null,
"message": "Name is not blank",
"conditions": "Asset.Name != ''",
"requirement name": "Name is not blank"
}
}]
},
"falseRules": {
"Asset": [{
"ruleDetails": {
"ruleId": "a5Q6g0000005vSPEBX",
"objectId": "02i3h0000009OqCAAU",
"transitionName": "Draft > Review",
"productId": "01t6g000000RzFAAA0",
"action class": null,
"action method": null,
"message": "Name is blank",
"conditions": "Asset.Name == ''",
"requirement name": "Name is blank"
}
}]
}
}
}