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\{FaltaDeControlYAutonomiaSobreElTrabajo, LimitadaONulaPosibilidadDeDesarrollo,LimitadaOInexstenteCapacitacion};
5
6
class FaltaDeControlSobreElTrabajo
7
{
8
    private $_faltaDeControlYAutonomiaSobreElTrabajo;
9
    private $_limitadaONulaPosibilidadDeDesarrollo;
10
    private $_limitadaOInexstenteCapacitacion;
11
    private $_niveles = array(
12
        '0-5' => 'Nulo o despreciable',
13
        '5-8' => 'Bajo',
14
        '8-11' => 'Medio',
15
        '11-14' => 'Alto',
16
        '14-99' => 'Muy alto'
17
    );
18
19
    public function __construct
20
    (
21
        FaltaDeControlYAutonomiaSobreElTrabajo $FaltaDeControlYAutonomiaSobreElTrabajo,
22
        LimitadaONulaPosibilidadDeDesarrollo $LimitadaONulaPosibilidadDeDesarrollo,
23
        LimitadaOInexstenteCapacitacion $LimitadaOInexstenteCapacitacion
24
    )
25
    {
26
        $this->_faltaDeControlYAutonomiaSobreElTrabajo = $FaltaDeControlYAutonomiaSobreElTrabajo;
27
        $this->_limitadaONulaPosibilidadDeDesarrollo = $LimitadaONulaPosibilidadDeDesarrollo;
28
        $this->_limitadaOInexstenteCapacitacion = $LimitadaOInexstenteCapacitacion;
29
    }
30
31
    public function faltaDeControlSobreElTrabajo(): int
32
    {
33
        return 
34
        $this->faltaDeControlYAutonomiaSobreElTrabajo()->faltaDeControlYAutonomiaSobreElTrabajo() +
35
        $this->limitadaONulaPosibilidadDeDesarrollo()->limitadaONulaPosibilidadDeDesarrollo() + 
36
        $this->limitadaOInexstenteCapacitacion()->limitadaOInexstenteCapacitacion();
37
    }
38
39
    public function faltaDeControlYAutonomiaSobreElTrabajo(): FaltaDeControlYAutonomiaSobreElTrabajo
40
    {
41
        return $this->_faltaDeControlYAutonomiaSobreElTrabajo;
42
    }
43
44
    public function limitadaONulaPosibilidadDeDesarrollo(): LimitadaONulaPosibilidadDeDesarrollo
45
    {
46
        return $this->_limitadaONulaPosibilidadDeDesarrollo;
47
    }
48
49
    public function limitadaOInexstenteCapacitacion(): LimitadaOInexstenteCapacitacion
50
    {
51
        return $this->_limitadaOInexstenteCapacitacion;
52
    }
53
54
    public function obtenerRiesgosCualitativos(): string
55
    {
56
        foreach ($this->_niveles as $k => $v)
57
        {
58
            $uno = explode('-',$k)[0];
59
            $dos = explode('-',$k)[1];
60
            if($this->faltaDeControlSobreElTrabajo() >= $uno && $this->faltaDeControlSobreElTrabajo() < $dos)
61
            {
62
                return $v;
63
            }
64
        }
65
66
        throw new Exception("Error para obtener riesgo cualitativo");
67
    }
68
}