fix build
This commit is contained in:
parent
7b6d8d00b4
commit
6ffc830469
@ -135,6 +135,7 @@ const defaultStatuses: CalculationStatuses = {
|
||||
tbxBonusCoefficient: 'Default',
|
||||
btnCalculate: 'Default',
|
||||
btnCreateKP: 'Default',
|
||||
selectLeasingWithoutKasko: 'Default',
|
||||
};
|
||||
|
||||
export default defaultStatuses;
|
||||
|
||||
@ -45,7 +45,7 @@ export default async function getFingapDataFromKP({
|
||||
|
||||
const keys: Array<string> = [];
|
||||
quote?.evo_product_risks?.forEach((x) => {
|
||||
if (x.evo_addproduct_typeid) {
|
||||
if (x?.evo_addproduct_typeid) {
|
||||
keys.push(x.evo_addproduct_typeid);
|
||||
}
|
||||
});
|
||||
|
||||
@ -56,7 +56,7 @@ export default async function getPaymentsDataFromKP({
|
||||
let paymentsValues: Array<number> = [];
|
||||
if (quote?.evo_graphs) {
|
||||
paymentsValues =
|
||||
sort(quote?.evo_graphs, (evo_graph) => Date.parse(evo_graph?.createdon))
|
||||
sort(quote?.evo_graphs, (evo_graph) => Date.parse(evo_graph?.createdon ?? '0'))
|
||||
.at(0)
|
||||
?.evo_planpayments?.slice(1, -1)
|
||||
.slice(0, leasingPeriod - 2)
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
/* eslint-disable implicit-arrow-linebreak */
|
||||
import type { CalculationValues } from 'stores/calculation/values/types';
|
||||
import type { Row } from 'stores/tables/payments/types';
|
||||
import { SEASONS_PERIODS, SEASONS_PERIOD_NUMBER } from './seasons-constants';
|
||||
|
||||
type SeasonType = NonNullable<CalculationValues['seasonType']>;
|
||||
@ -53,3 +54,19 @@ export function generateSeasonsPayments(leasingPeriod: LeasingPeriod, seasons: A
|
||||
.concat(seasons.slice(0, (leasingPeriod - 2) % SEASONS_PERIOD_NUMBER))
|
||||
);
|
||||
}
|
||||
|
||||
export function generateSeasonPaymentsRows(
|
||||
seasonType: number,
|
||||
shiftNumber: number,
|
||||
payments: number[]
|
||||
) {
|
||||
const shiftedPeriods = new Set(
|
||||
SEASONS_PERIODS[seasonType].map((position) => (position + shiftNumber) % SEASONS_PERIOD_NUMBER)
|
||||
);
|
||||
const rows: Row[] = payments.map((value, i) => ({
|
||||
value,
|
||||
status: shiftedPeriods.has(i) ? 'Default' : 'Disabled',
|
||||
}));
|
||||
|
||||
return rows;
|
||||
}
|
||||
|
||||
@ -12,6 +12,22 @@ import * as seasonsConstants from './lib/seasons-constants';
|
||||
import * as seasonsTools from './lib/seasons-tools';
|
||||
import validatePaymentsTable from './validation';
|
||||
|
||||
const {
|
||||
generateSeasonPaymentsRows,
|
||||
generateSeasons,
|
||||
generateSeasonsPayments,
|
||||
getPositionIndex,
|
||||
getSeasonsValues,
|
||||
} = seasonsTools;
|
||||
|
||||
const {
|
||||
DEFAULT_SEASONS_VALUES,
|
||||
FORBIDDEN_HIGH_SEASON_START,
|
||||
SEASONS_PERIODS,
|
||||
SEASONS_PERIOD_NUMBER,
|
||||
SEASON_TYPES,
|
||||
} = seasonsConstants;
|
||||
|
||||
export default function paymentsReactions({ store }: ReactionsContext) {
|
||||
const { $calculation, $tables, $process } = store;
|
||||
|
||||
@ -222,7 +238,7 @@ export default function paymentsReactions({ store }: ReactionsContext) {
|
||||
// }
|
||||
|
||||
// if (graphType === 100_000_001 || graphType === 100_000_003) {
|
||||
// const allowedSeasonTypes = seasonsConstants.SEASON_TYPES[graphType];
|
||||
// const allowedSeasonTypes = SEASON_TYPES[graphType];
|
||||
|
||||
// const selectSeasonTypeOptions = selectSeasonType.filter((option) =>
|
||||
// allowedSeasonTypes.includes(option.value)
|
||||
@ -422,27 +438,13 @@ export default function paymentsReactions({ store }: ReactionsContext) {
|
||||
}
|
||||
|
||||
const highSeasonStartOptions = selectHighSeasonStart.filter(
|
||||
(option) => !seasonsConstants.FORBIDDEN_HIGH_SEASON_START[seasonType].includes(option.label)
|
||||
(option) => !FORBIDDEN_HIGH_SEASON_START[seasonType].includes(option.label)
|
||||
);
|
||||
|
||||
$calculation.element('selectHighSeasonStart').setOptions(highSeasonStartOptions);
|
||||
}
|
||||
);
|
||||
|
||||
function generateSeasonPaymentsRows(seasonType: number, shiftNumber: number, payments: number[]) {
|
||||
const shiftedPeriods = new Set(
|
||||
seasonsConstants.SEASONS_PERIODS[seasonType].map(
|
||||
(position) => (position + shiftNumber) % seasonsConstants.SEASONS_PERIOD_NUMBER
|
||||
)
|
||||
);
|
||||
const rows: Row[] = payments.map((value, i) => ({
|
||||
value,
|
||||
status: shiftedPeriods.has(i) ? 'Default' : 'Disabled',
|
||||
}));
|
||||
|
||||
return rows;
|
||||
}
|
||||
|
||||
reaction(
|
||||
() => {
|
||||
const seasonType = $calculation.element('selectSeasonType').getValue();
|
||||
@ -465,15 +467,9 @@ export default function paymentsReactions({ store }: ReactionsContext) {
|
||||
return;
|
||||
}
|
||||
|
||||
const seasons = seasonsTools.generateSeasons(
|
||||
seasonType,
|
||||
seasonsConstants.DEFAULT_SEASONS_VALUES
|
||||
);
|
||||
const seasons = generateSeasons(seasonType, DEFAULT_SEASONS_VALUES);
|
||||
const shiftNumber = Number.parseInt(highSeasonStartOption.label, 10) - 2;
|
||||
const payments = seasonsTools.generateSeasonsPayments(
|
||||
leasingPeriod,
|
||||
shift(seasons, shiftNumber)
|
||||
);
|
||||
const payments = generateSeasonsPayments(leasingPeriod, shift(seasons, shiftNumber));
|
||||
const middlePayments: Row[] = generateSeasonPaymentsRows(seasonType, shiftNumber, payments);
|
||||
const firstPaymentPerc = $calculation.element('tbxFirstPaymentPerc').getValue();
|
||||
const lastPaymentPerc = $calculation.element('tbxLastPaymentPerc').getValue();
|
||||
@ -503,7 +499,7 @@ export default function paymentsReactions({ store }: ReactionsContext) {
|
||||
reaction(
|
||||
() => {
|
||||
const payments = toJS($tables.payments.values);
|
||||
const seasons = payments.slice(1, seasonsConstants.SEASONS_PERIOD_NUMBER + 1);
|
||||
const seasons = payments.slice(1, SEASONS_PERIOD_NUMBER + 1);
|
||||
|
||||
return seasons;
|
||||
},
|
||||
@ -523,17 +519,14 @@ export default function paymentsReactions({ store }: ReactionsContext) {
|
||||
if (changes === null || changes.length > 1) return;
|
||||
|
||||
const [changeIndex] = changes;
|
||||
const positionIndex = seasonsTools.getPositionIndex(seasonType, changeIndex);
|
||||
const positionIndex = getPositionIndex(seasonType, changeIndex);
|
||||
|
||||
const values = seasonsTools.getSeasonsValues(seasonType, unshiftedNextSeasons);
|
||||
const values = getSeasonsValues(seasonType, unshiftedNextSeasons);
|
||||
values[positionIndex] = unshiftedNextSeasons[changeIndex];
|
||||
|
||||
const seasons = seasonsTools.generateSeasons(seasonType, values);
|
||||
const seasons = generateSeasons(seasonType, values);
|
||||
const leasingPeriod = $calculation.element('tbxLeasingPeriod').getValue();
|
||||
const payments = seasonsTools.generateSeasonsPayments(
|
||||
leasingPeriod,
|
||||
shift(seasons, shiftNumber)
|
||||
);
|
||||
const payments = generateSeasonsPayments(leasingPeriod, shift(seasons, shiftNumber));
|
||||
const rows: Row[] = generateSeasonPaymentsRows(seasonType, shiftNumber, payments);
|
||||
const firstPaymentPerc = $calculation.element('tbxFirstPaymentPerc').getValue();
|
||||
const lastPaymentPerc = $calculation.element('tbxLastPaymentPerc').getValue();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user