demand changes review processing
This commit is contained in:
@@ -3,12 +3,14 @@ package pl.com.bottega.factory.demand.forecasting;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
@ToString
|
||||
public class DailyId {
|
||||
private final String refNo;
|
||||
private final LocalDate date;
|
||||
|
||||
@@ -3,30 +3,57 @@ package pl.com.bottega.factory.demand.forecasting;
|
||||
import lombok.Value;
|
||||
import pl.com.bottega.factory.product.management.RefNoId;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface DemandEvents {
|
||||
void emit(DemandedLevelsChanged event);
|
||||
|
||||
void emit(ReviewRequested event);
|
||||
|
||||
@Value
|
||||
class DemandedLevelsChanged {
|
||||
RefNoId id;
|
||||
RefNoId refNo;
|
||||
Map<DailyId, Change> results;
|
||||
|
||||
public DemandedLevelsChanged(RefNoId id, Map<DailyId, Change> results) {
|
||||
this.id = id;
|
||||
public DemandedLevelsChanged(RefNoId refNo, Map<DailyId, Change> results) {
|
||||
this.refNo = refNo;
|
||||
this.results = Collections.unmodifiableMap(results);
|
||||
}
|
||||
|
||||
public RefNoId getRefNo() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Value
|
||||
public static class Change {
|
||||
Demand previous;
|
||||
Demand current;
|
||||
}
|
||||
}
|
||||
|
||||
@Value
|
||||
class ReviewRequested {
|
||||
RefNoId refNo;
|
||||
List<ReviewNeeded> reviews;
|
||||
|
||||
public ReviewRequested(RefNoId refNo, List<ReviewNeeded> reviews) {
|
||||
this.refNo = refNo;
|
||||
this.reviews = Collections.unmodifiableList(reviews);
|
||||
}
|
||||
|
||||
@Value
|
||||
public static class ReviewNeeded {
|
||||
DailyId id;
|
||||
Demand previousDocumented;
|
||||
Demand adjustment;
|
||||
Demand newDocumented;
|
||||
|
||||
public String getRefNo() {
|
||||
return id.getRefNo();
|
||||
}
|
||||
|
||||
public LocalDate getDate() {
|
||||
return id.getDate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,10 +3,12 @@ package pl.com.bottega.factory.product.management;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.ToString;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode
|
||||
@ToString
|
||||
public class RefNoId {
|
||||
private final String refNo;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user