CREATE OR ALTER PROCEDURE [dbo].[_obtenerIdEstadoDocumentoXOrdenUltimoCatalogo] 
		@p_idDocumento INT,
		@p_dataObjectJSON NVARCHAR(MAX), -- [ { "id": 0, "orden": 0 } ]
		@p_idUsuario AS INT,
		@p_eid AS VARCHAR(10)
	AS
BEGIN
	SET NOCOUNT ON
	DECLARE @idEstadoDocumento AS INT =0
	DECLARE @ordenEstadoActual AS INT
	DECLARE @idTipoDocumento AS INT

	SELECT @idTipoDocumento = doc_subtipoDocumento_id_tipoDocumento ,@ordenEstadoActual= doc_estadotipodocumento_orden
	FROM view_doc_documento 
	WHERE id = @p_idDocumento

	SELECT top 1 @idEstadoDocumento = est.id
	FROM OPENJSON(@p_dataObjectJSON)
	WITH (
		id INT,
		orden INT
	  ) jsonObject
		INNER JOIN cat_catalogo cat
	ON cat.id = jsonObject.id
		INNER JOIN doc_estadoTipoDocumento est
	ON est.estadoTipoDocumento_codigo = cat.catalogo_codigo
	WHERE
		est.id_tipoDocumento = @idTipoDocumento AND
		cat.active = 1 AND 
		est.active = 1 AND 
		(cat.catalogo_codigo <> '' OR cat.catalogo_codigo is not null) AND
		(est.estadoTipoDocumento_codigo <> '' OR est.estadoTipoDocumento_codigo is not null) AND
est.orden>@ordenEstadoActual
	ORDER BY jsonObject.orden DESC


	SET NOCOUNT OFF
	SELECT @idEstadoDocumento id

END
