Hitachi

uCosminexus Service Coordinator Interactive Workflow BPMN連携機能 使用の手引


11.5.28 条件に一致する作業の作業者割り当てと着手

指定したフィルター条件とソート条件を満たす作業群に対して,作業者を割り当てます。そして,最初に割り当てに成功した作業を,「実行開始可能」状態から「作業者実行」状態に変更して返します。このAPIを実行すると,BPMN連携ライブラリJava APIのCIWBPMNLib.allocateWIExインタフェースが呼び出されます。

メソッドとURL

PUT /v1/work-item/allocate

リクエストボディ

項番

名前

指定要否

内容

1

UserDescription

文字列

省略可

ユーザ記述子を指定します。省略した場合はデフォルト値が指定されます。空文字列は指定できません。

2

Participant

文字列

必須

割り当てる作業者IDを指定します。

3

Filter

文字列

省略可

作業を検索する場合のフィルター条件を指定します。フィルター条件には,次に示すようにレーン名を含めた条件を指定してください。

  • Participant = 'レーン名'

  • Participant like 'レーン名の前方の文字列%'

作業群がすべてユーザタスクの場合のような特殊なケースに限って,フィルター条件を省略しても正常に動作します。省略した場合はフィルター条件は指定されません。空文字列は指定できません。

このフィルター条件には,作業の状態が「実行開始可能」状態と一致する条件が自動的に追加されます。

4

Sort

文字列

省略可

作業をソートする場合の条件を指定します。省略した場合はソート条件は指定されません。空文字列は指定できません。

5

FetchCount

数値

必須

一度に取得する件数を指定します。すべてを取得する場合は,-1を指定します。-1未満の値は指定できません。

リクエストボディの構造を次に示します。

項番

名前

出現回数

1

Parameter

1

2

UserDescription

0または1

3

Participant

1

4

Filter

0または1

5

Sort

0または1

6

FetchCount

1

リクエスト例

リクエストURL

PUT http://restserver/csciwws/v1/work-item/allocate

リクエストボディ(XMLの場合)

<?xml version="1.0" encoding="UTF-8" ?>
<Parameter>
  <Participant>User1</Participant>
  <Filter>Participant=&apos;MyLane1&apos;</Filter>   <!-- Participant='MyLane1' -->
  <Sort>ID</Sort>
  <FetchCount>100</FetchCount>
</Parameter>

リクエストボディ(JSONの場合)

{
  "Participant" : "User1",
  "Filter" : "Participant='MyLane1'",
  "Sort" : "ID",
  "FetchCount" : "100"
}

レスポンス

着手した作業を返します。作業のプロパティを次に示します。

項番

名前

内容

1

ActivityInstanceID

数値

作業が所属する業務ステップのID

2

ClosedDate

日付

作業の終了日時

3

CreationDate

日付

作業の発生日時

4

Deadline

日付

作業の処理期限の絶対日時

5

ID

数値

作業のID

6

Name

文字列

作業の名称(作業キー)

7

Participant

文字列

作業の作業者ID

8

Priority

数値

作業の優先度

9

ProcessDefinitionID

数値

作業が所属するビジネスプロセス定義のID

10

ProcessInstanceID

数値

作業が所属する案件のID

11

ProcessInstanceName

文字列

作業の案件名(案件キー)

12

StartDate

日付

作業の開始日時

13

StateCode

文字列

作業の状態

14

WorkDefinitionID

数値

作業定義のID

15

WorkDefinitionName

文字列

作業定義の名称

16

WorkTypeCode

文字列

作業の種類

レスポンスの構造を次に示します。

項番

名前

出現回数

1

WorkItem

1

2

ActivityInstanceID

1

3

ClosedDate

1

4

CreationDate

1

5

Deadline

1

6

ID

1

7

Name

1

8

Participant

1

9

Priority

1

10

ProcessDefinitionID

1

11

ProcessInstanceID

1

12

ProcessInstanceName

1

13

StartDate

1

14

StateCode

1

15

WorkDefinitionID

1

16

WorkDefinitionName

1

17

WorkTypeCode

1

ステータスコード

項番

ステータスコード

内容

1

200

成功

2

400

リクエストパラメタの不正

3

404

データが見つからなかった

4

500

内部処理エラー

レスポンス例

レスポンス(XMLの場合)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<WorkItem>
  <ActivityInstanceID>10005</ActivityInstanceID>
  <ClosedDate></ClosedDate>
  <CreationDate>2016-12-09T15:54:55+09:00</CreationDate>
  <Deadline></Deadline>
  <ID>10005</ID>
  <Name></Name>
  <Participant>User1</Participant>
  <Priority>0</Priority>
  <ProcessDefinitionID>3001</ProcessDefinitionID>
  <ProcessInstanceID>5004</ProcessInstanceID>
  <ProcessInstanceName>案件20160609103256259</ProcessInstanceName>
  <StartDate>2016-12-09T15:58:52+09:00</StartDate>
  <StateCode>f</StateCode>
  <WorkDefinitionID>3001</WorkDefinitionID>
  <WorkDefinitionName>QuotationHandling_UTask1</WorkDefinitionName>
  <WorkTypeCode>0</WorkTypeCode>
</WorkItem>

レスポンス(JSONの場合)

{
  "ActivityInstanceID" : "10005",
  "ClosedDate" : "",
  "CreationDate" : "2016-12-09T15:54:55+09:00",
  "Deadline" : "",
  "ID" : "10005",
  "Name" : "",
  "Participant" : "User1",
  "Priority" : "0",
  "ProcessDefinitionID" : "3001",
  "ProcessInstanceID" : "5004",
  "ProcessInstanceName" : "案件20160609103256259",
  "StartDate" : "2016-12-09T15:58:52+09:00",
  "StateCode" : "f",
  "WorkDefinitionID" : "3001",
  "WorkDefinitionName" : "QuotationHandling_UTask1",
  "WorkTypeCode" : "0"
}