domain model and empty database

This commit is contained in:
Michał Michaluk
2017-12-04 09:00:27 +01:00
parent a2a5e80a3f
commit b4c706b117
64 changed files with 3184 additions and 1 deletions

View File

@@ -0,0 +1,15 @@
package pl.com.bottega.factory.demand.forecasting;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import java.time.LocalDate;
@Getter
@AllArgsConstructor
@EqualsAndHashCode
public class DailyId {
private final String refNo;
private final LocalDate date;
}

View File

@@ -0,0 +1,25 @@
package pl.com.bottega.factory.demand.forecasting;
import lombok.Value;
@Value
public class Demand {
long level;
Schema schema;
public enum Schema {
AtDayStart, Every3hours, TillDayEnd
}
public static Demand nothingDemanded() {
return of(0);
}
public static Demand of(long level) {
return new Demand(level, Schema.TillDayEnd);
}
public static Demand of(long level, Schema schema) {
return new Demand(level, schema);
}
}

View File

@@ -0,0 +1,28 @@
package pl.com.bottega.factory.demand.forecasting;
import lombok.Value;
import pl.com.bottega.factory.product.management.RefNoId;
import java.util.Collections;
import java.util.Map;
public interface DemandEvents {
void emit(DemandedLevelsChanged event);
@Value
class DemandedLevelsChanged {
RefNoId id;
Map<DailyId, Change> results;
public DemandedLevelsChanged(RefNoId id, Map<DailyId, Change> results) {
this.id = id;
this.results = Collections.unmodifiableMap(results);
}
@Value
public static class Change {
Demand previous;
Demand current;
}
}
}

View File

@@ -0,0 +1,12 @@
package pl.com.bottega.factory.product.management;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@Getter
@AllArgsConstructor
@EqualsAndHashCode
public class RefNoId {
private final String refNo;
}