Array
(
)

Ajuda com sp

Lucasalmeidabh
   - 12 abr 2007

Pessoal apos varias tentativas, e nenhum resultado positivo, preciso da ajuda de vcs!

É o seguinte, tenho uma página de controle de estoque de peças, dentro dessa página, tem a parte de pesquisa,
estou tendo um problema, tenho pedidos cadastrados no banco com alguns campos em branco, até aí td bem,
mas quando é realizado a pesquisa, o registro que estiver com o campo ´Siate´ (q siginifica o numero do chamado) em
branco, a pesquisa não retorna os resusltados.

E sei que devo arrumar isso na sp, mas nao estou conseguindo, vou posta-la aqui,vou postar o codigo da sp todo, mas o problemas esta na parte ´´´ -- Pesquisa de Pedidos de Saída de Equipamentos-- ´´´´(essa parte esta comentada na sp).

Se alguem puder me ajudar vai ser bom demais!!! :D

#Código



CREATE PROCEDURE sp_GetBuscaEquipamentos
@Flg int,
@CodPedido int,
@CodGuia int,
@Siate int,
@nSerie varchar(15),
@Patrimonio varchar(20),
@DataInicio varchar(10),
@DataFim varchar(10),
@CodCategoria int,
@CodEquipamento int,
@CodMarca int,
@CodModelo int,
@CodUnidade varchar(4),
@CodSubUnidade varchar(2),
@CodSituacao int,
@NomeSituacao varchar(50)
AS
DECLARE @Co_Sureg varchar(2)
DECLARE @Co_Material varchar(9)
DECLARE @Sq_Equipamento varchar(5)

SET @Co_Sureg = right(substring(@Patrimonio,1,3),len(substring(@Patrimonio,1,3))-1)
SET @Co_Material = substring(@Patrimonio,5,9)
SET @Sq_Equipamento = substring(@Patrimonio,15,5)

IF (@Flg = 0)
BEGIN
--IF @siate is null BEGIN
SELECT DISTINCT
Flg = 0,
tb_Relacionamento_Equipamento.Co_Controle,
tb_Almox_ItemPedido.CodPedido,
tb_Relacionamento_Equipamento_Tipo.Co_Tipo,
tb_Relacionamento_Equipamento_Tipo.Ds_Tipo,
tb_Relacionamento_Equipamento_Peca.Co_Peca,
tb_Relacionamento_Equipamento_Peca.Ds_Peca,
tb_Relacionamento_Equipamento_Marca.Co_Marca,
tb_Relacionamento_Equipamento_Marca.Ds_Marca,
tb_Relacionamento_Equipamento_Modelo.Co_Modelo,
tb_Relacionamento_Equipamento_Modelo.Ds_Modelo,
tb_Relacionamento_Equipamento_Status.Co_Status,
tb_Relacionamento_Equipamento_Status.Ds_Status as Situacao,
tb_Relacionamento_Equipamento.Ns_Equipamento as nSerie,
tb_Almox_Pedido.nSiate,
tb_Almox_Pedido.UnidadeDestino + ´(´ + tb_Almox_Pedido.CodSubUnidade + ´)´ + ´ - ´ + tb_AdmUnidade.No_Unidade as UnidadeDestino,
tb_Almox_ItemPedido.Patrimonio,
tb_Almox_ItemPedido.Obs,
tb_Almox_Pedido.CodGestor as NomeGestor
FROM
tb_AdmUnidade,
tb_Almox_Pedido,
tb_Almox_ItemPedido,
tb_Relacionamento_Equipamento,
tb_Relacionamento_Equipamento_Tipo,
tb_Relacionamento_Equipamento_Peca,
tb_Relacionamento_Equipamento_Marca,
tb_Relacionamento_Equipamento_Modelo,
tb_Relacionamento_Equipamento_Status
WHERE tb_Almox_Pedido.CodPedido = isnull(@CodPedido,tb_Almox_Pedido.CodPedido)
AND right(substring(tb_Almox_ItemPedido.Patrimonio,1,3),len(substring(tb_Almox_ItemP
edido.Patrimonio,1,3))-1) = isnull(@Co_Sureg,right(substring(tb_Almox_ItemPedido.Patrimonio,1,3),len(substri
ng(tb_Almox_ItemPedido.Patrimonio,1,3))-1))
AND substring(tb_Almox_ItemPedido.Patrimonio,5,9) = isnull(@Co_Material,substring(tb_Almox_ItemPedido.Patrimonio,5,9))
AND substring(tb_Almox_ItemPedido.Patrimonio,15,5) = isnull(@Sq_Equipamento,substring(tb_Almox_ItemPedido.Patrimonio,15,5))
AND ((tb_Almox_Pedido.nSiate = isnull(@Siate,tb_Almox_Pedido.nSiate)) OR (tb_Almox_Pedido. nSiate IS NULL))
-- AND tb_Almox_Pedido.nSiate = isnull(@Siate,tb_Almox_Pedido.nSiate)
AND tb_Almox_Pedido.UnidadeDestino = isnull(@CodUnidade,tb_Almox_Pedido.UnidadeDestino)
AND tb_Almox_Pedido.CodSubUnidade = isnull(@CodSubUnidade,tb_Almox_Pedido.CodSubUnidade)
AND tb_Almox_ItemPedido.CodCategoria = isnull(@CodCategoria,tb_Almox_ItemPedido.CodCategoria)
AND tb_Almox_ItemPedido.CodProduto = isnull(@CodEquipamento,tb_Almox_ItemPedido.CodProduto)
AND tb_Almox_ItemPedido.CodMarca = isnull(@CodMarca,tb_Almox_ItemPedido.CodMarca)
AND tb_Almox_ItemPedido.CodModelo = isnull(@CodModelo,tb_Almox_ItemPedido.CodModelo)
AND tb_Almox_ItemPedido.CodStatus = isnull(@CodSituacao,tb_Almox_ItemPedido.CodStatus)

