-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathclsfunctions.inc.php
More file actions
executable file
·498 lines (463 loc) · 17.9 KB
/
clsfunctions.inc.php
File metadata and controls
executable file
·498 lines (463 loc) · 17.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
<?php
/**
* @author Balam Gonzalez Luis H
* @since 2007-01-01
* @version 2008-04-09 1.01.2
* Cambios en la version
* 2008-04-09 - Agregar alguna correciones en consultas
* - Correccion en la funcion returnundat
* - core common support
* 2008-07-22 - Mejoras en seguridad.- Esta Libreria esta fatal. en la proxima version será remozada
* 2008-08-08 - Mejora en la funcion devolvergl, a partir del credito
*/
//=====================================================================================================
include_once("core/go.login.inc.php");
include_once("core/core.error.inc.php");
include_once("core/core.html.inc.php");
include_once("core/core.init.inc.php");
$theFile = __FILE__;
$permiso = getSIPAKALPermissions($theFile);
if($permiso === false){ header ("location:../404.php?i=999"); }
$_SESSION["current_file"] = addslashes( $theFile );
$iduser = $_SESSION["log_id"];
//=====================================================================================================
@require_once("./libs/jsrsServer.inc.php");
include_once("./core/core.deprecated.inc.php");
include_once("./core/entidad.datos.php");
include_once("./core/core.fechas.inc.php");
include_once("./core/core.config.inc.php");
include_once("./core/core.common.inc.php");
include_once("./core/core.creditos.inc.php");
jsrsDispatch("nombre, dsolicitud, damesocio, domprincipal, remlinea, listarcreditos, listargarantias, listarparcialidades, mostrargrupo, damecredito, sumarmvto, resgarantialiq, interesanticipado, mostrarcuenta, devolver_ia, devolvergl, listarcuentas, dametasa, gposolcred, esautomatico, esdegpo, prioricred, oregion, prioricta, sumarparc, raindat, cuotasocial, solicitudexistente, misolicitud, dametasa2, dat_convenio");
/** ---------------------------- Devuelve el Nombre del Socio---------------------------- */
function nombre($idsoc){
$nombre = "";
if (isset($idsoc) ){
$idsoc = trim($idsoc);
settype($idsoc, "integer");
$xSoc = new cSocio($idsoc); $xSoc->init(); $nombre = $xSoc->getNombreCompleto();
}
return $nombre;
}
/** ------------------------------ Devuelve la Descripcion del Credito----------------------- */
function dsolicitud($idsol){
$descripcion = "NO_EXISTEN_DATOS";
if ( isset($idsol) ){
$cCred = new cCredito($idsol);
$cCred->initCredito();
$descripcion = $cCred->getShortDescription();
}
return $descripcion;
}
/** -------------------- SQl Instruccion for query.- Funcion General ----------------------------------------- */
function mydat($msql, $mcampo){
$jinger = mifila($msql, $mcampo);
return $jinger;
}
/** Returna un tipo de */
function mytypev($ttab, $ffilt){
$idtab = "id" . $ttab;
$mtsql = "SELECT * FROM $ttab WHERE $idtab=$ffilt LIMIT 0,1";
$rsv = mysql_query($mtsql, cnnGeneral());
while($irow = mysql_fetch_array($rsv)){
$ixval = $irow[1];
}
return $ixval;
@mysql_free_result($rsv);
}
/** Devuelve cualquier datos de un Socio segun Indice dado */
function damesocio($jambo) {
$idsocio = trim(substr($jambo, 0, (strlen($jambo) -3)));
$indexdate = trim(substr (strrchr ($jambo, " "), 2));
$datossql = "SELECT * FROM socios_general WHERE codigo=$idsocio";
$rsdame = mysql_query($datossql, cnnGeneral());
while($rwd = mysql_fetch_array($rsdame)) {
$tomalo = $rwd[$indexdate];
}
return $tomalo;
@mysql_free_result($rsdame);
}
/** Devuelve cualquier dato de la tabla segun indice e id dado */
function damecredito($jimbo) {
//SOLICITUD,IDCAMPO
$kimbo = explode(" ", $jimbo);
if ( isset($kimbo[0]) AND trim($kimbo[0]) != "" ){
$sqlbind = "SELECT * FROM creditos_solicitud
WHERE numero_solicitud=$kimbo[0] LIMIT 0,1";
$tirar = 0;
$rsbind = mysql_query($sqlbind, cnnGeneral());
if (!$rsbind) {
saveError(2,$_SESSION["SN_b80bb7740288fda1f201890375a60c8f"], "Depurar :" . mysql_error() . "|Numero: " .mysql_errno() . "|Instruccion SQL:". $sqlbind);
} else {
while ($rw = mysql_fetch_array($rsbind)) {
$tirar = $rw[$kimbo[1]];
}
}
return $tirar;
@mysql_free_result($rsbind);
} else {
//saveError(2,$_SESSION["SN_b80bb7740288fda1f201890375a60c8f"], "Depurar :SQL Fallido o sin algun dato");
return 0;
}
}
/** Suma el Total de Garantias para verificar si cubre el total del credito */
function sumagarantias($idsolicitud) {
$sqlsgar = "SELECT SUM(monto_valuado) AS 'sumagarantizada' FROM creditos_garantias WHERE solicitud_garantia=$idsolicitud";
$sumagarantizada = mydat($sqlsgar, "sumagaratizada");
return $sumagarantizada;
}
/** retorna el domicilio principal del socio */
function domprincipal($elsocio) {
$sqldom = "SELECT * FROM socios_vivienda WHERE socio_numero=$elsocio AND principal='1'";
$rsdom = mysql_query($sqldom, cnnGeneral());
while($rwi = mysql_fetch_array($rsdom)) {
$dtomalo = "Calle $rwi[3], Num. $rwi[4], Num. Int. $rwi[5], Colonia $rwi[6]; $rwi[8], $rwi[9], C. P. $rwi[17]";
}
if (!$rsdom) {
$dtomalo = "NO EXISTE DATOS DE VIVIENDA DE LA PERSONA";
}
return $dtomalo;
@mysql_free_result($rsdom);
}
// obtiene la suma de los creditos
function remlinea($socio) {
// obtiene la suma de las lineas de Credito
$sqlsc = "SELECT SUM(saldo_actual) As 'sdoscred' FROM creditos_solicitud WHERE numero_socio=$socio AND saldo_actual>0.99";
$sqlsl = "SELECT SUM(monto_linea) as 'sumalinea' FROM creditos_lineas WHERE estado=1 AND numero_socio=$socio";
$remanente = mydat($sqlsl, "sumalinea") - mydat($sqlsc, "sdoscred");
return $remanente;
}
// enlista las los creditos con saldo mayor a 0
function listarcreditos($idsocio) {
}
/** @DEPRECATED lista las garantias */
function listargarantias($idsolicitud) {
}
// Lista las Parcialidades segun solicitud de credito dada
function listarparcialidades($idsolicitud) {
}
// muestra un Grupo segun Id Dado, la cadena es id de grupo + id de field a mostrar
function mostrargrupo($isdate= "99 1") {
$dgr = explode(" ", $isdate);
if ( !isset($dgr[0]) ){
$dgr[0] = DEFAULT_GRUPO;
}
$sqlgpo = "SELECT * FROM socios_grupossolidarios WHERE idsocios_grupossolidarios=$dgr[0] LIMIT 0,1";
$rsgpo = mysql_query($sqlgpo, cnnGeneral());
$elgrupo = "NO EXISTEN DATOS";
while($rwe = mysql_fetch_array($rsgpo)) {
$elgrupo= $rwe[$dgr[1]];
}
return $elgrupo;
@mysql_free_result($rsgpo);
}
// Suma el Mvto, segun Iddocto + Id Mvto
function sumarmvto($sJamba) {
$rhino = explode(" ", $sJamba);
$sGore = "SELECT SUM(afectacion_real) AS 'sumamvto' FROM operaciones_mvtos WHERE docto_afectado=$rhino[0] AND tipo_mvto=$rhino[1] AND docto_neutralizador=1";
$cred = mydat($sGore, "sumamvto");
return $cred;
}
// Retorna la Garantia y el residuo de la garantia, segun Socio + Solicitud
function resgarantialiq($sGinger) {
/*/ ----------------------------------------------------------------------------------------
Este Dato Debe actualizarse a la par de la libreria entidad.datos.php
// ---------------------------------------------------------------------------------------- */
$aGin = explode(" ", $sGinger);
$xTip = new cTipos();
$idsolicitud = $xTip->cInt($aGin[1]);
$idsocio = $xTip->cInt($aGin[0]);
$a_pagar = 0;
if ( isset($idsocio) and isset($idsolicitud) ){
$xCred = new cCredito($idsolicitud, $idsocio);
$montoPag = $xCred->getGarantiaLiquidaPagada();
$montoGar = $xCred->getGarantiaLiquida();
$a_pagar = ($montoGar - $montoPag);
}
return $a_pagar;
}
//funcion privada que suma un movimiento segun socio o Solicitud + tipo movimiento + estatus
// tipo,socio_o_solicitud,tipo_movimiento,estatus
function priv_sumarmvto($stringOrden) {
$orden = explode(",", $stringOrden);
$mirame = 0;
$elcampo = "socio_afectado";
if ($orden[0] == "xSol") {
$elcampo = "docto_afectado";
}
$sGore = "SELECT SUM(afectacion_real) AS 'sumamvto' FROM operaciones_mvtos ";
$sGore .= "WHERE $elcampo=$orden[1] AND tipo_operacion=$orden[2] AND estatus_mvto=$orden[3]";
$mirame = mydat($sGore, "sumamvto");
return $mirame;
}
function priv_damecredito($jimbo) {
$kimbo = explode(" ", $jimbo);
$sqlbind = "SELECT * FROM creditos_solicitud WHERE numero_solicitud=$kimbo[0] LIMIT 0,1";
$id = $kimbo[1];
$tirar = 0;
$rsbind = mysql_query($sqlbind, cnnGeneral());
while ($rw0 = mysql_fetch_array($rsbind)) {
$tirar = $rw0[$id];
}
return $tirar;
@mysql_free_result($rsbind);
}
/* ------------------------------------ */
function interesanticipado($idsolicitud) {
/*/ ----------------------------------------------------------------------------------------
Este Dato Debe actualizarse a la par de la libreria entidad.datos.php
// ---------------------------------------------------------------------------------------- */
$tasa_interes_ant = 0.5;
// ----------------------------------------------------------------------------------------
$idsolicitud = trim($idsolicitud);
$sql = "SELECT * FROM creditos_solicitud WHERE numero_solicitud=$idsolicitud";
$mysolicitud = obten_filas($sql);
$socio = $mysolicitud["numero_socio"]; // Numero de Socio
$diasaut = $mysolicitud["numero_solicitud"]; // Dias Autorizados
$intdiario = $mysolicitud["interes_diario"]; // Interes Diario
$intneto = 0;
$inttotal = 0;
/**
* Consulta todos los creditos que aplican Interes Anticipado
*/
$sql_creditos_con_ica = "SELECT interes_diario, dias_autorizados, sdo_int_ant FROM creditos_solicitud WHERE numero_socio=$socio AND tipo_autorizacion=2 AND saldo_actual>=0.99 LIMIT 0,100";
$rs_creditos_con_ica = mysql_query($sql_creditos_con_ica, cnnGeneral());
while ($rowica = mysql_fetch_array($rs_creditos_con_ica)) {
$inttotal = $inttotal + ($rowica[0] * $rowica[1] * $tasa_interes_ant);
}
//$inttotal = (($diasaut * $intdiario) * $tasa_interes_ant) - 0.99;
/**
* Obtiene el Interes Correctamente @var int $intpagado
*/
$intpagado = priv_sumarmvto("xSoc,$socio,351,30");
if (!$intpagado) {
$intpagado = 0;
}
if ($intpagado < $inttotal) { // Pagamos el remanente
$intneto = ($inttotal + 0.99) - $intpagado;
}
return $intneto;
}
function mostrarcuenta($str_pedido){
$datos = explode("|", $str_pedido);
$idcuenta = $datos[0];
$xC = new cCuentaDeCaptacion($idcuenta);
return $xC->getDescription();
}
function devolver_ia($ordename) {
// suma los creditos segun Socio, Solicitud
// ****************************************** FUNCION INVALIDADA ***************************************************
$ordenado = explode(",", $ordename);
$sqlr = "SELECT SUM(saldo_actual) AS 'sumas' FROM creditos_solicitud WHERE numero_socio=$ordenado[0] AND saldo_actual>0.99";
$creds = mydat($sqlr, "sumas");
$intdev = 0;
// Obtiene la Suma de Intereses Pagados x Ant segun socio
$intpagado = priv_sumarmvto("xSoc,$ordenado[0],351,30");
// Obtiene la Suma de Intereses Pagados x Ant segun Solicitud
$intamort = priv_sumarmvto("xSol,$ordenado[1],451,40");
if ($creds <= 0.99) {
$intdev = $intpagado - $intamort;
if ($intdev <= 0) {
$intdev = 0;
}
}
return 0;
}
function devolvergl($numero_de_credito) {
$a_devolver = 0;
if ( isset($numero_de_credito) ){
$xCred = new cCredito($numero_de_credito);
$montoPag = $xCred->getGarantiaLiquidaPagada();
$montoGar = $xCred->getGarantiaLiquida(true);
$a_devolver = ($montoPag - $montoGar);
}
return $a_devolver;
}
function listarcuentas($str_pedido) {
}
function dametasa($sOrden) {
$ordenes = explode(",", $sOrden);
$sqltasa = "SELECT tasa_efectiva FROM captacion_tasas
WHERE
modalidad_cuenta=$ordenes[1]
AND $ordenes[0] >= monto_mayor_a
AND $ordenes[0] < monto_menor_a";
return mydat($sqltasa, "tasa_efectiva");
}
function returnundat($strorden) {
//tabla|campostr|where|
// Orden de Function tabla,indice,filtro:
$data = 0;
$ixx = explode(",", $strorden);
$sqlxx = "SELECT * FROM $ixx[0] WHERE $ixx[2] LIMIT 0,1";
$rsxx = mysql_query($sqlxx, cnnGeneral());
while($rwx = mysql_fetch_array($rsxx)) {
$data = $rwx[1];
}
return $data;
@mysql_free_result($rsxx);
}
function gposolcred($strGreen) {
//Cuantos dias se le espera a una socia.- para eliminar un credito 30 DIAS
$dias_espera = 30;
$antiguedad_planeacion = restardias(date("Y-m-d"), $dias_espera);
$elcred = 0;
$SQL = "SELECT grupo_solidario FROM socios_general WHERE codigo=$strGreen";
$gpoasoc = mydat($SQL, "grupo_solidario");
$sqls = "SELECT SUM(afectacion_real) AS 'total' FROM operaciones_mvtos WHERE grupo_asociado=$gpoasoc
AND tipo_operacion=112 AND estatus_mvto=40
AND fecha_afectacion > '$antiguedad_planeacion'";
if ($gpoasoc != DEFAULT_GRUPO ) {
$elcred = mydat($sqls, "total");
}
return $elcred;
}
/** Devuelve el Monto Maximo Otorgable de Forma Automatizada.- solo Aportaciones Voluntarias */
function esautomatico($string_orden) {
$elfondo = 0;
$datos = explode("|", $string_orden);
if ($datos[1]==10){
$sql_aports = "SELECT operaciones_tipos.constituye_fondo_automatico, SUM(operaciones_mvtos.afectacion_real) AS ";
$sql_aports .= " 'total' FROM operaciones_tipos, operaciones_mvtos WHERE operaciones_mvtos.tipo_operacion=operaciones_tipos.idoperaciones_tipos ";
$sql_aports .= "AND operaciones_tipos.constituye_fondo_automatico=1 AND operaciones_mvtos.socio_afectado=$datos[0] ";
$sql_aports .= "GROUP BY operaciones_tipos.constituye_fondo_automatico LIMIT 0,100";
$totalaport = mydat($sql_aports, 'total');
$sql110 = "SELECT SUM(saldo_actual) AS 'sdoneto' FROM creditos_solicitud WHERE numero_socio=$datos[0] AND saldo_actual>=1";
$loscreds = mydat($sql110, "sdoneto");
// Resta los creditos otorgados de Aportacion
$elfondo = $totalaport - $loscreds;
if ($elfondo<0) {
$elfondo=0;
}
//$elfondo = $totalaport;
} elseif ($datos[1]==14) {
/**
* 50% maximo en Convenios de Ahorro
* @var $sql_aports
*/
$sql_aports =" SELECT SUM(saldo_cuenta) as 'sumas' FROM captacion_cuentas WHERE numero_socio=$datos[0]";
$totalaport = mydat($sql_aports, 'sumas') * 0.50;
$sql110 = "SELECT SUM(saldo_actual) AS 'sdoneto' FROM creditos_solicitud WHERE numero_socio=$datos[0] AND saldo_actual>=1 AND tipo_convenio=14";
$loscreds = mydat($sql110, "sdoneto");
// Resta los creditos otorgados de Aportacion
$elfondo = $totalaport - $loscreds;
if ($elfondo<0) {
$elfondo=0;
}
}
return $elfondo;
}
function esdegpo($idsocio) {
$sqlgpo = "SELECT COUNT(representante_numerosocio) AS 'contado'
FROM socios_grupossolidarios
WHERE representante_numerosocio=$idsocio";
$cuentame = mydat($sqlgpo, 'contado');
return $cuentame;
}
function prioricred( $idsocio ) {
$miro = 0;
if ( isset($idsocio) ){
$sqllc = "SELECT numero_solicitud FROM creditos_solicitud
WHERE
numero_socio=$idsocio
/* AND monto_autorizado>0 */
ORDER BY saldo_actual DESC,
fecha_solicitud DESC,
fecha_vencimiento DESC
LIMIT 0,1 ";
$miro = mifila($sqllc, "numero_solicitud");
//$cSoc = new cSocio($idsocio);
//$cSoc->init();
//$miro = $cSoc->getListadoDeCreditos("select", "idsolicitud", "idsolicitud");
}
return $miro;
}
function oregion($idcl) {
$myregi = 0;
$sqlregi = "SELECT region FROM socios_cajalocal WHERE idsocios_cajalocal=$idcl LIMIT 0,1";
$myregi = mydat($sqlregi, "region");
return $myregi;
}
function prioricta($idchar) {
$xT = new cTipos(0);
$datos = explode("|", $idchar);
$idsocio = $xT->cInt($datos[0]);
$tipo = $xT->cInt($datos[1]);
if ( $idsocio != 0 AND $tipo != 0 ){
$cSoc = new cSocio($idsocio);
return $cSoc->getCuentaDeCaptacionPrimaria($tipo);
}
}
function sumarparc($cadena) {
$micad = explode("|", $cadena);
$iddoc = $micad[0];
$idparc = $micad[1];
$sqlmvtos_s = "SELECT SUM(operaciones_mvtos.afectacion_real * operaciones_tipos.afectacion_en_recibo) AS 'monto' FROM operaciones_mvtos NATURAL JOIN operaciones_tipos ";
$sqlmvtos_s .= " WHERE docto_afectado=$iddoc AND operaciones_tipos.afectacion_en_recibo!=0 AND operaciones_mvtos.docto_neutralizador=1 AND operaciones_mvtos.periodo_socio=$idparc GROUP BY operaciones_mvtos.docto_afectado";
$lasum = mydat($sqlmvtos_s, "monto");
return $lasum;
}
function raindat($strorden) {
// Orden de Function tabla,indice,filtro:
$data = "000";
$ixx = explode("//", $strorden);
$sqlxx = "SELECT $ixx[1] FROM $ixx[0] WHERE $ixx[2] LIMIT 0,1";
$data = mydat($sqlxx, "$ixx[1]");
return $data;
}
function cuotasocial($id) {
$xpagar = 0;
$sqltre = "SELECT socios_general.codigo, (socios_tipoingreso.parte_social + socios_tipoingreso.parte_permanente) AS 'cuota_social'FROM socios_general,";
$sqltre .= " socios_tipoingreso WHERE socios_tipoingreso.idsocios_tipoingreso=socios_general.tipoingreso ";
$sqltre .= " AND socios_general.codigo=$id";
$micuota = mydat($sqltre, "cuota_social");
$sql = "SELECT SUM(afectacion_real) AS 'afect' FROM operaciones_mvtos WHERE tipo_operacion=701 AND socio_afectado=$id";
$cuota_pagada = mydat($sql, "afect");
$xpagar = $micuota - $cuota_pagada;
if ($xpagar<=0) {
$xpagar = 0;
}
return $xpagar;
}
function solicitudexistente($id) {
$ifsol = "SELECT numero_solicitud FROM creditos_solicitud WHERE numero_solicitud=$id LIMIT 0,1";
$is = mydat($ifsol, "numero_solicitud");
if (!$is){
$is = 0;
}
return $is;
}
function misolicitud($idsocio) {
$sql = "SELECT COUNT(numero_solicitud) AS 'id' FROM creditos_solicitud WHERE numero_socio=$idsocio";
$ids = mydat($sql, "id");
if ($ids == 0) {
$ids = $idsocio . "01";
} else {
$ids = $idsocio . "$ids";
}
return $ids;
}
function dametasa2($sOrden) {
$ordenes = explode(",", $sOrden);
// Dias es explode 2
$sqltasa = "SELECT tasa_efectiva FROM captacion_tasas
WHERE modalidad_cuenta=$ordenes[1]
AND $ordenes[0] >= monto_mayor_a AND $ordenes[0] < monto_menor_a
AND $ordenes[2]>=dias_mayor_a AND $ordenes[2]< dias_menor_a";
$iko = mydat($sqltasa, "tasa_efectiva");
return $iko;
}
function dat_convenio($str_pedimiento ="99|1") {
$info = "NO HAY INFORMACION";
$array_str = explode("|", $str_pedimiento);
$idconvenio = $array_str[0];
$id = $array_str[1];
$sql_convenio = "SELECT * FROM creditos_tipoconvenio WHERE idcreditos_tipoconvenio=$idconvenio";
$rsconv = mysql_query($sql_convenio, cnnGeneral());
while ($row = mysql_fetch_array($rsconv )){
$info = $row[$id];
}
@mysql_free_result($rsconv);
return $info;
}
?>