@credithub/harlan-components 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/lib/cjs/components/consultasComplementares.d.ts +5 -0
  2. package/lib/cjs/components/consultasComplementares.js +12 -3
  3. package/lib/cjs/components/dossie/summary/summary.js +94 -74
  4. package/lib/cjs/components/imoveis/imoveisService.d.ts +6 -0
  5. package/lib/cjs/components/imoveis/imoveisService.js +87 -0
  6. package/lib/cjs/components/imoveis/types.d.ts +24 -0
  7. package/lib/cjs/components/imoveis/types.js +2 -0
  8. package/lib/cjs/components/score/scoreService.d.ts +6 -0
  9. package/lib/cjs/components/score/scoreService.js +78 -0
  10. package/lib/cjs/components/score/types.d.ts +12 -0
  11. package/lib/cjs/components/score/types.js +2 -0
  12. package/lib/cjs/components/veiculos/types.d.ts +0 -0
  13. package/lib/cjs/components/veiculos/types.js +0 -0
  14. package/lib/cjs/components/veiculos/veiculos.d.ts +22 -0
  15. package/lib/cjs/components/veiculos/veiculos.js +93 -0
  16. package/lib/cjs/consultaSimples.js +6 -1
  17. package/lib/cjs/index.d.ts +1 -0
  18. package/lib/cjs/index.js +3 -1
  19. package/lib/cjs/utils/xpath.d.ts +1 -0
  20. package/lib/cjs/utils/xpath.js +4 -0
  21. package/lib/esm/components/consultasComplementares.d.ts +5 -0
  22. package/lib/esm/components/consultasComplementares.js +12 -3
  23. package/lib/esm/components/dossie/summary/summary.js +95 -75
  24. package/lib/esm/components/imoveis/imoveisService.d.ts +6 -0
  25. package/lib/esm/components/imoveis/imoveisService.js +59 -0
  26. package/lib/esm/components/imoveis/types.d.ts +24 -0
  27. package/lib/esm/components/imoveis/types.js +1 -0
  28. package/lib/esm/components/score/scoreService.d.ts +6 -0
  29. package/lib/esm/components/score/scoreService.js +50 -0
  30. package/lib/esm/components/score/types.d.ts +12 -0
  31. package/lib/esm/components/score/types.js +1 -0
  32. package/lib/esm/components/veiculos/types.d.ts +0 -0
  33. package/lib/esm/components/veiculos/types.js +0 -0
  34. package/lib/esm/components/veiculos/veiculos.d.ts +22 -0
  35. package/lib/esm/components/veiculos/veiculos.js +65 -0
  36. package/lib/esm/consultaSimples.js +7 -2
  37. package/lib/esm/index.d.ts +1 -0
  38. package/lib/esm/index.js +1 -0
  39. package/lib/esm/utils/xpath.d.ts +1 -0
  40. package/lib/esm/utils/xpath.js +4 -0
  41. package/package.json +1 -1
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ /* eslint-disable react-hooks/exhaustive-deps */
41
+ /* eslint-disable @typescript-eslint/no-unused-vars */
42
+ var react_1 = __importStar(require("react"));
43
+ var header_1 = __importDefault(require("../interface/header"));
44
+ var addItem_1 = __importDefault(require("../common/addItem"));
45
+ var result_1 = require("../interface/result");
46
+ var consultasComplementares_1 = require("../consultasComplementares");
47
+ var webservice_1 = require("../webservice");
48
+ var classnames_1 = __importDefault(require("classnames"));
49
+ var string_1 = require("../../utils/string");
50
+ var xpath_1 = __importDefault(require("../../utils/xpath"));
51
+ function Veiculos(_a) {
52
+ var _b;
53
+ var _c, _d, _e;
54
+ var documento = _a.documento;
55
+ var consultasComplementaresContext = (0, react_1.useContext)(consultasComplementares_1.ConsultasComplementaresContext);
56
+ var _f = consultasComplementaresContext !== null && consultasComplementaresContext !== void 0 ? consultasComplementaresContext : {}, consultasComplementares = _f.consultasComplementares, setConsultasComplementares = _f.setConsultasComplementares;
57
+ var _g = (0, webservice_1.useQuery)("SELECT FROM 'VEICULOS'.'CONSULTA'", { documento: documento }, !!((_c = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.veiculos) === null || _c === void 0 ? void 0 : _c.consultaRealizada)), response = _g.response, isLoading = _g.isLoading, error = _g.error;
58
+ var registros = (0, react_1.useMemo)(function () { return ((response === null || response === void 0 ? void 0 : response.document) && xpath_1.default.select('//veiculos/registro', response === null || response === void 0 ? void 0 : response.document) || []).map(string_1.addNoValueContent); }, [response]);
59
+ var veiculosRef = (0, react_1.useRef)(null);
60
+ var consultaVeiculosRealizada = (0, react_1.useMemo)(function () { var _a; return (_a = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.veiculos) === null || _a === void 0 ? void 0 : _a.consultaRealizada; }, [(_d = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.veiculos) === null || _d === void 0 ? void 0 : _d.consultaRealizada
61
+ ]);
62
+ (0, react_1.useEffect)(function () {
63
+ var _a;
64
+ (_a = veiculosRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
65
+ }, [consultaVeiculosRealizada]);
66
+ (0, react_1.useEffect)(function () {
67
+ response && setConsultasComplementares && setConsultasComplementares(function (prev) { return (__assign(__assign({}, prev), { veiculos: __assign(__assign({}, prev.veiculos), { data: response }) })); });
68
+ }, [response]);
69
+ if (!((_e = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.veiculos) === null || _e === void 0 ? void 0 : _e.consultaRealizada))
70
+ return null;
71
+ return (react_1.default.createElement(react_1.default.Fragment, null,
72
+ react_1.default.createElement(header_1.default, { innerRef: veiculosRef, title: 'Ve\u00EDculos Registrados no CPF/CNPJ', subtitle: 'Informa\u00E7\u00F5es de Ve\u00EDculos Registrados no CPF/CNPJ', description: registros.length ? registros.length > 1 ? "Foram encontrados ".concat(registros.length, " ve\u00EDculos registrados no CPF/CNPJ") : 'Foi encontrato 1 veículo registrado no CPF/CNPJ' : 'Nenhum veículo encontrado', className: (0, classnames_1.default)((_b = {},
73
+ _b[webservice_1.headerStatus[webservice_1.RequestStatus.Loading]] = isLoading,
74
+ _b[webservice_1.headerStatus[webservice_1.RequestStatus.Error]] = error,
75
+ _b['gradient-error'] = registros.length,
76
+ _b)) }),
77
+ react_1.default.createElement(result_1.Result, null, registros.map(function (registro, i) { return (react_1.default.createElement("div", { key: i, className: "container" },
78
+ react_1.default.createElement("div", { className: "content" },
79
+ react_1.default.createElement(addItem_1.default, { name: 'Placa', value: xpath_1.default.getField('placa', registro) }),
80
+ react_1.default.createElement(addItem_1.default, { name: 'Munic\u00EDpio', value: xpath_1.default.getField('municipio', registro) }),
81
+ react_1.default.createElement(addItem_1.default, { name: 'Estado', value: xpath_1.default.getField('uf', registro) }),
82
+ react_1.default.createElement(addItem_1.default, { name: 'Renavam', value: xpath_1.default.getField('renavam', registro) }),
83
+ react_1.default.createElement(addItem_1.default, { name: 'Chassi', value: xpath_1.default.getField('chassi', registro) }),
84
+ react_1.default.createElement(addItem_1.default, { name: 'Motor', value: xpath_1.default.getField('motor', registro) }),
85
+ react_1.default.createElement(addItem_1.default, { name: 'Ano de Fabrica\u00E7\u00E3o', value: xpath_1.default.getField('ano_fabricacao', registro) }),
86
+ react_1.default.createElement(addItem_1.default, { name: 'Ano do Modelo', value: xpath_1.default.getField('ano_modelo', registro) }),
87
+ react_1.default.createElement(addItem_1.default, { name: 'Marca / Modelo', value: xpath_1.default.getField('marca_modelo', registro) }),
88
+ react_1.default.createElement(addItem_1.default, { name: 'Proced\u00EAncia', value: xpath_1.default.getField('procedencia', registro) }),
89
+ react_1.default.createElement(addItem_1.default, { name: 'Esp\u00E9cie', value: xpath_1.default.getField('especie', registro) }),
90
+ react_1.default.createElement(addItem_1.default, { name: 'Combust\u00EDvel', value: xpath_1.default.getField('combustivel', registro) }),
91
+ react_1.default.createElement(addItem_1.default, { name: 'Cor', value: xpath_1.default.getField('cor', registro) })))); }))));
92
+ }
93
+ exports.default = Veiculos;
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var react_1 = __importDefault(require("react"));
7
7
  var _1 = require("./");
8
8
  var consultasComplementares_1 = require("./components/consultasComplementares");
9
+ var scoreService_1 = __importDefault(require("./components/score/scoreService"));
10
+ var imoveisService_1 = __importDefault(require("./components/imoveis/imoveisService"));
9
11
  var ConsultaSimples = function (_a) {
10
12
  var documento = _a.documento, apiKey = _a.apiKey, onClose = _a.onClose, hasCredits = _a.hasCredits;
11
13
  return (react_1.default.createElement(consultasComplementares_1.ConsultasComplementaresProvider, { hasCredits: hasCredits },
@@ -23,7 +25,10 @@ var ConsultaSimples = function (_a) {
23
25
  react_1.default.createElement(_1.Queries.GraficosAnaliticos.Request, { data: { documento: documento } },
24
26
  react_1.default.createElement(_1.CustomChartSection, { documento: documento }),
25
27
  react_1.default.createElement(_1.RefinBoaVista, { documento: documento }),
26
- react_1.default.createElement(_1.RefinSerasa, { documento: documento })),
28
+ react_1.default.createElement(_1.RefinSerasa, { documento: documento }),
29
+ react_1.default.createElement(scoreService_1.default, { documento: documento }),
30
+ react_1.default.createElement(imoveisService_1.default, { documento: documento }),
31
+ react_1.default.createElement(_1.Veiculos, { documento: documento })),
27
32
  react_1.default.createElement(_1.Protestos, null),
28
33
  react_1.default.createElement(_1.CCF, null),
29
34
  react_1.default.createElement(_1.ProcessosJuridicos, { onClickConsultarProcessoJuridico: console.log })))))))));
