meemup-library 1.1.64 → 1.1.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/controllers/KitchenController.d.ts +2 -0
- package/dist/controllers/KitchenController.js +34 -8
- package/dist/interfaces/IKitchenOrderDetailItems.d.ts +1 -0
- package/dist/interfaces/management/notification/INotification.d.ts +6 -0
- package/dist/interfaces/management/notification/INotification.js +1 -0
- package/package.json +1 -1
|
@@ -13,6 +13,8 @@ declare const _default: {
|
|
|
13
13
|
dateToSecond(date: Date): number;
|
|
14
14
|
calculateTravelTime(detail: IKitchenOrderDetail, times: IKitchenTimes, zones: IKitchenZone[]): number;
|
|
15
15
|
calculateTik(detail: IKitchenOrderDetail, times: IKitchenTimes, zones: IKitchenZone[]): number;
|
|
16
|
+
calculateKitchenTime(detail: IKitchenOrderDetail, times: IKitchenTimes): number;
|
|
17
|
+
idAddvanceOrder(detail: IKitchenOrderDetail, times: IKitchenTimes, zones: IKitchenZone[]): boolean;
|
|
16
18
|
sortOrders(orders: IKitchenOrderDetail[], setting: IKitchenScreenSetting): IKitchenOrderDetail[];
|
|
17
19
|
listToMatrix(setting: IKitchenScreenSetting, orders: IKitchenOrderDetail[], page: number): IKitchenOrderDetail[][];
|
|
18
20
|
calculateTotalPage(listLength: number, pageSize: number): number;
|
|
@@ -61,6 +61,8 @@ export default new class KitchenController {
|
|
|
61
61
|
return parseInt((date.getTime() / 1000) + "");
|
|
62
62
|
}
|
|
63
63
|
calculateTravelTime(detail, times, zones) {
|
|
64
|
+
if (detail.type !== EnumOrderType.delivery)
|
|
65
|
+
return 0;
|
|
64
66
|
let travelTime = 0;
|
|
65
67
|
if ((detail === null || detail === void 0 ? void 0 : detail.deliveryLocation) && (detail === null || detail === void 0 ? void 0 : detail.storeLocation))
|
|
66
68
|
travelTime = ZoneController.calculateDuration(detail === null || detail === void 0 ? void 0 : detail.deliveryLocation, detail === null || detail === void 0 ? void 0 : detail.storeLocation, times.transportType);
|
|
@@ -70,14 +72,24 @@ export default new class KitchenController {
|
|
|
70
72
|
return travelTime;
|
|
71
73
|
}
|
|
72
74
|
calculateTik(detail, times, zones) {
|
|
73
|
-
let kitchenTime = 0;
|
|
74
75
|
let desiredDateTime = new Date(detail.desiredDateTime);
|
|
75
76
|
let currentDateTime = new Date();
|
|
76
|
-
|
|
77
|
+
//-----------------------------------------------------------------------------------------------
|
|
78
|
+
let estimatedTime = this.convertStrToMinute(detail.estimatedTime); //in minute
|
|
79
|
+
//-----------------------------------------------------------------------------------------------
|
|
80
|
+
let travelTime = this.calculateTravelTime(detail, times, zones); //in minute
|
|
81
|
+
desiredDateTime.setMinutes((desiredDateTime.getMinutes() + estimatedTime) - travelTime);
|
|
82
|
+
let tik = this.dateToSecond(desiredDateTime) - this.dateToSecond(currentDateTime);
|
|
83
|
+
if (tik > 0)
|
|
84
|
+
return tik;
|
|
85
|
+
return 0;
|
|
86
|
+
}
|
|
87
|
+
calculateKitchenTime(detail, times) {
|
|
88
|
+
let kitchenTime = 0; //in minute
|
|
89
|
+
let productMaxPreparationTime = 0;
|
|
77
90
|
switch (detail.type) {
|
|
78
91
|
case EnumOrderType.delivery:
|
|
79
92
|
kitchenTime += times.deliveryMinimumTime;
|
|
80
|
-
travelTime = this.calculateTravelTime(detail, times, zones);
|
|
81
93
|
break;
|
|
82
94
|
case EnumOrderType.pickup:
|
|
83
95
|
kitchenTime += times.pickupMinimumTime;
|
|
@@ -91,12 +103,26 @@ export default new class KitchenController {
|
|
|
91
103
|
}
|
|
92
104
|
if (kitchenTime < times.minimumPreparationTime)
|
|
93
105
|
kitchenTime = times.minimumPreparationTime;
|
|
94
|
-
|
|
95
|
-
|
|
106
|
+
const list = detail.items.map(i => this.convertStrToMinute(i.preparationTime));
|
|
107
|
+
if (list.length > 1)
|
|
108
|
+
productMaxPreparationTime = Math.max(...list);
|
|
109
|
+
else if (list.length === 1)
|
|
110
|
+
productMaxPreparationTime = list[0];
|
|
111
|
+
if (kitchenTime < productMaxPreparationTime)
|
|
112
|
+
kitchenTime = productMaxPreparationTime;
|
|
113
|
+
return kitchenTime + this.convertStrToMinute(detail.estimatedTime);
|
|
114
|
+
}
|
|
115
|
+
idAddvanceOrder(detail, times, zones) {
|
|
116
|
+
let desiredDateTime = new Date(detail.desiredDateTime);
|
|
117
|
+
let currentDateTime = new Date();
|
|
118
|
+
//-----------------------------------------------------------------------------------------------
|
|
119
|
+
let kitchenTime = this.calculateKitchenTime(detail, times); //in minute
|
|
120
|
+
let travelTime = this.calculateTravelTime(detail, times, zones); //in minute
|
|
121
|
+
let estimatedTime = this.convertStrToMinute(detail.estimatedTime); //in minute
|
|
122
|
+
//-----------------------------------------------------------------------------------------------
|
|
123
|
+
desiredDateTime.setMinutes(desiredDateTime.getMinutes() + estimatedTime);
|
|
96
124
|
let tik = this.dateToSecond(desiredDateTime) - this.dateToSecond(currentDateTime);
|
|
97
|
-
|
|
98
|
-
return tik;
|
|
99
|
-
return 0;
|
|
125
|
+
return tik - ((kitchenTime + travelTime) * 60) > 0;
|
|
100
126
|
}
|
|
101
127
|
sortOrders(orders, setting) {
|
|
102
128
|
if (setting.sortAscending) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|