AND tb_Almox_Pedido.CodPedido = tb_Almox_ItemPedido.CodPedido
AND tb_Almox_Pedido.UnidadeDestino = tb_AdmUnidade.cgc_unidade
AND tb_Almox_Pedido.CodSubUnidade = tb_AdmUnidade.Co_SubUnidade
AND tb_Almox_ItemPedido.CodCategoria = tb_Relacionamento_Equipamento_Tipo.Co_Tipo
AND tb_Almox_ItemPedido.CodProduto = tb_Relacionamento_Equipamento_Peca.Co_Peca
AND tb_Almox_ItemPedido.CodMarca = tb_Relacionamento_Equipamento_Marca.Co_Marca
AND tb_Almox_ItemPedido.CodModelo = tb_Relacionamento_Equipamento_Modelo.Co_Modelo
AND tb_Almox_ItemPedido.CodStatus = tb_Relacionamento_Equipamento_Status.Co_Status
AND tb_Almox_Pedido.nSiate = tb_Almox_Pedido.nSiate

AND right(substring(tb_Almox_ItemPedido.Patrimonio,1,3),len(substring(tb_Almox_ItemP
edido.Patrimonio,1,3))-1) = tb_Relacionamento_Equipamento.Co_Sureg
AND substring(tb_Almox_ItemPedido.Patrimonio,5,9) = tb_Relacionamento_Equipamento.Co_Material
AND substring(tb_Almox_ItemPedido.Patrimonio,15,5) = tb_Relacionamento_Equipamento.Sq_Equipamento

AND tb_Relacionamento_Equipamento.Co_Tipo = tb_Almox_ItemPedido.CodCategoria
AND tb_Relacionamento_Equipamento.Co_Peca = tb_Almox_ItemPedido.CodProduto
AND tb_Relacionamento_Equipamento.Co_Marca = tb_Almox_ItemPedido.CodMarca
AND tb_Relacionamento_Equipamento.Co_Modelo = tb_Almox_ItemPedido.CodModelo
AND tb_Relacionamento_Equipamento.Co_Modelo = tb_Almox_ItemPedido.CodModelo

