ÿþUSE [SiColef] GO /****** Object: StoredProcedure [dbo].[SpFirmas] Script Date: 02/28/2008 08:37:17 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO /* **************************************************************** ***** POLITICAS PARA LAS SOLICITUDES DE SERVICIOS VARIOS ****** **************************************************************** se van ha detectar primero 4 grandes areas 1.- Departamento academicos , 2.- Po0sgrado , 3.- Regionales 4.- si es un departamentoAdministrativos1.- PROYECTO PERTENECE A UN DEPARTAMENTO ACADEMICO (sociales , economina , culturales , medio ambiente etc.) S1.1 Si el proyecto = depapartamento Firma1 = Responsable del proyecto Firma2 = DGA Firma3 = SGA S1.2 Si el Proyecto = proy. investigacion y Responsable del proyecto <> Del reponsable del departamento donde esta el proyecto Firma1 = Responsable del proyecto Firma2 = Encargado del departamento donde esta el proyecto Firma3 = DGA S1.3 Si el Proyecto = proy. investigacion y Responsable del proyecto = Del reponsable del departamento donde esta el proyecto Firma1 = Responsable del proyecto Firma2 = DGA Firma3 = SGA S1.4 Si el responsable del proyecto = Un Director General Firma1 = Responsable del proyecto Firma2 = Jefe del responsable del proyecto (por el cargo: es decir busco el departamento donde el director General esta a cargo y le doy el campo : LmDirArea ( jefe del encargado del depto)) Firma3 = Jefe-Jefe del responsable del proyecto (por el cargo: es decir busco el departamento donde el director General esta a cargo y le doy el campo : LmDirGral (jefe-jefe del encargado del depto)) S2.- EL PROYECTO PERTENECE A ALGUN DEPARTAMENTO DE POSGRADO Firma1 = Responsable del proyecto Firma2 = Jefe inmediato (como siempre el reponsable de un proyecto de posgrado es reponsable de un departamento; entonces el jefe inmediato = el departamento donde el reponsable del proyecto es encargado del departamento y le doy el campo : LmDirArea (jefe del encargado del depto)) Firma3 = SGA S3.- EL PROYECTO PERTENECE A UNA REGIONAL S3.1 Si el proyecto = a un departamento (quiere puede ser una oficiana (mexicali , piedras negras ciudad juarez y a su vez esta oficinas pertenecen a una de las dos oficinas de direcciones regionales. ) Firma1 = encargado de la direccion genaral a la que pertenece el departamento Firma2 = Firma 1 SI el beneficiario = Encargado de una de las Direcciones regionales entonces Firma3 = SGA SI el beneficiario <> Encargado de una de las Direcciones regionales entonces Firma3 = Firma1 S4.- SI EL PROYECTO PERTENECE A UN DEPRTAMENTO ADMINISTRATIVO S4.1 Si el solicitante <> al responsable del proyecto Firma1 = responsable del proyecto Firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea Firma3 = Firma2 S4.2 Si el solicitante = Responsable del proyecto Firma1 = responsable del proyecto Firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea Firma3 = jefe del anterior **************************************************************** ***** POLITICAS PARA LAS SOLICITUDES DE VIATICOS ********* **************************************************************** 1.- EL PROYECTO ESTA EN UN DEPARTAMENTO ACADEMICO 1.1.- ( El beneficiario = externo ) Y ( proyecto = departamento ) firma1 = responsable del proyecto firma2 = DGA firma3 = SGA 2.1.- ( proyecto = proyecto de investigacion ) y ( resp. proyecto <> Responsable del departamento donde esta el proyecto ) firma1 = responsable del proyecto firma2 = jefe del departamento donde esta el proyecto firma3 = DGA firma4 = SGA 2.3.- ( proyecto = departamento ) Y ( beneficiario = interno ) Y ( depto donde esta beneficiario = depto donde esta el proyecto ) Firma1 = responsable del proyecto Firma2 = DGA firma3 = SGA 2.4.- ( proyecto = departamento ) Y ( beneficiario = interno ) Y ( depto donde esta beneficiario <> depto donde esta el proyecto ) Firma1 = responsable del proyecto Firma2 = jefe del beneficiario firma3 = DGA firma4 = SGA 2.5.- ( beneficiario = interno ) y ( proyecto = proyecto de investigacion ) y ( depto.donde esta el beneficiario = Depto dode esta proyecto ) ( responsable del proy <> encargado del Depto dode esta proyecto ) Firma1 = responsable del proyecto firma2 = jefe del departamento donde esta el proyecto Firma3 = DGA 2.6.- ( beneficiario = interno ) y ( proyecto = proyecto de investigacion ) y ( depto.donde esta el beneficiario <> Depto dode esta proyecto ) ( responsable del proy <> encargado del Depto dode esta proyecto ) Firma1 = responsable del proyecto firma2 = encargado del departamento donde esta el proyecto Firma3 = DGA 2.7.- ( beneficiario = interno ) y ( proyecto = proyecto de investigacion ) y ( depto.donde esta el beneficiario = Depto dode esta proyecto ) ( responsable del proy = encargado del Depto dode esta proyecto ) Firma1 = responsable del proyecto firma2 = DGA Firma3 = SGA 2.8.- ( beneficiario = interno ) y ( proyecto = proyecto de investigacion ) y ( depto.donde esta el beneficiario <> Depto dode esta proyecto ) ( responsable del proy = encargado del Depto dode esta proyecto ) Firma1 = responsable del proyecto firma2 = jefe del beneficiario Firma3 = DGA firma4 = SGA 2.9.- ( beneficiario = interno ) y ( proyecto = proyecto de investigacion ) y ( el cargo responsable del proy = Director general o mas ) Firma1 = responsable del proyecto firma2 = jefe del beneficiario Firma3 = jefe del encargado del departamento. Donde el reponsable del proyecto tiene un cargo: LmFirArea) (busco depto) Firma4 = jefe del anterior 2.- EL PROYECTO PERTENECE A UN DEPARTAMENTO DE POSGRADO 2.1.- ( beneficiario = externo ) firma1 = responsable del proyecto firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea firma3 = SGA 2.2.- ( beneficiario = interno ) y ( depto donde esta el beneficiario = depto donde esta el proyecto ) y ( beneficiario <> reponsable del proyecto ) firma1 = responsable del proyecto firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea firma3 = SGA 2.3.- ( beneficiario = interno ) y ( depto donde esta el beneficiario = depto donde esta el proyecto ) y ( beneficiario = reponsable del proyecto ) firma1 = responsable del proyecto firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea firma3 = SGA 2.4.- ( beneficiario = interno ) y ( depto donde esta el beneficiario <> depto donde esta el proyecto ) y firma1 = responsable del proyecto firma2 = jefe del beneficiario firma3 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea firma4 = SGA 3.- EL PROYECTO PERTENECE A UN DEPARTAMENTO DE UNA REGIONAL 3.1.- ( proyecto = departamento ) y ( beneficiario = externo ) firma1 = responsable del proyecto firma2 = SGA 3.2.- ( proyecto = proyecto de investigacion ) y ( beneficiario = externo ) firma1 = responsable del proyecto firma2 = Director regional general correspondiente (NoroEste o NorEste) firma3 = SGA 3.3.- ( beneficiario = interno )y ( proyecto = departamento ) y ( Depto del beneficiario = a cualquier depto de alguna regional ) firma1 = Director regional general correspondiente (NoroEste o NorEste) firma2 = SGA 3.4.- ( beneficiario = interno )y ( proyecto = departamento ) y ( beneficiario = director regional general ) firma1 = responsable del proyecto firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea (busco depto) firma3 = jefe del anterior 3.5.- ( beneficiario = interno ) ( proyecto = proyecto de investigacion ) ( depto del beneficiario = depto. donde esta el proyecto ) ( cargo beneficiario <> Director general) firma1 = responsable del proyecto firma2 = Director General Regional correspondiente firma3 = SGA 3.6.- ( beneficiario = interno ) ( proyecto = proyecto de investigacion ) ( Depto del beneficiario <> ALGUNOS de los deptos de la direccion donde se encuentra el proyecto ) firma1 = responsable del proyecto firma2 = jefe del beneficiario firma3 = Director Regional General correspondiente firma4 = SGA 3.7.- ( beneficiario = interno ) ( proyecto = proyecto de investigacion ) ( Cargo Responsable proyecto = Director General Regional ) ( Depto del beneficiario = ALGUNOS de los deptos de la direccion donde se encuentra el proyecto ) firma1 = responsable del proyecto firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea (busco depto) firma3 = jefe del anterior 3.8.- ( beneficiario = interno ) ( proyecto = proyecto de investigacion ) ( Cargo Responsable proyecto = Director General Regional ) ( Depto del beneficiario <> ALGUNOS de los deptos de la direccion donde se encuentra el proyecto ) firma1 = responsable del proyecto firma2 = jefe inmediato del beneficiario firma3 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea (busco depto) firma4 = jefe del anterior 4.- EL PROYECTO PERTENECE A UN DEPARTAMENTO ADMINISTRATIVO 4.1.- ( beneficiario = externo ) y ( solicitante <> responsable del proyecto ) firma1 = responsable del proyecto firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea 4.2.- ( beneficiario = externo ) y ( solicitante = responsable del proyecto ) firma1 = responsable del proyecto firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea firma3 = jefe del anterior 4.3.- ( beneficiario = interno ) y ( beneficiario <> Responsable del proyecto ) ( Depto. del beneficiario = Depto donde esta el proyecto ) firma1 = responsable del proyecto firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea firma3 = jefe del anterior 4.4.- ( beneficiario = interno ) y ( Depto. del beneficiario <> Depto donde esta el proyecto ) ( solicitante <> Responsable del proyecto ) firma1 = responsable del proyecto firma2 = Jefe del beneficiario firma3 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea firma4 = jefe del anterior 4.5.- ( beneficiario = interno ) y ( beneficiario = responsable del proyecto ) firma1 = responsable del proyecto firma2 = busco el departamento donde es jefe el encargado del proyecto y doy LmDirArea firma3 = jefe del anterior */ --ALTER PROCEDURE [dbo].[SpFirmas] -- ACUERDATE SI MANDO EN EL PARAMETRO @CuantosFirmasCargo = 0 quiere decir que ubo un problema declare @CualSolicitud integer , -- Es el numero de la solicitud que se va ha evaluar las firmas @TipoSolicitud integer , -- Indica si la solicitud es de servicios(3), viaticos(2), almacen(1), compra(5) @CuantosFirmasCargo integer , --output,-- cuantas firmas estoy cargando. @EsIntercional integer , -- Solo para viaticos y pasajes . Me mandan el el valor 1 = nacional y 2 = internacional @Firma1 integer , --output, -- Aqui se pone el codigo de la persona que es el responsable del proyecto @Firma2 integer ,--output, -- Aqui se pone el codigo de la persona que es el responsable de la segunda firma @Firma3 integer ,--output, -- Aqui se pone el codigo de la persona que es el responsable de la tercera firma @firma4 integer ,--output, -- es la cuarta firma @firma5 integer ,--output, -- es la quinta firma @firma6 integer ,--output, -- es la sexta @firma7 integer ,--output, -- es la septima @CambiarFirmas nvarchar(2) ,--output, -- 'es solo valido para viaticos y tiene un SI = si hay que cambiar las claves o NO = si no hay que cambiar' @Puesto1 int ,--output, -- puesto de la primera firma @Puesto2 int ,--output, -- puesto de la segunda firma @Puesto3 int ,--output, -- puesto de la tercera firma @Puesto4 int ,--output, -- puesto de la cuarta firma @Puesto5 int ,--output, -- Puesto @Puesto6 int ,--output , -- Puesto @CanceloFirmasApartir int --OUTPUT --@agus --AS declare @CargoJefeBeneficiario nvarchar(2), -- 'SI' = si paso por viaticos y tiene 6 firmas y se recorrio la firma del beneficiario @FormaServiciosVarios integer , -- constante para identificar las solicitudes de servicios varios (3) @FormaAlmacen integer , -- constante para identificar las solicitudes de almacen (1) @FormaCompra integer , -- constante para identificar las solicitudes de compra (5) @FormaViaticos integer , -- constante para identificar las solicitudes de viaticos y pasajes (2) @NoHayDatos integer , -- contante para indicar que no hay datos(-1) @CodigoResponsableDelProyecto integer , -- Para guadar el responsable del proyecto cuando es proyecto academico @proyecto integer , -- Codigo del proyecto @CoordinacionArea integer , -- Coordinacion Area del proyecto de la solicitud @LmCoordResponsable integer , -- codigo de la persona que es el responsable del proyecto de la coordinacion @LmDirAreaResponsable integer , -- codigo de la persona que es el responsable del proyecto de la Direccion de area @LmDirGralResponsable integer , -- codigo de la persona que es el responsable del proyecto de la Direccion General @LmCoord integer , -- codigo del proyecto que representa la coordinacion @JefeDelResponsableDelProyectoCuandoEsProyecto integer , -- Codigo del jefe del reponsable del proyecto cuando el proyecto donde se va a cargar el gasto es un proyecto @JefeJefeDelResponsableDelProyectoCuandoEsProyecto integer , -- Codigo del jefe del jefe del reponsable del proyecto cuando el proyecto donde se va a cargar el gasto es un proyecto @JefeDelResponsableDelProyectoCuandoEsDepartamento integer , -- Codigo del jefe del reponsable del proyecto cuando el proyecto donde se va a cargar el gasto es un departamento @JefeJefeDelResponsableDelProyectoCuandoEsDepartamento integer , -- Codigo del jefe del jefe del reponsable del proyecto cuando el proyecto donde se va a cargar el gasto es un proyecto @JefeDelBeneficiario integer , -- codigo del jefe del beneficiario = dueño del proyecto al que pertenece el beneficiario @JefeJefeDelBeneficiario integer , -- codigo del jefe del jefe del beneficiario = jefe del dueño del proyecto al que pertenece el beneficiario @JefeJefeJefeDelBeneficiario integer , -- codigo del jefe del jefe del jefe del beneficiario = jefe del jefe del dueño del proyecto al que pertenece el beneficiario @JefeDelSolicitante integer , -- Codigo del jefe del solicitante @JefeJefeDelSolicitante integer , -- Codigo del jefe de jefe del solicitante @JefeJefeJefeDelSolicitante integer , -- Codigo del jefe de jefe del jefe del solicitante @EsProyectoAcademico Nvarchar(2) , -- = Si si es proyecto academico @EsInvestigador Nvarchar(2) , -- = Si si es investigador el beneficiario @CargoDelInvestigador integer, -- Contiene el codigo del cargo al que pertenece el benefciario cuando es investigador @TipoInvestigador integer , -- si el tipo del investigador = 1 quiere decir que puede ser considerado como academico (hay que ver el cargo para desidir finalmente) @CodigoBeneficiario integer, -- codigo del beneficiario de la solicitud @EsDirectorElBeneficiario Nvarchar(20), -- Indica si el beneficiaro tiene el cargo de director = 'SI' @CodigoResponsablePresidencia integer, -- indica el encargado del proyecto de presidencia @CodigoProyPresidencia integer, -- codigo del proyecto de presidencia (231) @interno integer , -- si el beneficiario es del colegio representado por el valor 1 @ExternoViaticos integer , -- si el beneficiario no es del colegio representado por el valor 2 para solicitud de viaticos @ExternoServicios integer , -- si el beneficiario no es del colegio representado por el valor 0 para la solicitud de servicios varios @TipoBeneficiario integer , -- Para intiga si el beneficiario = interno = 1 o si el beneficiario = externo = 2 @CodigoProyCompras integer , -- Numero de codigo del proyecto de compras = 242 @CodigoProyDireccionMateriales Integer , -- Numero de codigo del proyecto de direccion de materiales = 241 @CodigoProyDireccionGeneralAdmon integer , -- Numero de codigo del proyecto de direccion general administrativa = 233 @CodigoResponsableProyCompras integer , -- Numero de codigo del RESPONSABLE del proyecto de compras = 242 @CodigoResponsableProyDireccionMateriales Integer , -- Numero de codigo RESPONSABLE del proyecto de direccion de materiales @CodigoResponsableProyDireccionGeneralAdmon integer , -- Numero de codigo del RESPONSABLE del proyecto de direccion general administrativa @MontoMaximoDeCompra money, -- Si el monto de una solicitud de compra excede de 15000 debera de ir la firma de @CodigoResponsableProyDireccionGeneralAdmon @ValorDeLaCompra money , -- monto de la compra de una solicitud de compra @Imprimo nvarchar(1), -- 'S = si imprimo los valores por donde pasa N = No imprimo @CodigoDelCargoDelResponsableDelProyecto integer, -- Codigo del cargo del reponsable del proyecto @EsDirectorElResponsableDelProyecto nvarchar(2) , -- SI = si tiene el cargo de director el responsable del proyecto @DeptoDondeEstaElBeneficiario integer , -- departamento donde esta el beneficiario @CodigoEncargadoDGA integer , -- codigo del encargado del proyecto de la DGA @CodigoEncargadoSGA integer , -- codigo del encargado del proyecto de la SGA @CodigoProyDGA integer , -- codigo del proyecto de la DGA (255) @CodigoProySGA integer , -- codigo del proyecto de la SGA (254) @TipoDepartamento nvarchar(40) , -- contiene si del departamento donde esta el proyecto es academico, administrativo , direcciones generales etc. @CodigoProySPDI integer , -- Codigo del proyecto de Secretaria de planeacion y desarrollo institucional = 232 @CodigoEncargadoProySPDI integer , -- Codigo del responsable del proyecto de SPDI = Secretaria de planeacion y desarrollo institucional @CodigoDeptoDireccionNoroeste integer , -- Codigo del departamento de la direccion NOROESTE = 54 @CodigoDeptoDireccionNoreste integer , -- Codigo del departamento de la direccion NORESTE = 55 @EncargadoDeptoDireccionNoroeste integer , -- encargado del departamento de la direccion NOROESTE @EncargadoDeptoDireccionNoreste integer , -- encargado del departamento de la direccion NORESTE @CodigoProyDireccionNoroeste integer , -- Codigo del proyecto de la direccion NOROESTE = 269 @CodigoProyDireccionNoreste integer , -- Codigo del proyecto de la direccion NORESTE = 273 @DeptoPosgrado integer , -- (15) Codigo del departamento de posgrado @DeptoServiciosEscolares int , -- (76)codigo del departamento de ServiciosEscolares que pertenece al area de POSGRADO @DeptoDoctoradoSociales int , -- (16)codigo del departamento de Doctorado Sociales que pertenece al area de POSGRADO @DeptoMaestriaMedioAmbiente int , -- (17)codigo del departamento de Maestria MedioAmbiente que pertenece al area de POSGRADO @DeptoMaestriaDemografia int , -- (18)codigo del departamento de Maestria Demografia que pertenece al area de POSGRADO @DeptoMaestriaDesarroloRegional int , -- (19)codigo del departamento de Maestria DesarroloRegional que pertenece al area de POSGRADO @DeptoMaestriaEconomiaAplicada int , -- (20)codigo del departamento de Maestria EconomiaAplicada que pertenece al area de POSGRADO @DeptoMaestriaEconominaRegional int , -- (21)codigo del departamento de Maestria EconominaRegional que pertenece al area de POSGRADO @DeptoMaestriaEstudiosCulturales int , -- (104)codigo del departamento de Maestria EstudiosCulturales que pertenece al area de POSGRADO @DeptoMaestriaSocioCulturales int , -- (151) codigo del departamento de socioculturales @agus3 @DeptoCompras integer , -- Codigo del departamento = 72 @DeptoObrasYMantenimiento integer , -- Codigo del departamento = 73 @DeptoContabilidad integer , -- Codigo del departamento = 69 @DeptoPresupuestos integer , -- Codigo del departamento = 78 @DeptoFinanzas integer , -- Codigo del departamento = 56 @DeptoRecursosHumanos integer , -- Codigo del departamento = 57 @DeptoRelacionesLaborales integer , -- Codigo del departamento = 71 @DeptoRecursosMaterialesYServicios integer , -- Codigo del departamento = 58 @DeptoTesoreria integer , -- Codigo del departamento = 67 @DeptoNominas integer , -- Codigo del departamento = 70 @DeptoServiciosGenerales integer , -- Codigo del departamento = 74 @DeptoPresidencia integer , -- Codigo del departamento = 44 @DeptoDondeEstaElSolicitante integer , -- Codigo del deprtamento donde esta el solicitante @DeptoNuevoLaredo integer , -- Codigo del deprtamento = 10 @DeptoMatamoros integer , -- Codigo del deprtamento = 9 @DeptoMonterrey integer , -- Codigo del deprtamento = 11 @DeptoNogales integer , -- Codigo del deprtamento = 36 @DeptoRegionalNoreste integer , -- Codigo del deprtamento = 55 @DeptoCiudadJuarez integer , -- Codigo del deprtamento = 12 @DeptoMexicali integer , -- Codigo del deprtamento = 13 @DeptoPiedrasNegras integer , -- Codigo del deprtamento = 14 @DeptoRegionalNoroeste integer , -- Codigo del deprtamento = 54 @EncargadoDeptoCompras integer , -- Codigo del departamento = 72 @EncargadoDeptoObrasYMantenimiento integer , -- Codigo del departamento = 73 @EncargadoDeptoContabilidad integer , -- Codigo del departamento = 69 @EncargadoDeptoPresupuestos integer , -- Codigo del departamento = 78 @EncargadoDeptoFinanzas integer , -- Codigo del departamento = 56 @EncargadoDeptoRecursosHumanos integer , -- Codigo del departamento = 57 @EncargadoDeptoRelacionesLaborales integer , -- Codigo del departamento = 71 @EncargadoDeptoRecursosMaterialesYServicios integer , -- Codigo del departamento = 58 @EncargadoDeptoTesoreria integer , -- Codigo del departamento = 67 @EncargadoDeptoNominas integer , -- Codigo del departamento = 70 @EncargadoServiciosGenerales integer , -- codigo del departamento = 74 @EncargadoDeptoDondeEstaElSolicitante integer , -- Codigo del deprtamento donde esta el solicitante @CodigoDelBeneficiario integer, -- codigo del beneficiario @PartidaDeUnArticulo integer , -- Partida de un articulo de la solicitud de materiales @activos nvarchar(1), -- para indicar si el articulo de almacen es activo = 5 @Academico nvarchar(2), -- constante para indicar el estado academico = 2 @EsDepartamentoAdministrativo nvarchar(2), -- Para indicar si el proyecto es un departamento administrativo @EsDepartamentoAcademico nvarchar(2), -- Para indicar si el proyecto es un departamento academico @EsProyectoAdministrativo nvarchar(2), -- Para indicar si es un proyecto administrativo @AreaControlDelProyecto integer, -- para cargar si el proyecto es o no de SEP = proyecto.AreaControl @CodigoSolicitante integer , -- carga el codigo del dolicitante @regla integer , -- para indicar por cual regla se paso voy a usar el parametro firma7 para mandar el dato @UltimaFirma integer, -- se utiliza para viaticos e indica cual fue la ultima firma antes de evaluar si es internacional o no @TipoDeGasto integer, -- indica el numero del tipo de gasto de la solicitud de sefrvicios varios @1JefeEncargadoDelProyectoSiEsJefeDeUnDepartamento int , -- Aplica cuando el dueño del proyecto es jefe de algun departamento. Por lo tanto el jefe de esta persona es el encargado de LmDirArea del depto donde es jefe @2JefeJefeEncargadoDelProyectoSiEsJefeDeUnDepartamento int , -- Aplica cuando el dueño del proyecto es jefe de algun departamento. Por lo tanto el jefe del jefe de esta persona es el encargado de LmDirGral del depto donde es jefe @EsGastoInstitucional int , -- es para servicios varios 1 = si es institucional el gasto @PosgradoDireccionDocencia int , -- (263)codigo del proyecto de DireccionDocencia que pertenece al area de POSGRADO @PosgradoServiciosEscolares int , -- (268)codigo del proyecto de ServiciosEscolares que pertenece al area de POSGRADO @PosgradoCoordinacionDocencia int , -- (324)codigo del proyecto de Coordinacion Docencia que pertenece al area de POSGRADO @PosgradoDoctoradoSociales int , -- (264)codigo del proyecto de Doctorado Sociales que pertenece al area de POSGRADO @PosgradoMaestriaMedioAmbiente int , -- (265)codigo del proyecto de Maestria MedioAmbiente que pertenece al area de POSGRADO @PosgradoMaestriaAdministracionPublica int , -- (330)codigo del proyecto de Maestria AdministracionPublica que pertenece al area de POSGRADO @PosgradoMaestriaDemografia int , -- (267)codigo del proyecto de Maestria Demografia que pertenece al area de POSGRADO @PosgradoMaestriaDesarroloRegional int , -- (266)codigo del proyecto de Maestria DesarroloRegional que pertenece al area de POSGRADO @PosgradoMaestriaEconomiaAplicada int , -- (278)codigo del proyecto de Maestria EconomiaAplicada que pertenece al area de POSGRADO @PosgradoMaestriaEconominaRegional int , -- (329)codigo del proyecto de Maestria EconominaRegional que pertenece al area de POSGRADO @PosgradoMaestriaEstudiosCulturales int , -- (277)codigo del proyecto de Maestria EstudiosCulturales que pertenece al area de POSGRADO @PosgradoMaestriaPoliticasPublicas int , -- (685)codigo del proyecto de Maestria politicas publicas que pertenece al area de POSGRADO @ProyMonterrey int , -- codigo proy 275 noreste @ProyNuevoLaredo int , -- codigo proy 276 noreste @ProyMatamoros int , -- codigo proy 274 noreste @ProyPiedrasNegras int , -- codigo proy 286 noreste @ProyJuarez int , -- codigo proy 271 noroeste @ProyMexicali int , -- codigo proy 270 noroeste @ProyNogales int , -- codigo proy 272 noroeste @TipoDeFinanciamiento int , -- tipo de financiamiento 1= fiscal <> 1 complementario @ProyFiscal nvarchar(2), -- 'SI' si es proyecto con financiamiento fical @ProyComplementario nvarchar(2) , -- 'SI' si es proyecto complementario @CodigoDelCargoDelSolicitante int , -- contiene el codigo del cargo del solicitante @EsDirectorElSolicitante nvarchar(2), -- SI = si el solicitantente tiene el cargo de director @DeptoDondeEstaElProyecto int , -- codigo del departamento a donde esta etiquetado el proyecto @DepartamentoDondeEstaACargoElBeneficiario int , -- deprtamneto donde el beneficiario esta a cargo @TipoInvestigadorElReponsableDelProyecto int , -- si el tipo del investigador = 1 quiere decir que puede ser considerado como academico (hay que ver el cargo para desidir finalmente) @EsInvestigadorElReponsableDelProyecto nvarchar(2), -- SI = si el reponsable del proyecto es investigador @ElProyectoEsDeUnaRegional nvarchar(2), -- SI = Si el proyecto es de una regional @ElBeneficiarioEsEncargadoDeUnDepartamento nvarchar(2), -- SI = Si el beneficiario esta ha cargo de un deprtamento @CodigoResponsableRegionalNoroEste int, -- responsable de la direccion NOROESTE @CodigoResponsableRegionalNorEste int , -- reponsable e de la direccion NORESTE @ElSolicitanteEsEncargadoDeUnDepartamento nvarchar(2) , -- @TemProyecto int, -- para guardar temporalmente el numero del proyecto @TemFirma int , -- temporal @ProyectoEncontrado int , @PuestoRespProy int , -- puesto responsable del proyecto @PuestoJefeInmediato int , -- puesto jefe inmediato @PuestojefeImediatoSuperior int , -- jefe inmediato siperior @PuestoJefeDelBeneficiario int , -- jefe del beneficiario @PuestoDirectorGeneralAsuntosAcademicos int , -- Director general de asuntos academicos @PuestoSecretaria int , -- puesto secretaria @PuestoPresidencia int , -- puesto presidencia @PuestoJefeInmediatoDelSolicitante int , @PuestoJefeInmediatoSuperiorDelSolicitante int , @NombreCargo int , -- tiene el cargo cuando uso los cursores @EsProyectoComplementario nvarchar(2) , @SorteaFirmasPorPuesto nvarchar(2) , -- SI = Si se sortean las firmas de acuerdo al puesto @ProyComunicacion int , @proyPublicacion int , @proyDifucion int , @proyDireccionVinculacion int , @PerteneceAUnDeptoAcademico nvarchar(2) , -- 'SI' = El proyecto pertenece a un depto que tiene el status de academico @SolJustificacion nvarchar(550) , @SolObservaciones nvarchar(550) , -- esta variables se utilizan para determinar si se ocultan firmas @EsAcademico nvarchar(2) , --@agus @FirmoDGA nvarchar(2) , --@agus @FirmoSGA nvarchar(2) , --@agus @CualFirma int , --@agus @CodigoDelBeneficiarioProveedor int , --oficinas @agus9 @OfiMonterrey int , @OfiNuevoLaredo int , @OfiMatamoros int , @OfiPiedrasNegras int , --oficinas @agus9 @OfiCiudadJuarez int , @OfiMexicali int , @OfiNogales int , @OficinaDondeEstaElProyecto int , @OficinaDondeEstaElBeneficiario int , -- oficina regional 1=tijuana 2=noroeste 3=noreste @agus8 @OficinaRegionalBeneficiario int , @OficinaRegionalProyecto int , @FirmaFija nvarchar(2) -- = 'SI' o 'NO' determina si el proyecto es de firmas fijas para no aplicar la regla de quitar a a la directora de difucion florise --@agus2 set @FirmaFija = 'NO' --@agus2 set @Imprimo = 'S' --/* @@ set @TipoSolicitud = 2 -- 1 = almacen 3= servicios 2=viaticos 5 compra set @CualSolicitud = 1653 --1410 no encontro viati --7251 --7239* -- set @EsIntercional = 2 --1= nacional 2= internacional --*/ set @CargoJefeBeneficiario = 'NO' SET @EsAcademico = 'NO' --@AGUS set @FirmoDGA = 'NO' set @FirmoSGA = 'NO' set @CualFirma = 0 set @SorteaFirmasPorPuesto = 'NO' set @PuestoRespProy = 1 set @PuestoJefeInmediato = 2 set @PuestojefeImediatoSuperior = 3 set @PuestoJefeDelBeneficiario = 4 set @PuestoSecretaria = 5 --5 set @PuestoPresidencia = 6 --6 set @PuestoDirectorGeneralAsuntosAcademicos = 7 set @PuestoJefeInmediatoDelSolicitante = 8 set @PuestoJefeInmediatoSuperiorDelSolicitante = 9 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior set @Puesto4 = @PuestoSecretaria set @puesto5 = 0 set @puesto6 = 0 set @CambiarFirmas = 'NO' set @MontoMaximoDeCompra = 100000 set @Academico = 2 set @activos = '5' set @CuantosFirmasCargo = 0 set @DeptoCompras = 72 set @DeptoObrasYMantenimiento = 73 set @DeptoContabilidad = 69 set @DeptoPresupuestos = 78 set @DeptoFinanzas = 56 set @DeptoRecursosHumanos = 57 set @DeptoRelacionesLaborales = 71 set @DeptoRecursosMaterialesYServicios = 58 set @DeptoTesoreria = 67 set @DeptoNominas = 70 set @DeptoServiciosGenerales = 74 set @DeptoPresidencia = 44 set @DeptoPosgrado = 15 set @DeptoNuevoLaredo = 10 set @DeptoMatamoros = 9 set @DeptoMonterrey = 11 set @DeptoNogales = 36 set @DeptoRegionalNoreste = 55 set @DeptoCiudadJuarez = 12 set @DeptoMexicali = 13 set @DeptoPiedrasNegras = 14 set @DeptoRegionalNoroeste = 54 --oficinas RegionalNorEste @agus9 set @OfiMonterrey = 23 set @OfiNuevoLaredo = 22 set @OfiMatamoros = 24 set @OfiPiedrasNegras = 26 --oficinas RegionalNoroEste @agus9 set @OfiCiudadJuarez = 12 set @OfiMexicali = 21 set @OfiNogales = 25 set @DeptoPosgrado = 15 set @DeptoServiciosEscolares = 76 set @DeptoDoctoradoSociales = 16 set @DeptoMaestriaMedioAmbiente = 17 set @DeptoMaestriaDemografia = 18 set @DeptoMaestriaDesarroloRegional = 19 set @DeptoMaestriaEconomiaAplicada = 20 set @DeptoMaestriaEconominaRegional = 21 set @DeptoMaestriaEstudiosCulturales = 104 set @DeptoMaestriaSocioCulturales = 151 -- @agus3 set @CodigoDeptoDireccionNoroeste = 54 set @CodigoDeptoDireccionNoreste = 55 set @CodigoProyDireccionNoroeste = 269 set @CodigoProyDireccionNoreste = 273 set @CodigoProyDireccionGeneralAdmon = 233 set @CodigoProyCompras = 242 set @CodigoProyDireccionMateriales = 241 set @CodigoProyDGA = 255 set @CodigoProySGA = 254 set @CodigoProySPDI = 232 set @interno = 1 set @ExternoViaticos = 2 set @ExternoServicios = 0 set @CodigoProyPresidencia = 231 set @NoHayDatos = -1 set @FormaServiciosVarios = 3 set @FormaAlmacen = 1 set @FormaCompra = 5 set @FormaViaticos = 2 set @PosgradoDireccionDocencia = 263 set @PosgradoServiciosEscolares = 268 set @PosgradoCoordinacionDocencia = 324 set @PosgradoDoctoradoSociales = 264 set @PosgradoMaestriaMedioAmbiente = 265 set @PosgradoMaestriaAdministracionPublica = 330 set @PosgradoMaestriaDemografia = 267 set @PosgradoMaestriaDesarroloRegional = 266 set @PosgradoMaestriaEconomiaAplicada = 278 set @PosgradoMaestriaEconominaRegional = 329 set @PosgradoMaestriaEstudiosCulturales = 277 set @PosgradoMaestriaPoliticasPublicas = 685 set @ProyMonterrey = 275 --noreste set @ProyNuevoLaredo = 276 --noreste set @ProyMatamoros = 274 --noreste set @ProyPiedrasNegras = 286 --noreste set @ProyComunicacion = 248 set @proyPublicacion = 247 set @proyDifucion = 246 set @proyDireccionVinculacion = 245 set @ProyJuarez = 271 --noroeste set @ProyMexicali = 270 --noroeste set @ProyNogales = 272 --noroeste set @firma1 = -1 set @firma2 = -1 set @firma3 = -1 set @firma4 = -1 set @firma5 = -1 set @firma6 = -1 set @firma7 = -1 --**************************************************************************************************************************** -- SOLICITUD DE ALMACEN --**************************************************************************************************************************** if @TipoSolicitud = @FormaAlmacen begin if @Imprimo = 'S' print 'es solicitud de almacen' SELECT --@agus0 @CodigoResponsableRegionalNoroEste = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDireccionNoroeste) , @CodigoResponsableRegionalNorEste = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDireccionNoreste) , @LmCoord = TArcDep.LmCoord , @LmCoordResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmCoord) , @LmDirAreaResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmDirArea) , @LmDirGralResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmDirGral) , @CodigoResponsableDelProyecto = ISNULL ( (select top 1 responsable from TAProyResponsablesInternos where AutorizaGasto = 'SI' and codigo = TAProy.CodigoProyecto ) , TAProy.CodigoResponsable ), @proyecto = TAProy.CodigoProyecto , @CodigoResponsablePresidencia = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyPresidencia) , /* @JefeDelResponsableDelProyecto = (SELECT TArcDep.Encargado FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep WHERE (TArcCInv.CodInv = TAProy.CodigoProyecto ) AND (TArcDep.Estado = N'A') ) , @JefeJefeDelResponsableDelProyecto = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirArea WHERE (TArcCInv.CodInv = TAProy.CodigoProyecto ) AND (TArcDep.Estado = N'A') ) , */ @PartidaDeUnArticulo = (select top 1 TArticulo.ArtCtaContable from TGtoForMatParaAlmDet inner join TArticulo on TGtoForMatParaAlmDet.GMPAArticulo = TArticulo.ArtClave where TGtoForMatParaAlmDet.GMPACod = @CualSolicitud ) , @CodigoResponsableProyCompras = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyCompras) , @CodigoResponsableProyDireccionMateriales = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDireccionMateriales) , @DeptoDondeEstaElProyecto = TArcDep.CodDep , @TipoDepartamento = TArcDep.area , @AreaControlDelProyecto = TAProy.AreaControl, @EncargadoDeptoDireccionNoroeste = (select TAProy.CodigoResponsable from TAProy INNER JOIN TArcDep ON TArcDep.LmCoord = TAProy.CodigoProyecto where TArcDep.CodDep = @CodigoDeptoDireccionNoroeste) , @EncargadoDeptoDireccionNoreste = (select TAProy.CodigoResponsable from TAProy INNER JOIN TArcDep ON TArcDep.LmCoord = TAProy.CodigoProyecto where TArcDep.CodDep = @CodigoDeptoDireccionNoreste) , @EsProyectoComplementario = ( case GMPAOrigRec when 1 then 'NO' else 'SI' end ) , @CodigoDelCargoDelResponsableDelProyecto = (select TArcCInv.cargo from TArcCInv where TArcCInv.CodInv = TAProy.CodigoResponsable) FROM TAProy INNER JOIN TGtoForMatParaAlmMtro ON TAProy.CodigoProyecto = TGtoForMatParaAlmMtro.GMPAProy INNER JOIN TArcDep ON TAProy.CoordinacionArea = TArcDep.Coordinacion WHERE (TGtoForMatParaAlmMtro.GMPACod = @CualSolicitud) AND (TArcDep.Estado = N'A') set @OficinaDondeEstaElBeneficiario = (select TArcCInv.oficina from TArcCInv where TArcCInv.CodInv = @CodigoResponsableDelProyecto) --@agus0 -- si es de posgrado el proyecto no aplico esta regla de checar la tabla de firmas espesificas -- set @TemProyecto = @proyecto if @proyecto not in ( @PosgradoDireccionDocencia , @PosgradoServiciosEscolares , @PosgradoCoordinacionDocencia , @PosgradoDoctoradoSociales , @PosgradoMaestriaMedioAmbiente , @PosgradoMaestriaAdministracionPublica , @PosgradoMaestriaDemografia , @PosgradoMaestriaDesarroloRegional , @PosgradoMaestriaEconomiaAplicada , @PosgradoMaestriaEconominaRegional , @PosgradoMaestriaEstudiosCulturales , @PosgradoMaestriaPoliticasPublicas ) begin -- primero checo si la solicitud es de algun proyecto donde las firma van a ser fijas select @ProyectoEncontrado = TFirmasProyectos.proyecto ,@Firma1 = TFirmasProyectos.firma1 , @Firma2 = TFirmasProyectos.Firma2 , @Firma3 = TFirmasProyectos.Firma3 From TGtoForMatParaAlmMtro INNER JOIN TFirmasProyectos ON TFirmasProyectos.Proyecto = TGtoForMatParaAlmMtro.GMPAProy WHERE (TGtoForMatParaAlmMtro.GMPACod = @CualSolicitud) if (@CodigoDelCargoDelResponsableDelProyecto in (51,50,54,55,56,59,60,61,62,69,70,71)) set @EsDirectorElResponsableDelProyecto = 'SI' else set @EsDirectorElResponsableDelProyecto = 'NO' if @ProyectoEncontrado Is not null begin set @FirmaFija = 'SI' --@agus2 Set @regla = 27 if @Imprimo = 'S' print 'caso 27' set @CuantosFirmasCargo = 3 goto TERMINA end else begin Set @Regla = 28 -- set @Proyecto = @TemProyecto end end end --**************************************************************************************************************************** -- SOLICITUD DE COMPRA --**************************************************************************************************************************** if @TipoSolicitud = @FormaCompra begin if @Imprimo = 'S' print 'es solicitud de compra' -- primero checo si la solicitud es de algun proyecto donde las firma van a ser fijas select @proyecto = TFirmasProyectos.proyecto ,@Firma1 = TFirmasProyectos.firma1 , @Firma2 = TFirmasProyectos.Firma2 , @Firma3 = TFirmasProyectos.Firma3 From TGtoForMatPorAlmMtro INNER JOIN TFirmasProyectos ON TFirmasProyectos.Proyecto = TGtoForMatPorAlmMtro.GMPAProy WHERE (TGtoForMatPorAlmMtro.GMPACod = @CualSolicitud) if @proyecto Is not null begin set @FirmaFija = 'SI' --@agus2 Set @regla = 0000 if @Imprimo = 'S' print 'caso 26' set @CuantosFirmasCargo = 3 GOTO TERMINA end SELECT @LmCoord = TArcDep.LmCoord , @LmCoordResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmCoord) , @LmDirAreaResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmDirArea) , @LmDirGralResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmDirGral) , -- @CodigoResponsableDelProyecto = TAProy.CodigoResponsable , @CodigoResponsableDelProyecto = ISNULL ( (select top 1 responsable from TAProyResponsablesInternos where AutorizaGasto = 'SI' and codigo = TAProy.CodigoProyecto ) , TAProy.CodigoResponsable ), @proyecto = TAProy.CodigoProyecto , @CodigoResponsableProyCompras = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyCompras) , @CodigoResponsableProyDireccionMateriales = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDireccionMateriales) , @CodigoResponsableProyDireccionGeneralAdmon = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDireccionGeneralAdmon) , @ValorDeLaCompra = (SELECT SUM(((FactorIva / 100) + 1) * GMPACtoUnit) FROM TGtoForMatPorAlmDet WHERE (GMPACod = @CualSolicitud) ) FROM TAProy INNER JOIN TGtoForMatPorAlmMtro ON TAProy.CodigoProyecto = TGtoForMatPorAlmMtro.GMPAProy INNER JOIN TArcDep ON TAProy.CoordinacionArea = TArcDep.Coordinacion WHERE (TGtoForMatPorAlmMtro.GMPACod = @CualSolicitud) AND (TArcDep.Estado = N'A') end --****************************************************************************************************************************** -- SOLICITUD DE SERVICIOS (CARGO DATOS) --****************************************************************************************************************************** /* EN LA SOLICITUD DE SERVICIOS VARIOS EL CAMPO TSolDePagoMto.SolProvOEmp PUEDE SER 1 = PERSONAL DEL COLEGIO Y 0 = EXTERNOS O PROVEEDORES PERO COMO EN VIATICOS EL PERSONAL INTERNO ESTA REPRESENTADO POR EL NUMERO 1 NO HAY PROBLEMA. SI HAY QUE CONSIDERAR EL CODIGO PARA CUANDO EL BENEFICIARIO ES EXTERNO POR QUE EN LA SOLICITUD DE SERVICIOS SE REPRESENTA CON EL CERO Y EN LA SOLICITUD DE VIATICOS CON EL 2 */ if @TipoSolicitud = @FormaServiciosVarios begin if @Imprimo = 'S' print 'es solicitud de servicios (CARGO DATOS)' /* ya no funciona porque ahora se van ha integrar en el programa por lo que hay que QUITAR LA TABLA "TFirmasTipoGasto" -- primero checo si la solicitud es de algun tipo gasto donde las firma van a ser fijas declare @TipoGasto int */ SELECT @SolJustificacion = SolJustificacion , @SolObservaciones = SolObservaciones , @TipoDeFinanciamiento = (select top 1 TaProyComplemento.GrupoFinan from TaProyComplemento where TaProyComplemento.CodigoProyecto = TAProy.CodigoProyecto ) , @EsGastoInstitucional = EsGastoInstitucional , @1JefeEncargadoDelProyectoSiEsJefeDeUnDepartamento = (select proy2.CodigoResponsable from TAProy Proy2 where proy2.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = TAproy.CodigoResponsable ) AND (TArcDep.Estado = N'A') ) ) , @2JefeJefeEncargadoDelProyectoSiEsJefeDeUnDepartamento = (select proy2.CodigoResponsable from TAProy Proy2 where proy2.CodigoProyecto = ( select top 1TArcDep.LmDirGral -- el Top 1 es por que puede haber mas de un departamento donde es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = TAproy.CodigoResponsable ) AND (TArcDep.Estado = N'A') ) ) , @TipoDeGasto = TSolDePagoMto.SolTipoGasto , @AreaControlDelProyecto = TAProy.AreaControl , @CodigoDelBeneficiario = (case TSolDePagoMto.SolProvOEmp when 1 then TSolDePagoMto.SolCodBeneficiario else 0 end) , @CodigoDelBeneficiarioProveedor = (case TSolDePagoMto.SolProvOEmp when 1 then 0 else TSolDePagoMto.SolCodBeneficiario end) , @JefeDelSolicitante = (SELECT TArcDep.Encargado FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep WHERE (TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario ) ) , @CodigoDelCargoDelSolicitante = (select TArcCInv.cargo from TArcCInv where TArcCInv.CodInv = (SELECT CodInv FROM TArcCInv WHERE TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario )) , @CodigoSolicitante = (SELECT CodInv FROM TArcCInv WHERE TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario ) , @JefeJefeDelSolicitante = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirArea WHERE (TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario ) ) , @JefeJefeJefeDelSolicitante = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirGral WHERE (TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario ) ) , @DeptoDondeEstaElSolicitante = (SELECT TArcCInv.DepInv FROM TArcCInv WHERE (TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario ) ) , @LmCoord = TArcDep.LmCoord , @EncargadoDeptoDireccionNoroeste = (select TAProy.CodigoResponsable from TAProy INNER JOIN TArcDep ON TArcDep.LmCoord = TAProy.CodigoProyecto where TArcDep.CodDep = @CodigoDeptoDireccionNoroeste) , @EncargadoDeptoDireccionNoreste = (select TAProy.CodigoResponsable from TAProy INNER JOIN TArcDep ON TArcDep.LmCoord = TAProy.CodigoProyecto where TArcDep.CodDep = @CodigoDeptoDireccionNoreste) , @TipoDepartamento = TArcDep.area , @CodigoEncargadoProySPDI = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProySPDI) , @LmCoordResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmCoord) , @LmDirAreaResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmDirArea) , @LmDirGralResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmDirGral) , -- @CodigoResponsableDelProyecto = TAProy.CodigoResponsable , @CodigoResponsableDelProyecto = ISNULL ( (select top 1 responsable from TAProyResponsablesInternos where AutorizaGasto = 'SI' and codigo = TAProy.CodigoProyecto ) , TAProy.CodigoResponsable ), @proyecto = TAProy.CodigoProyecto , @JefeDelResponsableDelProyectoCuandoEsProyecto = (SELECT TArcDep.Encargado FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep WHERE (TArcCInv.CodInv = TAProy.CodigoResponsable ) AND (TArcDep.Estado = N'A') ) , @JefeJefeDelResponsableDelProyectoCuandoEsProyecto = (SELECT proy2.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy Proy2 ON proy2.CodigoProyecto = TArcDep.LmDirArea WHERE (TArcCInv.CodInv = TAProy.CodigoResponsable ) AND (TArcDep.Estado = N'A') ) , @JefeDelResponsableDelProyectoCuandoEsDepartamento = (SELECT proy2.CodigoResponsable FROM TAProy Proy2 INNER JOIN TArcDep ON proy2.CodigoProyecto = TArcDep.LmDirArea WHERE (TArcDep.Coordinacion = TAProy.coordinacionArea ) AND (TArcDep.Estado = N'A') ) , @JefeJefeDelResponsableDelProyectoCuandoEsDepartamento = (SELECT proy2.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy Proy2 ON proy2.CodigoProyecto = TArcDep.LmDirGral WHERE (TArcCInv.CodInv = TAProy.CodigoResponsable ) AND (TArcDep.Estado = N'A') ) , @DeptoDondeEstaElProyecto = TArcDep.CodDep , @DeptoDondeEstaElBeneficiario = (select TArcCInv.DepInv from TArcCInv where (TArcCInv.CodInv = TSolDePagoMto.SolCodBeneficiario ) and (TSolDePagoMto.SolProvOEmp = @interno) ) , @JefeDelBeneficiario = (SELECT TArcDep.Encargado FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep WHERE (TArcCInv.CodInv = TSolDePagoMto.SolCodBeneficiario ) AND (TArcDep.Estado = N'A') and (TSolDePagoMto.SolProvOEmp = @interno) ) , @JefeJefeDelBeneficiario = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirArea WHERE (TArcCInv.CodInv = TSolDePagoMto.SolCodBeneficiario ) AND (TArcDep.Estado = N'A') and (TSolDePagoMto.SolProvOEmp = @interno) ) , @JefeJefeJefeDelBeneficiario = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirGral WHERE (TArcCInv.CodInv = TSolDePagoMto.SolCodBeneficiario ) AND (TArcDep.Estado = N'A') and (TSolDePagoMto.SolProvOEmp = @interno) ) , @CargoDelInvestigador = (select TArcCInv.cargo from TArcCInv where (TArcCInv.CodInv = TSolDePagoMto.SolCodBeneficiario) and (TSolDePagoMto.SolProvOEmp = @interno) ) , @CodigoDelCargoDelResponsableDelProyecto = (select TArcCInv.cargo from TArcCInv where TArcCInv.CodInv = TAProy.CodigoResponsable) , @TipoInvestigador = (select TArcCInv.tipo from TArcCInv where (TArcCInv.CodInv = TSolDePagoMto.SolCodBeneficiario) and (TSolDePagoMto.SolProvOEmp = @interno) ) , @TipoBeneficiario = TSolDePagoMto.SolProvOEmp , @CodigoBeneficiario = TSolDePagoMto.SolCodBeneficiario , @CodigoResponsableRegionalNoroEste = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDireccionNoroeste) , @CodigoResponsableRegionalNorEste = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDireccionNoreste) , @CodigoResponsablePresidencia = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyPresidencia) , @CodigoEncargadoDGA = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDGA ) , @CodigoEncargadoSGA = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProySGA) FROM TAProy INNER JOIN TSolDePagoMto ON TAProy.CodigoProyecto = TSolDePagoMto.SolCodProyecto INNER JOIN TArcDep ON TAProy.CoordinacionArea = TArcDep.Coordinacion WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud) AND (TArcDep.Estado = N'A') print @@ROWCOUNT if @Imprimo = 'S' begin print '@CodigoBeneficiario de servicios varios' print @CodigoBeneficiario end -- esta desactivo el responsable del proyecto if 'D' = (select TArcCInv.estado from TArcCInv where TArcCInv.CodInv = @CodigoResponsableDelProyecto) set @CodigoResponsableDelProyecto = @JefeDelResponsableDelProyectoCuandoEsDepartamento if @Imprimo = 'S' begin print '@CodigoBeneficiario de servicios varios' print @CodigoBeneficiario end if @TipoDeGasto = 124 -- pago de indemizaciones 13 de mar 07 correo de carmelita ; 8jul07 sergio indico que quitara a alejandra y pusiera a alberto hernandez begin -- 10 ene 08 sergio me indico qeu deben firmar aida , alejandra y alberto hernandez Set @regla = 1000 if @Imprimo = 'S' print 'caso 1000' set @Firma1 = 5539 -- Ochoa Martínez Aída Araceli set @Firma2 = 591 -- eduardo rivera 588 po 591 alejandra el 1 oct 07 set @Firma3 = 4 -- alberto hernandez set @puesto1 = @PuestoJefeInmediato set @puesto2 = @PuestojefeImediatoSuperior set @puesto3 = @PuestoPresidencia set @CuantosFirmasCargo = 3 GOTO TERMINA end -- si el beneficiario es un director general regional if @DeptoDondeEstaElProyecto in ( @DeptoMonterrey , @DeptoNuevoLaredo , @DeptoMatamoros , @DeptoPiedrasNegras , @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste , @DeptoRegionalNoreste ) set @ElProyectoEsDeUnaRegional = 'SI' else set @ElProyectoEsDeUnaRegional = 'NO' --- acuerdate agustin que tambien que carga la varible @ElProyectoEsDeUnaRegional mas abajo if (( @CodigoBeneficiario = @EncargadoDeptoDireccionNoroeste ) or ( @CodigoBeneficiario = @EncargadoDeptoDireccionNoreste )) and (@ElProyectoEsDeUnaRegional = 'SI') and not ( @DeptoDondeEstaElSolicitante in ( @DeptoCompras , @DeptoObrasYMantenimiento , @DeptoContabilidad , @DeptoPresupuestos , @DeptoFinanzas , @DeptoRecursosHumanos , @DeptoRelacionesLaborales , @DeptoRecursosMaterialesYServicios , @DeptoTesoreria , @DeptoNominas , @DeptoServiciosGenerales ) ) begin Set @regla = 52 if @Imprimo = 'S' print 'caso 52' set @Firma1 = @CodigoBeneficiario set @Firma2 = @CodigoEncargadoSGA if @CodigoSolicitante = @CodigoBeneficiario set @Firma3 = @CodigoResponsablePresidencia else set @firma3 = @firma2 set @CuantosFirmasCargo = 3 -- esta reclasificacion de la firma es porque es un gasto administrativo y no deberia de firmar carlos de la parra del area academica -- sino alberto hernandez porque es del area administrativa 10 jul 07 if (@CodigoDelBeneficiario in (@CodigoResponsableRegionalNoroEste ,@CodigoResponsableRegionalNorEste ) ) and ( @TipoDeGasto = 85 ) begin set @Firma2 = 4 -- alberto hernandez set @Firma3 = 4 -- alberto hernandez end GOTO TERMINA end -- primero checo si el proyecto es la SGA y el tipo de gasto = 75 = caja chica de la SGA if @TipoDEGasto = 75 and @proyecto = @CodigoProySga begin Set @regla = 50 if @Imprimo = 'S' print 'caso 50' set @Firma1 = @CodigoEncargadoSGA set @Firma2 = @CodigoEncargadoSGA set @Firma3 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 3 GOTO TERMINA end -- checo primero checo si hay un Tipo de gasto especial if @TipoDEGasto in ( 37, 96 ,102 ,107 ) begin Set @regla = 49 if @Imprimo = 'S' print 'caso 49' -------------------------------------------------------------------------------------- -- EL SOLICITANTE TIENE ALGUN CARGO EN ALGUN DEPARTAMENTO if ( select top 1 TArcDep.LmDirArea from TArcDep where (TArcDep.Encargado = @CodigoSolicitante ) AND (TArcDep.Estado = N'A') ) is not null begin set @JefeDelSolicitante = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @CodigoSolicitante ) AND (TArcDep.Estado = N'A') ) ) end else set @ElSolicitanteEsEncargadoDeUnDepartamento = 'NO' -------------------------------------------------------------------------------------- if @ElSolicitanteEsEncargadoDeUnDepartamento = 'SI' set @firma1 = @CodigoSolicitante else set @Firma1 = @JefeDelSolicitante if @DeptoDondeEstaElSolicitante in ( @DeptoRecursosHumanos , @DeptoRelacionesLaborales , @DeptoNominas ) and @TipoDEGasto = 37 begin set @Firma2 = 5539 -- 591 alejandra marquez SE CAMBIO POR 5539 = OCHOA MARTINEZ AIDA POR CAMBIO DE DIRECCION DE HUMANOS set @Firma3 = 5539 -- 591 alejandra marquez SE CAMBIO POR 5539 = OCHOA MARTINEZ AIDA POR CAMBIO DE DIRECCION DE HUMANOS set @CuantosFirmasCargo = 3 end else begin set @Firma2 = 590 --ERICK set @Firma3 = 590 -- ERICK set @CuantosFirmasCargo = 3 end GOTO TERMINA end -- primero checo si la solicitud es de algun proyecto donde las firma van a ser fijas select @proyecto = TFirmasProyectos.proyecto ,@Firma1 = TFirmasProyectos.firma1 , @Firma2 = TFirmasProyectos.Firma2 , @Firma3 = TFirmasProyectos.Firma3 From TSolDePagoMto INNER JOIN TFirmasProyectos ON TFirmasProyectos.Proyecto = TSolDePagoMto.SolCodProyecto WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud) -- if @proyecto Is not null if @@ROWCOUNT = 1 begin if ( @DeptoDondeEstaElSolicitante in ( @DeptoCompras , @DeptoObrasYMantenimiento , @DeptoContabilidad , @DeptoPresupuestos , @DeptoFinanzas , @DeptoRecursosHumanos , @DeptoRelacionesLaborales , @DeptoRecursosMaterialesYServicios , @DeptoTesoreria , @DeptoNominas , @DeptoServiciosGenerales ) ) AND ( @Proyecto = 263) -- Direccion General de docencia begin if @Imprimo = 'S' print 'pase por ignorar la regla de proyectos fijos' end else begin set @FirmaFija = 'SI' --@agus2 Set @regla = 38 if @Imprimo = 'S' print 'caso 38' set @CuantosFirmasCargo = 3 GOTO TERMINA end end ----------------------- ---------------------- end --**************************************************************************************************************************** -- SOLICITUD DE VIATICOS Y PASAJES (CARGO DATOS) --**************************************************************************************************************************** if @TipoSolicitud = @FormaViaticos begin if @Imprimo = 'S' print 'es solicitud de viaticos y pasajes CARGO DATOS' -- primero checo si la solicitud es de algun proyecto donde las firma van a ser fijas select @proyecto = TFirmasProyectos.proyecto ,@Firma1 = TFirmasProyectos.firma1 , @Firma2 = TFirmasProyectos.Firma2 , @Firma3 = TFirmasProyectos.Firma3 From TSolViaticosPasTras INNER JOIN TFirmasProyectos ON TFirmasProyectos.Proyecto = TSolViaticosPasTras.Proyecto WHERE (TSolViaticosPasTras.CodigoDcto = @CualSolicitud) if @proyecto Is not null begin set @FirmaFija = 'SI' --@agus2 if @proyecto = 263 -- proy Dirección General de Docencia begin select @TipoBeneficiario = TSolViaticosPasTras.PersonalIntExt , @CargoDelInvestigador = (select TArcCInv.cargo from TArcCInv where (TArcCInv.CodInv = TSolViaticosPasTras.CodigoInv) and (TSolViaticosPasTras.PersonalIntExt = @interno) ) From TSolViaticosPasTras WHERE (TSolViaticosPasTras.CodigoDcto = @CualSolicitud) end Set @regla = 25 if @Imprimo = 'S' print 'caso 25' if (@EsIntercional = 2) or ( ( @proyecto = 263) and ( @TipoBeneficiario = @Interno ) and ( @CargoDelInvestigador in (51,50,54,55,56,59,60,61,62,69,70,71)) -- = es @EsDirectorElBeneficiario = 'SI' ) begin -- reponsable de presidencia set @Firma4 = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyPresidencia) set @CuantosFirmasCargo = 4 set @Puesto4 = @PuestoPresidencia end else set @CuantosFirmasCargo = 3 GOTO TERMINA end SELECT @TipoDeFinanciamiento = (select top 1 TaProyComplemento.GrupoFinan from TaProyComplemento where TaProyComplemento.CodigoProyecto = TAProy.CodigoProyecto ) , @AreaControlDelProyecto = TAProy.AreaControl , @CodigoDelBeneficiario = ( case TSolViaticosPasTras.PersonalIntExt when 1 then TSolViaticosPasTras.CodigoInv else 0 end) , @CodigoSolicitante = (SELECT CodInv FROM TArcCInv WHERE (TArcCInv.Usuario = TSolViaticosPasTras.PostRegistroUsuario )) , @JefeDelSolicitante = (SELECT TArcDep.Encargado FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep WHERE (TArcCInv.Usuario = TSolViaticosPasTras.PostRegistroUsuario ) ) , @JefeJefeDelSolicitante = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirArea WHERE (TArcCInv.Usuario = TSolViaticosPasTras.PostRegistroUsuario ) ) , @JefeJefeJefeDelSolicitante = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirGral WHERE (TArcCInv.Usuario = TSolViaticosPasTras.PostRegistroUsuario ) ) , @DeptoDondeEstaElSolicitante = (SELECT TArcCInv.DepInv FROM TArcCInv WHERE (TArcCInv.Usuario = TSolViaticosPasTras.PostRegistroUsuario ) ) , @CodigoDelCargoDelSolicitante = (select TArcCInv.cargo from TArcCInv where TArcCInv.CodInv = (SELECT CodInv FROM TArcCInv WHERE TArcCInv.Usuario = TSolViaticosPasTras.PostRegistroUsuario )) , @EncargadoDeptoDireccionNoroeste = (select TAProy.CodigoResponsable from TAProy INNER JOIN TArcDep ON TArcDep.LmCoord = TAProy.CodigoProyecto where TArcDep.CodDep = @CodigoDeptoDireccionNoroeste) , @EncargadoDeptoDireccionNoreste = (select TAProy.CodigoResponsable from TAProy INNER JOIN TArcDep ON TArcDep.LmCoord = TAProy.CodigoProyecto where TArcDep.CodDep = @CodigoDeptoDireccionNoreste) , @LmCoord = TArcDep.LmCoord , @CodigoEncargadoProySPDI = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProySPDI) , @TipoDepartamento = TArcDep.area , @LmCoordResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmCoord) , @LmDirAreaResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmDirArea) , @LmDirGralResponsable = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = TArcDep.LmDirGral) , @CoordinacionArea = TAProy.CoordinacionArea , -- @CodigoResponsableDelProyecto = TAProy.CodigoResponsable , @CodigoResponsableDelProyecto = ISNULL ( (select top 1 responsable from TAProyResponsablesInternos where AutorizaGasto = 'SI' and codigo = TAProy.CodigoProyecto ) , TAProy.CodigoResponsable ), @proyecto = TAProy.CodigoProyecto , @JefeDelResponsableDelProyectoCuandoEsProyecto = (SELECT TArcDep.Encargado FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep WHERE (TArcCInv.CodInv = TAProy.CodigoResponsable ) AND (TArcDep.Estado = N'A') ) , @JefeJefeDelResponsableDelProyectoCuandoEsProyecto = (SELECT proy2.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy proy2 ON proy2.CodigoProyecto = TArcDep.LmDirArea WHERE (TArcCInv.CodInv = TAProy.CodigoResponsable ) AND (TArcDep.Estado = N'A') ) , @JefeDelResponsableDelProyectoCuandoEsDepartamento = (SELECT proy2.CodigoResponsable FROM TAProy Proy2 INNER JOIN TArcDep ON proy2.CodigoProyecto = TArcDep.LmDirArea WHERE (TArcDep.Coordinacion = TAProy.coordinacionArea ) AND (TArcDep.Estado = N'A') ) , @JefeJefeDelResponsableDelProyectoCuandoEsDepartamento = (SELECT proy2.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy proy2 ON proy2.CodigoProyecto = TArcDep.LmDirGral WHERE (TArcCInv.CodInv = TAProy.CodigoResponsable ) AND (TArcDep.Estado = N'A') ) , @DeptoDondeEstaElProyecto = TArcDep.CodDep , @DeptoDondeEstaElBeneficiario = (select TArcCInv.DepInv from TArcCInv where TArcCInv.CodInv = TSolViaticosPasTras.CodigoInv) , @JefeDelBeneficiario = (SELECT TArcDep.Encargado FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep WHERE (TArcCInv.CodInv = TSolViaticosPasTras.CodigoInv ) AND (TArcDep.Estado = N'A') ) , @JefeJefeDelBeneficiario = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirArea WHERE (TArcCInv.CodInv = TSolViaticosPasTras.CodigoInv ) AND (TArcDep.Estado = N'A') ) , @JefeJefeJefeDelBeneficiario = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirGral WHERE (TArcCInv.CodInv = TSolViaticosPasTras.CodigoInv) AND (TArcDep.Estado = N'A') and (TSolViaticosPasTras.PersonalIntExt = @interno) ) , @CargoDelInvestigador = (select TArcCInv.cargo from TArcCInv where (TArcCInv.CodInv = TSolViaticosPasTras.CodigoInv) and (TSolViaticosPasTras.PersonalIntExt = @interno) ) , @TipoInvestigador = (select TArcCInv.tipo from TArcCInv where (TArcCInv.CodInv = TSolViaticosPasTras.CodigoInv) and (TSolViaticosPasTras.PersonalIntExt = @interno) ) , @TipoBeneficiario = TSolViaticosPasTras.PersonalIntExt , @CodigoBeneficiario = TSolViaticosPasTras.CodigoInv , @CodigoDelCargoDelResponsableDelProyecto = (select TArcCInv.cargo from TArcCInv where TArcCInv.CodInv = TAProy.CodigoResponsable) , @CodigoResponsableRegionalNoroEste = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDireccionNoroeste) , @CodigoResponsableRegionalNorEste = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDireccionNoreste) , @CodigoResponsablePresidencia = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyPresidencia) , @CodigoEncargadoDGA = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProyDGA ) , @CodigoEncargadoSGA = (select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = @CodigoProySGA) , -- jefes por el cargo @1JefeEncargadoDelProyectoSiEsJefeDeUnDepartamento = (select proy2.CodigoResponsable from TAProy Proy2 where proy2.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = TAproy.CodigoResponsable ) AND (TArcDep.Estado = N'A') ) ) , @2JefeJefeEncargadoDelProyectoSiEsJefeDeUnDepartamento = (select proy2.CodigoResponsable from TAProy Proy2 where proy2.CodigoProyecto = ( select top 1TArcDep.LmDirGral -- el Top 1 es por que puede haber mas de un departamento donde es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = TAproy.CodigoResponsable ) AND (TArcDep.Estado = N'A') ) ) , @OficinaDondeEstaElProyecto = TArcDep.oficina -- @agus9 FROM TAProy INNER JOIN TSolViaticosPasTras ON TAProy.CodigoProyecto = TSolViaticosPasTras.proyecto INNER JOIN TArcDep ON TAProy.CoordinacionArea = TArcDep.Coordinacion WHERE (TSolViaticosPasTras.CodigoDcto = @CualSolicitud) AND (TArcDep.Estado = N'A') end if @Imprimo = 'S' begin print '@JefeDelBeneficiario depues del SELECT ' print @JefeDelBeneficiario end if @DeptoDondeEstaElProyecto in ( @DeptoMonterrey , @DeptoNuevoLaredo , @DeptoMatamoros , @DeptoPiedrasNegras , @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste , @DeptoRegionalNoreste ) set @ElProyectoEsDeUnaRegional = 'SI' else set @ElProyectoEsDeUnaRegional = 'NO' if (@TipoSolicitud = @FormaViaticos ) OR (@TipoSolicitud = @FormaServiciosVarios ) begin if @proyecto = @LmCoord -- quiere decir que es un proyecto departamental begin set @EsProyectoAcademico = 'NO' Set @EsProyectoAdministrativo = 'NO' If @TipoDepartamento in ('Departamentos Académicos' , 'Departamentos Academicos' ) begin set @EsDepartamentoAcademico = 'SI' set @EsDepartamentoAdministrativo = 'NO' end else begin set @EsDepartamentoAcademico = 'NO' set @EsDepartamentoAdministrativo = 'SI' end end else begin set @EsDepartamentoAdministrativo = 'NO' set @EsDepartamentoAcademico = 'NO' If @ElProyectoEsDeUnaRegional='SI' begin set @EsDepartamentoAdministrativo = 'NO' set @EsDepartamentoAcademico = 'SI' end if @AreaControlDelProyecto = @Academico begin set @EsProyectoAcademico = 'SI' Set @EsProyectoAdministrativo = 'NO' end else begin set @EsProyectoAcademico = 'NO' Set @EsProyectoAdministrativo = 'SI' end end if (PATINDEX('%Acad%', @TipoDepartamento ) <> 0 ) or (@TipoDepartamento = 'Programas' ) Set @PerteneceAUnDeptoAcademico = 'SI' else Set @PerteneceAUnDeptoAcademico = 'NO' -- if @TipoDepartamento = 'Departamentos Académicos' Set @PerteneceAUnDeptoAcademico = 'SI' else Set @PerteneceAUnDeptoAcademico = 'NO' if (@TipoBeneficiario = @Interno) and (@CargoDelInvestigador in (66,65,62,61,56,55,54,51,50,46,47,48,59,69,70,71)) and (@TipoInvestigador = 1) set @EsInvestigador = 'SI' else set @EsInvestigador = 'NO' if (@TipoBeneficiario = @Interno) and (@CargoDelInvestigador in (51,50,54,55,56,59,60,61,62,69,70,71)) set @EsDirectorElBeneficiario = 'SI' else set @EsDirectorElBeneficiario = 'NO' set @TipoInvestigadorElReponsableDelProyecto = (select TArcCInv.tipo from TArcCInv where (TArcCInv.CodInv = @CodigoResponsableDelProyecto) ) if (@CodigoDelCargoDelResponsableDelProyecto in (66,65,62,61,56,55,54,51,50,46,47,48,59,69,70,71)) and (@TipoInvestigadorElReponsableDelProyecto = 1) set @EsInvestigadorElReponsableDelProyecto = 'SI' else set @EsInvestigadorElReponsableDelProyecto = 'NO' if (@CodigoDelCargoDelResponsableDelProyecto in (51,50,54,55,56,59,60,61,62,69,70,71)) set @EsDirectorElResponsableDelProyecto = 'SI' else set @EsDirectorElResponsableDelProyecto = 'NO' if (@CodigoDelCargoDelSolicitante in (51,50,54,55,56,59,60,61,62,69,70,71)) set @EsDirectorElSolicitante = 'SI' else set @EsDirectorElSolicitante = 'NO' -- EL beneficiario TIENE ALGUN CARGO EN ALGUN DEPARTAMENTO @2 if ( select top 1 TArcDep.LmDirArea from TArcDep where (TArcDep.Encargado = @CodigoBeneficiario ) AND (TArcDep.Estado = N'A') ) is not null begin set @JefeDelBeneficiario = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @CodigoDelBeneficiario ) AND (TArcDep.Estado = N'A') ) ) set @JefeJefeDelBeneficiario = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirGral -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @CodigoDelBeneficiario ) AND (TArcDep.Estado = N'A') ) ) set @ElBeneficiarioEsEncargadoDeUnDepartamento = 'SI' set @DeptoDondeEstaElBeneficiario = ( select top 1 TArcDep.CodDep from TArcDep where (TArcDep.Encargado = @CodigoBeneficiario ) AND (TArcDep.Estado = N'A') ) end else set @ElBeneficiarioEsEncargadoDeUnDepartamento = 'NO' if @DeptoDondeEstaElBeneficiario in ( @DeptoMonterrey , @DeptoNuevoLaredo , @DeptoMatamoros , @DeptoPiedrasNegras , @DeptoRegionalNoreste ) set @JefeDelBeneficiario = @CodigoResponsableRegionalNorEste if @DeptoDondeEstaElBeneficiario in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste) set @JefeDelBeneficiario = @CodigoResponsableRegionalNoroEste if @CodigoDelBeneficiario in (@CodigoResponsableRegionalNoroEste ,@CodigoResponsableRegionalNorEste ) set @JefeDelBeneficiario = @CodigoEncargadoSGA -- EL SOLICITANTE TIENE ALGUN CARGO EN ALGUN DEPARTAMENTO if ( select top 1 TArcDep.LmDirArea from TArcDep where (TArcDep.Encargado = @CodigoSolicitante ) AND (TArcDep.Estado = N'A') ) is not null begin set @JefeDelSolicitante = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @CodigoSolicitante ) AND (TArcDep.Estado = N'A') ) ) set @JefeJefeDelSolicitante = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirGral -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @CodigoSolicitante ) AND (TArcDep.Estado = N'A') ) ) set @ElSolicitanteEsEncargadoDeUnDepartamento = 'SI' end else set @ElSolicitanteEsEncargadoDeUnDepartamento = 'NO' if @DeptoDondeEstaElProyecto in ( @DeptoMonterrey , @DeptoNuevoLaredo , @DeptoMatamoros , @DeptoPiedrasNegras , @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste , @DeptoRegionalNoreste ) set @ElProyectoEsDeUnaRegional = 'SI' else set @ElProyectoEsDeUnaRegional = 'NO' if @TipoDeFinanciamiento = 1 begin set @ProyFiscal = 'SI' set @ProyComplementario = 'NO' end else begin set @ProyComplementario = 'SI' set @ProyFiscal = 'NO' end set @firma1 = -1 set @firma2 = -1 set @firma3 = -1 set @firma4 = -1 SET @firma5 = -1 END if @Imprimo = 'S' begin print '@JefeDelBeneficiario ' print @JefeDelBeneficiario end --**************************************************************************************************************************** --**************************************************************************************************************************** --**************************************************************************************************************************** --**************************************************************************************************************************** -- SOLICITUD DE VIATICOS Y PASAJES (CARGO F I R M A S) ** NUEVOS CAMBIOS *** --**************************************************************************************************************************** if (@TipoSolicitud = @FormaViaticos ) begin if @Imprimo = 'S' print 'es solicitud de visticos y pasajes ' -- dijo sergio que metiera esta regla 1 de feb 2005 if @proyecto = 282 -- mexico (oficina de representacion begin if @Imprimo = 'S' print 'caso 323A' set @CodigoResponsabledelProyecto = 911 -- 948 =alejandro lomeli se cambio a 911=abundio 10nov08 set @LmDirAreaResponsable = 591 -- eduardo rivera = 588 por alejandra = 591 1 oct 07 set @LmDirGralResponsable = 594 -- el 23 abr07 se cambio 594 molina por alberto hernandez 4 set @CodigoSolicitante = 911 -- 948 =alejandro lomeli se cambio a 911=abundio 10nov08 end --*************************************************************** --*** 2.El proyecto pertenece a algun departamento de academico *** --*************************************************************** iF (( @EsDepartamentoAcademico = 'SI') OR ( ( @PerteneceAUnDeptoAcademico = 'SI' ) ) ) and ( @ElProyectoEsDeUnaRegional = 'NO' ) and -- si el proyecto NO es de posgrado ( @DeptoDondeEstaElProyecto not in ( @DeptoPosgrado , @DeptoServiciosEscolares , @DeptoDoctoradoSociales , @DeptoMaestriaMedioAmbiente , @DeptoMaestriaDemografia , @DeptoMaestriaDesarroloRegional , @DeptoMaestriaEconomiaAplicada , @DeptoMaestriaEstudiosCulturales , @DeptoMaestriaSocioCulturales --@agus3 ) ) begin SET @EsAcademico = 'SI' set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior set @CuantosFirmasCargo = 3 --******************************************** --*** Beneficiario externo ****************** --******************************************** if @TipoBeneficiario = @ExternoViaticos begin ExecutaCodigoBeneficiarioExterno: -- acuerdate que comparte el mismo codigo el beneficiario interno y externo por eso esta liga if (@EsDepartamentoAcademico = 'SI') or (@EsDepartamentoAdministrativo = 'SI') begin set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @LmDirAreaResponsable set @firma3 = @LmDirGralResponsable Set @regla = 300 end if (@EsProyectoAcademico = 'SI') or (@EsProyectoAdministrativo = 'SI') begin if @CodigoResponsableDelProyecto = @LmCoordResponsable -- encargado del proyecto = resposable del depto dende esta el proy. begin set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @LmDirAreaResponsable set @firma3 = @LmDirGralResponsable Set @regla = 302 end if @CodigoResponsableDelProyecto <> @LmCoordResponsable -- encargado del proyecto = resposable del depto dende esta el proy. begin set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @LmCoordResponsable set @firma3 = @LmDirAreaResponsable Set @regla = 303 if @Firma1 = @firma2 begin set @firma2 = @LmDirAreaResponsable set @firma3 = @LmDirGralResponsable Set @regla = 304 end if @Firma1 = @firma3 begin set @firma3 = @LmDirGralResponsable Set @regla = 305 end end end if @TipoBeneficiario = @interno GOTO ContinuaBeneficiarioInterno end --******************************************** --*** Beneficiario externo ****************** --******************************************** if @Imprimo = 'S' begin print 'pase por regla' print @regla End if @TipoBeneficiario = @interno begin if @DeptoDondeEstaElBeneficiario = @DeptoDondeEstaElProyecto begin if @CodigoDelBeneficiario = @CodigoResponsableDelProyecto begin -- esto es porque el beneficiario interno y externo comparten el mismo codigo GOTO ExecutaCodigoBeneficiarioExterno ContinuaBeneficiarioInterno: end if @CodigoDelBeneficiario <> @CodigoResponsableDelProyecto begin if (@EsDepartamentoAcademico = 'SI') or (@EsDepartamentoAdministrativo = 'SI') begin set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @LmDirAreaResponsable set @firma3 = @LmDirGralResponsable Set @regla = 306 if @Imprimo = 'S' print 'pase por 306' end if (@EsProyectoAcademico = 'SI') or (@EsProyectoAdministrativo = 'SI') begin set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @LmCoordResponsable set @firma3 = @LmDirAreaResponsable Set @regla = 307 if @Imprimo = 'S' print 'pase por 307' end if @Firma1 = @firma2 begin set @firma2 = @LmDirAreaResponsable set @firma3 = @LmDirGralResponsable Set @regla = 308 end if @Firma1 = @firma3 begin set @firma3 = @LmDirGralResponsable Set @regla = 309 end end end if @DeptoDondeEstaElBeneficiario <> @DeptoDondeEstaElProyecto begin set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeDelBeneficiario set @Puesto3 = @PuestoJefeInmediato set @Puesto4 = @PuestojefeImediatoSuperior set @CuantosFirmasCargo = 4 if (@EsDepartamentoAcademico = 'SI') or (@EsDepartamentoAdministrativo = 'SI') begin set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @JefeDelBeneficiario set @firma3 = @LmDirAreaResponsable set @firma4 = @LmDirGralResponsable Set @regla = 310 set @CargoJefeBeneficiario = 'SI' end if (@EsProyectoAcademico = 'SI') or (@EsProyectoAdministrativo = 'SI') begin set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @JefeDelBeneficiario set @firma3 = @LmCoordResponsable set @firma4 = @LmDirAreaResponsable set @CargoJefeBeneficiario = 'SI' Set @regla = 3101 if @Firma1 = @firma3 begin set @firma3 = @LmDirAreaResponsable set @firma4 = @LmDirGralResponsable Set @regla = 311 end if @Firma1 = @firma4 begin set @firma4 = @LmDirGralResponsable Set @regla = 312 end end -- @agus9 set @OficinaDondeEstaElBeneficiario = (select TArcCInv.oficina from TArcCInv where TArcCInv.CodInv = @CodigoBeneficiario) if @OficinaDondeEstaElBeneficiario in ( @OfiMonterrey, @OfiNuevoLaredo, @OfiMatamoros, @OfiPiedrasNegras ) set @firma2 = @CodigoResponsableRegionalNorEste if @OficinaDondeEstaElBeneficiario in ( @OfiCiudadJuarez, @OfiMexicali, @OfiNogales ) set @firma2 = @CodigoResponsableRegionalNoroEste end else begin -- @agus9 set @OficinaDondeEstaElBeneficiario = (select TArcCInv.oficina from TArcCInv where TArcCInv.CodInv = @CodigoBeneficiario) set @OficinaRegionalBeneficiario = 1 -- tijuana if @OficinaDondeEstaElBeneficiario in ( @OfiMonterrey, @OfiNuevoLaredo, @OfiMatamoros, @OfiPiedrasNegras ) set @OficinaRegionalBeneficiario = 3 -- NorEste if @OficinaDondeEstaElBeneficiario in ( @OfiCiudadJuarez, @OfiMexicali, @OfiNogales ) set @OficinaRegionalBeneficiario = 2 -- NoroEste set @OficinaRegionalProyecto = 0 -- no procede if @OficinaDondeEstaElProyecto in ( @OfiMonterrey, @OfiNuevoLaredo, @OfiMatamoros, @OfiPiedrasNegras ) set @OficinaRegionalProyecto = 3 -- NorEste if @OficinaDondeEstaElProyecto in ( @OfiCiudadJuarez, @OfiMexicali, @OfiNogales ) set @OficinaRegionalProyecto = 2 -- NoroEste /* el 16 de mayo segio dijo que la encorchetara porque hablo con ana if @OficinaRegionalBeneficiario <> @OficinaRegionalProyecto begin if @OficinaDondeEstaElBeneficiario in ( @OfiMonterrey, @OfiNuevoLaredo, @OfiMatamoros, @OfiPiedrasNegras ) begin set @firma2 = @CodigoResponsableRegionalNorEste Set @regla = 3306 if @Imprimo = 'S' print 'caso 3306' end if @OficinaDondeEstaElBeneficiario in ( @OfiCiudadJuarez, @OfiMexicali, @OfiNogales ) begin set @firma2 = @CodigoResponsableRegionalNoroEste --Set @regla = 3307 if @Imprimo = 'S' print 'caso 3307' end end */ end end if @CuantosFirmasCargo = 0 GOTO TERMINA else GOTO CHECA_FINAL_VIATICOS end --*************************************************************** --*** El proyecto pertenece a algun departamento de POSGRADO **** --*************************************************************** -- S2 If ( @DeptoDondeEstaElProyecto in ( @DeptoPosgrado , @DeptoServiciosEscolares , @DeptoDoctoradoSociales , @DeptoMaestriaMedioAmbiente , @DeptoMaestriaDemografia , @DeptoMaestriaDesarroloRegional , @DeptoMaestriaEconomiaAplicada , @DeptoMaestriaEstudiosCulturales , @DeptoMaestriaSocioCulturales --@agus3 ) ) begin set @CuantosFirmasCargo = 0 -- v2.1 if ( @TipoBeneficiario = @ExternoViaticos) begin if @Imprimo = 'S' print 'caso 310' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy. set @Firma3 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 3 Set @regla = 310 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestoSecretaria end -- v2.2 if ( @TipoBeneficiario = @interno ) AND ( @DeptoDondeEstaElBeneficiario = @DeptoDondeEstaElProyecto ) AND ( @CodigoBeneficiario <> @CodigoResponsableDelProyecto ) begin if @Imprimo = 'S' print 'caso 3011' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy. set @Firma3 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 3 Set @regla = 311 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestoSecretaria end -- v2.3 if ( @TipoBeneficiario = @interno ) AND ( @DeptoDondeEstaElBeneficiario = @DeptoDondeEstaElProyecto ) AND ( @CodigoBeneficiario = @CodigoResponsableDelProyecto ) begin if @Imprimo = 'S' print 'caso 312' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy. set @Firma3 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 3 Set @regla = 312 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestoSecretaria end -- v2.4 if ( @TipoBeneficiario = @interno ) AND ( @DeptoDondeEstaElBeneficiario <> @DeptoDondeEstaElProyecto ) begin if @Imprimo = 'S' print 'caso 313' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @JefeDelBeneficiario set @Firma3 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy. set @Firma4 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 4 Set @regla = 313 set @CargoJefeBeneficiario = 'SI' set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeDelBeneficiario set @Puesto3 = @PuestoJefeInmediato set @Puesto4 = @PuestoSecretaria end if @CuantosFirmasCargo = 0 GOTO TERMINA else GOTO CHECA_FINAL_VIATICOS end -- FIEN DE CIATICOS CUANDO EL PROYECTO ES DE POSGRADO --*********************************************** --*** El proyecto pertenece a alguna REGIONAL *** --*********************************************** -- S3 if ( @ElProyectoEsDeUnaRegional = 'SI' ) begin set @CuantosFirmasCargo = 0 -- v3.1 if ( ( @EsDepartamentoAcademico = 'SI') OR ( @EsDepartamentoAdministrativo = 'SI') ) AND ( @TipoBeneficiario = @ExternoViaticos) begin if @Imprimo = 'S' print 'caso 314' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 2 Set @regla = 314 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoSecretaria end -- v3.2 if ( @EsProyectoAcademico = 'SI' ) AND ( @TipoBeneficiario = @ExternoViaticos) begin if @Imprimo = 'S' print 'caso 315' set @Firma1 = @CodigoResponsableDelProyecto if @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste) set @Firma2 = @EncargadoDeptoDireccionNoroeste else set @Firma2 = @EncargadoDeptoDireccionNoreste set @Firma3 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 3 Set @regla = 315 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestoSecretaria end -- v3.3 if ( @TipoBeneficiario = @interno ) AND ( ( @EsDepartamentoAcademico = 'SI') OR ( @EsDepartamentoAdministrativo = 'SI') ) AND ( @DeptoDondeEstaElBeneficiario in ( @DeptoMonterrey , @DeptoNuevoLaredo , @DeptoMatamoros , @DeptoPiedrasNegras , @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste , @DeptoRegionalNoreste ) ) begin if @Imprimo = 'S' print 'caso 316' set @Firma1 = @CodigoResponsableDelProyecto if @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste) set @Firma2 = @EncargadoDeptoDireccionNoroeste else set @Firma2 = @EncargadoDeptoDireccionNoreste Set @regla = 316 set @Firma3 = @firma2 set @CuantosFirmasCargo = 3 if @CodigoBeneficiario = @Firma2 begin if @Imprimo = 'S' print 'caso 316A' set @Firma3 = @CodigoEncargadoSGA set @Firma4 = @CodigoResponsablePresidencia set @CuantosFirmasCargo = 4 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestoSecretaria set @Puesto4 = @PuestoPresidencia end end ---------------------------------------------------------------------------------------------------- --@NUEVO if ( @TipoBeneficiario = @interno ) AND ( ( @EsDepartamentoAcademico = 'SI') OR ( @EsDepartamentoAdministrativo = 'SI') ) AND ( @DeptoDondeEstaElBeneficiario in ( @DeptoMonterrey , @DeptoNuevoLaredo , @DeptoMatamoros , @DeptoPiedrasNegras , @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste , @DeptoRegionalNoreste ) ) AND ( @EsDirectorElBeneficiario = 'NO' ) begin if @Imprimo = 'S' print 'caso 3160' set @Firma1 = @CodigoResponsableDelProyecto if @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste) set @Firma2 = @EncargadoDeptoDireccionNoroeste else set @Firma2 = @EncargadoDeptoDireccionNoreste set @Firma3 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 3 Set @regla = 3160 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestoSecretaria end if ( @TipoBeneficiario = @interno ) AND ( @DeptoDondeEstaElBeneficiario NOT in ( @DeptoMonterrey , @DeptoNuevoLaredo , @DeptoMatamoros , @DeptoPiedrasNegras , @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste , @DeptoRegionalNoreste ) ) begin if @Imprimo = 'S' print 'caso 3161' set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @JefeDelBeneficiario if @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste) set @Firma3 = @EncargadoDeptoDireccionNoroeste else set @Firma3 = @EncargadoDeptoDireccionNoreste set @Firma4 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 4 Set @regla = 3161 set @CargoJefeBeneficiario = 'SI' set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeDelBeneficiario set @Puesto3 = @PuestoJefeInmediato set @Puesto4 = @PuestoSecretaria --********************************************** --@agus8 set @OficinaDondeEstaElBeneficiario = (select TArcCInv.oficina from TArcCInv where TArcCInv.CodInv = @CodigoBeneficiario) set @OficinaRegionalBeneficiario = 1 -- tijuana if @OficinaDondeEstaElBeneficiario in ( @OfiMonterrey, @OfiNuevoLaredo, @OfiMatamoros, @OfiPiedrasNegras ) set @OficinaRegionalBeneficiario = 3 -- NorEste if @OficinaDondeEstaElBeneficiario in ( @OfiCiudadJuarez, @OfiMexicali, @OfiNogales ) set @OficinaRegionalBeneficiario = 2 -- NoroEste set @OficinaRegionalProyecto = 0 -- no procede if @OficinaDondeEstaElProyecto in ( @OfiMonterrey, @OfiNuevoLaredo, @OfiMatamoros, @OfiPiedrasNegras ) set @OficinaRegionalProyecto = 3 -- NorEste if @OficinaDondeEstaElProyecto in ( @OfiCiudadJuarez, @OfiMexicali, @OfiNogales ) set @OficinaRegionalProyecto = 2 -- NoroEste if @OficinaRegionalBeneficiario <> @OficinaRegionalProyecto begin if @OficinaDondeEstaElBeneficiario in ( @OfiMonterrey, @OfiNuevoLaredo, @OfiMatamoros, @OfiPiedrasNegras ) set @firma2 = @CodigoResponsableRegionalNorEste if @OficinaDondeEstaElBeneficiario in ( @OfiCiudadJuarez, @OfiMexicali, @OfiNogales ) set @firma2 = @CodigoResponsableRegionalNoroEste end else begin -- quita la firma del jefe del beneficiario set @firma2 = @firma3 set @firma3 = @firma4 set @puesto2 = @puesto3 set @puesto3 = @puesto4 set @CuantosFirmasCargo = 3 end --********************************************** end ----------------------------------------------------------------------------------------------------- /* EL 6 OCT 2005 SEGIO DIJO QUE LA QUITARA -- @NUEVO -- v3.4 if ( @TipoBeneficiario = @interno ) AND ( ( @EsDepartamentoAcademico = 'SI') OR ( @EsDepartamentoAdministrativo = 'SI') ) AND ( @EsDirectorElBeneficiario = 'SI' ) begin if @Imprimo = 'S' print 'caso 317' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy. set @Firma3 = @LmDirGralResponsable -- jefe del anterior set @CuantosFirmasCargo = 3 Set @regla = 317 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior end */ -- v3.5 if ( @TipoBeneficiario = @interno ) AND ( @EsProyectoAcademico = 'SI' ) AND ( @DeptoDondeEstaElBeneficiario = @DeptoDondeEstaElProyecto ) AND ( @EsDirectorElBeneficiario = 'NO' ) begin if @Imprimo = 'S' print 'caso 318' set @Firma1 = @CodigoResponsableDelProyecto if @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste) set @Firma2 = @EncargadoDeptoDireccionNoroeste else set @Firma2 = @EncargadoDeptoDireccionNoreste set @Firma3 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 3 Set @regla = 318 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestoSecretaria end -- v3.6 if ( @TipoBeneficiario = @interno ) AND ( @EsProyectoAcademico = 'SI' ) AND -- DEPTO DEL BENEFICIARIO <> ALGUNOS DE LOS DEPTOS DE LA DIRECCION DONDE SE ENCUENTRA EL PROYECTO ( ( ( @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) and ( @DeptoDondeEstaElBeneficiario not in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) ) or ( ( @DeptoDondeEstaElProyecto NOT in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) and ( @DeptoDondeEstaElBeneficiario in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) ) ) begin if @Imprimo = 'S' print 'caso 319' set @Firma1 = @CodigoResponsableDelProyecto SET @FIRMA2 = @JefeDelBeneficiario if @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste) set @Firma3 = @EncargadoDeptoDireccionNoroeste else set @Firma3 = @EncargadoDeptoDireccionNoreste set @Firma4 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 4 Set @regla = 319 set @CargoJefeBeneficiario = 'SI' set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeDelBeneficiario set @Puesto3 = @PuestoJefeInmediato set @Puesto4 = @PuestoSecretaria end -- v3.7 if ( @TipoBeneficiario = @interno ) AND ( @EsProyectoAcademico = 'SI' ) AND ( @EsDirectorElResponsableDelProyecto = 'SI' ) AND -- DEPTO DEL BENEFICIARIO = ALGUNOS DE LOS DEPTOS DE LA DIRECCION DONDE SE ENCUENTRA EL PROYECTO ( ( ( @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) and ( @DeptoDondeEstaElBeneficiario in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) ) or ( ( @DeptoDondeEstaElProyecto NOT in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) and ( @DeptoDondeEstaElBeneficiario NOT in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) ) ) begin if @Imprimo = 'S' print 'caso 320' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy. set @Firma3 = @LmDirGralResponsable -- jefe del anterior set @CuantosFirmasCargo = 3 Set @regla = 320 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior end -- v3.8 if ( @TipoBeneficiario = @interno ) AND ( @EsProyectoAcademico = 'SI' ) AND ( @EsDirectorElResponsableDelProyecto = 'SI' ) AND -- DEPTO DEL BENEFICIARIO <> ALGUNOS DE LOS DEPTOS DE LA DIRECCION DONDE SE ENCUENTRA EL PROYECTO ( ( ( @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) and ( @DeptoDondeEstaElBeneficiario not in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) ) or ( ( @DeptoDondeEstaElProyecto NOT in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) and ( @DeptoDondeEstaElBeneficiario in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste)) ) ) begin if @Imprimo = 'S' print 'caso 322' set @Firma1 = @CodigoResponsableDelProyecto SET @FIRMA2 = @JefeDelBeneficiario set @Firma3 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy. set @Firma4 = @LmDirGralResponsable -- jefe del anterior set @CuantosFirmasCargo = 4 Set @regla = 322 set @CargoJefeBeneficiario = 'SI' set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeDelBeneficiario set @Puesto3 = @PuestoJefeInmediato set @Puesto4 = @PuestoSecretaria end if @CuantosFirmasCargo = 0 GOTO TERMINA else GOTO CHECA_FINAL_VIATICOS End -- CUANDO LA SOLICITUD DE VIATICOS PERTENECE A UNA REGIONAL --****************************************************************** --*** El proyecto pertenece a alguna DEPARTAMENTO ADMINISTRATIVO *** --****************************************************************** if ( ( @EsDepartamentoAdministrativo ='SI' ) or ( @EsProyectoAdministrativo = 'SI' ) ) begin set @SorteaFirmasPorPuesto = 'SI' set @CuantosFirmasCargo = 0 -- v4.1 if ( @TipoBeneficiario = @ExternoViaticos) AND ( @CodigoSolicitante <> @CodigoResponsableDelProyecto) begin if @Imprimo = 'S' print 'caso 323' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy set @CuantosFirmasCargo = 2 Set @regla = 323 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato end -- v4.2 if ( @TipoBeneficiario = @ExternoViaticos) and ( @CodigoSolicitante = @CodigoResponsableDelProyecto) begin if @Imprimo = 'S' print 'caso 324' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy set @Firma3 = @LmDirGralResponsable -- jefe del anterior set @CuantosFirmasCargo = 3 if @EsProyectoAdministrativo = 'SI' begin set @Firma2 = @LmCoordResponsable set @Firma3 = @LmDirAreaResponsable end Set @regla = 324 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior end -- v4.3 if ( @TipoBeneficiario = @interno ) AND ( @CodigoSolicitante = @CodigoResponsableDelProyecto ) AND ( @DeptoDondeEstaElBeneficiario = @DeptoDondeEstaElProyecto ) begin if @Imprimo = 'S' print 'caso 325' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy set @Firma3 = @LmDirGralResponsable -- jefe del anterior set @CuantosFirmasCargo = 3 Set @regla = 325 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior end -- v4.4 if ( @TipoBeneficiario = @interno ) AND ( @DeptoDondeEstaElBeneficiario <> @DeptoDondeEstaElProyecto ) AND ( @CodigoSolicitante = @CodigoResponsableDelProyecto ) begin if @Imprimo = 'S' print 'caso 326' set @Firma1 = @CodigoResponsableDelProyecto SET @FIRMA2 = @JefeDelBeneficiario set @Firma3 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy set @Firma4 = @LmDirGralResponsable -- jefe del anterior set @CuantosFirmasCargo = 4 Set @regla = 326 set @CargoJefeBeneficiario = 'SI' set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeDelBeneficiario set @Puesto3 = @PuestoJefeInmediato set @Puesto4 = @PuestojefeImediatoSuperior end --*************************************** -- v4.3A if ( @TipoBeneficiario = @interno ) AND ( @CodigoSolicitante = @CodigoResponsableDelProyecto ) AND ( @DeptoDondeEstaElBeneficiario <> @DeptoDondeEstaElProyecto ) begin if @Imprimo = 'S' print 'caso 330' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy set @Firma3 = @Firma2 -- jefe del anterior set @CuantosFirmasCargo = 3 Set @regla = 330 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior end -- v4.4A if ( @TipoBeneficiario = @interno ) AND ( @DeptoDondeEstaElBeneficiario <> @DeptoDondeEstaElProyecto ) AND ( @CodigoSolicitante <> @CodigoResponsableDelProyecto ) begin if @Imprimo = 'S' print 'caso 331' set @Firma1 = @CodigoResponsableDelProyecto SET @FIRMA2 = @JefeDelBeneficiario set @Firma3 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy set @Firma4 = @Firma3 -- jefe del anterior set @CuantosFirmasCargo = 4 Set @regla = 331 set @CargoJefeBeneficiario = 'SI' set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeDelBeneficiario set @Puesto3 = @PuestoJefeInmediato set @Puesto4 = @PuestojefeImediatoSuperior end if ( @TipoBeneficiario = @interno ) AND ( @DeptoDondeEstaElBeneficiario = @DeptoDondeEstaElProyecto ) AND ( @CodigoBeneficiario <> @CodigoResponsableDelProyecto ) begin if @Imprimo = 'S' print 'caso 3315' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy set @Firma3 = @Firma2 -- se cambio el 25 sep 06 @LmDirGralResponsable set @CuantosFirmasCargo = 3 Set @regla = 3315 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior end -- esta regla se puso para controlar las necesidades del proyecto 282 mexico (oficina de representacion if ( @TipoBeneficiario = @interno ) AND ( @DeptoDondeEstaElBeneficiario = @DeptoDondeEstaElProyecto ) AND ( @CodigoBeneficiario = @CodigoResponsableDelProyecto ) begin if @Imprimo = 'S' print 'caso 3316' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy set @Firma3 = @LmDirGralResponsable set @CuantosFirmasCargo = 3 Set @regla = 3316 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior end --***************************************** -- v4.5 if ( @TipoBeneficiario = @interno ) and ( @CodigoBeneficiario = @CodigoResponsableDelProyecto ) begin if @Imprimo = 'S' print 'caso 327' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy set @Firma3 = @LmDirGralResponsable -- jefe del anterior set @CuantosFirmasCargo = 3 Set @regla = 327 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior end if @CuantosFirmasCargo = 0 GOTO TERMINA else GOTO CHECA_FINAL_VIATICOS end -- CUANDO ES ADMINISTRATIVO DE SOL. DE VIATICOS CHECA_FINAL_VIATICOS: --******************************************************************************************************************** --** si el puesto2 = jefe del beneficiario y esta dado de baja la persona entonnces se pone la firma2 como el @JefeJefeDelBeneficiario --/* if (@puesto2 = @PuestoJefeDelBeneficiario) begin if ('D' = (select estado from TArcCInv where CodInv = @firma2)) begin set @firma2 = @JefeJefeDelBeneficiario end end --******************************************************************************************************************** --si el empleado de alguna de las firmas esta inactivo se deben de recorrer las firmas y el hueco generado se debe de llenar --con el jefe de la ultima firma (POR LA LINEA DE MANDO --******************************************************************************************************************** if (@CuantosFirmasCargo = 4) begin if ('D' = (select estado from TArcCInv where CodInv = @firma1)) begin set @firma1 = @firma2 set @firma2 = @firma3 set @firma3 = @Firma4 set @firma4 = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @firma3 ) AND (TArcDep.Estado = N'A') ) ) end if ('D' = (select estado from TArcCInv where CodInv = @firma2)) begin set @firma2 = @firma3 set @firma3 = @Firma4 set @firma4 = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @firma3 ) AND (TArcDep.Estado = N'A') ) ) end if ('D' = (select estado from TArcCInv where CodInv = @firma3)) begin set @firma3 = @Firma4 set @firma4 = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @firma3 ) AND (TArcDep.Estado = N'A') ) ) end if ('D' = (select estado from TArcCInv where CodInv = @firma4)) begin set @firma4 = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @firma4 ) AND (TArcDep.Estado = N'A') ) ) end end if (@CuantosFirmasCargo = 3) begin if ('D' = (select estado from TArcCInv where CodInv = @firma1)) begin set @firma1 = @firma2 set @firma2 = @firma3 set @firma3 = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @firma2 ) AND (TArcDep.Estado = N'A') ) ) end if ('D' = (select estado from TArcCInv where CodInv = @firma2)) begin set @firma2 = @firma3 set @firma3 = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @firma2 ) AND (TArcDep.Estado = N'A') ) ) end if ('D' = (select estado from TArcCInv where CodInv = @firma3)) begin set @firma3 = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @firma3 ) AND (TArcDep.Estado = N'A') ) ) end end if (@CuantosFirmasCargo = 2) begin if ('D' = (select estado from TArcCInv where CodInv = @firma1)) begin set @firma1 = @firma2 set @firma1 = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @firma1 ) AND (TArcDep.Estado = N'A') ) ) end if ('D' = (select estado from TArcCInv where CodInv = @firma2)) begin set @firma2 = ( select TAProy.CodigoResponsable from TAProy where TAProy.CodigoProyecto = ( select top 1 TArcDep.LmDirArea -- el Top 1 es por que puede haber mas de un departamento donde el beneficiario es encargado y SERGIO no ha defenido cual escoger from TArcDep where (TArcDep.Encargado = @firma2 ) AND (TArcDep.Estado = N'A') ) ) end end --******************************************************************************************************************** -- termine el codigo para poner el siguiente cuando la firma esta inactiva --******************************************************************************************************************** if @proyecto = 287 begin Set @regla = 23 if @Imprimo = 'S' print 'caso 23 ' set @firma1 = 5466 ---contralor francisco tapia set @Firma2 = @CodigoResponsablePresidencia -- snatibanes set @Firma3 = @CodigoResponsablePresidencia --santinanes set @CuantosFirmasCargo = 3 set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior set @Puesto4 = @PuestoSecretaria end -- si la segunda firma se repirte quitarla if @firma2 = @firma3 or (@firma2=@firma4) or (@firma2=@firma5) begin if @CuantosFirmasCargo = 3 begin set @CuantosFirmasCargo = 2 end if @CuantosFirmasCargo = 4 begin set @firma2 = @firma3 set @firma3 = @firma4 set @puesto2 = @puesto3 set @puesto3 = @puesto4 set @CuantosFirmasCargo = 3 end if @CuantosFirmasCargo = 5 begin set @firma2 = @firma3 set @firma3 = @firma4 set @firma4 = @firma5 set @puesto2 = @puesto3 set @puesto3 = @puesto4 set @puesto4 = @puesto5 set @CuantosFirmasCargo = 4 end end set @UltimaFirma = 0 if @CuantosFirmasCargo = 1 set @UltimaFirma = @firma1 if @CuantosFirmasCargo = 2 set @UltimaFirma = @firma2 if @CuantosFirmasCargo = 3 set @UltimaFirma = @firma3 if @CuantosFirmasCargo = 4 set @UltimaFirma = @firma4 if @CuantosFirmasCargo = 5 set @UltimaFirma = @firma5 if @CuantosFirmasCargo = 6 set @UltimaFirma = @firma6 if ( @CuantosFirmasCargo > 0 ) and ( @UltimaFirma <> @CodigoResponsablePresidencia ) and (@EsGastoInstitucional = 1) -- 1 = si begin if @CuantosFirmasCargo = 2 begin set @Firma3 = @CodigoResponsablePresidencia set @puesto3 = @PuestoPresidencia end if @CuantosFirmasCargo = 3 begin set @Firma4 = @CodigoResponsablePresidencia set @puesto4 = @PuestoPresidencia end if @CuantosFirmasCargo = 4 begin set @Firma5 = @CodigoResponsablePresidencia set @puesto5 = @PuestoPresidencia end if @CuantosFirmasCargo = 5 begin set @Firma6 = @CodigoResponsablePresidencia set @puesto6 = @PuestoPresidencia end if @CuantosFirmasCargo <> 0 set @CuantosFirmasCargo = @CuantosFirmasCargo + 1 set @UltimaFirma = @CodigoResponsablePresidencia End if ( @CuantosFirmasCargo > 0 ) and ( @UltimaFirma <> @CodigoResponsablePresidencia ) begin if ( @EsIntercional = 2) begin if @EsInvestigador = 'SI' begin if @UltimaFirma <> @CodigoEncargadoSGA begin if @Imprimo = 'S' print 'PASE PARA DAR LA SGA' -- si no esta @CodigoEncargadoSGA en algunas de las primeras firmas entonces la pongo if not ((@Firma1 = @CodigoEncargadoSGA) or (@Firma2 = @CodigoEncargadoSGA) or (@Firma3 = @CodigoEncargadoSGA) or (@Firma4 = @CodigoEncargadoSGA)) begin if @CuantosFirmasCargo = 2 begin set @Firma3 = @CodigoEncargadoSGA set @puesto3 = @PuestoSecretaria end if @CuantosFirmasCargo = 3 begin set @Firma4 = @CodigoEncargadoSGA set @puesto4 = @PuestoSecretaria end if @CuantosFirmasCargo = 4 begin set @Firma5 = @CodigoEncargadoSGA set @puesto5 = @PuestoSecretaria end if @CuantosFirmasCargo = 5 begin set @Firma6 = @CodigoEncargadoSGA set @puesto6 = @PuestoSecretaria end if @CuantosFirmasCargo <> 0 set @CuantosFirmasCargo = @CuantosFirmasCargo + 1 end end end else begin if @TipoBeneficiario = @interno begin if @UltimaFirma <> @CodigoEncargadoProySPDI AND ( @UltimaFirma <> @CodigoEncargadoSGA ) begin if @EsProyectoAcademico = 'NO' and ( @EsDepartamentoAdministrativo ='SI' ) begin if @proyecto not in ( @ProyComunicacion , @proyPublicacion , @proyDifucion , @proyDireccionVinculacion ) begin if @Imprimo = 'S' print 'pase para dar spdi*' if @CuantosFirmasCargo = 2 begin set @Firma3 = @CodigoEncargadoProySPDI set @puesto3 = @PuestoSecretaria end if @CuantosFirmasCargo = 3 begin set @Firma4 = @CodigoEncargadoProySPDI set @puesto4 = @PuestoSecretaria end if @CuantosFirmasCargo = 4 begin set @Firma5 = @CodigoEncargadoProySPDI set @puesto5 = @PuestoSecretaria end if @CuantosFirmasCargo = 5 begin set @Firma6 = @CodigoEncargadoProySPDI set @puesto6 = @PuestoSecretaria end if @CuantosFirmasCargo <> 0 set @CuantosFirmasCargo = @CuantosFirmasCargo + 1 End End else begin --- if @Imprimo = 'S' print 'PASE PARA DAR LA SGA Aunque es administrativo' -- si no esta @CodigoEncargadoSGA en algunas de las primeras firmas entonces la pongo if not ((@Firma1 = @CodigoEncargadoSGA) or (@Firma2 = @CodigoEncargadoSGA) or (@Firma3 = @CodigoEncargadoSGA) or (@Firma4 = @CodigoEncargadoSGA)) begin if @CuantosFirmasCargo = 2 begin set @Firma3 = @CodigoEncargadoSGA set @puesto3 = @PuestoSecretaria end if @CuantosFirmasCargo = 3 begin set @Firma4 = @CodigoEncargadoSGA set @puesto4 = @PuestoSecretaria end if @CuantosFirmasCargo = 4 begin set @Firma5 = @CodigoEncargadoSGA set @puesto5 = @PuestoSecretaria end if @CuantosFirmasCargo = 5 begin set @Firma6 = @CodigoEncargadoSGA set @puesto6 = @PuestoSecretaria end if @CuantosFirmasCargo <> 0 set @CuantosFirmasCargo = @CuantosFirmasCargo + 1 end end end end end --@EsInvestigador if @Imprimo = 'S' print 'PONGO LA PRESIDENCIA' if @CuantosFirmasCargo = 2 begin set @Firma3 = @CodigoResponsablePresidencia set @puesto3 = @PuestoPresidencia end if @CuantosFirmasCargo = 3 begin set @Firma4 = @CodigoResponsablePresidencia set @puesto4 = @PuestoPresidencia end if @CuantosFirmasCargo = 4 begin set @Firma5 = @CodigoResponsablePresidencia set @puesto5 = @PuestoPresidencia end if @CuantosFirmasCargo = 5 begin set @Firma6 = @CodigoResponsablePresidencia set @puesto6 = @PuestoPresidencia end if @CuantosFirmasCargo <> 0 set @CuantosFirmasCargo = @CuantosFirmasCargo + 1 end -- @EsIntercional end --@CuantosFirmasCargo if @CuantosFirmasCargo = 2 begin set @CuantosFirmasCargo = 3 set @Firma3 = @firma2 -- para que ivan no tenga problemas end IF ( @DeptoDondeEstaElProyecto <> @DeptoDondeEstaElBeneficiario ) AND ( @TipoBeneficiario = @Interno ) BEGIN if @Imprimo = 'S' print '@CambiarFirmas b' SET @CambiarFirmas = 'SI' END set @DepartamentoDondeEstaACargoElBeneficiario = ( select top 1 TArcDep.CodDep From TArcDep where (TArcDep.Encargado = @CodigoBeneficiario ) AND (TArcDep.Estado = N'A') ) if not ( ( @DepartamentoDondeEstaACargoElBeneficiario <> @NoHayDatos ) -- el beneficiario tene un cargo en algun departamento and ( @DeptoDondeEstaElProyecto = @DepartamentoDondeEstaACargoElBeneficiario ) ) begin if @Imprimo = 'S' print '@CambiarFirmas A' SET @CambiarFirmas = 'SI' end --******************************************************************************************** --si hay 6 firmas quitar la firma del jefe del beneficiario, recorresr las firmas y guardar en --una tabla la solicitud y fecha --******************************************************************************************** if (@CuantosFirmasCargo = 6) and (@CargoJefeBeneficiario = 'SI') begin --** como el beneficiario siempre esta en la @Firma2 entonces lo recorro set @firma2 = @firma3 set @firma3 = @Firma4 set @firma4 = @Firma5 set @firma5 = @firma6 set @CuantosFirmasCargo = 5 end else set @CargoJefeBeneficiario = 'NO' end --**************************************************************************************************************************** --**************************************************************************************************************************** --**************************************************************************************************************************** -- SOLICITUD DE SERVICIOS VARIOS (CARGO F I R M A S) --**************************************************************************************************************************** if (@TipoSolicitud = @FormaServiciosVarios ) begin /* el 7jun07 segio mando la siguienete regla en los nombre de las firmas el default sera 1.- resp. del proy. 2.- jefe inmediato 3.- jefe inmediato superior - cuando sea un proyecto con recursos complementarios los titulos seran - responsable del proyecto - jefe inmediato del solicitante - jefe inmediatp superior del solicitante */ set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediato set @Puesto3 = @PuestojefeImediatoSuperior if @proyecto = 282 -- oficina de mexico o casda colef begin if @CodigoSolicitante = 754 -- ASLUCIA begin set @Firma1 = 5469 -- lo cambie el 22mar07 estaba tania THANIA set @Firma2 = 911 -- 948 =alejandro lomeli se cambio a 911=abundio 10nov08 Set @firma3 = @firma2 set @CuantosFirmasCargo = 3 Set @regla = 440 GOTO TERMINA end else begin if @CodigoSolicitante = 5469 -- lo cambie el 22mar07 estaba tania THANIA begin set @Firma1 =53 -- MariCarme -- lina ojeda porque maricarmen ya no esta //18/5/2007 set @Firma2 = 53 -- lina ojeda Set @firma3 = @firma2 set @CuantosFirmasCargo = 3 Set @regla = 441 GOTO TERMINA end end end --************************************* -- SI ES DEL AREA DE SERVICIOS --************************************* if @DeptoDondeEstaElSolicitante in ( @DeptoCompras , @DeptoObrasYMantenimiento , @DeptoContabilidad , @DeptoPresupuestos , @DeptoFinanzas , @DeptoRecursosHumanos , @DeptoRelacionesLaborales , @DeptoRecursosMaterialesYServicios , @DeptoTesoreria , @DeptoNominas , @DeptoServiciosGenerales ) begin if @proyecto = 665 --665 = proyecto especiales sergio el 1 oct 07 and @DeptoDondeEstaElSolicitante in( @DeptoCompras , @DeptoObrasYMantenimiento , @DeptoServiciosGenerales ) begin Set @regla = 45 if @Imprimo = 'S' print 'caso 45' set @SorteaFirmasPorPuesto = 'NO' set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @JefeDelSolicitante set @Firma3 = @JefeJefeDelSolicitante set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediatoDelSolicitante set @Puesto3 = @PuestoJefeInmediatoSuperiorDelSolicitante set @CuantosFirmasCargo = 3 GOTO Termina_SolServicios end Set @regla = 455 if @Imprimo = 'S' print 'caso 455' -- indica que no es SEP la fuente de financiamiento if ( (select top 1 GrupoFinan from TaProyComplemento where TaProyComplemento.CodigoProyecto = @proyecto) <> 1 ) begin if @EsInvestigadorElReponsableDelProyecto = 'NO' begin if @Imprimo = 'S' print' caso 455a' set @firma1 = @JefeDelSolicitante set @Firma2 = @JefeJefeDelSolicitante set @Firma3 = @Firma2 set @Puesto1 = @PuestoJefeInmediatoDelSolicitante set @Puesto2 = @PuestoJefeInmediatoSuperiorDelSolicitante set @Puesto3 = @PuestoJefeInmediatoSuperiorDelSolicitante end else begin if @Imprimo = 'S' print' caso 455b' set @SorteaFirmasPorPuesto = 'NO' set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @JefeDelSolicitante set @Firma3 = @JefeJefeDelSolicitante set @Puesto1 = @PuestoRespProy set @Puesto2 = @PuestoJefeInmediatoDelSolicitante set @Puesto3 = @PuestoJefeInmediatoSuperiorDelSolicitante end end else begin if @Imprimo = 'S' print' caso 455c' set @firma1 = @JefeDelSolicitante set @Firma2 = @JefeJefeDelSolicitante set @Firma3 = @Firma2 -- 13nov07 segio dijo que las dos primeras firmas se repiten y la tercera es diferente -- set @Firma2 = @firma1 if @CodigoResponsableDelProyecto = @CodigoSolicitante begin if @Imprimo = 'S' print' caso 455d' set @Firma1 = @CodigoResponsableDelProyecto set @firma2 = @JefeDelSolicitante set @Firma3 = @JefeJefeDelSolicitante end end /* IF ( @DeptoServiciosGenerales = @DeptoDondeEstaElSolicitante ) and ( @TipoDeGasto IN (1,2,4,5,6,39,40,44) ) and ( @CodigoDelBeneficiarioProveedor <> 13446 ) -- I + D México S.A. de C.V = antes CAPUFE BEGIN Set @regla = 45001 if @Imprimo = 'S' print 'caso 45001' set @Firma1 = 642 -- MILY SE PUSO POR ORDENEN DE SERGIO EL 10 OCT 06 END */ -- el 21 oct 2008 sergio lo indico if @CodigoBeneficiario = @firma3 begin if @JefeDelBeneficiario = @CodigoBeneficiario begin set @firma3 = @JefeJefeDelBeneficiario Set @regla = 41 if @Imprimo = 'S' print 'caso 41' end else begin set @firma3 = @JefeDelBeneficiario Set @regla = 42 if @Imprimo = 'S' print 'caso 42' end end set @CuantosFirmasCargo = 3 GOTO Termina_SolServicios end -- (se queda) -- select @EsGastoInstitucional = EsGastoInstitucional from TSolDePagoMto WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud) /* if @EsGastoInstitucional = 1 -- 1 = si es institucional begin if @Imprimo = 'S' print 'caso 3800' Set @regla = 3800 set @firma1 = @CodigoResponsableDelProyecto set @Firma2 = @firma1 set @Firma3 = @firma1 set @CuantosFirmasCargo = 3 GOTO TERMINA end */ -- (se queda) if (@proyecto) Is null --- quiere decir que es multiproyecto begin Set @regla = 39 if @Imprimo = 'S' print 'caso 39' SET @CodigoSolicitante = (SELECT CodInv FROM TArcCInv INNER JOIN TSolDePagoMto ON TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud) ) -- EL SOLICITANTE NO TIENE UN CARGO EN ALGUN DEPARTAMENTO if ( select top 1 TArcDep.Encargado From TArcDep where (TArcDep.Encargado = @CodigoSolicitante ) AND (TArcDep.Estado = N'A') ) IS null BEGIN set @firma1 = (SELECT TArcDep.Encargado FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TSolDePagoMto ON TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud ) ) set @Firma2 = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirArea INNER JOIN TSolDePagoMto ON TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud) ) END ELSE BEGIN -- EL SOLICITANTE TIENE CARGO EN ALGUN DEPARTAMENTO set @Firma1 = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirArea INNER JOIN TSolDePagoMto ON TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud) ) set @Firma2 = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirGral INNER JOIN TSolDePagoMto ON TArcCInv.Usuario = TSolDePagoMto.SolPosRegistroUsuario WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud) ) END set @firma3 = @Firma2 --- para que neiro no tenga problemas -- 13nov07 segio dijo que las dos primeras firmas se repiten y la tercera es diferente set @Firma2 = @firma1 /* IF ( @DeptoServiciosGenerales = @DeptoDondeEstaElSolicitante ) and ( @TipoDeGasto IN (1,2,4,5,6,39,40,44) ) BEGIN Set @regla = 45002 if @Imprimo = 'S' print 'caso 45002' set @Firma1 = 642 -- MILY SE PUSO POR ORDENEN DE SERGIO EL 10 OCT 06 END */ -- el 21 oct 2008 sergio lo indico SELECT @CodigoBeneficiario = TSolDePagoMto.SolCodBeneficiario , @JefeDelBeneficiario = (SELECT TArcDep.Encargado FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep WHERE (TArcCInv.CodInv = TSolDePagoMto.SolCodBeneficiario ) AND (TArcDep.Estado = N'A') and (TSolDePagoMto.SolProvOEmp = 1) -- @interno = 1 ) , @JefeJefeDelBeneficiario = (SELECT TAProy.CodigoResponsable FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep INNER JOIN TAProy ON TAProy.CodigoProyecto = TArcDep.LmDirArea WHERE (TArcCInv.CodInv = TSolDePagoMto.SolCodBeneficiario ) AND (TArcDep.Estado = N'A') and (TSolDePagoMto.SolProvOEmp = 1) -- @interno = 1 ) FROM TSolDePagoMto WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud) if @CodigoBeneficiario = @firma3 begin if @JefeDelBeneficiario = @CodigoBeneficiario begin set @firma3 = @JefeJefeDelBeneficiario Set @regla = 43 if @Imprimo = 'S' print 'caso 43' end else begin set @firma3 = @JefeDelBeneficiario Set @regla = 44 if @Imprimo = 'S' print 'caso 44' end end set @CuantosFirmasCargo = 3 goto Termina_SolServicios end --*************************************************************** --*** El proyecto pertenece a algun departamento de academico *** --*************************************************************** iF ((@EsDepartamentoAcademico = 'SI') OR ( (@PerteneceAUnDeptoAcademico = 'SI' ) ) ) and ( @ElProyectoEsDeUnaRegional = 'NO' ) and -- si el proyecto NO es de posgrado ( @DeptoDondeEstaElProyecto not in ( @DeptoPosgrado , @DeptoServiciosEscolares , @DeptoDoctoradoSociales , @DeptoMaestriaMedioAmbiente , @DeptoMaestriaDemografia , @DeptoMaestriaDesarroloRegional , @DeptoMaestriaEconomiaAplicada , @DeptoMaestriaEstudiosCulturales , @DeptoMaestriaSocioCulturales -- @agus3 ) ) begin SET @EsAcademico = 'SI' --@AGUS if @Imprimo = 'S' print 'pase por regla ACADEMICOS SOL SERVICIOS' set @CuantosFirmasCargo = 0 -- S1.1 if (@EsDepartamentoAcademico = 'SI') begin if @Imprimo = 'S' print 'pase por regla 200' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @CodigoEncargadoDGA set @Firma3 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 3 Set @regla = 200 end -- S1.2 if (@EsProyectoAcademico = 'SI' or @EsProyectoAdministrativo = 'SI' ) and ( @CodigoResponsableDelProyecto <> @LmCoordResponsable ) -- @LmCoordResponsable = responsable del depto donde esta el proy. begin if @Imprimo = 'S' print 'pase por regla 201' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmCoordResponsable -- responsable del depto donde esta el proy. set @Firma3 = @CodigoEncargadoDGA set @CuantosFirmasCargo = 3 Set @regla = 201 if @Firma1 = @firma2 begin set @firma2 = @LmDirAreaResponsable set @firma3 = @LmDirGralResponsable End if @Firma1 = @firma3 begin set @firma3 = @LmDirGralResponsable End end -- S1.3 if ( (@EsProyectoAcademico = 'SI') or ( @EsProyectoAdministrativo = 'SI' ) ) and (@CodigoResponsableDelProyecto = @LmCoordResponsable) -- @LmCoordResponsable = responsable del depto donde esta el proy. begin if @Imprimo = 'S' print 'pase por regla 202' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @CodigoEncargadoDGA if @ProyFiscal = 'SI' set @Firma3 = @CodigoEncargadoSGA else set @Firma3 = @Firma2 set @CuantosFirmasCargo = 3 Set @regla = 202 end GOTO Termina_SolServicios end --*************************************************************** --*** El proyecto pertenece a algun departamento de POSGRADO **** --*************************************************************** -- S2 If ( @DeptoDondeEstaElProyecto in ( @DeptoPosgrado , @DeptoServiciosEscolares , @DeptoDoctoradoSociales , @DeptoMaestriaMedioAmbiente , @DeptoMaestriaDemografia , @DeptoMaestriaDesarroloRegional , @DeptoMaestriaEconomiaAplicada , @DeptoMaestriaEstudiosCulturales , @DeptoMaestriaSocioCulturales --@agus3 ) ) -- @DeptoMaestriaEconomiaAplicada begin if @Imprimo = 'S' print 'pase por regla 204' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @1JefeEncargadoDelProyectoSiEsJefeDeUnDepartamento set @Firma3 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 3 Set @regla = 204 GOTO Termina_SolServicios end --*********************************************** --*** El proyecto pertenece a alguna REGIONAL *** --*********************************************** -- S3 if ( @ElProyectoEsDeUnaRegional = 'SI' ) begin if @Imprimo = 'S' print 'pase por regla 205' if @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste) begin set @Firma1 = @EncargadoDeptoDireccionNoroeste if @Imprimo = 'S' print 'pase por regla 205a' end else begin set @Firma1 = @EncargadoDeptoDireccionNoreste if @Imprimo = 'S' print 'pase por regla 205b' End Set @Firma2 = @Firma1 if ( @CodigoBeneficiario = @EncargadoDeptoDireccionNoroeste ) or ( @CodigoBeneficiario = @EncargadoDeptoDireccionNoreste ) begin set @firma3 = @CodigoEncargadoSGA if @Imprimo = 'S' print 'pase por regla 205c' end else begin set @firma3 = @firma1 if @Imprimo = 'S' print 'pase por regla 205d' end if (@EsProyectoAcademico = 'SI') begin set @Firma1 = @CodigoResponsableDelProyecto if @Imprimo = 'S' print 'pase por regla 205e' -- @@firma2 = al Al codigo del la direcciongeneral regional correspondiente if @CodigoResponsableDelProyecto = @firma2 begin set @firma3 = @CodigoEncargadoSGA if @Imprimo = 'S' print 'pase por regla 205f' end else begin if @Imprimo = 'S' print 'pase por regla 205g' set @firma3 = @firma2 end end set @CuantosFirmasCargo = 3 Set @regla = 205 GOTO Termina_SolServicios end --****************************************************************** --*** El proyecto pertenece a alguna DEPARTAMENTO ADMINISTRATIVO *** --****************************************************************** if ( ( @EsDepartamentoAdministrativo ='SI' ) or ( @EsProyectoAdministrativo = 'SI' ) ) begin -- S4.1 if ( @CodigoSolicitante <> @CodigoResponsableDelProyecto ) begin if @Imprimo = 'S' print 'pase por regla 206' set @Firma1 = @CodigoResponsableDelProyecto if @EsProyectoAdministrativo = 'SI' set @Firma2 = @LmCoordResponsable -- @LmCoordResponsable = responsable del depto donde esta el proy. else set @Firma2 = @LmDirAreaResponsable set @Firma3 = @firma2 Set @regla = 206 if @EsInvestigadorElReponsableDelProyecto = 'SI' begin -- EL Resp. del proyecto TIENE ALGUN CARGO EN ALGUN DEPARTAMENTO if ( select top 1 TArcDep.LmDirArea from TArcDep where (TArcDep.Encargado = @CodigoResponsableDelProyecto ) AND (TArcDep.Estado = N'A') ) is not null begin set @Firma2 = @CodigoEncargadoDGA set @Firma3 = @CodigoEncargadoSGA end else begin set @Firma2 = @LmCoordResponsable set @Firma3 = @CodigoEncargadoDGA end End end else begin -- S4.2 if @Imprimo = 'S' print 'pase por regla 207' set @Firma1 = @CodigoResponsableDelProyecto if @EsProyectoAdministrativo = 'SI' begin set @Firma2 = @LmCoordResponsable -- @LmCoordResponsable = responsable del depto donde esta el proy. set @Firma3 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy. end else begin set @Firma2 = @LmDirAreaResponsable -- @LmDirAreaResponsable = jefe del responsable del depto donde esta el proy. set @Firma3 = @LmDirGralResponsable -- @LmDirGralResponsable = jefe-jefe del responsable del depto donde esta el proy. end Set @regla = 207 if @EsInvestigadorElReponsableDelProyecto = 'SI' begin -- EL Resp. del proyecto TIENE ALGUN CARGO EN ALGUN DEPARTAMENTO if ( select top 1 TArcDep.LmDirArea from TArcDep where (TArcDep.Encargado = @CodigoResponsableDelProyecto ) AND (TArcDep.Estado = N'A') ) is not null begin --print 'aaaaaaaaaaaaaaa' set @Firma2 = @CodigoEncargadoDGA set @Firma3 = @CodigoEncargadoSGA end else begin --print 'bbbbbbbbbbbbbbbb' set @Firma2 = @LmCoordResponsable set @Firma3 = @CodigoEncargadoDGA end End end if @EsDirectorElResponsableDelProyecto = 'SI' begin set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @JefeDelResponsableDelProyectoCuandoEsDepartamento if @CodigoResponsableDelProyecto = @CodigoSolicitante BEGIN -- set @Firma3 = @JefeJefeDelResponsableDelProyectoCuandoEsDepartamento select @Firma3 = (SELECT proy2.CodigoResponsable FROM TAProy Proy2 INNER JOIN TArcDep ON proy2.CodigoProyecto = TArcDep.LmDirGral WHERE (TArcDep.Coordinacion = TAProy.coordinacionArea ) AND (TArcDep.Estado = N'A') ) FROM TAProy INNER JOIN TSolDePagoMto ON TAProy.CodigoProyecto = TSolDePagoMto.SolCodProyecto INNER JOIN TArcDep ON TAProy.CoordinacionArea = TArcDep.Coordinacion WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud) AND (TArcDep.Estado = N'A') END else set @Firma3 = @Firma2 end set @CuantosFirmasCargo = 3 -- checo si es es del consejo academico y tiene el concepto de "Desayuno" o "comida" o "alimento" if @firma2 = @CodigoEncargadoSGA begin declare @Justificacion nvarchar(200) SELECT @Justificacion = SolJustificacion FROM TSolDePagoMto WHERE (TSolDePagoMto.SolIncremental = @CualSolicitud) if CHARINDEX('Consejo Académico', @Justificacion) > 0 begin if CHARINDEX('desayuno', @Justificacion) > 0 or CHARINDEX('comida', @Justificacion) > 0 or CHARINDEX('alimento', @Justificacion) > 0 begin Set @Firma3 = @CodigoEncargadoSGA end end end GOTO Termina_SolServicios end Termina_SolServicios: if @CodigoBeneficiario = @Firma3 begin if @Imprimo = 'S' print 'tambien pase por beneficiario = ultima firma' set @firma3 = @JefeDelBeneficiario end /* if @TipoDeGasto = 36 begin set @regla = 49 if @Imprimo = 'S' print 'caso 49' set @Firma2 = 590 --erick set @Firma3 = 590 -- erick en teoria se cargaron las tres firmas antes . Esto es para que Lic eduardo rivera no firme end */ if @proyecto = @CodigoProySGA and @TipoDeGasto = 52 -- honorarios extranjeros begin Set @regla = 48 if @Imprimo = 'S' print 'caso 47' set @Firma1 = 911 -- 948 =alejandro lomeli se cambio a 911=abundio 10nov08 set @Firma2 = @CodigoEncargadoSGA set @Firma3 = @CodigoEncargadoSGA set @CuantosFirmasCargo = 3 end --/* -- debe de existir las dos palabras "Consejo Académico" y "alimentos" en un campo o en los dos campos ( @SolJustificacion y @SolJustificacion ) if -- CON ACENTO Académico ( (@SolJustificacion LIKE N'%Consejo Académico%') AND (@SolJustificacion LIKE N'%alimentos%') ) OR ( (@SolObservaciones LIKE N'%Consejo Académico%') AND (@SolJustificacion LIKE N'%alimentos%') ) or ( ( ( @SolJustificacion LIKE N'%Consejo Académico%') or (@SolJustificacion LIKE N'%Consejo Académico%') ) and ( ( @SolObservaciones LIKE N'%alimentos%') AND (@SolObservaciones LIKE N'%alimentos%') ) ) or ( ( ( @SolJustificacion LIKE N'%alimentos%') or (@SolJustificacion LIKE N'%alimentos%') ) and ( ( @SolObservaciones LIKE N'%Consejo Académico%') AND (@SolObservaciones LIKE N'%Consejo Académico%') ) ) or -- sin acento academicos ( (@SolJustificacion LIKE N'%Consejo Academico%') AND (@SolJustificacion LIKE N'%alimentos%') ) OR ( (@SolObservaciones LIKE N'%Consejo Academico%') AND (@SolObservaciones LIKE N'%alimentos%') ) or ( ( ( @SolJustificacion LIKE N'%Consejo Academico%') or (@SolJustificacion LIKE N'%Consejo Academico%') ) and ( ( @SolObservaciones LIKE N'%alimentos%') AND (@SolObservaciones LIKE N'%alimentos%') ) ) or ( ( ( @SolJustificacion LIKE N'%alimentos%') or (@SolJustificacion LIKE N'%alimentos%') ) and ( ( @SolObservaciones LIKE N'%Consejo Academico%') AND (@SolObservaciones LIKE N'%Consejo Academico%') ) ) begin Set @regla = 140 if @Imprimo = 'S' print 'caso 140' set @Firma3 = @CodigoEncargadoSGA set @Puesto3 = @PuestoSecretaria end --*/ end --**************************************************************************************************************************** -- SOLICITUD DE ALMACEN (cargo firmas) --**************************************************************************************************************************** -- acuerdate que al inicio del programa puede hacer que se salte esta parte del programa, por lo tanto las firmas se -- evaluan arriba if @TipoSolicitud = @FormaAlmacen begin if @Imprimo = 'S' print 'es solicitud de almacen CARGO FIRMAS' ---la siguiente opcion se puso porque las areas de servicio generan las solicitudes porque la ciudad de mexico no tiene sistema IF @proyecto = 282 -- ciudad de mexico begin Set @regla = 101 if @Imprimo = 'S' print 'almacen presidencia' set @DeptoDondeEstaElSolicitante = (SELECT TArcCInv.DepInv FROM TArcCInv WHERE TArcCInv.CodInv = (select TGtoForMatParaAlmMtro.GMPAFirSolicitoQuien from TGtoForMatParaAlmMtro WHERE TGtoForMatParaAlmMtro.GMPACod = @CualSolicitud ) ) set @JefeDelSolicitante = (SELECT TArcDep.Encargado FROM TArcCInv INNER JOIN TArcDep ON TArcCInv.DepInv = TArcDep.CodDep WHERE TArcCInv.CodInv = (select TGtoForMatParaAlmMtro.GMPAFirSolicitoQuien from TGtoForMatParaAlmMtro WHERE TGtoForMatParaAlmMtro.GMPACod = @CualSolicitud ) ) if @DeptoDondeEstaElSolicitante in ( @DeptoCompras , @DeptoObrasYMantenimiento , @DeptoContabilidad , @DeptoPresupuestos , @DeptoFinanzas , @DeptoRecursosHumanos , @DeptoRelacionesLaborales , @DeptoRecursosMaterialesYServicios , @DeptoTesoreria , @DeptoNominas , @DeptoServiciosGenerales ) begin Set @regla = 101 if @Imprimo = 'S' print 'almacen presidencia' set @Firma1 = @JefeDelSolicitante set @Firma2 = @JefeDelSolicitante set @Firma3 = @JefeDelSolicitante set @CuantosFirmasCargo = 3 GOTO TERMINA end end if @Imprimo = 'S' BEGIN print '@PartidaDeUnArticulo' PRINT @PartidaDeUnArticulo END if @PartidaDeUnArticulo is null set @CuantosFirmasCargo = 0 begin if @activos = SubString(CAST(@PartidaDeUnArticulo as nvarchar(4)),1,1) -- para ver si es activos el articulo de almacen ya que si es activos todos los articulos solicitados seran activos begin if @Imprimo = 'S' print 'SON ACTIVOS' set @Firma1 = @CodigoResponsableProyCompras set @firma2 = @CodigoResponsableProyDireccionMateriales end else begin if @Imprimo = 'S' print 'NO SON ACTIVOS' set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @LmCoordResponsable end if ( (@firma1 = -1) or (ISNULL(@firma1,-1) = -1) ) or ( (@firma2 = -1) or (ISNULL(@firma2,-1) = -1) ) begin set @CuantosFirmasCargo = 0 end else begin set @CuantosFirmasCargo = 2 end end ------------------------------------------------------------------------------------------------------------ -- caso 101 if @DeptoDondeEstaElProyecto in ( @DeptoMonterrey , @DeptoNuevoLaredo , @DeptoMatamoros , @DeptoPiedrasNegras , @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste , @DeptoRegionalNoreste ) set @ElProyectoEsDeUnaRegional = 'SI' else set @ElProyectoEsDeUnaRegional = 'NO' if @proyecto = @LmCoord -- quiere decir que es un proyecto departamental begin set @EsProyectoAcademico = 'NO' Set @EsProyectoAdministrativo = 'NO' If @TipoDepartamento = 'Departamentos Académicos' begin set @EsDepartamentoAcademico = 'SI' set @EsDepartamentoAdministrativo = 'NO' end else begin set @EsDepartamentoAcademico = 'NO' set @EsDepartamentoAdministrativo = 'SI' end end else begin set @EsDepartamentoAdministrativo = 'NO' set @EsDepartamentoAcademico = 'NO' if @AreaControlDelProyecto = @Academico begin set @EsProyectoAcademico = 'SI' Set @EsProyectoAdministrativo = 'NO' end else begin set @EsProyectoAcademico = 'NO' Set @EsProyectoAdministrativo = 'SI' end end if ( @ElProyectoEsDeUnaRegional = 'SI' ) AND ( @EsDepartamentoadministrativo = 'SI' ) begin if @DeptoDondeEstaElProyecto in ( @DeptoCiudadJuarez , @DeptoMexicali , @DeptoNogales , @DeptoRegionalNoroeste) set @TemFirma = @EncargadoDeptoDireccionNoroeste else set @TemFirma = @EncargadoDeptoDireccionNoreste if @CuantosFirmasCargo <1 -- hay un error porque deberia de estar cargado las tres firmas porque en esta regla solo pongo la tercera firma begin if @Imprimo = 'S' print 'hay un error porque deberia de estar cargado las tres firmas porque en esta regla solo pongo la tercera firma' end else begin set @regla =280 set @Firma1 = @TemFirma if @Imprimo = 'S' print 'caso 280' end end if (@EsProyectoComplementario ='SI' ) and ( @EsDirectorElResponsableDelProyecto = 'SI' ) begin if @Imprimo = 'SI' print 'pase por regla 215' set @regla = 215 set @Firma1 = @CodigoResponsableDelProyecto set @Firma2 = @CodigoResponsableDelProyecto set @CuantosFirmasCargo = 2 end --@agus0 if (@EsProyectoComplementario ='SI' ) begin print 'entre complementarios****' print @OficinaDondeEstaElBeneficiario print @firma2 if @OficinaDondeEstaElBeneficiario in ( @OfiMonterrey, @OfiNuevoLaredo, @OfiMatamoros, @OfiPiedrasNegras ) set @firma2 = @CodigoResponsableRegionalNorEste if @OficinaDondeEstaElBeneficiario in ( @OfiCiudadJuarez, @OfiMexicali, @OfiNogales ) set @firma2 = @CodigoResponsableRegionalNoroEste print @firma2 end -- TERMINA CASO 101 ------------------------------------------------------------------------------------------------------------ ENd --**************************************************************************************************************************** -- SOLICITUD DE COMPRA (cargo firmas) --**************************************************************************************************************************** if @TipoSolicitud = @FormaCompra begin if @Imprimo = 'S' print 'es solicitud de COMPRA CARGO FIRMAS' set @Firma1 = @CodigoResponsableProyCompras set @Firma2 = @CodigoResponsableProyDireccionMateriales if (select top 1 GrupoFinan from TaProyComplemento where TaProyComplemento.CodigoProyecto = @proyecto) <> 1 -- indica que NO es SEP la fuente de financiamiento begin set @firma2 = @CodigoResponsableDelProyecto end if @ValorDeLaCompra > @MontoMaximoDeCompra set @Firma3 = @CodigoResponsableProyDireccionGeneralAdmon if ( (@firma1 = -1) or (ISNULL(@firma1,-1) = -1) ) or ( (@firma2 = -1) or (ISNULL(@firma2,-1) = -1) ) begin set @CuantosFirmasCargo = 0 end else begin if @ValorDeLaCompra > @MontoMaximoDeCompra begin if ISNULL(@CodigoResponsableProyDireccionGeneralAdmon,-1) = -1 set @CuantosFirmasCargo = 0 else set @CuantosFirmasCargo = 3 end else set @CuantosFirmasCargo = 2 end end TERMINA: /* if @FirmaFija = 'NO' --@agus2 begin if @Firma1 = 5495 set @Firma1 = 53 if @Firma2 = 5495 set @Firma2 = 53 if @Firma3 = 5495 set @Firma3 = 53 if @Firma4 = 5495 set @Firma4 = 53 if @Firma5 = 5495 set @Firma5 = 53 if @Firma6 = 5495 set @Firma6 = 53 end */ set @LmCoordResponsable = ISNULL(@LmCoordResponsable , -1) set @LmDirAreaResponsable = ISNULL(@LmDirAreaResponsable , -1) set @LmDirGralResponsable = ISNULL(@LmDirGralResponsable , -1) set @LmCoord = ISNULL(@LmCoord , -1) set @proyecto = ISNULL(@proyecto , -1) set @JefeDelBeneficiario = ISNULL(@JefeDelBeneficiario , -1) set @JefeJefeDelBeneficiario = ISNULL(@JefeJefeDelBeneficiario , -1) set @firma7 = @regla -- O J O como no estoy usando la firma 7 ahi mando la regla que se esta aplicando if @CuantosFirmasCargo = 0 set @firma1 = -1 if @CuantosFirmasCargo <= 1 set @firma2 = -1 if @CuantosFirmasCargo <= 2 set @firma3 = -1 if @CuantosFirmasCargo <= 3 set @firma4 = -1 if @CuantosFirmasCargo <= 4 set @firma5 = -1 if @CuantosFirmasCargo <= 5 set @firma6 = -1 if (@CuantosFirmasCargo >= 1) and (@Firma1 is null) BEGIN set @CuantosFirmasCargo = 0 PRINT '***1' end if (@CuantosFirmasCargo >= 2) and (@Firma2 is null) BEGIN set @CuantosFirmasCargo = 0 PRINT '***2' END if (@CuantosFirmasCargo >= 3) and (@Firma3 is null) BEGIN set @CuantosFirmasCargo = 0 PRINT '***3' END if (@CuantosFirmasCargo >= 4) and (@Firma4 is null) BEGIN set @CuantosFirmasCargo = 0 PRINT '***4' END if (@CuantosFirmasCargo >= 5) and (@Firma5 is null) BEGIN set @CuantosFirmasCargo = 0 PRINT '***5' END if (@CuantosFirmasCargo >= 6) and (@Firma6 is null) BEGIN set @CuantosFirmasCargo = 0 PRINT '***6' END --******************************** CAMBIOS TEMPORALES POR CAMBIO TEMPORAL DE PRESIDENTE ******************************* if @Firma1 = 3 and @Puesto1 = @PuestoSecretaria set @Puesto1 = @PuestoPresidencia if @Firma2 = 3 and @Puesto2 = @PuestoSecretaria set @Puesto2 = @PuestoPresidencia if @Firma3 = 3 and @Puesto3 = @PuestoSecretaria set @Puesto3 = @PuestoPresidencia if @Firma4 = 3 and @Puesto4 = @PuestoSecretaria set @Puesto4 = @PuestoPresidencia if @Firma5 = 3 and @Puesto5 = @PuestoSecretaria set @Puesto5 = @PuestoPresidencia if @Firma6 = 3 and @Puesto6 = @PuestoSecretaria set @Puesto6 = @PuestoPresidencia if (@CuantosFirmasCargo = 6) and @Firma6 = 3 and @firma5 = 3 set @CuantosFirmasCargo = 5 if (@CuantosFirmasCargo = 5) and @Firma5 = 3 and @firma4 = 3 set @CuantosFirmasCargo = 4 if (@CuantosFirmasCargo = 4) and @Firma4 = 3 and @firma3 = 3 set @CuantosFirmasCargo = 3 ------------------------------------------------------------------------------------------------------------------ --- PARA ORDENAR LAS FIRMAS POR JERARQUIA DEL CARGO ------------------------------------------------------------------------------------------------------------------ --/* if @SorteaFirmasPorPuesto = 'SI' begin create table #ordena ( incremental int, firma int , cargo int , NombreCargo int ) declare @cargo1 int, @cargo2 int, @cargo3 int, @cargo4 int, @cargo5 int, @cargo6 int if @CuantosFirmasCargo >= 1 begin set @cargo1 = (SELECT jerarquia from TArcCargos inner join TArcCInv on TArcCInv.cargo = TArcCargos.codigo where TArcCInv.CodInv = @firma1 ) INSERT #ordena (firma , cargo , NombreCargo) VALUES(@firma1, @cargo1 , @Puesto1) end if @CuantosFirmasCargo >= 2 begin set @cargo2 = (SELECT jerarquia from TArcCargos inner join TArcCInv on TArcCInv.cargo = TArcCargos.codigo where TArcCInv.CodInv = @firma2 ) INSERT #ordena (firma , cargo , NombreCargo) VALUES(@firma2, @cargo2 , @Puesto2) end if @CuantosFirmasCargo >= 3 begin set @cargo3 = (SELECT jerarquia from TArcCargos inner join TArcCInv on TArcCInv.cargo = TArcCargos.codigo where TArcCInv.CodInv = @firma3 ) INSERT #ordena (firma , cargo , NombreCargo) VALUES(@firma3, @cargo3 , @Puesto3) end if @CuantosFirmasCargo >= 4 begin set @cargo4 = (SELECT jerarquia from TArcCargos inner join TArcCInv on TArcCInv.cargo = TArcCargos.codigo where TArcCInv.CodInv = @firma4 ) INSERT #ordena (firma , cargo , NombreCargo) VALUES(@firma4, @cargo4 , @Puesto4) end if @CuantosFirmasCargo >= 5 begin set @cargo5 = (SELECT jerarquia from TArcCargos inner join TArcCInv on TArcCInv.cargo = TArcCargos.codigo where TArcCInv.CodInv = @firma5 ) INSERT #ordena (firma , cargo , NombreCargo ) VALUES(@firma5, @cargo5, @Puesto5) end if @CuantosFirmasCargo >= 6 begin set @cargo6 = (SELECT jerarquia from TArcCargos inner join TArcCInv on TArcCInv.cargo = TArcCargos.codigo where TArcCInv.CodInv = @firma6 ) INSERT #ordena (firma , cargo , NombreCargo) VALUES(@firma6, @cargo6 , @Puesto6) end declare @firma int , @cargo int , @x int Declare FirmasOrdenCursor cursor for select firma,cargo , NombreCargo from #ordena order by cargo desc open FirmasOrdenCursor Fetch next from FirmasOrdenCursor into @firma, @cargo , @NombreCargo set @x = 1 while @@Fetch_Status = 0 begin if @x = 1 begin SET @firma1 = @firma set @puesto1 = @NombreCargo end if @x = 2 begin SET @firma2 = @firma set @puesto2 = @NombreCargo end if @x = 3 begin SET @firma3 = @firma set @puesto3 = @NombreCargo end if @x = 4 begin SET @firma4 = @firma set @puesto4 = @NombreCargo end if @x = 5 begin SET @firma5 = @firma set @puesto5 = @NombreCargo end if @x = 6 begin SET @firma6 = @firma set @puesto6 = @NombreCargo end Fetch next from FirmasOrdenCursor into @firma, @cargo , @NombreCargo set @x = @x + 1 end if @Imprimo = 'S' select * from #ordena Drop table #ordena close FirmasOrdenCursor DEALLOCATE FirmasOrdenCursor end SET @CambiarFirmas = 'NO' --@AGUS /*--**************************************************************************************************************************** PARA DETERMINAR SI OCULTO FIRMAS ES DECIR SI EN EN SERVICIOS SE ENCUENTRA LA FIRMA DE GUDELIA ENTONCES SE CANCELA A PARTIR DE DONDE ESTA LA FIRMA DE GUDELIA SIEMPRE Y CUANDO LA SOLICITUD ESTE CONSIDERADA COMO ACADEMICA. SI ES VIATICOS Y FIRMAN GUDELIA Y RODOLFO CRUZ ENTONCES SE CANCELA A PARTIR DE DONDE ESTA LA FIRMA DE GUDELIA SIEMPRE Y CUANDO LA SOLICITUD ESTE CONSIDERADA COMO ACADEMICA. */ --************************************************************************************************************************** Set @CanceloFirmasApartir = 0 set @FirmoDGA = 'NO' set @FirmoSGA = 'NO' set @CualFirma = 0 if (@TipoSolicitud = @FormaServiciosVarios ) or ( @TipoSolicitud = @FormaViaticos ) begin if @EsAcademico = 'SI' begin ---- firmo dga -------------- if @Firma1 = @CodigoEncargadoDGA begin set @FirmoDga = 'SI' set @CualFirma = 1 end if ( @Firma2 = @CodigoEncargadoDGA ) and ( @FirmoDGA = 'NO') begin set @FirmoDga = 'SI' set @CualFirma = 2 end if ( @Firma3 = @CodigoEncargadoDGA) and ( @FirmoDGA = 'NO') begin set @FirmoDga = 'SI' set @CualFirma = 3 end if ( @Firma4 = @CodigoEncargadoDGA) and ( @FirmoDGA = 'NO') begin set @FirmoDga = 'SI' set @CualFirma = 4 end if ( @Firma5 = @CodigoEncargadoDGA) and ( @FirmoDGA = 'NO') begin set @FirmoDga = 'SI' set @CualFirma = 5 end if ( @Firma6 = @CodigoEncargadoDGA) and ( @FirmoDGA = 'NO') begin set @FirmoDga = 'SI' set @CualFirma = 6 end --- FIRMO SGA ---------------- if ( @Firma1 = @CodigoEncargadoSGA ) OR ( @Firma2 = @CodigoEncargadoSGA ) OR ( @Firma3 = @CodigoEncargadoSGA ) OR ( @Firma4 = @CodigoEncargadoSGA ) OR ( @Firma5 = @CodigoEncargadoSGA ) OR ( @Firma6 = @CodigoEncargadoSGA ) Set @FirmoSGA = 'SI' IF ( @TipoSolicitud = @FormaServiciosVarios ) AND ( @FirmoDga = 'SI' ) Set @CanceloFirmasApartir = @CualFirma IF ( @TipoSolicitud = @FormaViaticos ) AND ( @FirmoDga = 'SI' ) AND ( @FirmoSGA = 'SI' ) Set @CanceloFirmasApartir = @CualFirma if @CanceloFirmasApartir = 1 set @CanceloFirmasApartir = 0 set @CanceloFirmasApartir = 0 -- el 13 de marzo del 2007 por instrucciones de raul por medio de sergio se quita el ocultar las firmas end End --*/ if @Imprimo = 'S' begin declare @nom nvarchar(120) PRINT '@CanceloFirmasApartir ' PRINT @CanceloFirmasApartir print 'regla' print @firma7 print 'proyecto' print @proyecto print '@LmCoordResponsable' print @LmCoordResponsable print 'Firma 1' print @Firma1 select @nom = NomInv from TArcCInv where CodInv = @firma1 print @nom print 'firma 2' print @Firma2 select @nom = NomInv from TArcCInv where CodInv = @firma2 print @nom print '@Firma3' print @Firma3 select @nom = NomInv from TArcCInv where CodInv = @firma3 print @nom print '@Firma4' print @Firma4 select @nom = NomInv from TArcCInv where CodInv = @firma4 print @nom print '@Firma5' print @Firma5 select @nom = NomInv from TArcCInv where CodInv = @firma5 print @nom print '@Firma6' print @Firma6 select @nom = NomInv from TArcCInv where CodInv = @firma6 print @nom print 'titulo cargo 1' print @puesto1 print 'titulo cargo 2' print @puesto2 print 'titulo cargo 3' print @puesto3 print 'titulo cargo 4' print @puesto4 print 'titulo cargo 5' print @puesto5 print 'titulo cargo 6' print @puesto6 print '@CuantosFirmasCargo' print @CuantosFirmasCargo print '@JefeDelBeneficiario' print @JefeDelBeneficiario print '@JefeJefeDelBeneficiario' print @JefeJefeDelBeneficiario print '@JefeJefeJefeDelBeneficiario' print @JefeJefeJefeDelBeneficiario print '@EsProyectoAdministrativo' print @EsProyectoAdministrativo PRINT '@EsProyectoAcademico ' PRINT @EsProyectoAcademico PRINT '@EsDepartamentoAdministrativo' PRINT @EsDepartamentoAdministrativo PRINT '@EsDepartamentoAcademico' print @EsDepartamentoAcademico PRINT '@EsInvestigador' PRINT @EsInvestigador PRINT '@CargoDelInvestigador' PRINT @CargoDelInvestigador PRINT '@TipoInvestigador' PRINT @TipoInvestigador PRINT '@CodigoBeneficiario' PRINT @CodigoBeneficiario PRINT '@EsDirectorElBeneficiario' PRINT @EsDirectorElBeneficiario PRINT '@CodigoResponsablePresidencia' PRINT @CodigoResponsablePresidencia PRINT '@CodigoProyPresidencia' PRINT @CodigoProyPresidencia print '@CodigoResponsableDelProyecto' print @CodigoResponsableDelProyecto print '@TipoBeneficiario = 2 = externo' print @TipoBeneficiario print '@DeptoDondeEstaElSolicitante' print @DeptoDondeEstaElSolicitante print '@CodigoSolicitante' print @CodigoSolicitante print '@JefeDelSolicitante' print @JefeDelSolicitante print '@JefeDelJefeDelSolicitante' print @JefeJefeDelSolicitante print '@JefeDelJefeDelJefeDelSolicitante' print @JefeJefeJefeDelSolicitante print '@EsDirectorElResponsableDelProyecto' print @EsDirectorElResponsableDelProyecto print '@CodigoDelCargoDelResponsableDelProyecto' print @CodigoDelCargoDelResponsableDelProyecto print '@EsDirectorElResponsableDelProyecto ' print @EsDirectorElResponsableDelProyecto print 'Encargado del departamento donde esta el proyecto' print @LmCoordResponsable PRINT '@EncargadoDeptoDireccionNoroeste' PRINT @EncargadoDeptoDireccionNoroeste PRINT @EncargadoDeptoDireccionNoreste PRINT '@EncargadoDeptoDireccionNoreste' PRINT '@LmDirAreaResponsable = jefe del encargado del departamento donde esta el proyecto' PRINT @LmDirAreaResponsable PRINT '@LmDirGralResponsable = jefe del jefe del encargado del departamento donde esta el proyecto' PRINT @LmDirGralResponsable PRINT '@LmCoord' print @LmCoord print '@CodigoResponsableProyCompras' print @CodigoResponsableProyCompras print '@CodigoResponsableProyDireccionMateriales' print @CodigoResponsableProyDireccionMateriales print 'el beneficiario es encargado de un departamento ' if ( select top 1 TArcDep.Encargado From TArcDep where (TArcDep.Encargado = @CodigoBeneficiario) AND (TArcDep.Estado = N'A') ) IS null -- quiere decir que el beneficiario no esta encargado de algun departamento print 'NO' else print 'SI' print '@TipoDepartamento' print @TipoDepartamento print '@AreaControlDelProyecto = 2 = proyecto de investigacion' print @AreaControlDelProyecto PRINT '@JefeDelResponsableDelProyectoCuandoEsProyecto' PRINT @JefeDelResponsableDelProyectoCuandoEsProyecto PRINT '@JefeJefeDelResponsableDelProyectoCuandoEsProyecto' PRINT @JefeJefeDelResponsableDelProyectoCuandoEsProyecto PRINT '@JefeDelResponsableDelProyectoCuandoEsDepartamento' PRINT @JefeDelResponsableDelProyectoCuandoEsDepartamento PRINT '@JefeJefeDelResponsableDelProyectoCuandoEsDepartamento' PRINT @JefeJefeDelResponsableDelProyectoCuandoEsDepartamento print '@CodigoDelCargoDelSolicitante' print @CodigoDelCargoDelSolicitante print '@EsDirectorElSolicitante' print @EsDirectorElSolicitante print '@TipoDeGasto' print @TipoDeGasto print '@CambiarFirmas' print @CambiarFirmas print '@DeptoDondeEstaElBeneficiario' print @DeptoDondeEstaElBeneficiario print '@DeptoDondeEstaElProyecto' print @DeptoDondeEstaElProyecto print '@CodigoDelBeneficiario' print @CodigoDelBeneficiario print '@ElBeneficiarioEsEncargadoDeUnDepartamento' print @ElBeneficiarioEsEncargadoDeUnDepartamento print '@2JefeJefeEncargadoDelProyectoSiEsJefeDeUnDepartamento' print @2JefeJefeEncargadoDelProyectoSiEsJefeDeUnDepartamento print '@ElProyectoEsDeUnaRegional' print @ElProyectoEsDeUnaRegional print '@1JefeEncargadoDelProyectoSiEsJefeDeUnDepartamento' print @1JefeEncargadoDelProyectoSiEsJefeDeUnDepartamento print '@PuestojefeImediatoSuperior' print @PuestojefeImediatoSuperior print '@PerteneceAUnDeptoAcademico' print @PerteneceAUnDeptoAcademico print '@EsDirectorElResponsableDelProyecto' print @EsDirectorElResponsableDelProyecto print @EsDirectorElResponsableDelProyecto print '@CodigoEncargadoDGA' print @CodigoEncargadoDGA print '@CodigoEncargadoSGA' print @CodigoEncargadoSGA print '@OficinaDondeEstaElBeneficiario' --@agus9 print @OficinaDondeEstaElBeneficiario end insert TFirmasRastreo select @CualSolicitud , @TipoSolicitud , @CuantosFirmasCargo , @EsIntercional , @Firma1 , @Firma2 , @Firma3 , @firma4 , @firma5 , @firma6 , @CargoJefeBeneficiario , GETDATE() /* para calar la rutina del Store procedure de SpFirmas declare @CualSolicitud integer , -- Es el numero de la solicitud que se va ha evaluar las firmas @TipoSolicitud integer , -- Indica si la solicitud es de servicios(3), viaticos(2), almacen(1), compra(5) @CuantosFirmasCargo integer ,--output, -- cuantas firmas estoy cargando. @EsIntercional integer , -- Solo para viaticos y pasajes . Me mandan el el valor 1 = nacional y 2 = internacional @Firma1 integer , --output, -- Aqui se pone el codigo de la persona que es el responsable del proyecto @Firma2 integer , --output, -- Aqui se pone el codigo de la persona que es el jefe inmediato @Firma3 integer , --output, -- Aqui se pone el codigo de la persona que es jefe de jefes @fIRMA4 integer , -- es la cuarta firma @fIRMA5 integer , -- es la cuarta firma @fIRMA6 integer , -- es la cuarta firma @fIRMA7 integer , -- es la cuarta firma @CambioFirmas nvarchar(2), -- para indicar si se intercambia las dos ultimas formas @cargo1 integer, @cargo2 integer, @cargo3 integer, @cargo4 integer, @cargo5 integer, @cargo6 integer , @CanceloFirmasApartir INTEGER exec SpFirmas 1653, 2 , @CuantosFirmasCargo output,2,@Firma1 output , @Firma2 output , @Firma3 output , @Firma4 output, @Firma5 output, @Firma6 output , @Firma7 output , @CambioFirmas output , @cargo1 output , @cargo2 output , @cargo3 output , @cargo4 output , @cargo5 output , @cargo6 output , @CanceloFirmasApartir OUTPUT print '@CanceloFirmasApartir' print @CanceloFirmasApartir print '@CuantosFirmasCargo' print @CuantosFirmasCargo print '@Firma1' print @Firma1 print '@Firma2' print @Firma2 print '@Firma3' print @Firma3 print '@Firma4' print @Firma4 print '@Firma5' print @Firma5 print '@Firma6' print @Firma6 print '@cargo1' print @Firma1 print '@cargo2' print @Firma2 print '@cargo3' print @Firma3 print '@cargo4' print @Firma4 print '@cargo5' print @Firma5 print '@cargo6' print @Firma6 print '@CambioFirmas' print @CambioFirmas */