From 32b706d56333b2a9209c87b69cfb900113b1e155 Mon Sep 17 00:00:00 2001 From: vchikalkin Date: Wed, 22 Feb 2023 15:46:44 +0300 Subject: [PATCH] process: add 1c request to gibdd --- .env | 3 +- .../{elements-props.ts => elements-props.tsx} | 2 +- .../config/elements-render/override.tsx | 28 +- apps/web/api/1c/query.ts | 12 + apps/web/api/1c/types.ts | 11 + apps/web/config/schema/env.js | 1 + apps/web/config/schema/runtime-config.js | 1 + apps/web/config/urls.ts | 11 +- apps/web/constants/urls.js | 1 + apps/web/graphql/crm.query.graphql | 6 + apps/web/graphql/crm.schema.graphql | 919 +++++++++--------- apps/web/graphql/crm.types.ts | 8 + apps/web/mocks/handlers.js | 11 +- apps/web/next.config.js | 4 + apps/web/process/gibdd/reactions.ts | 171 +++- .../ui/elements/icons/DownloadOutlined.jsx | 3 - packages/ui/elements/icons/index.ts | 2 +- 17 files changed, 678 insertions(+), 516 deletions(-) rename apps/web/Components/Calculation/config/{elements-props.ts => elements-props.tsx} (99%) create mode 100644 apps/web/api/1c/query.ts create mode 100644 apps/web/api/1c/types.ts delete mode 100644 packages/ui/elements/icons/DownloadOutlined.jsx diff --git a/.env b/.env index b47d5a6..d630622 100644 --- a/.env +++ b/.env @@ -8,4 +8,5 @@ USERS_SUPER=["akalinina","vchikalkin"] ####### URLS ######## URL_GET_USER_DIRECT= URL_CRM_GRAPHQL_DIRECT= -URL_CORE_FINGAP_DIRECT= \ No newline at end of file +URL_CORE_FINGAP_DIRECT= +URL_1C_TRANSTAX_DIRECT= \ No newline at end of file diff --git a/apps/web/Components/Calculation/config/elements-props.ts b/apps/web/Components/Calculation/config/elements-props.tsx similarity index 99% rename from apps/web/Components/Calculation/config/elements-props.ts rename to apps/web/Components/Calculation/config/elements-props.tsx index 7887c96..e4933e5 100644 --- a/apps/web/Components/Calculation/config/elements-props.ts +++ b/apps/web/Components/Calculation/config/elements-props.tsx @@ -365,7 +365,7 @@ const props: Partial = { linkDownloadKp: { type: 'primary', text: 'Скачать КП', - icon: DownloadOutlined, + icon: , }, tbxMileage: { min: 0, diff --git a/apps/web/Components/Calculation/config/elements-render/override.tsx b/apps/web/Components/Calculation/config/elements-render/override.tsx index d13e504..ad30059 100644 --- a/apps/web/Components/Calculation/config/elements-render/override.tsx +++ b/apps/web/Components/Calculation/config/elements-render/override.tsx @@ -7,8 +7,10 @@ import map from '../map'; import type { RenderProps } from './types'; import { Container, Head } from '@/Components/Layout/Element'; import { useStore } from '@/stores/hooks'; +import { useIsFetching } from '@tanstack/react-query'; import { observer } from 'mobx-react-lite'; import type { ComponentProps } from 'react'; +import { LoadingOutlined } from 'ui/elements/icons'; import Link from 'ui/elements/Link'; import Tooltip from 'ui/elements/Tooltip'; @@ -192,14 +194,24 @@ const overrideRender: Partial> = { valueName, }); - return ( - - - - - - - ); + function RenderedComponent() { + const isFetching = useIsFetching({ queryKey: ['1c', 'trans-tax'] }); + + return ( + + + + } + /> + + + ); + } + + return ; }, }, }; diff --git a/apps/web/api/1c/query.ts b/apps/web/api/1c/query.ts new file mode 100644 index 0000000..820d387 --- /dev/null +++ b/apps/web/api/1c/query.ts @@ -0,0 +1,12 @@ +import type { RequestTransTax, ResponseTransTax } from './types'; +import getUrls from '@/config/urls'; +import type { QueryFunctionContext } from '@tanstack/react-query'; +import axios from 'axios'; + +const { URL_1C_TRANSTAX } = getUrls(); + +export async function getTransTax(payload: RequestTransTax, { signal }: QueryFunctionContext) { + const { data } = await axios.post(URL_1C_TRANSTAX, payload, { signal }); + + return data; +} diff --git a/apps/web/api/1c/types.ts b/apps/web/api/1c/types.ts new file mode 100644 index 0000000..8bff49c --- /dev/null +++ b/apps/web/api/1c/types.ts @@ -0,0 +1,11 @@ +export type RequestTransTax = { + OKTMO: string; + calcDate: Date; + carCategory: string; + power: number; + year: number; +}; +export type ResponseTransTax = { + error: string; + tax: number; +}; diff --git a/apps/web/config/schema/env.js b/apps/web/config/schema/env.js index 090d8f5..8d54d22 100644 --- a/apps/web/config/schema/env.js +++ b/apps/web/config/schema/env.js @@ -3,6 +3,7 @@ const { z } = require('zod'); const envSchema = z.object({ BASE_PATH: z.string().optional().default(''), PORT: z.string().optional(), + URL_1C_TRANSTAX_DIRECT: z.string(), URL_CORE_FINGAP_DIRECT: z.string(), URL_CRM_GRAPHQL_DIRECT: z.string(), URL_GET_USER_DIRECT: z.string(), diff --git a/apps/web/config/schema/runtime-config.js b/apps/web/config/schema/runtime-config.js index 0a66682..49a7c87 100644 --- a/apps/web/config/schema/runtime-config.js +++ b/apps/web/config/schema/runtime-config.js @@ -9,6 +9,7 @@ const publicRuntimeConfigSchema = envSchema.pick({ const serverRuntimeConfigSchema = envSchema.pick({ BASE_PATH: true, PORT: true, + URL_1C_TRANSTAX_DIRECT: true, URL_CORE_FINGAP_DIRECT: true, URL_CRM_GRAPHQL_DIRECT: true, URL_GET_USER_DIRECT: true, diff --git a/apps/web/config/urls.ts b/apps/web/config/urls.ts index 0e18a17..7805e49 100644 --- a/apps/web/config/urls.ts +++ b/apps/web/config/urls.ts @@ -9,12 +9,18 @@ function getUrls() { const { BASE_PATH } = publicRuntimeConfigSchema.parse(publicRuntimeConfig); if (isServer()) { - const { URL_CRM_GRAPHQL_DIRECT, URL_GET_USER_DIRECT, URL_CORE_FINGAP_DIRECT, PORT } = - serverRuntimeConfigSchema.parse(serverRuntimeConfig); + const { + URL_CRM_GRAPHQL_DIRECT, + URL_GET_USER_DIRECT, + URL_CORE_FINGAP_DIRECT, + URL_1C_TRANSTAX_DIRECT, + PORT, + } = serverRuntimeConfigSchema.parse(serverRuntimeConfig); return { BASE_PATH, PORT, + URL_1C_TRANSTAX: URL_1C_TRANSTAX_DIRECT, URL_CORE_FINGAP: URL_CORE_FINGAP_DIRECT, URL_CRM_GRAPHQL: URL_CRM_GRAPHQL_DIRECT, URL_GET_USER: URL_GET_USER_DIRECT, @@ -27,6 +33,7 @@ function getUrls() { return { BASE_PATH, + URL_1C_TRANSTAX: withBasePath(urls.URL_1C_TRANSTAX_PROXY), URL_CORE_FINGAP: withBasePath(urls.URL_CORE_FINGAP_PROXY), URL_CRM_GRAPHQL: withBasePath(urls.URL_CRM_GRAPHQL_PROXY), URL_GET_USER: withBasePath(urls.URL_GET_USER_PROXY), diff --git a/apps/web/constants/urls.js b/apps/web/constants/urls.js index 2a50a7b..7fa1269 100644 --- a/apps/web/constants/urls.js +++ b/apps/web/constants/urls.js @@ -1,4 +1,5 @@ module.exports = { + URL_1C_TRANSTAX_PROXY: '/api/1c/transtax', URL_CORE_FINGAP_PROXY: '/api/core/fingap', URL_CRM_GRAPHQL_PROXY: '/api/graphql/crm', URL_GET_USER_PROXY: '/api/auth/user', diff --git a/apps/web/graphql/crm.query.graphql b/apps/web/graphql/crm.query.graphql index 5eb9b67..0661a5f 100644 --- a/apps/web/graphql/crm.query.graphql +++ b/apps/web/graphql/crm.query.graphql @@ -210,6 +210,12 @@ query GetRegions { } } +query GetRegion($regionId: Uuid!) { + evo_region(evo_regionid: $regionId) { + evo_oktmo + } +} + query GetGPSBrands { evo_gps_brands(statecode: 0) { label: evo_name diff --git a/apps/web/graphql/crm.schema.graphql b/apps/web/graphql/crm.schema.graphql index 92da466..77f91f3 100644 --- a/apps/web/graphql/crm.schema.graphql +++ b/apps/web/graphql/crm.schema.graphql @@ -79,6 +79,7 @@ type Query { evo_rates(evo_datefrom_param: DateParamInput, evo_dateto_param: DateParamInput, statecode: Int): [evo_rate] """Регион. statecode по умолчанию 0""" + evo_region(evo_regionid: Uuid!): evo_region evo_regions(evo_businessunit_evolution: Boolean, evo_creditregistry_id: Int, statecode: Int): [evo_region] evo_request_client(evo_request_clientid: Uuid!): evo_request_client evo_request_payment(evo_request_paymentid: Uuid!): evo_request_payment @@ -96,7 +97,7 @@ type Query { evo_subsidy(evo_subsidyid: Uuid!): evo_subsidy evo_tarif(evo_tarifid: Uuid!): evo_tarif evo_tarifs(evo_balance_holder: [Int!], evo_baseproductid: Uuid, evo_datefrom_param: DateParamInput, evo_dateto_param: DateParamInput, evo_graphtype_exception: [Int!], evo_ins_type: [Int!], evo_max_first_payment_param: DecimalParamInput, evo_max_last_payment_param: DecimalParamInput, evo_max_period_param: DecimalParamInput, evo_min_first_payment_param: DecimalParamInput, evo_min_last_payment_param: DecimalParamInput, evo_min_period_param: DecimalParamInput, evo_used: Boolean, statecode: Int): [evo_tarif] - evo_town(evo_fias_id: String, evo_townid: Uuid): evo_town + evo_town(evo_townid: Uuid!): evo_town """Города. statecode по умолчанию 0""" evo_towns(evo_regionid: Uuid, statecode: Int): [evo_town] @@ -144,21 +145,325 @@ type Mutation { by(systemuserid: Uuid): MutationBy } -type evo_bank_details { +type evo_addcontract { createdon: DateTime evo_accountid: Uuid - evo_bankid: Uuid - evo_bankidData: account - evo_bank_code: String + evo_accountidData: account + evo_accountid_new: Uuid + evo_account_change: Boolean + evo_acquisition_costs: Decimal + evo_activdate_1c: DateTime + evo_activdate_crm: DateTime + evo_activdate_insurance: DateTime + evo_addcontractid: Uuid + evo_add_bonus_summ: Decimal + evo_add_director_bonus: Decimal + evo_add_region_director_bonus: Decimal + evo_agent_reward: Decimal + evo_agent_reward_summ: Decimal + evo_agent_reward_tech: Decimal + evo_age_drivers: Int + evo_age_drivers_new: Int + evo_approv_business_analyst: Boolean + evo_balance: Int + evo_balance_change: Boolean + evo_balance_new: Int evo_bank_detailsid: Uuid - evo_contactid: Uuid - evo_corresponding_account: String - evo_datefrom: DateTime - evo_kbk: String + evo_bank_detailsid_new: Uuid + evo_ban_edit_date: DateTime + evo_base: String + evo_base_bonus: Decimal + evo_base_calc_pay: Decimal + evo_base_new: String + evo_broker_reward: Decimal + evo_broker_reward_summ: Decimal + evo_broker_reward_tech: Decimal + evo_businessunitid: Uuid + evo_calculation_method: Int + evo_calculator_type: Int + evo_calc_checks_disable: Boolean + evo_calc_profit: Decimal + evo_category: Int + evo_category_new: Int + evo_category_tr: Int + evo_category_tr_new: Int + evo_certificate: String + evo_certificate_date: DateTime + evo_certificate_date_new: DateTime + evo_certificate_issued: String + evo_certificate_issued_new: String + evo_certificate_new: String + evo_change_payment_date: Boolean + evo_chassis: String + evo_chassis_new: String + evo_color: String + evo_color_new: String + evo_contractid: Uuid + evo_contract_term_change: Boolean + evo_cost_change: Boolean + evo_cost_currency_change: Boolean + evo_dateend: DateTime + evo_date_addcontract: DateTime + evo_date_calculation_done: DateTime + evo_date_offset_change: Boolean + evo_deadline_date: DateTime + evo_dealer_broker_accountid: Uuid + evo_dealer_broker_accountid_new: Uuid + evo_dealer_broker_reward: Decimal + evo_dealer_broker_reward_conditionid: Uuid + evo_dealer_broker_reward_conditionid_new: Uuid + evo_dealer_broker_reward_new: Decimal + evo_dealer_broker_reward_summ: Decimal + evo_dealer_broker_reward_summ_new: Decimal + evo_dealer_broker_reward_tech: Decimal + evo_dealer_person_accountid: Uuid + evo_dealer_person_accountid_new: Uuid + evo_dealer_person_reward: Decimal + evo_dealer_person_reward_conditionid: Uuid + evo_dealer_person_reward_conditionid_new: Uuid + evo_dealer_person_reward_new: Decimal + evo_dealer_person_reward_summ: Decimal + evo_dealer_person_reward_summ_new: Decimal + evo_dealer_person_reward_tech: Decimal + evo_deviation_investments_withoutnds: Decimal + evo_deviation_irr: Decimal + evo_dgo_price: Decimal + evo_dgo_price_new: Decimal + evo_director_bonus: Decimal + evo_discount_perc: Decimal + evo_discount_perc_new: Decimal + evo_discount_supplier_currency: Decimal + evo_discount_supplier_currency_new: Decimal + evo_documents: [evo_document] + evo_dog_credit: Decimal + evo_dog_credit_new: Decimal + evo_double_agent_reward: Decimal + evo_double_agent_reward_summ: Decimal + evo_double_agent_reward_tech: Decimal + evo_driving_axle: String + evo_driving_axle_new: String + evo_early_change_discount: Boolean + evo_early_discount_perc: Decimal + evo_early_partly_type: Int + evo_early_redemption_change: Boolean + evo_early_sum: Decimal + evo_ecological_class: Int + evo_ecological_class_new: Int + evo_economic: Decimal + evo_economic_with_nds: Decimal + evo_emailaddress: String + evo_emailaddress_new: String + evo_engine_model: String + evo_engine_model_new: String + evo_engine_power: Decimal + evo_engine_power_kvt: Decimal + evo_engine_power_kvt_new: Decimal + evo_engine_power_new: Decimal + evo_engine_type: Int + evo_engine_type_new: Int + evo_engine_volume: Decimal + evo_engine_volume_new: Decimal + evo_equip_price: Decimal + evo_equip_price_new: Decimal + evo_evokasko_addproduct_typeid: Uuid + evo_evokasko_addproduct_typeid_new: Uuid + evo_evokasko_price_new: Decimal + evo_exp_drivers: Int + evo_exp_drivers_new: Int + evo_fin_department_reward: Decimal + evo_fin_department_reward_conditionid: Uuid + evo_fin_department_reward_conditionid_new: Uuid + evo_fin_department_reward_new: Decimal + evo_fin_department_reward_summ: Decimal + evo_fin_department_reward_summ_new: Decimal + evo_fin_department_reward_tech: Decimal + evo_fix_last_payment: Boolean + evo_franchise: Decimal + evo_franchise_new: Decimal + evo_gos_akt: String + evo_gos_akt_new: String + evo_graph_irr: Decimal + evo_importer_reward_rub: Decimal + evo_insurance_change: Boolean + evo_insurance_checking: Boolean + evo_insurance_period: Int + evo_insurance_period_new: Int + evo_insurance_price_result: Decimal + evo_insurance_price_result_new: Decimal + evo_insurer_kasko_accountid: Uuid + evo_insurer_kasko_accountid_new: Uuid + evo_insurer_osago_accountid: Uuid + evo_insurer_osago_accountid_new: Uuid + evo_ins_period_evokasko_date: DateTime + evo_ins_period_evokasko_number: Int + evo_ins_period_kasko_date: DateTime + evo_ins_period_kasko_number: Int + evo_ins_period_osago_date: DateTime + evo_ins_period_osago_number: Int + evo_irr_msfo_final: Decimal + evo_irr_msfo_final2: Decimal + evo_kasko_elt_id: String + evo_kasko_elt_id_new: String + evo_kasko_id_elt_calc: String + evo_kasko_id_elt_calc_new: String + evo_kasko_price: Decimal + evo_kasko_price_new: Decimal + evo_last_day_month: Boolean + evo_last_payment_change: Boolean + evo_last_payment_redemption: Boolean + evo_last_payment_redemption_new: Boolean + evo_leasingobjectid: Uuid + evo_leasingobject_specification: String + evo_leasingobject_specification_new: String + evo_leasing_bonus_summ: Decimal + evo_log_activdate_1c: String + evo_loss_kv: Decimal + evo_maker: String + evo_maker_new: String + evo_max_mass: Decimal + evo_max_mass_new: Decimal + evo_max_speed: Decimal + evo_max_speed_new: Decimal + evo_motor_power_1: String + evo_motor_power_1_new: String + evo_msfo_irr: Decimal evo_name: String - evo_payment_account: String - link: String + evo_nds_in_price_calc: Decimal + evo_nds_in_price_supplier_currency: Decimal + evo_nds_in_price_supplier_currency_new: Decimal + evo_nds_perc: Decimal + evo_nds_perc_new: Decimal + evo_net_irr: Decimal + evo_niatinception_msfo: Decimal + evo_ni_at_inception: Decimal + evo_not_require_signing: Boolean + evo_not_require_signing_send_date: DateTime + evo_npvni_msfo: Decimal + evo_npvni_msfo_final: Decimal + evo_ns_bonus_summ: Decimal + evo_ns_price: Decimal + evo_ns_price_new: Decimal + evo_number_paydate: DateTime + evo_number_planpaymentid: Uuid + evo_object_number: String + evo_object_number_new: String + evo_osago_elt_id: String + evo_osago_elt_id_new: String + evo_osago_id_elt_calc: String + evo_osago_id_elt_calc_new: String + evo_osago_price: Decimal + evo_osago_price_new: Decimal + evo_passport_address: String + evo_passport_address_new: String + evo_passport_brand_model: String + evo_passport_brand_model_new: String + evo_passport_company: String + evo_passport_company_new: String + evo_passport_date: DateTime + evo_passport_date_new: DateTime + evo_passport_engine_type: String + evo_passport_engine_type_new: String + evo_passport_name: String + evo_passport_name_new: String + evo_passport_number: String + evo_passport_number_new: String + evo_passport_seria: String + evo_passport_seria_new: String + evo_passport_type: Int + evo_passport_type_new: Int + evo_payer_evokasko: Int + evo_payer_evokasko_new: Int + evo_payer_kasko: Int + evo_payer_kasko_new: Int + evo_payer_osago: Int + evo_payer_osago_new: Int + evo_payment_redemption: Int + evo_period: Int + evo_period_new: Int + evo_price_calc: Decimal + evo_price_without_discount: Decimal + evo_price_without_discount_new: Decimal + evo_price_without_discount_supplier_rub: Decimal + evo_price_without_discount_supplier_rub_new: Decimal + evo_price_without_disc_supplier_currency: Decimal + evo_price_without_disc_supplier_currency_new: Decimal + evo_price_wthout_disc_nds_sup_currency: Decimal + evo_price_wthout_disc_nds_sup_currency_new: Decimal + evo_program_import_subsidy_sum: Decimal + evo_program_import_subsidy_sum_new: Decimal + evo_prop_type: String + evo_prop_type_new: String + evo_pts_change: Boolean + evo_pts_type: Int + evo_pts_type_new: Int + evo_quoteid: Uuid + evo_reasons_calc: [Int!] + evo_recalculate_demand: Boolean + evo_refuse_reason: Int + evo_regionid: Uuid + evo_regionid_new: Uuid + evo_region_director_bonus: Decimal + evo_registration: Int + evo_registration_addproduct_typeid: Uuid + evo_registration_addproduct_typeid_new: Uuid + evo_registration_change: Boolean + evo_registration_new: Int + evo_registration_regionid: Uuid + evo_registration_regionid_new: Uuid + evo_remove_restrictions: Boolean + evo_seats: Int + evo_seats_new: Int + evo_signatory_evo_systemuserid: Uuid + evo_signatory_lp_contactid: Uuid + evo_signatory_lp_contactid_new: Uuid + evo_source: Int + evo_specification_change: Boolean + evo_statuscodeid: Uuid + evo_statuscodeidData: evo_statuscode + evo_statuscode_reason: String + evo_storage: String + evo_sum_pay_change: Boolean + evo_supplier_accountid: Uuid + evo_supplier_accountid_new: Uuid + evo_supplier_bank_detailsid: Uuid + evo_supplier_bank_detailsid_new: Uuid + evo_supplier_change: Boolean + evo_supplier_currency_price: Decimal + evo_supplier_currency_price_new: Decimal + evo_supplier_pay_actual: Decimal + evo_supplier_pay_actual_currency: Decimal + evo_supplier_signer_contactid_new: Uuid + evo_suspend_contract_change: Boolean + evo_telematics_addproduct_typeid: Uuid + evo_telematics_addproduct_typeid_new: Uuid + evo_townid: Uuid + evo_townid_new: Uuid + evo_tracking_addproduct_typeid: Uuid + evo_tracking_addproduct_typeid_new: Uuid + evo_tracking_control_change: Boolean + evo_transmission_number: String + evo_transmission_number_new: String + evo_type_agreement: Int + evo_type_change_registration: Int + evo_type_change_telematics: Int + evo_type_change_tracking: Int + evo_unlimit_drivers: Boolean + evo_unlimit_drivers_new: Boolean + evo_vacation_number_months: Int + evo_vehicle_tax_approved: Decimal + evo_vehicle_tax_approved_new: Decimal + evo_vehicle_tax_period: Decimal + evo_vehicle_tax_period_new: Decimal + evo_vehicle_tax_year: Decimal + evo_vehicle_tax_year_new: Decimal + evo_vehicle_type_tax: Int + evo_vehicle_type_tax_new: Int + evo_vin: String + evo_vin_new: String + evo_year: Int + evo_year_new: Int modifiedon: DateTime + ownerid: Uuid toObjectString: String } @@ -204,6 +509,46 @@ input GuidParamInput { """The built-in `Decimal` scalar type.""" scalar Decimal +type email { + activityid: Uuid + createdon: DateTime + description: String + email_activity_parties: [activityparty] + evo_accountid: Uuid + modifiedon: DateTime + regardingobjectid_account: Uuid + regardingobjectid_evo_contract: Uuid + regardingobjectid_evo_insurance_period: Uuid + regardingobjectid_evo_insurance_policy: Uuid + regardingobjectid_evo_insurance_policyData: evo_insurance_policy + regardingobjectid_evo_list: Uuid + regardingobjectid_incident: Uuid + regardingobjectid_opportunity: Uuid + statecode: Int + statuscode: Int + subject: String + templateid: Uuid + toObjectString: String +} + +type evo_bank_details { + createdon: DateTime + evo_accountid: Uuid + evo_bankid: Uuid + evo_bankidData: account + evo_bank_code: String + evo_bank_detailsid: Uuid + evo_contactid: Uuid + evo_corresponding_account: String + evo_datefrom: DateTime + evo_kbk: String + evo_name: String + evo_payment_account: String + link: String + modifiedon: DateTime + toObjectString: String +} + type queue { createdon: DateTime emailaddress: String @@ -572,7 +917,7 @@ type account { evo_state_liquidation_date: DateTime evo_state_registration_date: DateTime evo_state_status: Int - evo_state_status_code: String + evo_state_status_code: Int evo_storage: String evo_subsidies(statecode: Int): [evo_subsidy] evo_supplier_financing_accept: Boolean @@ -1672,7 +2017,6 @@ type evo_scheduled_call { evo_utm_source: String evo_utm_term: String modifiedon: DateTime - ownerid: Uuid owneridtype: Int ownerid_systemuser: Uuid ownerid_team: Uuid @@ -2362,6 +2706,7 @@ type systemuser { evo_identity_documents: [evo_identity_document] evo_job_titleid: Uuid evo_loader: String + evo_mps_co: Boolean evo_role_treasury: Boolean evo_sfm: Boolean evo_underwriting_purchases_rules: Boolean @@ -2489,350 +2834,6 @@ type evo_agency_agreement { toObjectString: String } -type evo_addcontract { - createdon: DateTime - evo_accountid: Uuid - evo_accountidData: account - evo_accountid_new: Uuid - evo_account_change: Boolean - evo_acquisition_costs: Decimal - evo_activdate_1c: DateTime - evo_activdate_crm: DateTime - evo_activdate_insurance: DateTime - evo_addcontractid: Uuid - evo_add_bonus_summ: Decimal - evo_add_director_bonus: Decimal - evo_add_region_director_bonus: Decimal - evo_agent_reward: Decimal - evo_agent_reward_summ: Decimal - evo_agent_reward_tech: Decimal - evo_age_drivers: Int - evo_age_drivers_new: Int - evo_approv_business_analyst: Boolean - evo_balance: Int - evo_balance_change: Boolean - evo_balance_new: Int - evo_bank_detailsid: Uuid - evo_bank_detailsid_new: Uuid - evo_ban_edit_date: DateTime - evo_base: String - evo_base_bonus: Decimal - evo_base_calc_pay: Decimal - evo_base_new: String - evo_broker_reward: Decimal - evo_broker_reward_summ: Decimal - evo_broker_reward_tech: Decimal - evo_businessunitid: Uuid - evo_calculation_method: Int - evo_calculator_type: Int - evo_calc_checks_disable: Boolean - evo_calc_profit: Decimal - evo_category: Int - evo_category_new: Int - evo_category_tr: Int - evo_category_tr_new: Int - evo_certificate: String - evo_certificate_date: DateTime - evo_certificate_date_new: DateTime - evo_certificate_issued: String - evo_certificate_issued_new: String - evo_certificate_new: String - evo_change_payment_date: Boolean - evo_chassis: String - evo_chassis_new: String - evo_color: String - evo_color_new: String - evo_contractid: Uuid - evo_contract_term_change: Boolean - evo_cost_change: Boolean - evo_cost_currency_change: Boolean - evo_dateend: DateTime - evo_date_addcontract: DateTime - evo_date_calculation_done: DateTime - evo_date_offset_change: Boolean - evo_deadline_date: DateTime - evo_dealer_broker_accountid: Uuid - evo_dealer_broker_accountid_new: Uuid - evo_dealer_broker_reward: Decimal - evo_dealer_broker_reward_conditionid: Uuid - evo_dealer_broker_reward_conditionid_new: Uuid - evo_dealer_broker_reward_new: Decimal - evo_dealer_broker_reward_summ: Decimal - evo_dealer_broker_reward_summ_new: Decimal - evo_dealer_broker_reward_tech: Decimal - evo_dealer_person_accountid: Uuid - evo_dealer_person_accountid_new: Uuid - evo_dealer_person_reward: Decimal - evo_dealer_person_reward_conditionid: Uuid - evo_dealer_person_reward_conditionid_new: Uuid - evo_dealer_person_reward_new: Decimal - evo_dealer_person_reward_summ: Decimal - evo_dealer_person_reward_summ_new: Decimal - evo_dealer_person_reward_tech: Decimal - evo_deviation_investments_withoutnds: Decimal - evo_deviation_irr: Decimal - evo_dgo_price: Decimal - evo_dgo_price_new: Decimal - evo_director_bonus: Decimal - evo_discount_perc: Decimal - evo_discount_perc_new: Decimal - evo_discount_supplier_currency: Decimal - evo_discount_supplier_currency_new: Decimal - evo_documents: [evo_document] - evo_dog_credit: Decimal - evo_dog_credit_new: Decimal - evo_double_agent_reward: Decimal - evo_double_agent_reward_summ: Decimal - evo_double_agent_reward_tech: Decimal - evo_driving_axle: String - evo_driving_axle_new: String - evo_early_change_discount: Boolean - evo_early_discount_perc: Decimal - evo_early_partly_type: Int - evo_early_redemption_change: Boolean - evo_early_sum: Decimal - evo_ecological_class: Int - evo_ecological_class_new: Int - evo_economic: Decimal - evo_economic_with_nds: Decimal - evo_emailaddress: String - evo_emailaddress_new: String - evo_engine_model: String - evo_engine_model_new: String - evo_engine_power: Decimal - evo_engine_power_kvt: Decimal - evo_engine_power_kvt_new: Decimal - evo_engine_power_new: Decimal - evo_engine_type: Int - evo_engine_type_new: Int - evo_engine_volume: Decimal - evo_engine_volume_new: Decimal - evo_equip_price: Decimal - evo_equip_price_new: Decimal - evo_evokasko_addproduct_typeid: Uuid - evo_evokasko_addproduct_typeid_new: Uuid - evo_evokasko_price_new: Decimal - evo_exp_drivers: Int - evo_exp_drivers_new: Int - evo_fin_department_reward: Decimal - evo_fin_department_reward_conditionid: Uuid - evo_fin_department_reward_conditionid_new: Uuid - evo_fin_department_reward_new: Decimal - evo_fin_department_reward_summ: Decimal - evo_fin_department_reward_summ_new: Decimal - evo_fin_department_reward_tech: Decimal - evo_fix_last_payment: Boolean - evo_franchise: Decimal - evo_franchise_new: Decimal - evo_gos_akt: String - evo_gos_akt_new: String - evo_graph_irr: Decimal - evo_importer_reward_rub: Decimal - evo_insurance_change: Boolean - evo_insurance_checking: Boolean - evo_insurance_period: Int - evo_insurance_period_new: Int - evo_insurance_price_result: Decimal - evo_insurance_price_result_new: Decimal - evo_insurer_kasko_accountid: Uuid - evo_insurer_kasko_accountid_new: Uuid - evo_insurer_osago_accountid: Uuid - evo_insurer_osago_accountid_new: Uuid - evo_ins_period_evokasko_date: DateTime - evo_ins_period_evokasko_number: Int - evo_ins_period_kasko_date: DateTime - evo_ins_period_kasko_number: Int - evo_ins_period_osago_date: DateTime - evo_ins_period_osago_number: Int - evo_irr_msfo_final: Decimal - evo_irr_msfo_final2: Decimal - evo_kasko_elt_id: String - evo_kasko_elt_id_new: String - evo_kasko_id_elt_calc: String - evo_kasko_id_elt_calc_new: String - evo_kasko_price: Decimal - evo_kasko_price_new: Decimal - evo_last_day_month: Boolean - evo_last_payment_change: Boolean - evo_last_payment_redemption: Boolean - evo_last_payment_redemption_new: Boolean - evo_leasingobjectid: Uuid - evo_leasingobject_specification: String - evo_leasingobject_specification_new: String - evo_leasing_bonus_summ: Decimal - evo_log_activdate_1c: String - evo_loss_kv: Decimal - evo_maker: String - evo_maker_new: String - evo_max_mass: Decimal - evo_max_mass_new: Decimal - evo_max_speed: Decimal - evo_max_speed_new: Decimal - evo_motor_power_1: String - evo_motor_power_1_new: String - evo_msfo_irr: Decimal - evo_name: String - evo_nds_in_price_calc: Decimal - evo_nds_in_price_supplier_currency: Decimal - evo_nds_in_price_supplier_currency_new: Decimal - evo_nds_perc: Decimal - evo_nds_perc_new: Decimal - evo_net_irr: Decimal - evo_niatinception_msfo: Decimal - evo_ni_at_inception: Decimal - evo_not_require_signing: Boolean - evo_not_require_signing_send_date: DateTime - evo_npvni_msfo: Decimal - evo_npvni_msfo_final: Decimal - evo_ns_bonus_summ: Decimal - evo_ns_price: Decimal - evo_ns_price_new: Decimal - evo_number_paydate: DateTime - evo_number_planpaymentid: Uuid - evo_object_number: String - evo_object_number_new: String - evo_osago_elt_id: String - evo_osago_elt_id_new: String - evo_osago_id_elt_calc: String - evo_osago_id_elt_calc_new: String - evo_osago_price: Decimal - evo_osago_price_new: Decimal - evo_passport_address: String - evo_passport_address_new: String - evo_passport_brand_model: String - evo_passport_brand_model_new: String - evo_passport_company: String - evo_passport_company_new: String - evo_passport_date: DateTime - evo_passport_date_new: DateTime - evo_passport_engine_type: String - evo_passport_engine_type_new: String - evo_passport_name: String - evo_passport_name_new: String - evo_passport_number: String - evo_passport_number_new: String - evo_passport_seria: String - evo_passport_seria_new: String - evo_passport_type: Int - evo_passport_type_new: Int - evo_payer_evokasko: Int - evo_payer_evokasko_new: Int - evo_payer_kasko: Int - evo_payer_kasko_new: Int - evo_payer_osago: Int - evo_payer_osago_new: Int - evo_payment_redemption: Int - evo_period: Int - evo_period_new: Int - evo_price_calc: Decimal - evo_price_without_discount: Decimal - evo_price_without_discount_new: Decimal - evo_price_without_discount_supplier_rub: Decimal - evo_price_without_discount_supplier_rub_new: Decimal - evo_price_without_disc_supplier_currency: Decimal - evo_price_without_disc_supplier_currency_new: Decimal - evo_price_wthout_disc_nds_sup_currency: Decimal - evo_price_wthout_disc_nds_sup_currency_new: Decimal - evo_program_import_subsidy_sum: Decimal - evo_program_import_subsidy_sum_new: Decimal - evo_prop_type: String - evo_prop_type_new: String - evo_pts_change: Boolean - evo_pts_type: Int - evo_pts_type_new: Int - evo_quoteid: Uuid - evo_reasons_calc: [Int!] - evo_recalculate_demand: Boolean - evo_refuse_reason: Int - evo_regionid: Uuid - evo_regionid_new: Uuid - evo_region_director_bonus: Decimal - evo_registration: Int - evo_registration_addproduct_typeid: Uuid - evo_registration_addproduct_typeid_new: Uuid - evo_registration_change: Boolean - evo_registration_new: Int - evo_registration_regionid: Uuid - evo_registration_regionid_new: Uuid - evo_remove_restrictions: Boolean - evo_seats: Int - evo_seats_new: Int - evo_signatory_evo_systemuserid: Uuid - evo_signatory_lp_contactid: Uuid - evo_signatory_lp_contactid_new: Uuid - evo_source: Int - evo_specification_change: Boolean - evo_statuscodeid: Uuid - evo_statuscodeidData: evo_statuscode - evo_statuscode_reason: String - evo_storage: String - evo_sum_pay_change: Boolean - evo_supplier_accountid: Uuid - evo_supplier_accountid_new: Uuid - evo_supplier_bank_detailsid: Uuid - evo_supplier_bank_detailsid_new: Uuid - evo_supplier_change: Boolean - evo_supplier_currency_price: Decimal - evo_supplier_currency_price_new: Decimal - evo_supplier_pay_actual: Decimal - evo_supplier_pay_actual_currency: Decimal - evo_supplier_signer_contactid_new: Uuid - evo_suspend_contract_change: Boolean - evo_telematics_addproduct_typeid: Uuid - evo_telematics_addproduct_typeid_new: Uuid - evo_townid: Uuid - evo_townid_new: Uuid - evo_tracking_addproduct_typeid: Uuid - evo_tracking_addproduct_typeid_new: Uuid - evo_tracking_control_change: Boolean - evo_transmission_number: String - evo_transmission_number_new: String - evo_type_agreement: Int - evo_type_change_registration: Int - evo_type_change_telematics: Int - evo_type_change_tracking: Int - evo_unlimit_drivers: Boolean - evo_unlimit_drivers_new: Boolean - evo_vacation_number_months: Int - evo_vehicle_tax_approved: Decimal - evo_vehicle_tax_approved_new: Decimal - evo_vehicle_tax_period: Decimal - evo_vehicle_tax_period_new: Decimal - evo_vehicle_tax_year: Decimal - evo_vehicle_tax_year_new: Decimal - evo_vehicle_type_tax: Int - evo_vehicle_type_tax_new: Int - evo_vin: String - evo_vin_new: String - evo_year: Int - evo_year_new: Int - modifiedon: DateTime - ownerid: Uuid - toObjectString: String -} - -type email { - activityid: Uuid - createdon: DateTime - description: String - email_activity_parties: [activityparty] - evo_accountid: Uuid - modifiedon: DateTime - regardingobjectid_account: Uuid - regardingobjectid_evo_contract: Uuid - regardingobjectid_evo_insurance_period: Uuid - regardingobjectid_evo_insurance_policy: Uuid - regardingobjectid_evo_insurance_policyData: evo_insurance_policy - regardingobjectid_evo_list: Uuid - regardingobjectid_incident: Uuid - regardingobjectid_opportunity: Uuid - statecode: Int - statuscode: Int - subject: String - templateid: Uuid - toObjectString: String -} - type MutationBy { associateBankDetailsAndAgencyAgreement_(evo_agency_agreementid: Uuid!, evo_bank_detailsid: Uuid!): Entity createEntity(data: EntityDataInput): Uuid! @@ -2842,51 +2843,6 @@ type MutationBy { updateEntity(data: EntityDataInput): Boolean! } -"""The `DateTime` scalar represents an ISO-8601 compliant date time type.""" -scalar DateTime - -enum SortingType { - DESC - ASC -} - -input FilterInput { - fieldname: String - guidvalues: [Uuid] - intvalues: [Int!] - operation: FilterOperation! - stringvalues: [String] -} - -enum LogicOperation { - AND - OR -} - -type team { - createdon: DateTime - evo_baseproducts(statecode: Int): [evo_baseproduct] - evo_identity_documents: [evo_identity_document] - modifiedon: DateTime - name: String - teamid: Uuid - toObjectString: String -} - -type businessunit { - businessunitid: Uuid - createdon: DateTime - evo_addressid: Uuid - evo_boss_systemuserid: Uuid - evo_deputy_director_systemuserid: Uuid - evo_director_systemuserid: Uuid - evo_region_director_systgemuserid: Uuid - evo_region_director_systgemuseridname: String - modifiedon: DateTime - name: String - toObjectString: String -} - type evo_document { createdon: DateTime evo_accountid: Uuid @@ -2916,53 +2872,25 @@ type evo_document { toObjectString: String } -type picklist { - name: String - values: [picklist_value] +"""The `DateTime` scalar represents an ISO-8601 compliant date time type.""" +scalar DateTime + +enum SortingType { + DESC + ASC } -type evo_connection_role { - createdon: DateTime - evo_connection_roleid: Uuid - evo_edo_department: Int - modifiedon: DateTime - toObjectString: String +input FilterInput { + fieldname: String + guidvalues: [Uuid] + intvalues: [Int!] + operation: FilterOperation! + stringvalues: [String] } -type evo_edo { - createdon: DateTime - evo_accountid: Uuid - evo_accountidData: account - evo_activation_status: Int - evo_activation_statusname: String - evo_box_edoid: Uuid - evo_box_edoidData: evo_edo - evo_box_id: String - evo_box_name: String - evo_contractid: Uuid - evo_contractidData: evo_contract - evo_documentid: Uuid - evo_documenttypeid: Uuid - evo_edoid: Uuid - evo_edo_department: Int - evo_edo_status: Int - evo_edo_statusname: String - evo_edo_type: Int - evo_edo_typeename: String - evo_formalized: Boolean - evo_invite_crm_status: Int - evo_invite_crm_statusname: String - evo_legal_status: Int - evo_name: String - evo_project_documenttypeid: Uuid - evo_signer_systemuserid: Uuid - evo_sign_date: DateTime - evo_sign_required: Boolean - evo_statuscodeid: Uuid - evo_statuscodeidData: evo_statuscode - evo_use_box: Boolean - modifiedon: DateTime - toObjectString: String +enum LogicOperation { + AND + OR } type evo_insurance_policy { @@ -2993,6 +2921,93 @@ type evo_insurance_policy { toObjectString: String } +type activityparty { + addressused: String + createdon: DateTime + modifiedon: DateTime + participationtypemask: Int + partyid_account: Uuid + partyid_contact: Uuid + partyid_evo_contract: Uuid + partyid_queue: Uuid + partyid_systemuser: Uuid + toObjectString: String +} + +type team { + createdon: DateTime + evo_baseproducts(statecode: Int): [evo_baseproduct] + evo_identity_documents: [evo_identity_document] + modifiedon: DateTime + name: String + teamid: Uuid + toObjectString: String +} + +type businessunit { + businessunitid: Uuid + createdon: DateTime + evo_addressid: Uuid + evo_boss_systemuserid: Uuid + evo_deputy_director_systemuserid: Uuid + evo_director_systemuserid: Uuid + evo_region_director_systgemuserid: Uuid + evo_region_director_systgemuseridname: String + modifiedon: DateTime + name: String + toObjectString: String +} + +type picklist { + name: String + values: [picklist_value] +} + +type evo_connection_role { + createdon: DateTime + evo_connection_roleid: Uuid + evo_edo_department: Int + modifiedon: DateTime + toObjectString: String +} + +type evo_edo { + createdon: DateTime + evo_accountid: Uuid + evo_accountidData: account + evo_activation_status: Int + evo_activation_statusname: String + evo_addcontractid: Uuid + evo_box_edoid: Uuid + evo_box_edoidData: evo_edo + evo_box_id: String + evo_box_name: String + evo_contractid: Uuid + evo_contractidData: evo_contract + evo_documentid: Uuid + evo_documenttypeid: Uuid + evo_edoid: Uuid + evo_edo_department: Int + evo_edo_status: Int + evo_edo_statusname: String + evo_edo_type: Int + evo_edo_typeename: String + evo_formalized: Boolean + evo_invite_crm_status: Int + evo_invite_crm_statusname: String + evo_legal_status: Int + evo_name: String + evo_project_documenttypeid: Uuid + evo_signer_systemuserid: Uuid + evo_sign_date: DateTime + evo_sign_required: Boolean + evo_statuscodeid: Uuid + evo_statuscodeidData: evo_statuscode + evo_use_box: Boolean + modifiedon: DateTime + toObjectString: String +} + type evo_addproductnumber { createdon: DateTime evo_accountid: Uuid @@ -3011,6 +3026,7 @@ type evo_approvallog { evo_agency_agreementid: Uuid evo_approvallogid: Uuid evo_contractid: Uuid + evo_debtwork_contractid: Uuid evo_incidentid: Uuid evo_insurance_policyid: Uuid evo_leadid: Uuid @@ -3043,19 +3059,6 @@ type picklist_value { value: Int! } -type activityparty { - addressused: String - createdon: DateTime - modifiedon: DateTime - participationtypemask: Int - partyid_account: Uuid - partyid_contact: Uuid - partyid_evo_contract: Uuid - partyid_queue: Uuid - partyid_systemuser: Uuid - toObjectString: String -} - input EntityDataInput { fields: [EntityFieldInput] id: Uuid diff --git a/apps/web/graphql/crm.types.ts b/apps/web/graphql/crm.types.ts index 125ef4d..53d4792 100644 --- a/apps/web/graphql/crm.types.ts +++ b/apps/web/graphql/crm.types.ts @@ -245,6 +245,13 @@ export type GetRegionsQueryVariables = Exact<{ [key: string]: never; }>; export type GetRegionsQuery = { __typename?: 'Query', evo_regions: Array<{ __typename?: 'evo_region', label: string | null, value: string | null } | null> | null }; +export type GetRegionQueryVariables = Exact<{ + regionId: Scalars['Uuid']; +}>; + + +export type GetRegionQuery = { __typename?: 'Query', evo_region: { __typename?: 'evo_region', evo_oktmo: string | null } | null }; + export type GetGpsBrandsQueryVariables = Exact<{ [key: string]: never; }>; @@ -490,6 +497,7 @@ export const GetSubsidiesDocument = {"kind":"Document","definitions":[{"kind":"O export const GetSubsidyDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetSubsidy"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"subsidyId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_subsidy"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_subsidyid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"subsidyId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_types"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_typeid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"accounts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"accountid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_brands"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_brandid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_modelid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_subsidy_summ"}},{"kind":"Field","name":{"kind":"Name","value":"evo_percent_subsidy"}},{"kind":"Field","name":{"kind":"Name","value":"evo_max_subsidy_summ"}}]}}]}}]} as unknown as DocumentNode; export const GetImportProgramDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetImportProgram"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"importProgramId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","alias":{"kind":"Name","value":"importProgram"},"name":{"kind":"Name","value":"evo_subsidy"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_subsidyid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"importProgramId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_types"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_typeid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"accounts"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"accountid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_brands"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_brandid"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evo_models"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_modelid"}}]}}]}}]}}]} as unknown as DocumentNode; export const GetRegionsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetRegions"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_regions"},"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_regionid"}}]}}]}}]} as unknown as DocumentNode; +export const GetRegionDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetRegion"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"regionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_region"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_regionid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"regionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_oktmo"}}]}}]}}]} as unknown as DocumentNode; export const GetGpsBrandsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetGPSBrands"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_gps_brands"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}}],"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_gps_brandid"}}]}}]}}]} as unknown as DocumentNode; export const GetLeaseObjectTypesDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetLeaseObjectTypes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_types"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"statecode"},"value":{"kind":"IntValue","value":"0"}}],"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_leasingobject_typeid"}},{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_typeid"}}]}}]}}]} as unknown as DocumentNode; export const GetLeaseObjectTypeDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetLeaseObjectType"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"leaseObjectTypeId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Uuid"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_leasingobject_type"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"evo_leasingobject_typeid"},"value":{"kind":"Variable","name":{"kind":"Name","value":"leaseObjectTypeId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evo_vehicle_type"}},{"kind":"Field","name":{"kind":"Name","value":"evo_id"}},{"kind":"Field","name":{"kind":"Name","value":"evo_category"}},{"kind":"Field","name":{"kind":"Name","value":"evo_vehicle_type_tax"}},{"kind":"Field","name":{"kind":"Name","value":"evo_category_tr"}}]}}]}}]} as unknown as DocumentNode; diff --git a/apps/web/mocks/handlers.js b/apps/web/mocks/handlers.js index 45fcd36..970451d 100644 --- a/apps/web/mocks/handlers.js +++ b/apps/web/mocks/handlers.js @@ -23,7 +23,7 @@ const users = { }, }; -const { URL_GET_USER, URL_CORE_FINGAP, URL_CRM_GRAPHQL } = getUrls(); +const { URL_GET_USER, URL_CORE_FINGAP, URL_1C_TRANSTAX } = getUrls(); export const handlers = [ rest.get(URL_GET_USER, (req, res, ctx) => { @@ -37,6 +37,15 @@ export const handlers = [ }) ); }), + rest.post(URL_1C_TRANSTAX, (req, res, ctx) => { + return res( + ctx.json({ + error: null, + tax: _.random(100000, 200000), + }) + ); + }), + // rest.post(URL_CRM_GRAPHQL, (req, res, ctx) => { // return res(ctx.status(503)); // }), diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 20bb334..2bed37a 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -52,6 +52,10 @@ const nextConfig = { destination: env.URL_CORE_FINGAP_DIRECT, source: urls.URL_CORE_FINGAP_PROXY, }, + { + destination: env.URL_1C_TRANSTAX_DIRECT, + source: urls.URL_1C_TRANSTAX_PROXY, + }, ...favicons.map((fileName) => buildFaviconRewrite(`/${fileName}`)), ]; }, diff --git a/apps/web/process/gibdd/reactions.ts b/apps/web/process/gibdd/reactions.ts index 3850936..ca83fa1 100644 --- a/apps/web/process/gibdd/reactions.ts +++ b/apps/web/process/gibdd/reactions.ts @@ -1,12 +1,17 @@ /* eslint-disable @typescript-eslint/naming-convention */ import type { ProcessContext } from '../types'; +import { getTransTax } from '@/api/1c/query'; import { selectObjectCategoryTax } from '@/config/default-options'; import * as CRMTypes from '@/graphql/crm.types'; import ValidationHelper from '@/stores/validation/helper'; +import dayjs from 'dayjs'; +import utc from 'dayjs/plugin/utc'; import { reaction } from 'mobx'; import { makeDisposable } from 'tools'; -export function common({ store, apolloClient }: ProcessContext) { +dayjs.extend(utc); + +export function common({ store, apolloClient, queryClient }: ProcessContext) { const { $calculation, $process } = store; reaction( @@ -65,19 +70,6 @@ export function common({ store, apolloClient }: ProcessContext) { } ); - reaction( - () => $calculation.$values.getValues(['leasingPeriod', 'vehicleTaxInYear']), - ({ leasingPeriod, vehicleTaxInYear }) => { - if (vehicleTaxInYear > 0) { - $calculation - .element('tbxVehicleTaxInLeasingPeriod') - .setValue((vehicleTaxInYear / 12) * leasingPeriod); - } else { - $calculation.element('tbxVehicleTaxInLeasingPeriod').resetValue(); - } - } - ); - makeDisposable( () => reaction( @@ -115,43 +107,140 @@ export function common({ store, apolloClient }: ProcessContext) { () => $process.has('LoadKP') ); + makeDisposable( + () => + reaction( + () => + $calculation.$values.getValues([ + 'leaseObjectType', + 'leaseObjectCategory', + 'typePTS', + 'objectRegistration', + ]), + async ({ + leaseObjectType: leaseObjectTypeId, + leaseObjectCategory, + typePTS, + objectRegistration, + }) => { + if (objectRegistration === 100_000_001 && typePTS === 100_000_001) { + $calculation.element('selectObjectCategoryTax').unblock(); + if (leaseObjectTypeId) { + const { + data: { evo_leasingobject_type }, + } = await apolloClient.query({ + query: CRMTypes.GetLeaseObjectTypeDocument, + variables: { leaseObjectTypeId }, + }); + if ( + leaseObjectCategory && + leaseObjectCategory === evo_leasingobject_type?.evo_category + ) { + $calculation + .element('selectObjectCategoryTax') + .setOptions( + selectObjectCategoryTax.filter((option) => + evo_leasingobject_type?.evo_category_tr?.includes(option.value) + ) + ); + } else { + $calculation.element('selectObjectCategoryTax').resetOptions(); + } + } + } else { + $calculation.element('selectObjectCategoryTax').resetValue().block(); + } + } + ), + () => $process.has('LoadKP') + ); + + reaction( + () => $calculation.$values.getValues(['leasingPeriod', 'vehicleTaxInYear']), + ({ leasingPeriod, vehicleTaxInYear }) => { + if (vehicleTaxInYear > 0) { + $calculation + .element('tbxVehicleTaxInLeasingPeriod') + .setValue((vehicleTaxInYear / 12) * leasingPeriod); + } else { + $calculation.element('tbxVehicleTaxInLeasingPeriod').resetValue(); + } + } + ); + + const mapObjectTypeTaxToCategory = { + 100_000_000: 'D', + 100_000_001: 'B', + 100_000_002: 'C', + 100_000_003: 'T', + 100_000_004: 'A', + }; + + function getCarCategory(objectTypeTax: number) { + return mapObjectTypeTaxToCategory[objectTypeTax as keyof typeof mapObjectTypeTaxToCategory]; + } + reaction( () => $calculation.$values.getValues([ - 'leaseObjectType', - 'leaseObjectCategory', - 'typePTS', 'objectRegistration', + 'objectTypeTax', + 'regionRegistration', + 'leaseObjectYear', + 'leaseObjectMotorPower', ]), async ({ - leaseObjectType: leaseObjectTypeId, - leaseObjectCategory, - typePTS, objectRegistration, + objectTypeTax, + regionRegistration, + leaseObjectYear, + leaseObjectMotorPower, }) => { - if (objectRegistration === 100_000_001 && typePTS === 100_000_001) { - $calculation.element('selectObjectCategoryTax').unblock(); - if (leaseObjectTypeId) { - const { - data: { evo_leasingobject_type }, - } = await apolloClient.query({ - query: CRMTypes.GetLeaseObjectTypeDocument, - variables: { leaseObjectTypeId }, - }); - if (leaseObjectCategory && leaseObjectCategory === evo_leasingobject_type?.evo_category) { - $calculation - .element('selectObjectCategoryTax') - .setOptions( - selectObjectCategoryTax.filter((option) => - evo_leasingobject_type?.evo_category_tr?.includes(option.value) - ) - ); - } else { - $calculation.element('selectObjectCategoryTax').resetOptions(); - } + if ( + objectRegistration === null || + objectRegistration !== 100_000_001 || + objectTypeTax === null || + regionRegistration === null || + leaseObjectYear === 0 || + leaseObjectMotorPower === 0 + ) { + $calculation.element('tbxVehicleTaxInYear').resetValue(); + + return; + } + + const { + data: { evo_region }, + } = await apolloClient.query({ + query: CRMTypes.GetRegionDocument, + variables: { + regionId: regionRegistration, + }, + }); + + const OKTMO = evo_region?.evo_oktmo; + const carCategory = getCarCategory(objectTypeTax); + + if (OKTMO) { + const currentDate = dayjs().utc(false).toDate(); + + const { tax, error } = await queryClient.fetchQuery(['1c', 'trans-tax'], (context) => + getTransTax( + { + OKTMO, + calcDate: currentDate, + carCategory, + power: leaseObjectMotorPower, + year: leaseObjectYear, + }, + context + ) + ); + if (!error && tax) { + $calculation.element('tbxVehicleTaxInYear').setValue(tax); } } else { - $calculation.element('selectObjectCategoryTax').resetValue().block(); + $calculation.element('tbxVehicleTaxInYear').resetValue(); } } ); diff --git a/packages/ui/elements/icons/DownloadOutlined.jsx b/packages/ui/elements/icons/DownloadOutlined.jsx deleted file mode 100644 index c61295b..0000000 --- a/packages/ui/elements/icons/DownloadOutlined.jsx +++ /dev/null @@ -1,3 +0,0 @@ -import DownloadOutlined from '@ant-design/icons/lib/icons/DownloadOutlined'; - -export default ; diff --git a/packages/ui/elements/icons/index.ts b/packages/ui/elements/icons/index.ts index 929b7c8..f4ca613 100644 --- a/packages/ui/elements/icons/index.ts +++ b/packages/ui/elements/icons/index.ts @@ -1 +1 @@ -export { default as DownloadOutlined } from './DownloadOutlined'; +export * from '@ant-design/icons';