Last active
May 3, 2017 18:19
-
-
Save dafma/3f920a14f8801539034982b9de7ab7d6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
IF @Zona='METRO' | |
Begin | |
Select * From #Acertividad Where FechaInicioC Between @FechaD And @FechaA Order by AgenteNombre, Movimiento | |
End | |
Else | |
IF @Zona<>'METRO' or @Zona IS NULL | |
Begin | |
Select * From #Acertividad Where FechaInicioC Between @FechaD And @FechaA Order by Agente, FechaInicioC | |
End |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/****** Object: StoredProcedure [dbo].[spEmbudoVentasABC] Script Date: 04/25/2017 18:05:18 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
--exec spEmbudoVentasABC 'LMAGVT','(Todos)','(Todos)','AGP','ZZZZZZ', '07/01/2014','07/31/2014','LMA',0,null | |
ALTER PROCEDURE [dbo].[spEmbudoVentasABC] | |
@Usuario Char(10), | |
@Familia Varchar(50), | |
@Grupo varchar(50), | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@FechaD Datetime, | |
@FechaA Datetime, | |
@Empresa char(5), | |
@Sucursal int, | |
@Zona Varchar(30) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
AS BEGIN | |
Declare | |
@Categoria VarChar(50), | |
@Agente Char(10), | |
@ID int, | |
@IDRelacion Int, | |
@Moneda Char(10), | |
@TipoCambio Float | |
exec spValidaAgentesGABC --cambiado/agregado para nuevo filtro Diciembre 2014 | |
@Usuario, | |
@Empresa , | |
@Categoria OUTPUT, | |
@Familia OUTPUT, | |
@Grupo OUTPUT, | |
@AgenteD OUTPUT, | |
@AgenteA OUTPUT, | |
@Zona OUTPUT --cambiado/agregado para nuevo filtro Diciembre 2014 | |
IF @Empresa not in(Select Empresa From Empresa) or @Empresa in('','null','NULL') | |
Begin | |
Select @Empresa=null | |
End | |
IF @Zona not in(Select Distinct Zona From Agente) or @Zona in('','null','NULL') | |
Begin | |
Select @Zona=null | |
End | |
--exec spEmbudoVentasABC 'GVT','(Todos)','(Todos)','AGP','ZZZZZZ', '01/07/2014','31/07/2014','LMA',0,'' | |
--Set dateFormat dmy | |
-- IF @Grupo IN ('NULL', '', '0', '(Todos)') SELECT @Grupo = NULL | |
--Select @Sucursal=NullIF(@Sucursal, '') | |
CREATE TABLE #EmbudoVenta( | |
Orden int NULL, | |
ID Int NULL, | |
Mov Char(20) NULL, | |
MovID varchar(20) NULL, | |
Cliente char(10) NULL, | |
Grupo varchar(50) NULL, | |
Familia varchar(50) NULL, | |
Agente char(10) NULL, | |
NomAgente varchar(100) NULL, | |
FechaOriginal Datetime NULL, | |
Situacion varchar(50) NULL, | |
Seguimiento varchar(100) NULL, | |
Moneda Char(10) null, | |
TipoCambio Float null, | |
Importe money NULL, | |
ImporteP money NULL, | |
Contacto varchar(50) NULL, | |
Puesto varchar(50) NULL, | |
MovCrm Char(20) Null, | |
MovIdCrm VarChar(20) Null, | |
FechaSituacion Datetime NULL, | |
FechaActividad DateTime Null, | |
CantidadSituacion int NULL, | |
ImporteSituacion money NULL, | |
FechaSeguimiento Datetime null, | |
Objetivo Text null, | |
Compromiso Text null, | |
Porcentaje float null, | |
ImporteSituacionP money null) | |
INSERT #EmbudoVenta | |
(Orden, ID,Mov,Moneda,TipoCambio, MovID, Cliente, Grupo,Familia, Agente,NomAgente, FechaOriginal, Situacion, Seguimiento, Importe, ImporteP, Contacto, Puesto, FechaSituacion) | |
SELECT Distinct 1,v.ID, v.Mov,v.Moneda,v.Tipocambio, v.MovID, v.Cliente, ag.Grupo,ag.Familia, v.Agente, ag.Nombre, v.FechaEmision, v.Situacion, v.SituacionNota, v.Importe, 0, v.Atencion, ct.Cargo,v.FechaInicioC-- LEFT(CONVERT(varchar, v.FechaInicioC, 110),10) | |
FROM Venta v, CteCto ct, Cte c, Agente ag | |
WHERE v.Cliente = c.Cliente | |
AND c.Cliente = ct.Cliente | |
AND v.Atencion = ct.Nombre | |
AND v.Agente = ag.Agente | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND v.Agente BETWEEN @AgenteD AND @AgenteA | |
-- AND ((v.FechaInicioC is not Null And v.FechaInicioC BETWEEN @FechaD AND @FechaA) or (Isnull(v.FechaInicioC,'')=Isnull(v.FechaInicioC,''))) | |
-- Por Indicaciones de RGC y JSU se deshabilito el filtro de Fecha para que salgan todas las pendientes 18/10/2013. | |
AND v.Mov ='Cotización Cliente' | |
AND v.Estatus='PENDIENTE' | |
AND v.Empresa = Isnull(@Empresa,v.Empresa) | |
And IsNull(v.Sucursal, '') = IsNull(IsNull(@Sucursal, v.Sucursal), '') | |
-- AND ag.Categoria = IsNull(@Categoria,ag.Categoria) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
And ag.Familia=Isnull(@Familia,ag.Familia) | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And Substring(v.Mov,5,1)<>'-' ---esto es para que no incluya las subctoizaciones | |
And v.Situacion in('PARA EVALUACION','NEGOCIACIÓN CLIENTE') | |
--exec spEmbudoVentasABC 'ALOPEZ2','(Todos)','(Todos)','AGP','ZZZZZZ', '01/01/2014','01/31/2014','LMA',0 | |
--- | |
DECLARE crAuxiliar CURSOR FOR | |
SELECT ID From #EmbudoVenta | |
OPEN crAuxiliar | |
FETCH NEXT FROM crAuxiliar INTO @ID | |
WHILE @@FETCH_STATUS <> -1 And @@Error=0 | |
BEGIN | |
IF @@FETCH_STATUS <> -2 | |
Begin | |
Select @IDRelacion=(Select Max(ID) From crmventas Where idventas=@ID) | |
Update #EmbudoVenta | |
Set FechaSeguimiento=c.FechaSeguimiento, | |
MovCrm =c.Mov, | |
MovIdCrm =c.Movid, | |
FechaActividad =c.FechaActividad, | |
Objetivo =c.Objetivo, | |
Compromiso =c.Compromisos, | |
ImporteP =IsNull(((a.Importe*IsNull(c.Cumplimiento,0))/100),0), | |
Porcentaje =IsNull(c.Cumplimiento,0) | |
From #EmbudoVenta a,crmVentas c | |
Where c.ID=@IdRelacion | |
And a.ID=@ID | |
--Where Current of crAuxiliar | |
End | |
FETCH NEXT FROM crAuxiliar INTO @ID | |
END | |
CLOSE crAuxiliar | |
DEALLOCATE crAuxiliar | |
--- | |
SELECT * Into #EmbudoVenta2 FROM #EmbudoVenta --WHERE ORDEN=1 | |
Where ((FechaSeguimiento is not Null And FechaSeguimiento BETWEEN @FechaD AND @FechaA) or (FechaSeguimiento is Null)) | |
/****Se quita el Filtro por FechaSituacion y Se cambia por FechaSeguimiento, solicitado por JS 12-02-2008 USB | |
Where ((FechaSituacion is not Null And FechaSituacion BETWEEN @FechaD AND @FechaA) or (Fechasituacion is Null)) | |
*****/ | |
DECLARE crAuxiliar CURSOR FOR | |
SELECT Distinct Agente,Moneda From #EmbudoVenta2 | |
OPEN crAuxiliar | |
FETCH NEXT FROM crAuxiliar INTO @Agente,@Moneda | |
WHILE @@FETCH_STATUS <> -1 And @@Error=0 | |
BEGIN | |
IF @@FETCH_STATUS <> -2 | |
Begin | |
SELECT DISTINCT Situacion, Mov,Moneda | |
INTO #ResumenSit | |
FROM #EmbudoVenta2 | |
Where Agente=@Agente | |
ORDER BY Situacion | |
SELECT Situacion, Mov, CantidadSituacion = COUNT(Situacion) | |
INTO #ResumenSitCant | |
FROM #EmbudoVenta2 | |
Where Agente=@Agente | |
GROUP BY Situacion, Mov | |
ORDER BY Situacion | |
SELECT Situacion, Mov, ImporteSituacion = SUM(Importe) | |
INTO #ResumenSitImp | |
FROM #EmbudoVenta2 | |
Where Agente=@Agente | |
GROUP BY Situacion, Mov | |
ORDER BY Situacion | |
SELECT Situacion, Mov, ImporteSituacionP = SUM(ImporteP) | |
INTO #ResumenSitImpP | |
FROM #EmbudoVenta2 | |
Where Agente=@Agente | |
GROUP BY Situacion, Mov | |
ORDER BY Situacion | |
Select @Grupo=(Select Grupo FRom Agente Where Agente=@Agente) | |
Select @Familia=(Select Familia FRom Agente Where Agente=@Agente) | |
INSERT #EmbudoVenta2 | |
(Orden,Agente, Grupo,Familia,Moneda,Situacion, Mov, CantidadSituacion, ImporteSituacion, ImporteSituacionP) | |
SELECT 2, @Agente,@Grupo,@Familia,a.Moneda,a.Situacion, a.Mov, b.CantidadSituacion, c.ImporteSituacion, d.ImporteSituacionP | |
FROM #ResumenSit a, #ResumenSitCant b, #ResumenSitImp c, #ResumenSitImpP d | |
WHERE a.Situacion = b.Situacion AND a.Mov = b.Mov | |
AND a.Situacion = c.Situacion AND a.Mov = c.Mov | |
AND a.Situacion = d.Situacion AND a.Mov = d.Mov | |
ORDER BY a.Situacion, a.Mov | |
Drop Table #ResumenSit | |
Drop Table #ResumenSitCant | |
Drop Table #ResumenSitImp | |
Drop Table #ResumenSitImpP | |
End | |
FETCH NEXT FROM crAuxiliar INTO @Agente,@Moneda | |
END | |
CLOSE crAuxiliar | |
DEALLOCATE crAuxiliar | |
Update #EmbudoVenta2 Set ImporteP=0 Where ImporteP Is Null | |
IF @Zona='METRO' | |
Begin | |
SELECT * FROM #EmbudoVenta2 ORDER BY Grupo, NomAgente, Orden, FechaActividad, Situacion dESC | |
End | |
Else | |
IF @Zona<>'METRO' | |
Begin | |
SELECT * FROM #EmbudoVenta2 ORDER BY Grupo, Agente, Orden, FechaActividad, Situacion dESC | |
End | |
END | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/****** Object: StoredProcedure [dbo].[sp_Ctes_Arranque] Script Date: 05/02/2017 11:28:36 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
ALTER Procedure [dbo].[sp_Ctes_Arranque] | |
@Usuario Char(10), | |
@Familia Varchar(50), | |
@Grupo varchar(50), | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@FechaD Datetime, | |
@FechaA Datetime, | |
@Empresa char(5), | |
@Sucursal int, | |
@Zona Varchar(30) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
As | |
Begin | |
Create Table #Venta( | |
Agente char(10) Null, | |
AgenteNom varchar(100) Null, | |
Cliente char(10) Null, | |
Nombre varchar(100) Null, | |
FechaArranque DateTime Null, | |
FechaResultados DateTime Null, | |
CMov char(20) Null, | |
CMovID varchar(20) Null, | |
CFechaEmision DateTime Null, | |
CImporte Money Null, | |
FMov char(20) Null, | |
FMovID varchar(20) Null, | |
FFechaEmision DateTime Null, | |
FImporte Money Null | |
) | |
/***Consulta para el Reporte***/ | |
--sp_Ctes_Arranque '{Usuario}', '{Info.Gerencias}', '{Info.CoordinacionABC}', '{Info.AgenteD}', '{Info.AgenteA}','{Info.FechaD}', '{Info.FechaA}', '{Empresa}' | |
/***Forma Previa***/ | |
--EspecificarAgentesFiltro | |
--sp_Ctes_Arranque 'GVT', '(Todos)', '(Todos)', 'AMO', 'RJM', '01-12-2007', '31-12-2007', 'LABC' | |
Declare | |
@Cliente char(10), | |
@Nombre varchar(100), | |
@FechaArranque DateTime, | |
@FechaResultados DateTime, | |
@Mov char(20), | |
@MovID varchar(20), | |
@FechaEmision Datetime, | |
@Importe Money, | |
@ID Int, | |
@Agente char(10), | |
@AgenteNom varchar(100), | |
@Categoria VarChar(50) | |
Execute spValidaAgentesGABC | |
@Usuario, | |
@Empresa, | |
@Categoria OUTPUT, | |
@Familia OUTPUT, | |
@Grupo OUTPUT, | |
@AgenteD OUTPUT, | |
@AgenteA OUTPUT, | |
@Zona OUTPUT --cambiado/agregado para nuevo filtro Diciembre 2014 | |
IF @Empresa not in(Select Empresa From Empresa) or @Empresa in('','null','NULL') | |
Begin | |
Select @Empresa=null | |
End | |
IF @Zona not in(Select Distinct Zona From Agente) or @Zona in('','null','NULL') | |
Begin | |
Select @Zona=null | |
End | |
Set @ID=0 | |
Select c.Agente, AgenteNom=ag.Nombre, c.Cliente, c.Nombre, FechaArranque, FechaResultados | |
Into #Ctes | |
From Cte c | |
Left Outer Join Agente ag On ag.Agente=c.Agente | |
Where c.FechaArranque Between @FechaD And @FechaA--c.FechaArranque >=@FechaD And c.FechaResultados <=@FechaA | |
And ag.Agente between @AgenteD And @AgenteA | |
--And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
Declare CrCtes Cursor For | |
Select Agente, AgenteNom, Cliente, Nombre, FechaArranque, FechaResultados From #Ctes | |
Open CrCtes | |
Fetch Next From CrCtes Into | |
@Agente, @AgenteNom, @Cliente, @Nombre, @FechaArranque, @FechaResultados | |
While @@Fetch_Status <> -1 And @@Error =0 | |
Begin | |
IF @@Fetch_Status <> -2 | |
Begin | |
Insert Into #Venta(Agente, AgenteNom, Cliente, Nombre, CMovID, FechaArranque, FechaResultados, CFechaEmision, CImporte, FMov, FMovID, FFechaEmision, FImporte, CMov) | |
Values (@Agente, @AgenteNom, @Cliente, @Nombre, Null, @FechaArranque, @FechaResultados, Null, 0, 'Factura', '0', 0, 0, 'Cotización Cliente') | |
Declare CrVentas Cursor For | |
Select Mov, MovID, FechaEmision, ((Importe+Impuestos)*TipoCambio) From Venta | |
Where FechaEmision Between @FechaArranque And @FechaResultados And Cliente=@Cliente | |
And IsNull(Sucursal, '') = IsNull(IsNull(@Sucursal, Sucursal), '') | |
And Mov='Cotización Cliente' And Estatus In ('PENDIENTE', 'CONCLUIDO') And MovID Not Like'%-%' | |
Open CrVentas | |
Fetch Next From CrVentas Into | |
@Mov, @MovID, @FechaEmision, @Importe | |
While @@Fetch_Status <> -1 And @@Error =0 | |
Begin | |
IF @@Fetch_Status <> -2 | |
Begin | |
IF @Mov Is Not Null | |
Begin | |
Insert Into #Venta(Agente, AgenteNom, Cliente, Nombre, CMov, CMovID, FechaArranque, FechaResultados, CFechaEmision, CImporte, FMov, FMovID, FFechaEmision, FImporte) | |
Values | |
(@Agente, @AgenteNom, @Cliente, @Nombre, @Mov, @MovID, @FechaArranque, @FechaResultados, @FechaEmision, @Importe, 'Factura', '0', 0, 0) | |
End | |
End | |
Fetch Next From CrVentas Into | |
@Mov, @MovID, @FechaEmision, @Importe | |
End | |
Close CrVentas | |
Deallocate CrVentas | |
End | |
Fetch Next From CrCtes Into | |
@Agente, @AgenteNom, @Cliente, @Nombre, @FechaArranque, @FechaResultados | |
End | |
Close CrCtes | |
Deallocate CrCtes | |
Declare CrCtes Cursor For | |
Select Agente, AgenteNom, Cliente, Nombre, FechaArranque, FechaResultados From #Ctes | |
Open CrCtes | |
Fetch Next From CrCtes Into | |
@Agente, @AgenteNom, @Cliente, @Nombre, @FechaArranque, @FechaResultados | |
While @@Fetch_Status <> -1 And @@Error =0 | |
Begin | |
IF @@Fetch_Status <> -2 | |
Begin | |
Declare CrVentas Cursor For | |
Select Mov, MovID, FechaEmision, ((Importe+Impuestos)*TipoCambio) From Venta | |
Where FechaEmision Between @FechaArranque And @FechaResultados And Cliente=@Cliente | |
And IsNull(Sucursal, '') = IsNull(IsNull(@Sucursal, Sucursal), '') | |
And Mov='Factura' And Estatus='CONCLUIDO' | |
Open CrVentas | |
Fetch Next From CrVentas Into | |
@Mov, @MovID, @FechaEmision, @Importe | |
While @@Fetch_Status <> -1 And @@Error =0 | |
Begin | |
IF @@Fetch_Status <> -2 | |
Begin | |
IF @Mov Is Not Null | |
Begin | |
Insert Into #Venta(Agente, AgenteNom, CMov, CMovID, CFechaEmision, CImporte, Cliente, Nombre, FMov, FMovID, FechaArranque, FechaResultados, FFechaEmision, FImporte) | |
Values | |
(@Agente, @AgenteNom, 'Cotización Cliente', '0', 0, 0, @Cliente, @Nombre, @Mov, @MovID, @FechaArranque, @FechaResultados, @FechaEmision, @Importe) | |
End | |
End | |
Fetch Next From CrVentas Into | |
@Mov, @MovID, @FechaEmision, @Importe | |
End | |
Close CrVentas | |
Deallocate CrVentas | |
End | |
Fetch Next From CrCtes Into | |
@Agente, @AgenteNom, @Cliente, @Nombre, @FechaArranque, @FechaResultados | |
End | |
Close CrCtes | |
Deallocate CrCtes | |
IF @Zona='METRO' | |
Begin | |
Select AgenteNom, Cliente, Nombre, FechaArranque, FechaResultados, CMov, CImporte=Sum(CImporte), FMov, FImporte=Sum(FImporte) From #Venta | |
Group By AgenteNom, Cliente, Nombre, FechaArranque, FechaResultados, CMov, FMov | |
Order By FImporte Desc | |
End | |
Else | |
IF @Zona<>'METRO' or @Zona IS NULL | |
Begin | |
Select Agente, AgenteNom, Cliente, Nombre, FechaArranque, FechaResultados, CMov, CImporte=Sum(CImporte), FMov, FImporte=Sum(FImporte) From #Venta | |
Group By Agente, AgenteNom, Cliente, Nombre, FechaArranque, FechaResultados, CMov, FMov | |
Order By FImporte Desc | |
End | |
End | |
--select * from cte where fechaarranque is not null | |
/* | |
Verion anterior 02/05/2017 | |
--select * from #Venta | |
Select Agente, AgenteNom, Cliente, Nombre, FechaArranque, FechaResultados, CMov, CImporte=Sum(CImporte), FMov, FImporte=Sum(FImporte) From #Venta | |
Group By Agente, AgenteNom, Cliente, Nombre, FechaArranque, FechaResultados, CMov, FMov | |
Order By FImporte Desc | |
*/ | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/****** Object: StoredProcedure [dbo].[sp_EstatusGanadosyPerdidos] Script Date: 04/28/2017 14:16:25 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
ALTER Procedure [dbo].[sp_EstatusGanadosyPerdidos] | |
@Usuario Char(10), | |
@Familia Varchar(50), | |
@Grupo varchar(50), | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@FechaD Datetime, | |
@FechaA Datetime, | |
@Empresa char(5), | |
@Sucursal int, | |
@Zona Varchar(30) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
As | |
Begin | |
--select @Usuario='GVT' | |
Declare | |
@Categoria VarChar(50) | |
--Select @Sucursal=NullIF(@Sucursal, '') | |
exec spValidaAgentesGABC | |
@Usuario, | |
@Empresa, | |
@Categoria OUTPUT, | |
@Familia OUTPUT, | |
@Grupo OUTPUT, | |
@AgenteD OUTPUT, | |
@AgenteA OUTPUT, | |
@Zona OUTPUT --cambiado/agregado para nuevo filtro Diciembre 2014 | |
IF @Empresa not in(Select Empresa From Empresa) or @Empresa in('','null','NULL') | |
Begin | |
Select @Empresa=null | |
End | |
IF @Zona not in(Select Distinct Zona From Agente) or @Zona in('','null','NULL') | |
Begin | |
Select @Zona=null | |
End | |
Create Table #Movs( | |
ID Int Null, | |
Agente char(10) Null, | |
AgenteNombre char(100) Null, | |
Movimiento varchar(40) Null, | |
Cliente char(10) Null, | |
CteNombre varchar(100) Null, | |
Estatus char(15) Null, | |
FechaEmision datetime Null, | |
FechaInicioO datetime Null, | |
FechaInicioC datetime Null, | |
Importe Money Null, | |
MovimientoD varchar(40) Null, | |
EstatusD char(15) Null, | |
FechaEmisionD datetime Null, | |
Porcentaje int Null, | |
GanadosenTiempo int Null, | |
TotalGanados Int Null, | |
TotalPerdidos Int Null, | |
ImporteGanados Money Null, | |
ImportePerdidos Money Null, | |
TotalOrdenes int Null) | |
Insert Into #Movs | |
Select v.ID, v.Agente, AgenteNombre=a.Nombre, Movimiento=(Ltrim(Rtrim(v.Mov))+' '+Ltrim(Rtrim(v.MovID))), v.Cliente, | |
CteNombre=c.Nombre, | |
v.Estatus, | |
v.FechaEmision, | |
FechaInicioO=v.FechaInicioC, | |
FechaInicioC=DateAdd(day, 10, v.FechaInicioC), v.Importe, | |
MovimientoD=(Ltrim(Rtrim(v1.Mov))+' '+Ltrim(Rtrim(v1.MovID))), EstatusD=v1.Estatus, FechaEmisionD=v1.FechaEmision, | |
Porcentaje=Case | |
When v1.Mov='Cotizacion Concluida' And v1.FechaEmision <=DateAdd(day, 10, v.FechaInicioC) And v1.Estatus='CONCLUIDO' | |
Then 100 Else 0 End, | |
GanadosenTiempo=Case | |
When v1.Mov='Cotizacion Concluida' And v1.FechaEmision <=DateAdd(day, 10, v.FechaInicioC) And v1.Estatus='CONCLUIDO' And v1.Estatus='CONCLUIDO' | |
Then 1 Else 0 End, | |
TotalGanados=Case | |
When v1.Mov='Cotizacion Concluida' And v1.Estatus='CONCLUIDO' | |
Then 1 Else 0 End, | |
TotalPerdidos=Case | |
When v1.Mov='Venta Perdida' And v1.Estatus='CONCLUIDO' | |
Then 1 Else 0 End, | |
ImporteGanados=Case | |
When v1.Mov='Cotizacion Concluida' --And v1.FechaEmision <=DateAdd(day, 10, v.FechaInicioC) And v1.Estatus='CONCLUIDO' | |
Then v.Importe Else 0 End, | |
ImportePerdidos=Case | |
When v1.Mov='Venta Perdida' And v1.Estatus='CONCLUIDO' | |
Then v.Importe Else 0 End, | |
TotalOrdenes=1 | |
From Venta v | |
Join Venta v1 On v1.Origen=v.Mov And v1.OrigenID=v.MovID And v1.Empresa=Isnull(@Empresa,v1.Empresa) And v1.Mov in ('Cotizacion Concluida', 'Venta Perdida') And v1.Estatus ='CONCLUIDO' | |
And IsNull(v1.Sucursal, '') = IsNull(IsNull(@Sucursal, v1.Sucursal), '') | |
Left Outer Join Agente a On a.Agente=v.Agente | |
Join Cte c On c.Cliente=v.Cliente | |
Where v.Mov='Cotización Cliente' And v.Estatus In ('CONCLUIDO', 'PENDIENTE', 'SINAFECTAR') And v.MovID Not Like '%-%' | |
--And v1.Estatus In('CONCLUIDO', Null) | |
--And IsNull(a.Categoria, '') = IsNull(IsNull(@Categoria, a.Categoria), '') | |
And IsNull(a.Familia, '') = IsNull(IsNull(@Familia, a.Familia), '') | |
And IsNull(a.Grupo, '') = IsNull(IsNull(@Grupo, a.Grupo), '') | |
And a.Agente Between @AgenteD And @AgenteA | |
And a.Zona=Isnull(@Zona,a.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And v.Empresa=Isnull(@Empresa,v.Empresa) And v.FechaInicioC Between @FechaD And @FechaA | |
And IsNull(v.Sucursal, '') = IsNull(IsNull(@Sucursal, v.Sucursal), '') | |
Order By v.Agente, v.FechaInicioC | |
--sp_EstatusGanadosyPerdidos 'GVT', '(Todos)', '(Todos)', 'MAC', 'MAC', '01-05-2008', '31-05-2008', 'LABC', 1 | |
IF @Zona='METRO' | |
Begin | |
Select * From #Movs Order By AgenteNombre, FechaInicioC -- Where MovimientoD Is Not Null | |
End | |
Else | |
IF @Zona<>'METRO' or @Zona IS NULL | |
Begin | |
Select * From #Movs-- Where MovimientoD Is Not Null | |
End | |
End | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/****** Object: StoredProcedure [dbo].[sp_MontoCotvsCuoCot] Script Date: 04/27/2017 16:00:50 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
ALTER Procedure [dbo].[sp_MontoCotvsCuoCot] | |
@Grupo varchar(50), | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@Ejercicio int, | |
@Periodo int, | |
@Empresa char(5), | |
@Usuario Char(10), | |
@Familia Varchar(50), | |
@Sucursal int, | |
@Zona Varchar(30) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
As | |
Begin | |
--sp_MontoCotvsCuoCot '(Todos)', 'AAM', 'ZZZZZZ', 2015, 1, 'LABC', 'GDA010', '(Todos)',1,'OCCIDENTE' | |
Declare | |
@Categoria VarChar(50), | |
@PrimerDiaMes Datetime, | |
@UltimoDiaMes Datetime, | |
@IniSemana1 Datetime, | |
@FinSemana1 Datetime, | |
@IniSemana2 Datetime, | |
@FinSemana2 Datetime, | |
@IniSemana3 Datetime, | |
@FinSemana3 Datetime, | |
@IniSemana4 Datetime, | |
@FinSemana4 Datetime, | |
@IniSemana5 Datetime, | |
@FinSemana5 Datetime, | |
@Dias1 int, | |
@Dias2 int, | |
@Dias3 int, | |
@Dias4 int, | |
@Dias5 int, | |
@GruX varchar(50), | |
@AgeX char(10), | |
@ImpX money, | |
@Cuota money, | |
@FechaX Datetime, | |
@CuotaDia money | |
IF Exists (Select * From SysObjects Where ID =Object_ID('dbo.FactCuotaC') And Type ='U') | |
Drop Table dbo.FactCuotaC | |
CREATE TABLE FactCuotaC ( | |
Valor Int Null, | |
Grupo varchar(50) NULL, | |
Agente char(10) NULL, | |
AgenteNombre varchar(100) NULL, | |
Mov char(30) Null, | |
Cuota1 money NULL, | |
Importe1 money NULL, | |
FechaD1 Datetime NULL, | |
FechaA1 Datetime NULL, | |
Cuota2 money NULL, | |
Importe2 money NULL, | |
FechaD2 Datetime NULL, | |
FechaA2 Datetime NULL, | |
Cuota3 money NULL, | |
Importe3 money NULL, | |
FechaD3 Datetime NULL, | |
FechaA3 Datetime NULL, | |
Cuota4 money NULL, | |
Importe4 money NULL, | |
FechaD4 Datetime NULL, | |
FechaA4 Datetime NULL, | |
Cuota5 money NULL, | |
Importe5 money NULL, | |
FechaD5 Datetime NULL, | |
FechaA5 Datetime NULL) | |
exec spValidaAgentesGABC | |
@Usuario, | |
@Empresa, | |
@Categoria OUTPUT, | |
@Familia OUTPUT, | |
@Grupo OUTPUT, | |
@AgenteD OUTPUT, | |
@AgenteA OUTPUT, | |
@Zona OUTPUT --cambiado/agregado para nuevo filtro Diciembre 2014 | |
SELECT @PrimerDiaMes = CONVERT(Datetime, '01/'+CONVERT(char(2), @Periodo)+'/'+CONVERT(char(4), @Ejercicio), 103) | |
SELECT @UltimoDiaMes = DATEADD(m, 1, @PrimerDiaMes) - 1 | |
SELECT @IniSemana1 = @PrimerDiaMes | |
SELECT @FinSemana1 = @IniSemana1 + 6 | |
SELECT @Dias1 = DATEDIFF(d, @IniSemana1, @FinSemana1) + 1 | |
SELECT @IniSemana2 = @FinSemana1 + 1 | |
SELECT @FinSemana2 = @IniSemana2 + 6 | |
SELECT @Dias2 = DATEDIFF(d, @IniSemana2, @FinSemana2) + 1 | |
SELECT @IniSemana3 = @FinSemana2 + 1 | |
SELECT @FinSemana3 = @IniSemana3 + 6 | |
SELECT @Dias3 = DATEDIFF(d, @IniSemana3, @FinSemana3) + 1 | |
SELECT @IniSemana4 = @FinSemana3 + 1 | |
SELECT @FinSemana4 = @IniSemana4 + 6 | |
SELECT @Dias4 = DATEDIFF(d, @IniSemana4, @FinSemana4) + 1 | |
IF @FinSemana4 < @UltimoDiaMes | |
BEGIN | |
SELECT @IniSemana5 = @FinSemana4 + 1 | |
SELECT @FinSemana5 = @UltimoDiaMes | |
SELECT @Dias5 = DATEDIFF(d, @IniSemana5, @FinSemana5) + 1 | |
END | |
Select v.ID, v.Agente, AgenteNombre=a.Nombre, a.Grupo, MovO=v.Mov, MovIDO=v.MovID, v.Cliente, CteNombre=c.Nombre, | |
v.Estatus, v.FechaEmision, v.FechaInicioC, v.Importe, | |
Cuota = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = a.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), | |
MovD=v1.Mov, MovIDD=v1.MovID, EstatusD=v1.Estatus, FechaEmisionD=v1.FechaEmision, ImporteD=v1.Importe, | |
Porcentaje=Case | |
When v1.Mov='Cotizacion Concluida' And v1.FechaEmision Between @IniSemana1 And @UltimoDiaMes And v1.Estatus='CONCLUIDO' | |
Then 100 Else 0 End, | |
GanadosenTiempo=Case | |
When v1.Mov='Cotizacion Concluida' And v1.FechaEmision Between @IniSemana1 And @UltimoDiaMes And v1.Estatus='CONCLUIDO' | |
Then 1 Else 0 End, | |
TotalGanados=Case | |
When v1.Mov='Cotizacion Concluida' And v1.Estatus='CONCLUIDO' | |
Then 1 Else 0 End, | |
TotalPerdidos=Case | |
When v1.Mov='Venta Perdida' And v1.Estatus='CONCLUIDO' | |
Then 1 Else 0 End, | |
ImporteGanados=Case | |
When v1.Mov='Cotizacion Concluida' And v1.FechaEmision Between @IniSemana1 And @UltimoDiaMes And v1.Estatus='CONCLUIDO' | |
Then v.Importe Else 0 End, | |
TotalOrdenes=1 | |
Into #Concentrado | |
From Venta v | |
Left Outer Join Venta v1 On v1.Origen=v.Mov And v1.OrigenID=v.MovID | |
Left Outer Join Agente a On a.Agente=v.Agente | |
Join Cte c On c.Cliente=v.Cliente | |
Where v.Mov='Cotización Cliente' And v.Estatus In ('CONCLUIDO', 'PENDIENTE', 'SINAFECTAR') And v.MovID Not Like '%-%' | |
--And v1.Estatus In('CONCLUIDO', Null) | |
And IsNull(a.Categoria, '') = IsNull(IsNull(@Categoria, a.Categoria), '') | |
And IsNull(a.Familia, '') = IsNull(IsNull(@Familia, a.Familia), '') | |
And IsNull(a.Grupo, '') = IsNull(IsNull(@Grupo, a.Grupo), '') | |
And a.Agente Between @AgenteD And @AgenteA | |
And a.Zona=Isnull(@Zona,a.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And v.Empresa=@Empresa And v.Periodo=@Periodo | |
And IsNull(v.Sucursal, '') = IsNull(IsNull(@Sucursal, v.Sucursal), '') | |
Order By v.Agente, v.MovID | |
--SELECT * FROM #Concentrado---QUITAR QUITAR QUITAR | |
--sp_MontoCotvsCuoCot '(Todos)', 'AAM', 'ZZZZZZ', 2015, 1, 'LABC', 'GDA010', '(Todos)',1,'OCCIDENTE' | |
INSERT FactCuotaC (Valor, Agente, AgenteNombre, Grupo, Mov, Importe1, FechaD1, FechaA1, Importe2, FechaD2, FechaA2, Importe3, FechaD3, FechaA3, Importe4, FechaD4, FechaA4, Importe5, FechaD5, FechaA5) | |
-- SE INSERTA LA CUOTA TRIPLEPLICADA | |
Select 10, Agente, AgenteNombre, Grupo, 'CUOTA TRIPLE POR COTIZAR', Cuota*3 / Day(@UltimoDiaMes)* @Dias1, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 10, Agente, AgenteNombre, Grupo, 'CUOTA TRIPLE POR COTIZAR', Null, @IniSemana1, @FinSemana1, Cuota*3 / Day(@UltimoDiaMes)* @Dias2, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 10, Agente, AgenteNombre, Grupo, 'CUOTA TRIPLE POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Cuota*3 / Day(@UltimoDiaMes)* @Dias3, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 10, Agente, AgenteNombre, Grupo, 'CUOTA TRIPLE POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Cuota*3 / Day(@UltimoDiaMes)* @Dias4, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 10, Agente, AgenteNombre, Grupo, 'CUOTA TRIPLE POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Cuota*3 / Day(@UltimoDiaMes)* @Dias5, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
-- SE INSERTA LA CUOTA DE COTIZACIONES | |
Select 20, Agente, AgenteNombre, Grupo, MovO, Sum(Importe), @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana1 AND @FinSemana1 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, MovO | |
Union | |
Select 20, Agente, AgenteNombre, Grupo, MovO, Null, @IniSemana1, @FinSemana1, Sum(Importe), @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana2 AND @FinSemana2 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, MovO | |
Union | |
Select 20, Agente, AgenteNombre, Grupo, MovO, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Sum(Importe), @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana3 AND @FinSemana3 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, MovO | |
Union | |
Select 20, Agente, AgenteNombre, Grupo, MovO, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Sum(Importe), @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana4 AND @FinSemana4 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, MovO | |
Union | |
Select 20, Agente, AgenteNombre, Grupo, MovO, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Sum(Importe), @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana5 AND @FinSemana5 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, MovO | |
Union | |
-- SE INSERTA LOS PORCENTAJES ALCANZADOS | |
Select 25, Agente, AgenteNombre, Grupo, '% ALCANZADO TRIPLE', (Sum(Importe) * 100) / (Cuota * 3 / Day(@UltimoDiaMes)* @Dias1), @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana1 AND @FinSemana1 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 25, Agente, AgenteNombre, Grupo, '% ALCANZADO TRIPLE', Null, @IniSemana1, @FinSemana1, (Sum(Importe) * 100) / (Cuota * 3 / Day(@UltimoDiaMes)* @Dias2), @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana2 AND @FinSemana2 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 25, Agente, AgenteNombre, Grupo, '% ALCANZADO TRIPLE', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, (Sum(Importe) * 100) / (Cuota * 3 / Day(@UltimoDiaMes)* @Dias3), @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana3 AND @FinSemana3 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 25, Agente, AgenteNombre, Grupo, '% ALCANZADO TRIPLE', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, (Sum(Importe) * 100) / (Cuota * 3 / Day(@UltimoDiaMes)* @Dias4), @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana4 AND @FinSemana4 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 25, Agente, AgenteNombre, Grupo, '% ALCANZADO TRIPLE', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, (Sum(Importe) * 100) / (Cuota * 3 / Day(@UltimoDiaMes)* @Dias5), @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana5 AND @FinSemana5 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
-- SE INSERTA LA CUOTA SENCILLA | |
Select 30, Agente, AgenteNombre, Grupo, 'CUOTA SENCILLA POR COTIZAR', Cuota / Day(@UltimoDiaMes)* @Dias1, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 30, Agente, AgenteNombre, Grupo, 'CUOTA SENCILLA POR COTIZAR', Null, @IniSemana1, @FinSemana1, Cuota / Day(@UltimoDiaMes)* @Dias2, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 30, Agente, AgenteNombre, Grupo, 'CUOTA SENCILLA POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Cuota / Day(@UltimoDiaMes)* @Dias3, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 30, Agente, AgenteNombre, Grupo, 'CUOTA SENCILLA POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Cuota / Day(@UltimoDiaMes)* @Dias4, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 30, Agente, AgenteNombre, Grupo, 'CUOTA SENCILLA POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Cuota / Day(@UltimoDiaMes)* @Dias5, @IniSemana5, @FinSemana5 From #Concentrado | |
-- SE INSERTA LA CUOTA COTIZACIONES CONCLUIDAS | |
Union | |
Select 40, Agente, AgenteNombre, Grupo, MovD, Sum(ImporteD), @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana1 AND @FinSemana1 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 40, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Sum(ImporteD), @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana2 AND @FinSemana2 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 40, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Sum(ImporteD), @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana3 AND @FinSemana3 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 40, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Sum(ImporteD), @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana4 AND @FinSemana4 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 40, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Sum(ImporteD), @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana5 AND @FinSemana5 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
-- SE INSERTA EL PORCENTAJE ALCANZADO ENTRE COTIZACIONES CONCLUIDAS Y CUOTA SENCILLA | |
Union | |
Select 45, Agente, AgenteNombre, Grupo, '% ALCANZADO SENCILLO', (Sum(ImporteD) * 100) / (Cuota / Day(@UltimoDiaMes)* @Dias1), @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana1 AND @FinSemana1 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 45, Agente, AgenteNombre, Grupo, '% ALCANZADO SENCILLO', Null, @IniSemana1, @FinSemana1, (Sum(ImporteD) * 100) / (Cuota / Day(@UltimoDiaMes)* @Dias2), @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana2 AND @FinSemana2 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 45, Agente, AgenteNombre, Grupo, '% ALCANZADO SENCILLO', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, (Sum(ImporteD) * 100) / (Cuota / Day(@UltimoDiaMes)* @Dias3), @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana3 AND @FinSemana3 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 45, Agente, AgenteNombre, Grupo, '% ALCANZADO SENCILLO', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, (Sum(ImporteD) * 100) / (Cuota / Day(@UltimoDiaMes)* @Dias4), @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana4 AND @FinSemana4 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 45, Agente, AgenteNombre, Grupo, '% ALCANZADO SENCILLO', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, (Sum(ImporteD) * 100) / (Cuota / Day(@UltimoDiaMes)* @Dias5), @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana5 AND @FinSemana5 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
-- SE INSERTA LA CUOTA DE VENTAS PERDIDAS | |
Select 50, Agente, AgenteNombre, Grupo, MovD, Sum(ImporteD), @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana1 AND @FinSemana1 And MovD='Venta Perdida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 50, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Sum(ImporteD), @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana2 AND @FinSemana2 And MovD='Venta Perdida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 50, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Sum(ImporteD), @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana3 AND @FinSemana3 And MovD='Venta Perdida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 50, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Sum(ImporteD), @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana4 AND @FinSemana4 And MovD='Venta Perdida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 50, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Sum(ImporteD), @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana5 AND @FinSemana5 And MovD='Venta Perdida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Update FactCuotaC Set Mov='MONTO REAL COTIZADO' Where Mov='Cotización Cliente' | |
Update FactCuotaC Set Mov='CUOTA SENC. POR CERRAR' Where Mov='CUOTA SENCILLA POR COTIZAR' | |
Update FactCuotaC Set Mov='COTIZACIONES CERRADAS' Where Mov='Cotizacion Concluida' | |
Update FactCuotaC Set Mov='% ALCANZADO' Where Mov='% ALCANZADO SENCILLO' | |
Update FactCuotaC Set Mov='MONTO VENTA PERDIDA' Where Mov='Venta Perdida' | |
IF @Zona='METRO' | |
Begin | |
Select Valor, Grupo, AgenteNombre, Mov, | |
Importe1=Sum(Importe1), FechaD1, FechaA1, | |
Importe2=Sum(Importe2), FechaD2, FechaA2, | |
Importe3=Sum(Importe3), FechaD3, FechaA3, | |
Importe4=Sum(Importe4), FechaD4, FechaA4, | |
Importe5=Sum(Importe5), FechaD5, FechaA5 | |
From FactCuotaC | |
Group By Valor, Grupo, AgenteNombre, Mov, | |
FechaD1, FechaA1, | |
FechaD2, FechaA2, | |
FechaD3, FechaA3, | |
FechaD4, FechaA4, | |
FechaD5, FechaA5 | |
Order By Grupo, AgenteNombre, Valor | |
End | |
Else | |
IF @Zona<>'METRO' or @Zona IS NULL | |
Begin | |
Select Valor, Grupo, Agente, AgenteNombre, Mov, | |
Importe1=Sum(Importe1), FechaD1, FechaA1, | |
Importe2=Sum(Importe2), FechaD2, FechaA2, | |
Importe3=Sum(Importe3), FechaD3, FechaA3, | |
Importe4=Sum(Importe4), FechaD4, FechaA4, | |
Importe5=Sum(Importe5), FechaD5, FechaA5 | |
From FactCuotaC | |
Group By Valor, Grupo, Agente, AgenteNombre, Mov, | |
FechaD1, FechaA1, | |
FechaD2, FechaA2, | |
FechaD3, FechaA3, | |
FechaD4, FechaA4, | |
FechaD5, FechaA5 | |
Order By Grupo, Agente, Valor | |
End | |
End |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/****** Object: StoredProcedure [dbo].[sp_MontoCotvsCuoCot] Script Date: 04/27/2017 19:07:13 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
ALTER Procedure [dbo].[sp_MontoCotvsCuoCot] | |
@Grupo varchar(50), | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@Ejercicio int, | |
@Periodo int, | |
@Empresa char(5), | |
@Usuario Char(10), | |
@Familia Varchar(50), | |
@Sucursal int, | |
@Zona Varchar(30) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
As | |
Begin | |
IF @Empresa not in(Select Empresa From Empresa) or @Empresa in('','null','NULL') | |
Begin | |
Select @Empresa=null | |
End | |
IF @Grupo IN ('NULL', '', '0', '(Todos)') SELECT @Grupo = NULL | |
IF @Familia IN ('NULL', '', '0', '(Todos)') SELECT @Familia = NULL | |
IF @Ejercicio = 0 SELECT @Ejercicio = YEAR(GETDATE()) | |
IF @Zona not in(Select Distinct Zona From Agente) or @Zona in('','null','NULL') | |
Begin | |
Select @Zona=null | |
End | |
--sp_MontoCotvsCuoCot '(Todos)', 'AAM', 'ZZZZZZ', 2015, 1, 'LABC', 'GDA010', '(Todos)',1,'OCCIDENTE' | |
Declare | |
@Categoria VarChar(50), | |
@PrimerDiaMes Datetime, | |
@UltimoDiaMes Datetime, | |
@IniSemana1 Datetime, | |
@FinSemana1 Datetime, | |
@IniSemana2 Datetime, | |
@FinSemana2 Datetime, | |
@IniSemana3 Datetime, | |
@FinSemana3 Datetime, | |
@IniSemana4 Datetime, | |
@FinSemana4 Datetime, | |
@IniSemana5 Datetime, | |
@FinSemana5 Datetime, | |
@Dias1 int, | |
@Dias2 int, | |
@Dias3 int, | |
@Dias4 int, | |
@Dias5 int, | |
@GruX varchar(50), | |
@AgeX char(10), | |
@ImpX money, | |
@Cuota money, | |
@FechaX Datetime, | |
@CuotaDia money | |
IF Exists (Select * From SysObjects Where ID =Object_ID('dbo.FactCuotaC') And Type ='U') | |
Drop Table dbo.FactCuotaC | |
CREATE TABLE FactCuotaC ( | |
Valor Int Null, | |
Grupo varchar(50) NULL, | |
Agente char(10) NULL, | |
AgenteNombre varchar(100) NULL, | |
Mov char(30) Null, | |
Cuota1 money NULL, | |
Importe1 money NULL, | |
FechaD1 Datetime NULL, | |
FechaA1 Datetime NULL, | |
Cuota2 money NULL, | |
Importe2 money NULL, | |
FechaD2 Datetime NULL, | |
FechaA2 Datetime NULL, | |
Cuota3 money NULL, | |
Importe3 money NULL, | |
FechaD3 Datetime NULL, | |
FechaA3 Datetime NULL, | |
Cuota4 money NULL, | |
Importe4 money NULL, | |
FechaD4 Datetime NULL, | |
FechaA4 Datetime NULL, | |
Cuota5 money NULL, | |
Importe5 money NULL, | |
FechaD5 Datetime NULL, | |
FechaA5 Datetime NULL) | |
exec spValidaAgentesGABC | |
@Usuario, | |
@Empresa, | |
@Categoria OUTPUT, | |
@Familia OUTPUT, | |
@Grupo OUTPUT, | |
@AgenteD OUTPUT, | |
@AgenteA OUTPUT, | |
@Zona OUTPUT --cambiado/agregado para nuevo filtro Diciembre 2014 | |
SELECT @PrimerDiaMes = CONVERT(Datetime, '01/'+CONVERT(char(2), @Periodo)+'/'+CONVERT(char(4), @Ejercicio), 103) | |
SELECT @UltimoDiaMes = DATEADD(m, 1, @PrimerDiaMes) - 1 | |
SELECT @IniSemana1 = @PrimerDiaMes | |
SELECT @FinSemana1 = @IniSemana1 + 6 | |
SELECT @Dias1 = DATEDIFF(d, @IniSemana1, @FinSemana1) + 1 | |
SELECT @IniSemana2 = @FinSemana1 + 1 | |
SELECT @FinSemana2 = @IniSemana2 + 6 | |
SELECT @Dias2 = DATEDIFF(d, @IniSemana2, @FinSemana2) + 1 | |
SELECT @IniSemana3 = @FinSemana2 + 1 | |
SELECT @FinSemana3 = @IniSemana3 + 6 | |
SELECT @Dias3 = DATEDIFF(d, @IniSemana3, @FinSemana3) + 1 | |
SELECT @IniSemana4 = @FinSemana3 + 1 | |
SELECT @FinSemana4 = @IniSemana4 + 6 | |
SELECT @Dias4 = DATEDIFF(d, @IniSemana4, @FinSemana4) + 1 | |
IF @FinSemana4 < @UltimoDiaMes | |
BEGIN | |
SELECT @IniSemana5 = @FinSemana4 + 1 | |
SELECT @FinSemana5 = @UltimoDiaMes | |
SELECT @Dias5 = DATEDIFF(d, @IniSemana5, @FinSemana5) + 1 | |
END | |
Select v.ID, v.Agente, AgenteNombre=a.Nombre, a.Grupo, MovO=v.Mov, MovIDO=v.MovID, v.Cliente, CteNombre=c.Nombre, | |
v.Estatus, v.FechaEmision, v.FechaInicioC, v.Importe, | |
Cuota = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = a.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), | |
MovD=v1.Mov, MovIDD=v1.MovID, EstatusD=v1.Estatus, FechaEmisionD=v1.FechaEmision, ImporteD=v1.Importe, | |
Porcentaje=Case | |
When v1.Mov='Cotizacion Concluida' And v1.FechaEmision Between @IniSemana1 And @UltimoDiaMes And v1.Estatus='CONCLUIDO' | |
Then 100 Else 0 End, | |
GanadosenTiempo=Case | |
When v1.Mov='Cotizacion Concluida' And v1.FechaEmision Between @IniSemana1 And @UltimoDiaMes And v1.Estatus='CONCLUIDO' | |
Then 1 Else 0 End, | |
TotalGanados=Case | |
When v1.Mov='Cotizacion Concluida' And v1.Estatus='CONCLUIDO' | |
Then 1 Else 0 End, | |
TotalPerdidos=Case | |
When v1.Mov='Venta Perdida' And v1.Estatus='CONCLUIDO' | |
Then 1 Else 0 End, | |
ImporteGanados=Case | |
When v1.Mov='Cotizacion Concluida' And v1.FechaEmision Between @IniSemana1 And @UltimoDiaMes And v1.Estatus='CONCLUIDO' | |
Then v.Importe Else 0 End, | |
TotalOrdenes=1 | |
Into #Concentrado | |
From Venta v | |
Left Outer Join Venta v1 On v1.Origen=v.Mov And v1.OrigenID=v.MovID | |
Left Outer Join Agente a On a.Agente=v.Agente | |
Join Cte c On c.Cliente=v.Cliente | |
Where v.Mov='Cotización Cliente' And v.Estatus In ('CONCLUIDO', 'PENDIENTE', 'SINAFECTAR') And v.MovID Not Like '%-%' | |
--And v1.Estatus In('CONCLUIDO', Null) | |
And IsNull(a.Categoria, '') = IsNull(IsNull(@Categoria, a.Categoria), '') | |
And IsNull(a.Familia, '') = IsNull(IsNull(@Familia, a.Familia), '') | |
And IsNull(a.Grupo, '') = IsNull(IsNull(@Grupo, a.Grupo), '') | |
And a.Agente Between @AgenteD And @AgenteA | |
And a.Zona=Isnull(@Zona,a.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And v.Empresa=@Empresa And v.Periodo=@Periodo | |
And IsNull(v.Sucursal, '') = IsNull(IsNull(@Sucursal, v.Sucursal), '') | |
Order By v.Agente, v.MovID | |
--SELECT * FROM #Concentrado---QUITAR QUITAR QUITAR | |
--sp_MontoCotvsCuoCot '(Todos)', 'AAM', 'ZZZZZZ', 2015, 1, 'LABC', 'GDA010', '(Todos)',1,'OCCIDENTE' | |
INSERT FactCuotaC (Valor, Agente, AgenteNombre, Grupo, Mov, Importe1, FechaD1, FechaA1, Importe2, FechaD2, FechaA2, Importe3, FechaD3, FechaA3, Importe4, FechaD4, FechaA4, Importe5, FechaD5, FechaA5) | |
-- SE INSERTA LA CUOTA TRIPLEPLICADA | |
Select 10, Agente, AgenteNombre, Grupo, 'CUOTA TRIPLE POR COTIZAR', Cuota*3 / Day(@UltimoDiaMes)* @Dias1, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 10, Agente, AgenteNombre, Grupo, 'CUOTA TRIPLE POR COTIZAR', Null, @IniSemana1, @FinSemana1, Cuota*3 / Day(@UltimoDiaMes)* @Dias2, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 10, Agente, AgenteNombre, Grupo, 'CUOTA TRIPLE POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Cuota*3 / Day(@UltimoDiaMes)* @Dias3, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 10, Agente, AgenteNombre, Grupo, 'CUOTA TRIPLE POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Cuota*3 / Day(@UltimoDiaMes)* @Dias4, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 10, Agente, AgenteNombre, Grupo, 'CUOTA TRIPLE POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Cuota*3 / Day(@UltimoDiaMes)* @Dias5, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
-- SE INSERTA LA CUOTA DE COTIZACIONES | |
Select 20, Agente, AgenteNombre, Grupo, MovO, Sum(Importe), @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana1 AND @FinSemana1 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, MovO | |
Union | |
Select 20, Agente, AgenteNombre, Grupo, MovO, Null, @IniSemana1, @FinSemana1, Sum(Importe), @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana2 AND @FinSemana2 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, MovO | |
Union | |
Select 20, Agente, AgenteNombre, Grupo, MovO, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Sum(Importe), @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana3 AND @FinSemana3 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, MovO | |
Union | |
Select 20, Agente, AgenteNombre, Grupo, MovO, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Sum(Importe), @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana4 AND @FinSemana4 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, MovO | |
Union | |
Select 20, Agente, AgenteNombre, Grupo, MovO, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Sum(Importe), @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana5 AND @FinSemana5 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, MovO | |
Union | |
-- SE INSERTA LOS PORCENTAJES ALCANZADOS | |
Select 25, Agente, AgenteNombre, Grupo, '% ALCANZADO TRIPLE', (Sum(Importe) * 100) / (Cuota * 3 / Day(@UltimoDiaMes)* @Dias1), @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana1 AND @FinSemana1 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 25, Agente, AgenteNombre, Grupo, '% ALCANZADO TRIPLE', Null, @IniSemana1, @FinSemana1, (Sum(Importe) * 100) / (Cuota * 3 / Day(@UltimoDiaMes)* @Dias2), @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana2 AND @FinSemana2 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 25, Agente, AgenteNombre, Grupo, '% ALCANZADO TRIPLE', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, (Sum(Importe) * 100) / (Cuota * 3 / Day(@UltimoDiaMes)* @Dias3), @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana3 AND @FinSemana3 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 25, Agente, AgenteNombre, Grupo, '% ALCANZADO TRIPLE', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, (Sum(Importe) * 100) / (Cuota * 3 / Day(@UltimoDiaMes)* @Dias4), @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana4 AND @FinSemana4 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 25, Agente, AgenteNombre, Grupo, '% ALCANZADO TRIPLE', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, (Sum(Importe) * 100) / (Cuota * 3 / Day(@UltimoDiaMes)* @Dias5), @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmision Between @IniSemana5 AND @FinSemana5 And MovO='Cotización Cliente' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
-- SE INSERTA LA CUOTA SENCILLA | |
Select 30, Agente, AgenteNombre, Grupo, 'CUOTA SENCILLA POR COTIZAR', Cuota / Day(@UltimoDiaMes)* @Dias1, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 30, Agente, AgenteNombre, Grupo, 'CUOTA SENCILLA POR COTIZAR', Null, @IniSemana1, @FinSemana1, Cuota / Day(@UltimoDiaMes)* @Dias2, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 30, Agente, AgenteNombre, Grupo, 'CUOTA SENCILLA POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Cuota / Day(@UltimoDiaMes)* @Dias3, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 30, Agente, AgenteNombre, Grupo, 'CUOTA SENCILLA POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Cuota / Day(@UltimoDiaMes)* @Dias4, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado | |
Union | |
Select 30, Agente, AgenteNombre, Grupo, 'CUOTA SENCILLA POR COTIZAR', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Cuota / Day(@UltimoDiaMes)* @Dias5, @IniSemana5, @FinSemana5 From #Concentrado | |
-- SE INSERTA LA CUOTA COTIZACIONES CONCLUIDAS | |
Union | |
Select 40, Agente, AgenteNombre, Grupo, MovD, Sum(ImporteD), @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana1 AND @FinSemana1 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 40, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Sum(ImporteD), @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana2 AND @FinSemana2 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 40, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Sum(ImporteD), @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana3 AND @FinSemana3 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 40, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Sum(ImporteD), @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana4 AND @FinSemana4 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 40, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Sum(ImporteD), @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana5 AND @FinSemana5 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
-- SE INSERTA EL PORCENTAJE ALCANZADO ENTRE COTIZACIONES CONCLUIDAS Y CUOTA SENCILLA | |
Union | |
Select 45, Agente, AgenteNombre, Grupo, '% ALCANZADO SENCILLO', (Sum(ImporteD) * 100) / (Cuota / Day(@UltimoDiaMes)* @Dias1), @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana1 AND @FinSemana1 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 45, Agente, AgenteNombre, Grupo, '% ALCANZADO SENCILLO', Null, @IniSemana1, @FinSemana1, (Sum(ImporteD) * 100) / (Cuota / Day(@UltimoDiaMes)* @Dias2), @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana2 AND @FinSemana2 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 45, Agente, AgenteNombre, Grupo, '% ALCANZADO SENCILLO', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, (Sum(ImporteD) * 100) / (Cuota / Day(@UltimoDiaMes)* @Dias3), @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana3 AND @FinSemana3 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 45, Agente, AgenteNombre, Grupo, '% ALCANZADO SENCILLO', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, (Sum(ImporteD) * 100) / (Cuota / Day(@UltimoDiaMes)* @Dias4), @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana4 AND @FinSemana4 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
Select 45, Agente, AgenteNombre, Grupo, '% ALCANZADO SENCILLO', Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, (Sum(ImporteD) * 100) / (Cuota / Day(@UltimoDiaMes)* @Dias5), @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana5 AND @FinSemana5 And MovD='Cotizacion Concluida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, Cuota | |
Union | |
-- SE INSERTA LA CUOTA DE VENTAS PERDIDAS | |
Select 50, Agente, AgenteNombre, Grupo, MovD, Sum(ImporteD), @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana1 AND @FinSemana1 And MovD='Venta Perdida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 50, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Sum(ImporteD), @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana2 AND @FinSemana2 And MovD='Venta Perdida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 50, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Sum(ImporteD), @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana3 AND @FinSemana3 And MovD='Venta Perdida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 50, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Sum(ImporteD), @IniSemana4, @FinSemana4, Null, @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana4 AND @FinSemana4 And MovD='Venta Perdida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Union | |
Select 50, Agente, AgenteNombre, Grupo, MovD, Null, @IniSemana1, @FinSemana1, Null, @IniSemana2, @FinSemana2, Null, @IniSemana3, @FinSemana3, Null, @IniSemana4, @FinSemana4, Sum(ImporteD), @IniSemana5, @FinSemana5 From #Concentrado Where FechaEmisionD Between @IniSemana5 AND @FinSemana5 And MovD='Venta Perdida' And EstatusD='CONCLUIDO' | |
Group By Agente, AgenteNombre, Grupo, MovD | |
Update FactCuotaC Set Mov='MONTO REAL COTIZADO' Where Mov='Cotización Cliente' | |
Update FactCuotaC Set Mov='CUOTA SENC. POR CERRAR' Where Mov='CUOTA SENCILLA POR COTIZAR' | |
Update FactCuotaC Set Mov='COTIZACIONES CERRADAS' Where Mov='Cotizacion Concluida' | |
Update FactCuotaC Set Mov='% ALCANZADO' Where Mov='% ALCANZADO SENCILLO' | |
Update FactCuotaC Set Mov='MONTO VENTA PERDIDA' Where Mov='Venta Perdida' | |
IF @Zona='METRO' | |
Begin | |
Select Valor, Grupo, AgenteNombre, Mov, | |
Importe1=Sum(Importe1), FechaD1, FechaA1, | |
Importe2=Sum(Importe2), FechaD2, FechaA2, | |
Importe3=Sum(Importe3), FechaD3, FechaA3, | |
Importe4=Sum(Importe4), FechaD4, FechaA4, | |
Importe5=Sum(Importe5), FechaD5, FechaA5 | |
From FactCuotaC | |
Group By Valor, Grupo, AgenteNombre, Mov, | |
FechaD1, FechaA1, | |
FechaD2, FechaA2, | |
FechaD3, FechaA3, | |
FechaD4, FechaA4, | |
FechaD5, FechaA5 | |
Order By Grupo, AgenteNombre, Valor | |
End | |
Else | |
IF @Zona<>'METRO' or @Zona IS NULL | |
Begin | |
Select Valor, Grupo, Agente, AgenteNombre, Mov, | |
Importe1=Sum(Importe1), FechaD1, FechaA1, | |
Importe2=Sum(Importe2), FechaD2, FechaA2, | |
Importe3=Sum(Importe3), FechaD3, FechaA3, | |
Importe4=Sum(Importe4), FechaD4, FechaA4, | |
Importe5=Sum(Importe5), FechaD5, FechaA5 | |
From FactCuotaC | |
Group By Valor, Grupo, Agente, AgenteNombre, Mov, | |
FechaD1, FechaA1, | |
FechaD2, FechaA2, | |
FechaD3, FechaA3, | |
FechaD4, FechaA4, | |
FechaD5, FechaA5 | |
Order By Grupo, Agente, Valor | |
End | |
End | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* ANTERIOR MODIFICADOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO */ | |
/****** Object: StoredProcedure [dbo].[sp_Retrasos_Ordenes] Script Date: 05/03/2017 12:38:48 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
--sp_Retrasos_Ordenes 'LABC', 'GVT', '01-08-2007', '31-08-2007', 'AMO', 'RJM', '(Todos)', '(Todos)', '' | |
ALTER Procedure [dbo].[sp_Retrasos_Ordenes] | |
@Empresa char(5), | |
@Usuario char(10), | |
@FechaD DateTime, | |
@FechaA DateTime, | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@Familia Varchar(50), | |
@Grupo varchar(50), | |
@Sucursal int, | |
@Zona Varchar(30) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
As | |
Begin | |
Create Table #Ordenes_Conc( | |
Agente char(10) Null, | |
AgenteNombre varchar(100) Null, | |
Mov char(20) Null, | |
MovID varchar(20) Null, | |
Estatus char(15) Null, | |
FechaEmision DateTime Null, | |
FechaComenzo DateTime Null, | |
Nombre varchar(100) Null, | |
EnTiempo Money Null, | |
D5A7Dias Money Null, | |
D8A10Dias Money Null, | |
D11A15Dias Money Null, | |
D16A30Dias Money Null, | |
D31A60Dias Money Null, | |
Mas60Dias Money Null, | |
TotalXAgente Int Null, | |
TotalEnTiempo Int Null, | |
Situacion Varchar(50) null) | |
Declare | |
@Hoy DateTime, | |
@ID Int, | |
@FechaI DateTime, | |
@FechaF DateTime, | |
@FechaComenzo DateTime, | |
@Situacion varchar(50), | |
@Mov char(20), | |
@MovID varchar(20), | |
@FechaEmision DateTime, | |
@Nombre varchar(100), | |
@Dias Int, | |
@ImporteTotal Money, | |
@Agente char(10), | |
@AgenteNombre varchar(100), | |
@Estatus char(15), | |
@Categoria VarChar(50) | |
Execute spValidaAgentesGABC @Usuario, @Empresa, @Categoria OUTPUT, @Familia OUTPUT, @Grupo OUTPUT, @AgenteD OUTPUT, @AgenteA OUTPUT,@Zona OUTPUT --cambiado/agregado para nuevo filtro Diciembre 2014 | |
IF @Empresa not in(Select Empresa From Empresa) or @Empresa in('','null','NULL') | |
Begin | |
Select @Empresa=null | |
End | |
IF @Zona not in(Select Distinct Zona From Agente) or @Zona in('','null','NULL') | |
Begin | |
Select @Zona=null | |
End | |
--Select @Sucursal=NullIF(@Sucursal, '') | |
Select @Hoy=GetDate() | |
Select v.ID, v.Empresa, v.Mov, v.MovID, v.Cliente, Cte.Nombre, v.Agente, AgenteNom=Agente.Nombre, v.Situacion, v.Estatus, | |
v.FechaEmision,FechaComenzo=@Hoy, Dias=0, Hoy=@Hoy, ImporteTotal=(v.Importe + v.Impuestos)*v.TipoCambio | |
Into #Orden | |
From Venta v | |
Join Cte On Cte.Cliente=v.Cliente | |
Left Outer Join Agente On Agente.Agente=v.Agente | |
Where v.Mov='Orden Facturacion' And v.Estatus In ('SINAFECTAR', 'PENDIENTE') | |
--And FechaEmision Between @FechaD And @FechaA | |
And Empresa=Isnull(@Empresa,Empresa) | |
And IsNull(v.Sucursal, '') = IsNull(IsNull(@Sucursal, v.Sucursal), '') | |
--And IsNull(Agente.Categoria, '') = IsNull(IsNull(@Categoria, Agente.Categoria), '') | |
And IsNull(Agente.Familia, '') = IsNull(IsNull(@Familia, Agente.Familia), '') | |
And IsNull(Agente.Grupo, '') = IsNull(IsNull(@Grupo, Agente.Grupo), '') | |
AND v.Agente Between @AgenteD AND @AgenteA | |
And Agente.Zona=Isnull(@Zona,Agente.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And (v.Situacion Not In ('ACEPTADO POR RyF','BAJA DE ORDEN', 'FACTURACION DIFERENTE','NO COBRADAS','MAQUILA','MAQUILA FERMI','MAQUILA ABC') Or v.Situacion IS Null) | |
Order by v.Situacion | |
Declare CrOrden Cursor For | |
Select ID, FechaEmision, FechaComenzo, Situacion From #Orden | |
Open CrOrden | |
Fetch Next From CrOrden Into | |
@ID, @FechaI, @FechaF, @Situacion | |
While @@Fetch_Status <> - 1 And @@Error=0 | |
Begin | |
IF @@Fetch_Status <> - 2 | |
Begin | |
-- IF @Situacion Is Not Null | |
-- Begin | |
-- Select @FechaComenzo=(Select Top 1 FechaComenzo From MovTiempo Where Modulo='VTAS' And ID=@ID Order By IDOrden Desc) | |
-- Update #Orden Set FechaComenzo=@FechaComenzo Where ID=@ID | |
-- Update #Orden Set Dias=DateDiff(day, @FechaI, @FechaComenzo) Where ID=@ID | |
-- End | |
-- IF @Situacion Is Null | |
-- Begin | |
Update #Orden Set Dias=DateDiff(day, @FechaI, @FechaF) Where ID=@ID | |
-- End | |
End | |
Fetch Next From CrOrden Into | |
@ID, @FechaI, @FechaF, @Situacion | |
End | |
Close CrOrden | |
Deallocate CrOrden | |
/* | |
Select v.ID, v.Empresa, v.Mov, v.MovID, v.Cliente, Cte.Nombre, v.Agente, AgenteNom=Agente.Nombre, v.Situacion, v.Estatus, | |
v.FechaEmision,FechaComenzo=@Hoy, Dias=0, Hoy=@Hoy, ImporteTotal=(v.Importe + v.Impuestos)*v.TipoCambio, Valor=1 | |
Into #OrdenConcluido | |
From Venta v | |
Join Cte On Cte.Cliente=v.Cliente | |
Left Outer Join Agente On Agente.Agente=v.Agente | |
Where v.Mov='Orden Facturacion' And v.Estatus <> 'CANCELADO' | |
And FechaEmision Between @FechaD And @FechaA And Empresa=@Empresa | |
And IsNull(Agente.Categoria, '') = IsNull(IsNull(@Categoria, Agente.Categoria), '') | |
And IsNull(Agente.Familia, '') = IsNull(IsNull(@Familia, Agente.Familia), '') | |
And IsNull(Agente.Grupo, '') = IsNull(IsNull(@Grupo, Agente.Grupo), '') | |
AND v.Agente Between @AgenteD AND @AgenteA | |
Order by v.Situacion | |
Declare CrOrden2 Cursor For | |
Select ID, FechaEmision, FechaComenzo, Agente From #OrdenConcluido | |
Open CrOrden2 | |
Fetch Next From CrOrden2 Into | |
@ID, @FechaI, @FechaF, @Agente | |
While @@Fetch_Status <> - 1 And @@Error=0 | |
Begin | |
IF @@Fetch_Status <> - 2 | |
Begin | |
Select @FechaComenzo=(Select Top 1 FechaComenzo From MovTiempo Where Modulo='VTAS' | |
And ID=@ID And Situacion In('PENDIENTE CONFIRMACIÓN CLIENTE', 'CLIENTE FRECUENTE CON DESC. FIJO', 'CONFIRMO CLIENTE', | |
'RECHAZA RF', 'ACEPTADO POR RyF', 'ALCANCE OK', 'CAMBIO ALCANCE') | |
Order By IDOrden Desc) | |
IF @FechaComenzo Is Null | |
Begin | |
Select @FechaComenzo = @Hoy | |
End | |
Update #OrdenConcluido Set FechaComenzo=@FechaComenzo Where ID=@ID | |
Update #OrdenConcluido Set Dias=DateDiff(day, @FechaI, @FechaComenzo) Where ID=@ID | |
End | |
Fetch Next From CrOrden2 Into | |
@ID, @FechaI, @FechaF, @Agente | |
End | |
Close CrOrden2 | |
Deallocate CrOrden2 | |
*/ | |
Declare CrConc Cursor For | |
Select Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, Agente, AgenteNom, Dias, ImporteTotal,Situacion From #Orden | |
Open CrConc | |
Fetch Next From CrConc Into | |
@Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @Agente, @AgenteNombre, @Dias, @ImporteTotal,@Situacion | |
While @@Fetch_Status <> - 1 And @@Error=0 | |
Begin | |
IF @@Fetch_Status <> - 2 | |
Begin | |
IF @Dias between 0 And 4 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, EnTiempo,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias between 5 And 7 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, D5A7Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias between 8 And 10 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, D8A10Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias between 11 And 15 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, D11A15Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias between 16 And 30 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, D16A30Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias between 31 And 60 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, D31A60Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias > 60 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, Mas60Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
End | |
Fetch Next From CrConc Into | |
@Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @Agente, @AgenteNombre, @Dias, @ImporteTotal,@Situacion | |
End | |
Close CrConc | |
Deallocate CrConc | |
--Update #Ordenes_Conc Set TotalXAgente=(Select Sum(Valor) From #OrdenConcluido) | |
--Update #Ordenes_Conc Set TotalEnTiempo=(Select Sum(Valor) From #OrdenConcluido Where Dias <=4) | |
Select * From #Ordenes_Conc Order By Agente, Nombre | |
End | |
/* ANTERIOR MODIFICADOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO */ | |
/* ACTUALIZADO MODIFICADOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO MARCO 03/05/2017 */ | |
/****** Object: StoredProcedure [dbo].[sp_Retrasos_Ordenes] Script Date: 05/03/2017 12:38:48 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
--sp_Retrasos_Ordenes 'LABC', 'GVT', '01-08-2007', '31-08-2007', 'AMO', 'RJM', '(Todos)', '(Todos)', '' | |
ALTER Procedure [dbo].[sp_Retrasos_Ordenes] | |
@Empresa char(5), | |
@Usuario char(10), | |
@FechaD DateTime, | |
@FechaA DateTime, | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@Familia Varchar(50), | |
@Grupo varchar(50), | |
@Sucursal int, | |
@Zona Varchar(30) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
As | |
Begin | |
Create Table #Ordenes_Conc( | |
Agente char(10) Null, | |
AgenteNombre varchar(100) Null, | |
Mov char(20) Null, | |
MovID varchar(20) Null, | |
Estatus char(15) Null, | |
FechaEmision DateTime Null, | |
FechaComenzo DateTime Null, | |
Nombre varchar(100) Null, | |
EnTiempo Money Null, | |
D5A7Dias Money Null, | |
D8A10Dias Money Null, | |
D11A15Dias Money Null, | |
D16A30Dias Money Null, | |
D31A60Dias Money Null, | |
Mas60Dias Money Null, | |
TotalXAgente Int Null, | |
TotalEnTiempo Int Null, | |
Situacion Varchar(50) null) | |
Declare | |
@Hoy DateTime, | |
@ID Int, | |
@FechaI DateTime, | |
@FechaF DateTime, | |
@FechaComenzo DateTime, | |
@Situacion varchar(50), | |
@Mov char(20), | |
@MovID varchar(20), | |
@FechaEmision DateTime, | |
@Nombre varchar(100), | |
@Dias Int, | |
@ImporteTotal Money, | |
@Agente char(10), | |
@AgenteNombre varchar(100), | |
@Estatus char(15), | |
@Categoria VarChar(50) | |
Execute spValidaAgentesGABC @Usuario, @Empresa, @Categoria OUTPUT, @Familia OUTPUT, @Grupo OUTPUT, @AgenteD OUTPUT, @AgenteA OUTPUT,@Zona OUTPUT --cambiado/agregado para nuevo filtro Diciembre 2014 | |
IF @Empresa not in(Select Empresa From Empresa) or @Empresa in('','null','NULL') | |
Begin | |
Select @Empresa=null | |
End | |
IF @Zona not in(Select Distinct Zona From Agente) or @Zona in('','null','NULL') | |
Begin | |
Select @Zona=null | |
End | |
--Select @Sucursal=NullIF(@Sucursal, '') | |
Select @Hoy=GetDate() | |
Select v.ID, v.Empresa, v.Mov, v.MovID, v.Cliente, Cte.Nombre, v.Agente, AgenteNom=Agente.Nombre, v.Situacion, v.Estatus, | |
v.FechaEmision,FechaComenzo=@Hoy, Dias=0, Hoy=@Hoy, ImporteTotal=(v.Importe + v.Impuestos)*v.TipoCambio | |
Into #Orden | |
From Venta v | |
Join Cte On Cte.Cliente=v.Cliente | |
Left Outer Join Agente On Agente.Agente=v.Agente | |
Where v.Mov='Orden Facturacion' And v.Estatus In ('SINAFECTAR', 'PENDIENTE') | |
--And FechaEmision Between @FechaD And @FechaA | |
And Empresa=Isnull(@Empresa,Empresa) | |
And IsNull(v.Sucursal, '') = IsNull(IsNull(@Sucursal, v.Sucursal), '') | |
--And IsNull(Agente.Categoria, '') = IsNull(IsNull(@Categoria, Agente.Categoria), '') | |
And IsNull(Agente.Familia, '') = IsNull(IsNull(@Familia, Agente.Familia), '') | |
And IsNull(Agente.Grupo, '') = IsNull(IsNull(@Grupo, Agente.Grupo), '') | |
AND v.Agente Between @AgenteD AND @AgenteA | |
And Agente.Zona=Isnull(@Zona,Agente.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And (v.Situacion Not In ('ACEPTADO POR RyF','BAJA DE ORDEN', 'FACTURACION DIFERENTE','NO COBRADAS','MAQUILA','MAQUILA FERMI','MAQUILA ABC') Or v.Situacion IS Null) | |
Order by v.Situacion | |
Declare CrOrden Cursor For | |
Select ID, FechaEmision, FechaComenzo, Situacion From #Orden | |
Open CrOrden | |
Fetch Next From CrOrden Into | |
@ID, @FechaI, @FechaF, @Situacion | |
While @@Fetch_Status <> - 1 And @@Error=0 | |
Begin | |
IF @@Fetch_Status <> - 2 | |
Begin | |
-- IF @Situacion Is Not Null | |
-- Begin | |
-- Select @FechaComenzo=(Select Top 1 FechaComenzo From MovTiempo Where Modulo='VTAS' And ID=@ID Order By IDOrden Desc) | |
-- Update #Orden Set FechaComenzo=@FechaComenzo Where ID=@ID | |
-- Update #Orden Set Dias=DateDiff(day, @FechaI, @FechaComenzo) Where ID=@ID | |
-- End | |
-- IF @Situacion Is Null | |
-- Begin | |
Update #Orden Set Dias=DateDiff(day, @FechaI, @FechaF) Where ID=@ID | |
-- End | |
End | |
Fetch Next From CrOrden Into | |
@ID, @FechaI, @FechaF, @Situacion | |
End | |
Close CrOrden | |
Deallocate CrOrden | |
/* | |
Select v.ID, v.Empresa, v.Mov, v.MovID, v.Cliente, Cte.Nombre, v.Agente, AgenteNom=Agente.Nombre, v.Situacion, v.Estatus, | |
v.FechaEmision,FechaComenzo=@Hoy, Dias=0, Hoy=@Hoy, ImporteTotal=(v.Importe + v.Impuestos)*v.TipoCambio, Valor=1 | |
Into #OrdenConcluido | |
From Venta v | |
Join Cte On Cte.Cliente=v.Cliente | |
Left Outer Join Agente On Agente.Agente=v.Agente | |
Where v.Mov='Orden Facturacion' And v.Estatus <> 'CANCELADO' | |
And FechaEmision Between @FechaD And @FechaA And Empresa=@Empresa | |
And IsNull(Agente.Categoria, '') = IsNull(IsNull(@Categoria, Agente.Categoria), '') | |
And IsNull(Agente.Familia, '') = IsNull(IsNull(@Familia, Agente.Familia), '') | |
And IsNull(Agente.Grupo, '') = IsNull(IsNull(@Grupo, Agente.Grupo), '') | |
AND v.Agente Between @AgenteD AND @AgenteA | |
Order by v.Situacion | |
Declare CrOrden2 Cursor For | |
Select ID, FechaEmision, FechaComenzo, Agente From #OrdenConcluido | |
Open CrOrden2 | |
Fetch Next From CrOrden2 Into | |
@ID, @FechaI, @FechaF, @Agente | |
While @@Fetch_Status <> - 1 And @@Error=0 | |
Begin | |
IF @@Fetch_Status <> - 2 | |
Begin | |
Select @FechaComenzo=(Select Top 1 FechaComenzo From MovTiempo Where Modulo='VTAS' | |
And ID=@ID And Situacion In('PENDIENTE CONFIRMACIÓN CLIENTE', 'CLIENTE FRECUENTE CON DESC. FIJO', 'CONFIRMO CLIENTE', | |
'RECHAZA RF', 'ACEPTADO POR RyF', 'ALCANCE OK', 'CAMBIO ALCANCE') | |
Order By IDOrden Desc) | |
IF @FechaComenzo Is Null | |
Begin | |
Select @FechaComenzo = @Hoy | |
End | |
Update #OrdenConcluido Set FechaComenzo=@FechaComenzo Where ID=@ID | |
Update #OrdenConcluido Set Dias=DateDiff(day, @FechaI, @FechaComenzo) Where ID=@ID | |
End | |
Fetch Next From CrOrden2 Into | |
@ID, @FechaI, @FechaF, @Agente | |
End | |
Close CrOrden2 | |
Deallocate CrOrden2 | |
*/ | |
Declare CrConc Cursor For | |
Select Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, Agente, AgenteNom, Dias, ImporteTotal,Situacion From #Orden | |
Open CrConc | |
Fetch Next From CrConc Into | |
@Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @Agente, @AgenteNombre, @Dias, @ImporteTotal,@Situacion | |
While @@Fetch_Status <> - 1 And @@Error=0 | |
Begin | |
IF @@Fetch_Status <> - 2 | |
Begin | |
IF @Dias between 0 And 4 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, EnTiempo,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias between 5 And 7 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, D5A7Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias between 8 And 10 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, D8A10Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias between 11 And 15 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, D11A15Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias between 16 And 30 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, D16A30Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias between 31 And 60 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, D31A60Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
IF @Dias > 60 | |
Begin | |
Insert Into #Ordenes_Conc (Agente, AgenteNombre, Mov, MovID, Estatus, FechaEmision, FechaComenzo, Nombre, Mas60Dias,Situacion) | |
Values (@Agente, @AgenteNombre, @Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @ImporteTotal,@Situacion) | |
End | |
End | |
Fetch Next From CrConc Into | |
@Mov, @MovID, @Estatus, @FechaEmision, @FechaComenzo, @Nombre, @Agente, @AgenteNombre, @Dias, @ImporteTotal,@Situacion | |
End | |
Close CrConc | |
Deallocate CrConc | |
--Update #Ordenes_Conc Set TotalXAgente=(Select Sum(Valor) From #OrdenConcluido) | |
--Update #Ordenes_Conc Set TotalEnTiempo=(Select Sum(Valor) From #OrdenConcluido Where Dias <=4) | |
IF @Zona='METRO' | |
Begin | |
Select * From #Ordenes_Conc Order By AgenteNombre, Nombre | |
End | |
Else | |
IF @Zona<>'METRO' or @Zona IS NULL | |
Begin | |
Select * From #Ordenes_Conc Order By Agente, Nombre | |
End | |
End | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/****** Object: StoredProcedure [dbo].[sp_VentasxCliente] Script Date: 04/28/2017 11:54:22 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
ALTER Procedure [dbo].[sp_VentasxCliente] | |
@Empresa char(5), | |
@Ejercicio Int, | |
@Periodo1 Int, | |
@Periodo2 Int, | |
@Periodo3 Int, | |
@Usuario Char(10), | |
@Familia Varchar(50), | |
@Grupo varchar(50), | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@Sucursal int, | |
@Zona Varchar(30) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
As | |
Begin | |
--sp_VentasxCliente 'LABC', 2008, 01, 01, 01, 'GVT', '(Todos)', '(Todos)', 'AMO', 'RJM', 0 | |
Create Table #Ventas( | |
Agente char(10) Null, | |
NomAgente varchar(100) Null, | |
Cliente char(10) Null, | |
Nombre varchar(100) Null, | |
EnviarA int Null, | |
SucursalNom varchar(100) Null, | |
Ejercicio Int Null, | |
Periodo1 Money Null, | |
Periodo2 Money Null, | |
Periodo3 Money Null, | |
Presupuesto1 Money Null, | |
Presupuesto2 Money Null, | |
Presupuesto3 Money Null, | |
Periodo4 Money Null, | |
Periodo5 Money Null, | |
Periodo6 Money Null) | |
Declare | |
@Ejercicio2 Int, | |
@Categoria VarChar(50), | |
@Cliente char(10), | |
@EnviarA Int, | |
@Ejer Int, | |
@Presupuesto Money | |
--Select @Sucursal=NullIF(@Sucursal, '') | |
Select @Ejercicio2 = @Ejercicio-1 | |
exec spValidaAgentesGABC | |
@Usuario, | |
@Empresa, | |
@Categoria OUTPUT, | |
@Familia OUTPUT, | |
@Grupo OUTPUT, | |
@AgenteD OUTPUT, | |
@AgenteA OUTPUT, | |
@Zona OUTPUT --cambiado/agregado para nuevo filtro Diciembre 2014 | |
IF @Empresa not in(Select Empresa From Empresa) or @Empresa in('','null','NULL') | |
Begin | |
Select @Empresa=null | |
End | |
IF @Zona not in(Select Distinct Zona From Agente) or @Zona in('','null','NULL') | |
Begin | |
Select @Zona=null | |
End | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo1) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo1 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
----Agregado para las Notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo1) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
--AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.CA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo1 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
---- fin del agregado para notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo1) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.D' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo1 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo1) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Cxc a, CxcD, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo1 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
AND CxcD.Aplica In ('Factura Anticipo','Factura Anticipo CFD') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo1) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(a.Importe*a.TipoCambio) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.FA')--, 'CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo1 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
----fin del periodo 1 | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo2) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo2 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
----Agregado para las Notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo1) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
--AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.CA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo2 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
---- fin del agregado para notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo2) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.D' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo2 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo2) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Cxc a, CxcD, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo2 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
AND CxcD.Aplica In ('Factura Anticipo','Factura Anticipo CFD') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo2) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(a.Importe*a.TipoCambio) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.FA')--, 'CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo2 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
----fin del periodo 2 | |
---- | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo3) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo3 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
----Agregado para las Notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo1) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
--AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.CA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo3 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
---- fin del agregado para notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo3) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.D' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo3 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo3) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Cxc a, CxcD, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo3 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
AND CxcD.Aplica In ('Factura Anticipo','Factura Anticipo CFD') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo3) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(a.Importe*a.TipoCambio) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.FA')--, 'CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo3 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
----fin del periodo 3 | |
/***** Se Calcula el Ejercicio Anterior *****/ | |
----------------- | |
----------------- | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo4) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo1 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
----Agregado para las Notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo1) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
--AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.CA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo1 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
---- fin del agregado para notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo4) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.D' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo1 | |
AND a.Empresa = ISnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo4) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Cxc a, CxcD, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo1 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
AND CxcD.Aplica In ('Factura Anticipo','Factura Anticipo CFD') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo4) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(a.Importe*a.TipoCambio) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.FA')--, 'CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo1 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
----fin del periodo 1 | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo5) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo2 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
----Agregado para las Notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo1) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
--AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.CA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo2 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
---- fin del agregado para notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo5) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.D' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo2 | |
AND a.Empresa = ISnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo5) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Cxc a, CxcD, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo2 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
AND CxcD.Aplica In ('Factura Anticipo','Factura Anticipo CFD') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo5) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(a.Importe*a.TipoCambio) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.FA')--, 'CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo2 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
----fin del periodo 2 | |
---- | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo6) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo3 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
----Agregado para las Notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo1) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum((a.Importe*a.TipoCambio)) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
--AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.CA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo3 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
---- fin del agregado para notas de Cargo | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo6) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.EnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.D' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo3 | |
AND a.Empresa = ISnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.EnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo6) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(-(a.Importe*a.TipoCambio)) | |
FROM Cxc a, CxcD, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo3 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
AND CxcD.Aplica In ('Factura Anticipo','Factura Anticipo CFD') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
Insert Into #Ventas(Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, Ejercicio, Periodo6) | |
SELECT a.Agente,ag.Nombre,a.Cliente,c.Nombre,a.ClienteEnviarA,null,a.Ejercicio,Sum(a.Importe*a.TipoCambio) | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.FA')--, 'CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
AND a.Ejercicio = @Ejercicio2 | |
AND a.Periodo = @Periodo3 | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group By a.Agente, ag.Nombre, a.Cliente, c.Nombre, a.ClienteEnviarA, a.Ejercicio | |
----fin del periodo 3 | |
Declare CrPres Cursor For | |
Select Cliente, EnviarA From #Ventas | |
Open CrPres | |
Fetch Next From CrPres into | |
@Cliente, @EnviarA | |
While @@Fetch_Status <> - 1 And @@Error = 0 | |
Begin | |
IF @@Fetch_Status <> - 2 | |
Begin | |
/***** Validacion para Clientes q no tienen Sucursal*****/ | |
IF @EnviarA Is Null | |
Begin | |
IF Exists (Select Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo1 | |
And Cte=@Cliente And CteEnviarA Is Null) | |
Begin | |
Select @Presupuesto=Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo1 | |
And Cte=@Cliente And CteEnviarA Is Null | |
Update #Ventas Set Presupuesto1=@Presupuesto Where Cliente=@Cliente And EnviarA Is Null | |
End | |
IF Exists (Select Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo2 | |
And Cte=@Cliente And CteEnviarA Is Null) | |
Begin | |
Select @Presupuesto=Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo2 | |
And Cte=@Cliente And CteEnviarA Is Null | |
Update #Ventas Set Presupuesto2=@Presupuesto Where Cliente=@Cliente And EnviarA Is Null | |
End | |
IF Exists (Select Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo3 | |
And Cte=@Cliente And CteEnviarA Is Null) | |
Begin | |
Select @Presupuesto=Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo3 | |
And Cte=@Cliente And CteEnviarA Is Null | |
Update #Ventas Set Presupuesto3=@Presupuesto Where Cliente=@Cliente And EnviarA Is Null | |
End | |
End | |
/***** Validacion para Clientes q si tienen Sucursal*****/ | |
IF @EnviarA Is Not Null | |
Begin | |
IF Exists (Select Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo1 | |
And Cte=@Cliente And CteEnviarA=@EnviarA) | |
Begin | |
Select @Presupuesto=Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo1 | |
And Cte=@Cliente And CteEnviarA=@EnviarA | |
Update #Ventas Set Presupuesto1=@Presupuesto Where Cliente=@Cliente And EnviarA=@EnviarA | |
End | |
IF Exists (Select Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo2 | |
And Cte=@Cliente And CteEnviarA=@EnviarA) | |
Begin | |
Select @Presupuesto=Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo2 | |
And Cte=@Cliente And CteEnviarA=@EnviarA | |
Update #Ventas Set Presupuesto2=@Presupuesto Where Cliente=@Cliente And EnviarA=@EnviarA | |
End | |
IF Exists (Select Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo3 | |
And Cte=@Cliente And CteEnviarA=@EnviarA) | |
Begin | |
Select @Presupuesto=Importe From PresupuestoCtesABC Where Ejercicio=@Ejercicio And Periodo=@Periodo3 | |
And Cte=@Cliente And CteEnviarA=@EnviarA | |
Update #Ventas Set Presupuesto3=@Presupuesto Where Cliente=@Cliente And EnviarA=@EnviarA | |
End | |
End | |
End | |
Fetch Next From CrPres into | |
@Cliente, @EnviarA | |
End | |
Close CrPres | |
Deallocate CrPres | |
IF @Zona='METRO' | |
Begin | |
Select NomAgente, Cliente, Nombre, EnviarA, SucursalNom, --Ejercicio, | |
Periodo1=Sum(Periodo1), | |
Periodo4=Sum(Periodo4), | |
Presupuesto1, | |
Periodo2=Sum(Periodo2), | |
Periodo5=Sum(Periodo5), | |
Presupuesto2, | |
Periodo3=Sum(Periodo3), | |
Periodo6=Sum(Periodo6), | |
Presupuesto3 | |
From #Ventas | |
Group By NomAgente, Cliente, Nombre, EnviarA, SucursalNom, /*Ejercicio,*/ Presupuesto1, Presupuesto2, Presupuesto3 | |
Order By Nombre, EnviarA | |
End | |
Else | |
IF @Zona<>'METRO' or @Zona IS NULL | |
Begin | |
Select Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, --Ejercicio, | |
Periodo1=Sum(Periodo1), | |
Periodo4=Sum(Periodo4), | |
Presupuesto1, | |
Periodo2=Sum(Periodo2), | |
Periodo5=Sum(Periodo5), | |
Presupuesto2, | |
Periodo3=Sum(Periodo3), | |
Periodo6=Sum(Periodo6), | |
Presupuesto3 | |
From #Ventas | |
Group By Agente, NomAgente, Cliente, Nombre, EnviarA, SucursalNom, /*Ejercicio,*/ Presupuesto1, Presupuesto2, Presupuesto3 | |
Order By Agente, Nombre, EnviarA | |
End | |
End | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
no existia zona | |
/****** Object: StoredProcedure [dbo].[spFacturacionMensualABC] Script Date: 04/26/2017 13:46:43 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
ALTER PROCEDURE [dbo].[spFacturacionMensualABC] | |
@Grupo varchar(50), | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@Ejercicio int, | |
@Empresa char(5), | |
@Sucursal int, | |
@Zona Varchar(30) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
AS BEGIN | |
DECLARE | |
@EjercicioAnt1 int, | |
@EjercicioAnt2 int, | |
@GruX varchar(50), | |
@AgeX char(10), | |
@ImpX money, | |
@CuotaX money, | |
@FechaX Datetime, | |
@Eje2 int, | |
@EjeX int, | |
@GruY varchar(50), | |
@AgeY char(10), | |
@ImpY money, | |
@EjeY int, | |
@PerY int, | |
@GruZ varchar(50), | |
@AgeZ char(10), | |
@EjeZ int, | |
@Mov char(20) | |
IF Exists (Select * From SysObjects Where ID = object_id('dbo.FactCuotaM') and type = 'U') | |
Drop Table dbo.FactCuotaM | |
CREATE TABLE FactCuotaM ( | |
Grupo varchar(50) NULL, | |
Agente char(10) NULL, | |
NomAgente varchar(100) NULL, | |
Ejercicio int NULL, | |
Cuota1 money NULL, | |
Importe1 money NULL, | |
Cuota2 money NULL, | |
Importe2 money NULL, | |
Cuota3 money NULL, | |
Importe3 money NULL, | |
Cuota4 money NULL, | |
Importe4 money NULL, | |
Cuota5 money NULL, | |
Importe5 money NULL, | |
Cuota6 money NULL, | |
Importe6 money NULL, | |
Cuota7 money NULL, | |
Importe7 money NULL, | |
Cuota8 money NULL, | |
Importe8 money NULL, | |
Cuota9 money NULL, | |
Importe9 money NULL, | |
Cuota10 money NULL, | |
Importe10 money NULL, | |
Cuota11 money NULL, | |
Importe11 money NULL, | |
Cuota12 money NULL, | |
Importe12 money NULL, | |
Prom money NULL, | |
DesvEst money NULL, | |
CV float NULL, | |
VMin money NULL, | |
VMax money NULL) | |
IF @Grupo IN ('NULL', '', '0', '(Todos)') SELECT @Grupo = NULL | |
IF @Ejercicio = 0 SELECT @Ejercicio = YEAR(GETDATE()) | |
IF @Zona not in(Select Distinct Zona From Agente) or @Zona in('','null','NULL') | |
Begin | |
Select @Zona=null | |
End | |
SELECT @EjercicioAnt1 = @Ejercicio - 1 | |
SELECT @EjercicioAnt2 = @Ejercicio - 2 | |
SELECT ag.Grupo, a.Agente, Importe= Sum(((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio))), | |
a.Ejercicio, a.Periodo | |
INTO #FactMensual | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Agente = ag.Agente | |
--And ag.SucursalEmpresa=IsNull(@Sucursal, ag.SucursalEmpresa) | |
AND a.Cliente = c.Cliente | |
AND a.Estatus = 'CONCLUIDO' | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio BETWEEN @EjercicioAnt2 AND @Ejercicio | |
AND a.Empresa = @Empresa | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
GROUP BY a.Mov, ag.Grupo, a.Agente, a.Ejercicio, a.Periodo | |
-- ORDER BY ag.Grupo, a.Agente, a.Ejercicio, a.Periodo | |
Union | |
SELECT ag.Grupo, a.Agente, Importe = SUM(-a.Importe*a.TipoCambio), a.Ejercicio, a.Periodo | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.D' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
--And ag.SucursalEmpresa=IsNull(@Sucursal, ag.SucursalEmpresa) | |
AND a.Estatus = 'CONCLUIDO' | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio BETWEEN @EjercicioAnt2 AND @Ejercicio | |
AND a.Empresa = @Empresa | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
GROUP BY ag.Grupo, a.Agente, a.Ejercicio, a.Periodo | |
Union | |
SELECT ag.Grupo, a.Agente, Sum(-a.Importe*a.TipoCambio), a.Ejercicio, a.Periodo | |
FROM Cxc a, CxcD, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
--And ag.SucursalEmpresa=IsNull(@Sucursal, ag.SucursalEmpresa) | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio BETWEEN @EjercicioAnt2 AND @Ejercicio | |
AND a.Empresa = @Empresa | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
AND CxcD.Aplica In ('Factura Anticipo','Factura Anticipo CFD') | |
GROUP BY ag.Grupo, a.Agente, a.Ejercicio, a.Periodo | |
Union | |
SELECT ag.Grupo, a.Agente, Importe = SUM(a.Importe*a.TipoCambio), a.Ejercicio, a.Periodo | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave = 'CXC.FA' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
--And ag.SucursalEmpresa=IsNull(@Sucursal, ag.SucursalEmpresa) | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio BETWEEN @EjercicioAnt2 AND @Ejercicio | |
AND a.Empresa = @Empresa | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
GROUP BY ag.Grupo, a.Agente, a.Ejercicio, a.Periodo | |
Union | |
SELECT ag.Grupo, a.Agente, Importe = SUM(a.Importe*a.TipoCambio), a.Ejercicio, a.Periodo | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave = 'CXC.CA' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
--And ag.SucursalEmpresa=IsNull(@Sucursal, ag.SucursalEmpresa) | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio BETWEEN @EjercicioAnt2 AND @Ejercicio | |
AND a.Empresa = @Empresa | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
GROUP BY ag.Grupo, a.Agente, a.Ejercicio, a.Periodo | |
--SELECT * FROM #FactMensual | |
DECLARE CrFac CURSOR FOR | |
SELECT DISTINCT Grupo, Agente, @EjercicioAnt2 | |
FROM #FactMensual | |
OPEN CrFac | |
FETCH NEXT FROM CrFac INTO @GruX, @AgeX, @Eje2 | |
WHILE @@FETCH_STATUS <> -1 | |
BEGIN | |
IF @@FETCH_STATUS <> -2 | |
BEGIN | |
SELECT @EjeX = @Eje2 | |
WHILE @EjeX <= @Ejercicio | |
BEGIN | |
INSERT FactCuotaM(Grupo, Agente, Ejercicio) | |
VALUES(@GruX, @AgeX, @EjeX) | |
SELECT @EjeX = @EjeX + 1 | |
END | |
END | |
FETCH NEXT FROM CrFac INTO @GruX, @AgeX, @Eje2 | |
END | |
CLOSE CrFac | |
DEALLOCATE CrFac | |
DECLARE CrFac1 CURSOR FOR | |
SELECT Grupo, Agente, Sum(IsNull(Importe,0)), Ejercicio, Periodo | |
FROM #FactMensual Group By Grupo, Agente, Ejercicio, Periodo | |
OPEN CrFac1 | |
FETCH NEXT FROM CrFac1 INTO @GruY, @AgeY, @ImpY, @EjeY, @PerY | |
WHILE @@FETCH_STATUS <> -1 | |
BEGIN | |
IF @@FETCH_STATUS <> -2 | |
BEGIN | |
UPDATE FactCuotaM SET Importe1 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 1 | |
UPDATE FactCuotaM SET Importe2 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 2 | |
UPDATE FactCuotaM SET Importe3 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 3 | |
UPDATE FactCuotaM SET Importe4 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 4 | |
UPDATE FactCuotaM SET Importe5 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 5 | |
UPDATE FactCuotaM SET Importe6 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 6 | |
UPDATE FactCuotaM SET Importe7 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 7 | |
UPDATE FactCuotaM SET Importe8 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 8 | |
UPDATE FactCuotaM SET Importe9 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 9 | |
UPDATE FactCuotaM SET Importe10 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 10 | |
UPDATE FactCuotaM SET Importe11 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 11 | |
UPDATE FactCuotaM SET Importe12 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Ejercicio = @EjeY AND @PerY = 12 | |
END | |
FETCH NEXT FROM CrFac1 INTO @GruY, @AgeY, @ImpY, @EjeY, @PerY | |
END | |
CLOSE CrFac1 | |
DEALLOCATE CrFac1 | |
DECLARE CrFac2 CURSOR FOR | |
SELECT Grupo, Agente, Ejercicio | |
FROM FactCuotaM | |
WHERE Ejercicio = @Ejercicio | |
OPEN CrFac2 | |
FETCH NEXT FROM CrFac2 INTO @GruZ, @AgeZ, @EjeZ | |
WHILE @@FETCH_STATUS <> -1 | |
BEGIN | |
IF @@FETCH_STATUS <> -2 | |
BEGIN | |
UPDATE FactCuotaM SET Cuota1 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 1) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota2 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 2) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota3 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 3) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota4 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 4) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota5 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 5) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota6 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 6) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota7 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 7) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota8 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 8) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota9 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 9) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota10 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 10) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota11 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 11) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
UPDATE FactCuotaM SET Cuota12 = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = @AgeZ AND Ejercicio = @EjeZ AND Periodo = 12) WHERE Grupo = @GruZ AND Agente = @AgeZ AND Ejercicio = @EjeZ | |
END | |
FETCH NEXT FROM CrFac2 INTO @GruZ, @AgeZ, @EjeZ | |
END | |
CLOSE CrFac2 | |
DEALLOCATE CrFac2 | |
SELECT Grupo, Agente, Prom=Sum(Importe), Valor=1 | |
INTO #Prom1 | |
FROM #FactMensual --Where Importe >0 | |
GROUP BY Grupo, Agente, Ejercicio, Periodo | |
ORDER BY Grupo, Agente | |
SELECT Grupo, Agente, Prom=Sum(Prom)/Sum(Valor) | |
INTO #Prom | |
FROM #Prom1 Where Prom >0 | |
GROUP BY Grupo, Agente | |
ORDER BY Grupo, Agente | |
SELECT Grupo, Agente, DesvEst = STDEV(Prom) | |
INTO #DesvEst | |
FROM #Prom1 Where Prom >0 | |
GROUP BY Grupo, Agente | |
ORDER BY Grupo, Agente | |
--spFacturacionMensualABC '(Todos)', 'EPC', 'EPC', 2008, 'LABC' | |
SELECT Grupo, Agente, VMin = MIN(Prom) | |
INTO #VMin | |
FROM #Prom1 Where Prom >0 | |
GROUP BY Grupo, Agente | |
ORDER BY Grupo, Agente | |
SELECT Grupo, Agente, VMax = MAX(Prom) | |
INTO #VMax | |
FROM #Prom1 Where Prom >0 | |
GROUP BY Grupo, Agente | |
ORDER BY Grupo, Agente | |
UPDATE FactCuotaM SET Prom = b.Prom FROM FactCuotaM a, #Prom b WHERE a.Grupo = b.Grupo AND a.Agente = b.Agente --AND a.Ejercicio = b.Ejercicio | |
UPDATE FactCuotaM SET DesvEst = b.DesvEst FROM FactCuotaM a, #DesvEst b WHERE a.Grupo = b.Grupo AND a.Agente = b.Agente --AND a.Ejercicio = b.Ejercicio | |
UPDATE FactCuotaM SET CV = (ISNULL(DesvEst, 0)/Prom) * 100 | |
UPDATE FactCuotaM SET VMin = b.VMin FROM FactCuotaM a, #VMin b WHERE a.Grupo = b.Grupo AND a.Agente = b.Agente --AND a.Ejercicio = b.Ejercicio | |
UPDATE FactCuotaM SET VMax = b.VMax FROM FactCuotaM a, #VMax b WHERE a.Grupo = b.Grupo AND a.Agente = b.Agente --AND a.Ejercicio = b.Ejercicio | |
/* | |
Update FactCuotaM Set Cuota1=0 Where Importe1 Is Null | |
Update FactCuotaM Set Cuota2=0 Where Importe2 Is Null | |
Update FactCuotaM Set Cuota3=0 Where Importe3 Is Null | |
Update FactCuotaM Set Cuota4=0 Where Importe4 Is Null | |
Update FactCuotaM Set Cuota5=0 Where Importe5 Is Null | |
*/ | |
UPDATE FactCuotaM set NomAgente = (Select Nombre FROM Agente WHERE Agente=FactCuotaM.Agente) | |
IF @Zona='METRO' | |
Begin | |
SELECT * FROM FactCuotaM Where Agente <> 'MOS' ORDER BY Grupo,NomAgente | |
End | |
Else | |
IF @Zona<>'METRO' | |
Begin | |
SELECT * FROM FactCuotaM Where Agente <> 'MOS' ORDER BY Grupo, Agente | |
End | |
END |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
02/05/2017 | |
------ANTES INICIO | |
/****** Object: StoredProcedure [dbo].[spFacturacionSectorABC] Script Date: 05/02/2017 13:04:45 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
ALTER PROCEDURE [dbo].[spFacturacionSectorABC] | |
@Grupo varchar(50), | |
@Categoria varchar(50), | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@Ejercicio int, | |
@Empresa char(5), | |
@Sucursal int | |
AS BEGIN | |
DECLARE | |
@GruX varchar(50), | |
@AgeX char(10), | |
@ImpX money, | |
@CuotaX money, | |
@FechaX Datetime, | |
@Eje2 int, | |
@CatX varchar(50), | |
@GruY varchar(50), | |
@AgeY char(10), | |
@ImpY money, | |
@CatY varchar(50), | |
@NumY int, | |
@PerY int, | |
@GruZ varchar(50), | |
@AgeZ char(10), | |
@EjeZ int, | |
@Cliente char(10) | |
--drop table #FactCuotaM | |
CREATE TABLE #FactSector ( | |
Grupo varchar(50) NULL, | |
Agente char(10) NULL, | |
Categoria varchar(50) NULL, | |
Cant1 money NULL, | |
Importe1 money NULL, | |
Cant2 money NULL, | |
Importe2 money NULL, | |
Cant3 money NULL, | |
Importe3 money NULL, | |
Cant4 money NULL, | |
Importe4 money NULL, | |
Cant5 money NULL, | |
Importe5 money NULL, | |
Cant6 money NULL, | |
Importe6 money NULL, | |
Cant7 money NULL, | |
Importe7 money NULL, | |
Cant8 money NULL, | |
Importe8 money NULL, | |
Cant9 money NULL, | |
Importe9 money NULL, | |
Cant10 money NULL, | |
Importe10 money NULL, | |
Cant11 money NULL, | |
Importe11 money NULL, | |
Cant12 money NULL, | |
Importe12 money NULL, | |
Cliente bigint NULL) | |
IF @Grupo IN ('NULL', '', '0', '(Todos)') SELECT @Grupo = NULL | |
IF @Categoria IN ('NULL', '', '0', '(Todos)') SELECT @Categoria = NULL | |
Create Table #FactMensual( | |
Grupo varchar(50) Null, | |
Agente char(10) Null, | |
Importe money Null, | |
Cliente int Null, | |
Categoria varchar(50) Null, | |
Ejercicio int Null, | |
Periodo int Null) | |
Insert Into #FactMensual | |
SELECT ag.Grupo, a.Agente, Importe=Sum(((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio))), | |
Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
Union All | |
SELECT ag.Grupo, a.Agente, Importe=Sum((a.Importe*a.TipoCambio)), | |
Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.FA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
Union All | |
SELECT ag.Grupo, a.Agente, Importe=IsNull(Sum((-a.Importe*a.TipoCambio)),0), | |
Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.D' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
Union All | |
SELECT ag.Grupo, a.Agente, Importe=IsNull(Sum((-a.Importe*a.TipoCambio)),0), | |
Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
FROM Cxc a, CxcD, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
AND CxcD.Aplica = 'Factura Anticipo' | |
Group BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
Union All | |
SELECT ag.Grupo, a.Agente, Importe=IsNull(Sum((a.Importe*a.TipoCambio)),0), | |
Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
--AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.CA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
--AND CxcD.Aplica = 'Factura Anticipo' | |
Group BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
Update #FactMensual Set Grupo='S/G' Where Grupo Is Null | |
Update #FactMensual Set Categoria='S/C' Where Categoria Is Null | |
--Select * From #FactMensual | |
/* | |
SELECT ag.Grupo, a.Agente, Importe = SUM(a.Importe), Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
INTO #FactMensual | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
GROUP BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
ORDER BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
*/ | |
DECLARE CrFac CURSOR FOR | |
SELECT Distinct Grupo, Agente, Categoria | |
FROM #FactMensual | |
OPEN CrFac | |
FETCH NEXT FROM CrFac INTO @GruX, @AgeX, @CatX | |
WHILE @@FETCH_STATUS <> -1 | |
BEGIN | |
IF @@FETCH_STATUS <> -2 | |
BEGIN | |
INSERT #FactSector(Grupo, Agente, Categoria) | |
VALUES(@GruX, @AgeX, @CatX) | |
END | |
FETCH NEXT FROM CrFac INTO @GruX, @AgeX, @CatX | |
END | |
CLOSE CrFac | |
DEALLOCATE CrFac | |
--Select * From #FactSector | |
--spFacturacionSectorABC'(Todos)','(Todos)','AGP','VHG',2008,'LABC' | |
DECLARE CrFac1 CURSOR FOR | |
SELECT Grupo, Agente, Categoria, Sum(IsNull(Importe,0)), Sum(IsNull(Cliente,0)), Periodo | |
FROM #FactMensual | |
Group By Grupo, Agente, Categoria, Periodo | |
OPEN CrFac1 | |
FETCH NEXT FROM CrFac1 INTO @GruY, @AgeY, @CatY, @ImpY, @NumY, @PerY | |
WHILE @@FETCH_STATUS <> -1 | |
BEGIN | |
IF @@FETCH_STATUS <> -2 | |
BEGIN | |
IF @ImpY Is Null Select @ImpY=0 | |
UPDATE #FactSector SET Importe1 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 1 | |
UPDATE #FactSector SET Cant1 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 1 | |
UPDATE #FactSector SET Importe2 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 2 | |
UPDATE #FactSector SET Cant2 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 2 | |
UPDATE #FactSector SET Importe3 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 3 | |
UPDATE #FactSector SET Cant3 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 3 | |
UPDATE #FactSector SET Importe4 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 4 | |
UPDATE #FactSector SET Cant4 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 4 | |
UPDATE #FactSector SET Importe5 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 5 | |
UPDATE #FactSector SET Cant5 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 5 | |
UPDATE #FactSector SET Importe6 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 6 | |
UPDATE #FactSector SET Cant6 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 6 | |
UPDATE #FactSector SET Importe7 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 7 | |
UPDATE #FactSector SET Cant7 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 7 | |
UPDATE #FactSector SET Importe8 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 8 | |
UPDATE #FactSector SET Cant8 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 8 | |
UPDATE #FactSector SET Importe9 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 9 | |
UPDATE #FactSector SET Cant9 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 9 | |
UPDATE #FactSector SET Importe10 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 10 | |
UPDATE #FactSector SET Cant10 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 10 | |
UPDATE #FactSector SET Importe11 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 11 | |
UPDATE #FactSector SET Cant11 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 11 | |
UPDATE #FactSector SET Importe12 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 12 | |
UPDATE #FactSector SET Cant12 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 12 | |
END | |
FETCH NEXT FROM CrFac1 INTO @GruY, @AgeY, @CatY, @ImpY, @NumY, @PerY | |
END | |
CLOSE CrFac1 | |
DEALLOCATE CrFac1 | |
SELECT * FROM #FactSector ORDER BY Grupo, Agente, Categoria, Cliente | |
END | |
------ANTES FIN------------------------------------------------------------------------------------------------- | |
-------------------------------------------------------------------------------- ACTUALIZADO MARCO | |
/****** Object: StoredProcedure [dbo].[spFacturacionSectorABC] Script Date: 05/02/2017 13:04:45 ******/ | |
/****** Object: StoredProcedure [dbo].[spFacturacionSectorABC] Script Date: 05/02/2017 13:04:45 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
ALTER PROCEDURE [dbo].[spFacturacionSectorABC] | |
@Grupo varchar(50), | |
@Categoria varchar(50), | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@Ejercicio int, | |
@Empresa char(5), | |
@Sucursal int, | |
@Zona varchar(30) --add 02/05/17 | |
AS BEGIN | |
DECLARE | |
@GruX varchar(50), | |
@AgeX char(10), | |
@ImpX money, | |
@CuotaX money, | |
@FechaX Datetime, | |
@Eje2 int, | |
@CatX varchar(50), | |
@GruY varchar(50), | |
@AgeY char(10), | |
@ImpY money, | |
@CatY varchar(50), | |
@NumY int, | |
@PerY int, | |
@GruZ varchar(50), | |
@AgeZ char(10), | |
@EjeZ int, | |
@Cliente char(10) | |
--drop table #FactCuotaM | |
CREATE TABLE #FactSector ( | |
Grupo varchar(50) NULL, | |
Agente char(10) NULL, | |
NomAgente varchar(100) NULL, --add 02/05/17 | |
Categoria varchar(50) NULL, | |
Cant1 money NULL, | |
Importe1 money NULL, | |
Cant2 money NULL, | |
Importe2 money NULL, | |
Cant3 money NULL, | |
Importe3 money NULL, | |
Cant4 money NULL, | |
Importe4 money NULL, | |
Cant5 money NULL, | |
Importe5 money NULL, | |
Cant6 money NULL, | |
Importe6 money NULL, | |
Cant7 money NULL, | |
Importe7 money NULL, | |
Cant8 money NULL, | |
Importe8 money NULL, | |
Cant9 money NULL, | |
Importe9 money NULL, | |
Cant10 money NULL, | |
Importe10 money NULL, | |
Cant11 money NULL, | |
Importe11 money NULL, | |
Cant12 money NULL, | |
Importe12 money NULL, | |
Cliente bigint NULL) | |
IF @Grupo IN ('NULL', '', '0', '(Todos)') SELECT @Grupo = NULL | |
IF @Categoria IN ('NULL', '', '0', '(Todos)') SELECT @Categoria = NULL | |
IF @Zona not in(Select Distinct Zona From Agente) or @Zona in('','null','NULL') --add 02/05/17 | |
Begin | |
Select @Zona=null | |
End | |
Create Table #FactMensual( | |
Grupo varchar(50) Null, | |
Agente char(10) Null, | |
Importe money Null, | |
Cliente int Null, | |
Categoria varchar(50) Null, | |
Ejercicio int Null, | |
Periodo int Null) | |
Insert Into #FactMensual | |
SELECT ag.Grupo, a.Agente, Importe=Sum(((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio))), | |
Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
And ag.Zona=Isnull(@Zona,ag.Zona) --add 02/05/17 | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
Union All | |
SELECT ag.Grupo, a.Agente, Importe=Sum((a.Importe*a.TipoCambio)), | |
Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.FA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
And ag.Zona=Isnull(@Zona,ag.Zona) --add 02/05/17 | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
Union All | |
SELECT ag.Grupo, a.Agente, Importe=IsNull(Sum((-a.Importe*a.TipoCambio)),0), | |
Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.D' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
And ag.Zona=Isnull(@Zona,ag.Zona) --add 02/05/17 | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
Group BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
Union All | |
SELECT ag.Grupo, a.Agente, Importe=IsNull(Sum((-a.Importe*a.TipoCambio)),0), | |
Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
FROM Cxc a, CxcD, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
And ag.Zona=Isnull(@Zona,ag.Zona) --add 02/05/17 | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
AND CxcD.Aplica = 'Factura Anticipo' | |
Group BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
Union All | |
SELECT ag.Grupo, a.Agente, Importe=IsNull(Sum((a.Importe*a.TipoCambio)),0), | |
Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
--AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.CA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
And ag.Zona=Isnull(@Zona,ag.Zona) --add 02/05/17 | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
--AND CxcD.Aplica = 'Factura Anticipo' | |
Group BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
Update #FactMensual Set Grupo='S/G' Where Grupo Is Null | |
Update #FactMensual Set Categoria='S/C' Where Categoria Is Null | |
--Select * From #FactMensual | |
/* | |
SELECT ag.Grupo, a.Agente, Importe = SUM(a.Importe), Cliente = COUNT(a.Cliente), c.Categoria, a.Ejercicio, a.Periodo | |
INTO #FactMensual | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
AND a.Estatus = 'CONCLUIDO' | |
AND ISNULL(ag.Grupo, '') = ISNULL(ISNULL(@Grupo, ag.Grupo), '') | |
AND ISNULL(c.Categoria, '') = ISNULL(ISNULL(@Categoria, c.Categoria), '') | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Empresa = @Empresa | |
GROUP BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
ORDER BY ag.Grupo, a.Agente, c.Categoria, a.Ejercicio, a.Periodo | |
*/ | |
DECLARE CrFac CURSOR FOR | |
SELECT Distinct Grupo, Agente, Categoria | |
FROM #FactMensual | |
OPEN CrFac | |
FETCH NEXT FROM CrFac INTO @GruX, @AgeX, @CatX | |
WHILE @@FETCH_STATUS <> -1 | |
BEGIN | |
IF @@FETCH_STATUS <> -2 | |
BEGIN | |
INSERT #FactSector(Grupo, Agente, Categoria) | |
VALUES(@GruX, @AgeX, @CatX) | |
END | |
FETCH NEXT FROM CrFac INTO @GruX, @AgeX, @CatX | |
END | |
CLOSE CrFac | |
DEALLOCATE CrFac | |
--Select * From #FactSector | |
--spFacturacionSectorABC'(Todos)','(Todos)','AGP','VHG',2008,'LABC' | |
DECLARE CrFac1 CURSOR FOR | |
SELECT Grupo, Agente, Categoria, Sum(IsNull(Importe,0)), Sum(IsNull(Cliente,0)), Periodo | |
FROM #FactMensual | |
Group By Grupo, Agente, Categoria, Periodo | |
OPEN CrFac1 | |
FETCH NEXT FROM CrFac1 INTO @GruY, @AgeY, @CatY, @ImpY, @NumY, @PerY | |
WHILE @@FETCH_STATUS <> -1 | |
BEGIN | |
IF @@FETCH_STATUS <> -2 | |
BEGIN | |
IF @ImpY Is Null Select @ImpY=0 | |
UPDATE #FactSector SET Importe1 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 1 | |
UPDATE #FactSector SET Cant1 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 1 | |
UPDATE #FactSector SET Importe2 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 2 | |
UPDATE #FactSector SET Cant2 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 2 | |
UPDATE #FactSector SET Importe3 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 3 | |
UPDATE #FactSector SET Cant3 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 3 | |
UPDATE #FactSector SET Importe4 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 4 | |
UPDATE #FactSector SET Cant4 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 4 | |
UPDATE #FactSector SET Importe5 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 5 | |
UPDATE #FactSector SET Cant5 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 5 | |
UPDATE #FactSector SET Importe6 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 6 | |
UPDATE #FactSector SET Cant6 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 6 | |
UPDATE #FactSector SET Importe7 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 7 | |
UPDATE #FactSector SET Cant7 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 7 | |
UPDATE #FactSector SET Importe8 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 8 | |
UPDATE #FactSector SET Cant8 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 8 | |
UPDATE #FactSector SET Importe9 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 9 | |
UPDATE #FactSector SET Cant9 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 9 | |
UPDATE #FactSector SET Importe10 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 10 | |
UPDATE #FactSector SET Cant10 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 10 | |
UPDATE #FactSector SET Importe11 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 11 | |
UPDATE #FactSector SET Cant11 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 11 | |
UPDATE #FactSector SET Importe12 = @ImpY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 12 | |
UPDATE #FactSector SET Cant12 = @NumY WHERE Grupo = @GruY AND Agente = @AgeY AND Categoria = @CatY AND @PerY = 12 | |
END | |
FETCH NEXT FROM CrFac1 INTO @GruY, @AgeY, @CatY, @ImpY, @NumY, @PerY | |
END | |
CLOSE CrFac1 | |
DEALLOCATE CrFac1 | |
Update #FactSector Set NomAgente=(Select Nombre From Agente Where Agente=#FactSector.Agente) | |
IF @Zona='METRO' --add 02/05/17 | |
Begin | |
SELECT * FROM #FactSector ORDER BY Grupo, NomAgente, Categoria, Cliente | |
End | |
Else | |
IF @Zona<>'METRO' or @Zona IS NULL | |
Begin | |
SELECT * FROM #FactSector ORDER BY Grupo, Agente, Categoria, Cliente | |
End | |
END |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/****** Object: StoredProcedure [dbo].[spFacturacionSemanalABC] Script Date: 04/27/2017 13:16:12 ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
ALTER PROCEDURE [dbo].[spFacturacionSemanalABC] | |
@Grupo varchar(50), | |
@AgenteD char(10), | |
@AgenteA char(10), | |
@Ejercicio int, | |
@Periodo int, | |
@Empresa VArchar(10), | |
@Usuario Char(10), | |
@Familia Varchar(50), | |
@Sucursal int, | |
@Zona Varchar(30) --cambiado/agregado para nuevo filtro Diciembre 2014 | |
AS BEGIN | |
DECLARE | |
@PrimerDiaMes Datetime, | |
@UltimoDiaMes Datetime, | |
@IniSemana1 Datetime, | |
@FinSemana1 Datetime, | |
@IniSemana2 Datetime, | |
@FinSemana2 Datetime, | |
@IniSemana3 Datetime, | |
@FinSemana3 Datetime, | |
@IniSemana4 Datetime, | |
@FinSemana4 Datetime, | |
@IniSemana5 Datetime, | |
@FinSemana5 Datetime, | |
@Dias1 int, | |
@Dias2 int, | |
@Dias3 int, | |
@Dias4 int, | |
@Dias5 int, | |
@GruX varchar(50), | |
@AgeX char(10), | |
@ImpX money, | |
@CuotaX money, | |
@FechaX Datetime, | |
@CuotaDia money, | |
@Categoria VarChar(50), | |
@Mov char(20), | |
@TFacturacion money, | |
@TDevolucion money, | |
@TAnticipo money, | |
@EmpresaT char(10) | |
Exec spValidaAgentesGABC | |
@Usuario, | |
@Empresa, | |
@Categoria OUTPUT, | |
@Familia OUTPUT, | |
@Grupo OUTPUT, | |
@AgenteD OUTPUT, | |
@AgenteA OUTPUT, | |
@Zona OUTPUT --cambiado/agregado para nuevo filtro Diciembre 2014 | |
--drop table FactCuota | |
----Validacion Agentes para que no puedan ver movimientos de otros agentes | |
IF @Categoria='EJECUTIVO DE VENTAS' | |
Begin | |
Select @Empresa=Nivelacceso,@Sucursal=SucursalEmpresa From Agente Where Agente=@AgenteD | |
Select @Empresa=Case @Empresa When '(LABC)' Then 'LABC' | |
When '(FASIQ)' Then 'FASIQ' | |
When '(LMA)' Then 'LMA' | |
When '(GMTK)' Then 'GMTK' | |
When '(FERMI)' Then 'FERMI' | |
End | |
End | |
---- | |
IF Exists (Select * From SysObjects Where ID=object_ID('dbo.FactCuota') And Type='U') | |
Drop Table dbo.FactCuota | |
CREATE TABLE FactCuota ( | |
Orden Int NULL, | |
Grupo varchar(50) NULL, | |
Mov char(20) NULL, | |
Agente char(10) NULL, | |
NomAgente varchar(100) NULL, | |
Cuota1 money NULL, | |
Importe1 money NULL, | |
FechaD1 Datetime NULL, | |
FechaA1 Datetime NULL, | |
Cuota2 money NULL, | |
Importe2 money NULL, | |
FechaD2 Datetime NULL, | |
FechaA2 Datetime NULL, | |
Cuota3 money NULL, | |
Importe3 money NULL, | |
FechaD3 Datetime NULL, | |
FechaA3 Datetime NULL, | |
Cuota4 money NULL, | |
Importe4 money NULL, | |
FechaD4 Datetime NULL, | |
FechaA4 Datetime NULL, | |
Cuota5 money NULL, | |
Importe5 money NULL, | |
FechaD5 Datetime NULL, | |
FechaA5 Datetime NULL) | |
Create Table #FactSem( | |
Orden int Null, | |
Grupo varchar(50) Null, | |
Mov char(20) Null, | |
MovId Varchar(20) null, | |
Agente char(10) Collate Modern_Spanish_CI_AS Null, | |
Importe Money Null, | |
Cuota Money Null, | |
FechaEmision DateTime Null) | |
IF @Grupo IN ('NULL', '', '0', '(Todos)') SELECT @Grupo = NULL | |
IF @Ejercicio = 0 SELECT @Ejercicio = YEAR(GETDATE()) | |
IF @Periodo = 0 SELECT @Periodo = MONTH(GETDATE()) | |
IF @Empresa not in(Select Empresa From Empresa) or @Empresa in('','null','NULL') | |
Begin | |
Select @Empresa=null | |
End | |
IF @Zona not in(Select Distinct Zona From Agente) or @Zona in('','null','NULL') | |
Begin | |
Select @Zona=null | |
End | |
--exec spFacturacionSemanalABC '(Todos)','ACC','ZZZZZZ',2014,11,'NULL','GVT','(Todos)',NULL,'NULL' | |
Insert Into #FactSem(Orden, Grupo, Mov,MovId, Agente, Importe, Cuota, FechaEmision) | |
SELECT 1, ag.Grupo, a.Mov,a.movid, a.Agente, ((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio)), | |
Cuota = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = a.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), a.FechaEmision | |
-- INTO #FactSem | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
--And ag.SucursalEmpresa=IsNull(@Sucursal,ag.SucursalEmpresa) | |
AND a.Estatus = 'CONCLUIDO' | |
/***** Lineas Para el Filtro de Agentes *****/ | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
/***** Lineas Para el Filtro de Agentes *****/ | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
ORDER BY ag.Grupo, a.Agente | |
----- | |
----------- | |
-----------Inserta Las facturas canceladas en meses posteriores al de emision | |
Insert Into #FactSem(Orden, Grupo, Mov,MovId, Agente, Importe, Cuota, FechaEmision) | |
SELECT 1, ag.Grupo, a.Mov,a.movid, a.Agente, | |
Importe=Case When (a.Mov in('Factura','Factura CFD') And a.estatus='CANCELADO' AND a.Ejercicio=@Ejercicio AND a.Periodo=@Periodo And MONTH(a.FechaCancelacion)>Month(a.FechaEmision) And MONTH(a.FechaCancelacion)<>@Periodo) | |
Then ((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio)) | |
Else ((a.Importe*a.TipoCambio)-((IsNull(a.AnticiposFacturados,0)-IsNull(AnticiposImpuestos,0))*a.TipoCambio))*-1 End, | |
Cuota = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = a.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo),Case When Month(a.FechaCancelacion)<>@Periodo Then a.FechaEmision Else a.FechaCancelacion End --Cast(a.FechaCancelacion as Date) End | |
-- INTO #FactSem | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.F' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
And (a.Estatus='CANCELADO' AND MONTH(a.FechaCancelacion)>Month(a.FechaEmision)) | |
/***** Lineas Para el Filtro de Agentes *****/ | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
/***** Lineas Para el Filtro de Agentes *****/ | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND (a.Periodo=@Periodo Or MONTH(a.FechaCancelacion)=@Periodo) | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
ORDER BY ag.Grupo, a.Agente | |
----------- | |
/* | |
---notas de cargo | |
Insert Into #FactSem(Orden, Grupo, Mov,movid, Agente, Importe, Cuota, FechaEmision) | |
SELECT 1, ag.Grupo, 'Factura',a.movid, a.Agente, (a.Importe*a.TipoCambio), | |
(SELECT Importe FROM TablaAnualD WHERE TablaAnual = a.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), a.FechaEmision | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
--AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.CA') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
--And ag.SucursalEmpresa=IsNull(@Sucursal,ag.SucursalEmpresa) | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
/***** Lineas Para el Filtro de Agentes *****/ | |
And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
/***** Lineas Para el Filtro de Agentes *****/ | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo | |
AND a.Empresa = @Empresa | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
--AND CxcD.Aplica = 'Factura Anticipo' | |
ORDER BY ag.Grupo, a.Agente | |
--fin notas de cargo | |
*/ | |
-----insertado para que salgan los agentes aunque no tengan movimientos 23-Abril-2010 | |
--IF @Sucursal is not null And @Sucursal<>0 and @Categoria is null --los gerentes son los unicos que lo pdoran ver y su categoria es null | |
-- Begin | |
IF @Categoria<>'EJECUTIVO DE VENTAS' | |
Begin | |
Select @EmpresaT=Case @Empresa When 'LABC' Then '(LABC)' --agregado para impedir que agregue aegentes de otra empresaa si trae filtro de empresa | |
When 'FASIQ' Then '(FASIQ)' | |
When 'LMA' Then '(LMA)' | |
When 'GMTK' Then '(GMTK)' | |
When 'FERMI' Then '(FERMI)' | |
End | |
Insert Into #FactSem(Orden, Grupo, Mov, Agente, Importe, Cuota, FechaEmision) | |
Select 1,Grupo,'Factura',Agente,0, | |
Cuota = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = Agente.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), GetDate() | |
From Agente | |
Where Estatus='ALTA' And Categoria='EJECUTIVO DE VENTAS' And Zona=Isnull(@Zona,Zona) | |
And Not Exists(Select f.* From #FactSem f Where f.Agente=Agente.Agente) | |
AND NivelAcceso=Isnull(@EmpresaT,NivelAcceso) | |
And SucursalEmpresa=IsNull(@Sucursal,SucursalEmpresa) | |
End | |
-- End | |
/* | |
IF @Sucursal is null and @Categoria is null | |
Begin | |
Insert Into #FactSem(Orden, Grupo, Mov, Agente, Importe, Cuota, FechaEmision) | |
Select 1,Grupo,'Factura',Agente,0, | |
Cuota = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = Agente.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), GetDate() | |
From Agente | |
Where Estatus='ALTA' And Categoria='EJECUTIVO DE VENTAS' | |
And Not Exists(Select f.* From #FactSem f Where f.Agente=Agente.Agente) | |
End | |
IF @Sucursal=0 And @Empresa='FERMI' and @Categoria is null | |
Begin | |
Insert Into #FactSem(Orden, Grupo, Mov, Agente, Importe, Cuota, FechaEmision) | |
Select 1,Grupo,'Factura',Agente,0, | |
Cuota = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = Agente.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), GetDate() | |
From Agente | |
Where Estatus='ALTA' And Categoria='EJECUTIVO DE VENTAS' And SucursalEmpresa=0 And Familia='Gerencia de Ventas Fermi Mexico' | |
And Not Exists(Select f.* From #FactSem f Where f.Agente=Agente.Agente) | |
End | |
IF @Sucursal=0 And @Empresa='LABC' and @Categoria is null | |
Begin | |
Insert Into #FactSem(Orden, Grupo, Mov, Agente, Importe, Cuota, FechaEmision) | |
Select 1,Grupo,'Factura',Agente,0, | |
Cuota = (SELECT Importe FROM TablaAnualD WHERE TablaAnual = Agente.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), GetDate() | |
From Agente | |
Where Estatus='ALTA' And Categoria='EJECUTIVO DE VENTAS' And SucursalEmpresa=0 And Familia<>'Gerencia de Ventas Fermi Mexico' | |
And Not Exists(Select f.* From #FactSem f Where f.Agente=Agente.Agente) | |
End | |
*/ | |
--- | |
--- | |
Insert Into #FactSem(Orden, Grupo, Mov,movid, Agente, Importe, Cuota, FechaEmision) | |
SELECT 2, ag.Grupo, a.Mov,a.movid, a.Agente, -(a.Importe*a.TipoCambio), (SELECT Importe FROM TablaAnualD WHERE TablaAnual = a.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), a.FechaEmision | |
FROM Venta a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'VTAS' | |
AND mt.Clave = 'VTAS.D' | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
--And ag.SucursalEmpresa=IsNull(@Sucursal,ag.SucursalEmpresa) | |
AND a.Estatus = 'CONCLUIDO' | |
/***** Lineas Para el Filtro de Agentes *****/ | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
/***** Lineas Para el Filtro de Agentes *****/ | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
ORDER BY ag.Grupo, a.Agente | |
Insert Into #FactSem(Orden, Grupo, Mov,movid, Agente, Importe, Cuota, FechaEmision) | |
SELECT 2, ag.Grupo, 'Devolucion Venta',a.movid, a.Agente, -(a.Importe*a.TipoCambio), | |
(SELECT Importe FROM TablaAnualD WHERE TablaAnual = a.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), a.FechaEmision | |
FROM Cxc a, CxcD, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND a.ID=CxcD.ID | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
--And ag.SucursalEmpresa=IsNull(@Sucursal,ag.SucursalEmpresa) | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
/***** Lineas Para el Filtro de Agentes *****/ | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
/***** Lineas Para el Filtro de Agentes *****/ | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
AND CxcD.Aplica in('Factura Anticipo','Factura Anticipo CFD') ----Modificado para nueva revision 18-agodto 2011 | |
ORDER BY ag.Grupo, a.Agente | |
Insert Into #FactSem(Orden, Grupo, Mov,movid, Agente, Importe, Cuota, FechaEmision) | |
SELECT 3, ag.Grupo, a.Mov,a.movid, a.Agente, (a.Importe*a.TipoCambio), | |
(SELECT Importe FROM TablaAnualD WHERE TablaAnual = a.Agente AND Ejercicio = @Ejercicio AND Periodo = @Periodo), a.FechaEmision | |
FROM Cxc a, MovTipo mt, Cte c, Agente ag | |
WHERE a.Mov = mt.Mov | |
AND mt.Modulo = 'CXC' | |
AND mt.Clave In ('CXC.FA')--, 'CXC.NC') | |
AND a.Cliente = c.Cliente | |
AND a.Agente = ag.Agente | |
--And ag.SucursalEmpresa=IsNull(@Sucursal,ag.SucursalEmpresa) | |
AND a.Estatus In ('CONCLUIDO', 'PENDIENTE') | |
/***** Lineas Para el Filtro de Agentes *****/ | |
-- And IsNull(Ag.Categoria, '') = IsNull(IsNull(@Categoria, Ag.Categoria), '') | |
And IsNull(Ag.Familia, '') = IsNull(IsNull(@Familia, Ag.Familia), '') | |
And IsNull(Ag.Grupo, '') = IsNull(IsNull(@Grupo, Ag.Grupo), '') | |
And ag.Zona=Isnull(@Zona,ag.Zona)--cambiado/agregado para nuevo filtro Diciembre 2014 | |
/***** Lineas Para el Filtro de Agentes *****/ | |
AND a.Agente BETWEEN @AgenteD AND @AgenteA | |
AND a.Ejercicio = @Ejercicio | |
AND a.Periodo = @Periodo | |
AND a.Empresa = Isnull(@Empresa,a.Empresa) | |
And IsNull(a.Sucursal, '') = IsNull(IsNull(@Sucursal, a.Sucursal), '') | |
ORDER BY ag.Grupo, a.Agente | |
--Select * From #FactSem order by agente,mov,movid | |
--spFacturacionSemanalABC '(Todos)', 'AGP', 'WWW', 2011, 4, 'LABC', 'GVT', '(Todos)',0 | |
SELECT @PrimerDiaMes = CONVERT(Datetime, '01/'+CONVERT(char(2), @Periodo)+'/'+CONVERT(char(4), @Ejercicio), 103) | |
SELECT @UltimoDiaMes = DATEADD(m, 1, @PrimerDiaMes) - 1 | |
SELECT @IniSemana1 = @PrimerDiaMes | |
SELECT @FinSemana1 = @IniSemana1 + 6 | |
SELECT @Dias1 = DATEDIFF(d, @IniSemana1, @FinSemana1) + 1 | |
SELECT @IniSemana2 = @FinSemana1 + 1 | |
SELECT @FinSemana2 = @IniSemana2 + 6 | |
SELECT @Dias2 = DATEDIFF(d, @IniSemana2, @FinSemana2) + 1 | |
SELECT @IniSemana3 = @FinSemana2 + 1 | |
SELECT @FinSemana3 = @IniSemana3 + 6 | |
SELECT @Dias3 = DATEDIFF(d, @IniSemana3, @FinSemana3) + 1 | |
SELECT @IniSemana4 = @FinSemana3 + 1 | |
SELECT @FinSemana4 = @IniSemana4 + 6 | |
SELECT @Dias4 = DATEDIFF(d, @IniSemana4, @FinSemana4) + 1 | |
IF @FinSemana4 < @UltimoDiaMes | |
BEGIN | |
SELECT @IniSemana5 = @FinSemana4 + 1 | |
SELECT @FinSemana5 = @UltimoDiaMes | |
SELECT @Dias5 = DATEDIFF(d, @IniSemana5, @FinSemana5) + 1 | |
END | |
INSERT FactCuota (Orden, Grupo, Mov, Agente, Cuota1, Importe1, FechaD1, FechaA1, Cuota2, Importe2, FechaD2, FechaA2, Cuota3, Importe3, FechaD3, FechaA3, Cuota4, Importe4, FechaD4, FechaA4, Cuota5, Importe5, FechaD5, FechaA5) | |
SELECT DISTINCT Orden, Grupo, Mov, Agente, 0.0, 0.0, @IniSemana1, @FinSemana1, 0.0, 0.0, @IniSemana2, @FinSemana2, 0.0, 0.0, @IniSemana3, @FinSemana3, 0.0, 0.0, @IniSemana4, @FinSemana4, 0.0, 0.0, @IniSemana5, @FinSemana5 | |
FROM #FactSem | |
DECLARE CrFac CURSOR FOR | |
SELECT Grupo, Mov, Agente, Importe, Cuota, FechaEmision | |
FROM #FactSem | |
OPEN CrFac | |
FETCH NEXT FROM CrFac INTO @GruX, @Mov, @AgeX, @ImpX, @CuotaX, @FechaX | |
WHILE @@FETCH_STATUS <> -1 | |
BEGIN | |
IF @@FETCH_STATUS <> -2 | |
BEGIN | |
SELECT @CuotaDia = @CuotaX / DAY(@UltimoDiaMes) | |
UPDATE FactCuota SET Cuota1 = @CuotaDia * @Dias1, Cuota2 = @CuotaDia * @Dias2, Cuota3 = @CuotaDia * @Dias3, Cuota4 = @CuotaDia * @Dias4, Cuota5 = @CuotaDia * @Dias5 WHERE Agente = @AgeX AND Grupo = @GruX | |
IF @FechaX BETWEEN @IniSemana1 AND @FinSemana1 UPDATE FactCuota SET Importe1 = Importe1 + @ImpX WHERE Agente = @AgeX AND Grupo = @GruX And Mov=@Mov ELSE | |
IF @FechaX BETWEEN @IniSemana2 AND @FinSemana2 UPDATE FactCuota SET Importe2 = Importe2 + @ImpX WHERE Agente = @AgeX AND Grupo = @GruX And Mov=@Mov ELSE | |
IF @FechaX BETWEEN @IniSemana3 AND @FinSemana3 UPDATE FactCuota SET Importe3 = Importe3 + @ImpX WHERE Agente = @AgeX AND Grupo = @GruX And Mov=@Mov ELSE | |
IF @FechaX BETWEEN @IniSemana4 AND @FinSemana4 UPDATE FactCuota SET Importe4 = Importe4 + @ImpX WHERE Agente = @AgeX AND Grupo = @GruX And Mov=@Mov ELSE | |
IF @FechaX BETWEEN @IniSemana5 AND @FinSemana5 UPDATE FactCuota SET Importe5 = Importe5 + @ImpX WHERE Agente = @AgeX AND Grupo = @GruX And Mov=@Mov | |
END | |
FETCH NEXT FROM CrFac INTO @GruX, @Mov, @AgeX, @ImpX, @CuotaX, @FechaX | |
END | |
CLOSE CrFac | |
DEALLOCATE CrFac | |
--Update FactCuota Set Cuota1=0, Cuota2=0, Cuota3=0, Cuota4=0, Cuota5=0 Where Mov<>'Factura' | |
--spFacturacionSemanalABC '(Todos)', 'AGP', 'VCL', 2009, 4, 'LABC', 'GVT', '(Todos)',1 | |
UPDATE FactCuota set NomAgente = (Select Nombre FROM Agente WHERE Agente=FactCuota.Agente) | |
IF @Zona='METRO' | |
Begin | |
SELECT * FROM FactCuota Where Agente <> 'MOS' ORDER BY Grupo,NomAgente , Orden | |
End | |
Else | |
IF @Zona<>'METRO' or @Zona IS NULL | |
Begin | |
SELECT * FROM FactCuota Where Agente <> 'MOS' ORDER BY Grupo, Agente ,Orden | |
End | |
END | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment