Files
ventas_php/ajax/cuentas-pagar-saldos.php

289 lines
7.4 KiB
PHP
Executable File

<?php
include_once('../init.php');
include_once('../config.php');
include_once(DOC_ROOT.'/libraries.php');
switch($_POST['type'])
{
case 'editSaldoCtaPagar':
$proveedor->setProveedorId($_POST['id']);
$infP = $proveedor->Info();
$infP = $util->EncodeRow($infP);
$smarty->assign('post', $infP);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/boxes/editar-proveedor-ctapagar-popup.tpl');
break;
case 'saveSaldoCtaPagar':
$proveedor->setProveedorId($_POST['proveedorId']);
$proveedor->setSaldo($_POST['saldo']);
if(!$proveedor->UpdateSaldoCtaPagar())
{
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
}
else
{
echo 'ok[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
echo '[#]';
$proveedores = $proveedor->Enumerate();
$proveedores['items'] = $util->EncodeResult($proveedores['items']);
$smarty->assign('proveedores', $proveedores);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/lists/cuentas-pagar-saldos.tpl');
}
break;
//PAGOS
case 'addPago':
$proveedorId = $_POST['proveedorId'];
$proveedor->setProveedorId($proveedorId);
$infP = $proveedor->Info();
//Obtenemos los abonos realizados
$cuentaPagar->setProveedorId($proveedorId);
$abonos = $cuentaPagar->GetTotalPagosProv();
$info['saldo'] = $infP['saldoCtaPagar'] - $abonos;
$metodosPago = $metodoPago->EnumerateAll();
$metodosPago = $util->EncodeResult($metodosPago);
$info['proveedorId'] = $proveedorId;
$smarty->assign('info', $info);
$smarty->assign('metodosPago', $metodosPago);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/boxes/agregar-pago-prov-popup.tpl');
break;
case 'saveAddPago':
$proveedorId = $_POST['proveedorId'];
$metodoPagoId = $_POST['metodoPagoId'];
$cantidad = $_POST['cantidad'];
$noCheque = $_POST['noCheque'];
$fecha = ($_POST['fecha'] != '') ? date('Y-m-d',strtotime($_POST['fecha'])) : '';
$proveedor->setProveedorId($proveedorId);
$infP = $proveedor->Info();
$cuentaPagar->setProveedorId($proveedorId);
$cuentaPagar->setMetodoPagoId($metodoPagoId);
$cuentaPagar->setCantidad($cantidad);
$cuentaPagar->setFecha($fecha);
$cuentaPagar->setNoCheque($noCheque);
$cuentaPagar->setNoFactura($_POST['noFactura']);
//Obtenemos los abonos realizados
$abonos = $cuentaPagar->GetTotalPagosProv();
$saldo = $infP['saldoCtaPagar'] - $abonos;
$abonos = number_format($abonos,2,'.','');
$saldo = number_format($saldo,2,'.','');
if($cantidad > $saldo){
$util->setError(20075, 'error', '', '');
$util->PrintErrors();
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
exit;
}
if(!$cuentaPagar->SavePagoProv())
{
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
}
else
{
//Checamos si ya esta pagado totalmente
$abonos = $cuentaPagar->GetTotalPagosProv();
$saldo = $infP['saldoCtaPagar'] - $abonos;
$pagado = ($saldo == 0) ? 1:0;
//Actualizamos el status a Pagado
if($pagado){
$proveedor->setProveedorId($proveedorId);
$proveedor->setPagado(1);
$proveedor->UpdatePagado();
}
echo 'ok[#]';
echo $proveedorId;
echo '[#]';
echo '$'.number_format($abonos,2);
echo '[#]';
echo '$'.number_format($saldo,2);
echo '[#]';
echo $pagado;
echo '[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
echo '[#]';
$cuentaPagar->setProveedorId($proveedorId);
$resPagos = $cuentaPagar->EnumPagosProv();
$pagos = array();
foreach($resPagos as $val){
$metodoPago->setMetodoPagoId($val['metodoPagoId']);
$val['metodoPago'] = utf8_encode($metodoPago->GetNameById());
$val['fecha'] = date('d-m-Y',strtotime($val['fecha']));
$pagos[] = $val;
}
$item['pagos'] = $pagos;
$smarty->assign('item', $item);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/lists/cuentas-pagos-prov.tpl');
}
break;
case 'deletePago':
$provPagoId = $_POST['id'];
$cuentaPagar->setProvPagoId($provPagoId);
$infP = $cuentaPagar->InfoPagoProv();
$proveedorId = $infP['proveedorId'];
if(!$cuentaPagar->DeletePagoProv())
{
echo 'fail[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
}
else
{
$proveedor->setProveedorId($proveedorId);
$info = $proveedor->Info();
//Quitamos el status de Pagado
$proveedor->setPagado(0);
$proveedor->UpdatePagado();
//Obtenemos los abonos realizados
$cuentaPagar->setProveedorId($proveedorId);
$abonos = $cuentaPagar->GetTotalPagosProv();
$saldo = $info['saldoCtaPagar'] - $abonos;
echo 'ok[#]';
echo $proveedorId;
echo '[#]';
echo '$'.number_format($abonos,2);
echo '[#]';
echo '$'.number_format($saldo,2);
echo '[#]';
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
echo '[#]';
$cuentaPagar->setProveedorId($proveedorId);
$resPagos = $cuentaPagar->EnumPagosProv();
$pagos = array();
foreach($resPagos as $val){
$metodoPago->setMetodoPagoId($val['metodoPagoId']);
$val['metodoPago'] = utf8_encode($metodoPago->GetNameById());
$val['fecha'] = date('d-m-Y',strtotime($val['fecha']));
$pagos[] = $val;
}
$item['pagos'] = $pagos;
$smarty->assign('item', $item);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/lists/cuentas-pagos-prov.tpl');
}
break;
//OTHERS
case 'search':
$proveedor->setProveedorId($_POST['proveedorId2']);
$result = $proveedor->SearchSaldos($_POST['saldoIni2']);
$resProv = array();
if(count($result))
$resProv = $util->EncodeResult($result);
$total = 0;
$totalAbonos = 0;
$totalSaldoActual = 0;
$items = array();
foreach($resProv as $res){
//Obtenemos los abonos realizados
$cuentaPagar->setProveedorId($res['proveedorId']);
$res['abonos'] = $cuentaPagar->GetTotalPagosProv();
$res['saldoActual'] = $res['saldoCtaPagar'] - $res['abonos'];
$cuentaPagar->setProveedorId($res['proveedorId']);
$resPagos = $cuentaPagar->EnumPagosProv();
$pagos = array();
foreach($resPagos as $val){
$metodoPago->setMetodoPagoId($val['metodoPagoId']);
$val['metodoPago'] = $metodoPago->GetNameById();
$val['fecha'] = date('d-m-Y',strtotime($val['fecha']));
$pagos[] = $val;
}
$res['pagos'] = $pagos;
$total += $res['saldoCtaPagar'];
$totalAbonos += $res['abonos'];
$totalSaldoActual += $res['saldoActual'];
$items[] = $res;
}
$proveedores['items'] = $items;
$smarty->assign('tipo', 'search');
$smarty->assign('total', $total);
$smarty->assign('totalAbonos', $totalAbonos);
$smarty->assign('totalSaldoActual', $totalSaldoActual);
$smarty->assign('proveedores', $proveedores);
$smarty->assign('DOC_ROOT', DOC_ROOT);
$smarty->display(DOC_ROOT.'/templates/lists/cuentas-pagar-saldos.tpl');
break;
}
?>