public function listAction($idPromocion = '') { if ($idPromocion == '') { $idPromocion = $this->request[2]; } $this->listado->filter['columnsSelected'] = array(); $this->listado->filter['valuesSelected'] = array(); $promo = new PromocionesClientes(); $tabla = $promo->getDataBaseName() . "." . $promo->getTableName(); $filtro = $tabla . ".IDPromocion='" . $idPromocion . "'"; unset($promo); $this->values['linkBy']['value'] = $idPromocion; return parent::listAction($filtro); }
/** * Devuelve las promociones vigentes para el cliente * y la fecha indicada. * * El formato de fecha pasado debe ser YYYY-mm-dd * * @param date $fecha La fecha * @return array Array con objetos promociones */ public function getPromosVigentes($fecha = '') { if ($fecha == '') { $fecha = date('Y-m-d'); } $promos = array(); $promociones = new Promociones(); $promoClientes = new PromocionesClientes(); $familias = new Familias(); $em = new EntityManager($promociones->getConectionName()); if ($em->getDbLink()) { $query = "SELECT DISTINCT t1.IDPromocion\n FROM {$promociones->getDataBaseName()}.{$promociones->getTableName()} as t1,\n {$promoClientes->getDataBaseName()}.{$promoClientes->getTableName()} as t2,\n {$familias->getDataBaseName()}.{$familias->getTableName()} as t3\n WHERE t1.FinPromocion>='{$fecha}'\n AND t1.IDPromocion=t2.IDPromocion\n AND ( (t2.IDCliente='{$this->IDCliente}') OR (t2.IDGrupo='{$this->getIDGrupo()->getIDGrupo()}') )\n AND ( t1.IDFamilia = t3.IDFamilia OR (1))\n ORDER BY t1.FinPromocion ASC, t1.IDArticulo DESC,t3.Familia"; $em->query($query); $rows = $em->fetchResult(); $em->desConecta(); foreach ($rows as $row) { $promos[] = new Promociones($row['IDPromocion']); } } unset($em); unset($promociones); unset($promoClientes); unset($familias); return $promos; }