14.4. 従業員勤務表スターターアプリケーションの変更
従業員勤務表スターターアプリケーションをニーズに合わせて変更するには、最適化プロセスを統括するルールを変更する必要があります。また、データ構造に必要なデータを含み、ルールに必要な計算が提供されるようにする必要があります。必要なデータがユーザーインターフェイスに存在しない場合は、ユーザーインターフェイスも変更する必要があります。
以下の手順では、従業員勤務表スターターアプリケーションの変更に関する一般的なアプローチを説明しています。
前提条件
- アプリケーションを正常にビルドするビルド環境がある。
- Java コードの読み取りと変更ができる。
手順
必要な変更をプランニングします。以下の質問に答えてください。
- 回避する 必要 がある追加のシナリオは何ですか。これらのシナリオは ハード制約 です。
- 可能な場合は、Optimizer が 回避しなければ ならない追加のシナリオは何ですか。これらのシナリオは ソフト制約 です。
- それぞれのシナリオがソリューションで実行されるかどうかを計算するのに必要なデータは何ですか。
- 既存のバージョンで入力した情報から取得可能なデータはどれですか。
- ハードコードが可能なデータはどれですか。
- ユーザー入力が必要なデータと、現在のバージョンで入力されていないデータはどれですか。
- 必須データを現在のデータから計算するか、ハードコード化できる場合は、計算か、ハードコードを既存のビューまたはユーティリティークラスに追加します。データをサーバー側で計算する必要がある場合は、REST API エンドポイントを追加して読み込みます。
-
ユーザーが必須データを入力する必要がある場合は、データのエントリーを表現するクラスにそのデータを追加 (例:
Employee
クラス) し、データの読み取り、および書き込み用に REST API エンドポイントを追加して、データ入力用にユーザーインターフェイスを変更してください。 -
全データが利用できる場合は、ルールを変更します。変更の大半は、新規ルールを追加する必要があります。これらのルールは、
optaweb-employee-rostering-backend
モジュールのsrc/main/java/org/optaweb/employeerostering/service/solver/EmployeeRosteringConstraintProvider.java
ファイルに配置されます。 - アプリケーションの変更後に、ビルドして実行します。