set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go
-- EXEC ACTUALIZA_CUMPLIMIENTO_DETALLE '200801' ALTER proc [dbo].[ACTUALIZA_CUMPLIMIENTO_DETALLE] @Fecha as char(6) aS --delete from DETALLE_CUMPLIMIENTO_MENSUAL where fecha_proc = '200702' declare @Sql as nvarchar(4000) declare @extTabla as char(4) set @extTabla=right(@Fecha,2)+right(left(@Fecha,4),2) /* set @Sql = 'INSERT INTO DETALLE_CUMPLIMIENTO_MENSUAL SELECT ''' + @Fecha + ''',T.id_req,r.xnum_doc_cli,isnull(rtrim(penomper),'''')+'' ''+isnull(rtrim(pepriape),'''')+'' ''+isnull(rtrim(pesegape),''''), isnull((select rtrim(xdesc_prod_serv) from prod_serv where xid_producto_serv=r.xid_producto_serv),''''),isnull((select rtrim(xdesc_tipo_operacion) from tipo_operac where xid_producto_serv=r.xid_producto_serv and xid_tipo_operacion=r.xid_tipo_operacion),''''), isnull((select rtrim(xdesc_sub_tipo_req) from tipificacion where xid_producto_serv=r.xid_producto_serv and xid_tipo_operacion=r.xid_tipo_operacion and xid_subtipo_req=r.xid_subtipo_req),''''),isnull((select rtrim(xdes_tipo_req) from tip_req_serv where xtipo_requerimiento=r.xtipo_requerimiento),''''),convert(char(10),T.xfecha_inicio, 120),convert(char(10),T.xfecha_termino,120), case when T.TIPO=''RES'' then cast(xsub_tiempo_est as int) when T.TIPO IN (''REP'',''DER'') THEN 2 end as TEst,T.xetapa,T.xopcion_salida,isnull((select rtrim(xdesc_punto_contacto) from punto_contacto where xcod_punto_contacto=r.xcod_punto_contacto),''''), T.xid_ur_gls_usuario,isnull((select top 1 rtrim(descripcion_ur) from relacion_roles where id_ur=T.xid_ur_gls_usuario),''SIN CLASIFICACION''),isnull((select top 1 rtrim(xid_gerencia) from GERENCIAS where xid_unidad_resolutora=T.xid_ur_gls_usuario),''SIN CLASIFICACION''), T.xid_ur_gls_dtn,isnull((select top 1 rtrim(descripcion_ur) from relacion_roles where id_ur=T.xid_ur_gls_dtn),''SIN CLASIFICACION''),isnull((select top 1 rtrim(xid_gerencia) from GERENCIAS where xid_unidad_resolutora=T.xid_ur_gls_dtn),''SIN CLASIFICACION''), case when T.TIPO=''RES'' AND (cast(xsub_tiempo_est as int)-(select count(*)1 from tablas..calendario where habil=0 and fecha between T.xfecha_inicio and T.xfecha_termino ))>=0 then 1 when T.TIPO=''RES'' AND (cast(xsub_tiempo_est as int)-(select count(*)-1 from tablas..calendario where habil=0 and fecha between T.xfecha_inicio and T.xfecha_termino))<0 THEN 0 when T.TIPO IN (''REP'',''DER'') AND (2-(select count(*)-1 from tablas..calendario where habil=0 and fecha between T.xfecha_inicio and
T.xfecha_termino))>=0 THEN 1 when T.TIPO IN (''REP'',''DER'') AND (2-(select count(*)-1 from tablas..calendario where habil=0 and fecha between T.xfecha_inicio and T.xfecha_termino))<0 THEN 0 end as cump,T.Tipo FROM ( select cast(xid_requerimiento as int)id_req,xid_familia,xid_producto_serv,xid_tipo_operacion,xid_subtipo_req,xcod_e tapa,xetapa,xopcion_salida, CONVERT(SMALLDATETIME,LEFT(xfecha_inicio,8))xfecha_inicio,CONVERT(SMALLDATETIME,LE FT(xfecha_termino,8))xfecha_termino,xglosa_grupo_usuario, xid_ur_gls_usuario,xgls_und_dtn,xid_ur_gls_dtn,CASE WHEN xopcion_salida IN (''Firmar y Enviar'',''Informar respuesta al cliente'') THEN ''RES'' WHEN xopcion_salida IN (''Devolver requerimiento por reparo'') THEN ''REP'' WHEN xopcion_salida IN (''Derivar a otra unidad resolutora'') THEN ''DER'' END AS TIPO from mensual_diario_' + @extTabla + ' d where xid_requerimiento in (select distinct xid_requerimiento from mensual_requerimiento_' + @extTabla + ' r where r.xtipo_requerimiento in (''R'',''S'') and r.xid_familia<>''0008274'' and r.xcodigo_estado_requerimiento<>''03'') and left(d.xfecha_termino,6)=''' + @Fecha + ''' and d.xcod_etapa in (''NSAC_MSG_ATEN_REQ'') and rtrim(d.xopcion_salida) in (''Firmar y Enviar'',''Informar respuesta al cliente'',''Devolver requerimiento por reparo'',''Derivar a otra unidad resolutora'') AND d.xid_ur_gls_usuario IN (SELECT DISTINCT ID_UR FROM RELACION_ROLES WHERE TIPO IN (''UNIDAD RESOLUTORA'',''SUPERLINEA'')) and rtrim(xglosa_grupo_usuario) not in (''Administrador SAC'',''Administrador SAC.'') ) AS T left outer join tip_tpo_wf ttw on T.xid_familia = ttw.xid_familia and T.xid_producto_serv = ttw.xid_producto_serv and T.xid_tipo_operacion = ttw.xid_tipo_operacion and T.xid_subtipo_req = ttw.xid_subtipo_req and T.xcod_etapa = ttw.xwf_act_name_name and ttw.xsum_proc <> ''N'' join mensual_requerimiento_' + @extTabla + ' r on r.xid_requerimiento=T.id_req join tablas..clientesegmento cs on cs.penumdoc=r.xnum_doc_cli --print @Sql exec sp_executesql @Sql --print rtrim(@Sql) /* INSERT INTO DETALLE_CUMPLIMIENTO_MENSUAL SELECT '200702', T.id_req, r.xnum_doc_cli, isnull(rtrim(penomper),'')+' '+isnull(rtrim(pepriape),'')+' '+isnull(rtrim(pesegape),'')[NOMBRE CLIENTE], --T.xid_producto_serv, isnull((select rtrim(xdesc_prod_serv) from prod_serv where xid_producto_serv=r.xid_producto_serv),'')PRODUCTO, --T.xid_tipo_operacion, isnull((select rtrim(xdesc_tipo_operacion) from tipo_operac where xid_producto_serv=r.xid_producto_serv and xid_tipo_operacion=r.xid_tipo_operacion),'')[TIPO OPERACIÓN], --T.xid_subtipo_req, isnull((select rtrim(xdesc_sub_tipo_req) from tipificacion where xid_producto_serv=r.xid_producto_serv and xid_tipo_operacion=r.xid_tipo_operacion and xid_subtipo_req=r.xid_subtipo_req),'')[DETALLE OPERACIÓN], --R.xtipo_requerimiento, isnull((select rtrim(xdes_tipo_req) from tip_req_serv where xtipo_requerimiento=r.xtipo_requerimiento),'')[TIPO REQUERIMIENTO],
convert(char(10),T.xfecha_inicio,120), convert(char(10),T.xfecha_termino,120), case when T.TIPO='RESOLUCION' then cast(xsub_tiempo_est as int) when T.TIPO IN ('REPAROS','DERIVAR') THEN 2 end as TEstandar, --T.xcod_etapa, T.xetapa, T.xopcion_salida, --r.xcod_punto_contacto, isnull((select rtrim(xdesc_punto_contacto) from punto_contacto where xcod_punto_contacto=r.xcod_punto_contacto),'')[PUNTO CONTACTO], T.xid_ur_gls_usuario, isnull((select top 1 rtrim(descripcion_ur) from relacion_roles where id_ur=T.xid_ur_gls_usuario),'SIN CLASIFICACION'), isnull((select top 1 rtrim(xid_gerencia) from GERENCIAS where xid_unidad_resolutora=T.xid_ur_gls_usuario),'SIN CLASIFICACION'), T.xid_ur_gls_dtn, isnull((select top 1 rtrim(descripcion_ur) from relacion_roles where id_ur=T.xid_ur_gls_dtn),'SIN CLASIFICACION'), isnull((select top 1 rtrim(xid_gerencia) from GERENCIAS where xid_unidad_resolutora=T.xid_ur_gls_dtn),'SIN CLASIFICACION'), case when T.TIPO='RESOLUCION' AND (cast(xsub_tiempo_est as int)-(select count(*)-1 from tablas..calendario where habil=0 and fecha between T.xfecha_inicio and T.xfecha_termino ))>=0 then 1 when T.TIPO='RESOLUCION' AND (cast(xsub_tiempo_est as int)-(select count(*)-1 from tablas..calendario where habil=0 and fecha between T.xfecha_inicio and T.xfecha_termino ))<0 THEN 0 when T.TIPO IN ('REPAROS','DERIVAR') AND (2-(select count(*)-1 from tablas..calendario where habil=0 and fecha between T.xfecha_inicio and T.xfecha_termino ))>=0 THEN 1 when T.TIPO IN ('REPAROS','DERIVAR') AND (2-(select count(*)-1 from tablas..calendario where habil=0 and fecha between T.xfecha_inicio and T.xfecha_termino ))<0 THEN 0 --else 'NO' end as cumplimiento, T.Tipo FROM ( select cast(xid_requerimiento as int)id_req, xid_familia,xid_producto_serv,xid_tipo_operacion,xid_subtipo_req,xcod_etapa,xetapa ,xopcion_salida, CONVERT(SMALLDATETIME,LEFT(xfecha_inicio,8))xfecha_inicio,CONVERT(SMALLDATETIME,LE FT(xfecha_termino,8))xfecha_termino,xglosa_grupo_usuario, xid_ur_gls_usuario,xgls_und_dtn,xid_ur_gls_dtn, CASE WHEN xopcion_salida IN ('Firmar y Enviar','Informar respuesta al cliente') THEN 'RESOLUCION' WHEN xopcion_salida IN ('Devolver requerimiento por reparo') THEN 'REPAROS' WHEN xopcion_salida IN ('Derivar a otra unidad resolutora') THEN 'DERIVAR' END AS TIPO --'RESOLUCION' TIPO from mensual_diario_0207 d where xid_requerimiento in (select distinct xid_requerimiento
from mensual_requerimiento_0207 r where r.xtipo_requerimiento in ('R','S') and r.xid_familia<>'0008274' and r.xcodigo_estado_requerimiento<>'03') and left(d.xfecha_termino,6)='200702' and d.xcod_etapa in ('NSAC_MSG_ATEN_REQ')--,'NSAC_MSG_TRAMIT_REP') and rtrim(d.xopcion_salida) in ('Firmar y Enviar','Informar respuesta al cliente','Devolver requerimiento por reparo','Derivar a otra unidad resolutora') AND d.xid_ur_gls_usuario IN (SELECT DISTINCT ID_UR FROM RELACION_ROLES WHERE TIPO IN ('UNIDAD RESOLUTORA','SUPERLINEA')) and rtrim(xglosa_grupo_usuario) not in ('Administrador SAC','Administrador SAC.') ) AS T join tip_tpo_wf ttw on T.xid_familia = ttw.xid_familia and T.xid_producto_serv = ttw.xid_producto_serv and T.xid_tipo_operacion = ttw.xid_tipo_operacion and T.xid_subtipo_req = ttw.xid_subtipo_req and T.xcod_etapa = ttw.xwf_act_name_name and ttw.xsum_proc <> 'N' join mensual_requerimiento_0207 r on r.xid_requerimiento=T.id_req join tablas..clientesegmento cs on cs.penumdoc=r.xnum_doc_cli */
/* select * from CUADRO_cumplimiento_mensual WHERE FECHA_PROC = '200701' select * from DETALLE_cumplimiento_mensual WHERE FECHA_PROC = '200701' */
*/