Compare commits

..

10 Commits

Author SHA1 Message Date
vchikalkin
3c25ba30d0 merge branch 'release/dyn-4885' 2024-12-10 10:11:43 +03:00
vchikalkin
ba36eb502b merge branch 'release/dyn-4872' 2024-12-03 12:09:07 +03:00
vchikalkin
2c9a2bd30c fix selectDealerPerson validation 2024-10-18 16:29:07 +03:00
vchikalkin
f35acee64b fix tbxVATInLeaseObjectPrice block/unblock by cbxPartialVAT 2024-10-18 14:56:50 +03:00
vchikalkin
a4c02a747f merge branch 'release/dyn-4790' 2024-10-18 13:39:03 +03:00
vchikalkin
66b1e2cdcb merge branch 'fix/irr-bonus-reaction' 2024-09-23 09:59:51 +03:00
vchikalkin
81eca1c6e0 merge branch 'release/dyn-4762' 2024-09-19 10:12:18 +03:00
vchikalkin
89f2b3b68c merge branch 'release/dyn-4760' 2024-09-19 10:11:30 +03:00
vchikalkin
549bd901da partial fix release/4710 2024-09-12 16:50:38 +03:00
vchikalkin
6aad2d3aa2 apps/web: countSeats default value = 4 2024-09-12 16:25:04 +03:00
19 changed files with 250 additions and 63 deletions

View File

@ -47,6 +47,8 @@ ARG URL_CORE_CALCULATE_DIRECT
ARG URL_1C_TRANSTAX_DIRECT
ARG URL_ELT_OSAGO_DIRECT
ARG URL_ELT_KASKO_DIRECT
ARG USERNAME_1C_TRANSTAX
ARG PASSWORD_1C_TRANSTAX
RUN pnpm dotenv -v NODE_ENV=production -e .env turbo run prebuild --filter=web...
RUN pnpm dotenv -e .env turbo run build --filter=web...

View File

@ -1,11 +1,12 @@
export type RequestTransTax = {
CalcDate: string;
CarCategory: string;
OKTMO: string;
calcDate: Date;
carCategory: string;
power: number;
year: number;
Power: number;
Year: number;
};
export type ResponseTransTax = {
error: string;
tax: number;
Error: string;
Tax: number;
TaxRate: number;
};

View File

