Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 45
0.00% covered (danger)
0.00%
0 / 8
CRAP
0.00% covered (danger)
0.00%
0 / 1
query_select_doctos
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
doctos_view_to_table
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
6
insert_update_docto
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
StringCompareJaroWinkler
0.00% covered (danger)
0.00%
0 / 34
0.00% covered (danger)
0.00%
0 / 5
240
0.00% covered (danger)
0.00%
0 / 1
 compare
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 getCommonCharacters
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 1
30
 Jaro
0.00% covered (danger)
0.00%
0 / 13
0.00% covered (danger)
0.00%
0 / 1
30
 getPrefixLength
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
12
 JaroWinkler
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3class StringCompareJaroWinkler
4{
5    public function compare($str1, $str2)
6    {
7        return $this->JaroWinkler($str1, $str2, $PREFIXSCALE = 0.1 );
8    }
9
10    private function getCommonCharacters( $string1, $string2, $allowedDistance ){
11
12        $str1_len = mb_strlen($string1);
13        $str2_len = mb_strlen($string2);
14        $temp_string2 = $string2;
15
16        $commonCharacters='';
17        for( $i=0; $i < $str1_len; $i++){
18
19            $noMatch = True;
20            // compare if char does match inside given allowedDistance
21            // and if it does add it to commonCharacters
22            for( $j= max( 0, $i-$allowedDistance ); $noMatch && $j < min( $i + $allowedDistance + 1, $str2_len ); $j++){
23                if( $temp_string2[$j] == $string1[$i] ){
24                    $noMatch = False;
25                    $commonCharacters .= $string1[$i];
26                    $temp_string2[$j] = '';
27                }
28            }
29        }
30        return $commonCharacters;
31    }
32
33    private function Jaro( $string1, $string2 ){
34
35        $str1_len = mb_strlen( $string1 );
36        $str2_len = mb_strlen( $string2 );
37
38        // theoretical distance
39        $distance = (int) floor(min( $str1_len, $str2_len ) / 2.0);
40
41        // get common characters
42        $commons1 = $this->getCommonCharacters( $string1, $string2, $distance );
43        $commons2 = $this->getCommonCharacters( $string2, $string1, $distance );
44
45        if( ($commons1_len = mb_strlen( $commons1 )) == 0) return 0;
46        if( ($commons2_len = mb_strlen( $commons2 )) == 0) return 0;
47        // calculate transpositions
48        $transpositions = 0;
49        $upperBound = min( $commons1_len, $commons2_len );
50        for( $i = 0; $i < $upperBound; $i++){
51            if( $commons1[$i] != $commons2[$i] ) $transpositions++;
52        }
53        $transpositions /= 2.0;
54        // return the Jaro distance
55        return ($commons1_len/($str1_len) + $commons2_len/($str2_len) + ($commons1_len - $transpositions)/($commons1_len)) / 3.0;
56
57    }
58
59    private function getPrefixLength( $string1, $string2, $MINPREFIXLENGTH = 4 ){
60
61        $n = min( array( $MINPREFIXLENGTH, mb_strlen($string1), mb_strlen($string2) ) );
62
63        for($i = 0; $i < $n; $i++){
64            if( $string1[$i] != $string2[$i] ){
65                // return index of first occurrence of different characters
66                return $i;
67            }
68        }
69        // first n characters are the same
70        return $n;
71    }
72
73    private function JaroWinkler($string1, $string2, $PREFIXSCALE = 0.1 ){
74
75        $JaroDistance = $this->Jaro( $string1, $string2 );
76        $prefixLength = $this->getPrefixLength( $string1, $string2 );
77        return $JaroDistance + $prefixLength * $PREFIXSCALE * (1.0 - $JaroDistance);
78    }
79}
80
81
82
83function query_select_doctos()
84{
85    $select_cheque = "SELECT
86                        `cheque`.`tienda_id` AS `tienda_id`,
87                        `cheque`.`moneda_id` AS `moneda_id`,
88                        `cheque`.`numero` AS `numero`,
89                        `cheque`.`cliente_id` AS `cliente_id`,
90                        `cliente`.`nombre` AS `cliente`,
91                        IF((`cheque`.`new_date` IS NULL),
92                            `cheque`.`original_date`,
93                            `cheque`.`new_date`) AS `fecha`,
94                        `cheque`.`alta_db` AS `alta_db`,
95                        `cheque`.`alta_por` AS `alta_por`,
96                        `cheque`.`quantity` AS `quantity`,
97                        `cheque`.`total_payments` AS `total_payments`,
98                        IF(((`cheque`.`quantity` - `cheque`.`total_payments`) < 0),
99                            0,
100                            (`cheque`.`quantity` - `cheque`.`total_payments`)) AS `debe`,
101                        IF((`cheque`.`moneda_id` = 1),
102                            `cliente`.`saldo_pesos`,
103                            `cliente`.`saldo_usd`) AS `saldo`,
104                        `cheque`.`cuentaT_deliveredto_id` AS `cuentaT_deliveredto_id`,
105                        `cheque`.`origen_cuentat_id` AS `origen_cuentat_id`,
106                        `cheque`.`numero_sistema` AS `numero_sistema`,
107                        `cheque`.`remarks` AS `remarks`,
108                        `cheque`.`autorizado` AS `autorizado`,
109                        `cheque`.`autorizado_por` AS `autorizado_por`,
110                        `cheque`.`autorizado_el` AS `autorizado_el`,
111                        `cheque`.`borrado` AS `borrado`,
112                        `cheque`.`borrado_por` AS `borrado_por`,
113                        `cheque`.`borrado_el` AS `borrado_el`,
114                        `cheque`.`cheque_id` AS `doc_id`,
115                        `cheque`.`cheque_id` AS `doc_origen_id`,
116                        IF((((`cheque`.`origen_cuentat_id` IS NULL)
117                                OR (`cheque`.`origen_cuentat_id` = ''))
118                                AND ((`cheque`.`delivered_directo` = '1')
119                                OR (`cheque`.`cuentaT_transferto_id` > 0)
120                                OR (`cheque`.`cuentaT_deliveredto_id` > 0))),
121                            'CHEQUE DD',
122                            'CHEQUE') AS `origen`,
123                        `cheque`.`paid` AS `paid`,
124                        `cheque`.`delivered_directo` AS `delivered_directo`,
125                        `cheque`.`ultimo_movimiento` AS `ultimo_movimiento`,
126                        `cheque`.`desautorizado_el` AS `desautorizado_el`,
127                        `cheque`.`numero_contenedor` AS `numero_contenedor`,
128                        `cheque`.`lugar_de_entrada` AS `lugar_de_entrada`,
129                        `cheque`.`tipo_de_tela` AS `tipo_de_tela`,
130                        0 AS `banco_cuenta_id`,
131                        NULL AS `deposit_fecha`,
132                        0 AS `deposit_total`,
133                        `cheque`.`moneda_id` AS `doc_moneda`,
134                        `cheque`.`remarks_wot` AS `remarks_wot`,
135                        `cheque`.`cuentat_mov_id` AS `cuentat_mov_id`,
136                        0 AS `acta_quantity`,
137                        `cheque`.`rechazado` AS `rechazado`,
138                        `cheque`.`categoria_id` AS `categoria_id`,
139                        `categoria`.`categoria` AS `categoria`,
140                        `cheque`.`tipo` AS `tipo`,
141                        `cheque`.`paid_when` AS `paid_when`,
142                        `cheque`.`ultimo_pago` AS `ultimo_pago`
143                    FROM
144                        ((`cheque`
145                    LEFT JOIN `cliente` ON ((`cheque`.`cliente_id` = `cliente`.`cliente_id`)))
146                    LEFT JOIN `categoria` ON ((`cheque`.`categoria_id` = `categoria`.`categoria_id`)))";
147
148    $select_cheque_log = "SELECT 
149                            `cheque_log`.`tienda_id` AS `tienda_id`,
150                            `cheque_log`.`moneda_id` AS `moneda_id`,
151                            `cheque_log`.`numero` AS `numero`,
152                            `cheque_log`.`cliente_id` AS `cliente_id`,
153                            `cliente`.`nombre` AS `cliente`,
154                            IF((`cheque_log`.`new_date` IS NULL),
155                                `cheque_log`.`original_date`,
156                                `cheque_log`.`new_date`) AS `fecha`,
157                            `cheque_log`.`alta_db` AS `alta_db`,
158                            `cheque_log`.`alta_por` AS `alta_por`,
159                            `cheque_log`.`quantity` AS `quantity`,
160                            `cheque_log`.`total_payments` AS `total_payments`,
161                            IF(((`cheque_log`.`quantity` - `cheque_log`.`total_payments`) < 0),
162                                0,
163                                (`cheque_log`.`quantity` - `cheque_log`.`total_payments`)) AS `debe`,
164                            IF((`cheque_log`.`moneda_id` = 1),
165                                `cliente`.`saldo_pesos`,
166                                `cliente`.`saldo_usd`) AS `saldo`,
167                            `cheque_log`.`cuentaT_deliveredto_id` AS `cuentaT_deliveredto_id`,
168                            `cheque_log`.`origen_cuentat_id` AS `origen_cuentat_id`,
169                            `cheque_log`.`numero_sistema` AS `numero_sistema`,
170                            `cheque_log`.`remarks` AS `remarks`,
171                            `cheque_log`.`autorizado` AS `autorizado`,
172                            `cheque_log`.`autorizado_por` AS `autorizado_por`,
173                            `cheque_log`.`autorizado_el` AS `autorizado_el`,
174                            `cheque_log`.`borrado` AS `borrado`,
175                            `cheque_log`.`borrado_por` AS `borrado_por`,
176                            `cheque_log`.`borrado_el` AS `borrado_el`,
177                            `cheque_log`.`cheque_id` AS `doc_id`,
178                            `cheque_log`.`cheque_id` AS `doc_origen_id`,
179                            IF((((`cheque_log`.`origen_cuentat_id` IS NULL)
180                                    OR (`cheque_log`.`origen_cuentat_id` = ''))
181                                    AND (`cheque_log`.`delivered_directo` = '1')),
182                                'CHEQUE DD',
183                                'CHEQUE') AS `origen`,
184                            `cheque_log`.`paid` AS `paid`,
185                            `cheque_log`.`delivered_directo` AS `delivered_directo`,
186                            `cheque_log`.`ultimo_movimiento` AS `ultimo_movimiento`,
187                            `cheque_log`.`desautorizado_el` AS `desautorizado_el`,
188                            `cheque_log`.`numero_contenedor` AS `numero_contenedor`,
189                            `cheque_log`.`lugar_de_entrada` AS `lugar_de_entrada`,
190                            `cheque_log`.`tipo_de_tela` AS `tipo_de_tela`,
191                            0 AS `banco_cuenta_id`,
192                            NULL AS `deposit_fecha`,
193                            0 AS `deposit_total`,
194                            `cheque_log`.`moneda_id` AS `doc_moneda`,
195                            `cheque_log`.`remarks_wot` AS `remarks_wot`,
196                            `cheque_log`.`cuentat_mov_id` AS `cuentat_mov_id`,
197                            0 AS `acta_quantity`,
198                            `cheque_log`.`rechazado` AS `rechazado`,
199                            0 AS `categoria_id`,
200                            'CATEGORIA' AS `categoria`,
201                            `cheque_log`.`tipo` AS `tipo`,
202                            `cheque_log`.`paid_when` AS `paid_when`,
203                            NULL AS `ultimo_pago`
204                        FROM
205                            (`cheque_log`
206                            LEFT JOIN `cliente` ON ((`cheque_log`.`cliente_id` = `cliente`.`cliente_id`)))";
207
208    $select_pagare = "SELECT 
209                        `pagare`.`tienda_id` AS `tienda_id`,
210                        `pagare`.`moneda_id` AS `moneda_id`,
211                        `pagare`.`numero` AS `numero`,
212                        `pagare`.`cliente_id` AS `cliente_id`,
213                        `cliente`.`nombre` AS `cliente`,
214                        IF((`pagare`.`new_date` IS NULL),
215                            `pagare`.`original_date`,
216                            `pagare`.`new_date`) AS `fecha`,
217                        `pagare`.`alta_db` AS `alta_db`,
218                        `pagare`.`alta_por` AS `alta_por`,
219                        `pagare`.`quantity` AS `quantity`,
220                        `pagare`.`total_payments` AS `total_payments`,
221                        IF(((`pagare`.`quantity` - `pagare`.`total_payments`) < 0),
222                            0,
223                            (`pagare`.`quantity` - `pagare`.`total_payments`)) AS `debe`,
224                        IF((`pagare`.`moneda_id` = 1),
225                            `cliente`.`saldo_pesos`,
226                            `cliente`.`saldo_usd`) AS `saldo`,
227                        `pagare`.`cuentaT_deliveredto_id` AS `cuentaT_deliveredto_id`,
228                        `pagare`.`origen_cuentat_id` AS `origen_cuentat_id`,
229                        `pagare`.`numero_sistema` AS `numero_sistema`,
230                        `pagare`.`remarks` AS `remarks`,
231                        `pagare`.`autorizado` AS `autorizado`,
232                        `pagare`.`autorizado_por` AS `autorizado_por`,
233                        `pagare`.`autorizado_el` AS `autorizado_el`,
234                        `pagare`.`borrado` AS `borrado`,
235                        `pagare`.`borrado_por` AS `borrado_por`,
236                        `pagare`.`borrado_el` AS `borrado_el`,
237                        `pagare`.`pagare_id` AS `doc_id`,
238                        `pagare`.`pagare_id` AS `doc_origen_id`,
239                        'PAGARE' AS `origen`,
240                        `pagare`.`paid` AS `paid`,
241                        `pagare`.`delivered_directo` AS `delivered_directo`,
242                        `pagare`.`ultimo_movimiento` AS `ultimo_movimiento`,
243                        `pagare`.`desautorizado_el` AS `desautorizado_el`,
244                        `pagare`.`numero_contenedor` AS `numero_contenedor`,
245                        `pagare`.`lugar_de_entrada` AS `lugar_de_entrada`,
246                        `pagare`.`tipo_de_tela` AS `tipo_de_tela`,
247                        0 AS `banco_cuenta_id`,
248                        NULL AS `deposit_fecha`,
249                        0 AS `deposit_total`,
250                        `pagare`.`moneda_id` AS `doc_moneda`,
251                        `pagare`.`remarks_wot` AS `remarks_wot`,
252                        `pagare`.`cuentat_mov_id` AS `cuentat_mov_id`,
253                        0 AS `acta_quantity`,
254                        `pagare`.`rechazado` AS `rechazado`,
255                        `pagare`.`categoria_id` AS `categoria_id`,
256                        `categoria`.`categoria` AS `categoria`,
257                        `pagare`.`tipo` AS `tipo`,
258                        `pagare`.`paid_when` AS `paid_when`,
259                        `pagare`.`ultimo_pago` AS `ultimo_pago`
260                    FROM
261                        ((`pagare`
262                        LEFT JOIN `cliente` ON ((`pagare`.`cliente_id` = `cliente`.`cliente_id`)))
263                        LEFT JOIN `categoria` ON ((`pagare`.`categoria_id` = `categoria`.`categoria_id`)))";
264
265    $select_pagare_log = "SELECT 
266                            `pagare_log`.`tienda_id` AS `tienda_id`,
267                            `pagare_log`.`moneda_id` AS `moneda_id`,
268                            `pagare_log`.`numero` AS `numero`,
269                            `pagare_log`.`cliente_id` AS `cliente_id`,
270                            `cliente`.`nombre` AS `cliente`,
271                            IF((`pagare_log`.`new_date` IS NULL),
272                                `pagare_log`.`original_date`,
273                                `pagare_log`.`new_date`) AS `fecha`,
274                            `pagare_log`.`alta_db` AS `alta_db`,
275                            `pagare_log`.`alta_por` AS `alta_por`,
276                            `pagare_log`.`quantity` AS `quantity`,
277                            `pagare_log`.`total_payments` AS `total_payments`,
278                            IF(((`pagare_log`.`quantity` - `pagare_log`.`total_payments`) < 0),
279                                0,
280                                (`pagare_log`.`quantity` - `pagare_log`.`total_payments`)) AS `debe`,
281                            IF((`pagare_log`.`moneda_id` = 1),
282                                `cliente`.`saldo_pesos`,
283                                `cliente`.`saldo_usd`) AS `saldo`,
284                            `pagare_log`.`cuentaT_deliveredto_id` AS `cuentaT_deliveredto_id`,
285                            `pagare_log`.`origen_cuentat_id` AS `origen_cuentat_id`,
286                            `pagare_log`.`numero_sistema` AS `numero_sistema`,
287                            `pagare_log`.`remarks` AS `remarks`,
288                            `pagare_log`.`autorizado` AS `autorizado`,
289                            `pagare_log`.`autorizado_por` AS `autorizado_por`,
290                            `pagare_log`.`autorizado_el` AS `autorizado_el`,
291                            `pagare_log`.`borrado` AS `borrado`,
292                            `pagare_log`.`borrado_por` AS `borrado_por`,
293                            `pagare_log`.`borrado_el` AS `borrado_el`,
294                            `pagare_log`.`pagare_id` AS `doc_id`,
295                            `pagare_log`.`pagare_id` AS `doc_origen_id`,
296                            'PAGARE' AS `origen`,
297                            `pagare_log`.`paid` AS `paid`,
298                            `pagare_log`.`delivered_directo` AS `delivered_directo`,
299                            `pagare_log`.`ultimo_movimiento` AS `ultimo_movimiento`,
300                            `pagare_log`.`desautorizado_el` AS `desautorizado_el`,
301                            `pagare_log`.`numero_contenedor` AS `numero_contenedor`,
302                            `pagare_log`.`lugar_de_entrada` AS `lugar_de_entrada`,
303                            `pagare_log`.`tipo_de_tela` AS `tipo_de_tela`,
304                            0 AS `banco_cuenta_id`,
305                            NULL AS `deposit_fecha`,
306                            0 AS `deposit_total`,
307                            `pagare_log`.`moneda_id` AS `doc_moneda`,
308                            `pagare_log`.`remarks_wot` AS `remarks_wot`,
309                            `pagare_log`.`cuentat_mov_id` AS `cuentat_mov_id`,
310                            0 AS `acta_quantity`,
311                            `pagare_log`.`rechazado` AS `rechazado`,
312                            0 AS `categoria_id`,
313                            'CATEGORIA' AS `categoria`,
314                            `pagare_log`.`tipo` AS `tipo`,
315                            `pagare_log`.`paid_when` AS `paid_when`,
316                            NULL AS `ultimo_pago`
317                        FROM
318                            (`pagare_log`
319                            LEFT JOIN `cliente` ON ((`pagare_log`.`cliente_id` = `cliente`.`cliente_id`)))";
320
321    $select_vale = "SELECT 
322                        `vale`.`tienda_id` AS `tienda_id`,
323                        `vale`.`moneda_id` AS `moneda_id`,
324                        `vale`.`vale_number` AS `numero`,
325                        `vale`.`cliente_id` AS `cliente_id`,
326                        IF((`vale`.`cliente_id` IS NULL),
327                            `vale`.`cliente`,
328                            `cliente`.`nombre`) AS `cliente`,
329                        `vale`.`fecha` AS `fecha`,
330                        `vale`.`alta_db` AS `alta_db`,
331                        `vale`.`alta_por` AS `alta_por`,
332                        `vale`.`quantity` AS `quantity`,
333                        `vale`.`total_payments` AS `total_payments`,
334                        IF(((`vale`.`quantity` - `vale`.`total_payments`) < 0),
335                            0,
336                            (`vale`.`quantity` - `vale`.`total_payments`)) AS `debe`,
337                        IF((`vale`.`moneda_id` = 1),
338                            `cliente`.`saldo_pesos`,
339                            `cliente`.`saldo_usd`) AS `saldo`,
340                        `vale`.`dinero_en_cuentaT_id` AS `cuentaT_deliveredto_id`,
341                        `vale`.`dinero_en_cuentaT_id` AS `origen_cuentat_id`,
342                        `vale`.`numero_sistema` AS `numero_sistema`,
343                        `vale`.`remarks` AS `remarks`,
344                        `vale`.`autorizado` AS `autorizado`,
345                        `vale`.`autorizado_por` AS `autorizado_por`,
346                        `vale`.`autorizado_el` AS `autorizado_el`,
347                        `vale`.`borrado` AS `borrado`,
348                        `vale`.`borrado_por` AS `borrado_por`,
349                        `vale`.`borrado_el` AS `borrado_el`,
350                        `vale`.`vale_id` AS `doc_id`,
351                        `vale`.`vale_id` AS `doc_origen_id`,
352                        'VALE' AS `origen`,
353                        `vale`.`paid` AS `paid`,
354                        0 AS `delivered_directo`,
355                        `vale`.`ultimo_movimiento` AS `ultimo_movimiento`,
356                        `vale`.`desautorizado_el` AS `desautorizado_el`,
357                        `vale`.`numero_contenedor` AS `numero_contenedor`,
358                        `vale`.`lugar_de_entrada` AS `lugar_de_entrada`,
359                        `vale`.`tipo_de_tela` AS `tipo_de_tela`,
360                        0 AS `banco_cuenta_id`,
361                        NULL AS `deposit_fecha`,
362                        0 AS `deposit_total`,
363                        `vale`.`moneda_id` AS `doc_moneda`,
364                        `vale`.`remarks_wot` AS `remarks_wot`,
365                        `vale`.`cuenta_t_mov_id` AS `cuentat_mov_id`,
366                        0 AS `acta_quantity`,
367                        `vale`.`rechazado` AS `rechazado`,
368                        `vale`.`categoria_id` AS `categoria_id`,
369                        `categoria`.`categoria` AS `categoria`,
370                        `vale`.`tipo` AS `tipo`,
371                        `vale`.`paid_when` AS `paid_when`,
372                        `vale`.`ultimo_pago` AS `ultimo_pago`
373                    FROM
374                        ((`vale`
375                        LEFT JOIN `cliente` ON ((`vale`.`cliente_id` = `cliente`.`cliente_id`)))
376                        LEFT JOIN `categoria` ON ((`vale`.`categoria_id` = `categoria`.`categoria_id`)))";
377
378    $select_vale_log = "SELECT 
379                            `vale_log`.`tienda_id` AS `tienda_id`,
380                            `vale_log`.`moneda_id` AS `moneda_id`,
381                            `vale_log`.`vale_number` AS `numero`,
382                            `vale_log`.`cliente_id` AS `cliente_id`,
383                            IF((`vale_log`.`cliente_id` IS NULL),
384                                `vale_log`.`cliente`,
385                                `cliente`.`nombre`) AS `cliente`,
386                            `vale_log`.`fecha` AS `fecha`,
387                            `vale_log`.`alta_db` AS `alta_db`,
388                            `vale_log`.`alta_por` AS `alta_por`,
389                            `vale_log`.`quantity` AS `quantity`,
390                            `vale_log`.`total_payments` AS `total_payments`,
391                            IF(((`vale_log`.`quantity` - `vale_log`.`total_payments`) < 0),
392                                0,
393                                (`vale_log`.`quantity` - `vale_log`.`total_payments`)) AS `debe`,
394                            IF((`vale_log`.`moneda_id` = 1),
395                                `cliente`.`saldo_pesos`,
396                                `cliente`.`saldo_usd`) AS `saldo`,
397                            `vale_log`.`dinero_en_cuentaT_id` AS `cuentaT_deliveredto_id`,
398                            `vale_log`.`dinero_en_cuentaT_id` AS `origen_cuentat_id`,
399                            `vale_log`.`numero_sistema` AS `numero_sistema`,
400                            `vale_log`.`remarks` AS `remarks`,
401                            `vale_log`.`autorizado` AS `autorizado`,
402                            `vale_log`.`autorizado_por` AS `autorizado_por`,
403                            `vale_log`.`autorizado_el` AS `autorizado_el`,
404                            `vale_log`.`borrado` AS `borrado`,
405                            `vale_log`.`borrado_por` AS `borrado_por`,
406                            `vale_log`.`borrado_el` AS `borrado_el`,
407                            `vale_log`.`vale_id` AS `doc_id`,
408                            `vale_log`.`vale_id` AS `doc_origen_id`,
409                            'VALE' AS `origen`,
410                            `vale_log`.`paid` AS `paid`,
411                            0 AS `delivered_directo`,
412                            `vale_log`.`ultimo_movimiento` AS `ultimo_movimiento`,
413                            `vale_log`.`desautorizado_el` AS `desautorizado_el`,
414                            `vale_log`.`numero_contenedor` AS `numero_contenedor`,
415                            `vale_log`.`lugar_de_entrada` AS `lugar_de_entrada`,
416                            `vale_log`.`tipo_de_tela` AS `tipo_de_tela`,
417                            0 AS `banco_cuenta_id`,
418                            NULL AS `deposit_fecha`,
419                            0 AS `deposit_total`,
420                            `vale_log`.`moneda_id` AS `doc_moneda`,
421                            `vale_log`.`remarks_wot` AS `remarks_wot`,
422                            `vale_log`.`cuenta_t_mov_id` AS `cuentat_mov_id`,
423                            0 AS `acta_quantity`,
424                            `vale_log`.`rechazado` AS `rechazado`,
425                            0 AS `categoria_id`,
426                            'CATEGORIA' AS `categoria`,
427                            `vale_log`.`tipo` AS `tipo`,
428                            `vale_log`.`paid_when` AS `paid_when`,
429                            NULL AS `ultimo_pago`
430                        FROM
431                            (`vale_log`
432                            LEFT JOIN `cliente` ON ((`vale_log`.`cliente_id` = `cliente`.`cliente_id`)))";
433
434    $select_cheque_pago_log = "SELECT 
435                                `ch`.`tienda_id` AS `tienda_id`,
436                                `cp`.`moneda_id` AS `moneda_id`,
437                                `ch`.`numero` AS `doc_numero`,
438                                `ch`.`cliente_id` AS `cliente_id`,
439                                `cli`.`nombre` AS `cliente`,
440                                `cp`.`fecha` AS `fecha`,
441                                `cp`.`alta_db` AS `alta_db`,
442                                `cp`.`alta_por` AS `alta_por`,
443                                `ch`.`quantity` AS `quantity`,
444                                `ch`.`total_payments` AS `total_payments`,
445                                IF(((`ch`.`quantity` - `ch`.`total_payments`) < 0),
446                                    0,
447                                    (`ch`.`quantity` - `ch`.`total_payments`)) AS `debe`,
448                                IF((`ch`.`moneda_id` = 1),
449                                    `cli`.`saldo_pesos`,
450                                    `cli`.`saldo_usd`) AS `saldo`,
451                                NULL AS `cuentaT_deliveredto_id`,
452                                `cp`.`cuentaT_id` AS `origen_cuentat_id`,
453                                `cp`.`numero_referencia` AS `numero_sistema`,
454                                `cp`.`comentario` AS `remarks`,
455                                `cp`.`autorizado` AS `autorizado`,
456                                `cp`.`autorizado_por` AS `autorizado_por`,
457                                `cp`.`autorizado_el` AS `autorizado_el`,
458                                'Si' AS `borrado`,
459                                `cp`.`alta_por` AS `borrado_por`,
460                                `cp`.`fecha_borrado` AS `borrado_el`,
461                                `cp`.`cheque_pago_log_id` AS `doc_id`,
462                                `ch`.`cheque_id` AS `doc_origen_id`,
463                                IF((`cp`.`banco_cuenta_id` > 0),
464                                    'CHEQUE LINK',
465                                    IF((`cp`.`metodo_pago_id` = 14),
466                                        'CHEQUE VALE',
467                                        'CHEQUE CASH')) AS `origen`,
468                                `ch`.`paid` AS `paid`,
469                                `ch`.`delivered_directo` AS `delivered_directo`,
470                                IF((`cp`.`banco_cuenta_id` > 0),
471                                    'LINK BORRADO',
472                                    'A CUENTA BORRADO') AS `ultimo_movimiento`,
473                                `cp`.`desautorizado_el` AS `desautorizado_el`,
474                                '' AS `numero_contenedor`,
475                                '' AS `lugar_de_entrada`,
476                                '' AS `tipo_de_tela`,
477                                `cp`.`banco_cuenta_id` AS `banco_cuenta_id`,
478                                `cp`.`deposit_fecha` AS `deposit_fecha`,
479                                `cp`.`deposit_total` AS `deposit_total`,
480                                `ch`.`moneda_id` AS `doc_moneda`,
481                                `ch`.`remarks_wot` AS `remarks_wot`,
482                                `cp`.`cuenta_t_mov_id` AS `cuentat_mov_id`,
483                                `cp`.`quantity_total` AS `acta_quantity`,
484                                `cp`.`rechazado` AS `rechazado`,
485                                0 AS `categoria_id`,
486                                'CATEGORIA' AS `categoria`,
487                                '' AS `tipo`,
488                                NULL AS `paid_when`,
489                                NULL AS `ultimo_pago`
490                            FROM
491                                ((`cheque_pago_log` `cp`
492                                LEFT JOIN `cheque` `ch` ON ((`ch`.`cheque_id` = `cp`.`cheque_id`)))
493                                LEFT JOIN `cliente` `cli` ON ((`ch`.`cliente_id` = `cli`.`cliente_id`)))";
494
495    $select_pagare_pago_log = "SELECT 
496                                `ch`.`tienda_id` AS `tienda_id`,
497                                `cp`.`moneda_id` AS `moneda_id`,
498                                `ch`.`numero` AS `doc_numero`,
499                                `ch`.`cliente_id` AS `cliente_id`,
500                                `cli`.`nombre` AS `cliente`,
501                                `cp`.`fecha` AS `fecha`,
502                                `cp`.`alta_db` AS `alta_db`,
503                                `cp`.`alta_por` AS `alta_por`,
504                                `ch`.`quantity` AS `quantity`,
505                                `ch`.`total_payments` AS `total_payments`,
506                                IF(((`ch`.`quantity` - `ch`.`total_payments`) < 0),
507                                    0,
508                                    (`ch`.`quantity` - `ch`.`total_payments`)) AS `debe`,
509                                IF((`ch`.`moneda_id` = 1),
510                                    `cli`.`saldo_pesos`,
511                                    `cli`.`saldo_usd`) AS `saldo`,
512                                NULL AS `cuentaT_deliveredto_id`,
513                                `cp`.`cuentaT_id` AS `origen_cuentat_id`,
514                                `cp`.`numero_referencia` AS `numero_sistema`,
515                                `cp`.`comentario` AS `remarks`,
516                                `cp`.`autorizado` AS `autorizado`,
517                                `cp`.`autorizado_por` AS `autorizado_por`,
518                                `cp`.`autorizado_el` AS `autorizado_el`,
519                                'Si' AS `borrado`,
520                                `cp`.`alta_por` AS `borrado_por`,
521                                `cp`.`fecha_borrado` AS `borrado_el`,
522                                `cp`.`pagare_pago_log_id` AS `doc_id`,
523                                `ch`.`pagare_id` AS `doc_origen_id`,
524                                IF((`cp`.`banco_cuenta_id` > 0),
525                                    'PAGARE LINK',
526                                    IF((`cp`.`metodo_pago_id` = 14),
527                                        'PAGARE VALE',
528                                        'PAGARE CASH')) AS `origen`,
529                                `ch`.`paid` AS `paid`,
530                                `ch`.`delivered_directo` AS `delivered_directo`,
531                                IF((`cp`.`banco_cuenta_id` > 0),
532                                    'LINK BORRADO',
533                                    'A CUENTA BORRADO') AS `ultimo_movimiento`,
534                                `cp`.`desautorizado_el` AS `desautorizado_el`,
535                                '' AS `numero_contenedor`,
536                                '' AS `lugar_de_entrada`,
537                                '' AS `tipo_de_tela`,
538                                `cp`.`banco_cuenta_id` AS `banco_cuenta_id`,
539                                `cp`.`deposit_fecha` AS `deposit_fecha`,
540                                `cp`.`deposit_total` AS `deposit_total`,
541                                `ch`.`moneda_id` AS `doc_moneda`,
542                                `ch`.`remarks_wot` AS `remarks_wot`,
543                                `cp`.`cuenta_t_mov_id` AS `cuentat_mov_id`,
544                                `cp`.`quantity_total` AS `acta_quantity`,
545                                `cp`.`rechazado` AS `rechazado`,
546                                0 AS `categoria_id`,
547                                'CATEGORIA' AS `categoria`,
548                                '' AS `tipo`,
549                                NULL AS `paid_when`,
550                                NULL AS `ultimo_pago`
551                            FROM
552                                ((`pagare_pago_log` `cp`
553                                LEFT JOIN `pagare` `ch` ON ((`ch`.`pagare_id` = `cp`.`pagare_id`)))
554                                LEFT JOIN `cliente` `cli` ON ((`ch`.`cliente_id` = `cli`.`cliente_id`)))";
555
556    $select_vale_pago_log = "SELECT 
557                                `ch`.`tienda_id` AS `tienda_id`,
558                                `cp`.`moneda_id` AS `moneda_id`,
559                                `ch`.`vale_number` AS `doc_numero`,
560                                `ch`.`cliente_id` AS `cliente_id`,
561                                `cli`.`nombre` AS `cliente`,
562                                `cp`.`fecha` AS `fecha`,
563                                `cp`.`alta_db` AS `alta_db`,
564                                `cp`.`alta_por` AS `alta_por`,
565                                `ch`.`quantity` AS `quantity`,
566                                `ch`.`total_payments` AS `total_payments`,
567                                IF(((`ch`.`quantity` - `ch`.`total_payments`) < 0),
568                                    0,
569                                    (`ch`.`quantity` - `ch`.`total_payments`)) AS `debe`,
570                                IF((`ch`.`moneda_id` = 1),
571                                    `cli`.`saldo_pesos`,
572                                    `cli`.`saldo_usd`) AS `saldo`,
573                                NULL AS `cuentaT_deliveredto_id`,
574                                `cp`.`cuentaT_id` AS `origen_cuentat_id`,
575                                `cp`.`numero_referencia` AS `numero_sistema`,
576                                `cp`.`comentario` AS `remarks`,
577                                `cp`.`autorizado` AS `autorizado`,
578                                `cp`.`autorizado_por` AS `autorizado_por`,
579                                `cp`.`autorizado_el` AS `autorizado_el`,
580                                'Si' AS `borrado`,
581                                `cp`.`alta_por` AS `borrado_por`,
582                                `cp`.`fecha_borrado` AS `borrado_el`,
583                                `cp`.`vale_pago_log_id` AS `doc_id`,
584                                `ch`.`vale_id` AS `doc_origen_id`,
585                                IF((`cp`.`banco_cuenta_id` > 0),
586                                    'VALE PAGO LINK',
587                                    'VALE PAGO CASH') AS `origen`,
588                                `ch`.`paid` AS `paid`,
589                                0 AS `delivered_directo`,
590                                IF((`cp`.`banco_cuenta_id` > 0),
591                                    'LINK BORRADO',
592                                    'A CUENTA BORRADO') AS `ultimo_movimiento`,
593                                NULL AS `desautorizado_el`,
594                                '' AS `numero_contenedor`,
595                                '' AS `lugar_de_entrada`,
596                                '' AS `tipo_de_tela`,
597                                `cp`.`banco_cuenta_id` AS `banco_cuenta_id`,
598                                `cp`.`deposit_fecha` AS `deposit_fecha`,
599                                `cp`.`deposit_total` AS `deposit_total`,
600                                `ch`.`moneda_id` AS `doc_moneda`,
601                                `ch`.`remarks_wot` AS `remarks_wot`,
602                                `cp`.`cuenta_t_mov_id` AS `cuentat_mov_id`,
603                                `cp`.`quantity_total` AS `acta_quantity`,
604                                `cp`.`rechazado` AS `rechazado`,
605                                0 AS `categoria_id`,
606                                'CATEGORIA' AS `categoria`,
607                                '' AS `tipo`,
608                                NULL AS `paid_when`,
609                                NULL AS `ultimo_pago`
610                            FROM
611                                ((`vale_pago_log` `cp`
612                                LEFT JOIN `vale` `ch` ON ((`ch`.`vale_id` = CONVERT( `cp`.`vale_id` USING UTF8))))
613                                LEFT JOIN `cliente` `cli` ON ((`ch`.`cliente_id` = `cli`.`cliente_id`)))";
614
615    $select_cuentat_a_banco = "SELECT 
616                                `cuentat_a_banco`.`tienda_id` AS `tienda_id`,
617                                `cuentat_a_banco`.`moneda_id` AS `moneda_id`,
618                                `cuentat_a_banco`.`numero_referencia` AS `doc_numero`,
619                                '' AS `cliente_id`,
620                                `cuentat_a_banco`.`cliente` AS `cliente`,
621                                `cuentat_a_banco`.`fecha` AS `fecha`,
622                                `cuentat_a_banco`.`ultimo_cambio` AS `alta_db`,
623                                `cuentat_a_banco`.`ultimo_cambio_por` AS `alta_por`,
624                                `cuentat_a_banco`.`egreso` AS `quantity`,
625                                0 AS `total_payments`,
626                                0 AS `debe`,
627                                0 AS `saldo`,
628                                NULL AS `cuentaT_deliveredto_id`,
629                                IF((`cuentat_a_banco`.`afecta_cuentat` = 'NO'),
630                                    NULL,
631                                    `cuentat_a_banco`.`cuentaT_id`) AS `origen_cuentat_id`,
632                                `cuentat_a_banco`.`numero_referencia` AS `numero_sistema`,
633                                `cuentat_a_banco`.`remarks` AS `remarks`,
634                                `cuentat_a_banco`.`autorizado` AS `autorizado`,
635                                `cuentat_a_banco`.`autorizado_por` AS `autorizado_por`,
636                                `cuentat_a_banco`.`autorizado_el` AS `autorizado_el`,
637                                'Si' AS `borrado`,
638                                `cuentat_a_banco`.`alta_por` AS `borrado_por`,
639                                `cuentat_a_banco`.`alta_db` AS `borrado_el`,
640                                `cuentat_a_banco`.`cuentat_a_banco_mov_id` AS `doc_id`,
641                                `cuentat_a_banco`.`cuentat_a_banco_mov_id` AS `doc_origen_id`,
642                                'CUENTA T' AS `origen`,
643                                0 AS `paid`,
644                                0 AS `delivered_directo`,
645                                IF(((`cuentat_a_banco`.`deposit_total` > `cuentat_a_banco`.`egreso`)
646                                        AND (`cuentat_a_banco`.`ide_amount` = 0)
647                                        AND (`cuentat_a_banco`.`ide_percent` = 0)
648                                        AND (`cuentat_a_banco`.`tarjeta_amount` = 0)
649                                        AND (`cuentat_a_banco`.`tarjeta_percent` = 0)),
650                                    'LINK PARCIAL BORRADO',
651                                    'LINK BORRADO') AS `ultimo_movimiento`,
652                                `cuentat_a_banco`.`desautorizado_el` AS `desautorizado_el`,
653                                '' AS `numero_contenedor`,
654                                '' AS `lugar_de_entrada`,
655                                '' AS `tipo_de_tela`,
656                                `cuentat_a_banco`.`banco_cuenta_id` AS `banco_cuenta_id`,
657                                `cuentat_a_banco`.`deposit_fecha` AS `deposit_fecha`,
658                                `cuentat_a_banco`.`deposit_total` AS `deposit_total`,
659                                `cuentat_a_banco`.`moneda_id` AS `doc_moneda`,
660                                `cuentat_a_banco`.`remarks` AS `remarks_wot`,
661                                `cuentat_a_banco`.`cuentaT_mov_id` AS `cuentat_mov_id`,
662                                0 AS `acta_quantity`,
663                                `cuentat_a_banco`.`rechazado` AS `rechazado`,
664                                0 AS `categoria_id`,
665                                'CATEGORIA' AS `categoria`,
666                                '' AS `tipo`,
667                                NULL AS `paid_when`,
668                                NULL AS `ultimo_pago`
669                            FROM
670                                `cuentat_a_banco`
671                            WHERE
672                                ((`cuentat_a_banco`.`activo` = 'No')
673                                    AND (`cuentat_a_banco`.`factura_directa` = 'NO'))";
674
675
676    $select =   $select_cheque .
677        " UNION ALL ".
678        $select_cheque_log .
679        " UNION ALL ".
680        $select_pagare .
681        " UNION ALL ".
682        $select_pagare_log .
683        " UNION ALL ".
684        $select_vale .
685        " UNION ALL ".
686        $select_vale_log .
687        " UNION ALL ".
688        $select_cheque_pago_log .
689        " UNION ALL ".
690        $select_pagare_pago_log .
691        " UNION ALL ".
692        $select_vale_pago_log .
693        " UNION ALL ".
694        $select_cuentat_a_banco;
695
696    return $select;
697}
698
699function doctos_view_to_table()
700{
701    global $gIAsql;
702
703    $querys = [];
704    $querys[] = "DROP TABLE IF EXISTS doctos_live";
705
706    $select_doctos = query_select_doctos();
707    $querys[] = "CREATE TABLE doctos_live $select_doctos";
708    // echo "<pre>". print_r($querys, true);
709
710    if(ia_transaction($querys)) {
711        ia_errores_a_dime('','','',true);
712        $response['code'] = 409;
713        $response['status'] = false;
714        $response['message'] = 'Algo sucedio y no se paso la vista de doctos a tabla';
715        echo json_encode($response);
716        return false;
717    }
718    $response['code'] = 200;
719    $response['status'] = true;
720    $response['message'] = "OK! Se ha pasado la vista de doctos a una tabla (doctos_live: 'SELECT * FROM doctos_live')";
721    echo json_encode($response);
722    return true;
723}
724
725function insert_update_docto()
726{
727    echo "INSERTAR/UPDATE IN DOCTOS_LIVE";
728}