@@ -19,3 +19,4 @@ export { default as DividasPublicas } from './components/dividasPublicas/dividas
19
19
  export { default as PessoaPoliticamenteExposta } from './components/pep/pep';
20
20
  export { default as RefinSerasa } from './components/refinSerasa/refinSerasa';
21
21
  export { default as RefinBoaVista } from './components/refinBoaVista/refinBoaVista';
22
+ export { default as Veiculos } from './components/veiculos/veiculos';
package/lib/cjs/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.RefinBoaVista = exports.RefinSerasa = exports.PessoaPoliticamenteExposta = exports.DividasPublicas = exports.ConsultaSimples = exports.ResultWithoutInformation = exports.BankAccounts = exports.CustomChartSection = exports.Chart = exports.Addresses = exports.ProcessosJuridicos = exports.Dossie = exports.CCF = exports.Protestos = exports.Partners = exports.Contacts = exports.AddItemField = exports.Loading = exports.Header = exports.Section = void 0;
20
+ exports.Veiculos = exports.RefinBoaVista = exports.RefinSerasa = exports.PessoaPoliticamenteExposta = exports.DividasPublicas = exports.ConsultaSimples = exports.ResultWithoutInformation = exports.BankAccounts = exports.CustomChartSection = exports.Chart = exports.Addresses = exports.ProcessosJuridicos = exports.Dossie = exports.CCF = exports.Protestos = exports.Partners = exports.Contacts = exports.AddItemField = exports.Loading = exports.Header = exports.Section = void 0;
21
21
  var section_1 = require("./components/interface/section");
