function setGenerarIDE_mensual($recibo, $fecha_de_corte = false) { if ($fecha_de_corte == false) { $fecha_de_corte = fechasys(); } $dia_inicial = date("Y-m", strtotime($fecha_de_corte)) . "-01"; $dia_final = date("Y-m-t", strtotime($fecha_de_corte)); $BySucursal = ""; //" AND (`operaciones_recibos`.`sucursal` = '" . getSucursal() . "') "; $msg = "=============\t\tGENERANDO EL IMPUESTO SOBRE DEPOSITOS EN EFECTIVO\r\n"; //general el Archivo de IDE pagado //Impuesto sobre Depositos en Efectivo $sql = "SELECT\n\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\n\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago`,\n\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS 'monto'\n\t\t\t\t\tFROM\n\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\t\t\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos`\n\t\t\t\t\t\t\tON `operaciones_mvtos`.`recibo_afectado` = `operaciones_recibos`.\n\t\t\t\t\t\t\t`idoperaciones_recibos`\n\t\t\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` =\n\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`miembro`\n\t\t\t\tWHERE\n\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` >='{$dia_inicial}')\n\t\t\t\t\tAND\n\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` <='{$dia_final}')\n\t\t\t\t\tAND\n\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2600)\n\t\t\t\t\tAND\n\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = 'efectivo' )\n\t\t\t\t\t{$BySucursal}\n\t\t\t\t\tGROUP BY\n\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\n\t\t\t\t\t`operaciones_recibos`.`tipo_pago`\n\t\t\t\tHAVING\n\t\t\t\t\tmonto > " . EXCENCION_IDE; $cRec = new cReciboDeOperacion(12, false, $recibo); $cRec->setNumeroDeRecibo($recibo, true); $rsIDE = mysql_query($sql, cnnGeneral()); while ($rwIDE = mysql_fetch_array($rsIDE)) { $socio = $rwIDE["socio_afectado"]; $monto = $rwIDE["monto"]; if ($monto > EXCENCION_IDE) { //TODO: Analize this line $SqlMax = "\n\t\t\t\t\t\t\t\tSELECT\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentas`.*,\n\t\t\t\t\t\t\t\t\t\t`captacion_cuentastipos`.`descripcion_cuentastipos` AS `tipo`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`descripcion_subproductos` AS `subproducto`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`algoritmo_de_premio`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`algoritmo_de_tasa_incremental`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`metodo_de_abono_de_interes`,\n\t\t\t\t\t\t\t\t\t\t`captacion_subproductos`.`destino_del_interes`\n\t\t\t\t\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t\t\t\t\t`captacion_cuentas` `captacion_cuentas`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `captacion_cuentastipos` `captacion_cuentastipos`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tON `captacion_cuentas`.`tipo_cuenta` = `captacion_cuentastipos`.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`idcaptacion_cuentastipos`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN `captacion_subproductos` `captacion_subproductos`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tON `captacion_cuentas`.`tipo_subproducto` = `captacion_subproductos`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.`idcaptacion_subproductos`\n\t\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\tnumero_socio={$socio}\n\t\t\t\t\t\t\t\t\t\t\tAND `captacion_cuentas`.tipo_cuenta = 10\n\t\t\t\t\t\t\t\t\t\tORDER BY saldo_cuenta DESC\n\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT 0,1"; $DCtaMax = obten_filas($SqlMax); $CuentaMax = $DCtaMax["numero_cuenta"]; $saldo = $DCtaMax["saldo_cuenta"]; if (isset($CuentaMax) and $saldo > TOLERANCIA_SALDOS) { $cCta = new cCuentaALaVista($CuentaMax); $cCta->initCuentaByCodigo($DCtaMax); $ide = $cCta->getMontoIDE($fecha_de_corte); if ($ide > 0) { //Si el Saldo de la Cuenta es Mayor al IDE if ($saldo >= $ide) { $ReciboIDE = $cCta->setRetenerIDE($fecha_de_corte, $recibo, $ide); } else { //Si no el IDE es igual al Saldo $ide_por_pagar = ($ide - $saldo) * -1; $ide = $saldo; $ReciboIDE = $cCta->setRetenerIDE($fecha_de_corte, $recibo, $ide); //OK: agregar movimiento ide por pagar if ($ide_por_pagar > 0) { $cRec->setNuevoMvto($fecha_de_corte, $ide_por_pagar, 236, 1, "IDE no Retenido del {$dia_inicial} al {$dia_final}", 1, TM_CARGO, $socio, $CuentaMax); } } $msg .= $cCta->getMessages("txt"); } else { $msg .= "{$socio}\t{$CuentaMax}\tNO_PIDE\tNo retuvo IDE porque el Monto a Retener es {$ide}\r\n"; } } else { //OK: agregar movimiento ide por pagar $msg .= "{$socio}\t{$CuentaMax}\tNO_CTA\tNo retuvo IDE por que no existe una cuenta valida({$saldo}) para descontar, Base de {$monto}\r\n"; } } else { $msg .= "{$socio}\t{$CuentaMax}\tNO_IDE\tNo retuvo IDE por que a Base de Calculo es {$monto}\r\n"; } } return $msg; }
function setRevertir() { $sucess = true; $arrValuesRev = array("-1" => "1", "1" => "-1", "0" => "0"); if ($this->mInit == false) { $this->init(); } $rw = $this->mArrayData; $codigo = $rw["idoperaciones_mvtos"]; $docto = $rw["docto_afectado"]; $socio = $rw["socio_afectado"]; $preservar_mvto = $rw["preservar_movimiento"]; $CodeRevertir = $rw["formula_de_cancelacion"]; $monto = $rw["afectacion_real"]; $afectacion = $rw["valor_afectacion"]; $recibo = $rw["recibo_afectado"]; $colocacion = array(); $captacion = array(); //selecciona un comportamiento segun el Origen del Recibo switch ($this->mAplicadoA) { case "colocacion": //cargar datos del credito $Credito = new cCredito($docto, $socio); $Credito->initCredito(); $colocacion = $Credito->getDatosDeCredito(); break; case "captacion": //cargar datos de la cuenta $Cuenta = new cCuentaALaVista($docto); $Cuenta->initCuentaByCodigo(); $captacion = $Cuenta->getDatosInArray(); break; case "mixto": //cargar datos de la cuenta y del credito $Credito = new cCredito($docto, $socio); $Credito->initCredito(); $colocacion = $Credito->getDatosDeCredito(); $Cuenta = new cCuentaALaVista($docto); $Cuenta->initCuentaByCodigo(); $captacion = $Cuenta->getDatosInArray(); $this->mMessages .= "WARN\tEL Recibo es Mixto, se carga tanto Captacion como Colocacion\r\n"; break; default: $this->mMessages .= "ERROR\tEL Recibo es " . $this->mAplicadoA . ", NO SE CARGA CODIGO\r\n"; break; } eval($CodeRevertir); if ($preservar_mvto == '1') { $SQL_DM = "UPDATE operaciones_mvtos\n\t\t\t\t\t\tSET afectacion_estadistica=afectacion_real,\n\t\t\t\t\t\tafectacion_real = 0, afectacion_contable=0,\n\t\t\t\t\t\tafectacion_cobranza=0, valor_afectacion=0,\n\t\t\t\t\t\testatus_mvto = 99,\n\t\t\t\t\t\tdocto_neutralizador = " . DEFAULT_RECIBO . ",\n\t\t\t\t\t\trecibo_afectado\t= " . DEFAULT_RECIBO . "\n\t\t\t\t\t\tWHERE idoperaciones_mvtos = {$codigo}\n\t\t\t\t\t\t"; $this->mMessages .= "Actualizando el Movimiento {$codigo}\r\n"; } else { $SQL_DM = "DELETE FROM operaciones_mvtos\n\t\t\t\t\t\tWHERE idoperaciones_mvtos = {$codigo}"; $this->mMessages .= "Eliminado el Movimiento {$codigo}\r\n"; } my_query($SQL_DM); }
//imprimir socio + monto de los planeado + monto de la garantia $c = ""; if ($rw["socio_afectado"] == $codigo_rep) { $c = " class='aviso' "; } $td .= "<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td {$c}>" . $rw["socio_afectado"] . "</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td>" . $NSocio . "</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class='mny'>" . $rw["afectacion_real"] . "</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class='mny'>" . $monto_gtia_individual . "</td>\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>"; if ($solo_simular == 0) { $cuenta = "50" . $rw["socio_afectado"] . "01"; $xCN = new cCuentaALaVista($cuenta); //Contar las cuentas si existen $ctas = $xCN->setContarCuentaBySocio($rw["socio_afectado"], 50); if ($ctas == 0) { //Crear una Cuenta Nueva $xCN->setNuevaCuenta(3, 50, $rw["socio_afectado"], "ALTA_AUTOMATICA_POR_{$iduser}", $credito, "", "", $grupo); } else { $xCN->initCuentaByCodigo(); } //Agregar el Movimiento $xCN->setSocioTitular($rw["socio_afectado"]); $xCN->setDeposito($monto_gtia_individual, "NA", "ninguno", "NA", "ALTA_AUTOMATICA_POR_{$iduser}", $grupo); $messages .= $xCN->getMessages() . "<br />"; } } //Imprimir TABLA echo "<table width='100%' align='center'>\n\t\t\t\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>Numero de <br />Socio</th>\n\t\t\t\t\t\t\t\t\t\t\t<th>Nombre del <br />Socio</th>\n\t\t\t\t\t\t\t\t\t\t\t<th>Monto Prestado</th>\n\t\t\t\t\t\t\t\t\t\t\t<th>% de garantia Liquida</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t{$td}\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t\t\t\t</table>\t"; if ($sumPlan != $autorizado) { echo "<p class='warn'>El Monto del Credito ({$autorizado}) No coincide con la Division de Montos ({$sumPlan})<br />\n\t\t\t\t\t\t\t\t\t\tSegun recibo {$recibo}</p>"; } else { } //end if suma plan }