Query Losas
unknown
php
a month ago
5.7 kB
3
Indexable
$query = "Select PedCli.numPed,Articulo.numArt,Articulo.idArt,DetPedCli.cantidad,DetPedCli.saldo,Sucursal.nombre as SucursalArmadora,ZonasDistribucion.nombre as zonaDistribucion,TipoEntregaPedido.nombre as tipoEntrega,CASE WHEN PedCli.idEntrega=9 THEN 'SI' ELSE 'NO' END as esDropShipping, FORMAT (PedCli.Fecha, 'yy-MM-dd H:m') as Fecha,'' as armadorAsignado, Articulo.nombre AS nombre, Marcas.nombre as marca, Padron.nombre as padron, OrigenArt.nombre as origen, CONCAT(PedCli.numPed,'-',Articulo.idArt) as llave, PedCli.numCli as cliente, PedCli.observa, DetPedCli.obsLinea, FORMAT(DatosAutCobranzas.fechaAutorizacionCobranzas, 'yy-MM-dd H:m') as fechaAutorizacionCobranzas, FORMAT(DatosAutVentas.fechaAutorizacionVentas, 'yy-MM-dd H:m') as fechaAutorizacionVentas FROM PedCli INNER JOIN DetPedCli on PedCli.numPed=DetPedCli.numPed AND PedCli.idSucPed=DetPedCli.idSucPed INNER JOIN Articulo on DetPedCli.idArt=Articulo.idArt INNER JOIN TipoEntregaPedido on PedCli.idEntrega=TipoEntregaPedido.idEntrega INNER JOIN Clientes on PedCli.numCli=Clientes.numCli INNER JOIN ZonasDistribucion on Clientes.numZona=ZonasDistribucion.numZona INNER JOIN Sucursal on TipoEntregaPedido.idSucUbicacion=Sucursal.idSuc INNER JOIN Marcas ON Articulo.numMarca = Marcas.numMarca INNER JOIN Padron ON Articulo.numPad = Padron.numPad INNER JOIN OrigenArt ON Articulo.idOrigen=OrigenArt.idOrigen INNER JOIN UbicacionesArticulos ON Articulo.idArt = UbicacionesArticulos.idArt LEFT JOIN Vendedores on PedCli.numVendAsignacion<>0 and PedCli.numVendAsignacion=Vendedores.numVend OUTER APPLY (Select top 1 fecha AS fechaAutorizacionCobranzas From AutorizacionPedidos Where numPed=PedCli.numPed And idSucPed=PedCli.idSucPed AND idEstado=2 AND TipoAutoriza=1 order by fecha Desc) DatosAutCobranzas OUTER APPLY (Select top 1 fecha AS fechaAutorizacionVentas From AutorizacionPedidos Where numPed=PedCli.numPed And idSucPed=PedCli.idSucPed AND idEstado=2 AND TipoAutoriza=2 order by fecha Desc) DatosAutVentas"; if($cancelados){ $sql .= ' OUTER APPLY ( Select isnull(sum(cantidad),0) as cantFacturada from DetFacPedCli where DetFacPedCli.numPed=DetPedCli.numPed and DetFacPedCli.idSucPed=DetPedCli.idSucPed and DetFacPedCli.renglonPed=DetPedCli.renglonPed ) DetFacturacion WHERE DetPedCli.cantidad-DetPedCli.saldo-DetFacturacion.cantFacturada>0 '; }else { $sql .= " WHERE DetPedCli.saldo>0"; } $sql .= " AND TipoEntregaPedido.idSucUbicacion = ".$lnIdSucArmadora." AND UbicacionesArticulos.ubicacion1 = '".$usuario_where."' AND (PedCli.fecha>= '".$ltFechaDesdeZona."' OR DatosAutCobranzas.fechaAutorizacionCobranzas >= '".$ltFechaDesdeZona."' OR DatosAutVentas.fechaAutorizacionVentas >= '".$ltFechaDesdeZona."') AND PedCli.idEstado1 in (0,2) AND PedCli.idEstado2 in (0,2) AND ( DetPedCli.emboque = 0 OR (select count(Det2.numped) from DetPedCli Det2 where Det2.numPed=DetPedCli.numPed AND Det2.idSucPed=DetPedCli.idSucPed and Det2.saldo>0 and Det2.emboque=0)>0)"; if ($clientes_y_sucursales){ $sql .=" UNION ALL ( Select PedSuc.numPedSuc,Articulo.numArt,Articulo.idArt,DetPedSuc.cantidad,DetPedSuc.saldo,Sucursal.nombre as SucursalArmadora,NULL as zonaDistribucion,NULL as tipoEntrega,NULL as esDropShipping,FORMAT (PedSuc.fecha, 'yy-MM-dd H:m') as Fecha,'' as armadorAsignado, Articulo.nombre AS nombre, Marcas.nombre as marca, Padron.nombre as padron, OrigenArt.nombre as origen, CONCAT(PedSuc.numPedSuc,'-',Articulo.idArt) as llave, '-' as cliente, PedSuc.observa, DetPedSuc.obsLinea, null,null FROM PedSuc INNER JOIN DetPedSuc on PedSuc.numPedSuc=DetPedSuc.numPedSuc and PedSuc.idSuc=DetPedSuc.idSuc INNER JOIN Articulo on DetPedSuc.idArt=Articulo.idArt INNER JOIN Sucursal on PedSuc.idSuc=Sucursal.idSuc INNER JOIN Marcas ON Articulo.numMarca = Marcas.numMarca INNER JOIN Padron ON Articulo.numPad = Padron.numPad INNER JOIN OrigenArt ON Articulo.idOrigen=OrigenArt.idOrigen INNER JOIN UbicacionesArticulos ON Articulo.idArt = UbicacionesArticulos.idArt LEFT JOIN Vendedores on PedSuc.numVendAsignacion<>0 and PedSuc.numVendAsignacion=Vendedores.numVend"; if($cancelados){ $sql .= ' OUTER APPLY (Select isnull(sum(cantidad),0) as cantRemitido from DetRemPedSuc where numpedsuc=DetPedSuc.numpedsuc and idSuc=DetPedSuc.idSuc and renglon=DetPedSuc.renglon) DetRemitos WHERE DetPedSuc.cantidad-DetPedSuc.saldo-DetRemitos.cantRemitido>0'; }else { $sql .= ' WHERE DetPedSuc.saldo>0 '; } $sql .= " and PedSuc.idSucPedido = ".$lnIdSucArmadora." AND UbicacionesArticulos.ubicacion1 = '".$usuario_where."' AND PedSuc.fecha>= '".$ltFechaDesdeSuc."');"
Editor is loading...
Leave a Comment