/** * Devuelve un array con los recibos de clientes pendientes de cobro * y los recibos de proveedoes pendientes de pago en el periodo indicado * * @param integer $diasAtras El número de días hacia atrás de la fecha actual * @param integer $diasADelante El número de días hacia a delante de la fecha actual * @return array detalle, resumen */ static function getTesoreriaComprometido($diasAtras = 180, $diasADelante = 180) { $hoy = new Fecha(); $desde = $hoy->sumaDias(-$diasAtras); $hasta = $hoy->sumaDias($diasADelante); $filtroFecha = "Vencimiento>='{$desde}' and Vencimiento<='{$hasta}'"; $detalle = array(); $resumen = array(); $recClientes = new RecibosClientes(); $rows = $recClientes->cargaCondicion("DATE_FORMAT(Vencimiento,'%Y-%m') as Mes,sum(Importe) as Importe", "IDEstado='0' AND ({$filtroFecha}) GROUP BY DATE_FORMAT(Vencimiento,'%Y-%m')", "Vencimiento ASC"); foreach ($rows as $row) { $detalle[$row['Mes']]['cobros'] = $row['Importe']; } unset($recClientes); $recProveedores = new RecibosProveedores(); $rows = $recProveedores->cargaCondicion("DATE_FORMAT(Vencimiento,'%Y-%m') as Mes,sum(Importe) as Importe", "IDEstado='0' AND ({$filtroFecha}) GROUP BY DATE_FORMAT(Vencimiento,'%Y-%m')", "Vencimiento ASC"); foreach ($rows as $row) { $detalle[$row['Mes']]['pagos'] = $row['Importe']; } foreach ($detalle as $value) { $resumen['cobros'] += $value['cobros']; $resumen['pagos'] += $value['pagos']; } return array('detalle' => $detalle, 'resumen' => $resumen); }
/** * Devuelve la suma de los importes de todos los recibos * de la factura en curso. Si no se indica estado, suma todos * * @param integer $idEstado El estado de los recibos (opcional) * @return real La suma de los importes de los recibos */ public function getSumaRecibos($idEstado = '') { $suma = 0.0; $filtro = "IDFactura='{$this->IDFactura}'"; if ($idEstado != '') { $filtro .= " AND IDEstado='{$idEstado}'"; } $recibo = new RecibosClientes(); $rows = $recibo->cargaCondicion("Sum(Importe) as Suma", $filtro); $suma = $rows[0]['Suma']; return $suma; }
public function ListAction() { $filtro = $this->request['filtro']; $desde = new Fecha($filtro['desdeFecha']); $hasta = new Fecha($filtro['hastaFecha']); $filtroSucursal = $filtro['idSucursal'] ? "IDSucursal='{$filtro['idSucursal']}'" : "1"; $filtroEstado = $filtro['idEstado'] != '' ? "IDEstado='{$filtro['idEstado']}'" : "1"; $filtroQuery = "(Vencimiento>='{$desde->getaaaammdd()}') and (Vencimiento<='{$hasta->getaaaammdd()}') and ({$filtroSucursal}) and ({$filtroEstado})"; // and (Iban<>0)"; $recibos = new RecibosClientes(); $rows = $recibos->cargaCondicion("IDRecibo", $filtroQuery, "Vencimiento ASC"); unset($recibos); $array = array(); foreach ($rows as $row) { $recibo = new RecibosClientes($row['IDRecibo']); $array[] = array('IDRecibo' => $recibo->getIDRecibo(), 'NumeroFactura' => $recibo->getIDFactura()->getNumeroFactura(), 'RazonSocial' => $recibo->getIDCliente()->getRazonSocial(), 'Fecha' => $recibo->getFecha(), 'Vencimiento' => $recibo->getVencimiento(), 'Importe' => $recibo->getImporte(), 'Remesa' => $recibo->getIDRemesa(), 'Iban' => $recibo->getIban(), 'Estado' => $recibo->getIDEstado()->getDescripcion()); } unset($recibo); $this->values['datos'] = $array; return array('values' => $this->values, 'template' => $this->entity . '/list.html.twig'); }
/** * Devuelve un array de objetos recibos del cliente * que están en el estado $idEstado. Por defecto todos * * La ordenación es descendente repecto a la fecha de Vencimiento * * @param integer $idEstado El estado de los recibos (opcional) * @return array Objetos recibos de la factura */ public function getRecibos($idEstado = '') { $recibos = array(); $filtro = "IDCliente='{$this->IDCliente}'"; if ($idEstado != '') { $filtro .= " AND IDEstado='{$idEstado}'"; } $recibo = new RecibosClientes(); $rows = $recibo->cargaCondicion("IDRecibo", $filtro, "Vencimiento DESC"); foreach ($rows as $row) { $recibos[] = new RecibosClientes($row['IDRecibo']); } unset($recibo); return $recibos; }
private function ApunteDetalleCobro($nAsiento, $fecha, array $cabecera) { $filtro = "IDCliente='{$cabecera['IDCliente']}' and Vencimiento='{$cabecera['Vencimiento']}' and IDRemesa='{$cabecera['IDRemesa']}' and IDEstado='{$cabecera['IDEstado']}'"; $recibo = new RecibosClientes(); $recibos = $recibo->cargaCondicion("*", $filtro); unset($recibo); $cliente = new Clientes($cabecera['IDCliente']); foreach ($recibos as $recibo) { $recibo = new RecibosClientes($recibo['IDRecibo']); $apunte = new ContaPlusDiario($nAsiento, $fecha); $apunte->setSubCta($cliente->getCContable()); $apunte->setContra($recibo->getCContable()); $apunte->setConcepto("Cob Ftra Cliente " . $cliente->getRazonSocial()); $apunte->setDocumento($recibo->getIDFactura()->getNumeroFactura()); $apunte->setEuroHaber($recibo->getImporte()); $apuntes[] = $apunte; } unset($apunte); unset($recibo); return $apuntes; }