22
22
  Object.defineProperty(exports, "Section", { enumerable: true, get: function () { return __importDefault(section_1).default; } });
23
23
  var header_1 = require("./components/interface/header");
@@ -59,3 +59,5 @@ var refinSerasa_1 = require("./components/refinSerasa/refinSerasa");
59
59
  Object.defineProperty(exports, "RefinSerasa", { enumerable: true, get: function () { return __importDefault(refinSerasa_1).default; } });
60
60
  var refinBoaVista_1 = require("./components/refinBoaVista/refinBoaVista");
61
61
  Object.defineProperty(exports, "RefinBoaVista", { enumerable: true, get: function () { return __importDefault(refinBoaVista_1).default; } });
62
+ var veiculos_1 = require("./components/veiculos/veiculos");
63
+ Object.defineProperty(exports, "Veiculos", { enumerable: true, get: function () { return __importDefault(veiculos_1).default; } });
@@ -1,4 +1,5 @@
1
1
  declare class XPathUtils {
2
2
  static select<T = string>(expression: string, node: Node | undefined): T;
3
+ static getField(path: string, documentNode: Node, formatter?: (value: string) => string): string;
3
4
  }
4
5
  export default XPathUtils;
@@ -7,6 +7,10 @@ var XPathUtils = /** @class */ (function () {
7
7
  XPathUtils.select = function (expression, node) {
8
8
  return webservice_1.xpath.select(expression, node);
9
9
  };
10
+ XPathUtils.getField = function (path, documentNode, formatter) {
11
+ var value = XPathUtils.select("string(".concat(path, ")"), documentNode);
12
+ return formatter ? formatter(value) : value;
13
+ };
10
14
  return XPathUtils;
11
15
  }());