ORDER BY tb_Almox_ItemPedido.CodPedido
--END

--ELSE
BEGIN
-- Pesquisa de Pedidos de Saída de Equipamentos
SELECT DISTINCT
Flg = 0,
tb_Relacionamento_Equipamento.Co_Controle,
tb_Almox_ItemPedido.CodPedido,
tb_Relacionamento_Equipamento_Tipo.Co_Tipo,
tb_Relacionamento_Equipamento_Tipo.Ds_Tipo,
tb_Relacionamento_Equipamento_Peca.Co_Peca,
tb_Relacionamento_Equipamento_Peca.Ds_Peca,
tb_Relacionamento_Equipamento_Marca.Co_Marca,
tb_Relacionamento_Equipamento_Marca.Ds_Marca,
tb_Relacionamento_Equipamento_Modelo.Co_Modelo,
tb_Relacionamento_Equipamento_Modelo.Ds_Modelo,
tb_Relacionamento_Equipamento_Status.Co_Status,
tb_Relacionamento_Equipamento_Status.Ds_Status as Situacao,
tb_Relacionamento_Equipamento.Ns_Equipamento as nSerie,
tb_Almox_Pedido.nSiate,
tb_Almox_Pedido.UnidadeDestino + ´(´ + tb_Almox_Pedido.CodSubUnidade + ´)´ + ´ - ´ + tb_AdmUnidade.No_Unidade as UnidadeDestino,
tb_Almox_ItemPedido.Patrimonio,
tb_Almox_ItemPedido.Obs,
tb_Almox_Pedido.CodGestor as NomeGestor
FROM
tb_AdmUnidade,
tb_Almox_Pedido,
tb_Almox_ItemPedido,
tb_Relacionamento_Equipamento,
tb_Relacionamento_Equipamento_Tipo,
tb_Relacionamento_Equipamento_Peca,
tb_Relacionamento_Equipamento_Marca,
tb_Relacionamento_Equipamento_Modelo,
tb_Relacionamento_Equipamento_Status
WHERE tb_Almox_Pedido.CodPedido = isnull(@CodPedido,tb_Almox_Pedido.CodPedido)
AND right(substring(tb_Almox_ItemPedido.Patrimonio,1,3),len(substring(tb_Almox_ItemP
edido.Patrimonio,1,3))-1) = isnull(@Co_Sureg,right(substring(tb_Almox_ItemPedido.Patrimonio,1,3),len(substri
ng(tb_Almox_ItemPedido.Patrimonio,1,3))-1))
AND substring(tb_Almox_ItemPedido.Patrimonio,5,9) = isnull(@Co_Material,substring(tb_Almox_ItemPedido.Patrimonio,5,9))
AND substring(tb_Almox_ItemPedido.Patrimonio,15,5) = isnull(@Sq_Equipamento,substring(tb_Almox_ItemPedido.Patrimonio,15,5))

AND ((tb_Almox_Pedido.nSiate = isnull(@Siate,tb_Almox_Pedido.nSiate)) OR (tb_Almox_Pedido. nSiate IS NULL))
AND tb_Almox_Pedido.UnidadeDestino = isnull(@CodUnidade,tb_Almox_Pedido.UnidadeDestino)
AND tb_Almox_Pedido.CodSubUnidade = isnull(@CodSubUnidade,tb_Almox_Pedido.CodSubUnidade)
AND tb_Almox_ItemPedido.CodCategoria = isnull(@CodCategoria,tb_Almox_ItemPedido.CodCategoria)
AND tb_Almox_ItemPedido.CodProduto = isnull(@CodEquipamento,tb_Almox_ItemPedido.CodProduto)
AND tb_Almox_ItemPedido.CodMarca = isnull(@CodMarca,tb_Almox_ItemPedido.CodMarca)
AND tb_Almox_ItemPedido.CodModelo = isnull(@CodModelo,tb_Almox_ItemPedido.CodModelo)
AND tb_Almox_ItemPedido.CodStatus = isnull(@CodSituacao,tb_Almox_ItemPedido.CodStatus)