@ -22,7 +22,7 @@ const defaultValues: CalculationValues = {
comissionRub: 0,
configuration: null,
costIncrease: true,
countSeats: 0,
countSeats: 4,
creditRate: RATE,
dealer: null,
dealerBroker: null,

View File

@ -2,6 +2,8 @@ const { z } = require('zod');
const envSchema = z.object({
BASE_PATH: z.string().optional().default(''),
DEV_AUTH_TOKEN: z.string().optional(),
PASSWORD_1C_TRANSTAX: z.string(),
PORT: z.string().optional(),
SENTRY_AUTH_TOKEN: z.string(),
SENTRY_DSN: z.string(),
@ -11,7 +13,6 @@ const envSchema = z.object({
URL_CACHE_GET_QUERIES_DIRECT: z.string().default('http://api:3001/proxy/get-queries'),
URL_CACHE_GET_QUERY_DIRECT: z.string().default('http://api:3001/proxy/get-query'),
URL_CACHE_RESET_QUERIES_DIRECT: z.string().default('http://api:3001/proxy/reset'),
DEV_AUTH_TOKEN: z.string().optional(),
URL_CORE_CALCULATE_DIRECT: z.string(),
URL_CORE_FINGAP_DIRECT: z.string(),
URL_CRM_CREATEKP_DIRECT: z.string(),
@ -22,6 +23,7 @@ const envSchema = z.object({
URL_ELT_OSAGO_DIRECT: z.string(),
URL_GET_USER_DIRECT: z.string(),
USE_DEV_COLORS: z.unknown().optional().transform(Boolean),
USERNAME_1C_TRANSTAX: z.string(),
});
module.exports = envSchema;

View File

@ -11,6 +11,7 @@ const publicRuntimeConfigSchema = envSchema.pick({
const serverRuntimeConfigSchema = envSchema.pick({
BASE_PATH: true,
DEV_AUTH_TOKEN: true,
PASSWORD_1C_TRANSTAX: true,
PORT: true,
SENTRY_DSN: true,
SENTRY_ENVIRONMENT: true,
@ -27,6 +28,7 @@ const serverRuntimeConfigSchema = envSchema.pick({
URL_ELT_KASKO_DIRECT: true,
URL_ELT_OSAGO_DIRECT: true,
URL_GET_USER_DIRECT: true,
USERNAME_1C_TRANSTAX: true,
});
module.exports = {

View File

@ -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
}
}

View File

@ -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>;

View File

@ -39,20 +39,23 @@ export const handlers = [
rest.post(URL_1C_TRANSTAX, (req, res, ctx) =>
res(
ctx.json({
error: null,
tax: _.random(100000, 200000),
Error: null,
Tax: _.random(100000, 200000),
})
)
),
rest.post(URL_ELT_OSAGO, async (req, res, ctx) => res(
rest.post(URL_ELT_OSAGO, async (req, res, ctx) =>
res(
ctx.json({
numCalc: _.random(1000000, 3000000),
skCalcId: _.random(50000000, 60000000).toString(),
premiumSum: _.random(10000, 20000),
message: 'OSAGO Message',
})
)),
rest.post(URL_ELT_KASKO, async (req, res, ctx) => res(
)
),
rest.post(URL_ELT_KASKO, async (req, res, ctx) =>
res(
ctx.json({
requestId: _.random(3000000, 4000000).toString(),
skCalcId: _.random(50000000, 60000000).toString(),
@ -67,7 +70,8 @@ export const handlers = [
],
totalFranchise: _.random(20000, 40000),
})
)),
)
),
// rest.post(URL_CRM_GRAPHQL, (req, res, ctx) => {
// return res(ctx.status(503));

View File

@ -66,10 +66,10 @@ module.exports = withSentryConfig(
destination: env.URL_CORE_FINGAP_DIRECT,
source: urls.URL_CORE_FINGAP_PROXY,
},
{
destination: env.URL_1C_TRANSTAX_DIRECT,
source: urls.URL_1C_TRANSTAX_PROXY,
},
// {
// destination: env.URL_1C_TRANSTAX_DIRECT,
// source: urls.URL_1C_TRANSTAX_PROXY,
// },
{
destination: env.URL_ELT_KASKO_DIRECT,
source: urls.URL_ELT_KASKO_PROXY,

View File

@ -0,0 +1,38 @@
import type { ResponseTransTax } from '@/api/1c/types';
import { serverRuntimeConfigSchema } from '@/config/schema/runtime-config';
import { withHandleError } from '@/utils/axios';
import type { HttpError } from '@/utils/error';
import axios from 'axios';
import type { NextApiRequest, NextApiResponse } from 'next';
import getConfig from 'next/config';
const { serverRuntimeConfig } = getConfig();
const { USERNAME_1C_TRANSTAX, PASSWORD_1C_TRANSTAX, URL_1C_TRANSTAX_DIRECT } =
serverRuntimeConfigSchema.parse(serverRuntimeConfig);
export default function handler(req: NextApiRequest, res: NextApiResponse) {
const abortController = new AbortController();
req.on('close', () => {
abortController.abort();
});
const params = req.body as ResponseTransTax;
withHandleError(
axios.get<ResponseTransTax>(URL_1C_TRANSTAX_DIRECT, {
auth: {
password: PASSWORD_1C_TRANSTAX,
username: USERNAME_1C_TRANSTAX,
},
params,
signal: abortController.signal,
})
)
.then(({ data }) => res.json(data))
.catch((error) => {
const _err = error as HttpError;
return res.json({ message: _err.message });
});
}

View File

@ -618,10 +618,26 @@ export async function makeEltKaskoRequest(
}
}
const classification =
leaseObjectCategory && [100_000_002, 100_000_003, 100_000_004].includes(leaseObjectCategory)
? '11635'
: '0';
let classification = '11606';
switch (evo_leasingobject_type?.evo_id) {
case '7': {
classification = '11611';
break;
}
case '3': {
classification = '11607';
break;
}
case '8': {
classification = '11650';
break;
}
default: {
classification = '11606';
break;
}
}
let INN = '';
const leadid = $calculation.element('selectLead').getValue();

View File

@ -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'],
});
}
}
);
}

View File

@ -9,7 +9,6 @@ import * as CRMTypes from '@/graphql/crm.types';
import { getCurrentDateString } from '@/utils/date';
import { normalizeOptions } from '@/utils/entity';
import { disposableReaction } from '@/utils/mobx';
import dayjs from 'dayjs';
import { reaction } from 'mobx';
export function common({ store, apolloClient, queryClient }: ProcessContext) {
@ -186,18 +185,16 @@ export function common({ store, apolloClient, queryClient }: ProcessContext) {
const carCategory = getCarCategory(objectTypeTax);
if (OKTMO) {
const currentDate = dayjs().utc(false).toDate();
const response = await queryClient.fetchQuery(
['1c', 'trans-tax', carCategory, leaseObjectMotorPower, leaseObjectYear],
['1c', 'trans-tax', carCategory, leaseObjectMotorPower, leaseObjectYear, OKTMO],
(context) =>
getTransTax(
{
CalcDate: getCurrentDateString(),
CarCategory: carCategory,
OKTMO,
calcDate: currentDate,
carCategory,
power: leaseObjectMotorPower,
year: leaseObjectYear,
Power: leaseObjectMotorPower,
Year: leaseObjectYear,
},
context
),
@ -206,8 +203,8 @@ export function common({ store, apolloClient, queryClient }: ProcessContext) {
}
);
if (response?.tax) {
$calculation.element('tbxVehicleTaxInYear').setValue(response.tax);
if (response?.Tax) {
$calculation.element('tbxVehicleTaxInYear').setValue(response.Tax);
} else {
$calculation.element('tbxVehicleTaxInYear').resetValue();
}

View File

@ -207,6 +207,7 @@ export function common({ store, apolloClient }: ProcessContext) {
}
);
// объединить со строчкой 308
debouncedReaction(
() => $calculation.$values.getValues(['leaseObjectCategory', 'leasingWithoutKasko']),
async ({ leaseObjectCategory, leasingWithoutKasko }) => {
@ -304,6 +305,7 @@ export function common({ store, apolloClient }: ProcessContext) {
}
);
// объединить со строчкой 210
reaction(
() => $calculation.$values.getValues(['leaseObjectType', 'maxSpeed']),
async ({ leaseObjectType: leaseObjectTypeId, maxSpeed }) => {
@ -351,7 +353,16 @@ export function common({ store, apolloClient }: ProcessContext) {
$tables.insurance.row('osago').column('insured').setValue(100_000_000).block();
$tables.insurance.row('osago').column('insCost').setValue(0).block();
} else {
$tables.insurance.row('osago').column('insuranceCompany').unblock();
const defaultOsagoOptions = accounts?.filter((x) =>
x?.evo_type_ins_policy?.includes(100_000_001)
);
$tables.insurance
.row('osago')
.column('insuranceCompany')
.setOptions(normalizeOptions(defaultOsagoOptions))
.unblock();
$tables.insurance.row('osago').column('insured').unblock();
$tables.insurance.row('osago').column('insCost').unblock();
}

View File

@ -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();
}
}
);
}
}

View File

@ -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 },

View File

@ -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);
// }
}
);