12
16
  exports.default = XPathUtils;
@@ -2,13 +2,18 @@ import React, { PropsWithChildren } from "react";
2
2
  import { ParsedResponse } from "./webservice";
3
3
  import { RefinBoaVistaResponse } from "./refinBoaVista/types";
4
4
  import { PefinRefinSerasaResponse } from "./refinSerasa/types";
5
+ import { ImoveisConsultaResponse } from "./imoveis/types";
6
+ import { ScoreResponse } from "./score/types";
5
7
  type QueryType<DataType = any> = {
6
8
  consultaRealizada: boolean;
7
9
  data?: ParsedResponse<DataType> | null;
8
10
  };
9
11
  type ConsultasComplementaresProps = {
12
+ veiculos: QueryType;
10
13
  refinSerasa: QueryType<PefinRefinSerasaResponse>;
11
14
  refinBoaVista: QueryType<RefinBoaVistaResponse>;
15
+ scoreBoaVista: QueryType<ScoreResponse>;
16
+ imoveis: QueryType<ImoveisConsultaResponse>;
12
17
  };
13
18
  export type ConsultasComplementaresContextProps = {
14
19
  consultasComplementares: ConsultasComplementaresProps;
@@ -8,13 +8,22 @@ export var ConsultasComplementaresProvider = function (_a) {
8
8
  consultaRealizada: false,
9
9
  },
10
10
  refinSerasa: {
11
- consultaRealizada: false
11
+ consultaRealizada: false,
12
+ },
13
+ scoreBoaVista: {
14
+ consultaRealizada: false,
15
+ },
16
+ imoveis: {
17
+ consultaRealizada: false,
18
+ },
19
+ veiculos: {
20
+ consultaRealizada: false,
12
21
  },
13
- hasCredits: hasCredits
22
+ hasCredits: hasCredits,
14
23
  }), consultasComplementares = _b[0], setConsultasComplementares = _b[1];
15
24
  return (React.createElement(ConsultasComplementaresContext.Provider, { value: {
16
25
  consultasComplementares: consultasComplementares,
17
26
  setConsultasComplementares: setConsultasComplementares,
18
- hasCredits: hasCredits
27
+ hasCredits: hasCredits,
19
28
  } }, children));
20
29
  };
@@ -16,189 +16,208 @@ import XPathUtils from "../../../utils/xpath";
16
16
  import Button from "../../../components/common/button";
17
17
  import { formatCnpj, formatCpf } from "../../../utils/string";
18
18
  import { formatMoney } from "../../../utils/number";
