USE [leaseoper]
GO
/****** Object: StoredProcedure [dbo].[pa_lo_sel_bienes_pozo_solicitud_reemplazo] Script Date: 08/25/2017 17:43:58 ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[pa_lo_sel_bienes_pozo_solicitud_reemplazo]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[pa_lo_sel_bienes_pozo_solicitud_reemplazo]
GO
USE [leaseoper]
GO
/****** Object: StoredProcedure [dbo].[pa_lo_sel_bienes_pozo_solicitud_reemplazo] Script Date: 08/25/2017 17:43:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/*
-- =============================================
Author: Joel Castillo
Create date: 25-08-2017
Description: Obtiene bienes que pueden ser reemplazados
Ejecución:
--salta error
leaseoper..pa_lo_sel_bienes_pozo_solicitud_reemplazo 17
--trae bienes
leaseoper..pa_lo_sel_bienes_pozo_solicitud_reemplazo 333
Utilizado en: /Paginas/AdmContratos/ReemplazoBienPorGarantia/SolicitudReemplazoBien.aspx
-- =============================================
*/
CREATE PROCEDURE [dbo].[pa_lo_sel_bienes_pozo_solicitud_reemplazo]
@operacion NUMERIC(20,0)
AS
BEGIN
BEGIN TRANSACTION
BEGIN TRY
----------------------------------------------
--VARIABLES
----------------------------------------------
DECLARE @estado_operacion TINYINT
,@msg_error VARCHAR(MAX)
----------------------------------------------
--VALIDACIONES
----------------------------------------------
SELECT @estado_operacion = ISNULL(estado_operacion,99)
FROM leaseoper..t_contratos
WHERE operacion = @operacion
IF(@estado_operacion NOT IN (1,2))
BEGIN
--CAE AL CATCH
RAISERROR('Operación debe estar Vigente...',16,1)
END
----------------------------------------------
--SALIDA
----------------------------------------------
SELECT d.cod_material
,d.num_material
,d.descripcion
,d.rut_proveedor
,d.num_factura
,d.fecha_compra_mat
,d.valor_libro_inicial_mat
,d.cod_est_mat
,d.cod_rubro
,d.cod_rubro_especifico
,(SELECT ISNULL(r.descripcion,'')
FROM leasecom..p_rubros_especificos r
WHERE r.cod_rubro = d.cod_rubro AND r.cod_rubro_especifico = d.cod_rubro_especifico) AS descripcion_rubro
FROM leaseoper..t_bienes_detalle d
WHERE operacion = @operacion
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
--RESCATA ERROR Y LO MUESTRA
SET @msg_error = (SELECT CONVERT(varchar(max), ERROR_MESSAGE()))
RAISERROR (@msg_error,16,1)
RETURN
END CATCH
END
GO
viernes, 25 de agosto de 2017
miércoles, 23 de agosto de 2017
SQL - Insertar columna en tabla.-
USE leaseoper
GO
SELECT * FROM leaseoper..t_correccion_estado_pago
/* Para evitar posibles problemas de pérdida de datos, debe revisar este script detalladamente antes de ejecutarlo fuera del contexto del diseñador de base de datos.*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_t_correccion_estado_pago
(
periodo int NOT NULL,
fecha_proceso smalldatetime NOT NULL,
operacion numeric(20, 0) NOT NULL,
origen_docto tinyint NULL, --CAMPO NUEVO
id_documento int NOT NULL,
fecha_compra smalldatetime NULL,
factor_rev float(53) NOT NULL,
monto_total_documento float(53) NOT NULL,
mto_reval_ejercicio float(53) NULL,
mto_reval_total float(53) NULL,
fecha_ingreso datetime NULL,
estado tinyint NULL
) ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_t_correccion_estado_pago SET (LOCK_ESCALATION = TABLE)
GO
GRANT DELETE ON dbo.Tmp_t_correccion_estado_pago TO Usuarios AS dbo
GO
GRANT INSERT ON dbo.Tmp_t_correccion_estado_pago TO Usuarios AS dbo
GO
GRANT SELECT ON dbo.Tmp_t_correccion_estado_pago TO Usuarios AS dbo
GO
GRANT UPDATE ON dbo.Tmp_t_correccion_estado_pago TO Usuarios AS dbo
GO
IF EXISTS(SELECT * FROM dbo.t_correccion_estado_pago)
EXEC('INSERT INTO dbo.Tmp_t_correccion_estado_pago (periodo, fecha_proceso, operacion, id_documento, fecha_compra, factor_rev, monto_total_documento, mto_reval_ejercicio, mto_reval_total, fecha_ingreso, estado)
SELECT periodo, fecha_proceso, operacion, id_documento, fecha_compra, factor_rev, monto_total_documento, mto_reval_ejercicio, mto_reval_total, fecha_ingreso, estado FROM dbo.t_correccion_estado_pago WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.t_correccion_estado_pago
GO
EXECUTE sp_rename N'dbo.Tmp_t_correccion_estado_pago', N't_correccion_estado_pago', 'OBJECT'
GO
ALTER TABLE dbo.t_correccion_estado_pago ADD CONSTRAINT
pk_t_correccion_estado_pago PRIMARY KEY CLUSTERED
(
periodo,
id_documento
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
COMMIT
--Compruebo el cambio
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[t_correccion_estado_pago]') AND type in (N'U'))
SELECT * FROM leaseoper..t_correccion_estado_pago
GO
SELECT * FROM leaseoper..t_correccion_estado_pago
/* Para evitar posibles problemas de pérdida de datos, debe revisar este script detalladamente antes de ejecutarlo fuera del contexto del diseñador de base de datos.*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_t_correccion_estado_pago
(
periodo int NOT NULL,
fecha_proceso smalldatetime NOT NULL,
operacion numeric(20, 0) NOT NULL,
origen_docto tinyint NULL, --CAMPO NUEVO
id_documento int NOT NULL,
fecha_compra smalldatetime NULL,
factor_rev float(53) NOT NULL,
monto_total_documento float(53) NOT NULL,
mto_reval_ejercicio float(53) NULL,
mto_reval_total float(53) NULL,
fecha_ingreso datetime NULL,
estado tinyint NULL
) ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_t_correccion_estado_pago SET (LOCK_ESCALATION = TABLE)
GO
GRANT DELETE ON dbo.Tmp_t_correccion_estado_pago TO Usuarios AS dbo
GO
GRANT INSERT ON dbo.Tmp_t_correccion_estado_pago TO Usuarios AS dbo
GO
GRANT SELECT ON dbo.Tmp_t_correccion_estado_pago TO Usuarios AS dbo
GO
GRANT UPDATE ON dbo.Tmp_t_correccion_estado_pago TO Usuarios AS dbo
GO
IF EXISTS(SELECT * FROM dbo.t_correccion_estado_pago)
EXEC('INSERT INTO dbo.Tmp_t_correccion_estado_pago (periodo, fecha_proceso, operacion, id_documento, fecha_compra, factor_rev, monto_total_documento, mto_reval_ejercicio, mto_reval_total, fecha_ingreso, estado)
SELECT periodo, fecha_proceso, operacion, id_documento, fecha_compra, factor_rev, monto_total_documento, mto_reval_ejercicio, mto_reval_total, fecha_ingreso, estado FROM dbo.t_correccion_estado_pago WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.t_correccion_estado_pago
GO
EXECUTE sp_rename N'dbo.Tmp_t_correccion_estado_pago', N't_correccion_estado_pago', 'OBJECT'
GO
ALTER TABLE dbo.t_correccion_estado_pago ADD CONSTRAINT
pk_t_correccion_estado_pago PRIMARY KEY CLUSTERED
(
periodo,
id_documento
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
COMMIT
--Compruebo el cambio
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[t_correccion_estado_pago]') AND type in (N'U'))
SELECT * FROM leaseoper..t_correccion_estado_pago
viernes, 11 de agosto de 2017
C# - Obtener el número menor de un arreglo
private int ObtenerMenorValor(int[] arrCorrelativo)
{
int rest = arrCorrelativo[0]; //resultado
for (int n = 1; n < arrCorrelativo.Length; n++)
{
if (arrCorrelativo[n] < rest)
{
rest = arrCorrelativo[n];
}
}
return rest;
}
//Llenado y declaracion del array
var arrCorrelativo = new int[gv.VisibleRowCount]; //inicializa el arreglo con el numero de datos en grilla
for (int i = 0; i < gv.VisibleRowCount; ++i)
{
arrCorrelativo[i] = Convert.ToInt32(gv.GetRowValues(i, "correlativo_pago"));
}
var correlativoMasAntiguo = ObtenerMenorValor(arrCorrelativo);
{
int rest = arrCorrelativo[0]; //resultado
for (int n = 1; n < arrCorrelativo.Length; n++)
{
if (arrCorrelativo[n] < rest)
{
rest = arrCorrelativo[n];
}
}
return rest;
}
//Llenado y declaracion del array
var arrCorrelativo = new int[gv.VisibleRowCount]; //inicializa el arreglo con el numero de datos en grilla
for (int i = 0; i < gv.VisibleRowCount; ++i)
{
arrCorrelativo[i] = Convert.ToInt32(gv.GetRowValues(i, "correlativo_pago"));
}
var correlativoMasAntiguo = ObtenerMenorValor(arrCorrelativo);
viernes, 4 de agosto de 2017
C# - Obtener el máximo número (entity)
//previamente la tabla (con su respectiva PRIMARY KEY) debe estar incluida en el MODELO.
private int NewCodJuzgado()
{
var newId = 0;
using (var context = new leaOperModel())
{
newId = context.p_juzgados.Select(p => p.cod_juzgado).Max() + 1;
}
return newId;
}
private int NewCodJuzgado()
{
var newId = 0;
using (var context = new leaOperModel())
{
newId = context.p_juzgados.Select(p => p.cod_juzgado).Max() + 1;
}
return newId;
}
Suscribirse a:
Entradas (Atom)