if exists(select  1 from sys.procedures where name = 'p_plug_Farma_tipoRegistro_doze')
    begin 
		drop procedure p_plug_Farma_tipoRegistro_doze;
    end;
go

--p_plug_Farma_tipoRegistro_onze 9,'20190319'
create procedure [dbo].[p_plug_Farma_tipoRegistro_doze] (@filial int, @data  date,  @cd_emp int=1)
as
set nocount on;
/*
--Esse SQL traz as informações dos itens das compras
 */
 declare @sqlCmd as varchar(max)
 
 CREATE TABLE #TmpResCompras (tiporegistro			INT
								, numeroregistro	INT
								, datareferenciacompra		DATETIME
								, valortotalcompraliquida	MONEY
								, tipoidentificacao			INT
								, cnpjcpffornecedor		VARCHAR(20)
								, numeronota			INT
								, tiponotacompra		INT
								, chavenfe				VARCHAR(50)
								, serienota				VARCHAR(50) 
								, cd_nf				INT)
 
	INSERT INTO  #TmpResCompras			
	EXEC p_plug_Farma_tipoRegistro_onze	@filial, @data, @cd_emp;

	set @sqlCmd  ='SELECT
		tiporegistro
		, numeroregistro
		, codigobarrasproduto
		, quantidadeproduto
		, valorunitariobrutoproduto
		, valorunitarioliquidoproduto
		, valortotalliquidoitensregistro
		, cd_prod
		, cd_nf 
	FROM
	(SELECT
			12 AS tipoRegistro
			, c.numeroregistro
			, CONVERT(VARCHAR,CONVERT(BIGINT, COALESCE(( SELECT TOP 1 cd_barra FROM est_prod_cd_barra
								WHERE ean_caixa_fechada = 0  AND EAN_VALIDO=1
										AND cd_emp = ITEM.cd_emp
										AND cd_prod = ITEM.cd_prod
								ORDER BY cd_barra ), case when cpl.tp_prod = 10 then ''88888888888888'' else ''99999999999999'' end ))) AS codigoBarrasProduto
			, ITEM.qt_it AS quantidadeProduto
			, ITEM.vlr_it AS valorUnitarioBrutoProduto
			, (ITEM.VLR_TOT_IT / ITEM.qt_it) AS valorUnitarioLiquidoProduto
			, (ITEM.VLR_TOT_IT ) AS valorTotalLiquidoItensRegistro
			, ITEM.cd_prod
			, ENT.cd_nf 
		FROM
			est_nf_ent ENT
			JOIN glb_mov_op O ON Ent.cd_nt_mov = O.cd_mov_op
			join #TmpResCompras c on    ENT.cd_nf = c.cd_nf
			JOIN est_nf_ent_it ITEM ON ENT.cd_emp = ITEM.cd_emp
											AND ENT.cd_filial = ITEM.cd_filial
											AND ENT.cd_nf = ITEM.cd_nf

			JOIN est_prod_cpl cpl ON ITEM.cd_emp = cpl.cd_emp
											AND ITEM.cd_filial = cpl.cd_filial
											AND ITEM.cd_prod = cpl.cd_prod
			LEFT JOIN pg_forn F ON F.cd_forn = ENT.cd_forn

		WHERE isnull(O.FLAG_MOV_OP_NFE_CPL,0) = 0
			and	ENT.dt_ent = ''' + convert(varchar, @data,112) + ''' AND ENT.cd_emp =' + convert(varchar, @cd_emp) + ' and ITEM.qt_it >0  AND ENT.cd_filial =' + convert(varchar,@filial) + ') AS ITENS Order by numeroregistro;'
	
	exec (@sqlCmd  );