Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
3| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_Cuit | varchar | 20 | |
| @p_todos | varchar | 1 | |
| @ids | varchar | 100 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
obtener_indices_de_gestion_resumido_test '30501677643'
obtener_indices_de_gestion_resumido null,null,'366137,366138'
*/
CREATE OR ALTER PROCEDURE dbo.obtener_indices_de_gestion
@p_Cuit varchar(20),
@p_todos varchar(1) = 'N',
@ids varchar(100) = NULL
AS
BEGIN
SET NOCOUNT ON;
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
SET CONCAT_NULL_YIELDS_NULL ON
if(ISNULL(@ids,'') != '')
BEGIN
set @ids = '0,'+@ids
/*
declare @data xml
declare @temp table(id int)
select @data = '<t>' + replace(@ids, ',', '</t><t>') + '</t>'
insert into @temp
select t.c.value('.', 'int') as id
from @data.nodes('t') as t(c)
*/
SELECT convert(varchar(10),bc.fecha_balance,103) as fecha_balance,fecha_balance as fecha_order,
isnull(ind_liqcorr,0) as ind_liqcorr,
isnull(ind_liqseca,0) as ind_liqseca,
isnull(ind_endeu,0) as ind_endeu,
isnull(ind_solvencia,0) as ind_solvencia,
isnull(ind_endeuact,0) as ind_endeuact,
isnull(ind_captra,0) as ind_captra,
isnull(ind_cappro,0) as ind_cappro,
isnull(ind_invbu,0) as ind_invbu,
isnull(ind_inmact,0) as ind_inmact,
isnull(ind_inmpat,0) as ind_inmpat,
isnull(ind_marbru,0) as ind_marbru,
isnull(ind_utilfin,0) as ind_utilfin,
isnull(ind_retpat,0) as ind_retpat,
isnull(ind_rotvta,0) as ind_rotvta,
isnull(ind_rotvta_dias,0) as ind_rotvta_dias,
isnull(ind_rotact,0) as ind_rotact,
isnull(ind_rotact_dias,0) as ind_rotact_dias,
isnull(ind_rentabilidad,0) as ind_rentabilidad,
isnull(ind_indrot,0) as ind_indrot,
isnull(ind_indrot_dias,0) as ind_indrot_dias,
isnull(ind_rotinv,0) as ind_rotinv,
isnull(ind_rotinv_dias,0) as ind_rotinv_dias ,
isnull(ind_prest_pn,0) as ind_prest_pn,
isnull(ind_prest_vtas,0) as ind_prest_vtas,
isnull(ind_solvencia_pat,0) as ind_solvencia_pat,
isnull(ind_rotact,0) as ind_rotact,
isnull(ind_ebipas,0) as ind_ebipas,
isnull(ganancia,0) as ganancia,
isnull(act_total,0) as act_total,
monedas.nombre_moneda
from balances_contables as bc inner join monedas on bc.moneda = monedas.moneda
inner join dbo.DelimitedSplit8K(@ids, ',') lista on bc.id_balance= lista.Item
where -- id_balance in (SELECT id FROM @temp) AND
isnull(bc.visible,0) = 1
AND isnull(estado,'') = 'PUBLICADO'
order by fecha_order
END
ELSE
BEGIN
declare @p_top int = 5
if (@p_todos = 'S') begin set @p_top = 6 end
SELECT top (@p_top)
bc.estado as estado,
convert(varchar(10),bc.fecha_balance,103) as fecha_balance,fecha_balance as fecha_order,
isnull(ind_liqcorr,0) as ind_liqcorr,
isnull(ind_liqseca,0) as ind_liqseca,
isnull(ind_endeu,0) as ind_endeu,
isnull(ind_solvencia,0) as ind_solvencia,
isnull(ind_endeuact,0) as ind_endeuact,
isnull(ind_captra,0) as ind_captra,
isnull(ind_cappro,0) as ind_cappro,
isnull(ind_invbu,0) as ind_invbu,
isnull(ind_inmact,0) as ind_inmact,
isnull(ind_inmpat,0) as ind_inmpat,
isnull(ind_marbru,0) as ind_marbru,
isnull(ind_utilfin,0) as ind_utilfin,
isnull(ind_retpat,0) as ind_retpat,
isnull(ind_rotvta,0) as ind_rotvta,
isnull(ind_rotvta_dias,0) as ind_rotvta_dias,
isnull(ind_rotact,0) as ind_rotact,
isnull(ind_rotact_dias,0) as ind_rotact_dias,
isnull(ind_rentabilidad,0) as ind_rentabilidad,
isnull(ind_indrot,0) as ind_indrot,
isnull(ind_indrot_dias,0) as ind_indrot_dias,
isnull(ind_rotinv,0) as ind_rotinv,
isnull(ind_rotinv_dias,0) as ind_rotinv_dias ,
isnull(ind_prest_pn,0) as ind_prest_pn,
isnull(ind_prest_vtas,0) as ind_prest_vtas,
isnull(ind_solvencia_pat,0) as ind_solvencia_pat,
isnull(ind_rotact,0) as ind_rotact,
isnull(ind_ebipas,0) as ind_ebipas,
isnull(ganancia,0) as ganancia,
isnull(act_total,0) as act_total,
monedas.nombre_moneda
from balances_contables as bc inner join monedas on bc.moneda = monedas.moneda
where bc.cuit = @p_cuit
and bc.fecha_balance >= convert(date,dateadd(yy, -6, getdate()))
AND (@p_todos = 'S' or isnull(bc.visible,0) = 1)
AND isnull(estado,'') != 'ELIMINADO'
order by fecha_order desc, id_balance desc
END
END
GO
GO
/*
obtener_indices_de_gestion_resumido_test '30501677643'
obtener_indices_de_gestion_resumido null,null,'366137,366138'
*/
CREATE OR ALTER PROCEDURE dbo.obtener_indices_de_gestion
@p_Cuit varchar(20),
@p_todos varchar(1) = 'N',
@ids varchar(100) = NULL
AS
BEGIN
SET NOCOUNT ON;
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
SET CONCAT_NULL_YIELDS_NULL ON
if(ISNULL(@ids,'') != '')
BEGIN
set @ids = '0,'+@ids
/*
declare @data xml
declare @temp table(id int)
select @data = '<t>' + replace(@ids, ',', '</t><t>') + '</t>'
insert into @temp
select t.c.value('.', 'int') as id
from @data.nodes('t') as t(c)
*/
SELECT convert(varchar(10),bc.fecha_balance,103) as fecha_balance,fecha_balance as fecha_order,
isnull(ind_liqcorr,0) as ind_liqcorr,
isnull(ind_liqseca,0) as ind_liqseca,
isnull(ind_endeu,0) as ind_endeu,
isnull(ind_solvencia,0) as ind_solvencia,
isnull(ind_endeuact,0) as ind_endeuact,
isnull(ind_captra,0) as ind_captra,
isnull(ind_cappro,0) as ind_cappro,
isnull(ind_invbu,0) as ind_invbu,
isnull(ind_inmact,0) as ind_inmact,
isnull(ind_inmpat,0) as ind_inmpat,
isnull(ind_marbru,0) as ind_marbru,
isnull(ind_utilfin,0) as ind_utilfin,
isnull(ind_retpat,0) as ind_retpat,
isnull(ind_rotvta,0) as ind_rotvta,
isnull(ind_rotvta_dias,0) as ind_rotvta_dias,
isnull(ind_rotact,0) as ind_rotact,
isnull(ind_rotact_dias,0) as ind_rotact_dias,
isnull(ind_rentabilidad,0) as ind_rentabilidad,
isnull(ind_indrot,0) as ind_indrot,
isnull(ind_indrot_dias,0) as ind_indrot_dias,
isnull(ind_rotinv,0) as ind_rotinv,
isnull(ind_rotinv_dias,0) as ind_rotinv_dias ,
isnull(ind_prest_pn,0) as ind_prest_pn,
isnull(ind_prest_vtas,0) as ind_prest_vtas,
isnull(ind_solvencia_pat,0) as ind_solvencia_pat,
isnull(ind_rotact,0) as ind_rotact,
isnull(ind_ebipas,0) as ind_ebipas,
isnull(ganancia,0) as ganancia,
isnull(act_total,0) as act_total,
monedas.nombre_moneda
from balances_contables as bc inner join monedas on bc.moneda = monedas.moneda
inner join dbo.DelimitedSplit8K(@ids, ',') lista on bc.id_balance= lista.Item
where -- id_balance in (SELECT id FROM @temp) AND
isnull(bc.visible,0) = 1
AND isnull(estado,'') = 'PUBLICADO'
order by fecha_order
END
ELSE
BEGIN
declare @p_top int = 5
if (@p_todos = 'S') begin set @p_top = 6 end
SELECT top (@p_top)
bc.estado as estado,
convert(varchar(10),bc.fecha_balance,103) as fecha_balance,fecha_balance as fecha_order,
isnull(ind_liqcorr,0) as ind_liqcorr,
isnull(ind_liqseca,0) as ind_liqseca,
isnull(ind_endeu,0) as ind_endeu,
isnull(ind_solvencia,0) as ind_solvencia,
isnull(ind_endeuact,0) as ind_endeuact,
isnull(ind_captra,0) as ind_captra,
isnull(ind_cappro,0) as ind_cappro,
isnull(ind_invbu,0) as ind_invbu,
isnull(ind_inmact,0) as ind_inmact,
isnull(ind_inmpat,0) as ind_inmpat,
isnull(ind_marbru,0) as ind_marbru,
isnull(ind_utilfin,0) as ind_utilfin,
isnull(ind_retpat,0) as ind_retpat,
isnull(ind_rotvta,0) as ind_rotvta,
isnull(ind_rotvta_dias,0) as ind_rotvta_dias,
isnull(ind_rotact,0) as ind_rotact,
isnull(ind_rotact_dias,0) as ind_rotact_dias,
isnull(ind_rentabilidad,0) as ind_rentabilidad,
isnull(ind_indrot,0) as ind_indrot,
isnull(ind_indrot_dias,0) as ind_indrot_dias,
isnull(ind_rotinv,0) as ind_rotinv,
isnull(ind_rotinv_dias,0) as ind_rotinv_dias ,
isnull(ind_prest_pn,0) as ind_prest_pn,
isnull(ind_prest_vtas,0) as ind_prest_vtas,
isnull(ind_solvencia_pat,0) as ind_solvencia_pat,
isnull(ind_rotact,0) as ind_rotact,
isnull(ind_ebipas,0) as ind_ebipas,
isnull(ganancia,0) as ganancia,
isnull(act_total,0) as act_total,
monedas.nombre_moneda
from balances_contables as bc inner join monedas on bc.moneda = monedas.moneda
where bc.cuit = @p_cuit
and bc.fecha_balance >= convert(date,dateadd(yy, -6, getdate()))
AND (@p_todos = 'S' or isnull(bc.visible,0) = 1)
AND isnull(estado,'') != 'ELIMINADO'
order by fecha_order desc, id_balance desc
END
END
GO
Depends On
3Used By
No items found