Код: Выделить всё
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
@PlanningEntity
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class Task {
@PlanningId
private String id;
// TODO: @CascadingUpdateShadowVariable(targetMethodName = "automateSetMachine") -> is this possible?
@InverseRelationShadowVariable(sourceVariableName = "tasks")
private Machine machine;
@JsonIgnore
@PreviousElementShadowVariable(sourceVariableName = "tasks")
private Task previousTask;
@JsonIgnore
@NextElementShadowVariable(sourceVariableName = "tasks")
private Task nextTask;
@CascadingUpdateShadowVariable(targetMethodName = "automatePlanTime")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime startTime;
@CascadingUpdateShadowVariable(targetMethodName = "automatePlanTime")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime endTime;
private String building; private String factory;
@JsonIgnore
public void automatePlanTime() {
if (previousTask == null && machine == null) {
startTime = null;
endTime = null;
return;
}
// logic here
}
}
Код: Выделить всё
@PlanningEntity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class Machine {
@PlanningId
private String id;
private String factory;
private String building;
private String machineName;
@JsonIgnore
private List shifts;
@JsonIgnore
@PlanningListVariable
private List tasks = new ArrayList();
Если я его использую. Повлияет ли это на метод автоматизироватьPlanTime? Раньше при использовании VariableListener for Machine я получал ошибку.
Я не могу протестировать @CascadingUpdateShadowVariable(targetMethodName = "automateSetMachine"). Я обновлю позже после тестирования и, если возможно, поделюсь ошибкой.
Подробнее здесь: https://stackoverflow.com/questions/791 ... to-my-task
Мобильная версия