コード例 #1
0
ファイル: DashBoard.class.php プロジェクト: albatronic/hermes
 /**
  * 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);
 }
コード例 #2
0
 /**
  * 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;
 }
コード例 #3
0
 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');
 }
コード例 #4
0
ファイル: Clientes.class.php プロジェクト: albatronic/hermes
 /**
  * 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;
 }
コード例 #5
0
 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;
 }