UPDATE PRODUTO_SERVICO_CONFIG SET QTDE_RESERVADO = 0

UPDATE PRODUTO_SERVICO_CONFIG SET QTDE_RESERVADO = 
ISNULL((
SELECT
SUM(QUANTIDADE)
FROM ORCAMENTO_ITEM I
INNER JOIN ORCAMENTO O ON O.COD_ORCAMENTO = I.COD_ORCAMENTO
WHERE (O.STATUS = 0) AND (FECHAMENTO = 'N') AND (I.COD_PRODUTO_SERVICO = PRODUTO_SERVICO_CONFIG.COD_PRODUTO_SERVICO) AND (O.COD_EMPRESA = PRODUTO_SERVICO_CONFIG.COD_EMPRESA)
),0)

UPDATE PRODUTO_SERVICO_CONFIG SET QTDE_RESERVADO = QTDE_RESERVADO +
ISNULL((
SELECT
SUM(IC.QUANTIDADE * I.QUANTIDADE)
FROM ORCAMENTO_ITEM_COMPOSICAO IC
INNER JOIN ORCAMENTO_ITEM I ON IC.COD_ORCAMENTO_ITEM = I.COD_ORCAMENTO_ITEM
INNER JOIN ORCAMENTO O ON O.COD_ORCAMENTO = I.COD_ORCAMENTO
WHERE (O.STATUS = 0)AND (FECHAMENTO = 'N') AND (IC.COD_PRODUTO_SERVICO = PRODUTO_SERVICO_CONFIG.COD_PRODUTO_SERVICO) AND (O.COD_EMPRESA = PRODUTO_SERVICO_CONFIG.COD_EMPRESA)
),0)

UPDATE PRODUTO_SERVICO_CONFIG SET QTDE_RESERVADO = QTDE_RESERVADO +
ISNULL((
SELECT
SUM(QUANTIDADE)
FROM OS_ITEM I
INNER JOIN OS O ON O.COD_OS = I.COD_OS
WHERE (O.STATUS_ORDEM IN(3,4,5,6)) AND (O.PROCESSADO = 'N') AND (I.COD_PRODUTO_SERVICO = PRODUTO_SERVICO_CONFIG.COD_PRODUTO_SERVICO) AND (O.COD_EMPRESA = PRODUTO_SERVICO_CONFIG.COD_EMPRESA)
),0)


UPDATE PRODUTO_SERVICO_CONFIG SET QTDE_RESERVADO = 0 WHERE COD_PRODUTO_SERVICO IN(
SELECT COD_PRODUTO_SERVICO FROM PRODUTO_SERVICO WHERE TIPO_PRODUTO = 9
)