setPedidoId($pedidoId); $cuentasPago = $cuentaPagar->EnumerateById(); $proveedor->setProveedorId($proveedorId); $descuentos = $proveedor->GetDescuentos(); $nombreProveedor = $proveedor->GetNameById(); $totalPublicidad = ($cuentasPago['total']*$descuentos['publicidad'])/100; $totalFlete = ($cuentasPago['total']*$descuentos['flete'])/100; $totalDesarrollo = ($cuentasPago['total']*$descuentos['desarrollo'])/100; $totalEspecial = ($cuentasPago['total']*$descuentos['especial'])/100; //$totalDescuentos = $descuentos['publicidad'] + $descuentos['flete'] + $descuentos['desarrollo'] + $descuentos['especial']; $totalDescuentos = $totalPublicidad+$totalDesarrollo+$totalFlete+$totalEspecial; $smarty->assign('totalPublicidad', $totalPublicidad); $smarty->assign('totalFlete', $totalFlete); $smarty->assign('totalDesarrollo', $totalDesarrollo); $smarty->assign('totalEspecial', $totalEspecial); $smarty->assign('totalDescuentos', $totalDescuentos); $smarty->assign('descuentos', $descuentos); $smarty->assign('nombreProveedor', $nombreProveedor); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/boxes/ver-descuentos-popup.tpl'); break; //PAGOS case 'addPago': $pedidoId = $_POST['pedidoId']; $pedido->setPedidoId($pedidoId); $infP = $pedido->Info(); if($infP['total2'] > 0) $infP['total'] = $infP['total2']; $info['folioProv'] = $infP['folioProv']; $bonificacion->setPedidoId($pedidoId); $bonificaciones = $bonificacion->getBonificaciones(); $devoluciones = $bonificacion->getDevoluciones(); $totalDesc = $infP['totalPub'] + $infP['totalDes'] + $infP['totalFlete'] + $infP['totalEsp']; $totalDesctos = number_format($totalDesc,2,'.',''); //Obtenemos los abonos realizados $cuentaPagar->setPedidoId($pedidoId); $abonos = $cuentaPagar->GetTotalPagos(); $totalNotas = $cuentaPagar->GetTotalNotas(); $info['saldo'] = $infP['total'] - $abonos - $bonificaciones - $devoluciones - $totalDesctos - $totalNotas; $metodosPago = $metodoPago->EnumerateAll(); $metodosPago = $util->EncodeResult($metodosPago); $ctasBancarias = $cuentaBancaria->EnumerateAll(); $ctasBancarias = $util->EncodeResult($ctasBancarias); $info['noPedido'] = $infP['noPedido']; $info['pedidoId'] = $pedidoId; $smarty->assign('info', $info); $smarty->assign('metodosPago', $metodosPago); $smarty->assign('ctasBancarias', $ctasBancarias); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/boxes/agregar-pago-popup.tpl'); break; case 'saveAddPago': $pedidoId = $_POST['pedidoId']; $metodoPagoId = $_POST['metodoPagoId']; $cuentaBancariaId = $_POST['cuentaBancariaId']; $cantidad = $_POST['cantidad']; $noCheque = $_POST['noCheque']; $fecha = ($_POST['fecha'] != '') ? date('Y-m-d',strtotime($_POST['fecha'])) : ''; $pedido->setPedidoId($pedidoId); $info = $pedido->Info(); if($info['total2'] > 0) $info['total'] = $info['total2']; $cuentaPagar->setPedidoId($pedidoId); $cuentaPagar->setMetodoPagoId($metodoPagoId); $cuentaPagar->setProveedorId($info['proveedorId']); $cuentaPagar->setCantidad($cantidad); $cuentaPagar->setFecha($fecha); $cuentaPagar->setNoCheque($noCheque); $bonificacion->setPedidoId($pedidoId); $bonificaciones = $bonificacion->getBonificaciones(); $devoluciones = $bonificacion->getDevoluciones(); $totalDesc = $info['totalPub'] + $info['totalDes'] + $info['totalFlete'] + $info['totalEsp']; $totalDesctos = number_format($totalDesc,2,'.',''); //Obtenemos los abonos realizados $abonos = $cuentaPagar->GetTotalPagos(); $totalNotas = $cuentaPagar->GetTotalNotas(); $saldo = $info['total'] - $abonos - $bonificaciones - $devoluciones - $totalDesctos - $totalNotas; $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->SavePago()) { echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); } else { //Checamos si ya esta pagado totalmente $abonos = $cuentaPagar->GetTotalPagos(); $saldo = $info['total'] - $abonos - $bonificaciones - $devoluciones - $totalDesctos - $totalNotas; $saldo = number_format($saldo,2,'.',''); $pagado = ($saldo == 0) ? 1 : 0; //Actualizamos el status a Pagado if($pagado){ $pedido->setPedidoId($pedidoId); $pedido->setPagado(1); $pedido->UpdatePagado(); } echo 'ok[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); } break; case 'deletePago': $pedidoPagoId = $_POST['id']; $cuentaPagar->setPedidoPagoId($pedidoPagoId); $infP = $cuentaPagar->InfoPago(); $pedidoId = $infP['pedidoId']; if(!$cuentaPagar->DeletePago()) { echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); } else { $pedido->setPedidoId($pedidoId); $info = $pedido->Info(); //Quitamos el status de Pagado $pedido->setPagado(0); $pedido->UpdatePagado(); echo 'ok[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); } break; //NOTAS CREDITOS case 'addNota': $pedidoId = $_POST['pedidoId']; $pedido->setPedidoId($pedidoId); $infP = $pedido->Info(); if($infP['total2'] > 0) $infP['total'] = $infP['total2']; $bonificacion->setPedidoId($pedidoId); $bonificaciones = $bonificacion->getBonificaciones(); $devoluciones = $bonificacion->getDevoluciones(); $totalDesc = $infP['totalPub'] + $infP['totalDes'] + $infP['totalFlete'] + $infP['totalEsp']; $totalDesctos = number_format($totalDesc,2,'.',''); //Obtenemos los abonos realizados $cuentaPagar->setPedidoId($pedidoId); $abonos = $cuentaPagar->GetTotalPagos(); $totalNotas = $cuentaPagar->GetTotalNotas(); $info['saldo'] = $infP['total'] - $abonos - $bonificaciones - $devoluciones - $totalDesctos - $totalNotas; $info['noPedido'] = $infP['noPedido']; $info['pedidoId'] = $pedidoId; $smarty->assign('info', $info); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/boxes/agregar-nota-popup.tpl'); break; case 'saveAddNota': $pedidoId = $_POST['pedidoId']; $cantidad = $_POST['cantidad']; $noNota = $_POST['noNota']; $fecha = ($_POST['fecha'] != '') ? date('Y-m-d',strtotime($_POST['fecha'])) : ''; $pedido->setPedidoId($pedidoId); $info = $pedido->Info(); if($info['total2'] > 0) $info['total'] = $info['total2']; $cuentaPagar->setPedidoId($pedidoId); $cuentaPagar->setProveedorId($info['proveedorId']); $cuentaPagar->setNoNota($noNota); $cuentaPagar->setCantidad($cantidad); $cuentaPagar->setFecha($fecha); $bonificacion->setPedidoId($pedidoId); $bonificaciones = $bonificacion->getBonificaciones(); $devoluciones = $bonificacion->getDevoluciones(); $totalDesc = $info['totalPub'] + $info['totalDes'] + $info['totalFlete'] + $info['totalEsp']; $totalDesctos = number_format($totalDesc,2,'.',''); //Obtenemos los abonos realizados $abonos = $cuentaPagar->GetTotalPagos(); $totalNotas = $cuentaPagar->GetTotalNotas(); $saldo = $info['total'] - $abonos - $bonificaciones - $devoluciones - $totalDesctos - $totalNotas; $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->SaveNota()) { echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); } else { $totalNotas = $cuentaPagar->GetTotalNotas(); //Checamos si ya esta pagado totalmente $saldo = $info['total'] - $abonos - $bonificaciones - $devoluciones - $totalDesctos - $totalNotas; $saldo = number_format($saldo,2,'.',''); $pagado = ($saldo == 0) ? 1 : 0; //Actualizamos el status a Pagado if($pagado){ $pedido->setPedidoId($pedidoId); $pedido->setPagado(1); $pedido->UpdatePagado(); } echo 'ok[#]'; echo $pedidoId; echo '[#]'; echo '$'.number_format($totalNotas,2); echo '[#]'; echo '$'.number_format($saldo,2); echo '[#]'; echo $pagado; echo '[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); echo '[#]'; $cuentaPagar->setPedidoId($pedidoId); $resNotas = $cuentaPagar->EnumNotas(); $notas = array(); foreach($resNotas as $val){ $val['fecha'] = date('d-m-Y',strtotime($val['fecha'])); $notas[] = $val; } $item['notas'] = $notas; $smarty->assign('item', $item); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/cuentas-notas.tpl'); } break; case 'deleteNota': $pedidoNotaId = $_POST['id']; $cuentaPagar->setPedidoNotaId($pedidoNotaId); $infN = $cuentaPagar->InfoNota(); $pedidoId = $infN['pedidoId']; if(!$cuentaPagar->DeleteNota()) { echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); } else { $pedido->setPedidoId($pedidoId); $info = $pedido->Info(); if($info['total2'] > 0) $info['total'] = $info['total2']; //Quitamos el status de Pagado $pedido->setPagado(0); $pedido->UpdatePagado(); //Obtenemos las notas realizadas $cuentaPagar->setPedidoId($pedidoId); $totalNotas = $cuentaPagar->GetTotalNotas(); //Obtenemos los abonos realizados $cuentaPagar->setPedidoId($pedidoId); $abonos = $cuentaPagar->GetTotalPagos(); $totalNotas = $cuentaPagar->GetTotalNotas(); $bonificacion->setPedidoId($pedidoId); $bonificaciones = $bonificacion->getBonificaciones(); $devoluciones = $bonificacion->getDevoluciones(); $totalDesc = $info['totalPub'] + $info['totalDes'] + $info['totalFlete'] + $info['totalEsp']; $totalDesctos = number_format($totalDesc,2,'.',''); //$res['saldo'] = $res['total'] - $res['abonos'] - $res['bonificaciones'] - $res['devoluciones']; $saldo = $info['total'] - $abonos - $bonificaciones - $devoluciones - $totalDesctos - $totalNotas; echo 'ok[#]'; echo $pedidoId; echo '[#]'; echo '$'.number_format($totalNotas,2); echo '[#]'; echo '$'.number_format($saldo,2); echo '[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); echo '[#]'; $cuentaPagar->setPedidoId($pedidoId); $resNotas = $cuentaPagar->EnumNotas(); $notas = array(); foreach($resNotas as $val){ $val['fecha'] = date('d-m-Y',strtotime($val['fecha'])); $notas[] = $val; } $item['notas'] = $notas; $smarty->assign('item', $item); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/cuentas-notas.tpl'); } break; //OTHERS case 'search': $cuentaPagar->setProveedorId($_POST['proveedorId2']); $resCuenta = $cuentaPagar->Search(); $info['total'] = 0; $info['totalAbonos'] = 0; $info['totalNotas'] = 0; $info['totalDesc'] = 0; $info['totalBonif'] = 0; $info['totalDev'] = 0; $info['totalSaldo'] = 0; $items = array(); foreach($resCuenta as $res){ if(preg_match('/FOLIO/i',$res['folioProv'])) continue; $proveedor->setProveedorId($res['proveedorId']); $res['proveedor'] = utf8_encode($proveedor->GetNameById()); //Obtenemos los abonos realizados $cuentaPagar->setPedidoId($res['pedidoId']); $res['abonos'] = $cuentaPagar->GetTotalPagos(); //Obtenemos las notas de credito $cuentaPagar->setPedidoId($res['pedidoId']); $res['totalNotas'] = $cuentaPagar->GetTotalNotas(); $bonificacion->setPedidoId($res['pedidoId']); $res['bonificaciones'] = $bonificacion->getBonificaciones(); $res['devoluciones'] = $bonificacion->getDevoluciones(); $totalDesc = $res['totalPub'] + $res['totalDes'] + $res['totalFlete'] + $res['totalEsp']; $res['totalDescuentos'] = number_format($totalDesc,2,'.',''); if($res['total2'] > 0) $res['total'] = $res['total2']; $res['saldo'] = $res['total'] - $res['abonos'] - $res['bonificaciones'] - $res['devoluciones'] - $res['totalDescuentos'] - $res['totalNotas']; //Obtenemos las Notas de Credito $cuentaPagar->setPedidoId($res['pedidoId']); $resNotas = $cuentaPagar->EnumNotas(); $notas = array(); foreach($resNotas as $val){ $val['fecha'] = date('d-m-Y',strtotime($val['fecha'])); $notas[] = $val; } $res['notas'] = $notas; $info['total'] += $res['total']; $info['totalAbonos'] += $res['abonos']; $info['totalNotas'] += $res['totalNotas']; $info['totalDesc'] += $res['totalDescuentos']; $info['totalBonif'] += $res['bonificaciones']; $info['totalDev'] += $res['devoluciones']; $info['totalSaldo'] += $res['saldo']; $items[] = $res; } $cuentasPagar['items'] = $items; $smarty->assign('info', $info); $smarty->assign('tipo', 'search'); $smarty->assign('cuentasPagar', $cuentasPagar); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/cuentas-pagar.tpl'); break; case 'search2': $cuentaPagar->setProveedorId($_POST['proveedorId2']); $resProv = $cuentaPagar->EnumProveedores(); $info['total'] = 0; $info['totalAbonos'] = 0; $info['totalNotas'] = 0; $info['totalDesc'] = 0; $info['totalBonif'] = 0; $info['totalDev'] = 0; $info['totalSaldo'] = 0; $info['totalSaldoInicial'] = 0; $info['totalTotal'] = 0; $proveedores = array(); foreach($resProv as $val){ $proveedor->setProveedorId($val['proveedorId']); $infPv = $proveedor->Info(); $val['noProv'] = $infPv['noProv']; $val['proveedor'] = utf8_encode($proveedor->GetNameById()); $proveedor->setProveedorId($val['proveedorId']); $infP = $proveedor->Info(); $cuentaPagar->setProveedorId($val['proveedorId']); $resCuenta = $cuentaPagar->Search(); $totalG = 0; $totAbonos = 0; $totNotas = 0; $totBonificaciones = 0; $totDevoluciones = 0; $totDescuentos = 0; $totSaldo = 0; $facturas = array(); foreach($resCuenta as $res){ if(preg_match('/FOLIO/i',$res['folioProv'])) continue; //Obtenemos los abonos realizados $cuentaPagar->setPedidoId($res['pedidoId']); $res['abonos'] = $cuentaPagar->GetTotalPagos(); $res['totalNotas'] = $cuentaPagar->GetTotalNotas(); $bonificacion->setPedidoId($res['pedidoId']); $res['bonificaciones'] = $bonificacion->getBonificaciones(); $res['devoluciones'] = $bonificacion->getDevoluciones(); $totalDesc = $res['totalPub'] + $res['totalDes'] + $res['totalFlete'] + $res['totalEsp']; $res['totalDescuentos'] = number_format($totalDesc,2,'.',''); if($res['total2'] > 0) $res['total'] = $res['total2']; $res['saldo'] = $res['total'] - $res['abonos'] - $res['bonificaciones'] - $res['devoluciones'] - $res['totalDescuentos'] - $res['totalNotas']; $totalG += $res['total']; $totAbonos += $res['abonos']; $totNotas += $res['totalNotas']; $totBonificaciones += $res['bonificaciones']; $totDevoluciones += $res['devoluciones']; $totDescuentos += $res['totalDescuentos']; $totSaldo += $res['saldo']; $info['total'] += $res['total']; $info['totalAbonos'] += $res['abonos']; $info['totalNotas'] += $res['totalNotas']; $info['totalDesc'] += $res['totalDescuentos']; $info['totalBonif'] += $res['bonificaciones']; $info['totalDev'] += $res['devoluciones']; $info['totalSaldo'] += $res['saldo']; //Obtenemos los Pagos $cuentaPagar->setPedidoId($res['pedidoId']); $resPagos = $cuentaPagar->EnumPagos(); $pagos = array(); foreach($resPagos as $res2){ $metodoPago->setMetodoPagoId($res2['metodoPagoId']); $res2['metodoPago'] = $metodoPago->GetNameById(); $res2['fecha'] = date('d-m-Y',strtotime($res2['fecha'])); $pagos[] = $res2; } $res['pagos'] = $pagos; $facturas[] = $res; }//foreach $val['facturas'] = $facturas; if($totalG > 0){ $cuentaPagar->setProveedorId($val['proveedorId']); $abonosSaldoIni = $cuentaPagar->GetTotalPagosProv(); $val['total'] = $totalG + $infP['saldoCtaPagar']; $val['abonos'] += ($totAbonos + $abonosSaldoIni); $val['totalNotas'] += $totNotas; $val['bonificaciones'] += $totBonificaciones; $val['devoluciones'] += $totDevoluciones; $val['totalDescuentos'] += $totDescuentos; $val['saldo'] += ($totSaldo + $infP['saldoCtaPagar'] - $abonosSaldoIni); $val['saldoInicial'] = $infP['saldoCtaPagar']; $val['totalTotal'] = $val['saldo'] + $infP['saldoCtaPagar']; $info['totalSaldoInicial'] += $infP['saldoCtaPagar']; $info['totalTotal'] += $val['totalTotal']; $info['total'] += $infP['saldoCtaPagar']; $info['totalSaldo'] += ($infP['saldoCtaPagar'] - $abonosSaldoIni); $info['totalAbonos'] += $abonosSaldoIni; $proveedores[] = $val; } }//foreach $proveedores = $util->orderMultiDimensionalArray($proveedores, 'proveedor'); $smarty->assign('info', $info); $smarty->assign('tipo', 'search'); $smarty->assign('proveedores', $proveedores); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/cuentas-pagar2.tpl'); break; } ?>