Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 53
0.00% covered (danger)
0.00%
0 / 1
CRAP
n/a
0 / 0
actualizaGastosPorRevisar
0.00% covered (danger)
0.00%
0 / 53
0.00% covered (danger)
0.00%
0 / 1
132
1<?php
2
3function actualizaGastosPorRevisar()
4{
5    global $gIAParametros;
6    global $gIAsql;
7
8    $querys = [];
9
10    $supervisores = traeSupervisoresRevisores(null, 'supervisor', true);
11    $revisores = traeSupervisoresRevisores(null, 'revisor', true);
12
13    // dd_($supervisores, $revisores);
14
15    $querys[] = "DELETE FROM campos_exists WHERE tabla_exists IN ('supervisor', 'revisor') AND tabla_origen IN ('banco', 'cuenta_t')";
16
17    // dd_($revisores);
18
19    $totales = 0;
20    $ya_estan = [];
21    if (!empty($supervisores)) {
22        foreach ($supervisores as $index => $user) {
23            // if (!in_array($user['clave'], $ya_estan)) {
24                if ($user['puede_ser_supervisor_banco'] == 'Si') {
25                    $pos = obtenNumeroRevisorMovimientosBanco($user['usuario_id']);
26                    $sql = "SELECT * FROM estado WHERE usuario_id = $user[usuario_id] AND origen = 'banco_cuenta_mov_supervision' and posicion = $pos";
27                    $user_estado = ia_singleton($sql);
28                    $totales = tieneGastosPorRevisar($pos, 'banco_cuenta_mov', true);
29                    $fecha_asignacion_minima = getMinimumAssignmentDate($user['usuario_id'], 'banco_cuenta_mov', $pos);
30                    $querys[] = "INSERT INTO campos_exists
31                                    (campo_id, valor, tabla_exists, tabla_origen, nombre, posicion, activo, fecha)
32                                VALUES
33                                    ($user[usuario_id]$totales, '$user[origen]', 'banco', '$user[nombre]', $pos, '$user_estado[activo]', '$fecha_asignacion_minima')
34                                ON DUPLICATE KEY UPDATE
35                                    valor = $totales, nombre = '$user[nombre]', posicion = VALUES(posicion), activo = VALUES(activo),
36                                    fecha = VALUES(fecha)";
37                }
38                if ($user['puede_ser_supervisor'] == 'Si') {
39                    $pos = obtenNumeroRevisorGastosCuentaT($user['usuario_id']);
40                    $sql = "SELECT * FROM estado WHERE usuario_id = $user[usuario_id] AND origen = 'cuentat_gasto_supervision' and posicion = $pos";
41                    $user_estado = ia_singleton($sql);
42                    $totales = tieneGastosPorRevisar($pos, 'cuenta_t', true);
43                    $fecha_asignacion_minima = getMinimumAssignmentDate($user['usuario_id'], 'cuentat_gasto', $pos);
44                    $querys[] = "INSERT INTO campos_exists
45                                    (campo_id, valor, tabla_exists, tabla_origen, nombre, posicion, activo, fecha)
46                                VALUES
47                                    ($user[usuario_id]$totales, '$user[origen]', 'cuenta_t', '$user[nombre]', $pos, '$user_estado[activo]',
48                                    '$fecha_asignacion_minima')
49                                ON DUPLICATE KEY UPDATE
50                                    valor = $totales, nombre = '$user[nombre]', posicion = VALUES(posicion), activo = VALUES(activo),
51                                    fecha = VALUES(fecha)";
52                }
53            // }
54            array_push($ya_estan, $user['clave']);
55        }
56    }
57    if (!empty($revisores)) {
58        foreach ($revisores as $index => $user) {
59            // if (!in_array($user['clave'], $ya_estan)) {
60                if ($user['puede_revisar_gastos_cuentaT'] == 'Si') {
61                    $pos = obtenNumeroRevisorGastosCuentaT($user['usuario_id'], 'asignacion', null, true);
62                    $sql = "SELECT * FROM estado WHERE usuario_id = $user[usuario_id] AND origen = 'cuentat_gasto_asignacion' and posicion = $pos";
63                    $user_estado = ia_singleton($sql);
64                    $totales = tieneGastosPorRevisar($pos, 'cuenta_t', true);
65                    $fecha_asignacion_minima = getMinimumAssignmentDate($user['usuario_id'], 'cuentat_gasto', $pos);
66                    $querys[] = "INSERT INTO campos_exists
67                                    (campo_id, valor, tabla_exists, tabla_origen, nombre, posicion, activo, fecha)
68                                VALUES
69                                    ($user[usuario_id]$totales, '$user[origen]', 'cuenta_t', '$user[nombre]', $pos, '$user_estado[activo]',
70                                    '$fecha_asignacion_minima')
71                                ON DUPLICATE KEY UPDATE
72                                    valor = $totales, nombre = '$user[nombre]', posicion = VALUES(posicion), activo = VALUES(activo),
73                                    fecha = VALUES(fecha)";
74                }
75                if ($user['puede_revisar_movimientos_banco'] == 'Si') {
76                    $pos = obtenNumeroRevisorMovimientosBanco($user['usuario_id'], 'asignacion', null, true);
77                    $sql = "SELECT * FROM estado WHERE usuario_id = $user[usuario_id] AND origen = 'banco_cuenta_mov_asignacion' and posicion = $pos";
78                    $user_estado = ia_singleton($sql);
79                    $totales = tieneGastosPorRevisar($pos, 'banco_cuenta_mov', true);
80                    $fecha_asignacion_minima = getMinimumAssignmentDate($user['usuario_id'], 'banco_cuenta_mov', $pos);
81                    $querys[] = "INSERT INTO campos_exists
82                                    (campo_id, valor, tabla_exists, tabla_origen, nombre, posicion, activo, fecha)
83                                VALUES
84                                    ($user[usuario_id]$totales, '$user[origen]', 'banco', '$user[nombre]', $pos, '$user_estado[activo]',
85                                    '$fecha_asignacion_minima')
86                                ON DUPLICATE KEY UPDATE
87                                    valor = $totales, nombre = '$user[nombre]', posicion = VALUES(posicion), activo = VALUES(activo),
88                                    fecha = VALUES(fecha)";
89                }
90            // }
91            array_push($ya_estan, $user['clave']);
92        }
93    }
94    // dd_($querys);
95
96    /* $myFile = "actualizaGastosPorRevisar.txt";
97    $fh = fopen($myFile, 'w') or die("can't open file");
98    $bleh = "<pre>".print_r($querys, true)."</pre>";
99    fwrite($fh, $bleh);
100    fclose($fh); */
101
102    if(ia_transaction($querys)){
103        ia_errores_a_dime();
104        if($gIAsql['trace'])
105            ia_errores_a_dime("sql_trace=".print_r($gIAsql['sql_trace'],true));
106        echo "ERROR_><br>";
107        exit;
108    }
109    echo "TERMINE_><br>";
110}