SET ANSI_PADDING OFF
GO

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.PADRON_DN1821') AND type in (N'U'))
    DROP TABLE dbo.PADRON_DN1821
GO

CREATE TABLE [dbo].[PADRON_DN1821](
	[CUIT] [varchar](11) NULL,
	[NOMBRE] [varchar](50) NULL,
	[FECHAVIGDESDE] [varchar](8) NULL,
	[FECHAVIGHASTA] [varchar](8) NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO


ALTER PROCEDURE [dbo].[List_MAESTROCUENTASIIBBSinReg] (@USUARIO varchar(50), @ARCHIVORENTAS varchar(100), @CANTIDADREGISTROSPROCESADOS int, @CANTIDADREGISTROSSINCODIGO int, @NOMBREPC VARCHAR(50), @RESOLUCION int)
AS
/**
	@RESOLUCION:
	4212    RETENCION IIBB AGROPUECUARIA
	70070   PERCEPCION IIBB 70/07 BSAS
	70071   RETENCION IIBB 70/07 BSAS
	1821    MONOTRIBUTISTAS LOCALES CERO IIBB BSAS
	939130  PERCEPCION IIBB 939/13 CABA
	939131	RETENCION IIBB 939/13 CABA
	
**/

	Select 
		LST_TIPO,
		Convert(Varchar(9), REPLICATE('0', 2-datalength(CONVERT(VARCHAR(2), MAE_CODIGOUEN))) + CONVERT(VARCHAR(2), MAE_CODIGOUEN) + '-' + REPLICATE('0', 6-datalength(CONVERT(VARCHAR(6), MAE_CODIGO))) + CONVERT(VARCHAR(6),MAE_CODIGO)) + ' ' + MAE_RAZONSOCIAL AS MAE_CODIGO,
		Convert(Varchar(13), (SUBSTRING(MAE_DNICUIT,1,2) + '-' + SUBSTRING(MAE_DNICUIT,3,8) + '-' + SUBSTRING(MAE_DNICUIT,11,1))) AS MAE_DNICUIT,
		
		IVA_ABREVIATURA,

		CASE 
			WHEN @RESOLUCION = 70070 THEN MAE_NUMEROIIBB
			WHEN @RESOLUCION = 70071 THEN MAE_NUMEROIIBB
			WHEN @RESOLUCION = 4212 THEN MAE_NUMEROIIBB
			WHEN @RESOLUCION = 1821 THEN MAE_NUMEROIIBB
			WHEN @RESOLUCION = 939130 THEN MAE_INSCRIPCIONCABA
			WHEN @RESOLUCION = 939131 THEN MAE_INSCRIPCIONCABA
		END AS MAE_NUMEROIIBB,
		
		/**
		MAE_CODIGOPERCIIBB3895 AS CODIGOPERCIIBB3895,
		(SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 2 AND ITO_CODIGO = MAE_CODIGOPERCIIBB3895) AS MAE_CODIGOPERCIIBB3895,

		MAE_CODIGORETIIBB4396 AS CODIGORETIIBB4396,
		(SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 4 AND ITO_CODIGO = MAE_CODIGORETIIBB4396) AS MAE_CODIGORETIIBB4396,
		**/
		
		GRUPOANTERIOR = LST_GRUPOANTERIOR,
		PORCENTAJEANTERIOR = CASE @RESOLUCION 
								WHEN 4212 THEN (SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 5 AND ITO_CODIGO = LST_GRUPOANTERIOR)
								WHEN 70070 THEN (SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 2 AND ITO_CODIGO = LST_GRUPOANTERIOR)
								WHEN 70071 THEN (SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 4 AND ITO_CODIGO = LST_GRUPOANTERIOR)
								WHEN 939130 THEN (SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 13 AND ITO_CODIGO = LST_GRUPOANTERIOR)
								WHEN 939131 THEN (SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 14 AND ITO_CODIGO = LST_GRUPOANTERIOR)
							 END,

		GRUPONUEVO = LST_GRUPONUEVO,
		PORCENTAJENUEVO = CASE @RESOLUCION 
								WHEN 4212 THEN (SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 5 AND ITO_CODIGO = LST_GRUPONUEVO)
								WHEN 70070 THEN (SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 2 AND ITO_CODIGO = LST_GRUPONUEVO)
								WHEN 70071 THEN (SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 4 AND ITO_CODIGO = LST_GRUPONUEVO)
								WHEN 939130 THEN (SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 13 AND ITO_CODIGO = LST_GRUPONUEVO)
								WHEN 939131 THEN (SELECT ITO_PORCENTAJE FROM IMPUESTOS WHERE ITO_CODIGOIMPUESTO = 14 AND ITO_CODIGO = LST_GRUPONUEVO)
								WHEN 1821 THEN 0
							 END,

		RTRIM(DAT_EMPRESA) + ' - ' + RTRIM(DAT_NOMBREUEN) AS DAT_EMPRESA,
		RTRIM(RTRIM(DAT_CALLE) + ' ' + CONVERT(VARCHAR(5), DAT_NUMERO) + ' ' + DAT_PISO + ' ' + DAT_DEPARTAMENTO) + ' - ' + '(' + RTRIM(CONVERT(VARCHAR(8), DAT_CODIGOPOSTAL)) + ') ' + RTRIM(DAT_LOCALIDAD) + ' - ' + RTRIM(DAT_PROVINCIA) AS DAT_DOMICILIO,
		DAT_TELEFONOS,
		@USUARIO AS USUARIOS, 
		@ARCHIVORENTAS AS ARCHIVORENTAS,
		@CANTIDADREGISTROSPROCESADOS AS CANTIDADREGISTROSPROCESADOS, 
		@CANTIDADREGISTROSSINCODIGO AS CANTIDADREGISTROSSINCODIGO, 
		@NOMBREPC AS NOMBREPC,
		@RESOLUCION AS RESOLUCION

	From LST_DN4212
		INNER JOIN MAESTROCUENTAS ON MAE_CODIGOUEN = LST_UENCUENTA AND MAE_CODIGO = LST_CODIGOMAE
		LEFT OUTER JOIN CONDICIONIVA ON IVA_CODIGO = MAE_SITUACIONIVA
		INNER JOIN DATOSLISTADOS ON DAT_CODIGO = 1
		
	Where 
			LST_NOMBREPC = @NOMBREPC	AND
			(
			(@RESOLUCION = 4212 AND LST_TIPO IN ('NOEXIST4212','MODIF4212')) OR
			(@RESOLUCION = 70070 AND LST_TIPO IN ('NOEXIST70070','MODIF70070')) OR
			(@RESOLUCION = 70071 AND LST_TIPO IN ('NOEXIST70071','MODIF70071')) OR
			(@RESOLUCION = 1821 AND LST_TIPO IN ('NOEXIST1821','MODIF1821')) OR
			(@RESOLUCION = 939130 AND LST_TIPO IN ('NOEXIST939130','MODIF939130')) OR
			(@RESOLUCION = 939131 AND LST_TIPO IN ('NOEXIST939131','MODIF939131'))						
			)

	Order By MAE_CODIGOUEN, MAE_CODIGO
	GO