View File

@ -4,10 +4,17 @@ import type { AxiosError } from 'axios';
import { isAxiosError } from 'axios';
import { pick } from 'radash';
function getErrorMessage<
T extends { error?: string; errors?: string[]; fullMessage?: string; message?: string }
>(error: AxiosError<T>) {
type ResponseError = {
Error?: string;
error?: string;
errors?: string[];
fullMessage?: string;
message?: string;
};
function getErrorMessage<T extends ResponseError>(error: AxiosError<T>) {
return (
error.response?.data?.Error ||
error.response?.data?.error ||
error.response?.data?.errors?.[0] ||
error.response?.data.fullMessage ||

View File

@ -16,6 +16,8 @@ services:
- URL_CORE_FINGAP_DIRECT=${URL_CORE_FINGAP_DIRECT}
- URL_CORE_CALCULATE_DIRECT=${URL_CORE_CALCULATE_DIRECT}
- URL_1C_TRANSTAX_DIRECT=${URL_1C_TRANSTAX_DIRECT}
- USERNAME_1C_TRANSTAX=${USERNAME_1C_TRANSTAX}
- PASSWORD_1C_TRANSTAX=${PASSWORD_1C_TRANSTAX}
- URL_ELT_OSAGO_DIRECT=${URL_ELT_OSAGO_DIRECT}
- URL_ELT_KASKO_DIRECT=${URL_ELT_KASKO_DIRECT}
build:
@ -34,6 +36,8 @@ services:
- URL_CORE_FINGAP_DIRECT=${URL_CORE_FINGAP_DIRECT}
- URL_CORE_CALCULATE_DIRECT=${URL_CORE_CALCULATE_DIRECT}
- URL_1C_TRANSTAX_DIRECT=${URL_1C_TRANSTAX_DIRECT}
- USERNAME_1C_TRANSTAX=${USERNAME_1C_TRANSTAX}
- PASSWORD_1C_TRANSTAX=${PASSWORD_1C_TRANSTAX}
- URL_ELT_OSAGO_DIRECT=${URL_ELT_OSAGO_DIRECT}
- URL_ELT_KASKO_DIRECT=${URL_ELT_KASKO_DIRECT}
context: .