本文整理汇总了PHP中EntityManager::fetchResult方法的典型用法代码示例。如果您正苦于以下问题:PHP EntityManager::fetchResult方法的具体用法?PHP EntityManager::fetchResult怎么用?PHP EntityManager::fetchResult使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EntityManager
的用法示例。
在下文中一共展示了EntityManager::fetchResult方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: listAction
/**
* Genera array con los clientes del la ruta para el
* comercial y dia indicado
*
* @param integer $idComercial
* @param integer $dia
* @return <type>
*/
public function listAction($idComercial = '', $dia = '')
{
if ($idComercial == '') {
$idComercial = $this->request[2];
}
if ($dia == '') {
$dia = $this->request[3];
}
$this->values['listado']['dia'] = $dia;
// Busco los clientes del comercial indicado y sucursal actual
// que aun no estén asignados al día solicitado
$cliente = new Clientes();
$rutasVentas = new RutasVentas();
$filtro = "IDComercial='{$idComercial}'\n AND IDSucursal='{$_SESSION['suc']}'\n AND IDCliente NOT IN\n (SELECT IDCliente FROM {$rutasVentas->getDataBaseName()}.{$rutasVentas->getTableName()}\n WHERE IDComercial='{$idComercial}' AND Dia='{$dia}')";
$clientes = $cliente->cargaCondicion("IDCliente as Id, RazonSocial as Value", $filtro, "RazonSocial ASC");
$this->values['listado']['clientes'] = $clientes;
array_unshift($this->values['listado']['clientes'], array('Id' => '', 'Value' => ':: Indique un cliente'));
// Busco las zonas de los clientes del comercial indicado y sucursal actual
// que aun no estén asignados al día solicitado
$zona = new Zonas();
$em = new EntityManager($cliente->getConectionName());
if ($em->getDbLink()) {
$query = "SELECT DISTINCT t1.IDZona as Id, t2.Zona as Value \n FROM \n {$cliente->getDataBaseName()}.{$cliente->getTableName()} as t1, \n {$zona->getDataBaseName()}.{$zona->getTableName()} as t2\n WHERE t1.IDZona=t2.IDZona\n AND t1.IDComercial='{$idComercial}'\n AND t1.IDSucursal='{$_SESSION['suc']}'\n AND t1.IDCliente NOT IN\n (SELECT IDCliente FROM {$rutasVentas->getDataBaseName()}.{$rutasVentas->getTableName()}\n WHERE IDComercial='{$idComercial}' AND Dia='{$dia}')\n ORDER BY t2.Zona ASC";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
}
$this->values['listado']['zonas'] = $rows;
array_unshift($this->values['listado']['zonas'], array('Id' => '', 'Value' => ':: Indique una Zona'));
//-----------------------------------------------
// Lleno los clientes asignados al comercial y día
// ordenados por Zona
// -----------------------------------------------
$em = new EntityManager($cliente->getConectionName());
if ($em->getDbLink()) {
$query = "SELECT t1.Id \n FROM \n {$rutasVentas->getDataBaseName()}.{$rutasVentas->getTableName()} as t1,\n {$cliente->getDataBaseName()}.{$cliente->getTableName()} as t2\n WHERE t1.IDCliente=t2.IDCliente\n AND t2.IDSucursal='{$_SESSION['suc']}'\n AND t1.IDComercial='{$idComercial}'\n AND t1.Dia='{$dia}'\n ORDER BY t1.OrdenCliente,t1.IDZona";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
}
unset($em);
unset($em);
unset($cliente);
unset($zona);
unset($rutasVentas);
foreach ($rows as $row) {
$lineas[] = new $this->parentEntity($row['Id']);
}
//-----------------------------------------------
$template = $this->entity . '/list.html.twig';
$this->values['linkBy']['value'] = $idComercial;
$this->values['listado']['data'] = $lineas;
$this->values['listado']['nClientes'] = count($lineas);
unset($lis);
unset($lineas);
return array('template' => $template, 'values' => $this->values);
}
示例2: getAgenciasOperadoras
/**
* Devuelve un array con las agencias de transporte que operan en
* la zona de transporte en curso.
*
* Se entiende por 'operar', que tenga alguna tarifa en la
* tabla de portes.
*
* @return array (Id,Value)
*/
public function getAgenciasOperadoras()
{
$rows = array();
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
$query = "\n SELECT DISTINCT tp.IDAgencia AS Id, ag.Agencia AS Value\n FROM ErpTablaPortes as tp, ErpAgencias as ag\n WHERE\n tp.IDZona='{$this->IDZona}' AND\n tp.IDAgencia=zt.IDAgencia\n ORDER BY ag.Agencia ASC";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
}
return $rows;
}
示例3: listAction
/**
* Genera una listado por pantalla en base al filtro.
* Puede recibir un filtro adicional
*
* @param string $aditionalFilter
* @return array con el template y valores a renderizar
*/
public function listAction($aditionalFilter = '')
{
$clientes = new Clientes();
$recibos = new RecibosClientes();
$idComercial = $this->request['filter']['valuesSelected']['5'];
if ($this->values['permisos']['permisosModulo']['CO']) {
if ($idComercial) {
$this->listado->makeQuery($aditionalFilter);
$this->listado->arrayQuery['FROM'] = str_replace(", {$clientes->getDataBaseName()}.{$clientes->getTableName()}", "", $this->listado->arrayQuery['FROM']);
$this->listado->arrayQuery['FROM'] .= ", {$clientes->getDataBaseName()}.{$clientes->getTableName()}";
$this->listado->arrayQuery['WHERE'] .= " AND {$recibos->getDataBaseName()}.{$recibos->getTableName()}.IDCliente={$clientes->getDataBaseName()}.{$clientes->getTableName()}.IDCliente ";
$this->listado->arrayQuery['WHERE'] .= "AND {$clientes->getDataBaseName()}.{$clientes->getTableName()}.IDComercial='{$idComercial}'";
$this->listado->buildQuery();
}
$this->values['listado'] = $this->listado->getAll($aditionalFilter);
$this->values['filtroRemesa'] = $this->values['listado']['filter']['valuesSelected'][11];
// Obtener total recibos y total a remesar
$em = new EntityManager($recibos->getConectionName());
if ($em->getDbLink()) {
$query = "select sum(Importe) as Importe from {$this->listado->arrayQuery['FROM']} where {$this->listado->arrayQuery['WHERE']}";
$em->query($query);
$total = $em->fetchResult();
$query1 = "select sum(Importe) as Importe from {$this->listado->arrayQuery['FROM']} where {$this->listado->arrayQuery['WHERE']} and Remesar='1'";
$em->query($query1);
$remesa = $em->fetchResult();
$em->desConecta();
}
unset($em);
$this->values['listado']['importeRecibos'] = $total[0]['Importe'];
$this->values['listado']['importeRemesa'] = $remesa[0]['Importe'];
$template = $this->entity . '/list.html.twig';
} else {
$template = "_global/forbiden.html.twig";
}
unset($clientes);
unset($recibos);
return array('template' => $template, 'values' => $this->values);
}
示例4: getOpciones
public function getOpciones($de, $nivel)
{
$rows = array();
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
$query = "\n select m.Id,m.CodigoApp,m.Titulo ,p.NombreModulo, p.Funcionalidades, m.Icon\n from {$this->getDataBaseName()}.AgtPermisos as p, {$this->getDataBaseName()}.AgtModulos as m\n where m.NombreModulo = p.NombreModulo and m.BelongsTo='{$de}' and m.Nivel='{$nivel}' and\n p.IdPerfil = '{$this->getIdPerfil()->getId()}' AND\n LOCATE('AC',p.Funcionalidades)\n order by m.Id ASC";
//echo $query,"<br/>";
$em->query($query);
$rows = $em->fetchResult();
} else {
echo "NO HAY CONEXION CON LA BASE DE DATOS";
}
unset($em);
return $rows;
}
示例5: fetchAll
/**
* Devuelve un array con los tpvs de la sucursal indicada
* o en su defecto la sucursal en curso
*
* @param integer $idSucursal
* @return array
*/
public function fetchAll($idSucursal = '', $default = true)
{
if ($idSucursal == '') {
$idSucursal = $_SESSION['suc'];
}
$em = new EntityManager($this->getConectionName());
$link = $em->getDbLink();
if (is_resource($link)) {
$query = "select IDTpv as Id, Nombre as Value from {$this->getDataBaseName()}.{$this->getTableName()} where IDSucursal='" . $idSucursal . "'";
$em->query($query);
$tpvs = $em->fetchResult();
$em->desConecta();
}
return $tpvs;
}
示例6: getZonasOperacion
/**
* Devuelve un array con las Zonas de transporte donde opera la agencia
* en curso.
*
* Se entiende por 'operar', que tenga alguna tarifa en la
* tabla de portes.
*
* @return array (Id,Value)
*/
public function getZonasOperacion()
{
$rows = array();
$zonas = new ZonasTransporte();
$tablaZonas = $zonas->getDataBaseName() . "." . $zonas->getTableName();
$portes = new TablaPortes();
$tablaPortes = $portes->getDataBaseName() . "." . $portes->getTableName();
$em = new EntityManager($zonas->getConectionName());
if ($em->getDbLink()) {
$query = "\n SELECT DISTINCT tp.IDZona AS Id, zt.Zona AS Value\n FROM \n {$tablaPortes} as tp, \n {$tablaZonas} as zt\n WHERE\n tp.IDAgencia='{$this->IDAgencia}' AND\n tp.IDZona=zt.IDZona\n ORDER BY zt.Zona ASC";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
}
return $rows;
}
示例7: listadoAction
public function listadoAction($aditionalFilter = '')
{
$pdf = new PDF("P", 'mm', "A4");
$pdf->SetTopMargin(15);
$pdf->SetLeftMargin(10);
$pdf->AliasNbPages();
$pdf->SetFillColor(210);
$per = new Permisos();
$em = new EntityManager($per->getConectionName());
$query = "select t1.IdPerfil,t1.Permisos,t4.Perfil,t2.Titulo as Opcion,t3.Titulo as SubOpcion\n from AgtPermisos as t1,menu as t2, submenu as t3, perfiles as t4\n where t1.IDOpcion=t2.IDOpcion\n and t1.IDOpcion=t3.IDOpcion\n and t3.Id=t1.IDSubOpcion\n and t1.IdPerfil=t4.Id\n order by t1.IdPerfil,t1.IDOpcion,t1.IDSubOpcion;";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
unset($per);
$perant = "";
$opcant = "";
foreach ($rows as $row) {
if ($perant != $row['IDPerfil']) {
$pdf->AddPage();
$pdf->Cell(40, 5, $row['Perfil'], 0, 0, "L", 1);
} else {
$pdf->Cell(40, 5, "", 0, 0, "L", 0);
}
$pdf->SetFillColor(240);
if ($opcant != $row['Opcion']) {
$pdf->Cell(30, 5, $row['Opcion'], 0, 0, "L", 1);
} else {
$pdf->Cell(30, 5, "", 0, 0, "L", 0);
}
$perant = $row['IDPerfil'];
$opcant = $row['Opcion'];
$pdf->Cell(40, 5, $row['SubOpcion'], 0, 0, "L", 0);
$permisos = array('C' => substr($row['Permisos'], 0, 1), 'I' => substr($row['Permisos'], 1, 1), 'B' => substr($row['Permisos'], 2, 1), 'A' => substr($row['Permisos'], 3, 1), 'L' => substr($row['Permisos'], 4, 1), 'E' => substr($row['Permisos'], 5, 1));
$pdf->Cell(13, 5, $permisos['C'], 0, 0, "C", 0);
$pdf->Cell(13, 5, $permisos['I'], 0, 0, "C", 1);
$pdf->Cell(13, 5, $permisos['B'], 0, 0, "C", 0);
$pdf->Cell(13, 5, $permisos['A'], 0, 0, "C", 1);
$pdf->Cell(13, 5, $permisos['L'], 0, 0, "C", 0);
$pdf->Cell(13, 5, $permisos['E'], 0, 1, "C", 1);
$pdf->SetFillColor(210);
}
$archivo = "docs/docs" . $_SESSION['emp'] . "/pdfs/" . md5(date('d-m-Y H:i:s')) . ".pdf";
$pdf->Output($archivo, 'F');
$this->values['archivo'] = $archivo;
return array('template' => '_global/listadoPdf.html.twig', 'values' => $this->values);
}
示例8: validaBorrado
/**
* Valida antes del borrado
* Devuelve TRUE o FALSE
* Si hay errores carga el array $this->_errores
* @return boolean
*/
public function validaBorrado()
{
parent::validaBorrado();
$em = new EntityManager("empresas");
$link = $em->getDbLink();
if (is_resource($link)) {
//PERMISOS
$query = "select count(Id) as N from permisos where IDOpcion='" . $this->IDOpcion . "' AND IDSubopcion='" . $this->getId() . "'";
$row = $em->fetchResult();
$n = $row[0]['N'];
if ($n > 0) {
$this->_errores[] = "Imposible eliminar. Hay " . $n . " permisos relacionados";
}
$em->desConecta();
} else {
$this->_errores[] = "Error conexión a la DB validando borrado de SubMenu";
}
return count($this->_errores) == 0;
}
示例9: create
/**
* Asigno permiso al usuario-proyecto-app
*
* Y además creo el usuario en el cpanel del proyecto.
*
* @return boolean
*/
public function create()
{
$id = parent::create();
if ($id) {
// Para saber el perfil que tiene el usuario con la empresa.
$usuario = new PcaeUsuarios($this->IdUsuario);
$perfil = $usuario->getPerfilEmpresa($this->IdEmpresa);
$idPerfil = $perfil->getId();
unset($usuario);
unset($perfil);
$proyectoApp = new PcaeProyectosApps();
$filtro = "IdProyecto='{$this->IdProyecto}' AND IdApp='{$this->IdApp}'";
$rows = $proyectoApp->cargaCondicion("*", $filtro);
unset($proyectoApp);
$row = $rows[0];
if ($row['Id']) {
$connection = array('dbEngine' => $row['DbEngine'], 'host' => $row['Host'], 'user' => $row['User'], 'password' => $row['Password'], 'dataBase' => $row['Database']);
$em = new EntityManager($connection);
if ($em->getDbLink()) {
$query = "select Id from {$connection['dataBase']}.CpanUsuarios where IdUsuario='{$this->IdUsuario}'";
$em->query($query);
$rows = $em->fetchResult();
$id = $rows[0]['Id'];
if ($id) {
$query = "update {$connection['dataBase']}.CpanUsuarios set IdPerfil='{$idPerfil}' where Id='{$id}'";
$em->query($query);
} else {
$query = "insert into {$connection['dataBase']}.CpanUsuarios (IdUsuario,IdPerfil,IdRol,IdTipoUsuario) values ('{$this->IdUsuario}','{$idPerfil}','1','1');";
$em->query($query);
$lastId = $em->getInsertId();
$query = "update {$connection['dataBase']}.CpanUsuarios set SortOrder='{$lastId}', PrimaryKeyMD5='" . md5($lastId) . "' WHERE Id='{$lastId}'";
$em->query($query);
}
$em->desConecta();
}
unset($em);
}
}
return $id;
}
示例10: getGrafico
public function getGrafico()
{
$em = new EntityManager($_SESSION['project']['conection']);
$em->query($this->query);
$rows = $em->fetchResult();
$nRegistros = $em->numRows();
$em->desConecta();
unset($em);
foreach ($rows as $value) {
$this->datosY[] = $value[$this->columnaY];
$this->titulosX[] = $value[$this->columnaX];
}
$grafico = new Graph($this->ancho, $this->alto);
$grafico->SetScale('textlin');
// Ajustamos los margenes del grafico----- (left,right,top,bottom)
$grafico->SetMargin(40, 30, 30, 40);
// Creamos barras de datos a partir del array de datos
$bplot = new BarPlot($this->datosY);
// Configuramos color de las barras
$bplot->SetFillColor('#479CC9');
//Añadimos barra de datos al grafico
$grafico->Add($bplot);
// Queremos mostrar el valor numerico de la barra
$bplot->value->Show();
// Configuracion de los titulos
$grafico->title->Set($this->titulo);
$grafico->xaxis->title->Set($this->tituloX);
$grafico->yaxis->title->Set($this->tituloY);
$grafico->title->SetFont(FF_FONT1, FS_BOLD);
$grafico->yaxis->title->SetFont(FF_FONT1, FS_BOLD);
$grafico->xaxis->title->SetFont(FF_FONT1, FS_BOLD);
$grafico->xaxis->SetTickLabels($this->titulosX);
// Se generada el archivo con el gráfico
$archivo = "docs/docs" . $_SESSION['emp'] . "/tmp/" . md5(date('d-m-Y H:i:s')) . ".png";
$grafico->Stroke($archivo);
return $archivo;
}
示例11: getArticulos
/**
* Devuelve un array de objetos articulos que cumplen la
* regla $idRegla, ordenados por SortOrder ASC
*
* El array tendrá $nItems elementos.
*
* @param int $idRegla El id de la regla
* @param int $nItems El número máximo de elementos a devolver. Opcional, por defecto todos.
* @return \Articulos array de objetos Articulos
*/
public function getArticulos($idRegla, $nItems = 999999)
{
$array = array();
if ($nItems <= 0) {
$nItems = 999999;
}
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
// Condición de vigencia
$ahora = date("Y-m-d H:i:s");
$filtro = "(a.Deleted='0') AND (a.Publish='1') AND (a.ActiveFrom<='{$ahora}') AND ( (a.ActiveTo>='{$ahora}') or (a.ActiveTo='0000-00-00 00:00:00') )";
$query = "\n SELECT a.IDArticulo as Id\n FROM {$em->getDataBase()}.ErpOrdenesArticulos r, {$em->getDataBase()}.ErpArticulos a\n WHERE r.IDRegla='{$idRegla}' AND r.IDArticulo=a.IDArticulo AND a.Vigente='1' AND {$filtro}\n ORDER BY r.SortOrder ASC\n LIMIT {$nItems}";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
}
unset($em);
if (is_array($rows)) {
foreach ($rows as $row) {
$array[$row['Id']] = new Articulos($row['Id']);
}
}
return $array;
}
示例12: getAgenciasZona
/**
* Devuelve un array con las TRES primeras agencias que tienen tarifa
* para la zona y cantidad de kilos indicados.
*
* El orden es ascendente respecto a los kilos y el importe
*
* La estructura del array es
*
* Id => El id de la agencia
* Value => El nombre de la agencia
* Kilos => Cantidad de kilos
* Importe => Precio para esos kilos
*
* @param integer $idZona
* @param integer $kilos
* @return array
*/
public function getAgenciasZona($idZona, $kilos = '0')
{
$rows = array();
$agencias = new Agencias();
$tablaAgencias = $agencias->getTableName();
unset($agencias);
$em = new EntityManager($_SESSION['project']['conection']);
if ($em->getDbLink()) {
$query = "\n SELECT tp.IDAgencia as Id,ag.Agencia as Value,tp.Kilos as Kilos,tp.Importe as Importe\n FROM\n {$this->getDataBaseName()}.{$this->getTableName()} as tp, \n {$this->getDataBaseName()}.{$tablaAgencias} as ag\n WHERE\n tp.IDZona='{$idZona}' AND\n tp.IDAgencia=ag.IDAgencia AND\n tp.Kilos>='{$kilos}'\n ORDER BY tp.Kilos,tp.Importe ASC\n LIMIT 3\n ";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
}
return $rows;
}
示例13: facturarAction
/**
* Proceso de facturacion.
* Puede ser facturación separada: Una factura por cada albarán
* o facturación agrupada: Una factura con todos los albaranes, con las siguientes salvedades:
*
* Se agrupan las facturas en base a la forma de pago, comercial y al flag "Facturación agrupada"
* de la ficha del cliente.
*
* @return <type>
*/
public function facturarAction()
{
$facturados = array();
$filtro = $this->request['filtro'];
$fecha = new Fecha($filtro['desdeFecha']);
$desdeFecha = $fecha->getaaaammdd();
$fecha = new Fecha($filtro['hastaFecha']);
$hastaFecha = $fecha->getaaaammdd();
unset($fecha);
switch ($this->request['tipo']) {
case '0':
// Facturación individual. Se genera una factura por cada albarán
$filter = "IDFactura='0' and IDEstado='2' and IDCliente='{$filtro['idCliente']}' and FechaEntrega>='{$desdeFecha}' and FechaEntrega<'{$hastaFecha}' and FlagFacturar='1'";
$albaran = new AlbaranesCab();
$rows = $albaran->cargaCondicion("IDAlbaran", $filter, "FechaEntrega ASC");
foreach ($rows as $row) {
$albaran = new AlbaranesCab($row['IDAlbaran']);
$idFactura = $albaran->facturar(new Contadores($this->request['idContador']), $this->request['fecha']);
if (count($albaran->getErrores()) != 0) {
$this->values['errores'] = $albaran->getErrores();
break;
} else {
$facturados[] = $idFactura;
}
}
unset($albaran);
break;
case '1':
// Agrupada. Se agrupan los albaranes por forma de pago, comercial
$filter = "c.IDFactura='0' and c.IDEstado='2' and c.IDCliente='{$filtro['idCliente']}' and c.FechaEntrega>='{$desdeFecha}' and c.FechaEntrega<'{$hastaFecha}' and c.FlagFacturar='1'";
//COMPRUEBO QUE NO HAYA MAS DE TRES TIPOS DE IVA ENTRE TODOS LOS ALBARANES A FACTURAR
$albaran = new AlbaranesCab();
$albaranTabla = $albaran->getDataBaseName() . "." . $albaran->getTableName();
$lineas = new AlbaranesLineas();
$lineasTabla = $lineas->getDataBaseName() . "." . $lineas->getTableName();
$em = new EntityManager($albaran->getConectionName());
if (!$em->getDbLink()) {
$this->values['errores'] = $em->getError();
return $this->listAction();
}
$query = "select l.Iva from {$lineasTabla} as l, {$albaranTabla} as c\n where {$filter} and c.IDAlbaran=l.IDAlbaran\n group by l.Iva";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
if (count($rows) > 3) {
$this->values['alertas'] = "Hay más de tres tipos de iva distintos. No se puede agrupar";
return $this->listAction();
}
$contador = new Contadores($this->request['idContador']);
// Buscar la cuenta contable de ventas para la sucursal
$sucursal = new Sucursales($filtro['idSucursal']);
$ctaVentas = $sucursal->getCtaContableVentas();
unset($sucursal);
$cliente = new Clientes($filtro['idCliente']);
$agruparDireccionEntrega = $cliente->getFacturacionAgrupada()->getIDTipo() == '1';
unset($cliente);
$query = $agruparDireccionEntrega ? "select c.IDFP,c.IDComercial, sum(c.Importe) as Importe, sum(Descuento) as Descuento from {$albaranTabla} c where {$filter} GROUP BY c.IDFP, c.IDComercial;" : "select c.IDFP,c.IDComercial, c.IDDirec, sum(c.Importe) as Importe, sum(Descuento) as Descuento from {$albaranTabla} c where {$filter} GROUP BY c.IDFP, c.IDComercial, c.IDDirec;";
unset($cliente);
//AGRUPO LOS ALBARANES POR FORMA DE PAGO, COMERCIAL Y (si procede) DIRECCION DE ENTREGA.
$em = new EntityManager($albaran->getConectionName());
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
foreach ($rows as $row) {
$numeroFactura = $contador->asignaContador();
$factura = new FemitidasCab();
$factura->setIDSucursal($filtro['idSucursal']);
$factura->setIDContador($this->request['idContador']);
$factura->setNumeroFactura($numeroFactura);
$factura->setIDAgente($_SESSION['usuarioPortal']['Id']);
$factura->setIDComercial($row['IDComercial']);
$factura->setFecha($this->request['fecha']);
$factura->setIDCliente($filtro['idCliente']);
$factura->setCuentaVentas($ctaVentas);
$factura->setDescuento($row['Descuento']);
$factura->setImporte($row['Importe']);
$factura->setIDFP($row['IDFP']);
$idFactura = $factura->create();
// Guardo en un array los id's de facturas generadas
$facturados[] = $idFactura;
if ($idFactura != 0) {
// Crear las lineas de factura
// No incluyo las lineas de albaran cuyas unidades sean 0
$em = new EntityManager($albaran->getConectionName());
$query = $agruparDireccionEntrega ? "select l.* from {$lineasTabla} l, {$albaranTabla} c where (c.IDAlbaran=l.IDAlbaran) and (c.IDFP='{$row['IDFP']}') and (l.Unidades<>0) and {$filter}" : "select l.* from {$lineasTabla} l, {$albaranTabla} c where (c.IDAlbaran=l.IDAlbaran) and (c.IDFP='{$row['IDFP']}') and (c.IDDirec='{$row['IDDirec']}') and (l.Unidades<>0) and {$filter}";
$em->query($query);
$lineas = $em->fetchResult();
$em->desConecta();
foreach ($lineas as $linea) {
$linFactura = new FemitidasLineas();
//.........这里部分代码省略.........
示例14: getUbicacionesLibres
/**
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* OJO!!! ESTE METODO NO SE USA EN PRINCIPIO. HAY QUE REVISAR EL QUERY
* YA QUE SE USAN TABLAS DE DIFERENTES BASES DE DATOS Y PARACE QUE NO ESTA BIEN
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*
* Devuelve un array con las ubicaciones disponibles en el almacén
* Se entiende por ubicacion libre aquella que no tiene existencias
* El array es del tipo array('Id' => , 'Value' => )
* @return array Con las ubicaciones libres
*/
public function getUbicacionesLibres()
{
$huecos = array();
// LLamo al procedimiento almacenado 'UbicacionesLibres'
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
//$query = "Call UbicacionesLibres('{$this->IDAlmacen}');";
$query = "SELECT IDUbicacion as Id, Ubicacion as Value\n FROM {$this->_dataBaseName}.ErpAlmacenesMapas\n WHERE\n IDAlmacen = '{$this->IDAlmacen}' AND\n IDUbicacion NOT IN (\n SELECT t1.IDUbicacion\n FROM ErpExistencias as t1\n GROUP BY t1.IDAlmacen, t1.IDUbicacion\n HAVING t1.IDAlmacen = '{$this->IDAlmacen}'\n AND SUM( t1.Reales ) > 0\n )\n ORDER BY Ubicacion";
$em->query($query);
$huecos = $em->fetchResult();
$em->desConecta();
}
unset($em);
return $huecos;
}
示例15: RecibosAgrupados
static function RecibosAgrupados($filtro)
{
$recibos = new RecibosClientes();
$clientes = new Clientes();
$tablaRecibos = $recibos->getDataBaseName() . "." . $recibos->getTableName();
$tablaClientes = $clientes->getDataBaseName() . "." . $clientes->getTableName();
$em = new EntityManager($recibos->getConectionName());
if ($em->getDbLink()) {
$filtro .= " and (Remesar='1') and (CHAR_LENGTH(r.Iban)>23) and (r.Iban<>'ES8200000000000000000000')";
$query = "select r.IDCliente," . "sum(r.Importe) importe," . "r.Iban iban, " . "r.Bic bic, " . "r.Mandato idMandato, " . "r.FechaMandato fechaMandato " . "from {$tablaRecibos} as r " . "left join {$tablaClientes} as c on r.IDCliente=c.IDCliente " . "where {$filtro} " . "group by r.IDCliente,r.Iban " . "having sum(r.Importe)>0 " . "order by c.RazonSocial,r.Vencimiento ASC";
$em->query($query);
$rows = $em->fetchResult();
}
unset($em);
unset($recibos);
unset($clientes);
$total = 0;
foreach ($rows as $row) {
$cliente = new Clientes($row['IDCliente']);
$total += $row['importe'];
$recibos[] = array('numeroFactura' => 'Varias', 'importe' => $row['importe'], 'idMandato' => $row['idMandato'], 'fechaMandato' => $row['fechaMandato'], 'bic' => $row['bic'] == '' ? "BBBBESPP" : $row['bic'], 'iban' => $row['iban'], 'razonSocial' => $cliente->getRazonSocial(), 'direccion1' => $cliente->getDireccion(), 'direccion2' => $cliente->getIDPoblacion()->getMunicipio() . " " . $cliente->getCodigoPostal() . " " . $cliente->getIDProvincia()->getProvincia(), 'pais' => $cliente->getIDPais()->getCodigo(), 'texto' => "Varias Facturas");
}
unset($cliente);
return array('nRecibos' => count($rows), 'importeTotal' => $total, 'recibos' => $recibos);
}