From aca9c7762bbfdb78c75a8724ce076259afb754d2 Mon Sep 17 00:00:00 2001 From: Shri Prakash Bajpai Date: Tue, 17 Dec 2024 15:31:29 +0530 Subject: [PATCH] NTP-19163 API changes (#1031) --- src/action/addressGeolocationAction.ts | 9 ++++--- src/action/callRecordingActions.tsx | 3 ++- src/action/caseApiActions.ts | 25 +++++++++++++------ src/action/fetchTelephoneNumber.ts | 17 ++++++++++--- .../form/components/AddressSelection.tsx | 5 +++- src/components/utlis/apiHelper.ts | 10 ++++---- src/hooks/useMobileNumbers.ts | 5 ++-- src/screens/addNewNumber/index.tsx | 5 +++- .../UngroupedAddressContainer.tsx | 5 +++- src/screens/addressGeolocation/index.tsx | 7 ++++-- .../caseDetails/CollectionCaseDetail.tsx | 7 ++++-- src/screens/emiSchedule/EmiScheduleTab.tsx | 4 ++- src/screens/emiSchedule/FeeWaiver.tsx | 8 +++--- .../WaiveFeePreviousEmiBottomSheet.tsx | 4 +-- src/screens/emiSchedule/index.tsx | 13 +++++++--- src/screens/emiSchedule/interfaces.ts | 2 ++ src/screens/layout/CallInfo.tsx | 3 ++- 17 files changed, 94 insertions(+), 38 deletions(-) diff --git a/src/action/addressGeolocationAction.ts b/src/action/addressGeolocationAction.ts index b8f3b028..ee1a4166 100644 --- a/src/action/addressGeolocationAction.ts +++ b/src/action/addressGeolocationAction.ts @@ -63,13 +63,16 @@ export const addAddress = }; export const getUngroupedAddress = - (loanAccountNumber: string, includeFeedbacks = false) => + (loanAccountNumber: string, caseReferenceId: string, caseBusinessVertical: string, includeFeedbacks = false) => (dispatch: AppDispatch) => { dispatch(setUngroupedAddressesLoading({ loanAccountNumber, isLoading: true })); const url = getApiUrl( ApiKeys.GET_UNGROUPED_ADDRESSES, - { loanAccountNumber }, - { includeFeedbacks } + { }, + { includeFeedbacks, + caseReferenceId: caseReferenceId, + caseBusinessVertical: caseBusinessVertical + } ); axiosInstance .get(url) diff --git a/src/action/callRecordingActions.tsx b/src/action/callRecordingActions.tsx index 40571de7..0a6a58f1 100644 --- a/src/action/callRecordingActions.tsx +++ b/src/action/callRecordingActions.tsx @@ -53,8 +53,9 @@ export const makeACallToCustomer = } else { dispatch( fetchTelephoneNumber({ - loanAccountNumber: payload?.loanAccountNumber, caseId: details?.caseId, + caseBusinessVertical: details?.caseBusinessVertical, + loanAccountNumber: payload?.loanAccountNumber }) ); } diff --git a/src/action/caseApiActions.ts b/src/action/caseApiActions.ts index a546b76a..2da3c22a 100644 --- a/src/action/caseApiActions.ts +++ b/src/action/caseApiActions.ts @@ -11,9 +11,13 @@ import { addClickstreamEvent } from '@services/clickstreamEventService'; import { CLICKSTREAM_EVENT_NAMES } from '@common/Constants'; import { PAST_FEEDBACK_PAGE_SIZE } from '@screens/caseDetails/feedback/pastFeedbackCommon'; -export const getRepaymentsData = (loanAccountNumber: string) => (dispatch: AppDispatch) => { +export const getRepaymentsData = (loanAccountNumber: string, caseId: string, caseBusinessVertical: string) => (dispatch: AppDispatch) => { dispatch(setRepaymentsLoading({ loanAccountNumber, isLoading: true })); - const url = getApiUrl(ApiKeys.GET_REPAYMENTS, { loanAccountNumber }); + const url = getApiUrl(ApiKeys.GET_REPAYMENTS, {}, + { + caseReferenceId: caseId, + caseBusinessVertical: caseBusinessVertical + }); axiosInstance .get(url) .then((res) => { @@ -27,9 +31,13 @@ export const getRepaymentsData = (loanAccountNumber: string) => (dispatch: AppDi }); }; -export const getEmiScheduleData = (loanAccountNumber: string) => (dispatch: AppDispatch) => { +export const getEmiScheduleData = (loanAccountNumber: string, caseId: string, caseBusinessVertical: string) => (dispatch: AppDispatch) => { dispatch(setEmiScheduleLoading({ loanAccountNumber, isLoading: true })); - const url = getApiUrl(ApiKeys.GET_EMI_SCHEDULE, { loanAccountNumber }); + const url = getApiUrl(ApiKeys.GET_EMI_SCHEDULE, {}, + { + caseReferenceId: caseId, + caseBusinessVertical: caseBusinessVertical + }); axiosInstance .get(url) .then((res) => { @@ -44,13 +52,16 @@ export const getEmiScheduleData = (loanAccountNumber: string) => (dispatch: AppD }; export const getAddressesAndGeolocations = - (loanAccountNumber: string, includeFeedbacks: boolean = false) => + (loanAccountNumber: string, caseReferenceId: string, caseBusinessVertical: string, includeFeedbacks: boolean = false) => (dispatch: AppDispatch) => { dispatch(setAddressLoading({ loanAccountNumber, isLoading: true })); const url = getApiUrl( ApiKeys.GET_GROUPED_ADDRESSES_AND_GEOLOCATIONS, - { loanAccountNumber }, - { includeFeedbacks } + { }, + { includeFeedbacks, + caseReferenceId: caseReferenceId, + caseBusinessVertical: caseBusinessVertical, + } ); axiosInstance .get(url) diff --git a/src/action/fetchTelephoneNumber.ts b/src/action/fetchTelephoneNumber.ts index 9aad0e01..782d23fc 100644 --- a/src/action/fetchTelephoneNumber.ts +++ b/src/action/fetchTelephoneNumber.ts @@ -9,15 +9,26 @@ import { import { isFunction } from '@components/utlis/commonFunctions'; type FetchTelephoneNumbersParams = { + caseId: string; + caseBusinessVertical: string; + loanAccountNumber: string; + setLoading?: (value: boolean) => void; +}; + +type FetchCallHistoryParams = { caseId: string; loanAccountNumber: string; setLoading?: (value: boolean) => void; }; export const fetchTelephoneNumber = - ({ caseId, loanAccountNumber, setLoading }: FetchTelephoneNumbersParams) => + ({ caseId, caseBusinessVertical, loanAccountNumber, setLoading }: FetchTelephoneNumbersParams) => (dispatch: AppDispatch) => { - const url = getApiUrl(ApiKeys.GET_TELEPHONE_NUMBERS_V2, { loanAccountNumber }); + const url = getApiUrl(ApiKeys.GET_TELEPHONE_NUMBERS_V2, { }, + { + caseReferenceId: caseId, + caseBusinessVertical: caseBusinessVertical + }); const isSetLoadingFunction = isFunction(setLoading); if (isSetLoadingFunction) setLoading(true); axiosInstance @@ -34,7 +45,7 @@ export const fetchTelephoneNumber = }; export const fetchCallHistory = - ({ caseId, loanAccountNumber, setLoading }: FetchTelephoneNumbersParams) => + ({ caseId, loanAccountNumber, setLoading }: FetchCallHistoryParams) => (dispatch: AppDispatch) => { const caseDetail = store?.getState()?.allCases?.caseDetails?.[caseId] || {}; const url = getApiUrl( diff --git a/src/components/form/components/AddressSelection.tsx b/src/components/form/components/AddressSelection.tsx index b4debdb4..c27308bd 100644 --- a/src/components/form/components/AddressSelection.tsx +++ b/src/components/form/components/AddressSelection.tsx @@ -59,6 +59,9 @@ const AddressSelection: React.FC = (props) => { const ungroupedAddresses = useAppSelector( (state: RootState) => state.ungroupedAddresses[loanAccountNumber]?.ungroupedAddresses || [] ); + const caseBusinessVertical = useAppSelector( + (state) => state?.allCases?.caseDetails?.[caseId]?.businessVertical + ); const groupedAndUngroupedAddresses = useMemo(() => { let addressesList = []; @@ -103,7 +106,7 @@ const AddressSelection: React.FC = (props) => { const controllerName = `widgetContext.${widgetId}.sectionContext.${sectionId}.questionContext.${questionId}`; const reloadGeolocations = () => { - dispatch(getAddressesAndGeolocations(loanAccountNumber)); + dispatch(getAddressesAndGeolocations(loanAccountNumber, caseId, caseBusinessVertical)); }; if (isGeolocation) { diff --git a/src/components/utlis/apiHelper.ts b/src/components/utlis/apiHelper.ts index 1ef885ac..3c1ef760 100644 --- a/src/components/utlis/apiHelper.ts +++ b/src/components/utlis/apiHelper.ts @@ -165,7 +165,7 @@ API_URLS[ApiKeys.GET_CASH_COLLECTED] = '/allocation-cycle/cash-collected-split'; API_URLS[ApiKeys.GET_TELEPHONE_NUMBERS] = '/v2/collection-cases/telephones-view/{loanAccountNumber}'; API_URLS[ApiKeys.GET_TELEPHONE_NUMBERS_V2] = - '/collections/{loanAccountNumber}/telephones-agent-call-activity-view'; + '/collections/telephones-agent-call-activity-view'; API_URLS[ApiKeys.FIRESTORE_INCONSISTENCY_INFO] = '/cases/sync-status'; API_URLS[ApiKeys.FIRESTORE_INCONSISTENCY_INFO_V2] = '/cases/v2/sync-status'; API_URLS[ApiKeys.GET_CASE_DETAILS_FROM_API] = @@ -209,11 +209,11 @@ API_URLS[ApiKeys.GENERATE_DYNAMIC_DOCUMENT] = '/documents/generate/{loanAccountN API_URLS[ApiKeys.ALL_ESCALATIONS] = '/customer-escalation'; API_URLS[ApiKeys.DOWNLOAD_LATEST_APP] = 'https://longhorn.navi.com/api/app/download'; API_URLS[ApiKeys.GET_UNGROUPED_ADDRESSES] = - '/collection-cases/{loanAccountNumber}/ungrouped/addresses'; + '/collection-cases/ungrouped/addresses'; API_URLS[ApiKeys.GET_GROUPED_ADDRESSES_AND_GEOLOCATIONS] = - '/collection-cases/{loanAccountNumber}/grouped/addresses-geo-locations'; -API_URLS[ApiKeys.GET_EMI_SCHEDULE] = '/collection-cases/{loanAccountNumber}/emiSchedule'; -API_URLS[ApiKeys.GET_REPAYMENTS] = '/collection-cases/{loanAccountNumber}/repayments'; + '/collection-cases/grouped/addresses-geo-locations'; +API_URLS[ApiKeys.GET_EMI_SCHEDULE] = '/collection-cases/emiSchedule'; +API_URLS[ApiKeys.GET_REPAYMENTS] = '/collection-cases/repayments'; API_URLS[ApiKeys.GET_FEEDBACK_HISTORY] = '/feedback/filters'; API_URLS[ApiKeys.GET_PRIORTIY_FEEDBACK] = 'feedback/case-status'; diff --git a/src/hooks/useMobileNumbers.ts b/src/hooks/useMobileNumbers.ts index 3554f8d5..6793df5b 100644 --- a/src/hooks/useMobileNumbers.ts +++ b/src/hooks/useMobileNumbers.ts @@ -8,16 +8,17 @@ const useMobileNumbers = (caseId: string) => { ); const mobileNumbers = useAppSelector((state) => state?.telephoneNumbers?.telephoneNumbers?.[caseId]) || []; + const caseBusinessVertical = useAppSelector((state) => state?.allCases?.caseDetails?.[caseId]?.businessVertical); const [loading, setLoading] = useState(false); const dispatch = useAppDispatch(); useEffect(() => { if (!caseId || !loanAccountNumber) return; - dispatch(fetchTelephoneNumber({ loanAccountNumber, caseId, setLoading })); + dispatch(fetchTelephoneNumber({ caseId, caseBusinessVertical, loanAccountNumber, setLoading})); }, []); const refetchMobileNumbers = (setRefreshing?: (val: boolean) => void) => { - dispatch(fetchTelephoneNumber({ loanAccountNumber, caseId, setLoading: setRefreshing })); + dispatch(fetchTelephoneNumber({ caseId, caseBusinessVertical, loanAccountNumber, setLoading: setRefreshing })); }; return { loading, mobileNumbers, refetchMobileNumbers }; diff --git a/src/screens/addNewNumber/index.tsx b/src/screens/addNewNumber/index.tsx index 3c7f1ddf..ca71a759 100644 --- a/src/screens/addNewNumber/index.tsx +++ b/src/screens/addNewNumber/index.tsx @@ -38,6 +38,9 @@ const AddNewNumber: React.FC = (props) => { const { customerReferenceId, loanAccountNumber } = useAppSelector( (state) => state.allCases.caseDetails[caseId] || {} ); + const caseBusinessVertical = useAppSelector( + (state) => state?.allCases?.caseDetails?.[caseId]?.businessVertical + ); const dispatch = useAppDispatch(); const { control, @@ -77,7 +80,7 @@ const AddNewNumber: React.FC = (props) => { () => { setLoading(false); }, - () => dispatch(fetchTelephoneNumber({ loanAccountNumber, caseId })) + () => dispatch(fetchTelephoneNumber({ caseId, caseBusinessVertical, loanAccountNumber })) ); }; diff --git a/src/screens/addressGeolocation/UngroupedAddressContainer.tsx b/src/screens/addressGeolocation/UngroupedAddressContainer.tsx index 51ba5f23..1862c826 100644 --- a/src/screens/addressGeolocation/UngroupedAddressContainer.tsx +++ b/src/screens/addressGeolocation/UngroupedAddressContainer.tsx @@ -53,6 +53,9 @@ const UngroupedAddressContainer: React.FC = ({ route: routePa const { isLoading = false } = useAppSelector((state) => state.ungroupedAddresses?.[loanAccountNumber]) || {}; + const caseBusinessVertical = useAppSelector( + (state) => state?.allCases?.caseDetails?.[caseId]?.businessVertical + ); const { additionalAddresses = [], additionalAddressFeedbackList = [] } = useAddresses(loanAccountNumber); const dispatch = useAppDispatch(); @@ -61,7 +64,7 @@ const UngroupedAddressContainer: React.FC = ({ route: routePa const fetchUngroupedAddress = () => { // fetch ungrouped address - dispatch(getUngroupedAddress(loanAccountNumber, true)); + dispatch(getUngroupedAddress(loanAccountNumber, caseId, caseBusinessVertical, true)); }; if (!isOnline) { diff --git a/src/screens/addressGeolocation/index.tsx b/src/screens/addressGeolocation/index.tsx index d885335b..0078f96e 100644 --- a/src/screens/addressGeolocation/index.tsx +++ b/src/screens/addressGeolocation/index.tsx @@ -45,6 +45,9 @@ const AddressGeolocation: React.FC = ({ route: routeParams addressGeolocation: state.address?.[loanAccountNumber]?.addressesAndGeoLocations || {}, isLoading: state.address?.[loanAccountNumber]?.isLoading || false, })); + const caseBusinessVertical = useAppSelector( + (state) => state?.allCases?.caseDetails?.[caseId]?.businessVertical + ); const [selectedTab, setSelectedTab] = useState(AddressGeolocationTabEnum.ADDRESS); const [retryBtnToggle, setRetryBtnToggle] = useState(false); const dispatch = useAppDispatch(); @@ -71,7 +74,7 @@ const AddressGeolocation: React.FC = ({ route: routeParams }; const getGroupedAddresses = () => { - dispatch(getAddressesAndGeolocations(loanAccountNumber, true)); + dispatch(getAddressesAndGeolocations(loanAccountNumber, caseId, caseBusinessVertical, true)); dispatch(sendCurrentGeolocationAndBuffer(AppState.currentState)); }; @@ -83,7 +86,7 @@ const AddressGeolocation: React.FC = ({ route: routeParams useEffect(() => { addClickstreamEvent(CLICKSTREAM_EVENT_NAMES.FA_ALL_ADDRESSES_LANDED, commonParams); - dispatch(getUngroupedAddress(loanAccountNumber, true)); + dispatch(getUngroupedAddress(loanAccountNumber, caseId, caseBusinessVertical, true)); }, []); useEffect(() => { diff --git a/src/screens/caseDetails/CollectionCaseDetail.tsx b/src/screens/caseDetails/CollectionCaseDetail.tsx index cd59c21e..8f25b32c 100644 --- a/src/screens/caseDetails/CollectionCaseDetail.tsx +++ b/src/screens/caseDetails/CollectionCaseDetail.tsx @@ -43,6 +43,9 @@ const CollectionCaseDetails: React.FC = (props) => { const isCallActive = useAppSelector( (state: RootState) => state?.activeCall?.activeCallDetails?.callActive ); + const caseBusinessVertical = useAppSelector( + (state) => state?.allCases?.caseDetails?.[caseId]?.businessVertical + ); const { loanAccountNumber } = caseDetail; const opacityAnimation = useRef(new Animated.Value(0.8)).current; @@ -68,8 +71,8 @@ const CollectionCaseDetails: React.FC = (props) => { useFocusEffect( React.useCallback(() => { if (loanAccountNumber) { - dispatch(getAddressesAndGeolocations(loanAccountNumber)); - dispatch(getUngroupedAddress(loanAccountNumber)); + dispatch(getAddressesAndGeolocations(loanAccountNumber, caseId, caseBusinessVertical)); + dispatch(getUngroupedAddress(loanAccountNumber, caseId, caseBusinessVertical)); dispatch(getFeedbackHistory(loanAccountNumber)); } }, [loanAccountNumber]) diff --git a/src/screens/emiSchedule/EmiScheduleTab.tsx b/src/screens/emiSchedule/EmiScheduleTab.tsx index ee77ef2a..1385410f 100644 --- a/src/screens/emiSchedule/EmiScheduleTab.tsx +++ b/src/screens/emiSchedule/EmiScheduleTab.tsx @@ -20,7 +20,7 @@ import { addClickstreamEvent } from '@services/clickstreamEventService'; import { CLICKSTREAM_EVENT_NAMES } from '@common/Constants'; const EmiScheduleTab: React.FC = (props) => { - const { loanAccountNumber, tabId } = props; + const { loanAccountNumber, tabId, caseReferenceId } = props; const [selectedTab, setSelectedTab] = useState(tabId || EmiSelectedTab.UNPAID); const [openBottomSheet, setOpenBottomSheet] = React.useState(false); const [emiBreakupItem, setEmiBreakupItem] = React.useState(null); @@ -55,6 +55,7 @@ const EmiScheduleTab: React.FC = (props) => { return; } navigateToScreen(CaseDetailStackEnum.FEE_WAIVER, { + caseReferenceId, emiItem, loanAccountNumber, }); @@ -132,6 +133,7 @@ const EmiScheduleTab: React.FC = (props) => { closeBottomSheet={closeWaiveBottomSheet} waivableFeeDue={waivableFeeDue} loanAccountNumber={loanAccountNumber} + caseReferenceId={caseReferenceId} /> )} diff --git a/src/screens/emiSchedule/FeeWaiver.tsx b/src/screens/emiSchedule/FeeWaiver.tsx index cc832a82..5eb68fcd 100644 --- a/src/screens/emiSchedule/FeeWaiver.tsx +++ b/src/screens/emiSchedule/FeeWaiver.tsx @@ -18,7 +18,7 @@ import PartialPaidFeeAdjusmentModal from './PartialPaidFeeAdjusmentModal'; import { addClickstreamEvent } from '@services/clickstreamEventService'; import { CLICKSTREAM_EVENT_NAMES } from '@common/Constants'; import { postFeeWaiver } from '@actions/emiActions'; -import { useAppDispatch } from '@hooks'; +import { useAppDispatch, useAppSelector } from '@hooks'; import { getEmiScheduleData } from '@actions/caseApiActions'; import FullScreenLoader from '@rn-ui-lib/components/FullScreenLoader'; import { feeWaiveTransformedEmiData, getFeeWaiveBtnLabel } from './utils'; @@ -29,12 +29,13 @@ interface IFeeWaiver { params: { emiItem: IEmiItem; loanAccountNumber: string; + caseReferenceId: string; }; }; } const FeeWaiver: React.FC = (props) => { - const { emiItem, loanAccountNumber } = props.route.params || {}; + const { emiItem, loanAccountNumber, caseReferenceId } = props.route.params || {}; const [emiData, setEmiData] = React.useState(emiItem); const [isSubmitting, setIsSubmitting] = React.useState(false); const { @@ -52,6 +53,7 @@ const FeeWaiver: React.FC = (props) => { const canShowAdjustmentModal = action === EmiFeeActions.ADJUST && Number(waivedValue) > totalDueAmountUnpaid; const buttonTitle = getFeeWaiveBtnLabel(action, Number(waivedValue), totalDueAmountUnpaid); + const caseBusinessVertical = useAppSelector((state) => state?.allCases?.caseDetails?.[caseReferenceId]?.businessVertical); const dispatch = useAppDispatch(); @@ -77,7 +79,7 @@ const FeeWaiver: React.FC = (props) => { Number(waivedValue) >= totalDueAmountUnpaid ? 'waived' : 'held' } for EMI ${emiNumber}`, }); - dispatch(getEmiScheduleData(loanAccountNumber)); + dispatch(getEmiScheduleData(loanAccountNumber, caseReferenceId, caseBusinessVertical)); setIsSubmitting(false); } catch (err) { toast({ type: 'error', text1: err as string }); diff --git a/src/screens/emiSchedule/WaiveFeePreviousEmiBottomSheet.tsx b/src/screens/emiSchedule/WaiveFeePreviousEmiBottomSheet.tsx index c7f8eee5..da4d92b8 100644 --- a/src/screens/emiSchedule/WaiveFeePreviousEmiBottomSheet.tsx +++ b/src/screens/emiSchedule/WaiveFeePreviousEmiBottomSheet.tsx @@ -17,7 +17,7 @@ import InfoOutlineIcon from '@rn-ui-lib/icons/InfoOutlineIcon'; import { EmiFeeActionLabelMap } from './constants'; const WaiveFeePreviousEmiBottomSheet: React.FC = (props) => { - const { openBottomSheet, emiData, waivableFeeDue, loanAccountNumber, closeBottomSheet } = props; + const { openBottomSheet, emiData, waivableFeeDue, loanAccountNumber, closeBottomSheet, caseReferenceId } = props; const { emiNumber: waivableEmiNumber, dueDate: waivableEmiDueDate, @@ -35,7 +35,7 @@ const WaiveFeePreviousEmiBottomSheet: React.FC const handleWaivableEmiNavigator = () => { // Navigate to waivable EMI - navigateToScreen(CaseDetailStackEnum.FEE_WAIVER, { emiItem: waivableFeeDue, loanAccountNumber }); + navigateToScreen(CaseDetailStackEnum.FEE_WAIVER, { emiItem: waivableFeeDue, loanAccountNumber, caseReferenceId }); }; const height = getDynamicBottomSheetHeightPercentageFn(); diff --git a/src/screens/emiSchedule/index.tsx b/src/screens/emiSchedule/index.tsx index 7ca9a2ed..c3cd2d31 100644 --- a/src/screens/emiSchedule/index.tsx +++ b/src/screens/emiSchedule/index.tsx @@ -47,6 +47,9 @@ const EmiSchedule: React.FC = (props) => { emiData: state.emiSchedule?.[loanAccountNumber]?.data, }; }); + const caseBusinessVertical = useAppSelector( + (state) => state?.allCases?.caseDetails?.[caseId]?.businessVertical + ); const dispatch = useAppDispatch(); const isOnline = useIsOnline(); @@ -69,8 +72,8 @@ const EmiSchedule: React.FC = (props) => { const { refreshing, onRefresh } = useRefresh(() => { if (isOnline) { - dispatch(getRepaymentsData(loanAccountNumber)); - dispatch(getEmiScheduleData(loanAccountNumber)); + dispatch(getRepaymentsData(loanAccountNumber, caseId, caseBusinessVertical)); + dispatch(getEmiScheduleData(loanAccountNumber, caseId, caseBusinessVertical)); } else { toast({ type: 'info', @@ -128,7 +131,11 @@ const EmiSchedule: React.FC = (props) => { {currentTab === TABS[0].key ? ( - + ) : ( )} diff --git a/src/screens/emiSchedule/interfaces.ts b/src/screens/emiSchedule/interfaces.ts index a6967b81..44e73c09 100644 --- a/src/screens/emiSchedule/interfaces.ts +++ b/src/screens/emiSchedule/interfaces.ts @@ -14,6 +14,7 @@ export enum EmiSelectedTab { export interface IEmiScheduleTab { loanAccountNumber: string; tabId?: EmiSelectedTab; + caseReferenceId: string; } export interface IEmiScheduleItem { @@ -111,6 +112,7 @@ export interface IWaiveFeePreviousEmiBottomSheet { waivableFeeDue?: IEmiItem | null; loanAccountNumber: string; closeBottomSheet: () => void; + caseReferenceId: string; } export interface FeeWaiverHistoryProps { diff --git a/src/screens/layout/CallInfo.tsx b/src/screens/layout/CallInfo.tsx index 81db109d..7f4e8644 100644 --- a/src/screens/layout/CallInfo.tsx +++ b/src/screens/layout/CallInfo.tsx @@ -22,6 +22,7 @@ const CallInfo = () => { ); const caseId = useAppSelector((state: RootState) => state?.activeCall?.activeCallDetails?.caseId); const caseDetail = useAppSelector((state: RootState) => state.allCases.caseDetails[caseId]) || {}; + const caseBusinessVertical = useAppSelector((state) => state?.allCases?.caseDetails?.[caseId]?.businessVertical); const dispatch = useAppDispatch(); @@ -35,7 +36,7 @@ const CallInfo = () => { caseId && getCurrentScreen()?.name === CaseDetailStackEnum.CALL_CUSTOMER ) { - dispatch(fetchTelephoneNumber({ loanAccountNumber, caseId })); + dispatch(fetchTelephoneNumber({ caseId, caseBusinessVertical, loanAccountNumber })); dispatch( fetchCallHistory({ loanAccountNumber,