Passed
Push — main ( be62d9...6b4ffd )
by Osvaldo
01:37
created

obtenerRiesgosCualitativos()   A

Complexity

Conditions 4
Paths 3

Size

Total Lines 13
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 13
rs 10
cc 4
nc 3
nop 0
1
<?php
2
namespace src\dominios;
3
use Exception;
4
use src\dimensiones\{InfluenciaDelTrabajoFueraDelCentroLaboral,InfluenciaDeLasResponsabilidadesFamiliares};
5
6
class InterferenciaEnLaRelacionTrabajoFamilia
7
{
8
    private $_influenciaDelTrabajoFueraDelCentroLaboral;
9
    private $_influenciaDeLasResponsabilidadesFamiliares;
10
    private $_niveles = array(
11
        '0-1' => 'Nulo o despreciable',
12
        '1-2' => 'Bajo',
13
        '2-4' => 'Medio',
14
        '4-6' => 'Alto',
15
        '6-99' => 'Muy alto'
16
    );
17
18
    public function __construct
19
    (
20
        InfluenciaDelTrabajoFueraDelCentroLaboral $InfluenciaDelTrabajoFueraDelCentroLaboral,
21
        InfluenciaDeLasResponsabilidadesFamiliares $InfluenciaDeLasResponsabilidadesFamiliares
22
    )
23
    {
24
        $this->_influenciaDelTrabajoFueraDelCentroLaboral = $InfluenciaDelTrabajoFueraDelCentroLaboral;
25
        $this->_influenciaDeLasResponsabilidadesFamiliares = $InfluenciaDeLasResponsabilidadesFamiliares;
26
    }
27
28
    public function interferenciaEnLaRelacionTrabajoFamilia(): int
29
    {
30
        return 
31
        $this->influenciaDelTrabajoFueraDelCentroLaboral()->influenciaDelTrabajoFueraDelCentroLaboral() +
32
        $this->influenciaDeLasResponsabilidadesFamiliares()->influenciaDeLasResponsabilidadesFamiliares();
33
    }
34
35
    public function influenciaDelTrabajoFueraDelCentroLaboral(): InfluenciaDelTrabajoFueraDelCentroLaboral
36
    {
37
        return $this->_influenciaDelTrabajoFueraDelCentroLaboral;
38
    }
39
40
    public function influenciaDeLasResponsabilidadesFamiliares(): InfluenciaDeLasResponsabilidadesFamiliares
41
    {
42
        return $this->_influenciaDeLasResponsabilidadesFamiliares;
43
    }
44
45
    public function obtenerRiesgosCualitativos(): string
46
    {
47
        foreach ($this->_niveles as $k => $v)
48
        {
49
            $uno = explode('-',$k)[0];
50
            $dos = explode('-',$k)[1];
51
            if($this->interferenciaEnLaRelacionTrabajoFamilia() >= $uno && $this->interferenciaEnLaRelacionTrabajoFamilia() < $dos)
52
            {
53
                return $v;
54
            }
55
        }
56
57
        throw new Exception("Error para obtener riesgo cualitativo");
58
    }
59
}