19
- import { ConsultasComplementaresContext } from "../../../components/consultasComplementares";
19
+ import { ConsultasComplementaresContext, } from "../../../components/consultasComplementares";
20
20
  export var Summary = function (_a) {
21
- var _b, _c;
21
+ var _b, _c, _d, _e, _f;
22
22
  var finderResponse = _a.finderResponse;
23
23
  var consultasComplementaresContext = useContext(ConsultasComplementaresContext);
24
- var _d = (consultasComplementaresContext && consultasComplementaresContext) || {}, consultasComplementares = _d.consultasComplementares, setConsultasComplementares = _d.setConsultasComplementares, hasCredits = _d.hasCredits;
24
+ var _g = (consultasComplementaresContext && consultasComplementaresContext) || {}, consultasComplementares = _g.consultasComplementares, setConsultasComplementares = _g.setConsultasComplementares, hasCredits = _g.hasCredits;
25
25
  var getField = function (path, formatter) {
26
- var value = XPathUtils.select("string(".concat(path, ")"), XPathUtils.select('//cadastro', finderResponse)[0]);
26
+ var value = XPathUtils.select("string(".concat(path, ")"), XPathUtils.select("//cadastro", finderResponse)[0]);
27
27
  return formatter ? formatter(value) : value;
28
28
  };
29
- var isPF = !!getField('cpf');
29
+ var isPF = !!getField("cpf");
30
30
  var productsPrices = getProductsPrices(isPF);
31
- var handleOnClick = function (key) { return function () {
32
- var callback = function () { return setConsultasComplementares && setConsultasComplementares(function (prev) {
33
- var _a;
34
- return (__assign(__assign({}, prev), (_a = {}, _a[key] = __assign(__assign({}, prev[key]), { consultaRealizada: true }), _a)));
35
- }); };
36
- return hasCredits ? hasCredits(productsPrices[key] * 1000, callback) : callback();
37
- }; };
38
- var _e = {
39
- cards: [{
40
- title: getField('nome'),
31
+ var handleOnClick = function (key) {
32
+ return function () {
33
+ var callback = function () {
34
+ return setConsultasComplementares &&
35
+ setConsultasComplementares(function (prev) {
36
+ var _a;
37
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = __assign(__assign({}, prev[key]), { consultaRealizada: true }), _a)));
38
+ });
39
+ };
40
+ return hasCredits
41
+ ? hasCredits(productsPrices[key] * 1000, callback)
42
+ : callback();
43
+ };
44
+ };
45
+ var _h = {
46
+ cards: [
47
+ {
48
+ title: getField("nome"),
41
49
  header: "Nome",
42
50
  },
43
51
  {
44
- title: getField('cpf', formatCpf),
52
+ title: getField("cpf", formatCpf),
45
53
  header: "Cpf",
46
54
  },
47
55
  {
48
- title: getField('sexo', function (value) { return isPF && (value == 'M' ? 'Masculino' : 'Feminino') || ''; }),
56
+ title: getField("sexo", function (value) { return (isPF && (value == "M" ? "Masculino" : "Feminino")) || ""; }),
49
57
  header: "Sexo",
50
58
  },
51
59
  {
52
- title: getField('dataNascimento'),
60
+ title: getField("dataNascimento"),
53
61
  header: "Data De Nascimento",
54
62
  },
55
63
  {
56
- title: getField('idade'),
57
- header: "Idade"
64
+ title: getField("idade"),
65
+ header: "Idade",
58
66
  },
59
67
  {
60
- title: isPF && getField('faixaIdade'),
61
- header: "Faixa De Idade"
68
+ title: isPF && getField("faixaIdade"),
69
+ header: "Faixa De Idade",
62
70
  },
63
71
  {
64
- title: getField('signo'),
65
- header: "Signo"
72
+ title: getField("signo"),
73
+ header: "Signo",
66
74
  },
67
75
  {
68
- title: getField('rg'),
69
- header: "Rg"
76
+ title: getField("rg"),
77
+ header: "Rg",
70
78
  },
71
79
  {
72
- title: getField('ufRg'),
73
- header: "Uf Do Rg"
80
+ title: getField("ufRg"),
81
+ header: "Uf Do Rg",
74
82
  },
75
83
  {
76
- title: getField('status'),
77
- header: "Situação"
84
+ title: getField("status"),
85
+ header: "Situação",
78
86
  },
79
87
  {
80
- title: getField('statusData'),
81
- header: "Data Da Situação"
88
+ title: getField("statusData"),
89
+ header: "Data Da Situação",
82
90
  },
83
91
  {
84
- title: getField('maeNome'),
85
- header: "Nome Da Mãe"
92
+ title: getField("maeNome"),
93
+ header: "Nome Da Mãe",
86
94
  },
87
95
  {
88
- title: getField('maeCpf'),
89
- header: "Cpf Da Mãe"
96
+ title: getField("maeCpf"),
97
+ header: "Cpf Da Mãe",
90
98
  },
91
99
  {
92
- title: getField('obitoProvavel'),
93
- header: "Óbito Provável"
100
+ title: getField("obitoProvavel"),
101
+ header: "Óbito Provável",
94
102
  },
95
103
  {
96
- title: getField('tituloEleitoral'),
97
- header: "Titulo Eleitoral"
104
+ title: getField("tituloEleitoral"),
105
+ header: "Titulo Eleitoral",
98
106
  },
99
107
  {
100
- title: getField('grauInstrucao'),
101
- header: "Grau De Instrução"
108
+ title: getField("grauInstrucao"),
109
+ header: "Grau De Instrução",
102
110
  },
103
111
  {
104
- title: getField('dependentes'),
105
- header: "Dependentes"
112
+ title: getField("dependentes"),
113
+ header: "Dependentes",
106
114
  },
107
115
  {
108
- title: getField('estadoCivil'),
109
- header: "Estado Civil"
116
+ title: getField("estadoCivil"),
117
+ header: "Estado Civil",
110
118
  },
111
119
  {
112
- title: getField('renda', formatMoney),
113
- header: "Renda"
120
+ title: getField("renda", formatMoney),
121
+ header: "Renda",
114
122
  },
115
123
  {
116
- title: getField('ppe', function (value) { return isPF && (value ? 'Sim' : 'Não') || ''; }),
117
- header: "Pessoa Politicamente Exposta"
124
+ title: getField("ppe", function (value) { return (isPF && (value ? "Sim" : "Não")) || ""; }),
125
+ header: "Pessoa Politicamente Exposta",
118
126
  },
119
127
  {
120
- title: getField('nomeFantasia'),
128
+ title: getField("nomeFantasia"),
121
129
  header: "Nome Fantasia",
122
130
  },
123
131
  {
124
- title: formatCnpj(getField('cnpj')),
132
+ title: formatCnpj(getField("cnpj")),
125
133
  header: "Cnpj",
126
134
  },
127
135
  {
128
- title: getField('receitaStatus'),
136
+ title: getField("receitaStatus"),
129
137
  header: "Status da Receita",
130
138
  },
131
139
  {
132
- title: getField('dataReceitaStatus'),
140
+ title: getField("dataReceitaStatus"),
133
141
  header: "Data do Status na Receita",
134
142
  },
135
143
  {
136
- title: getField('tipoEmpresa'),
137
- header: "Tipo da Empresa"
144
+ title: getField("tipoEmpresa"),
145
+ header: "Tipo da Empresa",
138
146
  },
139
147
  {
140
- title: getField('cnaeDescricao'),
148
+ title: getField("cnaeDescricao"),
141
149
  header: "Atividade Econômica",
142
150
  },
143
151
  {
144
- title: getField('naturezaJuridica'),
145
- header: 'Natureza Jurídica',
152
+ title: getField("naturezaJuridica"),
153
+ header: "Natureza Jurídica",
146
154
  },
147
155
  {
148
- title: getField('dataAbertura'),
156
+ title: getField("dataAbertura"),
149
157
  header: "Data De Abertura",
150
158
  },
151
159
  {
152
- title: getField('idadeEmpresa'),
160
+ title: getField("idadeEmpresa"),
153
161
  header: "Idade Da Empresa",
154
162
  },
155
163
  {
156
- title: isPF && getField('faixaIdade'),
157
- header: "Faixa De Idade da Empresa"
164
+ title: isPF && getField("faixaIdade"),
165
+ header: "Faixa De Idade da Empresa",
158
166
  },
159
167
  {
160
- title: getField('quantidadeFuncionarios'),
168
+ title: getField("quantidadeFuncionarios"),
161
169
  header: "Quantidade De Funcionários",
162
170
  },
163
171
  {
164
- title: getField('faixaFuncionarios'),
172
+ title: getField("faixaFuncionarios"),
165
173
  header: "Faixa De Funcionários",
166
174
  },
167
175
  {
168
- title: getField('porteEmpresa'),
176
+ title: getField("porteEmpresa"),
169
177
  header: "Porte Da Empresa",
170
178
  },
171
179
  {
172
- title: getField('capitalSocial', formatMoney),
180
+ title: getField("capitalSocial", formatMoney),
173
181
  header: "Capital Social",
174
- },].filter(function (card) { return card.title; }),
182
+ },
183
+ ].filter(function (card) { return card.title; }),
175
184
  products: [
185
+ {
186
+ title: 'Consultar Imóveis SP Capital',
187
+ price: productsPrices === null || productsPrices === void 0 ? void 0 : productsPrices.imoveis,
188
+ onclick: handleOnClick('imoveis'),
189
+ hide: !isPF || ((_b = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.imoveis) === null || _b === void 0 ? void 0 : _b.consultaRealizada)
190
+ },
176
191
  {
177
192
  title: "Consultar Pefin/Refin Boa Vista",
178
193
  price: productsPrices === null || productsPrices === void 0 ? void 0 : productsPrices.refinBoaVista,
179
- onClick: handleOnClick('refinBoaVista'),
180
- hide: (_b = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.refinBoaVista) === null || _b === void 0 ? void 0 : _b.consultaRealizada
194
+ onClick: handleOnClick("refinBoaVista"),
195
+ hide: (_c = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.refinBoaVista) === null || _c === void 0 ? void 0 : _c.consultaRealizada,
181
196
  },
182
197
  {
183
198
  title: "Consultar Score Boa Vista",
184
199
  price: productsPrices === null || productsPrices === void 0 ? void 0 : productsPrices.scoreBoaVista,
200
+ onClick: handleOnClick("scoreBoaVista"),
201
+ hide: (_d = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.scoreBoaVista) === null || _d === void 0 ? void 0 : _d.consultaRealizada,
185
202
  },
186
203
  {
187
204
  title: "Consultar Pefin/Refin Serasa",
188
205
  price: productsPrices === null || productsPrices === void 0 ? void 0 : productsPrices.refinSerasa,
189
- onClick: handleOnClick('refinSerasa'),
190
- hide: (_c = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.refinSerasa) === null || _c === void 0 ? void 0 : _c.consultaRealizada
206
+ onClick: handleOnClick("refinSerasa"),
207
+ hide: (_e = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.refinSerasa) === null || _e === void 0 ? void 0 : _e.consultaRealizada,
191
208
  },
192
209
  {
193
210
  title: "Consultar Veículos",
194
211
  price: productsPrices === null || productsPrices === void 0 ? void 0 : productsPrices.veiculos,
212
+ onClick: handleOnClick('veiculos'),
213
+ hide: (_f = consultasComplementares === null || consultasComplementares === void 0 ? void 0 : consultasComplementares.veiculos) === null || _f === void 0 ? void 0 : _f.consultaRealizada
195
214
  },
196
215
  {
197
216
  title: "Consultar SCR",
198
217
  price: productsPrices === null || productsPrices === void 0 ? void 0 : productsPrices.scr,
199
- }
218
+ },
200
219
  ],