AND tb_Almox_Pedido.CodPedido = tb_Almox_ItemPedido.CodPedido
AND tb_Almox_Pedido.UnidadeDestino = tb_AdmUnidade.cgc_unidade
AND tb_Almox_Pedido.CodSubUnidade = tb_AdmUnidade.Co_SubUnidade
AND tb_Almox_ItemPedido.CodCategoria = tb_Relacionamento_Equipamento_Tipo.Co_Tipo
AND tb_Almox_ItemPedido.CodProduto = tb_Relacionamento_Equipamento_Peca.Co_Peca
AND tb_Almox_ItemPedido.CodMarca = tb_Relacionamento_Equipamento_Marca.Co_Marca
AND tb_Almox_ItemPedido.CodModelo = tb_Relacionamento_Equipamento_Modelo.Co_Modelo
AND tb_Almox_ItemPedido.CodStatus = tb_Relacionamento_Equipamento_Status.Co_Status
AND tb_Almox_Pedido.nSiate = tb_Almox_Pedido.nSiate

AND right(substring(tb_Almox_ItemPedido.Patrimonio,1,3),len(substring(tb_Almox_ItemP
edido.Patrimonio,1,3))-1) = tb_Relacionamento_Equipamento.Co_Sureg
AND substring(tb_Almox_ItemPedido.Patrimonio,5,9) = tb_Relacionamento_Equipamento.Co_Material
AND substring(tb_Almox_ItemPedido.Patrimonio,15,5) = tb_Relacionamento_Equipamento.Sq_Equipamento

