@os1-platform/dispatch-mobile 2.0.1 → 2.0.3
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/dropCash/SLDropCash.js +3 -0
- package/lib/commonjs/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/ScanET.js +3 -0
- package/lib/commonjs/components/executiontasks/scan/ScanET.js.map +1 -1
- package/lib/commonjs/components/executiontasks/scan/utils.js +50 -0
- package/lib/commonjs/components/executiontasks/scan/utils.js.map +1 -1
- package/lib/module/components/executiontasks/dropCash/SLDropCash.js +4 -1
- package/lib/module/components/executiontasks/dropCash/SLDropCash.js.map +1 -1
- package/lib/module/components/executiontasks/scan/ScanET.js +4 -1
- package/lib/module/components/executiontasks/scan/ScanET.js.map +1 -1
- package/lib/module/components/executiontasks/scan/utils.js +50 -1
- package/lib/module/components/executiontasks/scan/utils.js.map +1 -1
- package/lib/typescript/components/executiontasks/scan/utils.d.ts +1 -0
- package/package.json +1 -1
|
@@ -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","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","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","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"],"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 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${\n ErrorCodeMessages[WIErrorCodes.ScannableIdAlreadyCompleted]\n }`,\n };\n case WIErrorCodes.ScannableIdNotInDispatch:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.ScannableIdNotInDispatch]\n }`,\n };\n case WIErrorCodes.ScannableIdNotReady:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.ScannableIdNotReady]\n }`,\n };\n case WIErrorCodes.DifferentGroupUpdateNotAllowed:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.DifferentGroupUpdateNotAllowed]\n }`,\n };\n case WIErrorCodes.ObjectiveAndJobWFMismatch:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.ObjectiveAndJobWFMismatch]\n }`,\n };\n case WIErrorCodes.ScannableIdAlreadyUpdated:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.ScannableIdAlreadyUpdated]\n }`,\n };\n case WIErrorCodes.JobAlreadyCompleted:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.JobAlreadyCompleted]\n }`,\n };\n case WIErrorCodes.ScannableIdPartOfAnotherMO:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${\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"],"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","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","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","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${\n ErrorCodeMessages[WIErrorCodes.ScannableIdAlreadyCompleted]\n }`,\n };\n case WIErrorCodes.ScannableIdNotInDispatch:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.ScannableIdNotInDispatch]\n }`,\n };\n case WIErrorCodes.ScannableIdNotReady:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.ScannableIdNotReady]\n }`,\n };\n case WIErrorCodes.DifferentGroupUpdateNotAllowed:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.DifferentGroupUpdateNotAllowed]\n }`,\n };\n case WIErrorCodes.ObjectiveAndJobWFMismatch:\n return {\n type: SnackBarType.FAILURE,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.ObjectiveAndJobWFMismatch]\n }`,\n };\n case WIErrorCodes.ScannableIdAlreadyUpdated:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.ScannableIdAlreadyUpdated]\n }`,\n };\n case WIErrorCodes.JobAlreadyCompleted:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${\n ErrorCodeMessages[WIErrorCodes.JobAlreadyCompleted]\n }`,\n };\n case WIErrorCodes.ScannableIdPartOfAnotherMO:\n return {\n type: SnackBarType.WARNING,\n message: `#${scan}\\n${\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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"}
|
|
@@ -4,7 +4,7 @@ import { CommonStyles, DeliverPickupStyles, Fonts } from '../../../styles/execut
|
|
|
4
4
|
import { getBaseETResponse } from '../../../utils/ExecTaskUtils';
|
|
5
5
|
import { EntityCode, ExecutionTaskID } from '../../../models/execTasks/ETConfig';
|
|
6
6
|
import { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';
|
|
7
|
-
import React, { useState, useLayoutEffect } from 'react';
|
|
7
|
+
import React, { useState, useLayoutEffect, useEffect } from 'react';
|
|
8
8
|
import { isEmptyOrBlank } from '../../../utils/utils';
|
|
9
9
|
import { getPaymentValue } from '../payments/PaymentUtils';
|
|
10
10
|
import { GO_BACK_EVENT_CODE } from '../../../constants/constants';
|
|
@@ -18,6 +18,9 @@ const SLDropCash = props => {
|
|
|
18
18
|
const [inputError, setInputError] = useState('');
|
|
19
19
|
const [disableNext, setDisableNext] = useState(false);
|
|
20
20
|
const [showBackModal, setShowBackModal] = useState(false);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (!props.confirmAmount) setAmountCollected(`${getPaymentValue(props.expectedAmount.value, props.expectedAmount.minorUnit)}`);
|
|
23
|
+
}, [props.expectedAmount]);
|
|
21
24
|
|
|
22
25
|
// Handle back-button click when scanList was being viewed
|
|
23
26
|
useFocusEffect(React.useCallback(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Modal","Portal","Provider","TextInput","Text","View","CommonStyles","DeliverPickupStyles","Fonts","getBaseETResponse","EntityCode","ExecutionTaskID","getEventCodeByET","React","useState","useLayoutEffect","isEmptyOrBlank","getPaymentValue","GO_BACK_EVENT_CODE","Icon","GoBackModal","hasGoBackConnector","useFocusEffect","BackHandler","SLDropCash","props","amountCollected","setAmountCollected","confirmAmount","expectedAmount","value","minorUnit","inputError","setInputError","disableNext","setDisableNext","showBackModal","setShowBackModal","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","DELIVER_CASH","mergedObjectiveId","onFailure","mainContainer","visible","dismissable","contentContainerStyle","modalContent","modalView","titleText","marginTop","marginBottom","flexDirection","fontFamily","IBMPlexSans_400Regular","fontStyle","fontWeight","fontSize","flex","textAlign","lineHeight","confirmCustodyExchange","IBMPlexSans_600SemiBold","currencyCode","multiline","autoComplete","label","mode","error","selectionColor","keyboardType","onChangeText","text","disabled","nextButton","labelStyle","nextButtonLabel","uppercase","Number","isNaN","_props$applicableReas","calculatedValue","amount","success","cancelButtonLabel","cancelButton","_props$applicableReas2","failure"],"sources":["SLDropCash.tsx"],"sourcesContent":["import { Button, Modal, Portal, Provider, TextInput } from 'react-native-paper';\nimport { Text, View } from 'react-native';\nimport {\n CommonStyles,\n DeliverPickupStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport React, { useState, useLayoutEffect } from 'react';\nimport { isEmptyOrBlank } from '../../../utils/utils';\nimport type { DropCashInput } from './DropCashSchema';\nimport { getPaymentValue } from '../payments/PaymentUtils';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { BackHandler } from 'react-native';\n\nconst SLDropCash = (props: DropCashInput) => {\n const [amountCollected, setAmountCollected] = useState(\n props.confirmAmount\n ? ''\n : `${getPaymentValue(\n props.expectedAmount.value,\n props.expectedAmount.minorUnit\n )}`\n );\n const [inputError, setInputError] = useState('');\n\n const [disableNext, setDisableNext] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.DELIVER_CASH,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DELIVER_CASH\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <Portal>\n <View style={DeliverPickupStyles.mainContainer}>\n <Modal\n visible={true}\n dismissable={false}\n contentContainerStyle={DeliverPickupStyles.modalContent}\n >\n <View style={DeliverPickupStyles.modalView}>\n <Text style={DeliverPickupStyles.titleText}>{props.title}</Text>\n <View\n style={{\n marginTop: 15,\n marginBottom: 15,\n flexDirection: 'row',\n }}\n >\n <Text\n style={{\n fontFamily: Fonts.IBMPlexSans_400Regular,\n fontStyle: 'normal',\n fontWeight: '400',\n fontSize: 14,\n flex: 1,\n textAlign: 'left',\n lineHeight: 28,\n color: '#111111',\n }}\n >\n {props.confirmCustodyExchange\n ? 'Expected Cash'\n : 'Return Amount'}\n </Text>\n <Text\n style={{\n flex: 1,\n textAlign: 'right',\n fontSize: 14,\n lineHeight: 28,\n fontStyle: 'normal',\n color: '#111111',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n }}\n >\n {props.expectedAmount.currencyCode +\n ' ' +\n getPaymentValue(\n props.expectedAmount.value,\n props.expectedAmount.minorUnit\n )}\n </Text>\n </View>\n {props.confirmAmount && (\n <TextInput\n style={{\n fontSize: 14,\n lineHeight: 24,\n fontFamily: Fonts.IBMPlexSans_400Regular,\n }}\n multiline={false}\n autoComplete={'off'}\n label={`Enter Amount(in ${props.expectedAmount.currencyCode})`}\n value={amountCollected}\n mode={'outlined'}\n error={!isEmptyOrBlank(inputError)}\n selectionColor={'#6200EE'}\n keyboardType={'numeric'}\n onChangeText={(text) => {\n setInputError('');\n setAmountCollected(text);\n }}\n />\n )}\n {!isEmptyOrBlank(inputError) && (\n <Text style={{ color: '#B00020' }}>{inputError}</Text>\n )}\n <Button\n disabled={disableNext}\n style={[CommonStyles.nextButton, { marginTop: 20 }]}\n labelStyle={CommonStyles.nextButtonLabel}\n uppercase={false}\n mode={'contained'}\n onPress={async () => {\n if (\n !isEmptyOrBlank(amountCollected) &&\n !Number.isNaN(+amountCollected)\n ) {\n const calculatedValue = getPaymentValue(\n props.expectedAmount.value,\n props.expectedAmount.minorUnit\n );\n if (+amountCollected !== calculatedValue) {\n setInputError(\n `Amount should be equal to ${calculatedValue}`\n );\n return;\n }\n setDisableNext(true);\n props.onSubmitET({\n amount: {\n value: props.expectedAmount.value,\n currencyCode: props.expectedAmount.currencyCode,\n minorUnit: props.expectedAmount.minorUnit,\n },\n ...(await getBaseETResponse(\n EntityCode.DELIVER_CASH,\n true,\n getEventCodeByET(\n ExecutionTaskID.DELIVER_CASH,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DELIVER_CASH\n )),\n });\n } else setInputError('Please enter valid amount.');\n }}\n >\n Confirm\n </Button>\n {!props.confirmCustodyExchange && (\n <Button\n labelStyle={CommonStyles.cancelButtonLabel}\n style={[CommonStyles.cancelButton, { marginTop: 10 }]}\n mode={'outlined'}\n uppercase={false}\n onPress={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.DELIVER_CASH,\n false,\n getEventCodeByET(\n ExecutionTaskID.DELIVER_CASH,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DELIVER_CASH\n )),\n });\n }}\n >\n Cancel\n </Button>\n )}\n </View>\n </Modal>\n </View>\n </Portal>\n </Provider>\n );\n};\nexport default SLDropCash;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Button","Modal","Portal","Provider","TextInput","Text","View","CommonStyles","DeliverPickupStyles","Fonts","getBaseETResponse","EntityCode","ExecutionTaskID","getEventCodeByET","React","useState","useLayoutEffect","useEffect","isEmptyOrBlank","getPaymentValue","GO_BACK_EVENT_CODE","Icon","GoBackModal","hasGoBackConnector","useFocusEffect","BackHandler","SLDropCash","props","amountCollected","setAmountCollected","confirmAmount","expectedAmount","value","minorUnit","inputError","setInputError","disableNext","setDisableNext","showBackModal","setShowBackModal","useCallback","onBackPress","_props$taskMeta","taskMeta","enableGoBack","applicableReasons","navigation","goBack","addEventListener","removeEventListener","setOptions","title","headerLeft","createElement","onPress","_props$taskMeta2","name","color","size","style","paddingRight","paddingTop","renderModal","showModal","setShowModal","onSuccess","onSubmitET","DELIVER_CASH","mergedObjectiveId","onFailure","mainContainer","visible","dismissable","contentContainerStyle","modalContent","modalView","titleText","marginTop","marginBottom","flexDirection","fontFamily","IBMPlexSans_400Regular","fontStyle","fontWeight","fontSize","flex","textAlign","lineHeight","confirmCustodyExchange","IBMPlexSans_600SemiBold","currencyCode","multiline","autoComplete","label","mode","error","selectionColor","keyboardType","onChangeText","text","disabled","nextButton","labelStyle","nextButtonLabel","uppercase","Number","isNaN","_props$applicableReas","calculatedValue","amount","success","cancelButtonLabel","cancelButton","_props$applicableReas2","failure"],"sources":["SLDropCash.tsx"],"sourcesContent":["import { Button, Modal, Portal, Provider, TextInput } from 'react-native-paper';\nimport { Text, View } from 'react-native';\nimport {\n CommonStyles,\n DeliverPickupStyles,\n Fonts,\n} from '../../../styles/executionTasks/CommonStyles';\nimport { getBaseETResponse } from '../../../utils/ExecTaskUtils';\nimport {\n EntityCode,\n ExecutionTaskID,\n} from '../../../models/execTasks/ETConfig';\nimport { getEventCodeByET } from '../../../manager/dispatchCodes/EventCodeContainer';\nimport React, { useState, useLayoutEffect, useEffect } from 'react';\nimport { isEmptyOrBlank } from '../../../utils/utils';\nimport type { DropCashInput } from './DropCashSchema';\nimport { getPaymentValue } from '../payments/PaymentUtils';\nimport { GO_BACK_EVENT_CODE } from '../../../constants/constants';\nimport Icon from 'react-native-vector-icons/MaterialIcons';\nimport GoBackModal from '../../../components/widgets/GoBackModal';\nimport { hasGoBackConnector } from '../../../components/utils';\nimport { useFocusEffect } from '@react-navigation/native';\nimport { BackHandler } from 'react-native';\n\nconst SLDropCash = (props: DropCashInput) => {\n const [amountCollected, setAmountCollected] = useState(\n props.confirmAmount\n ? ''\n : `${getPaymentValue(\n props.expectedAmount.value,\n props.expectedAmount.minorUnit\n )}`\n );\n const [inputError, setInputError] = useState('');\n\n const [disableNext, setDisableNext] = useState(false);\n const [showBackModal, setShowBackModal] = useState(false);\n\n useEffect(() => {\n if (!props.confirmAmount)\n setAmountCollected(\n `${getPaymentValue(\n props.expectedAmount.value,\n props.expectedAmount.minorUnit\n )}`\n );\n }, [props.expectedAmount]);\n\n // Handle back-button click when scanList was being viewed\n useFocusEffect(\n React.useCallback(() => {\n const onBackPress = () => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n ) {\n setShowBackModal(true);\n return true;\n } else {\n props.navigation.goBack();\n return true;\n }\n };\n BackHandler.addEventListener('hardwareBackPress', onBackPress);\n return () =>\n BackHandler.removeEventListener('hardwareBackPress', onBackPress);\n }, [])\n );\n\n useLayoutEffect(() => {\n props.navigation.setOptions({\n title: props.title,\n headerLeft: () => {\n return (\n <Icon\n onPress={() => {\n if (\n props.taskMeta?.enableGoBack &&\n hasGoBackConnector(props.applicableReasons)\n )\n setShowBackModal(true);\n else props.navigation.goBack();\n }}\n name=\"arrow-back\"\n color={'black'}\n size={25}\n style={{\n paddingRight: 15,\n paddingTop: 5,\n }}\n />\n );\n },\n });\n }, [props.navigation, props.title]);\n\n const renderModal = () => {\n return (\n <GoBackModal\n showModal={showBackModal}\n setShowModal={setShowBackModal}\n onSuccess={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.DELIVER_CASH,\n false,\n GO_BACK_EVENT_CODE,\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DELIVER_CASH\n )),\n });\n setShowBackModal(false);\n }}\n onFailure={() => setShowBackModal(false)}\n />\n );\n };\n\n return (\n <Provider>\n {renderModal()}\n <Portal>\n <View style={DeliverPickupStyles.mainContainer}>\n <Modal\n visible={true}\n dismissable={false}\n contentContainerStyle={DeliverPickupStyles.modalContent}\n >\n <View style={DeliverPickupStyles.modalView}>\n <Text style={DeliverPickupStyles.titleText}>{props.title}</Text>\n <View\n style={{\n marginTop: 15,\n marginBottom: 15,\n flexDirection: 'row',\n }}\n >\n <Text\n style={{\n fontFamily: Fonts.IBMPlexSans_400Regular,\n fontStyle: 'normal',\n fontWeight: '400',\n fontSize: 14,\n flex: 1,\n textAlign: 'left',\n lineHeight: 28,\n color: '#111111',\n }}\n >\n {props.confirmCustodyExchange\n ? 'Expected Cash'\n : 'Return Amount'}\n </Text>\n <Text\n style={{\n flex: 1,\n textAlign: 'right',\n fontSize: 14,\n lineHeight: 28,\n fontStyle: 'normal',\n color: '#111111',\n fontFamily: Fonts.IBMPlexSans_600SemiBold,\n }}\n >\n {props.expectedAmount.currencyCode +\n ' ' +\n getPaymentValue(\n props.expectedAmount.value,\n props.expectedAmount.minorUnit\n )}\n </Text>\n </View>\n {props.confirmAmount && (\n <TextInput\n style={{\n fontSize: 14,\n lineHeight: 24,\n fontFamily: Fonts.IBMPlexSans_400Regular,\n }}\n multiline={false}\n autoComplete={'off'}\n label={`Enter Amount(in ${props.expectedAmount.currencyCode})`}\n value={amountCollected}\n mode={'outlined'}\n error={!isEmptyOrBlank(inputError)}\n selectionColor={'#6200EE'}\n keyboardType={'numeric'}\n onChangeText={(text) => {\n setInputError('');\n setAmountCollected(text);\n }}\n />\n )}\n {!isEmptyOrBlank(inputError) && (\n <Text style={{ color: '#B00020' }}>{inputError}</Text>\n )}\n <Button\n disabled={disableNext}\n style={[CommonStyles.nextButton, { marginTop: 20 }]}\n labelStyle={CommonStyles.nextButtonLabel}\n uppercase={false}\n mode={'contained'}\n onPress={async () => {\n if (\n !isEmptyOrBlank(amountCollected) &&\n !Number.isNaN(+amountCollected)\n ) {\n const calculatedValue = getPaymentValue(\n props.expectedAmount.value,\n props.expectedAmount.minorUnit\n );\n if (+amountCollected !== calculatedValue) {\n setInputError(\n `Amount should be equal to ${calculatedValue}`\n );\n return;\n }\n setDisableNext(true);\n props.onSubmitET({\n amount: {\n value: props.expectedAmount.value,\n currencyCode: props.expectedAmount.currencyCode,\n minorUnit: props.expectedAmount.minorUnit,\n },\n ...(await getBaseETResponse(\n EntityCode.DELIVER_CASH,\n true,\n getEventCodeByET(\n ExecutionTaskID.DELIVER_CASH,\n true,\n props.applicableReasons?.success\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DELIVER_CASH\n )),\n });\n } else setInputError('Please enter valid amount.');\n }}\n >\n Confirm\n </Button>\n {!props.confirmCustodyExchange && (\n <Button\n labelStyle={CommonStyles.cancelButtonLabel}\n style={[CommonStyles.cancelButton, { marginTop: 10 }]}\n mode={'outlined'}\n uppercase={false}\n onPress={async () => {\n props.onSubmitET({\n ...(await getBaseETResponse(\n EntityCode.DELIVER_CASH,\n false,\n getEventCodeByET(\n ExecutionTaskID.DELIVER_CASH,\n false,\n props.applicableReasons?.failure\n ),\n '',\n props.mergedObjectiveId,\n ExecutionTaskID.DELIVER_CASH\n )),\n });\n }}\n >\n Cancel\n </Button>\n )}\n </View>\n </Modal>\n </View>\n </Portal>\n </Provider>\n );\n};\nexport default SLDropCash;\n"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { CommonStyles, Fonts } from '../../../styles/executionTasks/CommonStyles
|
|
|
5
5
|
import ProgressDialog from '../../widgets/ProgressDialog';
|
|
6
6
|
import { PLEASE_WAIT } from '../../../res/strings';
|
|
7
7
|
import CScanner from './sub_components/CScanner';
|
|
8
|
-
import { checkForValidation, clearScanOutput, getBarCodeTypes, getErrorMessage, getEventType, getScanETOutput, getScanMappedOutput, getSplitIds, getUpdatedScanETOutput, triggerScanEvent, updateSharedPreference } from './utils';
|
|
8
|
+
import { checkForValidation, clearScanOutput, getBarCodeTypes, getErrorMessage, getEventType, getScanETOutput, getScanMappedOutput, getSplitIds, getUpdatedScanETOutput, resetObjective, triggerScanEvent, updateSharedPreference } from './utils';
|
|
9
9
|
import SnackBarCustom, { SnackBarType } from '../../widgets/SnackBarCustom';
|
|
10
10
|
import { Button, Modal, Portal, Provider } from 'react-native-paper';
|
|
11
11
|
import { useFocusEffect } from '@react-navigation/native';
|
|
@@ -495,6 +495,9 @@ const ScanET = props => {
|
|
|
495
495
|
type: SnackBarType.SUCCESS
|
|
496
496
|
});
|
|
497
497
|
|
|
498
|
+
// Trigger Scan Removal Event
|
|
499
|
+
await resetObjective(props);
|
|
500
|
+
|
|
498
501
|
// Clear Scan
|
|
499
502
|
await Promise.all([clearScanOutput(prefixedMergedObjectiveId), DispatchExecutor.removeShipment(prefixedMergedObjectiveId)]);
|
|
500
503
|
props.navigation.goBack();
|