92 lines
6.4 KiB
Markdown
92 lines
6.4 KiB
Markdown
# Riepilogo Regole di Calcolo Rischio
|
||
|
||
## Struttura complessiva
|
||
- Funzione principale: `server/src/services/riskCalculationService.ts:14` (`RiskCalculationService.calculateRisk`)
|
||
- Inizializzazione regole per dimensione: `server/src/services/riskCalculationService.ts:777–806` (`initializeRules`)
|
||
- Costruzione riepilogo semaforico: `server/src/services/riskCalculationService.ts:1575–1667` (`riskSummary`)
|
||
- Conteggi per semaforo generale: `server/src/services/riskCalculationService.ts:1839–1908` (`countRisks`), `server/src/services/riskCalculationService.ts:1910–1922` (`calculateGeneralSemaphore`)
|
||
- Documentazione markdown interna: `server/src/services/riskCalculationService.ts:2025–2143` (`buildDocMarkdown`)
|
||
|
||
## Dimensione: Compliance
|
||
1. Condenas Ley 21.121
|
||
- Regola: `server/src/services/riskCalculationService.ts:817–861` (`evaluateComplianceRules`)
|
||
- Condizione: `summaryData.data.ley21121Detected === true`
|
||
2. Condenas Ley 20.393
|
||
- Regola: `server/src/services/riskCalculationService.ts:863–895` (`evaluateComplianceRules`)
|
||
- Condizione: `summaryData.data.ley20393Detected === true`
|
||
3. Listas Internacionales
|
||
- Regola: `server/src/services/riskCalculationService.ts:900–929` (`evaluateComplianceRules`)
|
||
- Condizione: `compliance.summary[table=="Listas Internacionales"].countResults > 0`
|
||
4. Sanciones Medioambientales (SNIFA)
|
||
- Regola: `server/src/services/riskCalculationService.ts:930–948` (`evaluateComplianceRules`)
|
||
- Verifica DB: `server/src/services/riskCalculationService.ts:320–441` (`checkEnvironmentalSanctions`)
|
||
5. Listas Propias Alto Impacto (LP Altos)
|
||
- Regola: `server/src/services/riskCalculationService.ts:967–999` (`evaluateComplianceRules`)
|
||
- Condizione: `summaryData.data.lpaltosDetected === true`
|
||
6. Listas Propias Mediano Impacto (LP Medios)
|
||
- Regola: `server/src/services/riskCalculationService.ts:1000–1033` (`evaluateComplianceRules`)
|
||
- Condizione: `summaryData.data.lpmediosDetected === true`
|
||
7. PEP Chile
|
||
- Regola: `server/src/services/riskCalculationService.ts:1034–1062` (`evaluateComplianceRules`)
|
||
- Condizione: `compliance.summary[table=="PEP Chile"].countResults > 0`
|
||
8. Familiares PEP
|
||
- Regola: `server/src/services/riskCalculationService.ts:1063–1091` (`evaluateComplianceRules`)
|
||
- Condizione: `compliance.summary[table=="Familiares PEP"].countResults > 0`
|
||
|
||
## Dimensione: Legal
|
||
1. Quiebra Judicial
|
||
- Regola: `server/src/services/riskCalculationService.ts:1376–1406` (`evaluateLegalRules`)
|
||
- Condizione: `summaryData.data.creditScoring.judicialBankruptcy === true`
|
||
2. Boletín Concursal
|
||
- Regola: `server/src/services/riskCalculationService.ts:1408–1434` (`evaluateLegalRules`)
|
||
- Condizione: `summaryData.data.boletinConcursalSummary === true`
|
||
3. Causas Civiles
|
||
- Regola: `server/src/services/riskCalculationService.ts:1436–1469` (`evaluateLegalRules`)
|
||
- Condizione: `civilCasesData.length > 0`
|
||
- Dettaglio: riepilogo civile `server/src/services/riskCalculationService.ts:1556–1573` (`getCivilJudicialSummary`)
|
||
4. Causas Laborales
|
||
- Regola: `server/src/services/riskCalculationService.ts:1471–1504` (`evaluateLegalRules`)
|
||
- Condizione: `laboralCasesData.length > 0`
|
||
5. Causas de Cobranza Laboral
|
||
- Regola: `server/src/services/riskCalculationService.ts:1505–1536` (`evaluateLegalRules`)
|
||
- Condizione: `cobranzaCasesData.length > 0`
|
||
|
||
## Dimensione: Capital Humano
|
||
1. Condenas por Prácticas Antisindicales
|
||
- Regola: `server/src/services/riskCalculationService.ts:1173–1231` (`evaluateCapitalHumanoRules`)
|
||
- Origine dati: Mongo `AntiunionCase` via RUT, memorizzato in `logEntry.antiunionCases` (`server/src/services/riskCalculationService.ts:134–157`)
|
||
2. Deuda Previsional Publicada
|
||
- Regola: `server/src/services/riskCalculationService.ts:1233–1274` (`evaluateCapitalHumanoRules`)
|
||
- Condizione: `filteredDetails.deudaPrevisionalPublicadaPersona{Juridica|Natural} > 0`
|
||
3. Multas Laborales
|
||
- Regola: `server/src/services/riskCalculationService.ts:1283–1329` (`evaluateCapitalHumanoRules`)
|
||
- Condizione: `summaryData.data.multaLaboralSummary.totalFines > 0` oppure voci BOLAB con `injuryType === 'M'`
|
||
- Lista dettagli: `server/src/services/riskCalculationService.ts:1539–1554` (`detectMultasLaboralesFromBolab`)
|
||
4. Deuda Previsional Presunta
|
||
- Regola: `server/src/services/riskCalculationService.ts:1331–1364` (`evaluateCapitalHumanoRules`)
|
||
- Condizione: `parseInt(summaryData.data.moraPrevisionalSummary.totalCases) > 0`
|
||
|
||
## Dimensione: Financiero Tributario
|
||
1. Término de Giro
|
||
- Regola: `server/src/services/riskCalculationService.ts:1677–1707` (`evaluateFinancioeroTributarioRules`)
|
||
- Condizione: `sii.observaciones` contiene "término de giro"
|
||
2. Protestos y Morosidades
|
||
- Regola: `server/src/services/riskCalculationService.ts:1709–1763` (`evaluateFinancioeroTributarioRules`)
|
||
- Condizione: `filteredDetails.protestosMorosidadesPersonaJuridica + filteredDetails.protestosMorosidadesPersonaNatural > 0`
|
||
3. Inicio de Actividades
|
||
- Regola: `server/src/services/riskCalculationService.ts:1765–1797` (`evaluateFinancioeroTributarioRules`)
|
||
- Condizione: `sii.presentaActividades !== "SI"` oppure `sii.inicioActividades` mancante
|
||
4. Contribuyente de difícil fiscalización
|
||
- Regola: `server/src/services/riskCalculationService.ts:1799–1836` (`evaluateFinancioeroTributarioRules`)
|
||
- Condizione: `sii.situacionActual` non contiene "no se encuentra en la nómina de difícil fiscalización"
|
||
|
||
## Altre funzioni di supporto
|
||
- Riepilogo civile: `server/src/services/riskCalculationService.ts:1556–1573` (`getCivilJudicialSummary`)
|
||
- Multas Laborales da BOLAB: `server/src/services/riskCalculationService.ts:1539–1554` (`detectMultasLaboralesFromBolab`)
|
||
- Sanzioni ambientali (dettaglio): `server/src/services/riskCalculationService.ts:444–548` (`getEnvironmentalSanctions`)
|
||
- Procesos sancionatorios (dettaglio): `server/src/services/riskCalculationService.ts:675–775` (`getProcesosSancionatoriosMedioambientales`)
|
||
|
||
## Origine dati e arricchimento
|
||
- Popolamento `filteredDetails` e Equifax: `server/src/controllers/rutController.ts:553–613`, `server/src/controllers/rutController.ts:628–681` (assegnazioni dei campi, BOLAB, contatori)
|
||
- Caricamento Sheriff summary: `server/src/services/sheriffService.ts:229–239` e serializzazione nel response: `server/src/controllers/rutController.ts:790–799`
|
||
- Invocazione calcolo rischio dal controller: `server/src/controllers/rutController.ts:739–747` |