@os1-platform/dispatch-mobile 2.1.12 → 2.1.14
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/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js +3 -0
- package/lib/commonjs/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/ScanET.js +9 -6
- package/lib/commonjs/components/executiontasks/scan/ScanET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/interfaces.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js +66 -27
- package/lib/commonjs/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/utils.js +4 -2
- package/lib/commonjs/components/executiontasks/scan/utils.js.map +1 -1
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js +0 -13
- package/lib/commonjs/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/commonjs/ui/screens/DeliverScreen.js +9 -1
- package/lib/commonjs/ui/screens/DeliverScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FormsScreen.js +9 -1
- package/lib/commonjs/ui/screens/FormsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ImageCaptureScreen.js.map +1 -1
- package/lib/commonjs/utils/Constants.js +9 -0
- package/lib/commonjs/utils/Constants.js.map +1 -0
- package/lib/commonjs/utils/Enums.js +12 -0
- package/lib/commonjs/utils/Enums.js.map +1 -0
- package/lib/commonjs/utils/storage.js.map +1 -1
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js +3 -0
- package/lib/module/components/executiontasks/imageCapture/ImageCapture.js.map +1 -1
- package/lib/module/components/executiontasks/scan/ScanET.js +9 -6
- package/lib/module/components/executiontasks/scan/ScanET.js.map +1 -1
- package/lib/module/components/executiontasks/scan/interfaces.js.map +1 -1
- package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js +67 -28
- package/lib/module/components/executiontasks/scan/sub_components/SummaryPage.js.map +1 -1
- package/lib/module/components/executiontasks/scan/utils.js +4 -2
- package/lib/module/components/executiontasks/scan/utils.js.map +1 -1
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js +0 -13
- package/lib/module/manager/syncmanager/document/DocumentSyncManager.js.map +1 -1
- package/lib/module/ui/screens/DeliverScreen.js +9 -1
- package/lib/module/ui/screens/DeliverScreen.js.map +1 -1
- package/lib/module/ui/screens/FormsScreen.js +9 -1
- package/lib/module/ui/screens/FormsScreen.js.map +1 -1
- package/lib/module/ui/screens/ImageCaptureScreen.js.map +1 -1
- package/lib/module/utils/Constants.js +3 -0
- package/lib/module/utils/Constants.js.map +1 -0
- package/lib/module/utils/Enums.js +6 -0
- package/lib/module/utils/Enums.js.map +1 -0
- package/lib/module/utils/storage.js.map +1 -1
- package/lib/typescript/components/executiontasks/scan/interfaces.d.ts +2 -0
- package/lib/typescript/utils/Constants.d.ts +1 -0
- package/lib/typescript/utils/Enums.d.ts +4 -0
- package/package.json +2 -2
- package/src/components/executiontasks/imageCapture/ImageCapture.tsx +36 -31
- package/src/components/executiontasks/scan/ScanET.tsx +23 -23
- package/src/components/executiontasks/scan/interfaces.ts +2 -0
- package/src/components/executiontasks/scan/sub_components/SummaryPage.tsx +107 -80
- package/src/components/executiontasks/scan/utils.ts +4 -1
- package/src/manager/syncmanager/document/DocumentSyncManager.ts +45 -62
- package/src/ui/screens/DeliverScreen.tsx +9 -7
- package/src/ui/screens/FormsScreen.tsx +14 -7
- package/src/ui/screens/ImageCaptureScreen.tsx +1 -1
- package/src/utils/Constants.ts +2 -0
- package/src/utils/Enums.ts +4 -0
- package/src/utils/storage.ts +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_expoBarcodeScanner","require","_interfaces","_ScanSchema","jsonLogic","_interopRequireWildcard","_ExecTaskUtils","_ETConfig","_ApiUtils","_Logger","_constants","_storage","_interopRequireDefault","_constants2","_RouteParams","_EventDispatcher","_platformCoreosExecutionEngineSdk","_utils","_constants3","_DropDownUtils","_SnackBarCustom","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","getBarCodeTypes","input","barCodeType","scannedInput","scanType","forEach","type","ExpoBarcodeTypes","QRCODE","push","BarCodeScanner","Constants","BarCodeType","qr","aztec","codabar","code128","code39","code93","datamatrix","ean13","ean8","itf14","pdf417","upc_e","checkForValidation","validation","selectedIndex","logic","regex","RegExp","test","api","apiData","errorJsonPath","responseJsonPath","uri","httpMethod","timeout","headers","requestBody","parsedRequestBody","parseBody","pathParams","parseKeyValue","queryParams","apiResponse","getApiResponse","apply","responseJsonLogic","data","error","Logger","getInstance","logEvent","message","LOG_TYPE","SDK_ERROR","getShipmentData","scansMap","pendingShipments","scannedShipments","key","value","entries","scanStatus","undefined","SCAN_STATUS","SCANNED","FAILED","getScannedItemCount","getMappingCount","scanOutput","wiMappingUpdate","mwId","mergedObjectiveId","count","getUpdatedScanETOutput","success","eventCode","reasonCode","route","scannedData","prefixedMergedObjectiveId","params","RouteParams","ROOT_META_DATA","previousMWID","previousMergedObjectiveId","output","getBaseETResponse","EntityCode","SCAN","ExecutionTaskID","_scannedData","groupId","displayInfo","jobId","shipmentFlow","scanValue","scanId","isScan","triggerScanEvent","allScansOutput","getScanMappedOutput","storage","Storage","setSharedItem","SHARED_PREFERENCE_SCAN_OUTPUT","JSON","stringify","getScanETOutput","mergeScannedOutput","ercItems","defaultERC","deliverState","isPartial","DeliverState","CANCELLED","DELIVERE_LATER","REASON_NOT_USED","DELIVER_NOW","getEventType","getScannedItems","items","validated","timestamp","Date","now","isETCompleted","scanMode","isMultiObjectiveEnable","scannedShipmentCount","singleModeCount","allowMultiObjectivePartial","_scannedShipmentCount","length","scans","isReplacement","scan","selectedEventCode","selectedReason","_scansMap$get","_scansMap$get2","code","eventList","result","find","Boolean","mergedScanOutput","getSharedItem","parse","etOutput","nextStates","NEXT_STATES","eventOutputData","meta","etData","endTime","taskId","customData","customEventsData","dispatchEvent","taskName","fetchMergedObjectiveIdBasedOnStatus","activeTab","scanProps","mergedObjectiveIds","filterIds","getScanMergedObjectID","SummaryPageTabs","ALL","PENDING","DELIVERED","UNDELIVERED","fetchLabel","getDefaultERCLabel","modifyDisplayScanData","response","updatedScanData","Promise","all","map","_scan$displayInfo","_scan$displayInfo2","scannableId","clientName","orderId","originalMergedObjId","lastStatus","totalCount","getScanData","limit","offset","DispatchExecutor","filterWFIData","addScans","isErcSelector","ercSelector","isEmptyOrBlank","status","EMPTY_AWB","SnackBarType","FAILURE","ER_MISSING","replace","isValidated","eventType","updateWIMapping","ec","rc","scanToMerge","title","subTitle","updateSharedPreference","_scanOutput","WARNING","SUCCESS","shipmentCount","scannedCount","scanned","total","exitOnError","exit","getErrorMessage","INVALID_SHIPMENT","removeScan","removeShipment","keys","getScanMergedOutput","mergedIdOutput","_mergedIds","pending","SCAN_MERGED_OBJ_ID_OUTPUT","outputAtPrefixedId","failure","updatePendingSharedPreference","getTabCount","defaultResult","getWFICountByMWIIds","exports","clearScanOutput","promises","scanRecord","scanOutputs","errorCode","WIErrorCodes","ScannableIdAlreadyCompleted","ErrorCodeMessages","ScannableIdNotInDispatch","ScannableIdNotReady","DifferentGroupUpdateNotAllowed","ObjectiveAndJobWFMismatch","ScannableIdAlreadyUpdated","JobAlreadyCompleted","ScannableIdPartOfAnotherMO","getSplitIds","splitMergedObjectiveIds","filter","mergedObjectiveID","filterERCItems","eventCodeItems","erc","resetObjective","deliveredMergedObjectiveIds","undeliveredMergedObjectiveIds","hasNextPage","BULK_DATA_LIMIT"],"sources":["utils.ts"],"sourcesContent":["import { BarCodeScanner } from 'expo-barcode-scanner';\nimport {\n ADD_SCAN,\n ExpoBarcodeTypes,\n MergedScan,\n SCANNED_RECORD,\n SCAN_MERGED_OBJ_ID_INTEFACE,\n SCAN_STATUS,\n SHARED_PREF_SCAN_OUTPUT_INTERFACE,\n SummaryDisplayData,\n SummaryPageTabs,\n TabRecord,\n} from './interfaces';\nimport {\n API,\n DefaultERC,\n DeliverState,\n IWIMappingUpdate,\n ScanData,\n ScanMode,\n ScannerInput,\n ScannerOutput,\n ScannerType,\n Validation,\n} from './ScanSchema';\nimport * as jsonLogic from 'json-logic-js';\nimport type { ercItem } from './sub_components/ERDropDown';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport {\n APIData,\n getApiResponse,\n parseBody,\n parseKeyValue,\n} from '../../../utils/ApiUtils';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { REASON_NOT_USED } from '../../../constants/constants';\nimport Storage from '../../../utils/storage';\nimport {\n BULK_DATA_LIMIT,\n SCAN_MERGED_OBJ_ID_OUTPUT,\n SHARED_PREFERENCE_SCAN_OUTPUT,\n} from '../../../manager/syncmanager/constants';\nimport { RouteParams } from '../../../ui/uiConfig/RouteParams';\nimport dispatchEvent from '../../../events/EventDispatcher';\nimport {\n DispatchExecutor,\n IDispatch,\n WIErrorCodes,\n ErrorCodeMessages,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { isEmptyOrBlank } from '../../../utils/utils';\nimport { EMPTY_AWB, ER_MISSING, INVALID_SHIPMENT } from './constants';\nimport { onScanEvent, onScanRemoveEvent } from '../../../models/DispatchModels';\nimport { BaseETResponse } from '../ExecutionTasksIndex';\nimport { eventType } from '../../../events/interface';\nimport { getDefaultERCLabel } from './sub_components/DropDownUtils';\nimport { SnackBarType } from '../../../components/widgets/SnackBarCustom';\n\nexport function getBarCodeTypes(input: ScannerInput): any[] {\n const barCodeType: any[] = [];\n const {\n scannedInput: { scanType },\n } = input;\n scanType.forEach((type: ScannerType) => {\n switch (type) {\n case ExpoBarcodeTypes.QRCODE:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.qr);\n break;\n case ExpoBarcodeTypes.aztec:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.aztec);\n break;\n case ExpoBarcodeTypes.codabar:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.codabar);\n break;\n case ExpoBarcodeTypes.code128:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.code128);\n break;\n case ExpoBarcodeTypes.code39:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.code39);\n break;\n case ExpoBarcodeTypes.code93:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.code93);\n break;\n case ExpoBarcodeTypes.datamatrix:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.datamatrix);\n break;\n case ExpoBarcodeTypes.ean13:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.ean13);\n break;\n case ExpoBarcodeTypes.ean8:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.ean8);\n break;\n case ExpoBarcodeTypes.itf14:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.itf14);\n break;\n case ExpoBarcodeTypes.pdf417:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.pdf417);\n break;\n case ExpoBarcodeTypes.upc_e:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.upc_e);\n break;\n\n default:\n break;\n }\n });\n return barCodeType;\n}\n\nexport async function checkForValidation(\n scannedInput: string,\n validation: Validation\n): Promise<boolean> {\n // Scans Array\n if (validation.selectedIndex === 0) {\n return true;\n }\n // Validation Regex\n else if (\n validation.selectedIndex === 1 &&\n typeof validation.logic === 'string'\n ) {\n const regex = new RegExp(validation.logic);\n return regex.test(scannedInput);\n }\n // API\n else if (\n validation.selectedIndex === 2 &&\n typeof validation.logic === 'object'\n ) {\n try {\n //@ts-ignore\n const api: API = validation.logic;\n const apiData: APIData = {\n errorJsonPath: '',\n responseJsonPath: '',\n uri: api.uri,\n httpMethod: api.httpMethod,\n timeout: api.timeout,\n headers: api.headers,\n };\n if (api.requestBody) {\n const parsedRequestBody = parseBody(api.requestBody, scannedInput);\n apiData.requestBody = parsedRequestBody;\n }\n if (api.pathParams) {\n parseKeyValue(api.pathParams, scannedInput);\n apiData.pathParams = api.pathParams;\n }\n if (api.queryParams) {\n parseKeyValue(api.queryParams, scannedInput);\n apiData.queryParams = api.queryParams;\n }\n const apiResponse = await getApiResponse(apiData);\n\n return jsonLogic.apply(\n <jsonLogic.RulesLogic>api.responseJsonLogic,\n apiResponse.data\n );\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ checkForValidation',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n } else {\n return false;\n }\n}\n\nexport function getShipmentData(\n selectedIndex: number,\n scansMap: Map<string, MergedScan>\n): [string[], string[]] {\n const pendingShipments: string[] = [];\n const scannedShipments: string[] = [];\n //@ts-ignore\n for (let [key, value] of scansMap.entries()) {\n /**\n * If scanStatus is undefined then push the shipment to pending.\n * If scanStatus is not undefined:\n * Then if successfully scanned, move to scannedShipments array.\n * Else do nothing.\n */\n if (value?.scanStatus != undefined) {\n if (value?.scanStatus === SCAN_STATUS.SCANNED) {\n scannedShipments.push(key);\n } else if (value?.scanStatus === SCAN_STATUS.FAILED) {\n pendingShipments.push(key);\n }\n } else if (selectedIndex === 0) {\n pendingShipments.push(key);\n }\n }\n return [pendingShipments, scannedShipments];\n}\n\nexport function getScannedItemCount(scansMap: Map<string, MergedScan>): number {\n let scannedShipments = 0;\n if (scansMap) {\n for (let [, value] of scansMap.entries()) {\n if (value.scanStatus === SCAN_STATUS.SCANNED) {\n scannedShipments++;\n }\n }\n return scannedShipments;\n }\n return scannedShipments;\n}\n\nexport function getMappingCount(\n scanOutput: ScannerOutput,\n wiMappingUpdate: IWIMappingUpdate\n) {\n const { mwId: mergedObjectiveId } = wiMappingUpdate.data;\n\n if (scanOutput[mergedObjectiveId]) {\n return scanOutput[mergedObjectiveId].count + 1;\n } else {\n return 1;\n }\n}\n\nexport async function getUpdatedScanETOutput(\n scanOutput: ScannerOutput,\n wiMappingUpdate: IWIMappingUpdate,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n route: any,\n scannedData: any\n) {\n const prefixedMergedObjectiveId =\n route.params[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n const { mwId: mergedObjectiveId, previousMWID: previousMergedObjectiveId } =\n wiMappingUpdate.data;\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n success,\n eventCode,\n reasonCode,\n [mergedObjectiveId],\n ExecutionTaskID.SCAN\n );\n const _scannedData: any = [\n {\n groupId: scannedData.displayInfo.groupId,\n jobId: scannedData.jobId,\n shipmentFlow: scannedData.displayInfo.shipmentFlow,\n scanValue: scannedData.scanId,\n },\n ];\n\n scannedData?.isScan\n ? triggerScanEvent('ON_SCAN', route, _scannedData, output)\n : null;\n\n if (scanOutput[previousMergedObjectiveId]) {\n scanOutput[previousMergedObjectiveId].count -= 1;\n\n if (scanOutput[previousMergedObjectiveId].count === 0) {\n delete scanOutput[previousMergedObjectiveId];\n }\n }\n const count = getMappingCount(scanOutput, wiMappingUpdate);\n\n if (!scanOutput[mergedObjectiveId]) {\n scanOutput[mergedObjectiveId] = { output, count };\n } else {\n scanOutput[mergedObjectiveId].count = count;\n }\n\n // SAVE IN SHARED PREFERENCE\n let allScansOutput = (await getScanMappedOutput()) || {};\n let storage = Storage.getInstance();\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({\n ...allScansOutput,\n [prefixedMergedObjectiveId]: scanOutput,\n })\n );\n return scanOutput;\n}\n\nexport async function getScanETOutput(\n mergeScannedOutput: ScannerOutput,\n mergedObjectiveId: Array<string>,\n ercItems: ercItem[],\n defaultERC: DefaultERC,\n deliverState: DeliverState,\n isPartial: boolean,\n count: number\n): Promise<ScannerOutput> {\n switch (deliverState) {\n case DeliverState.CANCELLED: {\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n false,\n defaultERC.eventCode,\n defaultERC.reasonCode || '',\n mergedObjectiveId,\n ExecutionTaskID.SCAN\n );\n return {\n [mergedObjectiveId[0]]: {\n output,\n count,\n },\n };\n }\n case DeliverState.DELIVERE_LATER: {\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n false,\n REASON_NOT_USED,\n '',\n mergedObjectiveId,\n ExecutionTaskID.SCAN\n );\n mergeScannedOutput['default'] = {\n output,\n count,\n };\n return mergeScannedOutput;\n }\n case DeliverState.DELIVER_NOW: {\n if (isPartial) {\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n getEventType(ercItems, defaultERC.eventCode),\n defaultERC.eventCode,\n defaultERC.reasonCode || '',\n mergedObjectiveId,\n ExecutionTaskID.SCAN\n );\n\n mergeScannedOutput['default'] = { output, count };\n return mergeScannedOutput;\n } else {\n return mergeScannedOutput;\n }\n }\n default: {\n return mergeScannedOutput;\n }\n }\n}\n\nexport function getScannedItems(scanValue: MergedScan): ScanData[] {\n const items: ScanData[] = [];\n if (scanValue.scanStatus === SCAN_STATUS.SCANNED)\n items.push({\n value: scanValue.value,\n validated: scanValue.validated || false,\n timestamp: scanValue.timestamp || Date.now(),\n });\n\n return items;\n}\n\nexport function isETCompleted(\n validation: Validation,\n scansMap: Map<string, MergedScan>,\n scanMode: ScanMode,\n isMultiObjectiveEnable: boolean,\n scannedShipmentCount?: number,\n singleModeCount?: number,\n allowMultiObjectivePartial?: boolean\n): boolean {\n if (scanMode === 'SINGLE' || isMultiObjectiveEnable) {\n let _scannedShipmentCount = scannedShipmentCount || 0;\n\n if (!scannedShipmentCount) {\n const [, scannedShipments] = getShipmentData(\n validation.selectedIndex,\n scansMap\n );\n _scannedShipmentCount = scannedShipments.length;\n }\n\n if (allowMultiObjectivePartial) {\n return _scannedShipmentCount >= 1;\n }\n\n return singleModeCount === _scannedShipmentCount;\n } else {\n // Scans Array\n if (validation.selectedIndex === 0) {\n //@ts-ignore\n const scans: string[] = validation.logic;\n if (!scannedShipmentCount) {\n const [, scannedShipments] = getShipmentData(\n validation.selectedIndex,\n scansMap\n );\n return scans.length === scannedShipments.length;\n }\n\n return scans.length === scannedShipmentCount;\n }\n // Validation Regex\n else if (\n (validation.selectedIndex === 1 &&\n typeof validation.logic === 'string') ||\n (validation.selectedIndex === 2 && typeof validation.logic === 'object')\n ) {\n return true;\n } else {\n return false;\n }\n }\n}\n\nexport function isReplacement(\n scan: string,\n scansMap: Map<string, MergedScan>,\n selectedEventCode: ercItem | undefined,\n selectedReason: ercItem | undefined\n) {\n if (\n //(selectedEventCode || selectedReason) &&\n //scansMap.get(scan)?.eventCode &&\n scansMap.get(scan)?.eventCode !== selectedEventCode?.code || //scansMap.get(scan)?.reasonCode !== undefined &&\n scansMap.get(scan)?.reasonCode !== selectedReason?.code\n ) {\n return true;\n }\n return false;\n}\n\nexport function getEventType(\n eventList: Array<ercItem>,\n eventCode: string\n): boolean {\n const result = eventList.find((code) => code.code === eventCode);\n if (result) {\n return Boolean(result.success);\n } else {\n return false;\n }\n}\n\nexport async function getScanMappedOutput(): Promise<SHARED_PREF_SCAN_OUTPUT_INTERFACE> {\n let storage = Storage.getInstance();\n const mergedScanOutput = await storage.getSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT\n );\n if (mergedScanOutput) {\n return JSON.parse(mergedScanOutput);\n } else {\n return {};\n }\n}\n\nexport function triggerScanEvent(\n type: eventType,\n route: any,\n scannedData: any,\n etOutput?: BaseETResponse\n) {\n switch (type) {\n case 'ON_SCAN': {\n const nextStates = route.params[RouteParams.NEXT_STATES];\n const eventOutputData: onScanEvent = {\n meta: etOutput?.meta || {},\n etData: {\n eventCode: etOutput?.eventCode || '',\n reasonCode: etOutput?.reasonCode || '',\n success: etOutput?.success || false,\n endTime: Date.now(),\n scannedData,\n },\n taskId: nextStates.taskId,\n timestamp: Date.now(),\n customData: route.params[RouteParams.ROOT_META_DATA].customEventsData,\n };\n dispatchEvent('ON_SCAN', nextStates.taskName, eventOutputData);\n break;\n }\n case 'ON_SCAN_REMOVE': {\n const nextStates = route.params[RouteParams.NEXT_STATES];\n const eventOutputData: onScanRemoveEvent = {\n etData: {\n scannedData,\n },\n taskId: nextStates.taskId,\n timestamp: Date.now(),\n customData: route.params[RouteParams.ROOT_META_DATA].customEventsData,\n };\n dispatchEvent('ON_SCAN_REMOVE', nextStates.taskName, eventOutputData);\n break;\n }\n default:\n break;\n }\n}\n\nconst fetchMergedObjectiveIdBasedOnStatus = async (\n activeTab: SummaryPageTabs,\n scanProps: ScannerInput\n) => {\n let prefixedMergedObjectiveId =\n scanProps.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n let mergedObjectiveIds: SCANNED_RECORD;\n let filterIds = await getScanMergedObjectID();\n if (filterIds) {\n mergedObjectiveIds = filterIds[prefixedMergedObjectiveId] || [];\n } else {\n return [];\n }\n\n switch (activeTab) {\n case SummaryPageTabs.ALL:\n return [\n ...mergedObjectiveIds['pending'],\n ...mergedObjectiveIds['success'],\n ...mergedObjectiveIds['failure'],\n ];\n case SummaryPageTabs.PENDING:\n return mergedObjectiveIds['pending'];\n case SummaryPageTabs.DELIVERED:\n return mergedObjectiveIds['success'];\n case SummaryPageTabs.UNDELIVERED:\n return mergedObjectiveIds['failure'];\n default:\n return [];\n }\n};\n\nconst fetchLabel = async (eventCode: string, reasonCode?: string) => {\n return await getDefaultERCLabel({\n eventCode,\n reasonCode,\n });\n};\n\nconst modifyDisplayScanData = async (\n response: IDispatch.IQueryWFIResponse\n): Promise<SummaryDisplayData> => {\n const { data: scans } = response;\n const updatedScanData = await Promise.all(\n scans.map(async (scan) => {\n const { eventCode, reasonCode } = await fetchLabel(\n scan.eventCode,\n scan.reasonCode\n );\n\n return {\n scanId: scan.scannableId,\n clientName: scan.displayInfo?.clientName || '--',\n orderId: scan.displayInfo?.orderId || '--',\n eventCode: eventCode || '--',\n reasonCode: reasonCode || '--',\n prefixedMergedObjectiveId: scan.originalMergedObjId,\n lastStatus: scan.lastStatus,\n };\n })\n );\n\n return { data: updatedScanData, totalCount: response.totalCount };\n};\n\nexport async function getScanData(\n activeTab: SummaryPageTabs,\n scanProps: ScannerInput,\n limit: number,\n offset: number,\n scan?: string\n): Promise<SummaryDisplayData> {\n const taskName = scanProps.taskName || '';\n const mergedObjectiveId: Array<string> = scanProps.mergedObjectiveId;\n\n const mergedObjectiveIds = await fetchMergedObjectiveIdBasedOnStatus(\n activeTab,\n scanProps\n );\n\n if (!mergedObjectiveIds || mergedObjectiveIds.length === 0) {\n return {\n data: [],\n totalCount: 0,\n };\n }\n if (scan) {\n const scans: IDispatch.IQueryWFIResponse =\n await DispatchExecutor.filterWFIData(\n taskName,\n mergedObjectiveIds,\n limit,\n offset,\n scan\n );\n\n return await modifyDisplayScanData(scans);\n } else {\n const scans: IDispatch.IQueryWFIResponse =\n await DispatchExecutor.filterWFIData(\n taskName,\n mergedObjectiveIds,\n limit,\n offset\n );\n\n return await modifyDisplayScanData(scans);\n }\n}\n\nexport async function addScans(\n scan: string,\n scanProps: ScannerInput,\n scanOutput: ScannerOutput,\n ercItems: ercItem[],\n eventCode: ercItem,\n reasonCode?: ercItem\n): Promise<ADD_SCAN> {\n const prefixedMergedObjectiveId =\n scanProps.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n const isErcSelector = scanProps.ercSelector ? true : false;\n if (isEmptyOrBlank(scan)) {\n return { status: false, message: EMPTY_AWB, type: SnackBarType.FAILURE };\n }\n\n if (isErcSelector && (!eventCode || !eventCode.code)) {\n return {\n status: false,\n type: SnackBarType.FAILURE,\n message: ER_MISSING.replace('<shipment_id>', scan),\n };\n }\n\n let isValidated = await checkForValidation(scan, scanProps.validation);\n\n if (isValidated) {\n // NEW CODE\n try {\n const eventType = getEventType(ercItems || [], eventCode?.code || '');\n\n const result = await DispatchExecutor.updateWIMapping(\n prefixedMergedObjectiveId,\n scan,\n {\n ec: eventCode?.code || '',\n rc: reasonCode?.code || '',\n },\n scanProps.scanToMerge || false\n );\n if ('data' in result) {\n const data: IDispatch.MappingUpdateResponse = result.data;\n const {\n message: { title, subTitle },\n } = data;\n\n // UPDATE SHARED PREFERENCE\n updateSharedPreference(eventType, data.mwId, prefixedMergedObjectiveId);\n\n const _scanOutput = await getUpdatedScanETOutput(\n scanOutput,\n result,\n eventType,\n eventCode?.code || '',\n reasonCode?.code || '',\n scanProps.route,\n {\n jobId: data.jobId,\n displayInfo: data.displayInfo,\n isScan: true,\n scanId: scan,\n }\n );\n\n return {\n status: true,\n type: subTitle ? SnackBarType.WARNING : SnackBarType.SUCCESS,\n message: subTitle\n ? `#${scan}\\n${title}\\n${subTitle}`\n : `#${scan}\\nShipment updated successfully!`,\n data: {\n output: _scanOutput,\n shipmentCount: {\n scannedCount: data.scanned,\n totalCount: data.total,\n },\n },\n };\n } else {\n return {\n status: false,\n type: SnackBarType.FAILURE,\n message: 'Error occurred while scanning',\n };\n }\n } catch (error: any) {\n if (scanProps.exitOnError) {\n return {\n status: false,\n type: SnackBarType.FAILURE,\n exit: true,\n message: 'Error occurred while scanning',\n };\n\n // props.onSubmitET({\n // ...(await getScanETOutput(\n // mergedScanETOutput,\n // props.mergedObjectiveId,\n // eventCodeItems || [],\n // props.defaultERC,\n // false,\n // true\n // )),\n // });\n } else {\n return {\n status: false,\n ...getErrorMessage(scan, error),\n };\n }\n }\n } else {\n if (scanProps.exitOnError) {\n return {\n status: false,\n type: SnackBarType.FAILURE,\n exit: true,\n message: 'Error occurred while scanning',\n };\n } else {\n return {\n status: false,\n message: INVALID_SHIPMENT,\n type: SnackBarType.FAILURE,\n };\n }\n }\n}\n\nexport async function removeScan(\n taskName: string,\n scans: Array<string>,\n route: any,\n scanOutput: ScannerOutput\n) {\n const prefixedMergedObjectiveId =\n route.params[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n\n const result = await DispatchExecutor.removeShipment(\n prefixedMergedObjectiveId,\n scans\n );\n\n // Decrease count on remove\n Object.keys(result).forEach((mergedObjectiveId) => {\n scanOutput[mergedObjectiveId].count -= result[mergedObjectiveId];\n\n if (scanOutput[mergedObjectiveId].count === 0) {\n delete scanOutput[mergedObjectiveId];\n }\n });\n\n const allScansOutput = (await getScanMergedOutput()) || {};\n\n // SAVE IN SHARED PREFERENCE\n let storage = Storage.getInstance();\n\n const mergedIdOutput = await getScanMergedObjectID();\n if (mergedIdOutput) {\n const _mergedIds: SCANNED_RECORD =\n mergedIdOutput[prefixedMergedObjectiveId];\n _mergedIds.pending.push(prefixedMergedObjectiveId);\n\n await storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify({\n ...mergedIdOutput,\n [prefixedMergedObjectiveId]: _mergedIds,\n })\n );\n }\n\n let outputAtPrefixedId = allScansOutput[prefixedMergedObjectiveId] || {};\n\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({\n ...allScansOutput,\n [prefixedMergedObjectiveId]: { ...outputAtPrefixedId, scanOutput },\n })\n );\n\n // TRIGGER REMOVE SCAN EVENT\n const scannedData = scans.map((scan) => ({ scanValue: scan }));\n triggerScanEvent('ON_SCAN_REMOVE', route, scannedData);\n}\n\nexport async function updateSharedPreference(\n eventType: boolean,\n mergedObjectiveId: string,\n prefixedMergedObjectiveId: string\n) {\n let storage = Storage.getInstance();\n const mergedIdOutput = await getScanMergedObjectID();\n\n if (mergedIdOutput) {\n const _mergedIds: SCANNED_RECORD =\n mergedIdOutput[prefixedMergedObjectiveId];\n if (eventType) {\n _mergedIds.success.push(mergedObjectiveId);\n } else {\n _mergedIds.failure.push(mergedObjectiveId);\n }\n\n await storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify({\n ...mergedIdOutput,\n [prefixedMergedObjectiveId]: _mergedIds,\n })\n );\n }\n}\n\nexport async function updatePendingSharedPreference(\n eventType: boolean,\n prefixedMergedObjectiveId: string\n) {\n let storage = Storage.getInstance();\n const mergedIdOutput = await getScanMergedObjectID();\n\n if (mergedIdOutput) {\n const _mergedIds = mergedIdOutput[prefixedMergedObjectiveId];\n if (_mergedIds) {\n if (eventType) {\n _mergedIds.success.push(prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n } else {\n _mergedIds.failure.push(prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n }\n\n await storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify({\n ...mergedIdOutput,\n [prefixedMergedObjectiveId]: _mergedIds,\n })\n );\n }\n }\n}\n\nexport const getTabCount = async (\n scanProps: ScannerInput\n): Promise<TabRecord> => {\n let prefixedMergedObjectiveId =\n scanProps.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n const mergedIdOutput = await getScanMergedObjectID();\n const defaultResult = {\n [SummaryPageTabs.ALL]: 0,\n [SummaryPageTabs.PENDING]: 0,\n [SummaryPageTabs.DELIVERED]: 0,\n [SummaryPageTabs.UNDELIVERED]: 0,\n };\n const input: any = {};\n if (mergedIdOutput) {\n const _mergedIds = mergedIdOutput[prefixedMergedObjectiveId];\n if (_mergedIds) {\n const success = _mergedIds.success;\n const failure = _mergedIds.failure;\n const pending = _mergedIds.pending;\n input[SummaryPageTabs.ALL] = [...success, ...failure, ...pending];\n if (pending.length > 0) input[SummaryPageTabs.PENDING] = pending;\n if (success.length > 0) input[SummaryPageTabs.DELIVERED] = success;\n if (failure.length > 0) input[SummaryPageTabs.UNDELIVERED] = failure;\n\n const result = await DispatchExecutor.getWFICountByMWIIds(input);\n\n return { ...defaultResult, ...result };\n } else {\n return defaultResult;\n }\n } else {\n return defaultResult;\n }\n};\n\nexport const clearScanOutput = async (prefixedMergedObjectiveId: string) => {\n let storage = Storage.getInstance();\n\n const promises: any = [];\n\n // Clear Scan Record\n const scanRecord = (await getScanMergedObjectID()) || {};\n if (scanRecord) {\n delete scanRecord[prefixedMergedObjectiveId];\n\n promises.push(\n storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify(scanRecord)\n )\n );\n }\n\n // Clear Scan Output\n const scanOutputs = (await getScanMappedOutput()) || {};\n if (scanOutputs) {\n delete scanOutputs[prefixedMergedObjectiveId];\n\n promises.push(\n storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify(scanOutputs)\n )\n );\n }\n return Promise.all(promises);\n};\n\nexport async function getScanMergedObjectID(): Promise<SCAN_MERGED_OBJ_ID_INTEFACE | null> {\n let storage = Storage.getInstance();\n const mergedIdOutput = await storage.getSharedItem(SCAN_MERGED_OBJ_ID_OUTPUT);\n if (mergedIdOutput) {\n return JSON.parse(mergedIdOutput);\n } else {\n return null;\n }\n}\n\nexport async function getScanMergedOutput(): Promise<ScannerOutput | null> {\n let storage = Storage.getInstance();\n const mergedIdOutput = await storage.getSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT\n );\n if (mergedIdOutput) {\n return JSON.parse(mergedIdOutput);\n } else {\n return null;\n }\n}\n\nexport const getErrorMessage = (\n scan: string,\n error: {\n errorCode: number;\n message: string;\n }\n): { type: SnackBarType; message: string } => {\n switch (error.errorCode) {\n case WIErrorCodes.ScannableIdAlreadyCompleted:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ScannableIdAlreadyCompleted]\n }`,\n };\n case WIErrorCodes.ScannableIdNotInDispatch:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ScannableIdNotInDispatch]\n }`,\n };\n case WIErrorCodes.ScannableIdNotReady:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ScannableIdNotReady]\n }`,\n };\n case WIErrorCodes.DifferentGroupUpdateNotAllowed:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.DifferentGroupUpdateNotAllowed]\n }`,\n };\n case WIErrorCodes.ObjectiveAndJobWFMismatch:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ObjectiveAndJobWFMismatch]\n }`,\n };\n case WIErrorCodes.ScannableIdAlreadyUpdated:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ScannableIdAlreadyUpdated]\n }`,\n };\n case WIErrorCodes.JobAlreadyCompleted:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.JobAlreadyCompleted]\n }`,\n };\n case WIErrorCodes.ScannableIdPartOfAnotherMO:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ScannableIdPartOfAnotherMO]\n }`,\n };\n default:\n return {\n type: SnackBarType.FAILURE,\n message: 'Error occurred while scanning',\n };\n }\n};\n\nexport const getSplitIds = (scanOutput: ScannerOutput): string[] => {\n const splitMergedObjectiveIds = Object.keys(scanOutput)\n .filter((mergedObjectiveID: string) => {\n const scan = scanOutput[mergedObjectiveID];\n if (scan.count > 0) return true;\n return false;\n })\n .map((mergedObjectiveIds) => mergedObjectiveIds);\n\n return splitMergedObjectiveIds;\n};\n\nexport function filterERCItems(\n eventCodeItems: ercItem[],\n type: 'SUCCESS' | 'FAILURE'\n): ercItem[] {\n return eventCodeItems.filter(\n (erc) => Boolean(erc.success) === (type === 'SUCCESS' ? true : false)\n );\n}\n\nexport async function resetObjective(scanProps: ScannerInput) {\n const taskName = scanProps.taskName || '';\n const deliveredMergedObjectiveIds = await fetchMergedObjectiveIdBasedOnStatus(\n SummaryPageTabs.DELIVERED,\n scanProps\n );\n const undeliveredMergedObjectiveIds =\n await fetchMergedObjectiveIdBasedOnStatus(\n SummaryPageTabs.UNDELIVERED,\n scanProps\n );\n\n if (\n (!deliveredMergedObjectiveIds ||\n deliveredMergedObjectiveIds.length === 0) &&\n (!undeliveredMergedObjectiveIds ||\n undeliveredMergedObjectiveIds.length === 0)\n ) {\n return;\n }\n\n const scannedData: any[] = [];\n\n if (deliveredMergedObjectiveIds && deliveredMergedObjectiveIds.length) {\n let hasNextPage = true;\n let offset = 0;\n const limit = BULK_DATA_LIMIT;\n let scans: IDispatch.IQueryWFIResponse = { data: [], totalCount: 0 };\n\n do {\n scans = await DispatchExecutor.filterWFIData(\n taskName,\n deliveredMergedObjectiveIds,\n limit,\n offset\n );\n scans.data.forEach((scan) => {\n scannedData.push({\n scanValue: scan.scannableId,\n });\n });\n\n offset += limit;\n hasNextPage = scans.totalCount - offset + 1 > 0;\n } while (hasNextPage);\n }\n if (undeliveredMergedObjectiveIds && undeliveredMergedObjectiveIds.length) {\n let hasNextPage = true;\n let offset = 0;\n const limit = BULK_DATA_LIMIT;\n let scans: IDispatch.IQueryWFIResponse = { data: [], totalCount: 0 };\n\n do {\n scans = await DispatchExecutor.filterWFIData(\n taskName,\n undeliveredMergedObjectiveIds,\n limit,\n offset\n );\n scans.data.forEach((scan) => {\n scannedData.push({\n scanValue: scan.scannableId,\n });\n });\n\n offset += limit;\n hasNextPage = scans.totalCount - offset + 1 > 0;\n } while (hasNextPage);\n }\n triggerScanEvent('ON_SCAN_REMOVE', scanProps.route, scannedData);\n return;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_expoBarcodeScanner","require","_interfaces","_ScanSchema","jsonLogic","_interopRequireWildcard","_ExecTaskUtils","_ETConfig","_ApiUtils","_Logger","_constants","_storage","_interopRequireDefault","_constants2","_RouteParams","_EventDispatcher","_platformCoreosExecutionEngineSdk","_utils","_constants3","_DropDownUtils","_SnackBarCustom","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","getBarCodeTypes","input","barCodeType","scannedInput","scanType","forEach","type","ExpoBarcodeTypes","QRCODE","push","BarCodeScanner","Constants","BarCodeType","qr","aztec","codabar","code128","code39","code93","datamatrix","ean13","ean8","itf14","pdf417","upc_e","checkForValidation","validation","selectedIndex","logic","regex","RegExp","test","api","apiData","errorJsonPath","responseJsonPath","uri","httpMethod","timeout","headers","requestBody","parsedRequestBody","parseBody","pathParams","parseKeyValue","queryParams","apiResponse","getApiResponse","apply","responseJsonLogic","data","error","Logger","getInstance","logEvent","message","LOG_TYPE","SDK_ERROR","getShipmentData","scansMap","pendingShipments","scannedShipments","key","value","entries","scanStatus","undefined","SCAN_STATUS","SCANNED","FAILED","getScannedItemCount","getMappingCount","scanOutput","wiMappingUpdate","mwId","mergedObjectiveId","count","getUpdatedScanETOutput","success","eventCode","reasonCode","route","scannedData","prefixedMergedObjectiveId","params","RouteParams","ROOT_META_DATA","previousMWID","previousMergedObjectiveId","output","getBaseETResponse","EntityCode","SCAN","ExecutionTaskID","_scannedData","groupId","displayInfo","jobId","shipmentFlow","scanValue","scanId","isScan","triggerScanEvent","allScansOutput","getScanMappedOutput","storage","Storage","setSharedItem","SHARED_PREFERENCE_SCAN_OUTPUT","JSON","stringify","getScanETOutput","mergeScannedOutput","ercItems","defaultERC","deliverState","isPartial","DeliverState","CANCELLED","DELIVERE_LATER","REASON_NOT_USED","DELIVER_NOW","getEventType","getScannedItems","items","validated","timestamp","Date","now","isETCompleted","scanMode","isMultiObjectiveEnable","scannedShipmentCount","singleModeCount","allowMultiObjectivePartial","_scannedShipmentCount","length","scans","isReplacement","scan","selectedEventCode","selectedReason","_scansMap$get","_scansMap$get2","code","eventList","result","find","Boolean","mergedScanOutput","getSharedItem","parse","etOutput","nextStates","NEXT_STATES","eventOutputData","meta","etData","endTime","taskId","customData","customEventsData","dispatchEvent","taskName","fetchMergedObjectiveIdBasedOnStatus","activeTab","scanProps","mergedObjectiveIds","filterIds","getScanMergedObjectID","SummaryPageTabs","ALL","PENDING","DELIVERED","UNDELIVERED","fetchLabel","getDefaultERCLabel","modifyDisplayScanData","response","updatedScanData","Promise","all","map","_scan$displayInfo","_scan$displayInfo2","scannableId","clientName","orderId","originalMergedObjId","lastStatus","eCode","rCode","totalCount","getScanData","limit","offset","DispatchExecutor","filterWFIData","addScans","isErcSelector","ercSelector","isEmptyOrBlank","status","EMPTY_AWB","SnackBarType","FAILURE","ER_MISSING","replace","isValidated","eventType","updateWIMapping","ec","rc","scanToMerge","title","subTitle","updateSharedPreference","_scanOutput","WARNING","SUCCESS","shipmentCount","scannedCount","scanned","total","exitOnError","exit","getErrorMessage","INVALID_SHIPMENT","removeScan","removeShipment","keys","getScanMergedOutput","mergedIdOutput","_mergedIds","pending","SCAN_MERGED_OBJ_ID_OUTPUT","outputAtPrefixedId","failure","updatePendingSharedPreference","getTabCount","defaultResult","getWFICountByMWIIds","exports","clearScanOutput","promises","scanRecord","scanOutputs","errorCode","WIErrorCodes","ScannableIdAlreadyCompleted","ErrorCodeMessages","ScannableIdNotInDispatch","ScannableIdNotReady","DifferentGroupUpdateNotAllowed","ObjectiveAndJobWFMismatch","ScannableIdAlreadyUpdated","JobAlreadyCompleted","ScannableIdPartOfAnotherMO","getSplitIds","splitMergedObjectiveIds","filter","mergedObjectiveID","filterERCItems","eventCodeItems","erc","resetObjective","deliveredMergedObjectiveIds","undeliveredMergedObjectiveIds","hasNextPage","BULK_DATA_LIMIT"],"sources":["utils.ts"],"sourcesContent":["import { BarCodeScanner } from 'expo-barcode-scanner';\nimport {\n ADD_SCAN,\n ExpoBarcodeTypes,\n MergedScan,\n SCANNED_RECORD,\n SCAN_MERGED_OBJ_ID_INTEFACE,\n SCAN_STATUS,\n SHARED_PREF_SCAN_OUTPUT_INTERFACE,\n SummaryDisplayData,\n SummaryPageTabs,\n TabRecord,\n} from './interfaces';\nimport {\n API,\n DefaultERC,\n DeliverState,\n IWIMappingUpdate,\n ScanData,\n ScanMode,\n ScannerInput,\n ScannerOutput,\n ScannerType,\n Validation,\n} from './ScanSchema';\nimport * as jsonLogic from 'json-logic-js';\nimport type { ercItem } from './sub_components/ERDropDown';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport {\n APIData,\n getApiResponse,\n parseBody,\n parseKeyValue,\n} from '../../../utils/ApiUtils';\nimport Logger, { LOG_TYPE } from '../../../utils/Logger';\nimport { REASON_NOT_USED } from '../../../constants/constants';\nimport Storage from '../../../utils/storage';\nimport {\n BULK_DATA_LIMIT,\n SCAN_MERGED_OBJ_ID_OUTPUT,\n SHARED_PREFERENCE_SCAN_OUTPUT,\n} from '../../../manager/syncmanager/constants';\nimport { RouteParams } from '../../../ui/uiConfig/RouteParams';\nimport dispatchEvent from '../../../events/EventDispatcher';\nimport {\n DispatchExecutor,\n IDispatch,\n WIErrorCodes,\n ErrorCodeMessages,\n} from '@os1-platform/platform-coreos-execution-engine-sdk';\nimport { isEmptyOrBlank } from '../../../utils/utils';\nimport { EMPTY_AWB, ER_MISSING, INVALID_SHIPMENT } from './constants';\nimport { onScanEvent, onScanRemoveEvent } from '../../../models/DispatchModels';\nimport { BaseETResponse } from '../ExecutionTasksIndex';\nimport { eventType } from '../../../events/interface';\nimport { getDefaultERCLabel } from './sub_components/DropDownUtils';\nimport { SnackBarType } from '../../../components/widgets/SnackBarCustom';\n\nexport function getBarCodeTypes(input: ScannerInput): any[] {\n const barCodeType: any[] = [];\n const {\n scannedInput: { scanType },\n } = input;\n scanType.forEach((type: ScannerType) => {\n switch (type) {\n case ExpoBarcodeTypes.QRCODE:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.qr);\n break;\n case ExpoBarcodeTypes.aztec:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.aztec);\n break;\n case ExpoBarcodeTypes.codabar:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.codabar);\n break;\n case ExpoBarcodeTypes.code128:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.code128);\n break;\n case ExpoBarcodeTypes.code39:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.code39);\n break;\n case ExpoBarcodeTypes.code93:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.code93);\n break;\n case ExpoBarcodeTypes.datamatrix:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.datamatrix);\n break;\n case ExpoBarcodeTypes.ean13:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.ean13);\n break;\n case ExpoBarcodeTypes.ean8:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.ean8);\n break;\n case ExpoBarcodeTypes.itf14:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.itf14);\n break;\n case ExpoBarcodeTypes.pdf417:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.pdf417);\n break;\n case ExpoBarcodeTypes.upc_e:\n barCodeType.push(BarCodeScanner.Constants.BarCodeType.upc_e);\n break;\n\n default:\n break;\n }\n });\n return barCodeType;\n}\n\nexport async function checkForValidation(\n scannedInput: string,\n validation: Validation\n): Promise<boolean> {\n // Scans Array\n if (validation.selectedIndex === 0) {\n return true;\n }\n // Validation Regex\n else if (\n validation.selectedIndex === 1 &&\n typeof validation.logic === 'string'\n ) {\n const regex = new RegExp(validation.logic);\n return regex.test(scannedInput);\n }\n // API\n else if (\n validation.selectedIndex === 2 &&\n typeof validation.logic === 'object'\n ) {\n try {\n //@ts-ignore\n const api: API = validation.logic;\n const apiData: APIData = {\n errorJsonPath: '',\n responseJsonPath: '',\n uri: api.uri,\n httpMethod: api.httpMethod,\n timeout: api.timeout,\n headers: api.headers,\n };\n if (api.requestBody) {\n const parsedRequestBody = parseBody(api.requestBody, scannedInput);\n apiData.requestBody = parsedRequestBody;\n }\n if (api.pathParams) {\n parseKeyValue(api.pathParams, scannedInput);\n apiData.pathParams = api.pathParams;\n }\n if (api.queryParams) {\n parseKeyValue(api.queryParams, scannedInput);\n apiData.queryParams = api.queryParams;\n }\n const apiResponse = await getApiResponse(apiData);\n\n return jsonLogic.apply(\n <jsonLogic.RulesLogic>api.responseJsonLogic,\n apiResponse.data\n );\n } catch (error: any) {\n Logger.getInstance().logEvent(\n '~ checkForValidation',\n error.message,\n LOG_TYPE.SDK_ERROR\n );\n return false;\n }\n } else {\n return false;\n }\n}\n\nexport function getShipmentData(\n selectedIndex: number,\n scansMap: Map<string, MergedScan>\n): [string[], string[]] {\n const pendingShipments: string[] = [];\n const scannedShipments: string[] = [];\n //@ts-ignore\n for (let [key, value] of scansMap.entries()) {\n /**\n * If scanStatus is undefined then push the shipment to pending.\n * If scanStatus is not undefined:\n * Then if successfully scanned, move to scannedShipments array.\n * Else do nothing.\n */\n if (value?.scanStatus != undefined) {\n if (value?.scanStatus === SCAN_STATUS.SCANNED) {\n scannedShipments.push(key);\n } else if (value?.scanStatus === SCAN_STATUS.FAILED) {\n pendingShipments.push(key);\n }\n } else if (selectedIndex === 0) {\n pendingShipments.push(key);\n }\n }\n return [pendingShipments, scannedShipments];\n}\n\nexport function getScannedItemCount(scansMap: Map<string, MergedScan>): number {\n let scannedShipments = 0;\n if (scansMap) {\n for (let [, value] of scansMap.entries()) {\n if (value.scanStatus === SCAN_STATUS.SCANNED) {\n scannedShipments++;\n }\n }\n return scannedShipments;\n }\n return scannedShipments;\n}\n\nexport function getMappingCount(\n scanOutput: ScannerOutput,\n wiMappingUpdate: IWIMappingUpdate\n) {\n const { mwId: mergedObjectiveId } = wiMappingUpdate.data;\n\n if (scanOutput[mergedObjectiveId]) {\n return scanOutput[mergedObjectiveId].count + 1;\n } else {\n return 1;\n }\n}\n\nexport async function getUpdatedScanETOutput(\n scanOutput: ScannerOutput,\n wiMappingUpdate: IWIMappingUpdate,\n success: boolean,\n eventCode: string,\n reasonCode: string,\n route: any,\n scannedData: any\n) {\n const prefixedMergedObjectiveId =\n route.params[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n const { mwId: mergedObjectiveId, previousMWID: previousMergedObjectiveId } =\n wiMappingUpdate.data;\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n success,\n eventCode,\n reasonCode,\n [mergedObjectiveId],\n ExecutionTaskID.SCAN\n );\n const _scannedData: any = [\n {\n groupId: scannedData.displayInfo.groupId,\n jobId: scannedData.jobId,\n shipmentFlow: scannedData.displayInfo.shipmentFlow,\n scanValue: scannedData.scanId,\n },\n ];\n\n scannedData?.isScan\n ? triggerScanEvent('ON_SCAN', route, _scannedData, output)\n : null;\n\n if (scanOutput[previousMergedObjectiveId]) {\n scanOutput[previousMergedObjectiveId].count -= 1;\n\n if (scanOutput[previousMergedObjectiveId].count === 0) {\n delete scanOutput[previousMergedObjectiveId];\n }\n }\n const count = getMappingCount(scanOutput, wiMappingUpdate);\n\n if (!scanOutput[mergedObjectiveId]) {\n scanOutput[mergedObjectiveId] = { output, count };\n } else {\n scanOutput[mergedObjectiveId].count = count;\n }\n\n // SAVE IN SHARED PREFERENCE\n let allScansOutput = (await getScanMappedOutput()) || {};\n let storage = Storage.getInstance();\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({\n ...allScansOutput,\n [prefixedMergedObjectiveId]: scanOutput,\n })\n );\n return scanOutput;\n}\n\nexport async function getScanETOutput(\n mergeScannedOutput: ScannerOutput,\n mergedObjectiveId: Array<string>,\n ercItems: ercItem[],\n defaultERC: DefaultERC,\n deliverState: DeliverState,\n isPartial: boolean,\n count: number\n): Promise<ScannerOutput> {\n switch (deliverState) {\n case DeliverState.CANCELLED: {\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n false,\n defaultERC.eventCode,\n defaultERC.reasonCode || '',\n mergedObjectiveId,\n ExecutionTaskID.SCAN\n );\n return {\n [mergedObjectiveId[0]]: {\n output,\n count,\n },\n };\n }\n case DeliverState.DELIVERE_LATER: {\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n false,\n REASON_NOT_USED,\n '',\n mergedObjectiveId,\n ExecutionTaskID.SCAN\n );\n mergeScannedOutput['default'] = {\n output,\n count,\n };\n return mergeScannedOutput;\n }\n case DeliverState.DELIVER_NOW: {\n if (isPartial) {\n const output = await getBaseETResponse(\n EntityCode.SCAN,\n getEventType(ercItems, defaultERC.eventCode),\n defaultERC.eventCode,\n defaultERC.reasonCode || '',\n mergedObjectiveId,\n ExecutionTaskID.SCAN\n );\n\n mergeScannedOutput['default'] = { output, count };\n return mergeScannedOutput;\n } else {\n return mergeScannedOutput;\n }\n }\n default: {\n return mergeScannedOutput;\n }\n }\n}\n\nexport function getScannedItems(scanValue: MergedScan): ScanData[] {\n const items: ScanData[] = [];\n if (scanValue.scanStatus === SCAN_STATUS.SCANNED)\n items.push({\n value: scanValue.value,\n validated: scanValue.validated || false,\n timestamp: scanValue.timestamp || Date.now(),\n });\n\n return items;\n}\n\nexport function isETCompleted(\n validation: Validation,\n scansMap: Map<string, MergedScan>,\n scanMode: ScanMode,\n isMultiObjectiveEnable: boolean,\n scannedShipmentCount?: number,\n singleModeCount?: number,\n allowMultiObjectivePartial?: boolean\n): boolean {\n if (scanMode === 'SINGLE' || isMultiObjectiveEnable) {\n let _scannedShipmentCount = scannedShipmentCount || 0;\n\n if (!scannedShipmentCount) {\n const [, scannedShipments] = getShipmentData(\n validation.selectedIndex,\n scansMap\n );\n _scannedShipmentCount = scannedShipments.length;\n }\n\n if (allowMultiObjectivePartial) {\n return _scannedShipmentCount >= 1;\n }\n\n return singleModeCount === _scannedShipmentCount;\n } else {\n // Scans Array\n if (validation.selectedIndex === 0) {\n //@ts-ignore\n const scans: string[] = validation.logic;\n if (!scannedShipmentCount) {\n const [, scannedShipments] = getShipmentData(\n validation.selectedIndex,\n scansMap\n );\n return scans.length === scannedShipments.length;\n }\n\n return scans.length === scannedShipmentCount;\n }\n // Validation Regex\n else if (\n (validation.selectedIndex === 1 &&\n typeof validation.logic === 'string') ||\n (validation.selectedIndex === 2 && typeof validation.logic === 'object')\n ) {\n return true;\n } else {\n return false;\n }\n }\n}\n\nexport function isReplacement(\n scan: string,\n scansMap: Map<string, MergedScan>,\n selectedEventCode: ercItem | undefined,\n selectedReason: ercItem | undefined\n) {\n if (\n //(selectedEventCode || selectedReason) &&\n //scansMap.get(scan)?.eventCode &&\n scansMap.get(scan)?.eventCode !== selectedEventCode?.code || //scansMap.get(scan)?.reasonCode !== undefined &&\n scansMap.get(scan)?.reasonCode !== selectedReason?.code\n ) {\n return true;\n }\n return false;\n}\n\nexport function getEventType(\n eventList: Array<ercItem>,\n eventCode: string\n): boolean {\n const result = eventList.find((code) => code.code === eventCode);\n if (result) {\n return Boolean(result.success);\n } else {\n return false;\n }\n}\n\nexport async function getScanMappedOutput(): Promise<SHARED_PREF_SCAN_OUTPUT_INTERFACE> {\n let storage = Storage.getInstance();\n const mergedScanOutput = await storage.getSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT\n );\n if (mergedScanOutput) {\n return JSON.parse(mergedScanOutput);\n } else {\n return {};\n }\n}\n\nexport function triggerScanEvent(\n type: eventType,\n route: any,\n scannedData: any,\n etOutput?: BaseETResponse\n) {\n switch (type) {\n case 'ON_SCAN': {\n const nextStates = route.params[RouteParams.NEXT_STATES];\n const eventOutputData: onScanEvent = {\n meta: etOutput?.meta || {},\n etData: {\n eventCode: etOutput?.eventCode || '',\n reasonCode: etOutput?.reasonCode || '',\n success: etOutput?.success || false,\n endTime: Date.now(),\n scannedData,\n },\n taskId: nextStates.taskId,\n timestamp: Date.now(),\n customData: route.params[RouteParams.ROOT_META_DATA].customEventsData,\n };\n dispatchEvent('ON_SCAN', nextStates.taskName, eventOutputData);\n break;\n }\n case 'ON_SCAN_REMOVE': {\n const nextStates = route.params[RouteParams.NEXT_STATES];\n const eventOutputData: onScanRemoveEvent = {\n etData: {\n scannedData,\n },\n taskId: nextStates.taskId,\n timestamp: Date.now(),\n customData: route.params[RouteParams.ROOT_META_DATA].customEventsData,\n };\n dispatchEvent('ON_SCAN_REMOVE', nextStates.taskName, eventOutputData);\n break;\n }\n default:\n break;\n }\n}\n\nconst fetchMergedObjectiveIdBasedOnStatus = async (\n activeTab: SummaryPageTabs,\n scanProps: ScannerInput\n) => {\n let prefixedMergedObjectiveId =\n scanProps.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n let mergedObjectiveIds: SCANNED_RECORD;\n let filterIds = await getScanMergedObjectID();\n if (filterIds) {\n mergedObjectiveIds = filterIds[prefixedMergedObjectiveId] || [];\n } else {\n return [];\n }\n\n switch (activeTab) {\n case SummaryPageTabs.ALL:\n return [\n ...mergedObjectiveIds['pending'],\n ...mergedObjectiveIds['success'],\n ...mergedObjectiveIds['failure'],\n ];\n case SummaryPageTabs.PENDING:\n return mergedObjectiveIds['pending'];\n case SummaryPageTabs.DELIVERED:\n return mergedObjectiveIds['success'];\n case SummaryPageTabs.UNDELIVERED:\n return mergedObjectiveIds['failure'];\n default:\n return [];\n }\n};\n\nconst fetchLabel = async (eventCode: string, reasonCode?: string) => {\n return await getDefaultERCLabel({\n eventCode,\n reasonCode,\n });\n};\n\nconst modifyDisplayScanData = async (\n response: IDispatch.IQueryWFIResponse\n): Promise<SummaryDisplayData> => {\n const { data: scans } = response;\n const updatedScanData = await Promise.all(\n scans.map(async (scan) => {\n const { eventCode, reasonCode } = await fetchLabel(\n scan.eventCode,\n scan.reasonCode\n );\n\n return {\n scanId: scan.scannableId,\n clientName: scan.displayInfo?.clientName || '--',\n orderId: scan.displayInfo?.orderId || '--',\n eventCode: eventCode || '--',\n reasonCode: reasonCode || '--',\n prefixedMergedObjectiveId: scan.originalMergedObjId,\n lastStatus: scan.lastStatus,\n eCode: scan.eventCode,\n rCode: scan.reasonCode\n };\n })\n );\n\n return { data: updatedScanData, totalCount: response.totalCount };\n};\n\nexport async function getScanData(\n activeTab: SummaryPageTabs,\n scanProps: ScannerInput,\n limit: number,\n offset: number,\n scan?: string\n): Promise<SummaryDisplayData> {\n const taskName = scanProps.taskName || '';\n const mergedObjectiveId: Array<string> = scanProps.mergedObjectiveId;\n\n const mergedObjectiveIds = await fetchMergedObjectiveIdBasedOnStatus(\n activeTab,\n scanProps\n );\n\n if (!mergedObjectiveIds || mergedObjectiveIds.length === 0) {\n return {\n data: [],\n totalCount: 0,\n };\n }\n if (scan) {\n const scans: IDispatch.IQueryWFIResponse =\n await DispatchExecutor.filterWFIData(\n taskName,\n mergedObjectiveIds,\n limit,\n offset,\n scan\n );\n\n return await modifyDisplayScanData(scans);\n } else {\n const scans: IDispatch.IQueryWFIResponse =\n await DispatchExecutor.filterWFIData(\n taskName,\n mergedObjectiveIds,\n limit,\n offset\n );\n\n return await modifyDisplayScanData(scans);\n }\n}\n\nexport async function addScans(\n scan: string,\n scanProps: ScannerInput,\n scanOutput: ScannerOutput,\n ercItems: ercItem[],\n eventCode: ercItem,\n reasonCode?: ercItem\n): Promise<ADD_SCAN> {\n const prefixedMergedObjectiveId =\n scanProps.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n\n const isErcSelector = scanProps.ercSelector ? true : false;\n if (isEmptyOrBlank(scan)) {\n return { status: false, message: EMPTY_AWB, type: SnackBarType.FAILURE };\n }\n\n if (isErcSelector && (!eventCode || !eventCode.code)) {\n return {\n status: false,\n type: SnackBarType.FAILURE,\n message: ER_MISSING.replace('<shipment_id>', scan),\n };\n }\n\n let isValidated = await checkForValidation(scan, scanProps.validation);\n\n if (isValidated) {\n // NEW CODE\n try {\n const eventType = getEventType(ercItems || [], eventCode?.code || '');\n\n const result = await DispatchExecutor.updateWIMapping(\n prefixedMergedObjectiveId,\n scan,\n {\n ec: eventCode?.code || '',\n rc: reasonCode?.code || '',\n },\n scanProps.scanToMerge || false\n );\n if ('data' in result) {\n const data: IDispatch.MappingUpdateResponse = result.data;\n const {\n message: { title, subTitle },\n } = data;\n\n // UPDATE SHARED PREFERENCE\n updateSharedPreference(eventType, data.mwId, prefixedMergedObjectiveId);\n\n const _scanOutput = await getUpdatedScanETOutput(\n scanOutput,\n result,\n eventType,\n eventCode?.code || '',\n reasonCode?.code || '',\n scanProps.route,\n {\n jobId: data.jobId,\n displayInfo: data.displayInfo,\n isScan: true,\n scanId: scan,\n }\n );\n\n return {\n status: true,\n type: subTitle ? SnackBarType.WARNING : SnackBarType.SUCCESS,\n message: subTitle\n ? `#${scan}\\n${title}\\n${subTitle}`\n : `#${scan}\\nShipment updated successfully!`,\n data: {\n output: _scanOutput,\n shipmentCount: {\n scannedCount: data.scanned,\n totalCount: data.total,\n },\n },\n };\n } else {\n return {\n status: false,\n type: SnackBarType.FAILURE,\n message: 'Error occurred while scanning',\n };\n }\n } catch (error: any) {\n if (scanProps.exitOnError) {\n return {\n status: false,\n type: SnackBarType.FAILURE,\n exit: true,\n message: 'Error occurred while scanning',\n };\n\n // props.onSubmitET({\n // ...(await getScanETOutput(\n // mergedScanETOutput,\n // props.mergedObjectiveId,\n // eventCodeItems || [],\n // props.defaultERC,\n // false,\n // true\n // )),\n // });\n } else {\n return {\n status: false,\n ...getErrorMessage(scan, error),\n };\n }\n }\n } else {\n if (scanProps.exitOnError) {\n return {\n status: false,\n type: SnackBarType.FAILURE,\n exit: true,\n message: 'Error occurred while scanning',\n };\n } else {\n return {\n status: false,\n message: INVALID_SHIPMENT,\n type: SnackBarType.FAILURE,\n };\n }\n }\n}\n\nexport async function removeScan(\n taskName: string,\n scans: Array<string>,\n route: any,\n scanOutput: ScannerOutput\n) {\n const prefixedMergedObjectiveId =\n route.params[RouteParams.ROOT_META_DATA].prefixedMergedObjectiveId;\n\n const result = await DispatchExecutor.removeShipment(\n prefixedMergedObjectiveId,\n scans,\n false\n );\n\n // Decrease count on remove\n Object.keys(result).forEach((mergedObjectiveId) => {\n scanOutput[mergedObjectiveId].count -= result[mergedObjectiveId];\n\n if (scanOutput[mergedObjectiveId].count === 0) {\n delete scanOutput[mergedObjectiveId];\n }\n });\n\n const allScansOutput = (await getScanMergedOutput()) || {};\n\n // SAVE IN SHARED PREFERENCE\n let storage = Storage.getInstance();\n\n const mergedIdOutput = await getScanMergedObjectID();\n if (mergedIdOutput) {\n const _mergedIds: SCANNED_RECORD =\n mergedIdOutput[prefixedMergedObjectiveId];\n _mergedIds.pending.push(prefixedMergedObjectiveId);\n\n await storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify({\n ...mergedIdOutput,\n [prefixedMergedObjectiveId]: _mergedIds,\n })\n );\n }\n\n let outputAtPrefixedId = allScansOutput[prefixedMergedObjectiveId] || {};\n\n await storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify({\n ...allScansOutput,\n [prefixedMergedObjectiveId]: { ...outputAtPrefixedId, scanOutput },\n })\n );\n\n // TRIGGER REMOVE SCAN EVENT\n const scannedData = scans.map((scan) => ({ scanValue: scan }));\n triggerScanEvent('ON_SCAN_REMOVE', route, scannedData);\n}\n\nexport async function updateSharedPreference(\n eventType: boolean,\n mergedObjectiveId: string,\n prefixedMergedObjectiveId: string\n) {\n let storage = Storage.getInstance();\n const mergedIdOutput = await getScanMergedObjectID();\n\n if (mergedIdOutput) {\n const _mergedIds: SCANNED_RECORD =\n mergedIdOutput[prefixedMergedObjectiveId];\n if (eventType) {\n _mergedIds.success.push(mergedObjectiveId);\n } else {\n _mergedIds.failure.push(mergedObjectiveId);\n }\n\n await storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify({\n ...mergedIdOutput,\n [prefixedMergedObjectiveId]: _mergedIds,\n })\n );\n }\n}\n\nexport async function updatePendingSharedPreference(\n eventType: boolean,\n prefixedMergedObjectiveId: string\n) {\n let storage = Storage.getInstance();\n const mergedIdOutput = await getScanMergedObjectID();\n\n if (mergedIdOutput) {\n const _mergedIds = mergedIdOutput[prefixedMergedObjectiveId];\n if (_mergedIds) {\n if (eventType) {\n _mergedIds.success.push(prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n } else {\n _mergedIds.failure.push(prefixedMergedObjectiveId);\n _mergedIds.pending = [];\n }\n\n await storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify({\n ...mergedIdOutput,\n [prefixedMergedObjectiveId]: _mergedIds,\n })\n );\n }\n }\n}\n\nexport const getTabCount = async (\n scanProps: ScannerInput\n): Promise<TabRecord> => {\n let prefixedMergedObjectiveId =\n scanProps.route.params[RouteParams.ROOT_META_DATA]\n .prefixedMergedObjectiveId;\n const mergedIdOutput = await getScanMergedObjectID();\n const defaultResult = {\n [SummaryPageTabs.ALL]: 0,\n [SummaryPageTabs.PENDING]: 0,\n [SummaryPageTabs.DELIVERED]: 0,\n [SummaryPageTabs.UNDELIVERED]: 0,\n };\n const input: any = {};\n if (mergedIdOutput) {\n const _mergedIds = mergedIdOutput[prefixedMergedObjectiveId];\n if (_mergedIds) {\n const success = _mergedIds.success;\n const failure = _mergedIds.failure;\n const pending = _mergedIds.pending;\n input[SummaryPageTabs.ALL] = [...success, ...failure, ...pending];\n if (pending.length > 0) input[SummaryPageTabs.PENDING] = pending;\n if (success.length > 0) input[SummaryPageTabs.DELIVERED] = success;\n if (failure.length > 0) input[SummaryPageTabs.UNDELIVERED] = failure;\n\n const result = await DispatchExecutor.getWFICountByMWIIds(input);\n\n return { ...defaultResult, ...result };\n } else {\n return defaultResult;\n }\n } else {\n return defaultResult;\n }\n};\n\nexport const clearScanOutput = async (prefixedMergedObjectiveId: string) => {\n let storage = Storage.getInstance();\n\n const promises: any = [];\n\n // Clear Scan Record\n const scanRecord = (await getScanMergedObjectID()) || {};\n if (scanRecord) {\n delete scanRecord[prefixedMergedObjectiveId];\n\n promises.push(\n storage.setSharedItem(\n SCAN_MERGED_OBJ_ID_OUTPUT,\n JSON.stringify(scanRecord)\n )\n );\n }\n\n // Clear Scan Output\n const scanOutputs = (await getScanMappedOutput()) || {};\n if (scanOutputs) {\n delete scanOutputs[prefixedMergedObjectiveId];\n\n promises.push(\n storage.setSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT,\n JSON.stringify(scanOutputs)\n )\n );\n }\n return Promise.all(promises);\n};\n\nexport async function getScanMergedObjectID(): Promise<SCAN_MERGED_OBJ_ID_INTEFACE | null> {\n let storage = Storage.getInstance();\n const mergedIdOutput = await storage.getSharedItem(SCAN_MERGED_OBJ_ID_OUTPUT);\n if (mergedIdOutput) {\n return JSON.parse(mergedIdOutput);\n } else {\n return null;\n }\n}\n\nexport async function getScanMergedOutput(): Promise<ScannerOutput | null> {\n let storage = Storage.getInstance();\n const mergedIdOutput = await storage.getSharedItem(\n SHARED_PREFERENCE_SCAN_OUTPUT\n );\n if (mergedIdOutput) {\n return JSON.parse(mergedIdOutput);\n } else {\n return null;\n }\n}\n\nexport const getErrorMessage = (\n scan: string,\n error: {\n errorCode: number;\n message: string;\n }\n): { type: SnackBarType; message: string } => {\n switch (error.errorCode) {\n case WIErrorCodes.ScannableIdAlreadyCompleted:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ScannableIdAlreadyCompleted]\n }`,\n };\n case WIErrorCodes.ScannableIdNotInDispatch:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ScannableIdNotInDispatch]\n }`,\n };\n case WIErrorCodes.ScannableIdNotReady:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ScannableIdNotReady]\n }`,\n };\n case WIErrorCodes.DifferentGroupUpdateNotAllowed:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.DifferentGroupUpdateNotAllowed]\n }`,\n };\n case WIErrorCodes.ObjectiveAndJobWFMismatch:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ObjectiveAndJobWFMismatch]\n }`,\n };\n case WIErrorCodes.ScannableIdAlreadyUpdated:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ScannableIdAlreadyUpdated]\n }`,\n };\n case WIErrorCodes.JobAlreadyCompleted:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.JobAlreadyCompleted]\n }`,\n };\n case WIErrorCodes.ScannableIdPartOfAnotherMO:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${ErrorCodeMessages[WIErrorCodes.ScannableIdPartOfAnotherMO]\n }`,\n };\n default:\n return {\n type: SnackBarType.FAILURE,\n message: 'Error occurred while scanning',\n };\n }\n};\n\nexport const getSplitIds = (scanOutput: ScannerOutput): string[] => {\n const splitMergedObjectiveIds = Object.keys(scanOutput)\n .filter((mergedObjectiveID: string) => {\n const scan = scanOutput[mergedObjectiveID];\n if (scan.count > 0) return true;\n return false;\n })\n .map((mergedObjectiveIds) => mergedObjectiveIds);\n\n return splitMergedObjectiveIds;\n};\n\nexport function filterERCItems(\n eventCodeItems: ercItem[],\n type: 'SUCCESS' | 'FAILURE'\n): ercItem[] {\n return eventCodeItems.filter(\n (erc) => Boolean(erc.success) === (type === 'SUCCESS' ? true : false)\n );\n}\n\nexport async function resetObjective(scanProps: ScannerInput) {\n const taskName = scanProps.taskName || '';\n const deliveredMergedObjectiveIds = await fetchMergedObjectiveIdBasedOnStatus(\n SummaryPageTabs.DELIVERED,\n scanProps\n );\n const undeliveredMergedObjectiveIds =\n await fetchMergedObjectiveIdBasedOnStatus(\n SummaryPageTabs.UNDELIVERED,\n scanProps\n );\n\n if (\n (!deliveredMergedObjectiveIds ||\n deliveredMergedObjectiveIds.length === 0) &&\n (!undeliveredMergedObjectiveIds ||\n undeliveredMergedObjectiveIds.length === 0)\n ) {\n return;\n }\n\n const scannedData: any[] = [];\n\n if (deliveredMergedObjectiveIds && deliveredMergedObjectiveIds.length) {\n let hasNextPage = true;\n let offset = 0;\n const limit = BULK_DATA_LIMIT;\n let scans: IDispatch.IQueryWFIResponse = { data: [], totalCount: 0 };\n\n do {\n scans = await DispatchExecutor.filterWFIData(\n taskName,\n deliveredMergedObjectiveIds,\n limit,\n offset\n );\n scans.data.forEach((scan) => {\n scannedData.push({\n scanValue: scan.scannableId,\n });\n });\n\n offset += limit;\n hasNextPage = scans.totalCount - offset + 1 > 0;\n } while (hasNextPage);\n }\n if (undeliveredMergedObjectiveIds && undeliveredMergedObjectiveIds.length) {\n let hasNextPage = true;\n let offset = 0;\n const limit = BULK_DATA_LIMIT;\n let scans: IDispatch.IQueryWFIResponse = { data: [], totalCount: 0 };\n\n do {\n scans = await DispatchExecutor.filterWFIData(\n taskName,\n undeliveredMergedObjectiveIds,\n limit,\n offset\n );\n scans.data.forEach((scan) => {\n scannedData.push({\n scanValue: scan.scannableId,\n });\n });\n\n offset += limit;\n hasNextPage = scans.totalCount - offset + 1 > 0;\n } while (hasNextPage);\n }\n triggerScanEvent('ON_SCAN_REMOVE', scanProps.route, scannedData);\n return;\n}\n"],"mappings":"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"}
|
|
@@ -66,17 +66,6 @@ class DocumentSyncManager {
|
|
|
66
66
|
let documentRows = await this.docManager.getUnsyncedDocument();
|
|
67
67
|
if ((documentRows === null || documentRows === void 0 ? void 0 : documentRows.length) > 0) {
|
|
68
68
|
await this.uploadDocToServer(documentRows[0]);
|
|
69
|
-
let cta = 'startDocumentSync-DataAvailable';
|
|
70
|
-
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
71
|
-
severityLevel: _SentrySdkConstants.SeverityLevelValue.LOG,
|
|
72
|
-
eventName: _SentrySdkConstants.SentryEventNameSdkConstants.APP_LOG,
|
|
73
|
-
screenName: cta,
|
|
74
|
-
cta: cta,
|
|
75
|
-
extraParams: {
|
|
76
|
-
msg: JSON.stringify(documentRows[0])
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
_Logger.default.getInstance().logEvent(cta, JSON.stringify(documentRows[0]), _Logger.LOG_TYPE.SDK_ERROR);
|
|
80
69
|
} else {
|
|
81
70
|
let cta = 'startDocumentSync-NoData';
|
|
82
71
|
(0, _SentryAnalyticsUtils.fireEventWithScreenName)({
|
|
@@ -402,7 +391,6 @@ class DocumentSyncManager {
|
|
|
402
391
|
|
|
403
392
|
// This function will generate overlay base64 data and update documents table for processed_file_path columns with overlayed base64 data.
|
|
404
393
|
async processBase64Data(documentRow) {
|
|
405
|
-
// If base64 overlayed data already existing then do not generate it again.
|
|
406
394
|
if (documentRow.processed_file_path === null || documentRow.processed_file_path === '') {
|
|
407
395
|
let cta = 'processBase64Data-started';
|
|
408
396
|
let extra = {
|
|
@@ -536,7 +524,6 @@ class DocumentSyncManager {
|
|
|
536
524
|
extraParams: extra
|
|
537
525
|
});
|
|
538
526
|
_Logger.default.getInstance().logEvent(cta, (0, _utils.flattenObject)(extra), _Logger.LOG_TYPE.SDK_ERROR);
|
|
539
|
-
console.log('uploadDocToServer999:', docRow);
|
|
540
527
|
let fmsID = await ((_this$documentHttpCli = this.documentHttpClient) === null || _this$documentHttpCli === void 0 ? void 0 : _this$documentHttpCli.uploadDocument(docRow));
|
|
541
528
|
let extraParameters = {
|
|
542
529
|
fmsID: fmsID ?? '',
|