UNPKG

viam-projectv-scan

Version:

ViaCheck deposit application

164 lines (148 loc) 5.42 kB
const CASH = 'CASH'; const BATCH_NUMBER = 21; export const isPayableToCash = payee => { let isCashPayee = 'false'; if (payee.toUpperCase().indexOf(CASH) > -1) { isCashPayee = 'true'; } return isCashPayee; }; export const getHoldValidationFromResponse = checksOnHoldArray => { const newHoldArray = []; let batch = 0; // console.log(checksOnHoldArray); if (checksOnHoldArray !== undefined && checksOnHoldArray !== null) { checksOnHoldArray.forEach(function getHoldRestriction(restrictions) { if (restrictions !== undefined && restrictions !== null) { if (restrictions.batchId !== 0) batch = restrictions.batchId; if ( restrictions.onHoldValidations !== undefined && restrictions.onHoldValidations !== null ) { restrictions.onHoldValidations.forEach(function getHolds( holdsValidation ) { newHoldArray.push(holdsValidation); }); } } }); } return { newHoldArray, batch }; }; export const restartSentHold = checksArray => { const newcheckarray = checksArray; newcheckarray.forEach(check => { const newCheck = check; newCheck.isSentHold = false; }); return newcheckarray; }; export const isAllArrayHoldProcess = checksArray => { const newcheckarray = checksArray.filter(function getElement(check) { return check.isSentHold === false; }); return newcheckarray; }; export const setSentHold = (checksArray, scanOrder) => { const newCheck = checksArray.filter(function getElement(check) { return check.scanOrder === scanOrder; }); newCheck[0].isSentHold = true; }; export const createNewArrayOnHoldRestrictions = (checksArray, holdsArray) => { const newHoldArray = []; let limit = 0; const sysDate = new Date(); sysDate.setMonth(sysDate.getMonth() - 6); holdsArray.forEach(check => { const newCheck = check; limit += 1; if (limit < BATCH_NUMBER && !newCheck.isDeposit) { setSentHold(checksArray, check.scanOrder); newHoldArray.push({ id: check.scanOrder, agencyID: check.agencyName, userName: check.userName, checkItem: { amount: check.amount.toString(), accountNumber: check.account, transit: check.routing, checkType: check.checkType, payableToChash: check.payee !== '' ? isPayableToCash(check.payee) : 'false', state: check.stateCode, mva: check.mva, license: check.ownLicense.toString(), bank: check.bank, handWritten: check.scoreFields.mircLine.toString(), checkNumberScore: check.scoreFields.checkNumber.toString(), amountScore: check.scoreFields.amount.toString(), dateScore: check.scoreFields.checkDate.toString(), holdModified: check.modified.toString(), hasSignature: check.signature, isWrongCheckDate: ( check.checkDate === '' || check.checkDate === '0/0/0' || Number.isNaN(Date.parse(check.checkDate)) ).toString(), sysDate: `${sysDate.getMonth() + 1}/${sysDate.getDate()}/${sysDate.getFullYear()}`, checkDate: check.checkDate === '' || check.checkDate === '0/0/0' || Number.isNaN(Date.parse(check.checkDate)) ? '1/1/0001' : check.checkDate } }); } }); return { newHoldArray, checksArray }; }; export const createArrayOnHoldRestrictions = checksArray => { const checksOnHoldArray = []; checksArray.forEach(element => { const sysDate = new Date(); sysDate.setMonth(sysDate.getMonth() - 6); checksOnHoldArray.push({ id: element.scanOrder, agencyID: element.agencyName, userName: element.userName, checkItem: { amount: element.amount.toString(), accountNumber: element.account, transit: element.routing, checkType: element.checkType, payableToChash: element.payee !== '' ? isPayableToCash(element.payee) : 'false', state: element.stateCode, mva: element.mva, license: element.ownLicense.toString(), bank: element.bank, handWritten: element.writeType === 'Printed' ? 'false' : 'true', routingScore: element.scoreFields.mircLine.toString(), checkNumberScore: element.scoreFields.checkNumber.toString(), amountScore: element.scoreFields.amount.toString(), dateScore: element.scoreFields.checkDate.toString(), holdModified: element.modified.toString(), hasSignature: element.signature, isWrongCheckDate: ( element.checkDate === '' || element.checkDate === '0/0/0' || Number.isNaN(Date.parse(element.checkDate)) ).toString(), sysDate: `${sysDate.getMonth() + 1}/${sysDate.getDate()}/${sysDate.getFullYear()}`, checkDate: element.checkDate === '' || element.checkDate === '0/0/0' || Number.isNaN(Date.parse(element.checkDate)) ? '1/1/0001' : element.checkDate } }); }); return checksOnHoldArray; }; export default createArrayOnHoldRestrictions;