From f0b4a069e8158a647537a2bd08e0ea3481ac1e83 Mon Sep 17 00:00:00 2001 From: Bilal Catic Date: Mon, 9 Dec 2019 10:37:58 +0100 Subject: [PATCH] do not delete fees with selected product --- services/officeRnD/fees.js | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/services/officeRnD/fees.js b/services/officeRnD/fees.js index 57c0105..3f0c15b 100644 --- a/services/officeRnD/fees.js +++ b/services/officeRnD/fees.js @@ -22,9 +22,14 @@ const deleteFeesFromORD = (dateRange, memberIds) => { const fetchedFees = feesResponse.data ? feesResponse.data : []; const fetchedPlans = plansResponse.data ? plansResponse.data : []; + const planIsRateMap = {}; + const manualFeeNames = []; fetchedPlans.forEach((plan) => { - const { name } = plan; + const { name, _id, isRate } = plan; + + planIsRateMap[_id] = !!isRate; + if (name && name.length > 0){ manualFeeNames.push(name); } @@ -40,18 +45,24 @@ const deleteFeesFromORD = (dateRange, memberIds) => { const feeIdsToRemove = []; fetchedFees.forEach((fee) => { - const { member, date, invoice, name } = fee; + const { member, date, invoice, name, plan } = fee; const { status } = invoice; const feeId = fee['_id']; + const feePlanIsRate = plan ? planIsRateMap[plan] : null; const isDateInDateRange = startDate.isSameOrBefore(date) && endDate.isSameOrAfter(date); let manuallyAddedFee = false; - if (manualFeeNames.indexOf(name) === -1){ - if (name && name[0] && CUSTOM_FEES_PREFIXES.indexOf(name[0]) !== -1){ + + if (plan && !feePlanIsRate){ + manuallyAddedFee = true; + }else{ + if (manualFeeNames.indexOf(name) === -1){ + if (name && name[0] && CUSTOM_FEES_PREFIXES.indexOf(name[0]) !== -1){ + manuallyAddedFee = true; + } + }else{ manuallyAddedFee = true; } - }else{ - manuallyAddedFee = true; } const memberFeesShouldBeDeleted = filterByMemberIds ? memberIdsMap[member] : true;