AND tb_Relacionamento_Equipamento.Co_Tipo = tb_Almox_ItemPedido.CodCategoria
AND tb_Relacionamento_Equipamento.Co_Peca = tb_Almox_ItemPedido.CodProduto
AND tb_Relacionamento_Equipamento.Co_Marca = tb_Almox_ItemPedido.CodMarca
AND tb_Relacionamento_Equipamento.Co_Modelo = tb_Almox_ItemPedido.CodModelo
ORDER BY tb_Almox_ItemPedido.CodPedido
END
END
ELSE IF (@Flg = 1)
BEGIN
-- Pesquisa por Guias de Entrada de Equipamentos
SELECT
Flg = 1,
tb_Almox_Guia.CodGuia,
tb_Almox_Guia.Siate,
tb_Almox_Guia.NomeEquipamento,
tb_Almox_Guia.NomeMarca,
tb_Almox_Guia.NomeModelo,
tb_Almox_Guia.Patrimonio,
tb_Almox_Guia.nSerie,
tb_AdmUnidade.No_Unidade,
tb_AdmUsuario.No_Usuario,
tb_Relacionamento_Equipamento_Status.Ds_Status
FROM tb_Almox_Guia, tb_AdmUnidade, tb_Relacionamento_Equipamento_Status, tb_AdmUsuario
WHERE tb_Almox_Guia.CodGuia = isnull(@CodGuia,tb_Almox_Guia.CodGuia)
-- AND tb_Almox_Guia.Siate = isnull(@Siate,tb_Almox_Guia.Siate)
AND ((tb_Almox_Guia.Siate = isnull(@Siate,tb_Almox_Guia.Siate)) OR (tb_Almox_Guia.Siate IS NULL))
AND tb_Almox_Guia.UnidadeOrigem = isnull(@CodUnidade,tb_Almox_Guia.UnidadeOrigem)
AND tb_Almox_Guia.CodSubUnidade = isnull(@CodSubUnidade,tb_Almox_Guia.CodSubUnidade)
AND tb_Almox_Guia.CodSituacao = isnull(@NomeSituacao,tb_Almox_Guia.CodSituacao)
AND tb_Almox_Guia.nSerie = isnull(@nSerie,tb_Almox_Guia.nSerie)
AND tb_Almox_Guia.Patrimonio = isnull(@Patrimonio,tb_Almox_Guia.Patrimonio)
-- AND tb_Almox_Guia.CodCategoria = isnull(@CodCategoria,tb_Almox_Guia.CodCategoria)
AND ((tb_Almox_Guia.CodCategoria = isnull(@CodCategoria,tb_Almox_Guia.CodCategoria)) OR (tb_Almox_Guia.CodCategoria IS NULL))
AND tb_Almox_Guia.DtCadastro >= isnull(convert(datetime,@DataInicio,103),tb_Almox_Guia.DtCadastro)
AND tb_Almox_Guia.DtCadastro <= isnull(convert(datetime,@DataFim,103),tb_Almox_Guia.DtCadastro)
AND tb_Almox_Guia.UnidadeOrigem = tb_AdmUnidade.CGC_Unidade
AND tb_Almox_Guia.CodSubUnidade = tb_AdmUnidade.Co_SubUnidade
AND tb_Almox_Guia.CodStatus = tb_Relacionamento_Equipamento_Status.Co_Status
AND tb_Almox_Guia.CodUsuario = tb_AdmUsuario.Us_Usuario
ORDER BY tb_Almox_Guia.CodGuia
END
ELSE IF (@Flg = 2)
BEGIN
-- Pesquisa por Equipamentos avulços (somente)
SELECT
tb_Relacionamento_Equipamento.Co_Controle,
Flg = 2,
´(´ + tb_Relacionamento_Equipamento.Co_Sureg + ´)´ + tb_Relacionamento_Equipamento.Co_Material + ´-´ + tb_Relacionamento_Equipamento.Sq_Equipamento as Patrimonio,
tb_Relacionamento_Equipamento.Ns_Equipamento as nSerie,
tb_Relacionamento_Equipamento_Tipo.Co_Tipo,
tb_Relacionamento_Equipamento_Tipo.Ds_Tipo,
tb_Relacionamento_Equipamento_Peca.Co_Peca,
tb_Relacionamento_Equipamento_Peca.Ds_Peca,
tb_Relacionamento_Equipamento_Marca.Co_Marca,
tb_Relacionamento_Equipamento_Marca.Ds_Marca,
tb_Relacionamento_Equipamento_Modelo.Co_Modelo,
tb_Relacionamento_Equipamento_Modelo.Ds_Modelo,
tb_Relacionamento_Equipamento_Status.Co_Status,
tb_Relacionamento_Equipamento_Status.Ds_Status as Situacao,
tb_Relacionamento_Equipamento.Nr_Pregao,
tb_Relacionamento_Equipamento.Est_Equipamento as Estante,
tb_Relacionamento_Equipamento.Prat_Equipamento as Prateleira,
tb_Relacionamento_Equipamento.Garantia,
tb_Relacionamento_Equipamento.Nr_Contrato_Garantia
FROM
tb_Relacionamento_Equipamento,
tb_Relacionamento_Equipamento_Tipo,
tb_Relacionamento_Equipamento_Peca,
tb_Relacionamento_Equipamento_Marca,
tb_Relacionamento_Equipamento_Modelo,
tb_Relacionamento_Equipamento_Status
WHERE tb_Relacionamento_Equipamento.Co_Sureg = isnull(@Co_Sureg,tb_Relacionamento_Equipamento.Co_Sureg)
AND tb_Relacionamento_Equipamento.Co_Material = isnull(@Co_Material,tb_Relacionamento_Equipamento.Co_Material)
AND tb_Relacionamento_Equipamento.Sq_Equipamento = isnull(@Sq_Equipamento,tb_Relacionamento_Equipamento.Sq_Equipamento)
AND tb_Relacionamento_Equipamento.Ns_Equipamento = isnull(@nSerie,tb_Relacionamento_Equipamento.Ns_Equipamento)
AND tb_Relacionamento_Equipamento.Co_Tipo = isnull(@CodCategoria,tb_Relacionamento_Equipamento.Co_Tipo)
AND tb_Relacionamento_Equipamento.Co_Peca = isnull(@CodEquipamento,tb_Relacionamento_Equipamento.Co_Peca)
AND tb_Relacionamento_Equipamento.Co_Marca = isnull(@CodMarca,tb_Relacionamento_Equipamento.Co_Marca)
AND tb_Relacionamento_Equipamento.Co_Modelo = isnull(@CodModelo,tb_Relacionamento_Equipamento.Co_Modelo)
AND tb_Relacionamento_Equipamento.Co_Status = isnull(@CodSituacao,tb_Relacionamento_Equipamento.Co_Status)
AND tb_Relacionamento_Equipamento.CGC_Unidade = isnull(@CodUnidade,tb_Relacionamento_Equipamento.CGC_Unidade)
AND tb_Relacionamento_Equipamento.Co_SubUnidade = isnull(@CodSubUnidade,tb_Relacionamento_Equipamento.Co_SubUnidade)
AND tb_Relacionamento_Equipamento.Co_Tipo = tb_Relacionamento_Equipamento_Tipo.Co_Tipo
AND tb_Relacionamento_Equipamento.Co_Peca = tb_Relacionamento_Equipamento_Peca.Co_Peca
AND tb_Relacionamento_Equipamento.Co_Marca = tb_Relacionamento_Equipamento_Marca.Co_Marca
AND tb_Relacionamento_Equipamento.Co_Modelo = tb_Relacionamento_Equipamento_Modelo.Co_Modelo
AND tb_Relacionamento_Equipamento.Co_Status = tb_Relacionamento_Equipamento_Status.Co_Status
ORDER BY tb_Relacionamento_Equipamento.Co_Tipo
END
ELSE
BEGIN
-- Pesquisa Inicial
SELECT DISTINCT
tb_Relacionamento_Equipamento.Co_Controle,
Flg = 3,
Patrimonio = ´(´ + tb_Relacionamento_Equipamento.Co_Sureg + ´)´ + tb_Relacionamento_Equipamento.Co_Material + ´-´ + tb_Relacionamento_Equipamento.Sq_Equipamento,
tb_Relacionamento_Equipamento.Ns_Equipamento as nSerie,
tb_Relacionamento_Equipamento.Co_Tipo,
tb_Relacionamento_Equipamento_Tipo.Ds_Tipo,
tb_Relacionamento_Equipamento.Co_Peca,
tb_Relacionamento_Equipamento_Peca.Ds_Peca,
tb_Relacionamento_Equipamento_Marca.Co_Marca,
tb_Relacionamento_Equipamento_Marca.Ds_Marca,
tb_Relacionamento_Equipamento.Co_Modelo,
tb_Relacionamento_Equipamento_Modelo.Ds_Modelo,
tb_Relacionamento_Equipamento_Status.Ds_Status as Situacao,
ltrim(str(tb_Relacionamento_Equipamento.Co_Tipo)) + ´|´ + ltrim(str(tb_Relacionamento_Equipamento.Co_Peca)) + ´|´ + ltrim(str(tb_Relacionamento_Equipamento.Co_Marca)) + ´|´ + ltrim(str(tb_Relacionamento_Equipamento.Co_Modelo)) as sCodMarca
FROM tb_Relacionamento_Equipamento,
tb_Relacionamento_Equipamento_Marca,
tb_Relacionamento_Equipamento_Modelo,
tb_Relacionamento_Equipamento_Peca,
tb_Relacionamento_Equipamento_Tipo,
tb_Relacionamento_Equipamento_Status
WHERE tb_Relacionamento_Equipamento.Co_Marca = tb_Relacionamento_Equipamento_Marca.Co_Marca
AND tb_Relacionamento_Equipamento.Co_Modelo = tb_Relacionamento_Equipamento_Modelo.Co_Modelo
AND tb_Relacionamento_Equipamento.Co_Peca = tb_Relacionamento_Equipamento_Peca.Co_Peca
AND tb_Relacionamento_Equipamento.Co_Tipo = tb_Relacionamento_Equipamento_Tipo.Co_Tipo
AND tb_Relacionamento_Equipamento.Co_Status = tb_Relacionamento_Equipamento_Status.Co_Status
AND tb_Relacionamento_Equipamento.Co_Status in (1,7,15,43)
ORDER BY tb_Relacionamento_Equipamento.Co_Tipo
END
GO

[/tagcod]