フィールドサービス クルーオペレーションコンポーネント
フィールドサービス クルーオペレーションアプリケーションのロール、テーブル、スクリプトインクルード、およびビジネスルール。
フィールドサービス クルーオペレーションは、[マイクルー] メニューをアプリケーションナビゲーターと次のモジュールに追加します。
- 自分のクルー:マネージャーとディスパッチャーがクルーを作成および管理できるようにします。
- 自分のクルータスク:エージェントは、所属するクルーにアサインされたクルータスクを表示できます。
ロール
フィールドサービス クルーオペレーションは、次のロールを追加します。
| ロール | 説明 |
|---|---|
| フィールドサービスクルーのモデレーター [wm_crew_moderator] |
ディスパッチャーとマネージャーが、クルーを作成し、クルーメンバーを管理し、スキルと場所をアサインし、アサイン先グループにアサインできるようにします。 |
テーブル
フィールドサービス クルーオペレーションは、次のテーブルを追加します。
| テーブル | 説明 |
|---|---|
| クルー wm_crew |
クルーサイズ、リーダー、場所、スケジュール、移動半径など、クルーに関する高レベルの情報を保存します。 |
| クルーグループ wm_crew_group |
選択したアサイン先グループへのクルーのマッピングを保存します。 |
| クルーメンバー wm_crew_member |
クルーのさまざまなメンバーとクルーでの有効な可用性を保存します。 |
| クルー要件 wm_crew_requirement |
最小クルーサイズや推奨サイズなど、クルーのきめ細かい要件を保存します。 |
| クルーのスキル wm_crew_skill |
クルーメンバーが現在持っているスキルを保存します。 |
| タスクアサイニー wm_task_assignee |
作業指示タスクで作業しているすべてのエージェントのマッピングを保存します。 |
スクリプトインクルード
フィールドサービス クルーオペレーションは、次の新しいスクリプトインクルードを追加します。
| スクリプトインクルード | 説明 |
|---|---|
| CrewSchedulingUtil | クルーメンバー、クルーのスキル、クルー要件、タスクのアサイニー、およびエージェントが属するクルーを更新します。 |
| CrewSchedulingClientUtil | エージェントが属するクルーと、クライアント側スクリプトで使用するためにそれらのクルーにアサインされたタスクをフェッチします。 |
| タスクからのクルーの場所 | クルーの場所とタスクまでの距離に基づいてクルーを評価します。 |
| CrewMatchingDimensionSkills | クルーのスキルとタスクに必要なスキルに基づいてクルーを評価します。 |
| CrewTasksScheduleUtil | クルーとエージェントのスケジュールを決定します。 |
| FSMUtil | クルーの半径、タスクまでの距離、およびタスクにクルーが必要かどうかを確認します。 |
| SMDateValidation | エージェントが既にクルーの一員である場合にタスクスケジューリングの競合をチェックし、有効開始日または有効終了日に応じてエージェントをクルーに追加できるかどうかを確認します。 |
| SMGeoDistanceUtils | クルーのその日の深夜の検索、同じ日の次のタスクの検索、複数のエージェントの場所の取得、移動期間の計算など、エージェント機能をクルーに拡張します。 |
| TimeRecordingHelper | エージェントの名前を含むように情報メッセージを変更します。 |
ビジネスルール
フィールドサービス クルーオペレーションは、次のビジネスルールを追加します。
| ビジネスルール | テーブル | 説明 |
|---|---|---|
| クルーの削除を中止 | クルー [wm_crew] |
作業指示タスクでクルーが参照されている場合、そのクルーの削除を防止します。 |
| クルーの非アクティブ化を中止 | クルー [wm_crew] |
クルーにアクティブなタスクがアサインされている場合、クルーの非アクティブ化を防止します。 |
| デフォルトのスキルレベルを追加します | ユーザースキル [sys_user_has_skill] |
デフォルトのスキルレベルを追加します。 |
| クルーリーダーのグループとメンバーを追加 | クルー [wm_crew] |
クルーリーダーのwm_crew_groupレコードとwm_crew_memberレコードを作成します。 |
| グループスキルをクルーに追加 | クルーグループ [wm_crew_group] |
新しいグループがクルーに追加されるたびに、クルーに新しいスキルを追加します。 |
| クルーメンバーに不足しているクルーグループを追加 | クルーメンバー [wm_crew_member] |
新しいメンバーがクルーに追加されたときにクルーグループを更新します。 |
| クルーの予定期間を計算 | 作業指示タスク [wm_Task] |
クルーの予定移動期間を計算します。 |
| クルーサイズを確認 | クルー [wm_crew] |
クルー作成時のクルーサイズを検証します。 |
| 作成時にクルーサイズを確認 | クルーメンバー [wm_crew_member] |
クルーメンバー追加時のクルーサイズを検証します。 |
| 更新時にクルーサイズを確認 | クルーメンバー [wm_crew_member] |
クルーメンバーレコードが更新または削除されたときに、クルー内のメンバー数を検証します。 |
| 同じクルーの重複メンバーを確認 | クルーメンバー [wm_crew_member] |
クルーに重複するメンバーが追加されないようにします。 |
| タスククルーのリーダーの対応可能性を確認 | クルー [wm_crew] |
タスク固有のクルーにタスクをアサインするときに、クルーリーダーが対応可能かどうかを確認します。 |
| メンバーがアクティブなクルーに含まれていることを確認 | クルーメンバー [wm_crew_member] |
クルーメンバーが同時に複数のクルーの一部にならないようにして、クルーメンバーのクルーメンバーシップの競合を回避します。 |
| クルーメンバーのタスクの競合をチェック | クルーメンバー [wm_crew_member] |
既存のタスクアサインが原因でクルーメンバーに競合があるかどうかを確認します。 |
| タスクアサイニーのタスク競合をチェックする | 作業指示タスク [wm_task_assignee] |
既存のタスクアサインが原因でタスクアサイニースケジュールに競合がないかチェックします。 |
| クルーの半径チェック | 作業指示タスク [wm_Task] |
クルーにアサインされたタスクが対象半径外である場合に情報メッセージを表示します。 |
| 日付チェック | クルーメンバー [wm_crew_member] |
クルーメンバーの有効開始日と有効終了日を検証します。 |
| クルーが非アクティブなときにメンバーを非アクティブにする | クルー [wm_crew] |
クルーがアクティブでない場合、クルーメンバーを非アクティブ化します。 |
| タスククルーの非アクティブ化 | 作業指示タスク [wm_Task] |
タスクが完了またはキャンセルされたときに、タスク固有のクルーを非アクティブとしてマークします。 |
| タスククルーのタスクアサイニーを削除 | クルーメンバー [wm_crew_member] |
メンバーがタスク固有のクルーから削除されると、作業指示タスクからタスクアサイニーを削除します。 |
| 完了/キャンセルされたタスククルーの無効化 | クルー [wm_crew] |
アサインされたタスクが完了またはキャンセルされた後、クルーを非アクティブに設定します。 |
| タスククルー要件を管理 | 作業指示タスク [wm_Task] |
作業指示タスクのクルー要件を作成および削除します。 |
| クルーからグループスキルを削除 | クルーグループ [wm_crew_group] |
クルーグループがクルーから削除されると、クルーからスキルが削除されます。 |
| クルーリーダーのアクションを制限 | クルーメンバー [wm_crew_member] |
クルーリーダーのアクションを制限します。 |
| プライマリリーダーへの更新を制限する | 作業指示タスク [wm_task_assignee] |
タスクアサイニー関連リストでクルーのプライマリリーダーを更新または削除する機能を制限します。 |
| クルーメンバーのタスク移動時間を複製 | 作業指示タスク [Task_time_worked] |
クルーメンバーがタスクの場所まで移動するのにかかった時間と、作業指示タスクの作業に費やした時間を記録します。 |
| クルーのアサイン先をクルーリーダーとして設定 | 作業指示タスク [wm_Task] |
タスクがクルーにアサインされるときに、[ アサイン先 ] フィールドにクルーリーダー名を設定します。 |
| 継承されたスキルレベルを false に設定 | クルーのスキル [wm_crew_skill] |
[ 継承されたスキルレベル] フィールドを false に設定します。 |
| タスククルー:利用可能なリーダーを確認 | クルー [wm_crew] |
タスクをタスク固有のクルーにアサインするときに、クルーリーダーの対応可能性を確認します。 |
| クルー有効日を更新 | 作業指示タスク [wm_Task] |
タスク固有のクルーのタスク開始日と終了日と同様のクルーメンバー有効日を設定します。 |
| タスクから開始された更新 | クルー [wm_crew] |
[開始ソース] フィールドを作業指示タスク番号で更新します。 |
| タスククルーのタスクアサイニーを更新 | クルーメンバー [wm_crew_member] |
タスクがタスク固有のクルーにアサインされたときに、作業指示タスクのタスクアサイニーを追加または更新します。 |
| クルータスクの移動期間の更新 | 作業指示タスク [wm_Task] |
[ アサインされたクルー] フィールドの値に基づいて、クルーを必要とする作業指示タスクの移動期間を更新します。 |
| クルーを検証 | クルー [wm_crew] |
クルーの作成時にクルーの詳細を検証します。 |
| クルーグループの削除を検証 | クルーグループ [wm_crew_group] |
アクティブなメンバーがクルーグループのクルーに含まれている場合に、クルーグループの削除を防止します。 |
| クルーメンバーの有効日を検証 | クルーメンバー [wm_crew_member] |
クルーメンバーの有効開始日と有効終了日を検証します。 |
| クルーサイズを検証 | クルー要件 [wm_crew_requirement] |
作業指示タスクの最小クルーサイズと推奨クルーサイズを検証します。 |