14.4. 修改 employees rostering starter 应用
要修改 employees rostering starter 应用以满足您的需要,您必须更改管理优化过程的规则。您还必须确保数据结构包含所需的数据,并提供规则所需的计算结果。如果用户界面中不存在所需数据,还必须修改用户界面。
以下过程概述了修改员工的入门应用的一般方法。
先决条件
- 您有一个成功构建应用程序的构建环境。
- 您可以阅读和修改 Java 代码。
流程
计划所需的更改。回答以下问题:
- 必须避免 的其他场景是什么?这些场景是 硬性限制。
- 优化程序必须尽量避免 的其它 场景是什么?这些场景是 软限制。
- 如果每个方案发生在潜在解决方案中,则需要什么数据计算?
- 可以从用户在现有版本中输入的信息派生哪些数据?
- 哪些数据可以被硬编码?
- 哪个数据必须由用户输入,且在当前版本中不会输入?
- 如果可以从当前数据计算任何所需数据或硬编码,请将计算或硬编码添加到现有的视图或实用程序类。如果数据必须在服务器端计算,请添加 REST API 端点来读取它。
-
如果用户必须输入所需的数据,将数据添加到代表数据实体(例如
Employee
类)的类中,添加 REST API 端点来读取和写入数据,并修改用户界面进入数据。 -
当所有数据都可用时,修改规则。对于大多数修改,您必须添加新的规则。规则位于
optaweb-employee-rostering-backend
模块的 src/main/java/optaweb/employeerostering/service/solver/EmployeeRosteringConstraintProvider.java - 修改应用程序后,构建并运行它。