14.4. 従業員勤務表スターターアプリケーションの変更

従業員勤務表スターターアプリケーションをニーズに合わせて変更するには、最適化プロセスを統括するルールを変更する必要があります。また、データ構造に必要なデータを含み、ルールに必要な計算が提供されるようにする必要があります。必要なデータがユーザーインターフェイスに存在しない場合は、ユーザーインターフェイスも変更する必要があります。

以下の手順では、従業員勤務表スターターアプリケーションの変更に関する一般的なアプローチを説明しています。

前提条件

  • アプリケーションを正常にビルドするビルド環境がある。
  • Java コードの読み取りと変更ができる。

手順

  1. 必要な変更をプランニングします。以下の質問に答えてください。

    • 回避する 必要 がある追加のシナリオは何ですか。これらのシナリオは ハード制約 です。
    • 可能な場合は、Optimizer が 回避しなければ ならない追加のシナリオは何ですか。これらのシナリオは ソフト制約 です。
    • それぞれのシナリオがソリューションで実行されるかどうかを計算するのに必要なデータは何ですか。
    • 既存のバージョンで入力した情報から取得可能なデータはどれですか。
    • ハードコードが可能なデータはどれですか。
    • ユーザー入力が必要なデータと、現在のバージョンで入力されていないデータはどれですか。
  2. 必須データを現在のデータから計算するか、ハードコード化できる場合は、計算か、ハードコードを既存のビューまたはユーティリティークラスに追加します。データをサーバー側で計算する必要がある場合は、REST API エンドポイントを追加して読み込みます。
  3. ユーザーが必須データを入力する必要がある場合は、データのエントリーを表現するクラスにそのデータを追加 (例: Employee クラス) し、データの読み取り、および書き込み用に REST API エンドポイントを追加して、データ入力用にユーザーインターフェイスを変更してください。
  4. 全データが利用できる場合は、ルールを変更します。変更の大半は、新規ルールを追加する必要があります。これらのルールは、 optaweb-employee-rostering-backend モジュールの src/main/java/org/optaweb/employeerostering/service/solver/EmployeeRosteringConstraintProvider.java ファイルに配置されます。
  5. アプリケーションの変更後に、ビルドして実行します。