@ricado/api-client 2.3.27 → 2.4.0
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/ricado.api.client.js +1 -1
- package/lib/Controllers/Lab/Site/DehydratorController.js +198 -0
- package/lib/Controllers/Lab/Site/FruitProfileController.js +204 -0
- package/lib/Controllers/Lab/Site/LabController.js +222 -0
- package/lib/Controllers/Lab/Site/RackController.js +222 -0
- package/lib/Controllers/Lab/Site/RackPositionController.js +207 -0
- package/lib/Controllers/Lab/Site/SampleController.js +927 -0
- package/lib/Controllers/Lab/Site/SampleFailureReasonController.js +192 -0
- package/lib/Controllers/Lab/Site/SampleResultController.js +905 -0
- package/lib/Controllers/Lab/Site/index.js +46 -0
- package/lib/Controllers/Lab/index.js +25 -0
- package/lib/Controllers/Packhouse/Site/CompacSizerController.js +2 -2
- package/lib/Controllers/Packhouse/Site/MAFSizerController.js +2 -2
- package/lib/Controllers/Packhouse/Site/ShiftController.js +304 -0
- package/lib/Controllers/index.js +9 -6
- package/lib/Models/Lab/Site/DehydratorModel.js +250 -0
- package/lib/Models/Lab/Site/FruitProfileModel.js +303 -0
- package/lib/Models/Lab/Site/LabModel.js +365 -0
- package/lib/Models/Lab/Site/RackModel.js +358 -0
- package/lib/Models/Lab/Site/RackPositionModel.js +525 -0
- package/lib/Models/Lab/Site/SampleFailureReasonModel.js +195 -0
- package/lib/Models/Lab/Site/SampleModel.js +545 -0
- package/lib/Models/Lab/Site/SampleResultModel.js +545 -0
- package/lib/Models/Lab/Site/index.js +46 -0
- package/lib/Models/Lab/index.js +25 -0
- package/lib/Models/Packhouse/Site/CompacSizerModel.js +18 -1
- package/lib/Models/Packhouse/Site/MAFSizerModel.js +18 -1
- package/lib/Models/index.js +7 -4
- package/lib/PackageVersion.js +1 -1
- package/lib/index.d.ts +10491 -7674
- package/package.json +1 -1
- package/src/Controllers/Lab/Site/DehydratorController.js +175 -0
- package/src/Controllers/Lab/Site/FruitProfileController.js +181 -0
- package/src/Controllers/Lab/Site/LabController.js +199 -0
- package/src/Controllers/Lab/Site/RackController.js +199 -0
- package/src/Controllers/Lab/Site/RackPositionController.js +184 -0
- package/src/Controllers/Lab/Site/SampleController.js +1067 -0
- package/src/Controllers/Lab/Site/SampleFailureReasonController.js +169 -0
- package/src/Controllers/Lab/Site/SampleResultController.js +1036 -0
- package/src/Controllers/Lab/Site/index.js +30 -0
- package/src/Controllers/Lab/index.js +16 -0
- package/src/Controllers/Packhouse/Site/CompacSizerController.js +2 -2
- package/src/Controllers/Packhouse/Site/MAFSizerController.js +2 -2
- package/src/Controllers/Packhouse/Site/ShiftController.js +367 -0
- package/src/Controllers/index.js +2 -0
- package/src/Models/Lab/Site/DehydratorModel.js +234 -0
- package/src/Models/Lab/Site/FruitProfileModel.js +290 -0
- package/src/Models/Lab/Site/LabModel.js +372 -0
- package/src/Models/Lab/Site/RackModel.js +358 -0
- package/src/Models/Lab/Site/RackPositionModel.js +600 -0
- package/src/Models/Lab/Site/SampleFailureReasonModel.js +170 -0
- package/src/Models/Lab/Site/SampleModel.js +565 -0
- package/src/Models/Lab/Site/SampleResultModel.js +565 -0
- package/src/Models/Lab/Site/index.js +30 -0
- package/src/Models/Lab/index.js +16 -0
- package/src/Models/Packhouse/Site/CompacSizerModel.js +24 -1
- package/src/Models/Packhouse/Site/MAFSizerModel.js +24 -1
- package/src/Models/index.js +2 -0
- package/src/PackageVersion.js +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Auto-Generated by the RICADO Gen 4 PHP API Project
|
|
3
|
+
*
|
|
4
|
+
* Do Not Edit this File Manually!
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @namespace Controllers.Lab.Site
|
|
9
|
+
*/
|
|
10
|
+
import DehydratorController from './DehydratorController';
|
|
11
|
+
import FruitProfileController from './FruitProfileController';
|
|
12
|
+
import LabController from './LabController';
|
|
13
|
+
import RackController from './RackController';
|
|
14
|
+
import RackPositionController from './RackPositionController';
|
|
15
|
+
import SampleController from './SampleController';
|
|
16
|
+
import SampleFailureReasonController from './SampleFailureReasonController';
|
|
17
|
+
import SampleResultController from './SampleResultController';
|
|
18
|
+
|
|
19
|
+
const Site = {
|
|
20
|
+
DehydratorController,
|
|
21
|
+
FruitProfileController,
|
|
22
|
+
LabController,
|
|
23
|
+
RackController,
|
|
24
|
+
RackPositionController,
|
|
25
|
+
SampleController,
|
|
26
|
+
SampleFailureReasonController,
|
|
27
|
+
SampleResultController,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export default Site;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Auto-Generated by the RICADO Gen 4 PHP API Project
|
|
3
|
+
*
|
|
4
|
+
* Do Not Edit this File Manually!
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @namespace Controllers.Lab
|
|
9
|
+
*/
|
|
10
|
+
import Site from './Site/index';
|
|
11
|
+
|
|
12
|
+
const Lab = {
|
|
13
|
+
Site,
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default Lab;
|
|
@@ -163,7 +163,7 @@ export default CompacSizerController;
|
|
|
163
163
|
* @property {string} packingLineId The Packing Line ID that manages this Compac Sizer
|
|
164
164
|
* @property {string} sizerType The Sizer Type
|
|
165
165
|
* @property {number} [autoCreateBatchDelay] The Auto Create Batch Delay in Seconds for this Compac Sizer
|
|
166
|
-
* @property {{currentBatchId: number, currentBatchName: number, currentBatchGrowerCode: number, currentBatchVarietyId: number, currentBatchVarietyName: number, currentBatchComments: number, currentBatchStartTimestamp: number, currentBatchLayoutId: number, currentBatchLayoutName: number, currentBatchSizingProfileName: ?number, currentBatchFruitSizeProfile: ?number, machineAverageFruitWeight: number, machineAverageFruitSize: number, machineCupFill: number, machineRecycledFruitPerMinute: number, machineTotalFruitPerMinute: number, machineDroppedFruitPerMinute: number, machinePackedFruitPerMinute: number, machineMissedFruitPerMinute: number, machineRejectFruitPerMinute: number, machineTraysPerHour: number, machineTraysPerHourTarget: ?number, machineTonnesPerHour: number, machineRodsPerMinute: number, machineIncomingFruitPerMinuteBySize: ?number, machineRecycleFruitPerMinuteBySize: ?number, machineLanesFruitPerMinuteBySize: ?number, machineLanesFruitPerMinuteByGrade: ?number, createNewBatchRequest: number, createBatchOnPackrunChange: number, createBatchOnTimeBatchChange: number, restartServiceRequest: number, outletGroupSummaries: number, varieties: number, packTypeOutletUtilizationTargets: number}} points The Points used by this Compac Sizer
|
|
166
|
+
* @property {{currentBatchId: number, currentBatchName: number, currentBatchGrowerCode: number, currentBatchVarietyId: number, currentBatchVarietyName: number, currentBatchComments: number, currentBatchStartTimestamp: number, currentBatchLayoutId: number, currentBatchLayoutName: number, currentBatchSizingProfileName: ?number, currentBatchFruitSizeProfile: ?number, machineAverageFruitWeight: number, machineAverageFruitSize: number, machineCupFill: number, machineRecycledFruitPerMinute: number, machineTotalFruitPerMinute: number, machineDroppedFruitPerMinute: number, machinePackedFruitPerMinute: number, machineMissedFruitPerMinute: number, machineRejectFruitPerMinute: number, machineTraysPerHour: number, machineTraysPerHourTarget: ?number, machineTonnesPerHour: number, machineRodsPerMinute: number, machineIncomingFruitPerMinuteBySize: ?number, machineRecycleFruitPerMinuteBySize: ?number, machineLanesFruitPerMinuteBySize: ?number, machineLanesFruitPerMinuteByGrade: ?number, createNewBatchRequest: number, createBatchOnPackrunChange: number, createBatchOnTimeBatchChange: number, restartServiceRequest: number, outletGroupSummaries: number, varieties: number, packTypeOutletUtilizationTargets: number, class1TraysPerHour: ?number}} points The Points used by this Compac Sizer
|
|
167
167
|
* @property {Array<CompacSizerController.CompacSizerLane>} [lanes] The Lanes defined for this Compac Sizer
|
|
168
168
|
* @property {Array<CompacSizerController.CompacSizerFrame>} [frames] An Optional Array of Frames defined for this Compac Sizer
|
|
169
169
|
* @property {Array<CompacSizerController.CompacSizerOutlet>} [outlets] The Outlets defined for this Compac Sizer
|
|
@@ -181,7 +181,7 @@ export default CompacSizerController;
|
|
|
181
181
|
* @property {string} [packingLineId] The Packing Line ID that manages this Compac Sizer
|
|
182
182
|
* @property {string} [sizerType] The Sizer Type
|
|
183
183
|
* @property {number} [autoCreateBatchDelay] The Auto Create Batch Delay in Seconds for this Compac Sizer
|
|
184
|
-
* @property {{currentBatchId: number, currentBatchName: number, currentBatchGrowerCode: number, currentBatchVarietyId: number, currentBatchVarietyName: number, currentBatchComments: number, currentBatchStartTimestamp: number, currentBatchLayoutId: number, currentBatchLayoutName: number, currentBatchSizingProfileName: ?number, currentBatchFruitSizeProfile: ?number, machineAverageFruitWeight: number, machineAverageFruitSize: number, machineCupFill: number, machineRecycledFruitPerMinute: number, machineTotalFruitPerMinute: number, machineDroppedFruitPerMinute: number, machinePackedFruitPerMinute: number, machineMissedFruitPerMinute: number, machineRejectFruitPerMinute: number, machineTraysPerHour: number, machineTraysPerHourTarget: ?number, machineTonnesPerHour: number, machineRodsPerMinute: number, machineIncomingFruitPerMinuteBySize: ?number, machineRecycleFruitPerMinuteBySize: ?number, machineLanesFruitPerMinuteBySize: ?number, machineLanesFruitPerMinuteByGrade: ?number, createNewBatchRequest: number, createBatchOnPackrunChange: number, createBatchOnTimeBatchChange: number, restartServiceRequest: number, outletGroupSummaries: number, varieties: number, packTypeOutletUtilizationTargets: number}} [points] The Points used by this Compac Sizer
|
|
184
|
+
* @property {{currentBatchId: number, currentBatchName: number, currentBatchGrowerCode: number, currentBatchVarietyId: number, currentBatchVarietyName: number, currentBatchComments: number, currentBatchStartTimestamp: number, currentBatchLayoutId: number, currentBatchLayoutName: number, currentBatchSizingProfileName: ?number, currentBatchFruitSizeProfile: ?number, machineAverageFruitWeight: number, machineAverageFruitSize: number, machineCupFill: number, machineRecycledFruitPerMinute: number, machineTotalFruitPerMinute: number, machineDroppedFruitPerMinute: number, machinePackedFruitPerMinute: number, machineMissedFruitPerMinute: number, machineRejectFruitPerMinute: number, machineTraysPerHour: number, machineTraysPerHourTarget: ?number, machineTonnesPerHour: number, machineRodsPerMinute: number, machineIncomingFruitPerMinuteBySize: ?number, machineRecycleFruitPerMinuteBySize: ?number, machineLanesFruitPerMinuteBySize: ?number, machineLanesFruitPerMinuteByGrade: ?number, createNewBatchRequest: number, createBatchOnPackrunChange: number, createBatchOnTimeBatchChange: number, restartServiceRequest: number, outletGroupSummaries: number, varieties: number, packTypeOutletUtilizationTargets: number, class1TraysPerHour: ?number}} [points] The Points used by this Compac Sizer
|
|
185
185
|
* @property {Array<CompacSizerController.CompacSizerLane>} [lanes] The Lanes defined for this Compac Sizer
|
|
186
186
|
* @property {Array<CompacSizerController.CompacSizerFrame>} [frames] An Optional Array of Frames defined for this Compac Sizer
|
|
187
187
|
* @property {Array<CompacSizerController.CompacSizerOutlet>} [outlets] The Outlets defined for this Compac Sizer
|
|
@@ -163,7 +163,7 @@ export default MAFSizerController;
|
|
|
163
163
|
* @property {string} packingLineId The Packing Line ID that manages this MAF Sizer
|
|
164
164
|
* @property {string} sizerType The Sizer Type
|
|
165
165
|
* @property {number} [autoCreateBatchDelay] The Auto Create Batch Delay in Seconds for this MAF Sizer
|
|
166
|
-
* @property {{currentBatchId: number, currentBatchName: number, currentBatchGrowerCode: number, currentBatchGrowerName: number, currentBatchVarietyCode: number, currentBatchVarietyName: number, machineAverageFruitWeight: number, machineAverageFruitSize: number, machineCupFill: number, machineRecycledFruitPerMinute: number, machineTotalFruitPerMinute: number, machineTraysPerHour: number, machineTonnesPerHour: number, machineRodsPerMinute: number, outletGroupSummaries: number, packTypeOutletUtilizationTargets: number}} points The Points used by this MAF Sizer
|
|
166
|
+
* @property {{currentBatchId: number, currentBatchName: number, currentBatchGrowerCode: number, currentBatchGrowerName: number, currentBatchVarietyCode: number, currentBatchVarietyName: number, machineAverageFruitWeight: number, machineAverageFruitSize: number, machineCupFill: number, machineRecycledFruitPerMinute: number, machineTotalFruitPerMinute: number, machineTraysPerHour: number, machineTonnesPerHour: number, machineRodsPerMinute: number, outletGroupSummaries: number, packTypeOutletUtilizationTargets: number, class1TraysPerHour: ?number}} points The Points used by this MAF Sizer
|
|
167
167
|
* @property {Array<MAFSizerController.MAFSizerLane>} [lanes] The Lanes defined for this MAF Sizer
|
|
168
168
|
* @property {Array<MAFSizerController.MAFSizerOutlet>} [outlets] The Outlets defined for this MAF Sizer
|
|
169
169
|
* @property {Array<MAFSizerController.MAFSizerFruitSize>} [fruitSizes] The Fruit Sizes defined and handled by this MAF Sizer
|
|
@@ -182,7 +182,7 @@ export default MAFSizerController;
|
|
|
182
182
|
* @property {string} [packingLineId] The Packing Line ID that manages this MAF Sizer
|
|
183
183
|
* @property {string} [sizerType] The Sizer Type
|
|
184
184
|
* @property {number} [autoCreateBatchDelay] The Auto Create Batch Delay in Seconds for this MAF Sizer
|
|
185
|
-
* @property {{currentBatchId: number, currentBatchName: number, currentBatchGrowerCode: number, currentBatchGrowerName: number, currentBatchVarietyCode: number, currentBatchVarietyName: number, machineAverageFruitWeight: number, machineAverageFruitSize: number, machineCupFill: number, machineRecycledFruitPerMinute: number, machineTotalFruitPerMinute: number, machineTraysPerHour: number, machineTonnesPerHour: number, machineRodsPerMinute: number, outletGroupSummaries: number, packTypeOutletUtilizationTargets: number}} [points] The Points used by this MAF Sizer
|
|
185
|
+
* @property {{currentBatchId: number, currentBatchName: number, currentBatchGrowerCode: number, currentBatchGrowerName: number, currentBatchVarietyCode: number, currentBatchVarietyName: number, machineAverageFruitWeight: number, machineAverageFruitSize: number, machineCupFill: number, machineRecycledFruitPerMinute: number, machineTotalFruitPerMinute: number, machineTraysPerHour: number, machineTonnesPerHour: number, machineRodsPerMinute: number, outletGroupSummaries: number, packTypeOutletUtilizationTargets: number, class1TraysPerHour: ?number}} [points] The Points used by this MAF Sizer
|
|
186
186
|
* @property {Array<MAFSizerController.MAFSizerLane>} [lanes] The Lanes defined for this MAF Sizer
|
|
187
187
|
* @property {Array<MAFSizerController.MAFSizerOutlet>} [outlets] The Outlets defined for this MAF Sizer
|
|
188
188
|
* @property {Array<MAFSizerController.MAFSizerFruitSize>} [fruitSizes] The Fruit Sizes defined and handled by this MAF Sizer
|
|
@@ -913,6 +913,337 @@ class ShiftController
|
|
|
913
913
|
});
|
|
914
914
|
}
|
|
915
915
|
|
|
916
|
+
/**
|
|
917
|
+
* Retrieve a Shift's Score History [GET /packhouse/sites/{siteId}/shifts/{id}/scoreHistory]
|
|
918
|
+
*
|
|
919
|
+
* Retrieves the Score History for a Shift
|
|
920
|
+
*
|
|
921
|
+
* @static
|
|
922
|
+
* @public
|
|
923
|
+
* @param {number} siteId The Site ID
|
|
924
|
+
* @param {string} id The Shift ID
|
|
925
|
+
* @return {Promise<Array<ShiftController.ScoreHistoryItem>>}
|
|
926
|
+
*/
|
|
927
|
+
static getScoreHistory(siteId, id)
|
|
928
|
+
{
|
|
929
|
+
return new Promise((resolve, reject) => {
|
|
930
|
+
RequestHelper.getRequest(`/packhouse/sites/${siteId}/shifts/${id}/scoreHistory`)
|
|
931
|
+
.then((result) => {
|
|
932
|
+
let resolveValue = (function(){
|
|
933
|
+
if(Array.isArray(result) !== true)
|
|
934
|
+
{
|
|
935
|
+
return [];
|
|
936
|
+
}
|
|
937
|
+
|
|
938
|
+
return result.map((resultItem) => {
|
|
939
|
+
return (function(){
|
|
940
|
+
let resultItemObject = {};
|
|
941
|
+
|
|
942
|
+
if(typeof resultItem === 'object' && 'timestamp' in resultItem)
|
|
943
|
+
{
|
|
944
|
+
resultItemObject.timestamp = (function(){
|
|
945
|
+
if(typeof resultItem.timestamp !== 'string')
|
|
946
|
+
{
|
|
947
|
+
return new Date(String(resultItem.timestamp));
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
return new Date(resultItem.timestamp);
|
|
951
|
+
}());
|
|
952
|
+
}
|
|
953
|
+
else
|
|
954
|
+
{
|
|
955
|
+
resultItemObject.timestamp = new Date();
|
|
956
|
+
}
|
|
957
|
+
|
|
958
|
+
if(typeof resultItem === 'object' && 'score' in resultItem)
|
|
959
|
+
{
|
|
960
|
+
resultItemObject.score = (function(){
|
|
961
|
+
if(typeof resultItem.score !== 'number')
|
|
962
|
+
{
|
|
963
|
+
return Number(resultItem.score);
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
return resultItem.score;
|
|
967
|
+
}());
|
|
968
|
+
}
|
|
969
|
+
else
|
|
970
|
+
{
|
|
971
|
+
resultItemObject.score = 0;
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
return resultItemObject;
|
|
975
|
+
}());
|
|
976
|
+
});
|
|
977
|
+
}());
|
|
978
|
+
|
|
979
|
+
resolve(resolveValue);
|
|
980
|
+
})
|
|
981
|
+
.catch(error => reject(error));
|
|
982
|
+
});
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
/**
|
|
986
|
+
* Retrieve a Shift Score Metrics [GET /packhouse/sites/{siteId}/shifts/{id}/scoreMetrics]
|
|
987
|
+
*
|
|
988
|
+
* Retrieves the Score Metrics for a Shift
|
|
989
|
+
*
|
|
990
|
+
* @static
|
|
991
|
+
* @public
|
|
992
|
+
* @param {number} siteId The Site ID
|
|
993
|
+
* @param {string} id The Shift ID
|
|
994
|
+
* @return {Promise<ShiftController.ShiftScoreMetrics>}
|
|
995
|
+
*/
|
|
996
|
+
static getScoreMetrics(siteId, id)
|
|
997
|
+
{
|
|
998
|
+
return new Promise((resolve, reject) => {
|
|
999
|
+
RequestHelper.getRequest(`/packhouse/sites/${siteId}/shifts/${id}/scoreMetrics`)
|
|
1000
|
+
.then((result) => {
|
|
1001
|
+
let resolveValue = (function(){
|
|
1002
|
+
let resultObject = {};
|
|
1003
|
+
|
|
1004
|
+
if(typeof result === 'object' && 'scoreActual' in result)
|
|
1005
|
+
{
|
|
1006
|
+
resultObject.scoreActual = (function(){
|
|
1007
|
+
if(typeof result.scoreActual !== 'number')
|
|
1008
|
+
{
|
|
1009
|
+
return Number(result.scoreActual);
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
return result.scoreActual;
|
|
1013
|
+
}());
|
|
1014
|
+
}
|
|
1015
|
+
else
|
|
1016
|
+
{
|
|
1017
|
+
resultObject.scoreActual = 0;
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
if(typeof result === 'object' && 'traysPerHourActual' in result)
|
|
1021
|
+
{
|
|
1022
|
+
resultObject.traysPerHourActual = (function(){
|
|
1023
|
+
if(typeof result.traysPerHourActual !== 'number')
|
|
1024
|
+
{
|
|
1025
|
+
return Number.isInteger(Number(result.traysPerHourActual)) ? Number(result.traysPerHourActual) : Math.floor(Number(result.traysPerHourActual));
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
return Number.isInteger(result.traysPerHourActual) ? result.traysPerHourActual : Math.floor(result.traysPerHourActual);
|
|
1029
|
+
}());
|
|
1030
|
+
}
|
|
1031
|
+
else
|
|
1032
|
+
{
|
|
1033
|
+
resultObject.traysPerHourActual = 0;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
if(typeof result === 'object' && 'traysPerHourTarget' in result)
|
|
1037
|
+
{
|
|
1038
|
+
resultObject.traysPerHourTarget = (function(){
|
|
1039
|
+
if(result.traysPerHourTarget === null)
|
|
1040
|
+
{
|
|
1041
|
+
return null;
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
if(typeof result.traysPerHourTarget !== 'number')
|
|
1045
|
+
{
|
|
1046
|
+
return Number.isInteger(Number(result.traysPerHourTarget)) ? Number(result.traysPerHourTarget) : Math.floor(Number(result.traysPerHourTarget));
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
return Number.isInteger(result.traysPerHourTarget) ? result.traysPerHourTarget : Math.floor(result.traysPerHourTarget);
|
|
1050
|
+
}());
|
|
1051
|
+
}
|
|
1052
|
+
else
|
|
1053
|
+
{
|
|
1054
|
+
resultObject.traysPerHourTarget = null;
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
if(typeof result === 'object' && 'costPerTrayActual' in result)
|
|
1058
|
+
{
|
|
1059
|
+
resultObject.costPerTrayActual = (function(){
|
|
1060
|
+
if(typeof result.costPerTrayActual !== 'number')
|
|
1061
|
+
{
|
|
1062
|
+
return Number(result.costPerTrayActual);
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
return result.costPerTrayActual;
|
|
1066
|
+
}());
|
|
1067
|
+
}
|
|
1068
|
+
else
|
|
1069
|
+
{
|
|
1070
|
+
resultObject.costPerTrayActual = 0;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
if(typeof result === 'object' && 'costPerTrayTarget' in result)
|
|
1074
|
+
{
|
|
1075
|
+
resultObject.costPerTrayTarget = (function(){
|
|
1076
|
+
if(result.costPerTrayTarget === null)
|
|
1077
|
+
{
|
|
1078
|
+
return null;
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
if(typeof result.costPerTrayTarget !== 'number')
|
|
1082
|
+
{
|
|
1083
|
+
return Number(result.costPerTrayTarget);
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
return result.costPerTrayTarget;
|
|
1087
|
+
}());
|
|
1088
|
+
}
|
|
1089
|
+
else
|
|
1090
|
+
{
|
|
1091
|
+
resultObject.costPerTrayTarget = null;
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
if(typeof result === 'object' && 'qualityR600IdealActual' in result)
|
|
1095
|
+
{
|
|
1096
|
+
resultObject.qualityR600IdealActual = (function(){
|
|
1097
|
+
if(typeof result.qualityR600IdealActual !== 'number')
|
|
1098
|
+
{
|
|
1099
|
+
return Number(result.qualityR600IdealActual);
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
return result.qualityR600IdealActual;
|
|
1103
|
+
}());
|
|
1104
|
+
}
|
|
1105
|
+
else
|
|
1106
|
+
{
|
|
1107
|
+
resultObject.qualityR600IdealActual = 0;
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
if(typeof result === 'object' && 'qualityR600IdealTarget' in result)
|
|
1111
|
+
{
|
|
1112
|
+
resultObject.qualityR600IdealTarget = (function(){
|
|
1113
|
+
if(result.qualityR600IdealTarget === null)
|
|
1114
|
+
{
|
|
1115
|
+
return null;
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
if(typeof result.qualityR600IdealTarget !== 'number')
|
|
1119
|
+
{
|
|
1120
|
+
return Number(result.qualityR600IdealTarget);
|
|
1121
|
+
}
|
|
1122
|
+
|
|
1123
|
+
return result.qualityR600IdealTarget;
|
|
1124
|
+
}());
|
|
1125
|
+
}
|
|
1126
|
+
else
|
|
1127
|
+
{
|
|
1128
|
+
resultObject.qualityR600IdealTarget = null;
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
if(typeof result === 'object' && 'customQualityMetrics' in result)
|
|
1132
|
+
{
|
|
1133
|
+
resultObject.customQualityMetrics = (function(){
|
|
1134
|
+
if(Array.isArray(result.customQualityMetrics) !== true)
|
|
1135
|
+
{
|
|
1136
|
+
return [];
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
return result.customQualityMetrics.map((customQualityMetricsItem) => {
|
|
1140
|
+
return (function(){
|
|
1141
|
+
let customQualityMetricsItemObject = {};
|
|
1142
|
+
|
|
1143
|
+
if(typeof customQualityMetricsItem === 'object' && 'id' in customQualityMetricsItem)
|
|
1144
|
+
{
|
|
1145
|
+
customQualityMetricsItemObject.id = (function(){
|
|
1146
|
+
if(typeof customQualityMetricsItem.id !== 'string')
|
|
1147
|
+
{
|
|
1148
|
+
return String(customQualityMetricsItem.id);
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
return customQualityMetricsItem.id;
|
|
1152
|
+
}());
|
|
1153
|
+
}
|
|
1154
|
+
else
|
|
1155
|
+
{
|
|
1156
|
+
customQualityMetricsItemObject.id = "";
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
if(typeof customQualityMetricsItem === 'object' && 'name' in customQualityMetricsItem)
|
|
1160
|
+
{
|
|
1161
|
+
customQualityMetricsItemObject.name = (function(){
|
|
1162
|
+
if(typeof customQualityMetricsItem.name !== 'string')
|
|
1163
|
+
{
|
|
1164
|
+
return String(customQualityMetricsItem.name);
|
|
1165
|
+
}
|
|
1166
|
+
|
|
1167
|
+
return customQualityMetricsItem.name;
|
|
1168
|
+
}());
|
|
1169
|
+
}
|
|
1170
|
+
else
|
|
1171
|
+
{
|
|
1172
|
+
customQualityMetricsItemObject.name = "";
|
|
1173
|
+
}
|
|
1174
|
+
|
|
1175
|
+
if(typeof customQualityMetricsItem === 'object' && 'type' in customQualityMetricsItem)
|
|
1176
|
+
{
|
|
1177
|
+
customQualityMetricsItemObject.type = (function(){
|
|
1178
|
+
if(typeof customQualityMetricsItem.type !== 'string')
|
|
1179
|
+
{
|
|
1180
|
+
return String(customQualityMetricsItem.type);
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
return customQualityMetricsItem.type;
|
|
1184
|
+
}());
|
|
1185
|
+
}
|
|
1186
|
+
else
|
|
1187
|
+
{
|
|
1188
|
+
customQualityMetricsItemObject.type = "";
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
if(typeof customQualityMetricsItem === 'object' && 'value' in customQualityMetricsItem)
|
|
1192
|
+
{
|
|
1193
|
+
customQualityMetricsItemObject.value = (function(){
|
|
1194
|
+
if(typeof customQualityMetricsItem.value !== 'number')
|
|
1195
|
+
{
|
|
1196
|
+
return Number(customQualityMetricsItem.value);
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
return customQualityMetricsItem.value;
|
|
1200
|
+
}());
|
|
1201
|
+
}
|
|
1202
|
+
else
|
|
1203
|
+
{
|
|
1204
|
+
customQualityMetricsItemObject.value = 0;
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
if(typeof customQualityMetricsItem === 'object' && 'target' in customQualityMetricsItem)
|
|
1208
|
+
{
|
|
1209
|
+
customQualityMetricsItemObject.target = (function(){
|
|
1210
|
+
if(customQualityMetricsItem.target === null)
|
|
1211
|
+
{
|
|
1212
|
+
return null;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
if(typeof customQualityMetricsItem.target !== 'number')
|
|
1216
|
+
{
|
|
1217
|
+
return Number(customQualityMetricsItem.target);
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
return customQualityMetricsItem.target;
|
|
1221
|
+
}());
|
|
1222
|
+
}
|
|
1223
|
+
else
|
|
1224
|
+
{
|
|
1225
|
+
customQualityMetricsItemObject.target = null;
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
return customQualityMetricsItemObject;
|
|
1229
|
+
}());
|
|
1230
|
+
});
|
|
1231
|
+
}());
|
|
1232
|
+
}
|
|
1233
|
+
else
|
|
1234
|
+
{
|
|
1235
|
+
resultObject.customQualityMetrics = [];
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
return resultObject;
|
|
1239
|
+
}());
|
|
1240
|
+
|
|
1241
|
+
resolve(resolveValue);
|
|
1242
|
+
})
|
|
1243
|
+
.catch(error => reject(error));
|
|
1244
|
+
});
|
|
1245
|
+
}
|
|
1246
|
+
|
|
916
1247
|
/**
|
|
917
1248
|
* List all Shifts [GET /packhouse/sites/{siteId}/shifts]
|
|
918
1249
|
*
|
|
@@ -1061,6 +1392,42 @@ export default ShiftController;
|
|
|
1061
1392
|
* @memberof Controllers.Packhouse.Site
|
|
1062
1393
|
*/
|
|
1063
1394
|
|
|
1395
|
+
/**
|
|
1396
|
+
* A **ScoreHistoryItem** Type
|
|
1397
|
+
*
|
|
1398
|
+
* @typedef {Object} ShiftController.ScoreHistoryItem
|
|
1399
|
+
* @property {Date} timestamp The Timestamp for the Score Percentage Value
|
|
1400
|
+
* @property {number} score The Score Value as a Percentage
|
|
1401
|
+
* @memberof Controllers.Packhouse.Site
|
|
1402
|
+
*/
|
|
1403
|
+
|
|
1404
|
+
/**
|
|
1405
|
+
* A **CustomQualityMetricItem** Type
|
|
1406
|
+
*
|
|
1407
|
+
* @typedef {Object} ShiftController.CustomQualityMetricItem
|
|
1408
|
+
* @property {string} id The ID of this Custom Quality Metric Item
|
|
1409
|
+
* @property {string} name The Name of this Custom Quality Metric Item
|
|
1410
|
+
* @property {string} type The Display Type for this Custom Quality Metric Item
|
|
1411
|
+
* @property {number} value The Actual Value for this Custom Quality Metric Item
|
|
1412
|
+
* @property {?number} target The Target Value for this Custom Quality Metric Item
|
|
1413
|
+
* @memberof Controllers.Packhouse.Site
|
|
1414
|
+
*/
|
|
1415
|
+
|
|
1416
|
+
/**
|
|
1417
|
+
* A **ShiftScoreMetrics** Type
|
|
1418
|
+
*
|
|
1419
|
+
* @typedef {Object} ShiftController.ShiftScoreMetrics
|
|
1420
|
+
* @property {number} scoreActual The Actual Score represented as a Percentage
|
|
1421
|
+
* @property {number} traysPerHourActual The Actual Tray Equivalents per Hour
|
|
1422
|
+
* @property {?number} traysPerHourTarget The Target Tray Equivalents per Hour
|
|
1423
|
+
* @property {number} costPerTrayActual The Actual Cost per Tray Equivalent represented in cents
|
|
1424
|
+
* @property {?number} costPerTrayTarget The Target Cost per Tray Equivalent represented in cents
|
|
1425
|
+
* @property {number} qualityR600IdealActual The Actual Quality R600 Ideal Samples represented as a Percentage
|
|
1426
|
+
* @property {?number} qualityR600IdealTarget The Target Quality R600 Ideal Samples represented as a Percentage
|
|
1427
|
+
* @property {Array<ShiftController.CustomQualityMetricItem>} customQualityMetrics An Array of Custom Quality Metric Items for the Shift
|
|
1428
|
+
* @memberof Controllers.Packhouse.Site
|
|
1429
|
+
*/
|
|
1430
|
+
|
|
1064
1431
|
/**
|
|
1065
1432
|
* A **ShiftHandoverNote** Type
|
|
1066
1433
|
*
|
package/src/Controllers/index.js
CHANGED
|
@@ -18,6 +18,7 @@ import TokenController from './TokenController';
|
|
|
18
18
|
import ToolsController from './ToolsController';
|
|
19
19
|
import UserAccountActionTokenController from './UserAccountActionTokenController';
|
|
20
20
|
import UserAccountController from './UserAccountController';
|
|
21
|
+
import Lab from './Lab/index';
|
|
21
22
|
import Packhouse from './Packhouse/index';
|
|
22
23
|
import RTU from './RTU/index';
|
|
23
24
|
import Site from './Site/index';
|
|
@@ -34,6 +35,7 @@ const Controllers = {
|
|
|
34
35
|
ToolsController,
|
|
35
36
|
UserAccountActionTokenController,
|
|
36
37
|
UserAccountController,
|
|
38
|
+
Lab,
|
|
37
39
|
Packhouse,
|
|
38
40
|
RTU,
|
|
39
41
|
Site,
|