@open-tender/store 0.3.18 → 0.3.20
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/cjs/services/api.d.ts +1 -0
- package/dist/cjs/services/api.js +4 -0
- package/dist/cjs/slices/kds.d.ts +20 -2
- package/dist/cjs/slices/kds.js +110 -3
- package/dist/cjs/types/api/kds.d.ts +2 -0
- package/dist/cjs/utils/orders.js +18 -6
- package/dist/esm/services/api.d.ts +1 -0
- package/dist/esm/services/api.js +4 -0
- package/dist/esm/slices/kds.d.ts +20 -2
- package/dist/esm/slices/kds.js +108 -2
- package/dist/esm/types/api/kds.d.ts +2 -0
- package/dist/esm/utils/orders.js +18 -6
- package/package.json +1 -1
|
@@ -62,6 +62,7 @@ declare class PosAPI {
|
|
|
62
62
|
postTicketsPrint(orderId: string, data?: OrderUpdate): Promise<Order | null | undefined>;
|
|
63
63
|
postTicketsReset(orderId: string): Promise<Order | null | undefined>;
|
|
64
64
|
postTicketPrint(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order | null | undefined>;
|
|
65
|
+
putTicketStatus(orderId: string, ticketNo: number, data: TicketUpdate): Promise<Order | null | undefined>;
|
|
65
66
|
postTicketStatus(orderId: string, ticketNo: number, status: TicketStatusUpdate): Promise<Order | null | undefined>;
|
|
66
67
|
getArrivals(): Promise<Arrivals | null | undefined>;
|
|
67
68
|
postAcknowledgeArrival(orderId: string): Promise<Order | null | undefined>;
|
package/dist/cjs/services/api.js
CHANGED
|
@@ -303,6 +303,10 @@ var PosAPI = /** @class */ (function () {
|
|
|
303
303
|
var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo, "/print");
|
|
304
304
|
return this.request(endpoint, 'POST', data);
|
|
305
305
|
};
|
|
306
|
+
PosAPI.prototype.putTicketStatus = function (orderId, ticketNo, data) {
|
|
307
|
+
var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo);
|
|
308
|
+
return this.request(endpoint, 'PUT', data);
|
|
309
|
+
};
|
|
306
310
|
PosAPI.prototype.postTicketStatus = function (orderId, ticketNo, status) {
|
|
307
311
|
var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo, "/").concat(status);
|
|
308
312
|
return this.request(endpoint, 'POST', {});
|
package/dist/cjs/slices/kds.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AppState } from '../app';
|
|
2
|
-
import { DateString, FetchOrdersArgs, ItemTypes, KdsFontSize, KdsOrderType, KdsStationCounts, KdsView, OrderCounts, OrderKds, OrdersAndStationCounts, OrdersKds, OrderUpdate, PrepStation, PrepStations, RequestError, RequestErrorAPI, RequestStatus, TicketStatus
|
|
2
|
+
import { DateString, FetchOrdersArgs, ItemTypes, KdsFontSize, KdsOrderType, KdsStationCounts, KdsView, OrderCounts, OrderKds, OrdersAndStationCounts, OrdersKds, OrderUpdate, PrepStation, PrepStations, RequestError, RequestErrorAPI, RequestStatus, TicketStatus } from '../types';
|
|
3
3
|
import { ReducerType } from './types';
|
|
4
4
|
export interface KdsState {
|
|
5
5
|
itemTypes: ItemTypes | null;
|
|
@@ -63,7 +63,25 @@ export declare const printTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
|
63
63
|
export declare const updateTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
64
64
|
orderId: string;
|
|
65
65
|
ticketNo: number;
|
|
66
|
-
status:
|
|
66
|
+
status: TicketStatus;
|
|
67
|
+
}, {
|
|
68
|
+
state: AppState;
|
|
69
|
+
}>;
|
|
70
|
+
export declare const resetTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
71
|
+
orderId: string;
|
|
72
|
+
ticketNo: number;
|
|
73
|
+
}, {
|
|
74
|
+
state: AppState;
|
|
75
|
+
}>;
|
|
76
|
+
export declare const doneTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
77
|
+
orderId: string;
|
|
78
|
+
ticketNo: number;
|
|
79
|
+
}, {
|
|
80
|
+
state: AppState;
|
|
81
|
+
}>;
|
|
82
|
+
export declare const completeTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
83
|
+
orderId: string;
|
|
84
|
+
ticketNo: number;
|
|
67
85
|
}, {
|
|
68
86
|
state: AppState;
|
|
69
87
|
}>;
|
package/dist/cjs/slices/kds.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
4
|
+
exports.selectKdsPrepStationOrders = exports.selectKdsFutureCount = exports.selectKdsFutureOrders = exports.selectKdsCurrentCount = exports.selectKdsCurrentOrders = exports.selectKdsOrders = exports.selectKdsOrder = exports.selectKdsBusinessDate = exports.selectKdsView = exports.selectKdsPageIndex = exports.selectKdsPage = exports.selectKdsSummary = exports.selectKdsFontSize = exports.selectKdsCardWidth = exports.selectKdsBoxes = exports.selectKdsColumns = exports.selectKdsOrderType = exports.selectKdsPrepStation = exports.selectKdsPrepStationId = exports.selectKdsPrepStations = exports.selectKdsItemTypes = exports.selectKds = exports.replaceKdsOrder = exports.setKdsOrder = exports.toggleKdsSummary = exports.setKdsSearch = exports.setKdsBusinessDate = exports.setKdsView = exports.setKdsPage = exports.setKdsFontSize = exports.setKdsCardWidth = exports.setKdsBoxes = exports.setKdsColumns = exports.setKdsOrderType = exports.setKdsPrepStationId = exports.setKdsPrepStations = exports.setKdsItemTypes = exports.resetkds = exports.kdsSlice = exports.completeTicket = exports.doneTicket = exports.resetTicket = exports.updateTicket = exports.printTicket = exports.resetTickets = exports.printTickets = exports.printKdsOrder = exports.updateKdsOrder = exports.fetchKdsOrders = exports.KdsActionType = void 0;
|
|
5
|
+
exports.kdsReducer = exports.selectKdsOrdersCounts = void 0;
|
|
5
6
|
var tslib_1 = require("tslib");
|
|
6
7
|
var toolkit_1 = require("@reduxjs/toolkit");
|
|
7
8
|
var types_1 = require("./types");
|
|
@@ -195,13 +196,14 @@ exports.updateTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicke
|
|
|
195
196
|
var orderId = _a.orderId, ticketNo = _a.ticketNo, status = _a.status;
|
|
196
197
|
var getState = _b.getState, dispatch = _b.dispatch;
|
|
197
198
|
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
198
|
-
var api, order, err_7, detail;
|
|
199
|
+
var api, data, order, err_7, detail;
|
|
199
200
|
return tslib_1.__generator(this, function (_c) {
|
|
200
201
|
switch (_c.label) {
|
|
201
202
|
case 0:
|
|
202
203
|
_c.trys.push([0, 2, , 3]);
|
|
203
204
|
api = getState().config.api;
|
|
204
|
-
|
|
205
|
+
data = status ? { ticket_status: status } : {};
|
|
206
|
+
return [4 /*yield*/, api.putTicketStatus(orderId, ticketNo, data)];
|
|
205
207
|
case 1:
|
|
206
208
|
order = _c.sent();
|
|
207
209
|
dispatch((0, exports.replaceKdsOrder)(order));
|
|
@@ -216,6 +218,81 @@ exports.updateTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicke
|
|
|
216
218
|
});
|
|
217
219
|
});
|
|
218
220
|
});
|
|
221
|
+
exports.resetTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicket, function (_a, _b) {
|
|
222
|
+
var orderId = _a.orderId, ticketNo = _a.ticketNo;
|
|
223
|
+
var getState = _b.getState, dispatch = _b.dispatch;
|
|
224
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
225
|
+
var api, order, err_8, detail;
|
|
226
|
+
return tslib_1.__generator(this, function (_c) {
|
|
227
|
+
switch (_c.label) {
|
|
228
|
+
case 0:
|
|
229
|
+
_c.trys.push([0, 2, , 3]);
|
|
230
|
+
api = getState().config.api;
|
|
231
|
+
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'reset')];
|
|
232
|
+
case 1:
|
|
233
|
+
order = _c.sent();
|
|
234
|
+
dispatch((0, exports.replaceKdsOrder)(order));
|
|
235
|
+
return [3 /*break*/, 3];
|
|
236
|
+
case 2:
|
|
237
|
+
err_8 = _c.sent();
|
|
238
|
+
detail = err_8.detail;
|
|
239
|
+
dispatch((0, alerts_1.addAlert)(detail));
|
|
240
|
+
return [3 /*break*/, 3];
|
|
241
|
+
case 3: return [2 /*return*/];
|
|
242
|
+
}
|
|
243
|
+
});
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
exports.doneTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicket, function (_a, _b) {
|
|
247
|
+
var orderId = _a.orderId, ticketNo = _a.ticketNo;
|
|
248
|
+
var getState = _b.getState, dispatch = _b.dispatch;
|
|
249
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
250
|
+
var api, order, err_9, detail;
|
|
251
|
+
return tslib_1.__generator(this, function (_c) {
|
|
252
|
+
switch (_c.label) {
|
|
253
|
+
case 0:
|
|
254
|
+
_c.trys.push([0, 2, , 3]);
|
|
255
|
+
api = getState().config.api;
|
|
256
|
+
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'done')];
|
|
257
|
+
case 1:
|
|
258
|
+
order = _c.sent();
|
|
259
|
+
dispatch((0, exports.replaceKdsOrder)(order));
|
|
260
|
+
return [3 /*break*/, 3];
|
|
261
|
+
case 2:
|
|
262
|
+
err_9 = _c.sent();
|
|
263
|
+
detail = err_9.detail;
|
|
264
|
+
dispatch((0, alerts_1.addAlert)(detail));
|
|
265
|
+
return [3 /*break*/, 3];
|
|
266
|
+
case 3: return [2 /*return*/];
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
});
|
|
271
|
+
exports.completeTicket = (0, toolkit_1.createAsyncThunk)(KdsActionType.UpdateTicket, function (_a, _b) {
|
|
272
|
+
var orderId = _a.orderId, ticketNo = _a.ticketNo;
|
|
273
|
+
var getState = _b.getState, dispatch = _b.dispatch;
|
|
274
|
+
return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
275
|
+
var api, order, err_10, detail;
|
|
276
|
+
return tslib_1.__generator(this, function (_c) {
|
|
277
|
+
switch (_c.label) {
|
|
278
|
+
case 0:
|
|
279
|
+
_c.trys.push([0, 2, , 3]);
|
|
280
|
+
api = getState().config.api;
|
|
281
|
+
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'complete')];
|
|
282
|
+
case 1:
|
|
283
|
+
order = _c.sent();
|
|
284
|
+
dispatch((0, exports.replaceKdsOrder)(order));
|
|
285
|
+
return [3 /*break*/, 3];
|
|
286
|
+
case 2:
|
|
287
|
+
err_10 = _c.sent();
|
|
288
|
+
detail = err_10.detail;
|
|
289
|
+
dispatch((0, alerts_1.addAlert)(detail));
|
|
290
|
+
return [3 /*break*/, 3];
|
|
291
|
+
case 3: return [2 /*return*/];
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
});
|
|
295
|
+
});
|
|
219
296
|
exports.kdsSlice = (0, toolkit_1.createSlice)({
|
|
220
297
|
name: types_1.ReducerType.Kds,
|
|
221
298
|
initialState: initialState,
|
|
@@ -355,6 +432,36 @@ exports.kdsSlice = (0, toolkit_1.createSlice)({
|
|
|
355
432
|
})
|
|
356
433
|
.addCase(exports.updateTicket.rejected, function (state) {
|
|
357
434
|
state.loading = 'idle';
|
|
435
|
+
})
|
|
436
|
+
.addCase(exports.resetTicket.fulfilled, function (state) {
|
|
437
|
+
state.loading = 'idle';
|
|
438
|
+
state.error = null;
|
|
439
|
+
})
|
|
440
|
+
.addCase(exports.resetTicket.pending, function (state) {
|
|
441
|
+
state.loading = 'pending';
|
|
442
|
+
})
|
|
443
|
+
.addCase(exports.resetTicket.rejected, function (state) {
|
|
444
|
+
state.loading = 'idle';
|
|
445
|
+
})
|
|
446
|
+
.addCase(exports.doneTicket.fulfilled, function (state) {
|
|
447
|
+
state.loading = 'idle';
|
|
448
|
+
state.error = null;
|
|
449
|
+
})
|
|
450
|
+
.addCase(exports.doneTicket.pending, function (state) {
|
|
451
|
+
state.loading = 'pending';
|
|
452
|
+
})
|
|
453
|
+
.addCase(exports.doneTicket.rejected, function (state) {
|
|
454
|
+
state.loading = 'idle';
|
|
455
|
+
})
|
|
456
|
+
.addCase(exports.completeTicket.fulfilled, function (state) {
|
|
457
|
+
state.loading = 'idle';
|
|
458
|
+
state.error = null;
|
|
459
|
+
})
|
|
460
|
+
.addCase(exports.completeTicket.pending, function (state) {
|
|
461
|
+
state.loading = 'pending';
|
|
462
|
+
})
|
|
463
|
+
.addCase(exports.completeTicket.rejected, function (state) {
|
|
464
|
+
state.loading = 'idle';
|
|
358
465
|
});
|
|
359
466
|
}
|
|
360
467
|
});
|
|
@@ -17,6 +17,8 @@ export interface PrepStation {
|
|
|
17
17
|
assembly_options: KdsAssemblyOptions;
|
|
18
18
|
show_print: boolean;
|
|
19
19
|
show_reset: boolean;
|
|
20
|
+
done_only: boolean;
|
|
21
|
+
require_complete: boolean;
|
|
20
22
|
}
|
|
21
23
|
export declare type PrepStations = PrepStation[];
|
|
22
24
|
export interface KdsTerminal {
|
package/dist/cjs/utils/orders.js
CHANGED
|
@@ -126,14 +126,16 @@ var filterOrdersByItemType = function (orders, itemTypeIds) {
|
|
|
126
126
|
};
|
|
127
127
|
exports.filterOrdersByItemType = filterOrdersByItemType;
|
|
128
128
|
var makeOrdersForPrepStation = function (orders, prepStation, orderType) {
|
|
129
|
-
var item_type_ids = prepStation.item_type_ids, prep_type = prepStation.prep_type;
|
|
129
|
+
var item_type_ids = prepStation.item_type_ids, prep_type = prepStation.prep_type, done_only = prepStation.done_only;
|
|
130
130
|
var ordersOfType = (0, exports.makeOrdersOfType)(orders, orderType);
|
|
131
131
|
if (orderType === 'COMPLETED') {
|
|
132
132
|
return (0, exports.filterOrdersByItemType)(ordersOfType, item_type_ids);
|
|
133
133
|
}
|
|
134
134
|
var filteredOrders = prep_type === 'ASSEMBLY'
|
|
135
135
|
? ordersOfType.filter(function (i) { return (0, exports.notDone)(i.prep_status); })
|
|
136
|
-
: ordersOfType.filter(function (i) {
|
|
136
|
+
: ordersOfType.filter(function (i) {
|
|
137
|
+
return done_only ? i.prep_status === 'DONE' : (0, exports.notCompleted)(i.prep_status);
|
|
138
|
+
});
|
|
137
139
|
var filtered = (0, exports.filterOrdersByItemType)(filteredOrders, item_type_ids);
|
|
138
140
|
return prep_type === 'EXPO'
|
|
139
141
|
? filtered
|
|
@@ -221,14 +223,24 @@ exports.makeKdsStationCount = makeKdsStationCount;
|
|
|
221
223
|
var makeKdsStationCounts = function (orders, prepStations) {
|
|
222
224
|
var _a = (0, exports.makeCurrentAndFutureOrders)(orders), currentOrders = _a.current, futureOrders = _a.future;
|
|
223
225
|
var currentAssembly = currentOrders.filter(function (i) { return (0, exports.notDone)(i.prep_status); });
|
|
224
|
-
var currentExpo = currentOrders.filter(function (i) { return i.prep_status === 'DONE'; });
|
|
225
226
|
var futureAssembly = futureOrders.filter(function (i) { return (0, exports.notDone)(i.prep_status); });
|
|
226
|
-
var
|
|
227
|
+
var currentExpoDone = currentOrders.filter(function (i) { return i.prep_status === 'DONE'; });
|
|
228
|
+
var currentExpo = currentOrders.filter(function (i) { return (0, exports.notCompleted)(i.prep_status); });
|
|
229
|
+
var futureExpoDone = futureOrders.filter(function (i) { return i.prep_status === 'DONE'; });
|
|
230
|
+
var futureExpo = futureOrders.filter(function (i) { return (0, exports.notCompleted)(i.prep_status); });
|
|
227
231
|
return prepStations.reduce(function (obj, i) {
|
|
228
232
|
var _a;
|
|
229
|
-
var currentFiltered = i.prep_type === 'ASSEMBLY'
|
|
233
|
+
var currentFiltered = i.prep_type === 'ASSEMBLY'
|
|
234
|
+
? currentAssembly
|
|
235
|
+
: i.done_only
|
|
236
|
+
? currentExpoDone
|
|
237
|
+
: currentExpo;
|
|
230
238
|
var current = (0, exports.makeKdsStationCount)(currentFiltered, i.item_type_ids);
|
|
231
|
-
var futureFiltered = i.prep_type === 'ASSEMBLY'
|
|
239
|
+
var futureFiltered = i.prep_type === 'ASSEMBLY'
|
|
240
|
+
? futureAssembly
|
|
241
|
+
: i.done_only
|
|
242
|
+
? futureExpoDone
|
|
243
|
+
: futureExpo;
|
|
232
244
|
var future = (0, exports.makeKdsStationCount)(futureFiltered, i.item_type_ids);
|
|
233
245
|
return tslib_1.__assign(tslib_1.__assign({}, obj), (_a = {}, _a[i.prep_station_id] = { CURRENT: current, FUTURE: future }, _a));
|
|
234
246
|
}, {});
|
|
@@ -62,6 +62,7 @@ declare class PosAPI {
|
|
|
62
62
|
postTicketsPrint(orderId: string, data?: OrderUpdate): Promise<Order | null | undefined>;
|
|
63
63
|
postTicketsReset(orderId: string): Promise<Order | null | undefined>;
|
|
64
64
|
postTicketPrint(orderId: string, ticketNo: number, data?: TicketUpdate): Promise<Order | null | undefined>;
|
|
65
|
+
putTicketStatus(orderId: string, ticketNo: number, data: TicketUpdate): Promise<Order | null | undefined>;
|
|
65
66
|
postTicketStatus(orderId: string, ticketNo: number, status: TicketStatusUpdate): Promise<Order | null | undefined>;
|
|
66
67
|
getArrivals(): Promise<Arrivals | null | undefined>;
|
|
67
68
|
postAcknowledgeArrival(orderId: string): Promise<Order | null | undefined>;
|
package/dist/esm/services/api.js
CHANGED
|
@@ -301,6 +301,10 @@ var PosAPI = /** @class */ (function () {
|
|
|
301
301
|
var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo, "/print");
|
|
302
302
|
return this.request(endpoint, 'POST', data);
|
|
303
303
|
};
|
|
304
|
+
PosAPI.prototype.putTicketStatus = function (orderId, ticketNo, data) {
|
|
305
|
+
var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo);
|
|
306
|
+
return this.request(endpoint, 'PUT', data);
|
|
307
|
+
};
|
|
304
308
|
PosAPI.prototype.postTicketStatus = function (orderId, ticketNo, status) {
|
|
305
309
|
var endpoint = "/orders/".concat(orderId, "/tickets/").concat(ticketNo, "/").concat(status);
|
|
306
310
|
return this.request(endpoint, 'POST', {});
|
package/dist/esm/slices/kds.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AppState } from '../app';
|
|
2
|
-
import { DateString, FetchOrdersArgs, ItemTypes, KdsFontSize, KdsOrderType, KdsStationCounts, KdsView, OrderCounts, OrderKds, OrdersAndStationCounts, OrdersKds, OrderUpdate, PrepStation, PrepStations, RequestError, RequestErrorAPI, RequestStatus, TicketStatus
|
|
2
|
+
import { DateString, FetchOrdersArgs, ItemTypes, KdsFontSize, KdsOrderType, KdsStationCounts, KdsView, OrderCounts, OrderKds, OrdersAndStationCounts, OrdersKds, OrderUpdate, PrepStation, PrepStations, RequestError, RequestErrorAPI, RequestStatus, TicketStatus } from '../types';
|
|
3
3
|
import { ReducerType } from './types';
|
|
4
4
|
export interface KdsState {
|
|
5
5
|
itemTypes: ItemTypes | null;
|
|
@@ -63,7 +63,25 @@ export declare const printTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
|
63
63
|
export declare const updateTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
64
64
|
orderId: string;
|
|
65
65
|
ticketNo: number;
|
|
66
|
-
status:
|
|
66
|
+
status: TicketStatus;
|
|
67
|
+
}, {
|
|
68
|
+
state: AppState;
|
|
69
|
+
}>;
|
|
70
|
+
export declare const resetTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
71
|
+
orderId: string;
|
|
72
|
+
ticketNo: number;
|
|
73
|
+
}, {
|
|
74
|
+
state: AppState;
|
|
75
|
+
}>;
|
|
76
|
+
export declare const doneTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
77
|
+
orderId: string;
|
|
78
|
+
ticketNo: number;
|
|
79
|
+
}, {
|
|
80
|
+
state: AppState;
|
|
81
|
+
}>;
|
|
82
|
+
export declare const completeTicket: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
83
|
+
orderId: string;
|
|
84
|
+
ticketNo: number;
|
|
67
85
|
}, {
|
|
68
86
|
state: AppState;
|
|
69
87
|
}>;
|
package/dist/esm/slices/kds.js
CHANGED
|
@@ -192,13 +192,14 @@ export var updateTicket = createAsyncThunk(KdsActionType.UpdateTicket, function
|
|
|
192
192
|
var orderId = _a.orderId, ticketNo = _a.ticketNo, status = _a.status;
|
|
193
193
|
var getState = _b.getState, dispatch = _b.dispatch;
|
|
194
194
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
195
|
-
var api, order, err_7, detail;
|
|
195
|
+
var api, data, order, err_7, detail;
|
|
196
196
|
return __generator(this, function (_c) {
|
|
197
197
|
switch (_c.label) {
|
|
198
198
|
case 0:
|
|
199
199
|
_c.trys.push([0, 2, , 3]);
|
|
200
200
|
api = getState().config.api;
|
|
201
|
-
|
|
201
|
+
data = status ? { ticket_status: status } : {};
|
|
202
|
+
return [4 /*yield*/, api.putTicketStatus(orderId, ticketNo, data)];
|
|
202
203
|
case 1:
|
|
203
204
|
order = _c.sent();
|
|
204
205
|
dispatch(replaceKdsOrder(order));
|
|
@@ -213,6 +214,81 @@ export var updateTicket = createAsyncThunk(KdsActionType.UpdateTicket, function
|
|
|
213
214
|
});
|
|
214
215
|
});
|
|
215
216
|
});
|
|
217
|
+
export var resetTicket = createAsyncThunk(KdsActionType.UpdateTicket, function (_a, _b) {
|
|
218
|
+
var orderId = _a.orderId, ticketNo = _a.ticketNo;
|
|
219
|
+
var getState = _b.getState, dispatch = _b.dispatch;
|
|
220
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
221
|
+
var api, order, err_8, detail;
|
|
222
|
+
return __generator(this, function (_c) {
|
|
223
|
+
switch (_c.label) {
|
|
224
|
+
case 0:
|
|
225
|
+
_c.trys.push([0, 2, , 3]);
|
|
226
|
+
api = getState().config.api;
|
|
227
|
+
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'reset')];
|
|
228
|
+
case 1:
|
|
229
|
+
order = _c.sent();
|
|
230
|
+
dispatch(replaceKdsOrder(order));
|
|
231
|
+
return [3 /*break*/, 3];
|
|
232
|
+
case 2:
|
|
233
|
+
err_8 = _c.sent();
|
|
234
|
+
detail = err_8.detail;
|
|
235
|
+
dispatch(addAlert(detail));
|
|
236
|
+
return [3 /*break*/, 3];
|
|
237
|
+
case 3: return [2 /*return*/];
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
export var doneTicket = createAsyncThunk(KdsActionType.UpdateTicket, function (_a, _b) {
|
|
243
|
+
var orderId = _a.orderId, ticketNo = _a.ticketNo;
|
|
244
|
+
var getState = _b.getState, dispatch = _b.dispatch;
|
|
245
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
246
|
+
var api, order, err_9, detail;
|
|
247
|
+
return __generator(this, function (_c) {
|
|
248
|
+
switch (_c.label) {
|
|
249
|
+
case 0:
|
|
250
|
+
_c.trys.push([0, 2, , 3]);
|
|
251
|
+
api = getState().config.api;
|
|
252
|
+
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'done')];
|
|
253
|
+
case 1:
|
|
254
|
+
order = _c.sent();
|
|
255
|
+
dispatch(replaceKdsOrder(order));
|
|
256
|
+
return [3 /*break*/, 3];
|
|
257
|
+
case 2:
|
|
258
|
+
err_9 = _c.sent();
|
|
259
|
+
detail = err_9.detail;
|
|
260
|
+
dispatch(addAlert(detail));
|
|
261
|
+
return [3 /*break*/, 3];
|
|
262
|
+
case 3: return [2 /*return*/];
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
export var completeTicket = createAsyncThunk(KdsActionType.UpdateTicket, function (_a, _b) {
|
|
268
|
+
var orderId = _a.orderId, ticketNo = _a.ticketNo;
|
|
269
|
+
var getState = _b.getState, dispatch = _b.dispatch;
|
|
270
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
271
|
+
var api, order, err_10, detail;
|
|
272
|
+
return __generator(this, function (_c) {
|
|
273
|
+
switch (_c.label) {
|
|
274
|
+
case 0:
|
|
275
|
+
_c.trys.push([0, 2, , 3]);
|
|
276
|
+
api = getState().config.api;
|
|
277
|
+
return [4 /*yield*/, api.postTicketStatus(orderId, ticketNo, 'complete')];
|
|
278
|
+
case 1:
|
|
279
|
+
order = _c.sent();
|
|
280
|
+
dispatch(replaceKdsOrder(order));
|
|
281
|
+
return [3 /*break*/, 3];
|
|
282
|
+
case 2:
|
|
283
|
+
err_10 = _c.sent();
|
|
284
|
+
detail = err_10.detail;
|
|
285
|
+
dispatch(addAlert(detail));
|
|
286
|
+
return [3 /*break*/, 3];
|
|
287
|
+
case 3: return [2 /*return*/];
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
});
|
|
291
|
+
});
|
|
216
292
|
export var kdsSlice = createSlice({
|
|
217
293
|
name: ReducerType.Kds,
|
|
218
294
|
initialState: initialState,
|
|
@@ -352,6 +428,36 @@ export var kdsSlice = createSlice({
|
|
|
352
428
|
})
|
|
353
429
|
.addCase(updateTicket.rejected, function (state) {
|
|
354
430
|
state.loading = 'idle';
|
|
431
|
+
})
|
|
432
|
+
.addCase(resetTicket.fulfilled, function (state) {
|
|
433
|
+
state.loading = 'idle';
|
|
434
|
+
state.error = null;
|
|
435
|
+
})
|
|
436
|
+
.addCase(resetTicket.pending, function (state) {
|
|
437
|
+
state.loading = 'pending';
|
|
438
|
+
})
|
|
439
|
+
.addCase(resetTicket.rejected, function (state) {
|
|
440
|
+
state.loading = 'idle';
|
|
441
|
+
})
|
|
442
|
+
.addCase(doneTicket.fulfilled, function (state) {
|
|
443
|
+
state.loading = 'idle';
|
|
444
|
+
state.error = null;
|
|
445
|
+
})
|
|
446
|
+
.addCase(doneTicket.pending, function (state) {
|
|
447
|
+
state.loading = 'pending';
|
|
448
|
+
})
|
|
449
|
+
.addCase(doneTicket.rejected, function (state) {
|
|
450
|
+
state.loading = 'idle';
|
|
451
|
+
})
|
|
452
|
+
.addCase(completeTicket.fulfilled, function (state) {
|
|
453
|
+
state.loading = 'idle';
|
|
454
|
+
state.error = null;
|
|
455
|
+
})
|
|
456
|
+
.addCase(completeTicket.pending, function (state) {
|
|
457
|
+
state.loading = 'pending';
|
|
458
|
+
})
|
|
459
|
+
.addCase(completeTicket.rejected, function (state) {
|
|
460
|
+
state.loading = 'idle';
|
|
355
461
|
});
|
|
356
462
|
}
|
|
357
463
|
});
|
|
@@ -17,6 +17,8 @@ export interface PrepStation {
|
|
|
17
17
|
assembly_options: KdsAssemblyOptions;
|
|
18
18
|
show_print: boolean;
|
|
19
19
|
show_reset: boolean;
|
|
20
|
+
done_only: boolean;
|
|
21
|
+
require_complete: boolean;
|
|
20
22
|
}
|
|
21
23
|
export declare type PrepStations = PrepStation[];
|
|
22
24
|
export interface KdsTerminal {
|
package/dist/esm/utils/orders.js
CHANGED
|
@@ -112,14 +112,16 @@ export var filterOrdersByItemType = function (orders, itemTypeIds) {
|
|
|
112
112
|
.filter(function (i) { return i.tickets.length; });
|
|
113
113
|
};
|
|
114
114
|
export var makeOrdersForPrepStation = function (orders, prepStation, orderType) {
|
|
115
|
-
var item_type_ids = prepStation.item_type_ids, prep_type = prepStation.prep_type;
|
|
115
|
+
var item_type_ids = prepStation.item_type_ids, prep_type = prepStation.prep_type, done_only = prepStation.done_only;
|
|
116
116
|
var ordersOfType = makeOrdersOfType(orders, orderType);
|
|
117
117
|
if (orderType === 'COMPLETED') {
|
|
118
118
|
return filterOrdersByItemType(ordersOfType, item_type_ids);
|
|
119
119
|
}
|
|
120
120
|
var filteredOrders = prep_type === 'ASSEMBLY'
|
|
121
121
|
? ordersOfType.filter(function (i) { return notDone(i.prep_status); })
|
|
122
|
-
: ordersOfType.filter(function (i) {
|
|
122
|
+
: ordersOfType.filter(function (i) {
|
|
123
|
+
return done_only ? i.prep_status === 'DONE' : notCompleted(i.prep_status);
|
|
124
|
+
});
|
|
123
125
|
var filtered = filterOrdersByItemType(filteredOrders, item_type_ids);
|
|
124
126
|
return prep_type === 'EXPO'
|
|
125
127
|
? filtered
|
|
@@ -203,14 +205,24 @@ export var makeKdsStationCount = function (orders, itemTypeIds) {
|
|
|
203
205
|
export var makeKdsStationCounts = function (orders, prepStations) {
|
|
204
206
|
var _a = makeCurrentAndFutureOrders(orders), currentOrders = _a.current, futureOrders = _a.future;
|
|
205
207
|
var currentAssembly = currentOrders.filter(function (i) { return notDone(i.prep_status); });
|
|
206
|
-
var currentExpo = currentOrders.filter(function (i) { return i.prep_status === 'DONE'; });
|
|
207
208
|
var futureAssembly = futureOrders.filter(function (i) { return notDone(i.prep_status); });
|
|
208
|
-
var
|
|
209
|
+
var currentExpoDone = currentOrders.filter(function (i) { return i.prep_status === 'DONE'; });
|
|
210
|
+
var currentExpo = currentOrders.filter(function (i) { return notCompleted(i.prep_status); });
|
|
211
|
+
var futureExpoDone = futureOrders.filter(function (i) { return i.prep_status === 'DONE'; });
|
|
212
|
+
var futureExpo = futureOrders.filter(function (i) { return notCompleted(i.prep_status); });
|
|
209
213
|
return prepStations.reduce(function (obj, i) {
|
|
210
214
|
var _a;
|
|
211
|
-
var currentFiltered = i.prep_type === 'ASSEMBLY'
|
|
215
|
+
var currentFiltered = i.prep_type === 'ASSEMBLY'
|
|
216
|
+
? currentAssembly
|
|
217
|
+
: i.done_only
|
|
218
|
+
? currentExpoDone
|
|
219
|
+
: currentExpo;
|
|
212
220
|
var current = makeKdsStationCount(currentFiltered, i.item_type_ids);
|
|
213
|
-
var futureFiltered = i.prep_type === 'ASSEMBLY'
|
|
221
|
+
var futureFiltered = i.prep_type === 'ASSEMBLY'
|
|
222
|
+
? futureAssembly
|
|
223
|
+
: i.done_only
|
|
224
|
+
? futureExpoDone
|
|
225
|
+
: futureExpo;
|
|
214
226
|
var future = makeKdsStationCount(futureFiltered, i.item_type_ids);
|
|
215
227
|
return __assign(__assign({}, obj), (_a = {}, _a[i.prep_station_id] = { CURRENT: current, FUTURE: future }, _a));
|
|
216
228
|
}, {});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-tender/store",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.20",
|
|
4
4
|
"description": "A library of hooks, reducers, utility functions, and types for use with Open Tender applications that utilize our in-store POS API",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|