function setRegenerarPrepolizaContable($FechaDeRecibo = false, $NumeroDeRecibo = false) { $msg = ""; $wLim = " AND ( `operaciones_recibos`. `fecha_operacion` = '{$FechaDeRecibo}') "; $wLim = setNoMenorQueCero($NumeroDeRecibo) > 0 ? " AND ( `operaciones_recibos`. `idoperaciones_recibos` = '{$NumeroDeRecibo}') " : $wLim; $xCat = new cCatalogoOperacionesDeCaja(); $ql = new MQL(); $xLogg = new cCoreLog(); $xPol = new cPoliza(false); $msg .= "Recibo\tDocumento\tSocio\tOperacion\tMonto\tContable\r\n"; //$xLogg->add(, $xLogg->DEVELOPER); // $sql = "SELECT\r\n\t\t\t\t\t\t\t`operaciones_recibos`.*,\r\n\t\t\t\t\t\t\t`operaciones_recibostipo`.*\r\n\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t`operaciones_recibos` `operaciones_recibos`\r\n\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibostipo` `operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\tON `operaciones_recibos`.`tipo_docto` = `operaciones_recibostipo`.\r\n\t\t\t\t\t\t\t\t`idoperaciones_recibostipo`\r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t( SELECT COUNT(tipo_de_recibo) FROM contable_polizas_perfil \r\n\t\t\t\t\t\t\tWHERE tipo_de_recibo = `operaciones_recibos`.`tipo_docto` ) > 0 \r\n\t\t\t\t\t\t\t {$wLim} "; $rs = $ql->getDataRecord($sql); foreach ($rs as $rw) { $Recibo = $rw["idoperaciones_recibos"]; $TipoDeRec = $rw["tipo_docto"]; $TipoDePago = $rw["tipo_pago"]; $TotalRecibo = $rw["total_operacion"]; $socio_de_rec = $rw["numero_socio"]; $docto_de_rec = $rw["docto_afectado"]; $usrRec = $rw["idusuario"]; $xRec = new cReciboDeOperacion(false, false, $Recibo); $xRec->init($rw); $xRec->getDatosDeCobro(); $OBanco = $xRec->getOBanco(); $banco = 0; if ($OBanco != null) { $banco = $OBanco->getNumeroDeCuenta(); } $TotalSuma = 0; $DatosAfect = array(); $sqlAfecta = "SELECT * FROM\t`contable_polizas_perfil`\t\tWHERE (`contable_polizas_perfil`.`tipo_de_recibo` = {$TipoDeRec})"; $rsAfecta = $ql->getDataRecord($sqlAfecta); foreach ($rsAfecta as $rwAfecta) { $DatosAfect[$rwAfecta["tipo_de_operacion"]] = $rwAfecta["operacion"]; //setLog($rwAfecta["tipo_de_operacion"] . " ----- " . $rwAfecta["operacion"]); } $xLogg->add("OK\tRecibo {$Recibo} Tipo {$TipoDeRec} con Pago {$TipoDePago} \r\n", $xLogg->DEVELOPER); //Eliminar Prepoliza de ese dia. $sqlDR = " DELETE FROM `contable_polizas_proforma` WHERE numero_de_recibo = {$Recibo} "; my_query($sqlDR); $sqlM = "SELECT\r\n\t\t\t\t\t\t\t`operaciones_mvtos`.*,\r\n\t\t\t\t\t\t\t`operaciones_mvtos`.`recibo_afectado` \r\n\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos` \r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`recibo_afectado` = {$Recibo}) "; //setLog($sqlM); //======================= $rsM = $ql->getDataRecord($sqlM); foreach ($rsM as $rwM) { // $TipoOperacion = $rwM["tipo_operacion"]; $Monto = $rwM["afectacion_real"]; $socio = $rwM["socio_afectado"]; $docto = $rwM["docto_afectado"]; $usr = $rwM["idusuario"]; //setLog($sqlAfecta); $xLogg->add("OK\tOperacion {$TipoOperacion} con Monto {$Monto} ({$usr})\r\n", $xLogg->DEVELOPER); $AfectaCont = isset($DatosAfect[$TipoOperacion]) ? $DatosAfect[$TipoOperacion] : 1; $TotalSuma += $Monto; //( ( $Monto * $AfectaCont) * -1); $xPol->addProforma($Recibo, $TipoOperacion, $Monto, $socio, $docto, $AfectaCont, $usr, $banco); $msg .= "{$Recibo}\t{$socio}\t{$docto}\t{$TipoOperacion}\t{$Monto}\t{$AfectaCont}\r\n"; } //por el pago $OperacionPago = $xCat->getTipoOperacionByTipoPago($TipoDePago); $AfectaCont = isset($DatosAfect[$OperacionPago]) ? $DatosAfect[$OperacionPago] : 1; //Agregar un movimiento por el Tipo de Pago.. Cambiado monto por Monto //setLog($DatosAfect[$OperacionPago]); $xPol->addProforma($Recibo, $OperacionPago, $TotalSuma, $socio_de_rec, $docto_de_rec, $AfectaCont, $usrRec, $banco); $msg .= "{$Recibo}\t{$socio_de_rec}\t{$docto_de_rec}\t{$OperacionPago}\t{$TotalSuma}\t{$AfectaCont}\r\n"; //TODO: Ampliar funcionalidad de poliza, agregar suma de cargos, suma de abonos y si debe se cargo o abono } $xLogg->add($msg, $xLogg->DEVELOPER); $this->mMessages .= $xLogg->getMessages(); return $xLogg->getMessages(); }
$eventOnLoad = "window.print();"; } } echo $xHP->setBodyinit($eventOnLoad); echo $scripts; //pegar script como variable, eventonload //<---------------------------------------------------------- $variable_numero_de_recibo = $recibo; $variable_monto_del_recibo = number_format($totaloperacion, 2, '.', ','); $variable_monto_del_recibo_en_letras = convertirletras($totaloperacion); $variable_fecha_del_recibo = ""; $variable_tipo_de_pago = ""; $xCajero = new cSystemUser($DRec["idusuario"]); $variable_nombre_del_cajero = $xCajero->getNombreCompleto(); $variable_observacion_del_recibo = $DRec["observacion_recibo"]; $variable_datos_de_pago = $xRec->getDatosDeCobro(); $xSuc = new cSucursal($DRec["sucursal"]); $xSuc->init(); $DSuc = $xSuc->getDatosInArray(); $variable_lugar = $DSuc["municipio"] . ", " . $DSuc["estado"]; $variable_marca_de_tiempo = date("Ymd:His"); $tipoDocto = ""; $estatDocto = ""; $letras = ""; /* -----------------Verifica si es solicitud, si es imprime el saldo actual */ if ($origen == TESORERIA_RECIBOS_ORIGEN_CRED or $origen == TESORERIA_RECIBOS_ORIGEN_MIXTO) { $DD = $xRec->getInfoDoctoInArray(); if ($DD != false and is_array($DD)) { $sdoctacred = $DD["saldo_actual"]; $sdov = $DD["saldo_vencido"]; $nota = "Capital Insoluto: \$ " . getFMoney($sdoctacred) . "|";
function setRecibo($recibo) { $xRec = new cReciboDeOperacion(false, false, $recibo); if ($xRec->init() == true) { $this->setPersona($xRec->getCodigoDeSocio()); $OTipo = $xRec->getOTipoRecibo(); $origen = $OTipo->getOrigen(); $afectEfvo = $OTipo->getAfectacionEnEfvo(); $xCant = new cCantidad($xRec->getTotal()); $QL = new MQL(); $xF = new cFecha(); $describe = ""; $xCta = null; $xCred = null; //Bases de Operaciones de Captacion en Inversiones $xB3100 = new cBases(3100); $DB3100 = $xB3100->getMembers_InArray(); $xB3200 = new cBases(3200); $DB3200 = $xB3200->getMembers_InArray(); switch ($origen) { case RECIBOS_ORIGEN_MIXTO: $this->setCredito($xRec->getCodigoDeDocumento()); break; case RECIBOS_ORIGEN_COLOCACION: $this->setCredito($xRec->getCodigoDeDocumento()); break; case RECIBOS_ORIGEN_CAPTACION: $this->setCuentaDeCaptacion($xRec->getCodigoDeDocumento()); break; } $this->mArr["variable_tipo_de_recibo"] = $OTipo->getNombre(); $this->mArr["variable_datos_del_pago"] = $xRec->getDatosDeCobro(); $this->mArr["variable_numero_de_recibo"] = $recibo; $this->mArr["variable_docto_fecha_larga_actual"] = $xF->getFechaLarga($xRec->getFechaDeRecibo()); $this->mArr["variable_observacion_del_recibo"] = $xRec->getObservaciones(); $this->mArr["variable_monto_del_recibo_en_letras"] = $xCant->letras(); $this->mArr["variable_monto_del_recibo"] = $xCant->moneda(); ///$this->mArr["variable_nombre_del_cajero"] = $xRec->getOUsuario()->getNombreCompleto(); $this->mEsRecibo = true; $this->setUsuario($xRec->getCodigoDeUsuario()); //obtener operaciones $this->mRecibo = $recibo; $sqlmvto = "SELECT\n\t\t\t`operaciones_mvtos`.`socio_afectado` AS `numero_de_socio`,\n\t\t\t`operaciones_mvtos`.`docto_afectado` AS `numero_de_documento`,\n\t\t\t`operaciones_mvtos`.`recibo_afectado` AS `numero_de_recibo`,\n\t\t\t`operaciones_mvtos`.`idoperaciones_mvtos` AS `numero_del_movimiento`,\n\t\t\t`operaciones_tipos`.`descripcion_operacion` AS `concepto_del_movimiento`,\n\t\t\t`operaciones_mvtos`.`afectacion_real` AS `monto_del_movimiento`,\n\t\t\t`operaciones_mvtos`.`valor_afectacion` AS `naturaleza_del_movimiento`,\n\t\t\t`operaciones_tipos`.`nombre_corto` \t\t\tAS `concepto_nombre_corto`,\n\t\t\t`operaciones_mvtos`.`periodo_socio` \tAS `parcialidad`,\n\t\t\t`operaciones_mvtos`.`detalles` \t\t\t\tAS `observacion_del_mvto`,\n\t\t\t`operaciones_mvtos`.`tipo_operacion`\t\tAS `tipo_de_movimiento`\n\t\t\tFROM\n\t\t\t`operaciones_mvtos` `operaciones_mvtos`\tINNER JOIN `operaciones_tipos` `operaciones_tipos` ON `operaciones_mvtos`.`tipo_operacion` = `operaciones_tipos`.`idoperaciones_tipos`\n\t\t\tWHERE (`operaciones_mvtos`.`recibo_afectado` = {$recibo} ) ORDER BY `operaciones_mvtos`.`afectacion_real` DESC"; $rs = $QL->getDataRecord($sqlmvto); //destino_del_movimiento foreach ($rs as $row) { $rwx = $row; $tipo = $row["tipo_de_movimiento"]; $docto = $row["numero_de_documento"]; $rwx["monto_del_movimiento"] = getFMoney($row["monto_del_movimiento"] * $row["naturaleza_del_movimiento"] * $afectEfvo); $rwx["destino_del_movimiento"] = " " . $row["numero_de_documento"]; if (in_array($tipo, $DB3100) == true or in_array($tipo, $DB3200)) { if ($origen == RECIBOS_ORIGEN_MIXTO) { //TODO: Cargar datos de la cuenta de captacion y mostrar sus caracteristicas } else { //if($xCta == null){ $xCta = new cCuentaDeCaptacion($docto); $xCta->init(); } $rwx["destino_del_movimiento"] .= "|" . $this->mArr["variable_tipo_de_cuenta"]; } } else { $rwx["destino_del_movimiento"] .= "|" . substr($this->mArr["variable_tipo_de_credito"], 0, 5); $rwx["destino_del_movimiento"] .= "|" . substr($this->mArr["variable_estado_de_credito"], 0, 3); $rwx["destino_del_movimiento"] .= "|" . $row["parcialidad"] . "/" . $this->mArr["variable_credito_numero_de_pagos"]; } $this->mDataMvto[] = $rwx; } } }