/**
* File Auto-Generated by the RICADO Gen 4 PHP API Project
*
* Do Not Edit this File Manually!
*/
import BaseModel from '../../../Models/BaseModel';
/**
* Model Class for a MAF Sizer Batch
*
* @class
* @hideconstructor
* @extends BaseModel
*/
class MAFSizerBatchModel extends BaseModel
{
/**
* MAFSizerBatchModel Constructor
*
* @protected
* @param {number} siteId The Site ID associated with this MAF Sizer Batch
*/
constructor(siteId)
{
super();
/**
* The MAF Sizer Batch ID
*
* @type {string}
* @public
*/
this.id = "";
/**
* The MAF Sizer ID this Batch is associated with
*
* @type {string}
* @public
*/
this.mafSizerId = "";
/**
* The Numeric MAF Batch ID
*
* @type {string}
* @public
*/
this.batchId = "";
/**
* When this Batch was Created
*
* @type {Date}
* @public
*/
this.createdTimestamp = new Date();
/**
* The Batch Name
*
* @type {?string}
* @public
*/
this.batchName = null;
/**
* The Grower Code
*
* @type {?string}
* @public
*/
this.growerCode = null;
/**
* The Grower Name
*
* @type {?string}
* @public
*/
this.growerName = null;
/**
* The Variety Code
*
* @type {?string}
* @public
*/
this.varietyCode = null;
/**
* The Variety Name
*
* @type {?string}
* @public
*/
this.varietyName = null;
/**
* The Total Weight Processed for this Batch
*
* @type {number}
* @public
*/
this.totalWeight = 0;
/**
* The Packrun ID associated with this Batch
*
* @type {?string}
* @public
*/
this.packrunId = null;
/**
* When the Final Update from the MAF Sizer Orphea Database has been Received
*
* @type {?Date}
* @public
*/
this.finalOrpheaUpdate = null;
/**
* An Array of Summary Data Objects for each Article
*
* @type {Array<{index: ?number, name: string, fruitCount: number, fruitWeight: number}>}
* @public
*/
this.articleSummaries = [];
/**
* An Array of Summary Data Objects for each Outlet
*
* @type {Array<{number: number, fruitCount: number, fruitWeight: number, seenArticles: number[], activeArticles: number[]}>}
* @public
*/
this.outletSummaries = [];
/**
* An Array of Summary Data Objects for each Fruit Size and Article
*
* @type {Array<{sizeIndex: number, sizeName: string, articleIndex: number, articleName: string, fruitCount: number, fruitWeight: number}>}
* @public
*/
this.fruitSummaries = [];
/**
* An Array of Summary Data Objects for each Outlet by Fruit Size and Article
*
* @type {Array<{outletNumber: number, sizeIndex: number, sizeName: string, articleIndex: number, articleName: string, fruitCount: number, fruitWeight: number}>}
* @public
*/
this.outletFruitSummaries = [];
/**
* An Array of Size Names and Indexes
*
* @type {Array<{index: number, name: string}>}
* @public
*/
this.sizeNames = [];
/**
* An Array of Article Names and Indexes
*
* @type {Array<{index: number, name: string}>}
* @public
*/
this.articleNames = [];
/**
* Whether the MAF Sizer Batch has been deleted
*
* @type {boolean}
* @public
*/
this.deleted = false;
/**
* When the MAF Sizer Batch was last updated
*
* @type {Date}
* @public
*/
this.updateTimestamp = new Date();
/**
* The Site ID associated with this MAF Sizer Batch
*
* @type {number}
* @public
*/
this.siteId = siteId;
}
/**
* Create a new **MAFSizerBatchModel** from a JSON Object or JSON String
*
* @static
* @public
* @param {Object<string, any>|string} json A JSON Object or JSON String
* @param {number} siteId The Site ID associated with this MAF Sizer Batch
* @return {MAFSizerBatchModel}
*/
static fromJSON(json, siteId)
{
let model = new MAFSizerBatchModel(siteId);
/**
* The JSON Object
*
* @type {Object<string, any>}
*/
let jsonObject = {};
if(typeof json === 'string')
{
jsonObject = JSON.parse(json);
}
else if(typeof json === 'object')
{
jsonObject = json;
}
if('id' in jsonObject)
{
model.id = (function(){
if(typeof jsonObject['id'] !== 'string')
{
return String(jsonObject['id']);
}
return jsonObject['id'];
}());
}
if('mafSizerId' in jsonObject)
{
model.mafSizerId = (function(){
if(typeof jsonObject['mafSizerId'] !== 'string')
{
return String(jsonObject['mafSizerId']);
}
return jsonObject['mafSizerId'];
}());
}
if('batchId' in jsonObject)
{
model.batchId = (function(){
if(typeof jsonObject['batchId'] !== 'string')
{
return String(jsonObject['batchId']);
}
return jsonObject['batchId'];
}());
}
if('createdTimestamp' in jsonObject)
{
model.createdTimestamp = (function(){
if(typeof jsonObject['createdTimestamp'] !== 'string')
{
return new Date(String(jsonObject['createdTimestamp']));
}
return new Date(jsonObject['createdTimestamp']);
}());
}
if('batchName' in jsonObject)
{
model.batchName = (function(){
if(jsonObject['batchName'] === null)
{
return null;
}
if(typeof jsonObject['batchName'] !== 'string')
{
return String(jsonObject['batchName']);
}
return jsonObject['batchName'];
}());
}
if('growerCode' in jsonObject)
{
model.growerCode = (function(){
if(jsonObject['growerCode'] === null)
{
return null;
}
if(typeof jsonObject['growerCode'] !== 'string')
{
return String(jsonObject['growerCode']);
}
return jsonObject['growerCode'];
}());
}
if('growerName' in jsonObject)
{
model.growerName = (function(){
if(jsonObject['growerName'] === null)
{
return null;
}
if(typeof jsonObject['growerName'] !== 'string')
{
return String(jsonObject['growerName']);
}
return jsonObject['growerName'];
}());
}
if('varietyCode' in jsonObject)
{
model.varietyCode = (function(){
if(jsonObject['varietyCode'] === null)
{
return null;
}
if(typeof jsonObject['varietyCode'] !== 'string')
{
return String(jsonObject['varietyCode']);
}
return jsonObject['varietyCode'];
}());
}
if('varietyName' in jsonObject)
{
model.varietyName = (function(){
if(jsonObject['varietyName'] === null)
{
return null;
}
if(typeof jsonObject['varietyName'] !== 'string')
{
return String(jsonObject['varietyName']);
}
return jsonObject['varietyName'];
}());
}
if('totalWeight' in jsonObject)
{
model.totalWeight = (function(){
if(typeof jsonObject['totalWeight'] !== 'number')
{
return Number(jsonObject['totalWeight']);
}
return jsonObject['totalWeight'];
}());
}
if('packrunId' in jsonObject)
{
model.packrunId = (function(){
if(jsonObject['packrunId'] === null)
{
return null;
}
if(typeof jsonObject['packrunId'] !== 'string')
{
return String(jsonObject['packrunId']);
}
return jsonObject['packrunId'];
}());
}
if('finalOrpheaUpdate' in jsonObject)
{
model.finalOrpheaUpdate = (function(){
if(jsonObject['finalOrpheaUpdate'] === null)
{
return null;
}
if(typeof jsonObject['finalOrpheaUpdate'] !== 'string')
{
return new Date(String(jsonObject['finalOrpheaUpdate']));
}
return new Date(jsonObject['finalOrpheaUpdate']);
}());
}
if('articleSummaries' in jsonObject)
{
model.articleSummaries = (function(){
if(Array.isArray(jsonObject['articleSummaries']) !== true)
{
return [];
}
return jsonObject['articleSummaries'].map((articleSummariesItem) => {
return (function(){
let articleSummariesItemObject = {};
if(typeof articleSummariesItem === 'object' && 'index' in articleSummariesItem)
{
articleSummariesItemObject.index = (function(){
if(articleSummariesItem.index === null)
{
return null;
}
if(typeof articleSummariesItem.index !== 'number')
{
return Number.isInteger(Number(articleSummariesItem.index)) ? Number(articleSummariesItem.index) : Math.floor(Number(articleSummariesItem.index));
}
return Number.isInteger(articleSummariesItem.index) ? articleSummariesItem.index : Math.floor(articleSummariesItem.index);
}());
}
else
{
articleSummariesItemObject.index = null;
}
if(typeof articleSummariesItem === 'object' && 'name' in articleSummariesItem)
{
articleSummariesItemObject.name = (function(){
if(typeof articleSummariesItem.name !== 'string')
{
return String(articleSummariesItem.name);
}
return articleSummariesItem.name;
}());
}
else
{
articleSummariesItemObject.name = "";
}
if(typeof articleSummariesItem === 'object' && 'fruitCount' in articleSummariesItem)
{
articleSummariesItemObject.fruitCount = (function(){
if(typeof articleSummariesItem.fruitCount !== 'number')
{
return Number.isInteger(Number(articleSummariesItem.fruitCount)) ? Number(articleSummariesItem.fruitCount) : Math.floor(Number(articleSummariesItem.fruitCount));
}
return Number.isInteger(articleSummariesItem.fruitCount) ? articleSummariesItem.fruitCount : Math.floor(articleSummariesItem.fruitCount);
}());
}
else
{
articleSummariesItemObject.fruitCount = 0;
}
if(typeof articleSummariesItem === 'object' && 'fruitWeight' in articleSummariesItem)
{
articleSummariesItemObject.fruitWeight = (function(){
if(typeof articleSummariesItem.fruitWeight !== 'number')
{
return Number(articleSummariesItem.fruitWeight);
}
return articleSummariesItem.fruitWeight;
}());
}
else
{
articleSummariesItemObject.fruitWeight = 0;
}
return articleSummariesItemObject;
}());
});
}());
}
if('outletSummaries' in jsonObject)
{
model.outletSummaries = (function(){
if(Array.isArray(jsonObject['outletSummaries']) !== true)
{
return [];
}
return jsonObject['outletSummaries'].map((outletSummariesItem) => {
return (function(){
let outletSummariesItemObject = {};
if(typeof outletSummariesItem === 'object' && 'number' in outletSummariesItem)
{
outletSummariesItemObject.number = (function(){
if(typeof outletSummariesItem.number !== 'number')
{
return Number.isInteger(Number(outletSummariesItem.number)) ? Number(outletSummariesItem.number) : Math.floor(Number(outletSummariesItem.number));
}
return Number.isInteger(outletSummariesItem.number) ? outletSummariesItem.number : Math.floor(outletSummariesItem.number);
}());
}
else
{
outletSummariesItemObject.number = 0;
}
if(typeof outletSummariesItem === 'object' && 'fruitCount' in outletSummariesItem)
{
outletSummariesItemObject.fruitCount = (function(){
if(typeof outletSummariesItem.fruitCount !== 'number')
{
return Number.isInteger(Number(outletSummariesItem.fruitCount)) ? Number(outletSummariesItem.fruitCount) : Math.floor(Number(outletSummariesItem.fruitCount));
}
return Number.isInteger(outletSummariesItem.fruitCount) ? outletSummariesItem.fruitCount : Math.floor(outletSummariesItem.fruitCount);
}());
}
else
{
outletSummariesItemObject.fruitCount = 0;
}
if(typeof outletSummariesItem === 'object' && 'fruitWeight' in outletSummariesItem)
{
outletSummariesItemObject.fruitWeight = (function(){
if(typeof outletSummariesItem.fruitWeight !== 'number')
{
return Number(outletSummariesItem.fruitWeight);
}
return outletSummariesItem.fruitWeight;
}());
}
else
{
outletSummariesItemObject.fruitWeight = 0;
}
if(typeof outletSummariesItem === 'object' && 'seenArticles' in outletSummariesItem)
{
outletSummariesItemObject.seenArticles = (function(){
if(Array.isArray(outletSummariesItem.seenArticles) !== true)
{
return [];
}
return outletSummariesItem.seenArticles.map((seenArticlesItem) => {
return (function(){
if(typeof seenArticlesItem !== 'number')
{
return Number.isInteger(Number(seenArticlesItem)) ? Number(seenArticlesItem) : Math.floor(Number(seenArticlesItem));
}
return Number.isInteger(seenArticlesItem) ? seenArticlesItem : Math.floor(seenArticlesItem);
}());
});
}());
}
else
{
outletSummariesItemObject.seenArticles = [];
}
if(typeof outletSummariesItem === 'object' && 'activeArticles' in outletSummariesItem)
{
outletSummariesItemObject.activeArticles = (function(){
if(Array.isArray(outletSummariesItem.activeArticles) !== true)
{
return [];
}
return outletSummariesItem.activeArticles.map((activeArticlesItem) => {
return (function(){
if(typeof activeArticlesItem !== 'number')
{
return Number.isInteger(Number(activeArticlesItem)) ? Number(activeArticlesItem) : Math.floor(Number(activeArticlesItem));
}
return Number.isInteger(activeArticlesItem) ? activeArticlesItem : Math.floor(activeArticlesItem);
}());
});
}());
}
else
{
outletSummariesItemObject.activeArticles = [];
}
return outletSummariesItemObject;
}());
});
}());
}
if('fruitSummaries' in jsonObject)
{
model.fruitSummaries = (function(){
if(Array.isArray(jsonObject['fruitSummaries']) !== true)
{
return [];
}
return jsonObject['fruitSummaries'].map((fruitSummariesItem) => {
return (function(){
let fruitSummariesItemObject = {};
if(typeof fruitSummariesItem === 'object' && 'sizeIndex' in fruitSummariesItem)
{
fruitSummariesItemObject.sizeIndex = (function(){
if(typeof fruitSummariesItem.sizeIndex !== 'number')
{
return Number.isInteger(Number(fruitSummariesItem.sizeIndex)) ? Number(fruitSummariesItem.sizeIndex) : Math.floor(Number(fruitSummariesItem.sizeIndex));
}
return Number.isInteger(fruitSummariesItem.sizeIndex) ? fruitSummariesItem.sizeIndex : Math.floor(fruitSummariesItem.sizeIndex);
}());
}
else
{
fruitSummariesItemObject.sizeIndex = 0;
}
if(typeof fruitSummariesItem === 'object' && 'sizeName' in fruitSummariesItem)
{
fruitSummariesItemObject.sizeName = (function(){
if(typeof fruitSummariesItem.sizeName !== 'string')
{
return String(fruitSummariesItem.sizeName);
}
return fruitSummariesItem.sizeName;
}());
}
else
{
fruitSummariesItemObject.sizeName = "";
}
if(typeof fruitSummariesItem === 'object' && 'articleIndex' in fruitSummariesItem)
{
fruitSummariesItemObject.articleIndex = (function(){
if(typeof fruitSummariesItem.articleIndex !== 'number')
{
return Number.isInteger(Number(fruitSummariesItem.articleIndex)) ? Number(fruitSummariesItem.articleIndex) : Math.floor(Number(fruitSummariesItem.articleIndex));
}
return Number.isInteger(fruitSummariesItem.articleIndex) ? fruitSummariesItem.articleIndex : Math.floor(fruitSummariesItem.articleIndex);
}());
}
else
{
fruitSummariesItemObject.articleIndex = 0;
}
if(typeof fruitSummariesItem === 'object' && 'articleName' in fruitSummariesItem)
{
fruitSummariesItemObject.articleName = (function(){
if(typeof fruitSummariesItem.articleName !== 'string')
{
return String(fruitSummariesItem.articleName);
}
return fruitSummariesItem.articleName;
}());
}
else
{
fruitSummariesItemObject.articleName = "";
}
if(typeof fruitSummariesItem === 'object' && 'fruitCount' in fruitSummariesItem)
{
fruitSummariesItemObject.fruitCount = (function(){
if(typeof fruitSummariesItem.fruitCount !== 'number')
{
return Number.isInteger(Number(fruitSummariesItem.fruitCount)) ? Number(fruitSummariesItem.fruitCount) : Math.floor(Number(fruitSummariesItem.fruitCount));
}
return Number.isInteger(fruitSummariesItem.fruitCount) ? fruitSummariesItem.fruitCount : Math.floor(fruitSummariesItem.fruitCount);
}());
}
else
{
fruitSummariesItemObject.fruitCount = 0;
}
if(typeof fruitSummariesItem === 'object' && 'fruitWeight' in fruitSummariesItem)
{
fruitSummariesItemObject.fruitWeight = (function(){
if(typeof fruitSummariesItem.fruitWeight !== 'number')
{
return Number(fruitSummariesItem.fruitWeight);
}
return fruitSummariesItem.fruitWeight;
}());
}
else
{
fruitSummariesItemObject.fruitWeight = 0;
}
return fruitSummariesItemObject;
}());
});
}());
}
if('outletFruitSummaries' in jsonObject)
{
model.outletFruitSummaries = (function(){
if(Array.isArray(jsonObject['outletFruitSummaries']) !== true)
{
return [];
}
return jsonObject['outletFruitSummaries'].map((outletFruitSummariesItem) => {
return (function(){
let outletFruitSummariesItemObject = {};
if(typeof outletFruitSummariesItem === 'object' && 'outletNumber' in outletFruitSummariesItem)
{
outletFruitSummariesItemObject.outletNumber = (function(){
if(typeof outletFruitSummariesItem.outletNumber !== 'number')
{
return Number.isInteger(Number(outletFruitSummariesItem.outletNumber)) ? Number(outletFruitSummariesItem.outletNumber) : Math.floor(Number(outletFruitSummariesItem.outletNumber));
}
return Number.isInteger(outletFruitSummariesItem.outletNumber) ? outletFruitSummariesItem.outletNumber : Math.floor(outletFruitSummariesItem.outletNumber);
}());
}
else
{
outletFruitSummariesItemObject.outletNumber = 0;
}
if(typeof outletFruitSummariesItem === 'object' && 'sizeIndex' in outletFruitSummariesItem)
{
outletFruitSummariesItemObject.sizeIndex = (function(){
if(typeof outletFruitSummariesItem.sizeIndex !== 'number')
{
return Number.isInteger(Number(outletFruitSummariesItem.sizeIndex)) ? Number(outletFruitSummariesItem.sizeIndex) : Math.floor(Number(outletFruitSummariesItem.sizeIndex));
}
return Number.isInteger(outletFruitSummariesItem.sizeIndex) ? outletFruitSummariesItem.sizeIndex : Math.floor(outletFruitSummariesItem.sizeIndex);
}());
}
else
{
outletFruitSummariesItemObject.sizeIndex = 0;
}
if(typeof outletFruitSummariesItem === 'object' && 'sizeName' in outletFruitSummariesItem)
{
outletFruitSummariesItemObject.sizeName = (function(){
if(typeof outletFruitSummariesItem.sizeName !== 'string')
{
return String(outletFruitSummariesItem.sizeName);
}
return outletFruitSummariesItem.sizeName;
}());
}
else
{
outletFruitSummariesItemObject.sizeName = "";
}
if(typeof outletFruitSummariesItem === 'object' && 'articleIndex' in outletFruitSummariesItem)
{
outletFruitSummariesItemObject.articleIndex = (function(){
if(typeof outletFruitSummariesItem.articleIndex !== 'number')
{
return Number.isInteger(Number(outletFruitSummariesItem.articleIndex)) ? Number(outletFruitSummariesItem.articleIndex) : Math.floor(Number(outletFruitSummariesItem.articleIndex));
}
return Number.isInteger(outletFruitSummariesItem.articleIndex) ? outletFruitSummariesItem.articleIndex : Math.floor(outletFruitSummariesItem.articleIndex);
}());
}
else
{
outletFruitSummariesItemObject.articleIndex = 0;
}
if(typeof outletFruitSummariesItem === 'object' && 'articleName' in outletFruitSummariesItem)
{
outletFruitSummariesItemObject.articleName = (function(){
if(typeof outletFruitSummariesItem.articleName !== 'string')
{
return String(outletFruitSummariesItem.articleName);
}
return outletFruitSummariesItem.articleName;
}());
}
else
{
outletFruitSummariesItemObject.articleName = "";
}
if(typeof outletFruitSummariesItem === 'object' && 'fruitCount' in outletFruitSummariesItem)
{
outletFruitSummariesItemObject.fruitCount = (function(){
if(typeof outletFruitSummariesItem.fruitCount !== 'number')
{
return Number.isInteger(Number(outletFruitSummariesItem.fruitCount)) ? Number(outletFruitSummariesItem.fruitCount) : Math.floor(Number(outletFruitSummariesItem.fruitCount));
}
return Number.isInteger(outletFruitSummariesItem.fruitCount) ? outletFruitSummariesItem.fruitCount : Math.floor(outletFruitSummariesItem.fruitCount);
}());
}
else
{
outletFruitSummariesItemObject.fruitCount = 0;
}
if(typeof outletFruitSummariesItem === 'object' && 'fruitWeight' in outletFruitSummariesItem)
{
outletFruitSummariesItemObject.fruitWeight = (function(){
if(typeof outletFruitSummariesItem.fruitWeight !== 'number')
{
return Number(outletFruitSummariesItem.fruitWeight);
}
return outletFruitSummariesItem.fruitWeight;
}());
}
else
{
outletFruitSummariesItemObject.fruitWeight = 0;
}
return outletFruitSummariesItemObject;
}());
});
}());
}
if('sizeNames' in jsonObject)
{
model.sizeNames = (function(){
if(Array.isArray(jsonObject['sizeNames']) !== true)
{
return [];
}
return jsonObject['sizeNames'].map((sizeNamesItem) => {
return (function(){
let sizeNamesItemObject = {};
if(typeof sizeNamesItem === 'object' && 'index' in sizeNamesItem)
{
sizeNamesItemObject.index = (function(){
if(typeof sizeNamesItem.index !== 'number')
{
return Number.isInteger(Number(sizeNamesItem.index)) ? Number(sizeNamesItem.index) : Math.floor(Number(sizeNamesItem.index));
}
return Number.isInteger(sizeNamesItem.index) ? sizeNamesItem.index : Math.floor(sizeNamesItem.index);
}());
}
else
{
sizeNamesItemObject.index = 0;
}
if(typeof sizeNamesItem === 'object' && 'name' in sizeNamesItem)
{
sizeNamesItemObject.name = (function(){
if(typeof sizeNamesItem.name !== 'string')
{
return String(sizeNamesItem.name);
}
return sizeNamesItem.name;
}());
}
else
{
sizeNamesItemObject.name = "";
}
return sizeNamesItemObject;
}());
});
}());
}
if('articleNames' in jsonObject)
{
model.articleNames = (function(){
if(Array.isArray(jsonObject['articleNames']) !== true)
{
return [];
}
return jsonObject['articleNames'].map((articleNamesItem) => {
return (function(){
let articleNamesItemObject = {};
if(typeof articleNamesItem === 'object' && 'index' in articleNamesItem)
{
articleNamesItemObject.index = (function(){
if(typeof articleNamesItem.index !== 'number')
{
return Number.isInteger(Number(articleNamesItem.index)) ? Number(articleNamesItem.index) : Math.floor(Number(articleNamesItem.index));
}
return Number.isInteger(articleNamesItem.index) ? articleNamesItem.index : Math.floor(articleNamesItem.index);
}());
}
else
{
articleNamesItemObject.index = 0;
}
if(typeof articleNamesItem === 'object' && 'name' in articleNamesItem)
{
articleNamesItemObject.name = (function(){
if(typeof articleNamesItem.name !== 'string')
{
return String(articleNamesItem.name);
}
return articleNamesItem.name;
}());
}
else
{
articleNamesItemObject.name = "";
}
return articleNamesItemObject;
}());
});
}());
}
if('deleted' in jsonObject)
{
model.deleted = (function(){
if(typeof jsonObject['deleted'] !== 'boolean')
{
return Boolean(jsonObject['deleted']);
}
return jsonObject['deleted'];
}());
}
if('updateTimestamp' in jsonObject)
{
model.updateTimestamp = (function(){
if(typeof jsonObject['updateTimestamp'] !== 'string')
{
return new Date(String(jsonObject['updateTimestamp']));
}
return new Date(jsonObject['updateTimestamp']);
}());
}
return model;
}
}
export default MAFSizerBatchModel;
source