ALTER  PROCEDURE [dbo].[sp_invGrabar_Encabezado_N]
(
	@enc_coddoc int,
	@enc_numinv int,
	@enc_numleg int ,
	@enc_fecdoc datetime ,
	@enc_fecven datetime ,
	@enc_rutcte int ,
	@enc_tipref1 int,
	@enc_docref1 int ,
	@enc_tipref2 int ,
	@enc_docref2 int,
	@enc_tipref3 int ,
	@enc_docref3 int,
	@enc_codmon int ,
	@enc_monpar DECIMAL(18,4),
	@enc_codbod int ,
	@enc_boddes int ,
	@enc_codcen int ,
	@enc_flgimp varchar(50) ,
	@enc_glosa varchar(300) ,
	@enc_gloser varchar(3000) ,
	@enc_subtotal decimal(18, 4),
	@enc_descuentos decimal(18, 4),
	@enc_recargos decimal(18, 4),
	@enc_neto decimal(18, 4),
	@enc_iva decimal(18, 4),
	@enc_total decimal(18, 4),
	@enc_cantidad_total DECIMAL(18,4),
	@enc_subtotaladi DECIMAL(18,4),
	@enc_descuentosadi DECIMAL(18,4),
	@enc_recargosadi DECIMAL(18,4),
	@enc_netoadi DECIMAL(18,4),
	@enc_ivaadi DECIMAL(18,4),
	@enc_totaladi DECIMAL(18,4),
	@enc_estado int,
	@enc_codpag int,
	@enc_plapag int,
	@enc_codlis int,
	@enc_coment varchar(500) ,
	@enc_codsuc int ,
	@enc_codcon int ,
	@enc_conpro int ,
	@enc_exento int ,
	@enc_loging varchar(100) ,
	@enc_fecing datetime ,
	@enc_logmod varchar(100) ,
	@enc_fecmod datetime,
	@enc_bodori int,
	@enc_desori int
   ,@enc_tipo int=0
   ,@enc_marcaexento int=0
   ,@enc_item  int=0
   ,@importacion int = 0
   ,@totimpadi decimal(18, 4) =0
   ,@nuevo int=0
   ,@analisis int = 0
)	

AS 

DECLARE @actualiza INT= 0
IF  @nuevo=1
BEGIN
SET @actualiza=0
END ELSE BEGIN
IF exists(SELECT 1 FROM invEncabezado where coddoc = @enc_coddoc and numinv = @enc_numinv) 
BEGIN
SET @actualiza=1
END
END


IF @actualiza=1
BEGIN
	UPDATE invEncabezado
	SET 	numleg	= @enc_numleg ,
		fecdoc	= @enc_fecdoc ,
		hordoc	= @enc_fecdoc ,
		periodo = YEAR(@enc_fecdoc),
		mes     = MONTH(@enc_fecdoc),
		fecven	= @enc_fecven ,
		rutcte	= @enc_rutcte ,
		tipref1	= @enc_tipref1,
		docref1	= @enc_docref1,
		tipref2	= @enc_tipref2,
		docref2	= @enc_docref2,
		tipref3	= @enc_tipref3,
		docref3 = @enc_docref3,
		codmon 	= @enc_codmon ,
		monpar 	= @enc_monpar ,
		codbod 	= @enc_codbod ,
		boddes 	= @enc_boddes ,
		codcen 	= @enc_codcen ,
		flgimp 	= @enc_flgimp , 
		glosa 	= @enc_glosa  ,
		gloser 	= @enc_gloser ,
		subtotal= @enc_subtotal ,
		descuentos= @enc_descuentos ,
		recargos= @enc_recargos ,
		neto 	= @enc_neto ,
		iva 	= @enc_iva ,
		total 	= @enc_total ,
		cantidad_total 	= @enc_cantidad_total ,
		subtotaladi= @enc_subtotaladi ,
		descuentosadi= @enc_descuentosadi ,
		recargosadi= @enc_recargosadi ,
		netoadi = @enc_netoadi ,
		ivaadi 	= @enc_ivaadi ,
		totaladi = @enc_totaladi ,
		estado 	= @enc_estado ,
		codpag 	= @enc_codpag ,
		plapag 	= @enc_plapag ,
		codlis 	= @enc_codlis ,
		coment 	= @enc_coment ,
		codsuc 	= @enc_codsuc ,
		codcon 	= @enc_codcon ,
		conpro 	= @enc_conpro ,
		exento 	= @enc_exento ,
		logmod 	= @enc_logmod ,
		fecmod 	= @enc_fecmod ,
		tipo = @enc_tipo,
		marcaexento = @enc_marcaexento,
		importacion = @importacion,
		totimpadi =@totimpadi,
		item= @enc_item ,
		analisis = @analisis		
	where coddoc = @enc_coddoc
	and   numinv = @enc_numinv

END ELSE BEGIN 
   
	INSERT INTO invEncabezado (
		coddoc ,	numinv ,
	 	numleg ,	fecdoc ,  hordoc ,periodo, mes ,
		fecven ,	rutcte ,
		tipref1,	docref1,
		tipref2,	docref2,
		tipref3,	docref3,
		codmon ,	monpar ,
		codbod ,	boddes ,
		codcen ,	flgimp ,
		glosa  ,	gloser ,
		subtotal  ,	descuentos,
		recargos,	neto,
		iva    ,	total,		cantidad_total,
		subtotaladi  ,	descuentosadi,
		recargosadi,	netoadi,
		ivaadi    ,	totaladi,		estado,
		codpag ,	plapag,
		codlis ,	coment,
		codsuc ,	codcon,
		conpro,		exento,
	        loging ,	fecing ,
		logmod ,	fecmod ,tipo, marcaexento,item,totimpadi,analisis,importacion)  

	values(	@enc_coddoc ,		@enc_numinv ,
		@enc_numleg ,		@enc_fecdoc ,  @enc_fecdoc ,year(@enc_fecdoc), month(@enc_fecdoc) ,
		@enc_fecven ,		@enc_rutcte ,
		@enc_tipref1,		@enc_docref1,
		@enc_tipref2,		@enc_docref2,
		@enc_tipref3,		@enc_docref3,
		@enc_codmon ,		@enc_monpar ,
		@enc_codbod ,		@enc_boddes ,
		@enc_codcen ,		@enc_flgimp ,
		@enc_glosa  ,		@enc_gloser ,
		@enc_subtotal  ,	@enc_descuentos,
		@enc_recargos,		@enc_neto,
		@enc_iva    ,		@enc_total,		@enc_cantidad_total,
		@enc_subtotaladi,	@enc_descuentosadi,
		@enc_recargosadi,	@enc_netoadi,
		@enc_ivaadi ,		@enc_totaladi,		@enc_estado,
		@enc_codpag ,		@enc_plapag,
		@enc_codlis ,		@enc_coment,
		@enc_codsuc ,		@enc_codcon,
		@enc_conpro,		@enc_exento,
		@enc_loging ,		GETDATE(),
		@enc_logmod ,		GETDATE() , @enc_tipo, @enc_marcaexento,@enc_item,@totimpadi,@analisis,@importacion
		)
end

--elimina detalle
--DELETE FROM   invDetalle 
--WHERE coddoc = @enc_coddoc 
--AND   numinv = @enc_numinv