Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c25ba30d0 | ||
|
|
ba36eb502b | ||
|
|
2c9a2bd30c | ||
|
|
f35acee64b | ||
|
|
a4c02a747f | ||
|
|
66b1e2cdcb |
@ -12,3 +12,5 @@ export const VEHICLE_SEATS = 20;
|
||||
export const ESN = 1.3;
|
||||
export const NSIB_MAX = 5_000_000;
|
||||
export const NDFL = 0.13;
|
||||
|
||||
export const IRR_THRESHOLD = 0.001;
|
||||
|
||||
@ -718,6 +718,8 @@ query GetDealerPerson($dealerPersonId: UUID!) {
|
||||
evo_return_leasing_dealer
|
||||
evo_broker_accountid
|
||||
evo_supplier_financing_accept
|
||||
evo_legal_form
|
||||
evo_inn
|
||||
}
|
||||
}
|
||||
|
||||
@ -725,6 +727,7 @@ query GetAgent($agentid: UUID!) {
|
||||
agent(accountid: $agentid) {
|
||||
label: name
|
||||
value: accountid
|
||||
evo_inn
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2101,14 +2101,14 @@ export type GetDealerPersonQueryVariables = Exact<{
|
||||
}>;
|
||||
|
||||
|
||||
export type GetDealerPersonQuery = { __typename?: 'Query', dealer_person: { __typename?: 'account', evo_supplier_type: number | null, evo_supplier_financing_accept: boolean | null, evo_return_leasing_dealer: boolean | null, evo_broker_accountid: string | null } | null };
|
||||
export type GetDealerPersonQuery = { __typename?: 'Query', dealer_person: { __typename?: 'account', evo_supplier_type: number | null, evo_supplier_financing_accept: boolean | null, evo_return_leasing_dealer: boolean | null, evo_broker_accountid: string | null, evo_legal_form: number | null, evo_inn: string | null } | null };
|
||||
|
||||
export type GetAgentQueryVariables = Exact<{
|
||||
agentid: Scalars['UUID']['input'];
|
||||
}>;
|
||||
|
||||
|
||||
export type GetAgentQuery = { __typename?: 'Query', agent: { __typename?: 'account', label: string | null, value: string | null } | null };
|
||||
export type GetAgentQuery = { __typename?: 'Query', agent: { __typename?: 'account', evo_inn: string | null, label: string | null, value: string | null } | null };
|
||||
|
||||
export type GetRewardConditionsQueryVariables = Exact<{
|
||||
agentid: Scalars['UUID']['input'];
|
||||
@ -2281,8 +2281,8 @@ export const GetConfigurationDocument = {"kind":"Document","definitions":[{"kind
|
||||
export const GetDealersDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetDealers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dealers"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"accountid"}},{"kind":"Field","name":{"kind":"Name","value":"accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_financing_accept"}}]}}]}}]} as unknown as DocumentNode<GetDealersQuery, GetDealersQueryVariables>;
|
||||
export const GetDealerDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetDealer"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"dealerId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dealer"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"accountid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"dealerId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_return_leasing_dealer"}},{"kind":"Field","name":{"kind":"Name","value":"evo_broker_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_financing_accept"}}]}}]}}]} as unknown as DocumentNode<GetDealerQuery, GetDealerQueryVariables>;
|
||||
export const GetDealerPersonsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetDealerPersons"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"dealerId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"dealerPersons"},"name":{"kind":"Name","value":"dealer_persons"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"salonaccountid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"dealerId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"accountid"}},{"kind":"Field","name":{"kind":"Name","value":"accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_inn"}},{"kind":"Field","name":{"kind":"Name","value":"evo_kpp"}},{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_financing_accept"}}]}}]}}]} as unknown as DocumentNode<GetDealerPersonsQuery, GetDealerPersonsQueryVariables>;
|
||||
export const GetDealerPersonDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetDealerPerson"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"dealerPersonId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dealer_person"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"accountid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"dealerPersonId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_type"}},{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_financing_accept"}},{"kind":"Field","name":{"kind":"Name","value":"evo_return_leasing_dealer"}},{"kind":"Field","name":{"kind":"Name","value":"evo_broker_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_financing_accept"}}]}}]}}]} as unknown as DocumentNode<GetDealerPersonQuery, GetDealerPersonQueryVariables>;
|
||||
export const GetAgentDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAgent"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"agentid"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"agent"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"accountid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"agentid"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"accountid"}}]}}]}}]} as unknown as DocumentNode<GetAgentQuery, GetAgentQueryVariables>;
|
||||
export const GetDealerPersonDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetDealerPerson"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"dealerPersonId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"dealer_person"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"accountid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"dealerPersonId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_type"}},{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_financing_accept"}},{"kind":"Field","name":{"kind":"Name","value":"evo_return_leasing_dealer"}},{"kind":"Field","name":{"kind":"Name","value":"evo_broker_accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_supplier_financing_accept"}},{"kind":"Field","name":{"kind":"Name","value":"evo_legal_form"}},{"kind":"Field","name":{"kind":"Name","value":"evo_inn"}}]}}]}}]} as unknown as DocumentNode<GetDealerPersonQuery, GetDealerPersonQueryVariables>;
|
||||
export const GetAgentDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAgent"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"agentid"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"agent"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"accountid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"agentid"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"accountid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_inn"}}]}}]}}]} as unknown as DocumentNode<GetAgentQuery, GetAgentQueryVariables>;
|
||||
export const GetRewardConditionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetRewardConditions"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"agentid"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"DateTime"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_reward_conditions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filterConditionGroup"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"andFilterConditionGroup"},"value":{"kind":"ListValue","values":[{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"orFilterConditions"},"value":{"kind":"ListValue","values":[{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"filterConditionDateTime"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"fieldName"},"value":{"kind":"StringValue","value":"evo_dateto","block":false}},{"kind":"ObjectField","name":{"kind":"Name","value":"gte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}}]},{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"filterConditionDateTime"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"fieldName"},"value":{"kind":"StringValue","value":"evo_dateto","block":false}},{"kind":"ObjectField","name":{"kind":"Name","value":"eq"},"value":{"kind":"NullValue"}}]}}]}]}}]},{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"andFilterConditions"},"value":{"kind":"ListValue","values":[{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"filterConditionGuid"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"fieldName"},"value":{"kind":"StringValue","value":"evo_agent_accountid","block":false}},{"kind":"ObjectField","name":{"kind":"Name","value":"eq"},"value":{"kind":"Variable","name":{"kind":"Name","value":"agentid"}}}]}}]},{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"filterConditionDateTime"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"fieldName"},"value":{"kind":"StringValue","value":"evo_datefrom","block":false}},{"kind":"ObjectField","name":{"kind":"Name","value":"lte"},"value":{"kind":"Variable","name":{"kind":"Name","value":"currentDate"}}}]}}]},{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"filterConditionInt"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"fieldName"},"value":{"kind":"StringValue","value":"statecode","block":false}},{"kind":"ObjectField","name":{"kind":"Name","value":"eq"},"value":{"kind":"IntValue","value":"0"}}]}}]},{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"filterConditionGuid"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"fieldName"},"value":{"kind":"StringValue","value":"evo_agency_agreementid","block":false}},{"kind":"ObjectField","name":{"kind":"Name","value":"neq"},"value":{"kind":"NullValue"}}]}}]}]}}]}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"label"},"name":{"kind":"Name","value":"evo_name"}},{"kind":"Field","alias":{"kind":"Name","value":"value"},"name":{"kind":"Name","value":"evo_reward_conditionid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_reward_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_pl_type"}}]}}]}}]} as unknown as DocumentNode<GetRewardConditionsQuery, GetRewardConditionsQueryVariables>;
|
||||
export const GetRewardConditionDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetRewardCondition"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"conditionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_reward_condition"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_reward_conditionid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"conditionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_reward_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_reduce_reward"}},{"kind":"Field","name":{"kind":"Name","value":"evo_min_reward_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_agency_agreementidData"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_required_reward"}},{"kind":"Field","name":{"kind":"Name","value":"evo_reward_without_other_agent"}},{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_price"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_calc_reward_rules"}}]}}]}}]} as unknown as DocumentNode<GetRewardConditionQuery, GetRewardConditionQueryVariables>;
|
||||
export const GetSotCoefficientTypeDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetSotCoefficientType"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"evo_id"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_sot_coefficient_types"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"filterConditionGroup"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"andFilterConditions"},"value":{"kind":"ListValue","values":[{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"filterConditionString"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"fieldName"},"value":{"kind":"StringValue","value":"evo_id","block":false}},{"kind":"ObjectField","name":{"kind":"Name","value":"eq"},"value":{"kind":"Variable","name":{"kind":"Name","value":"evo_id"}}}]}}]},{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"filterConditionInt"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"fieldName"},"value":{"kind":"StringValue","value":"statecode","block":false}},{"kind":"ObjectField","name":{"kind":"Name","value":"eq"},"value":{"kind":"IntValue","value":"0"}}]}}]}]}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_sot_coefficient_typeid"}}]}}]}}]} as unknown as DocumentNode<GetSotCoefficientTypeQuery, GetSotCoefficientTypeQueryVariables>;
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import helper from '../lib/helper';
|
||||
import { IRR_THRESHOLD } from '@/constants/values';
|
||||
import type { ProcessContext } from '@/process/types';
|
||||
import { disposableReaction } from '@/utils/mobx';
|
||||
import { comparer, reaction } from 'mobx';
|
||||
@ -31,7 +32,8 @@ export default function reactions({ store, apolloClient }: ProcessContext) {
|
||||
|
||||
const { getIrr } = helper({ apolloClient });
|
||||
|
||||
reaction(
|
||||
disposableReaction(
|
||||
() => $process.has('LoadKP'),
|
||||
() => $calculation.$values.getValues(['product', 'tarif', 'bonusCoefficient']),
|
||||
async (values) => {
|
||||
const { min, max } = await getIrr(values);
|
||||
@ -40,6 +42,19 @@ export default function reactions({ store, apolloClient }: ProcessContext) {
|
||||
}
|
||||
);
|
||||
|
||||
// костыль
|
||||
disposableReaction(
|
||||
() =>
|
||||
$process.has('LoadKP') ||
|
||||
$calculation.element('radioLastPaymentRule').getValue() === 100_000_002,
|
||||
() => $calculation.element('labelIrrInfo').getValue(),
|
||||
({ min }) => {
|
||||
if ($calculation.element('radioLastPaymentRule').getValue() === 100_000_002) return;
|
||||
|
||||
$calculation.element('tbxIRR_Perc').setValue(min + IRR_THRESHOLD);
|
||||
}
|
||||
);
|
||||
|
||||
disposableReaction(
|
||||
() => $process.has('Calculate') || $process.has('CreateKP'),
|
||||
() => {
|
||||
|
||||
@ -618,7 +618,7 @@ export async function makeEltKaskoRequest(
|
||||
}
|
||||
}
|
||||
|
||||
let classification = '11635';
|
||||
let classification = '11606';
|
||||
|
||||
switch (evo_leasingobject_type?.evo_id) {
|
||||
case '7': {
|
||||
@ -634,7 +634,7 @@ export async function makeEltKaskoRequest(
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
classification = '11635';
|
||||
classification = '11606';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -259,6 +259,8 @@ export function createValidationSchema({ apolloClient }: ValidationContext) {
|
||||
}
|
||||
|
||||
let okved: string | null | undefined;
|
||||
let evo_inn: string | null | undefined;
|
||||
|
||||
if (leadid) {
|
||||
const {
|
||||
data: { lead },
|
||||
@ -268,6 +270,7 @@ export function createValidationSchema({ apolloClient }: ValidationContext) {
|
||||
});
|
||||
|
||||
okved = lead?.accountidData?.evo_okved;
|
||||
evo_inn = lead?.evo_inn;
|
||||
}
|
||||
|
||||
if (!okved && opportunityid) {
|
||||
@ -302,6 +305,14 @@ export function createValidationSchema({ apolloClient }: ValidationContext) {
|
||||
path: ['eltKasko', 'eltOsago'],
|
||||
});
|
||||
}
|
||||
|
||||
if (!evo_inn) {
|
||||
ctx.addIssue({
|
||||
code: z.ZodIssueCode.custom,
|
||||
message: 'ИНН в интересе не заполнен',
|
||||
path: ['eltKasko', 'eltOsago'],
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@ -167,4 +167,53 @@ export function common({ store, apolloClient }: ProcessContext) {
|
||||
.setValue(Boolean(evo_baseproduct?.evo_supplier_financing_accept));
|
||||
}
|
||||
);
|
||||
|
||||
{
|
||||
// eslint-disable-next-line no-inner-declarations
|
||||
function unblock() {
|
||||
const cbxPartialVAT = $calculation.element('cbxPartialVAT');
|
||||
cbxPartialVAT.unblock();
|
||||
if (cbxPartialVAT.getValue()) $calculation.element('tbxVATInLeaseObjectPrice').unblock();
|
||||
|
||||
$calculation.element('cbxInsDecentral').unblock();
|
||||
$calculation.element('selectDealerPerson').unblock();
|
||||
$calculation.element('selectDealerRewardCondition').unblock();
|
||||
$calculation.element('selectDealerBroker').unblock();
|
||||
$calculation.element('selectDealerBrokerRewardCondition').unblock();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see 'apps/web/process/used-pl/reactions.ts:common (40)'
|
||||
*/
|
||||
reaction(
|
||||
() => $calculation.$values.getValues(['dealerPerson', 'partialVAT']),
|
||||
async ({ dealerPerson: dealerPersonId }) => {
|
||||
if (!dealerPersonId) {
|
||||
unblock();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
const { data } = await apolloClient.query({
|
||||
query: CRMTypes.GetDealerPersonDocument,
|
||||
variables: {
|
||||
dealerPersonId,
|
||||
},
|
||||
});
|
||||
|
||||
if (data?.dealer_person?.evo_legal_form === 100_000_004) {
|
||||
$calculation.element('cbxPartialVAT').setValue(true).block();
|
||||
$calculation.element('tbxVATInLeaseObjectPrice').resetValue().block();
|
||||
$calculation.element('cbxInsDecentral').setValue(false).block();
|
||||
$calculation.element('selectDealerRewardCondition').block();
|
||||
$calculation.element('tbxDealerRewardSumm').resetValue().block();
|
||||
$calculation.element('selectDealerBroker').resetValue().block();
|
||||
$calculation.element('selectDealerBrokerRewardCondition').resetValue().block();
|
||||
$calculation.element('tbxDealerBrokerRewardSumm').resetValue().block();
|
||||
} else {
|
||||
unblock();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -190,7 +190,7 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
dealerBroker,
|
||||
dealerBrokerRewardCondition,
|
||||
dealerBrokerRewardSumm,
|
||||
dealerPerson,
|
||||
dealerPerson: dealerPersonId,
|
||||
dealerRewardCondition,
|
||||
dealerRewardSumm,
|
||||
finDepartmentRewardCondtion,
|
||||
@ -248,12 +248,12 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
|
||||
if (
|
||||
dealerRewardSumm > 0 &&
|
||||
Boolean(dealerPerson) &&
|
||||
((dealerPerson === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(dealerPerson === indAgent && indAgentRewardSumm > 0) ||
|
||||
(dealerPerson === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
(dealerPerson === calcBroker && calcBrokerRewardSum > 0) ||
|
||||
(dealerPerson === calcFinDepartment && finDepartmentRewardSumm > 0))
|
||||
Boolean(dealerPersonId) &&
|
||||
((dealerPersonId === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(dealerPersonId === indAgent && indAgentRewardSumm > 0) ||
|
||||
(dealerPersonId === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
(dealerPersonId === calcBroker && calcBrokerRewardSum > 0) ||
|
||||
(dealerPersonId === calcFinDepartment && finDepartmentRewardSumm > 0))
|
||||
) {
|
||||
ctx.addIssue({
|
||||
code: z.ZodIssueCode.custom,
|
||||
@ -265,7 +265,7 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
if (
|
||||
dealerBrokerRewardSumm > 0 &&
|
||||
Boolean(dealerBroker) &&
|
||||
((dealerBroker === dealerPerson && dealerRewardSumm > 0) ||
|
||||
((dealerBroker === dealerPersonId && dealerRewardSumm > 0) ||
|
||||
(dealerBroker === indAgent && indAgentRewardSumm > 0) ||
|
||||
(dealerBroker === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
(dealerBroker === calcBroker && calcBrokerRewardSum > 0) ||
|
||||
@ -281,7 +281,7 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
if (
|
||||
indAgentRewardSumm > 0 &&
|
||||
Boolean(indAgent) &&
|
||||
((indAgent === dealerPerson && dealerRewardSumm > 0) ||
|
||||
((indAgent === dealerPersonId && dealerRewardSumm > 0) ||
|
||||
(indAgent === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(indAgent === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
(indAgent === calcBroker && calcBrokerRewardSum > 0) ||
|
||||
@ -297,7 +297,7 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
if (
|
||||
calcDoubleAgentRewardSumm > 0 &&
|
||||
Boolean(calcDoubleAgent) &&
|
||||
((calcDoubleAgent === dealerPerson && dealerRewardSumm > 0) ||
|
||||
((calcDoubleAgent === dealerPersonId && dealerRewardSumm > 0) ||
|
||||
(calcDoubleAgent === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(calcDoubleAgent === indAgent && indAgentRewardSumm > 0) ||
|
||||
(calcDoubleAgent === calcBroker && calcBrokerRewardSum > 0) ||
|
||||
@ -313,7 +313,7 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
if (
|
||||
calcBrokerRewardSum > 0 &&
|
||||
Boolean(calcBroker) &&
|
||||
((calcBroker === dealerPerson && dealerRewardSumm > 0) ||
|
||||
((calcBroker === dealerPersonId && dealerRewardSumm > 0) ||
|
||||
(calcBroker === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(calcBroker === indAgent && indAgentRewardSumm > 0) ||
|
||||
(calcBroker === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
@ -329,7 +329,7 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
if (
|
||||
finDepartmentRewardSumm > 0 &&
|
||||
Boolean(calcFinDepartment) &&
|
||||
((calcFinDepartment === dealerPerson && dealerRewardSumm > 0) ||
|
||||
((calcFinDepartment === dealerPersonId && dealerRewardSumm > 0) ||
|
||||
(calcFinDepartment === dealerBroker && dealerBrokerRewardSumm > 0) ||
|
||||
(calcFinDepartment === indAgent && indAgentRewardSumm > 0) ||
|
||||
(calcFinDepartment === calcDoubleAgent && calcDoubleAgentRewardSumm > 0) ||
|
||||
@ -360,7 +360,7 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
},
|
||||
});
|
||||
|
||||
if (!dealerPerson && !dealer?.evo_return_leasing_dealer)
|
||||
if (!dealerPersonId && !dealer?.evo_return_leasing_dealer)
|
||||
ctx.addIssue({
|
||||
code: z.ZodIssueCode.custom,
|
||||
message: 'Не заполнено поле',
|
||||
@ -377,7 +377,7 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
const { validateRewardSum, validateRewardWithoutOtherAgent } = helper({ ...context, ctx });
|
||||
|
||||
await validateRewardSum({
|
||||
agentid: dealerPerson,
|
||||
agentid: dealerPersonId,
|
||||
conditionId: dealerRewardCondition,
|
||||
sum: dealerRewardSumm,
|
||||
sumFieldName: 'tbxDealerRewardSumm',
|
||||
@ -385,13 +385,13 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
|
||||
let evo_broker_accountid: string | null = null;
|
||||
|
||||
if (dealerPerson) {
|
||||
if (dealerPersonId) {
|
||||
const {
|
||||
data: { dealer_person },
|
||||
} = await apolloClient.query({
|
||||
query: CRMTypes.GetDealerPersonDocument,
|
||||
variables: {
|
||||
dealerPersonId: dealerPerson,
|
||||
dealerPersonId,
|
||||
},
|
||||
});
|
||||
|
||||
@ -482,6 +482,46 @@ export function createValidationSchema(context: ValidationContext) {
|
||||
});
|
||||
}
|
||||
|
||||
if (dealerPersonId) {
|
||||
const {
|
||||
data: { dealer_person },
|
||||
} = await apolloClient.query({
|
||||
query: CRMTypes.GetDealerPersonDocument,
|
||||
variables: {
|
||||
dealerPersonId,
|
||||
},
|
||||
});
|
||||
|
||||
// eslint-disable-next-line no-inner-declarations
|
||||
async function isAgentEqualsToDealerPerson(agentid: string | null) {
|
||||
if (!agentid) return false;
|
||||
if (agentid === dealerPersonId) return true;
|
||||
|
||||
const { data } = await apolloClient.query({
|
||||
query: CRMTypes.GetAgentDocument,
|
||||
variables: {
|
||||
agentid,
|
||||
},
|
||||
});
|
||||
|
||||
return data?.agent?.evo_inn === dealer_person?.evo_inn;
|
||||
}
|
||||
|
||||
if (
|
||||
dealer_person?.evo_legal_form === 100_000_004 &&
|
||||
((await isAgentEqualsToDealerPerson(indAgent)) ||
|
||||
(await isAgentEqualsToDealerPerson(calcDoubleAgent)) ||
|
||||
(await isAgentEqualsToDealerPerson(calcBroker)) ||
|
||||
(await isAgentEqualsToDealerPerson(calcFinDepartment)))
|
||||
) {
|
||||
ctx.addIssue({
|
||||
code: z.ZodIssueCode.custom,
|
||||
message: 'Нельзя закладывать АВ поставщику-ФЛ',
|
||||
path: ['selectDealerPerson'],
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (brandId) {
|
||||
const {
|
||||
data: { evo_brand },
|
||||
|
||||
@ -90,13 +90,13 @@ export function common({ store, apolloClient }: ProcessContext) {
|
||||
$calculation.element('selectImportProgram').resetValue();
|
||||
}
|
||||
|
||||
if (
|
||||
productId &&
|
||||
partialVAT &&
|
||||
$calculation.element('cbxRecalcWithRevision').getValue() === false
|
||||
) {
|
||||
$calculation.element('cbxLeaseObjectUsed').setValue(true);
|
||||
}
|
||||
// if (
|
||||
// productId &&
|
||||
// partialVAT &&
|
||||
// $calculation.element('cbxRecalcWithRevision').getValue() === false
|
||||
// ) {
|
||||
// $calculation.element('cbxLeaseObjectUsed').setValue(true);
|
||||
// }
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user