201
- }, cards = _e.cards, products = _e.products;
220
+ }, cards = _h.cards, products = _h.products;
202
221
  return (React.createElement("div", { className: cn("container") },
203
222
  React.createElement("div", { className: cn("content", "summary-content") },
204
223
  cards.map(function (card, index) { return (React.createElement(AddItemField, { key: index, name: card.header, value: card.title, className: cn("field"), style: { display: "inline-block" } })); }),
@@ -210,6 +229,7 @@ var getProductsPrices = function (isPF) { return ({
210
229
  scoreBoaVista: isPF ? 3 : 6,
211
230
  refinSerasa: 4.2,
212
231
  veiculos: 10,
213
- scr: 7
232
+ scr: 7,
233
+ imoveis: 20,
214
234
  }); };
215
235
  export default Summary;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface ConsultaImoveisProps {
3
+ documento: string;
4
+ }
5
+ declare const ConsultaImoveis: React.FC<ConsultaImoveisProps>;
6
+ export default ConsultaImoveis;
@@ -0,0 +1,59 @@
1
+ import React, { useContext, useEffect, useMemo, useRef } from "react";
2
+ import Header from "../interface/header";
3
+ import AddItemField from "../common/addItem";
4
+ import { Result } from "../interface/result";
5
+ import { useQuery } from "../webservice";
6
+ import { ConsultasComplementaresContext } from "../consultasComplementares";
7
+ import { formatMoney } from "../../utils/number";
8
+ import classNames from "classnames";
9
+ import { RequestStatus, headerStatus } from "../webservice";
10
+ var ConsultaImoveis = function (_a) {
11
+ var _b;
12
+ var _c, _d, _e, _f, _g;
13
+ var documento = _a.documento;
14
+ var consultasComplementaresContext = useContext(ConsultasComplementaresContext);
15
+ var _h = useQuery("SELECT FROM 'IMOVEIS'.'CONSULTA'", { documento: documento }, !!((_d = (_c = consultasComplementaresContext === null || consultasComplementaresContext === void 0 ? void 0 : consultasComplementaresContext.consultasComplementares) === null || _c === void 0 ? void 0 : _c.imoveis) === null || _d === void 0 ? void 0 : _d.consultaRealizada)), response = _h.response, isLoading = _h.isLoading, error = _h.error;
16
+ var iptus = ((_e = response === null || response === void 0 ? void 0 : response.document) === null || _e === void 0 ? void 0 : _e.IPTUS) || [];
17
+ var consultaImoveisRef = useRef(null);
18
+ var consultaImoveisRealizada = useMemo(function () {
19
+ var _a, _b;
20
+ return (_b = (_a = consultasComplementaresContext === null || consultasComplementaresContext === void 0 ? void 0 : consultasComplementaresContext.consultasComplementares) === null || _a === void 0 ? void 0 : _a.imoveis) === null || _b === void 0 ? void 0 : _b.consultaRealizada;
21
+ }, [
22
+ (_g = (_f = consultasComplementaresContext === null || consultasComplementaresContext === void 0 ? void 0 : consultasComplementaresContext.consultasComplementares) === null || _f === void 0 ? void 0 : _f.imoveis) === null || _g === void 0 ? void 0 : _g.consultaRealizada,
23
+ ]);
24
+ var description = isLoading
25
+ ? "Carregando..."
26
+ : error
27
+ ? "Erro ao consultar IPTUs. Tente mais tarde."
28
+ : iptus.length > 0
29
+ ? "Foram encontrados ".concat(iptus.length, " registros de IPTU")
30
+ : "Nenhum registro de IPTU encontrado para o documento informado.";
31
+ useEffect(function () {
32
+ var _a;
33
+ (_a = consultaImoveisRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
34
+ }, []);
35
+ return consultaImoveisRealizada ? (React.createElement(React.Fragment, null,
36
+ React.createElement(Header, { innerRef: consultaImoveisRef, title: "Consulta de IPTU", subtitle: "Registros de IPTU para o documento informado", className: classNames((_b = {},
37
+ _b[headerStatus[RequestStatus.Loading]] = isLoading,
38
+ _b[headerStatus[RequestStatus.Error]] = !!error,
39
+ _b[headerStatus[RequestStatus.Success]] = iptus.length > 0,
40
+ _b)), description: description }),
41
+ React.createElement(Result, null, iptus.map(function (iptu, index) {
42
+ var _a, _b, _c, _d, _e, _f, _g;
43
+ return (React.createElement("div", { key: index, className: "container" },
44
+ React.createElement("div", { className: "content" },
45
+ React.createElement(AddItemField, { name: "Endere\u00E7o", value: iptu.ENDERECO }),
46
+ React.createElement(AddItemField, { name: "Conjunto", value: (_a = iptu.COMPLEMENTO) === null || _a === void 0 ? void 0 : _a.CONJUNTO }),
47
+ React.createElement(AddItemField, { name: "Quadra", value: (_b = iptu.COMPLEMENTO) === null || _b === void 0 ? void 0 : _b.QUADRA }),
48
+ React.createElement(AddItemField, { name: "Lote", value: (_c = iptu.COMPLEMENTO) === null || _c === void 0 ? void 0 : _c.LOTE }),
49
+ React.createElement(AddItemField, { name: "N\u00FAmero", value: iptu.NUMERO }),
50
+ React.createElement(AddItemField, { name: "Bairro", value: iptu.BAIRRO }),
51
+ React.createElement(AddItemField, { name: "CEP", value: iptu.CEP }),
52
+ React.createElement(AddItemField, { name: "\u00C1rea do Terreno", value: "".concat((_d = iptu.AREA) === null || _d === void 0 ? void 0 : _d.TOTAL, " m\u00B2") }),
53
+ React.createElement(AddItemField, { name: "\u00C1rea Constru\u00EDda", value: "".concat((_e = iptu.AREA) === null || _e === void 0 ? void 0 : _e.CONSTRUIDA, " m\u00B2") }),
54
+ React.createElement(AddItemField, { name: "Ano de Constru\u00E7\u00E3o", value: String(iptu.ANO) }),
55
+ React.createElement(AddItemField, { name: "Valor do IPTU", value: formatMoney((_f = iptu.VALOR) === null || _f === void 0 ? void 0 : _f.IPTU) }),
56
+ React.createElement(AddItemField, { name: "Valor do Im\u00F3vel", value: formatMoney((_g = iptu.VALOR) === null || _g === void 0 ? void 0 : _g.CONSTRUCAO) }))));
57
+ })))) : null;
58
+ };
59
+ export default ConsultaImoveis;
@@ -0,0 +1,24 @@
1
+ export interface ImoveisConsultaResponse {
2
+ IPTUS: IPTUItem[];
3
+ consultaRealizada: unknown[];
4
+ }
5
+ export interface IPTUItem {
6
+ COMPLEMENTO?: {
7
+ CONJUNTO?: string;
8
+ QUADRA?: string;
9
+ LOTE?: string;
10
+ };
11
+ ENDERECO?: string;
12
+ NUMERO?: string;
13
+ BAIRRO?: string;
14
+ CEP?: string;
15
+ AREA?: {
16
+ TOTAL?: number;
17
+ CONSTRUIDA?: number;
18
+ };
19
+ ANO?: number;
20
+ VALOR?: {
21
+ IPTU?: number;
22
+ CONSTRUCAO?: number;
23
+ };
24
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ interface ConsultaScoreProps {
3
+ documento: string;
4
+ }
5
+ declare const ConsultaScore: React.FC<ConsultaScoreProps>;
6
+ export default ConsultaScore;