package com.chinaztt.mes.aps.core.domain; import com.chinaztt.mes.aps.core.solver.TaskDifficultyComparator; import com.fasterxml.jackson.annotation.JsonIgnore; import org.optaplanner.core.api.domain.entity.PlanningEntity; import org.optaplanner.core.api.domain.variable.InverseRelationShadowVariable; import java.time.LocalDateTime; /** * @Author: zhangxy * @Date: 2020-10-19 19:58 */ @PlanningEntity(difficultyComparatorClass = TaskDifficultyComparator.class) public abstract class AbstractTaskOrResource { @JsonIgnore private Task nextTask; @InverseRelationShadowVariable(sourceVariableName = "previousTaskOrResource") public Task getNextTask() { return nextTask; } public void setNextTask(Task nextTask) { this.nextTask = nextTask; } /** * 计划开始时间 * @return */ public abstract LocalDateTime getPlanEndTime(); }