SELECT 
	se.codigo AS Codigo_empresa,
	se.nome AS empresa,
	i.codigo,
	(SELECT codigo FROM codigo_fiscal AS cf WHERE i.id_codigo_fiscal = cf.id_codigo_fiscal) AS NCM,
	i.codigo_anp,
	i.denominacao,
	ovl1.titulo AS origem_produto_,
	(SELECT ct.denominacao FROM categoria_item ct WHERE ct.id_categoria_item = i.id_categoria_item LIMIT 1) AS Categoria_Item,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = i.id_tipo_tributacao_saida LIMIT 1) AS ITEM_TIPO_TRIBUTACAO_SAIDA,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = i.id_tipo_tributacao_entrada LIMIT 1) AS ITEM_TIPO_TRIBUTACAO_ENTRADA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = i.id_cst_icms_entrada LIMIT 1) AS ITEM_CST_ICMS_ENTRADA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = i.id_cst_icms_saida LIMIT 1) AS ITEM_CST_ICMS_SAIDA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = i.id_cst_pis_entrada LIMIT 1) AS ITEM_CST_PIS_ENTRADA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = i.id_cst_pis_saida LIMIT 1) AS ITEM_CST_PIS_SAIDA,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = i.id_tipo_tributacao_pis_entrada LIMIT 1) AS ITEM_TIPO_TRIBUTACAO_PIS_ENTRADA,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = i.id_tipo_tributacao_pis_saida LIMIT 1) AS ITEM_TIPO_TRIBUTACAO_PIS_SAIDA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = i.id_cst_cofins_entrada LIMIT 1) AS ITEM_CST_CONFINS_ENTRADA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = i.id_cst_cofins_saida LIMIT 1) AS ITEM_CST_CONFINS_SAIDA,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = i.id_tipo_tributacao_cofins_entra LIMIT 1) AS ITEM_TIPO_TRIBUTACAO_CONFINS_ENTRADA,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = i.id_tipo_tributacao_cofins_saida LIMIT 1) AS ITEM_TIPO_TRIBUTACAO_CONFIS_SAIDA,
	(SELECT o.cfop FROM cfop o WHERE o.id_cfop = i.id_cfop_saida_dentro_estado_cliente_mesma_uf LIMIT 1) AS ITEM_CFOP_SAIDA_DENTRO_ESTADO_CLIENTE_MESMA_UF,
	(SELECT o.cfop FROM cfop o WHERE o.id_cfop = i.id_cfop_saida_dentro_estado_cliente_outra_uf LIMIT 1) AS ITEM_CFOP_SAIDA_DENTRO_ESTADO_CLIENTE_OUTRA_UF,
	(SELECT o.cfop FROM cfop o WHERE o.id_cfop = i.id_cfop_saida_fora_estado LIMIT 1) AS ITEM_CFOP_SAIDA_FORA_ESTADO,

    (SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = ie.id_tipo_tributacao_saida LIMIT 1) AS ITEM_EMPRESA_TIPO_TRIBUTACAO_SAIDA,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = ie.id_tipo_tributacao_entrada LIMIT 1) AS ITEM_EMPRESA_TIPO_TRIBUTACAO_ENTRADA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = ie.id_cst_icms_entrada LIMIT 1) AS ITEM_EMPRESA_CST_ICMS_ENTRADA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = ie.id_cst_icms_saida LIMIT 1) AS ITEM_EMPRESA_CST_ICMS_SAIDA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = ie.id_cst_pis_entrada LIMIT 1) AS ITEM_EMPRESA_CST_PIS_ENTRADA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = ie.id_cst_pis_saida LIMIT 1) AS ITEM_EMPRESA_CST_PIS_SAIDA,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = ie.id_tipo_tributacao_pis_entrada LIMIT 1) AS ITEM_EMPRESA_TIPO_TRIBUTACAO_PIS_ENTRADA,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = ie.id_tipo_tributacao_pis_saida LIMIT 1) AS ITEM_EMPRESA_TIPO_TRIBUTACAO_PIS_SAIDA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = ie.id_cst_cofins_entrada LIMIT 1) AS ITEM_EMPRESA_CST_CONFINS_ENTRADA,
	(SELECT ce.codigo FROM cst ce WHERE ce.id_cst = ie.id_cst_cofins_saida LIMIT 1) AS ITEM_EMPRESA_CST_CONFINS_SAIDA,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = ie.id_tipo_tributacao_cofins_entra LIMIT 1) AS ITEM_EMPRESA_TIPO_TRIBUTACAO_CONFINS_ENTRADA,
	(SELECT tt.denominacao FROM tipo_tributacao tt WHERE tt.id_tipo_tributacao = ie.id_tipo_tributacao_cofins_saida LIMIT 1) AS ITEM_EMPRESA_TIPO_TRIBUTACAO_CONFIS_SAIDA,
	(SELECT o.cfop FROM cfop o WHERE o.id_cfop = ie.id_cfop_saida_dentro_estado_cliente_mesma_uf LIMIT 1) AS ITEM_EMPRESA_CFOP_SAIDA_DENTRO_ESTADO_CLIENTE_MESMA_UF,
	(SELECT o.cfop FROM cfop o WHERE o.id_cfop = ie.id_cfop_saida_dentro_estado_cliente_outra_uf LIMIT 1) AS ITEM_EMPRESA_CFOP_SAIDA_DENTRO_ESTADO_CLIENTE_OUTRA_UF,
	(SELECT o.cfop FROM cfop o WHERE o.id_cfop = ie.id_cfop_saida_fora_estado LIMIT 1) AS ITEM_EMPRESA_CFOP_SAIDA_FORA_ESTADO,
	(SELECT cf.codigo FROM codigo_fiscal cf WHERE cf.id_codigo_fiscal = i.id_cest AND cf.tipo = 4 LIMIT 1) AS CODIGO_CEST

FROM item i 
INNER JOIN item_empresa ie ON i.id_item = ie.id_item
INNER JOIN sis_empresa se ON se.id_empresa = ie.id_empresa
INNER JOIN categoria_item ci ON ci.id_categoria_item = i.id_categoria_item
INNER JOIN codigo_fiscal cf ON cf.id_codigo_fiscal = i.id_codigo_fiscal
INNER JOIN sis_opcao_lista_valor AS ovl1 ON (ovl1.id = i.origem_produto AND ovl1.id_lista_valor = '53FDFAE5DB1344C59C231F35900C9433')

WHERE ie.id_empresa IN (:IdEmpresaMultSlc)
    AND (:IdCategoriaItem = -1 OR i.id_categoria_item = :IdCategoriaItem)
    AND (:IdItemNaoObrigatorio = -1 OR i.id_item = :IdItemNaoObrigatorio)
    AND (:IdCodigoFiscal = -1 OR i.id_codigo_fiscal = :IdCodigoFiscal)
	AND ie.registro_ativo = 'S'

ORDER BY 
	i.denominacao