Esta versão foi prevista para ser liberada em 06/10/2022.
212991 - RVDD
Banco MSQL
No banco acadêmico, rodar os scripts individualmente: diretor_mssql, responsavelInstituicao_mssql, reitor_mssql, responsavelRegistro_mssql.
Antes de rodar, alterar o nome do banco “QUA_PADRAO_SEC” pelo nome do banco do security do cliente.
Obs.: No script responsavelInstituicao_mssql, tem 2 sql´s, rodar individualmente;
No retorno dos sql´s, a primeira coluna será um insert que deve ser rodado no banco ICO. Se voltou null, desprezar.
Alguns sql´s, podem não retornar registros, isso não é um problema.
Banco Oracle
a) Rodar no banco do security do cliente o sql: SELECT ECO_TIPCOM FROM TB_ENTIDADE_COMPARTILHADA WHERE ECO_ENTIDADE = 'ParametrosSubNivelUnidade'
b) No banco acadêmico, rodar os scripts individualmente: diretor_oracle, responsavelInstituicao_oracle, reitor_oracle, responsavelRegistro_oracle.
Antes de rodar, alterar @ECO_TIPCOM pelo valor retornado no item “a”.
No retorno dos sql´s, a primeira coluna será um insert que deve ser rodado no banco ICO. Se voltou null, desprezar.
Alguns sql´s, podem não retornar registros, isso não é um problema.
Abaixo, seguem os scripts para execução no banco de dados MSSQL. clique nas abas para expandi-las.
1) MSSQL - Script diretor_mssql
DECLARE @ECO_TIPCOM VARCHAR(255) SELECT @ECO_TIPCOM = ECO_TIPCOM FROM QUA_PADRAO_SEC.DBO.TB_ENTIDADE_COMPARTILHADA WHERE ECO_ENTIDADE = 'ParametrosSubNivelUnidade' SELECT DISTINCT (CASE WHEN DOC_ASSINAREGDIR = 1 THEN 'INSERT INTO TB_PESSOA_ASSIN_ELETRONICA (PAS_PESID, PAS_CHAVE, PAS_CASID, PAS_EMAIL, ATIVO, DATA_ULT_ALTERACAO, GRUPO_UNIDON, UNIDON, USUARIO_ULT_ALTERACAO, VERSAO, PAS_CARGO, PAS_ICEID, PAS_TIPO_CARGO, PAS_DOCID, PAS_DENID) SELECT top 1 ' + CAST(PSU_DIRPESID AS VARCHAR(10)) + ', null, ' + CAST(PAS_CASID AS VARCHAR(10)) + ', ''' + CAST(DIR.PES_EMAIL COLLATE Latin1_General_CI_AI AS VARCHAR(400)) + ''', 1, getdate(), ' + CAST(ING.GRUPO_UNIDON AS VARCHAR(10)) + ', ' + CAST(ING.UNIDON AS VARCHAR(10)) + ', ''EDU'', 1, ''' + COALESCE(OCDIR.OCP_DESCRI,'Diretor') + ''', ' + CAST(ICE_ID AS VARCHAR(10)) + ', ''DIRETOR'', ' + CAST(DOC_DOCID AS VARCHAR(10)) + ', NULL FROM TB_PARAMETROS_GERAIS WHERE (SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_DOCID = ' + CAST(DOC_DOCID AS VARCHAR(10)) + ' AND PAS_ICEID = ''' + CAST(ICE_ID AS VARCHAR(10)) + ''' AND PAS_PESID = ''' + CAST(PSU_DIRPESID AS VARCHAR(10)) + ''' AND PAS_TIPO_CARGO = ''DIRETOR'') = 0;' ELSE NULL END) AS SQL_DIRETOR, PAS_ICEID, DOC_DOCID, DOC_ASSINAREGDIR AS assinaDiretor, PSU_DIRPESID AS diretorId, DIR.PES_EMAIL AS diretorEmail, OCDIR.OCP_DESCRI AS diretorOcupacao, 'DIRETOR' AS diretorTipoOcupacao FROM TB_PESSOA_ASSIN_ELETRONICA INNER JOIN TB_INGRESSO_CERTIFICADO ON ICE_ID = PAS_ICEID INNER JOIN TB_INGRESSO ING ON ING_ID = ICE_INGID INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (PSU_SNCID = ING_SNCID AND ( (@ECO_TIPCOM = 'SO_GRUPO' AND PSU.GRUPO_UNIDON = ING.GRUPO_UNIDON) OR (@ECO_TIPCOM = 'SO_CRIAD' AND PSU.UNIDON = ING.UNIDON) OR (@ECO_TIPCOM = 'TODAS_UNI') ) ) -- PEGANDO O DIRETOR LEFT JOIN TB_PESSOA DIR ON DIR.PES_ID = PSU_DIRPESID LEFT JOIN TB_HISTORICO_OCUPACOES HOCDIR ON HOCDIR.HOC_PESID = DIR.PES_ID LEFT JOIN TB_OCUPACAO_PROFISSIONAL OCDIR ON OCDIR.OCP_ID = HOCDIR.HOC_OCPID INNER JOIN TB_DOCUMENTO ON DOC_DOCID = PAS_DOCID WHERE DOC_TIPODOCUMENTOACEITOXML = 'XML_DIPLOMADO' AND (SELECT COUNT(*) FROM tb_documento_entregue denint INNER JOIN tb_documento docint ON (denint.den_docid = docint.doc_docid) WHERE denint.den_ingid = ing_id AND denint.ativo = 1 AND docint.DOC_TIPODOCUMENTOACEITOXML = 'HISTORICO_ESCOLAR_DIGITAL') > 0 AND ( SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_TIPO_CARGO = 'DIRETOR' AND PAS_PESID = DIR.PES_ID AND PAS_DOCID = DOC_DOCID AND PAS_ICEID = ICE_ID ) = 0 ORDER BY 1
2) MSSQL - Script responsavelInstituicao_mssql
-------------------------------------------------------------------- --- SQL 1 - CREDENCIAMENTO POR UNIDADE -------------------------------------------------------------------- DECLARE @ECO_TIPCOM VARCHAR(255) SELECT @ECO_TIPCOM = ECO_TIPCOM FROM QUA_PADRAO_SEC.DBO.TB_ENTIDADE_COMPARTILHADA WHERE ECO_ENTIDADE = 'ParametrosSubNivelUnidade' SELECT DISTINCT 'INSERT INTO TB_PESSOA_ASSIN_ELETRONICA (PAS_PESID, PAS_CHAVE, PAS_CASID, PAS_EMAIL, ATIVO, DATA_ULT_ALTERACAO, GRUPO_UNIDON, UNIDON, USUARIO_ULT_ALTERACAO, VERSAO, PAS_CARGO, PAS_ICEID, PAS_TIPO_CARGO, PAS_DOCID, PAS_DENID) SELECT top 1 ' + CAST(RESPINST.PES_ID AS VARCHAR(10)) + ', null, ' + CAST(PAS_CASID AS VARCHAR(10)) + ', ''' + CAST(RESPINST.PES_EMAIL COLLATE Latin1_General_CI_AI AS VARCHAR(400)) + ''', 1, getdate(), ' + CAST(ING.GRUPO_UNIDON AS VARCHAR(10)) + ', ' + CAST(ING.UNIDON AS VARCHAR(10)) + ', ''EDU'', 1, ''' + COALESCE(OCRESPINST.OCP_DESCRI,'Responsável pela instituição') + ''', ' + CAST(ICE_ID AS VARCHAR(10)) + ', ''RESPONSAVEL_INSTITUICAO'', ' + CAST(DOC_DOCID AS VARCHAR(10)) + ', NULL FROM TB_PARAMETROS_GERAIS WHERE (SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_DOCID = ' + CAST(DOC_DOCID AS VARCHAR(10)) + ' AND PAS_ICEID = ''' + CAST(ICE_ID AS VARCHAR(10)) + ''' AND PAS_PESID = ''' + CAST(RESPINST.PES_ID AS VARCHAR(10)) + ''' AND PAS_TIPO_CARGO = ''RESPONSAVEL_INSTITUICAO'') = 0;' AS SQL_RESPONSAVEL_INSTITUICAO, PAS_ICEID, DOC_DOCID, RESPINST.PES_ID AS responsavelInstituicaoId, RESPINST.PES_EMAIL AS responsavelInstituicaoEmail, OCRESPINST.OCP_DESCRI AS responsavelInstituicaoOcupacao, 'RESPONSAVEL_INSTITUICAO' AS responsavelInstituicaoTipoOcupacao FROM TB_PESSOA_ASSIN_ELETRONICA INNER JOIN TB_INGRESSO_CERTIFICADO ON ICE_ID = PAS_ICEID INNER JOIN TB_INGRESSO ING ON ING_ID = ICE_INGID INNER JOIN TB_PESSOA UNI ON UNI.PES_UNIDID = ING.UNIDON INNER JOIN TB_PESSOA MANT ON MANT.PES_ID = UNI.PES_MANID INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (PSU_SNCID = ING_SNCID AND ( (@ECO_TIPCOM = 'SO_GRUPO' AND PSU.GRUPO_UNIDON = ING.GRUPO_UNIDON) OR (@ECO_TIPCOM = 'SO_CRIAD' AND PSU.UNIDON = ING.UNIDON) OR (@ECO_TIPCOM = 'TODAS_UNI') ) ) -- PEGANDO O RESPONSAVEL PELA INSITUICAO LEFT JOIN TB_PESSOA RESPINST ON RESPINST.PES_ID = UNI.PES_PESIDRESCNPJ LEFT JOIN TB_HISTORICO_OCUPACOES HOCRESPINST ON HOCRESPINST.HOC_PESID = RESPINST.PES_ID LEFT JOIN TB_OCUPACAO_PROFISSIONAL OCRESPINST ON OCRESPINST.OCP_ID = HOCRESPINST.HOC_OCPID INNER JOIN TB_DOCUMENTO ON DOC_DOCID = PAS_DOCID WHERE DOC_TIPODOCUMENTOACEITOXML = 'XML_DIPLOMADO' AND UNI.PES_CREDPORUNID = 1 AND (SELECT COUNT(*) FROM tb_documento_entregue denint INNER JOIN tb_documento docint ON (denint.den_docid = docint.doc_docid) WHERE denint.den_ingid = ing_id AND denint.ativo = 1 AND docint.DOC_TIPODOCUMENTOACEITOXML = 'HISTORICO_ESCOLAR_DIGITAL') > 0 AND ( SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_TIPO_CARGO = 'RESPONSAVEL_INSTITUICAO' AND PAS_PESID = RESPINST.PES_ID AND PAS_DOCID = DOC_DOCID AND PAS_ICEID = ICE_ID ) = 0 ORDER BY 1 -------------------------------------------------------------------- --- SQL 2 - CREDENCIAMENTO POR MANTENEDORA -------------------------------------------------------------------- DECLARE @ECO_TIPCOM VARCHAR(255) SELECT @ECO_TIPCOM = ECO_TIPCOM FROM QUA_PADRAO_SEC.DBO.TB_ENTIDADE_COMPARTILHADA WHERE ECO_ENTIDADE = 'ParametrosSubNivelUnidade' SELECT DISTINCT 'INSERT INTO TB_PESSOA_ASSIN_ELETRONICA (PAS_PESID, PAS_CHAVE, PAS_CASID, PAS_EMAIL, ATIVO, DATA_ULT_ALTERACAO, GRUPO_UNIDON, UNIDON, USUARIO_ULT_ALTERACAO, VERSAO, PAS_CARGO, PAS_ICEID, PAS_TIPO_CARGO, PAS_DOCID, PAS_DENID) SELECT top 1 ' + CAST(RESPINST.PES_ID AS VARCHAR(10)) + ', null, ' + CAST(PAS_CASID AS VARCHAR(10)) + ', ''' + CAST(RESPINST.PES_EMAIL COLLATE Latin1_General_CI_AI AS VARCHAR(400)) + ''', 1, getdate(), ' + CAST(ING.GRUPO_UNIDON AS VARCHAR(10)) + ', ' + CAST(ING.UNIDON AS VARCHAR(10)) + ', ''EDU'', 1, ''' + COALESCE(OCRESPINST.OCP_DESCRI,'Responsável pela instituição') + ''', ' + CAST(ICE_ID AS VARCHAR(10)) + ', ''RESPONSAVEL_INSTITUICAO'', ' + CAST(DOC_DOCID AS VARCHAR(10)) + ', NULL FROM TB_PARAMETROS_GERAIS WHERE (SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_DOCID = ' + CAST(DOC_DOCID AS VARCHAR(10)) + ' AND PAS_ICEID = ''' + CAST(ICE_ID AS VARCHAR(10)) + ''' AND PAS_PESID = ''' + CAST(RESPINST.PES_ID AS VARCHAR(10)) + ''' AND PAS_TIPO_CARGO = ''RESPONSAVEL_INSTITUICAO'') = 0;' AS SQL_RESPONSAVEL_INSTITUICAO, PAS_ICEID, DOC_DOCID, RESPINST.PES_ID AS responsavelInstituicaoId, RESPINST.PES_EMAIL AS responsavelInstituicaoEmail, OCRESPINST.OCP_DESCRI AS responsavelInstituicaoOcupacao, 'RESPONSAVEL_INSTITUICAO' AS responsavelInstituicaoTipoOcupacao FROM TB_PESSOA_ASSIN_ELETRONICA INNER JOIN TB_INGRESSO_CERTIFICADO ON ICE_ID = PAS_ICEID INNER JOIN TB_INGRESSO ING ON ING_ID = ICE_INGID INNER JOIN TB_PESSOA UNI ON UNI.PES_UNIDID = ING.UNIDON INNER JOIN TB_PESSOA MANT ON MANT.PES_ID = UNI.PES_MANID INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (PSU_SNCID = ING_SNCID AND ( (@ECO_TIPCOM = 'SO_GRUPO' AND PSU.GRUPO_UNIDON = ING.GRUPO_UNIDON) OR (@ECO_TIPCOM = 'SO_CRIAD' AND PSU.UNIDON = ING.UNIDON) OR (@ECO_TIPCOM = 'TODAS_UNI') ) ) -- PEGANDO O RESPONSAVEL PELA INSITUICAO LEFT JOIN TB_PESSOA RESPINST ON RESPINST.PES_ID = MANT.PES_PESIDRESCNPJ LEFT JOIN TB_HISTORICO_OCUPACOES HOCRESPINST ON HOCRESPINST.HOC_PESID = RESPINST.PES_ID LEFT JOIN TB_OCUPACAO_PROFISSIONAL OCRESPINST ON OCRESPINST.OCP_ID = HOCRESPINST.HOC_OCPID INNER JOIN TB_DOCUMENTO ON DOC_DOCID = PAS_DOCID WHERE DOC_TIPODOCUMENTOACEITOXML = 'XML_DIPLOMADO' AND UNI.PES_CREDPORUNID = 0 AND (SELECT COUNT(*) FROM tb_documento_entregue denint INNER JOIN tb_documento docint ON (denint.den_docid = docint.doc_docid) WHERE denint.den_ingid = ing_id AND denint.ativo = 1 AND docint.DOC_TIPODOCUMENTOACEITOXML = 'HISTORICO_ESCOLAR_DIGITAL') > 0 AND ( SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_TIPO_CARGO = 'RESPONSAVEL_INSTITUICAO' AND PAS_PESID = RESPINST.PES_ID AND PAS_DOCID = DOC_DOCID AND PAS_ICEID = ICE_ID ) = 0 ORDER BY 1
3) MSSQL - Script responsavelRegistro_mssql
DECLARE @ECO_TIPCOM VARCHAR(255) SELECT @ECO_TIPCOM = ECO_TIPCOM FROM QUA_PADRAO_SEC.DBO.TB_ENTIDADE_COMPARTILHADA WHERE ECO_ENTIDADE = 'ParametrosSubNivelUnidade' SELECT DISTINCT (CASE WHEN DOC_ASSINAREGRES = 1 THEN 'INSERT INTO TB_PESSOA_ASSIN_ELETRONICA (PAS_PESID, PAS_CHAVE, PAS_CASID, PAS_EMAIL, ATIVO, DATA_ULT_ALTERACAO, GRUPO_UNIDON, UNIDON, USUARIO_ULT_ALTERACAO, VERSAO, PAS_CARGO, PAS_ICEID, PAS_TIPO_CARGO, PAS_DOCID, PAS_DENID) SELECT top 1 ' + CAST(RESPREG.PES_ID AS VARCHAR(10)) + ', null, ' + CAST(PAS_CASID AS VARCHAR(10)) + ', ''' + CAST(RESPREG.PES_EMAIL COLLATE Latin1_General_CI_AI AS VARCHAR(400)) + ''', 1, getdate(), ' + CAST(ING.GRUPO_UNIDON AS VARCHAR(10)) + ', ' + CAST(ING.UNIDON AS VARCHAR(10)) + ', ''EDU'', 1, ''' + COALESCE(OCRESPREG.OCP_DESCRI,'Responsável pelo registro') + ''', ' + CAST(ICE_ID AS VARCHAR(10)) + ', ''RESPONSAVEL_REGISTRO'', ' + CAST(DOC_DOCID AS VARCHAR(10)) + ', NULL FROM TB_PARAMETROS_GERAIS WHERE (SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_DOCID = ' + CAST(DOC_DOCID AS VARCHAR(10)) + ' AND PAS_ICEID = ''' + CAST(ICE_ID AS VARCHAR(10)) + ''' AND PAS_PESID = ''' + CAST(PSU_DIRPESID AS VARCHAR(10)) + ''' AND PAS_TIPO_CARGO = ''RESPONSAVEL_REGISTRO'') = 0;' ELSE NULL END) AS SQL_RESPONSAVEL_REGISTRO, PAS_ICEID, DOC_DOCID, DOC_ASSINAREGRES AS assinaResponsavelRegistro, PSU_DIRPESID AS responsavelRegistroId, RESPREG.PES_EMAIL AS responsavelRegistroEmail, OCRESPREG.OCP_DESCRI AS responsavelRegistroOcupacao, 'RESPONSAVEL_REGISTRO' AS responsavelRegistroTipoOcupacao FROM TB_PESSOA_ASSIN_ELETRONICA INNER JOIN TB_INGRESSO_CERTIFICADO ON ICE_ID = PAS_ICEID INNER JOIN TB_INGRESSO ING ON ING_ID = ICE_INGID INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (PSU_SNCID = ING_SNCID AND ( (@ECO_TIPCOM = 'SO_GRUPO' AND PSU.GRUPO_UNIDON = ING.GRUPO_UNIDON) OR (@ECO_TIPCOM = 'SO_CRIAD' AND PSU.UNIDON = ING.UNIDON) OR (@ECO_TIPCOM = 'TODAS_UNI') ) ) -- PEGANDO O RESPONSAVEL PELO REGISTRO LEFT JOIN TB_PESSOA RESPREG ON RESPREG.PES_ID = PSU_PESID_TERMO_RESPONSAB LEFT JOIN TB_HISTORICO_OCUPACOES HOCRESPREG ON HOCRESPREG.HOC_PESID = RESPREG.PES_ID LEFT JOIN TB_OCUPACAO_PROFISSIONAL OCRESPREG ON OCRESPREG.OCP_ID = HOCRESPREG.HOC_OCPID INNER JOIN TB_DOCUMENTO ON DOC_DOCID = PAS_DOCID WHERE DOC_TIPODOCUMENTOACEITOXML = 'XML_DIPLOMADO' AND (SELECT COUNT(*) FROM tb_documento_entregue denint INNER JOIN tb_documento docint ON (denint.den_docid = docint.doc_docid) WHERE denint.den_ingid = ing_id AND denint.ativo = 1 AND docint.DOC_TIPODOCUMENTOACEITOXML = 'HISTORICO_ESCOLAR_DIGITAL') > 0 AND ( SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_TIPO_CARGO = 'RESPONSAVEL_REGISTRO' AND PAS_PESID = RESPREG.PES_ID AND PAS_DOCID = DOC_DOCID AND PAS_ICEID = ICE_ID ) = 0 ORDER BY 1
4) MSSQL - Script reitor_mssql
-------------------------------------------------------------------- -- SQL ÚNICO -------------------------------------------------------------------- DECLARE @ECO_TIPCOM VARCHAR(255) SELECT @ECO_TIPCOM = ECO_TIPCOM FROM QUA_PADRAO_SEC.DBO.TB_ENTIDADE_COMPARTILHADA WHERE ECO_ENTIDADE = 'ParametrosSubNivelUnidade' SELECT DISTINCT (CASE WHEN DOC_ASSINAREGREI = 1 THEN 'INSERT INTO TB_PESSOA_ASSIN_ELETRONICA (PAS_PESID, PAS_CHAVE, PAS_CASID, PAS_EMAIL, ATIVO, DATA_ULT_ALTERACAO, GRUPO_UNIDON, UNIDON, USUARIO_ULT_ALTERACAO, VERSAO, PAS_CARGO, PAS_ICEID, PAS_TIPO_CARGO, PAS_DOCID, PAS_DENID) SELECT top 1 ' + CAST(REIT.PES_ID AS VARCHAR(10)) + ', null, ' + CAST(PAS_CASID AS VARCHAR(10)) + ', ''' + CAST(REIT.PES_EMAIL COLLATE Latin1_General_CI_AI AS VARCHAR(400)) + ''', 1, getdate(), ' + CAST(ING.GRUPO_UNIDON AS VARCHAR(10)) + ', ' + CAST(ING.UNIDON AS VARCHAR(10)) + ', ''EDU'', 1, ''' + COALESCE(OCREIT.OCP_DESCRI,'Reitor') + ''', ' + CAST(ICE_ID AS VARCHAR(10)) + ', ''REITOR'', ' + CAST(DOC_DOCID AS VARCHAR(10)) + ', NULL FROM TB_PARAMETROS_GERAIS WHERE (SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_DOCID = ' + CAST(DOC_DOCID AS VARCHAR(10)) + ' AND PAS_ICEID = ''' + CAST(ICE_ID AS VARCHAR(10)) + ''' AND PAS_PESID = ''' + CAST(REIT.PES_ID AS VARCHAR(10)) + ''' AND PAS_TIPO_CARGO = ''REITOR'') = 0;' ELSE NULL END) AS SQL_REITOR, PAS_ICEID, DOC_DOCID, DOC_ASSINAREGREI AS assinarReitor, REIT.PES_ID AS reitorId, REIT.PES_EMAIL AS reitorEmail, OCREIT.OCP_DESCRI AS reitorOcupacao, 'REITOR' AS reitorTipoOcupacao FROM TB_PESSOA_ASSIN_ELETRONICA INNER JOIN TB_INGRESSO_CERTIFICADO ON ICE_ID = PAS_ICEID INNER JOIN TB_INGRESSO ING ON ING_ID = ICE_INGID INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (PSU_SNCID = ING_SNCID AND ( (@ECO_TIPCOM = 'SO_GRUPO' AND PSU.GRUPO_UNIDON = ING.GRUPO_UNIDON) OR (@ECO_TIPCOM = 'SO_CRIAD' AND PSU.UNIDON = ING.UNIDON) OR (@ECO_TIPCOM = 'TODAS_UNI') ) ) -- PEGANDO O DIRETOR INNER JOIN TB_PESSOA INSTREG ON INSTREG.PES_ID = ICE_IESREGDIP LEFT JOIN TB_PESSOA MATINSTREG ON MATINSTREG.PES_ID = INSTREG.PES_MANID LEFT JOIN TB_PESSOA REIT ON REIT.PES_ID = MATINSTREG.PES_PESIDREI LEFT JOIN TB_HISTORICO_OCUPACOES HOCREIT ON HOCREIT.HOC_PESID = REIT.PES_ID LEFT JOIN TB_OCUPACAO_PROFISSIONAL OCREIT ON OCREIT.OCP_ID = HOCREIT.HOC_OCPID INNER JOIN TB_DOCUMENTO ON DOC_DOCID = PAS_DOCID WHERE DOC_TIPODOCUMENTOACEITOXML = 'XML_DIPLOMADO' AND (SELECT COUNT(*) FROM tb_documento_entregue denint INNER JOIN tb_documento docint ON (denint.den_docid = docint.doc_docid) WHERE denint.den_ingid = ing_id AND denint.ativo = 1 AND docint.DOC_TIPODOCUMENTOACEITOXML = 'HISTORICO_ESCOLAR_DIGITAL') > 0 AND ( SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_TIPO_CARGO = 'REITOR' AND PAS_PESID = REIT.PES_ID AND PAS_DOCID = DOC_DOCID AND PAS_ICEID = ICE_ID ) = 0 ORDER BY 1
Abaixo, seguem os scripts para execução no banco de dados Oracle. clique nas abas para expandi-las.
1) ORACLE- Script diretor_oracle
SELECT DISTINCT (CASE WHEN DOC_ASSINAREGDIR = 1 THEN 'INSERT INTO TB_PESSOA_ASSIN_ELETRONICA (PAS_ID, PAS_PESID, PAS_CHAVE, PAS_CASID, PAS_EMAIL, ATIVO, DATA_ULT_ALTERACAO, GRUPO_UNIDON, UNIDON, USUARIO_ULT_ALTERACAO, VERSAO, PAS_CARGO, PAS_ICEID, PAS_TIPO_CARGO, PAS_DOCID, PAS_DENID) SELECT PAS_ID.NEXTVAL, ' || PSU_DIRPESID || ', null, ' || PAS_CASID || ', ''' || DIR.PES_EMAIL || ''', 1, SYSDATE, ' || ING.GRUPO_UNIDON || ', ' || ING.UNIDON || ', ''EDU'', 1, ''' || COALESCE(OCDIR.OCP_DESCRI,'Diretor') || ''', ' || ICE_ID || ', ''DIRETOR'', ' || DOC_DOCID || ', NULL FROM DUAL WHERE (SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_DOCID = ' || DOC_DOCID || ' AND PAS_ICEID = ''' || ICE_ID || ''' AND PAS_PESID = ''' || PSU_DIRPESID || ''' AND PAS_TIPO_CARGO = ''DIRETOR'') = 0;' ELSE NULL END) AS SQL_DIRETOR, PAS_ICEID, DOC_DOCID, DOC_ASSINAREGDIR AS assinaDiretor, PSU_DIRPESID AS diretorId, DIR.PES_EMAIL AS diretorEmail, OCDIR.OCP_DESCRI AS diretorOcupacao, 'DIRETOR' AS diretorTipoOcupacao FROM TB_PESSOA_ASSIN_ELETRONICA INNER JOIN TB_INGRESSO_CERTIFICADO ON ICE_ID = PAS_ICEID INNER JOIN TB_INGRESSO ING ON ING_ID = ICE_INGID INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (PSU_SNCID = ING_SNCID AND ( (@ECO_TIPCOM = 'SO_GRUPO' AND PSU.GRUPO_UNIDON = ING.GRUPO_UNIDON) OR (@ECO_TIPCOM = 'SO_CRIAD' AND PSU.UNIDON = ING.UNIDON) OR (@ECO_TIPCOM = 'TODAS_UNI') ) ) -- PEGANDO O DIRETOR LEFT JOIN TB_PESSOA DIR ON DIR.PES_ID = PSU_DIRPESID LEFT JOIN TB_HISTORICO_OCUPACOES HOCDIR ON HOCDIR.HOC_PESID = DIR.PES_ID LEFT JOIN TB_OCUPACAO_PROFISSIONAL OCDIR ON OCDIR.OCP_ID = HOCDIR.HOC_OCPID INNER JOIN TB_DOCUMENTO ON DOC_DOCID = PAS_DOCID WHERE DOC_TIPODOCUMENTOACEITOXML = 'XML_DIPLOMADO' AND (SELECT COUNT(*) FROM tb_documento_entregue denint INNER JOIN tb_documento docint ON (denint.den_docid = docint.doc_docid) WHERE denint.den_ingid = ing_id AND denint.ativo = 1 AND docint.DOC_TIPODOCUMENTOACEITOXML = 'HISTORICO_ESCOLAR_DIGITAL') > 0 AND ( SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_TIPO_CARGO = 'DIRETOR' AND PAS_PESID = DIR.PES_ID AND PAS_DOCID = DOC_DOCID AND PAS_ICEID = ICE_ID ) = 0 ORDER BY 1
2) ORACLE- Script responsavelInstituicao_oracle
-------------------------------------------------------------------- --- ORACLE 1 - CREDENCIAMENTO POR UNIDADE -------------------------------------------------------------------- --DECLARE @ECO_TIPCOM VARCHAR(255) --SELECT @ECO_TIPCOM = ECO_TIPCOM FROM QUA_PADRAO_SEC.DBO.TB_ENTIDADE_COMPARTILHADA WHERE ECO_ENTIDADE = 'ParametrosSubNivelUnidade' SELECT DISTINCT 'INSERT INTO TB_PESSOA_ASSIN_ELETRONICA (PAS_ID, PAS_PESID, PAS_CHAVE, PAS_CASID, PAS_EMAIL, ATIVO, DATA_ULT_ALTERACAO, GRUPO_UNIDON, UNIDON, USUARIO_ULT_ALTERACAO, VERSAO, PAS_CARGO, PAS_ICEID, PAS_TIPO_CARGO, PAS_DOCID, PAS_DENID) SELECT PAS_ID.NEXTVAL, ' || RESPINST.PES_ID || ', null, ' || PAS_CASID || ', ''' || RESPINST.PES_EMAIL || ''', 1, SYSDATE, ' || ING.GRUPO_UNIDON || ', ' || ING.UNIDON || ', ''EDU'', 1, ''' || COALESCE(OCRESPINST.OCP_DESCRI,'Responsável pela instituição') || ''', ' || ICE_ID || ', ''RESPONSAVEL_INSTITUICAO'', ' || DOC_DOCID || ', NULL FROM DUAL WHERE (SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_DOCID = ' || DOC_DOCID || ' AND PAS_ICEID = ''' || ICE_ID || ''' AND PAS_PESID = ''' || RESPINST.PES_ID || ''' AND PAS_TIPO_CARGO = ''RESPONSAVEL_INSTITUICAO'') = 0;' AS SQL_RESPONSAVEL_INSTITUICAO, PAS_ICEID, DOC_DOCID, RESPINST.PES_ID AS responsavelInstituicaoId, RESPINST.PES_EMAIL AS responsavelInstituicaoEmail, OCRESPINST.OCP_DESCRI AS responsavelInstituicaoOcupacao, 'RESPONSAVEL_INSTITUICAO' AS responsavelInstTipoOcupacao FROM TB_PESSOA_ASSIN_ELETRONICA INNER JOIN TB_INGRESSO_CERTIFICADO ON ICE_ID = PAS_ICEID INNER JOIN TB_INGRESSO ING ON ING_ID = ICE_INGID INNER JOIN TB_PESSOA UNI ON UNI.PES_UNIDID = ING.UNIDON INNER JOIN TB_PESSOA MANT ON MANT.PES_ID = UNI.PES_MANID INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (PSU_SNCID = ING_SNCID AND ( (@ECO_TIPCOM = 'SO_GRUPO' AND PSU.GRUPO_UNIDON = ING.GRUPO_UNIDON) OR (@ECO_TIPCOM = 'SO_CRIAD' AND PSU.UNIDON = ING.UNIDON) OR (@ECO_TIPCOM = 'TODAS_UNI') ) ) -- PEGANDO O RESPONSAVEL PELA INSITUICAO LEFT JOIN TB_PESSOA RESPINST ON RESPINST.PES_ID = UNI.PES_PESIDRESCNPJ LEFT JOIN TB_HISTORICO_OCUPACOES HOCRESPINST ON HOCRESPINST.HOC_PESID = RESPINST.PES_ID LEFT JOIN TB_OCUPACAO_PROFISSIONAL OCRESPINST ON OCRESPINST.OCP_ID = HOCRESPINST.HOC_OCPID INNER JOIN TB_DOCUMENTO ON DOC_DOCID = PAS_DOCID WHERE DOC_TIPODOCUMENTOACEITOXML = 'XML_DIPLOMADO' AND UNI.PES_CREDPORUNID = 1 AND (SELECT COUNT(*) FROM tb_documento_entregue denint INNER JOIN tb_documento docint ON (denint.den_docid = docint.doc_docid) WHERE denint.den_ingid = ing_id AND denint.ativo = 1 AND docint.DOC_TIPODOCUMENTOACEITOXML = 'HISTORICO_ESCOLAR_DIGITAL') > 0 AND ( SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_TIPO_CARGO = 'RESPONSAVEL_INSTITUICAO' AND PAS_PESID = RESPINST.PES_ID AND PAS_DOCID = DOC_DOCID AND PAS_ICEID = ICE_ID ) = 0 ORDER BY 1 -------------------------------------------------------------------- --- ORACLE 2 - CREDENCIAMENTO POR MANTENEDORA -------------------------------------------------------------------- SELECT DISTINCT 'INSERT INTO TB_PESSOA_ASSIN_ELETRONICA (PAS_ID, PAS_PESID, PAS_CHAVE, PAS_CASID, PAS_EMAIL, ATIVO, DATA_ULT_ALTERACAO, GRUPO_UNIDON, UNIDON, USUARIO_ULT_ALTERACAO, VERSAO, PAS_CARGO, PAS_ICEID, PAS_TIPO_CARGO, PAS_DOCID, PAS_DENID) SELECT PAS_ID.NEXTVAL, ' || RESPINST.PES_ID || ', null, ' || PAS_CASID || ', ''' || RESPINST.PES_EMAIL || ''', 1, SYSDATE, ' || ING.GRUPO_UNIDON || ', ' || ING.UNIDON || ', ''EDU'', 1, ''' || COALESCE(OCRESPINST.OCP_DESCRI,'Responsável pela instituição') || ''', ' || ICE_ID || ', ''RESPONSAVEL_INSTITUICAO'', ' || DOC_DOCID || ', NULL FROM DUAL WHERE (SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_DOCID = ' || DOC_DOCID || ' AND PAS_ICEID = ''' || ICE_ID || ''' AND PAS_PESID = ''' || RESPINST.PES_ID || ''' AND PAS_TIPO_CARGO = ''RESPONSAVEL_INSTITUICAO'') = 0;' AS SQL_RESPONSAVEL_INSTITUICAO, PAS_ICEID, DOC_DOCID, RESPINST.PES_ID AS responsavelInstituicaoId, RESPINST.PES_EMAIL AS responsavelInstituicaoEmail, OCRESPINST.OCP_DESCRI AS responsavelInstituicaoOcupacao, 'RESPONSAVEL_INSTITUICAO' AS responsavelInstTipoOcupacao FROM TB_PESSOA_ASSIN_ELETRONICA INNER JOIN TB_INGRESSO_CERTIFICADO ON ICE_ID = PAS_ICEID INNER JOIN TB_INGRESSO ING ON ING_ID = ICE_INGID INNER JOIN TB_PESSOA UNI ON UNI.PES_UNIDID = ING.UNIDON INNER JOIN TB_PESSOA MANT ON MANT.PES_ID = UNI.PES_MANID INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (PSU_SNCID = ING_SNCID AND ( (@ECO_TIPCOM = 'SO_GRUPO' AND PSU.GRUPO_UNIDON = ING.GRUPO_UNIDON) OR (@ECO_TIPCOM = 'SO_CRIAD' AND PSU.UNIDON = ING.UNIDON) OR (@ECO_TIPCOM = 'TODAS_UNI') ) ) -- PEGANDO O RESPONSAVEL PELA INSITUICAO LEFT JOIN TB_PESSOA RESPINST ON RESPINST.PES_ID = MANT.PES_PESIDRESCNPJ LEFT JOIN TB_HISTORICO_OCUPACOES HOCRESPINST ON HOCRESPINST.HOC_PESID = RESPINST.PES_ID LEFT JOIN TB_OCUPACAO_PROFISSIONAL OCRESPINST ON OCRESPINST.OCP_ID = HOCRESPINST.HOC_OCPID INNER JOIN TB_DOCUMENTO ON DOC_DOCID = PAS_DOCID WHERE DOC_TIPODOCUMENTOACEITOXML = 'XML_DIPLOMADO' AND UNI.PES_CREDPORUNID = 0 AND (SELECT COUNT(*) FROM tb_documento_entregue denint INNER JOIN tb_documento docint ON (denint.den_docid = docint.doc_docid) WHERE denint.den_ingid = ing_id AND denint.ativo = 1 AND docint.DOC_TIPODOCUMENTOACEITOXML = 'HISTORICO_ESCOLAR_DIGITAL') > 0 AND ( SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_TIPO_CARGO = 'RESPONSAVEL_INSTITUICAO' AND PAS_PESID = RESPINST.PES_ID AND PAS_DOCID = DOC_DOCID AND PAS_ICEID = ICE_ID ) = 0 ORDER BY 1
3) ORACLE - Script responsavelRegistro_oracle
SELECT DISTINCT (CASE WHEN DOC_ASSINAREGRES = 1 THEN 'INSERT INTO TB_PESSOA_ASSIN_ELETRONICA (PAS_ID, PAS_PESID, PAS_CHAVE, PAS_CASID, PAS_EMAIL, ATIVO, DATA_ULT_ALTERACAO, GRUPO_UNIDON, UNIDON, USUARIO_ULT_ALTERACAO, VERSAO, PAS_CARGO, PAS_ICEID, PAS_TIPO_CARGO, PAS_DOCID, PAS_DENID) SELECT PAS_ID.NEXTVAL, ' || RESPREG.PES_ID || ', null, ' || PAS_CASID || ', ''' || RESPREG.PES_EMAIL || ''', 1, SYSDATE, ' || ING.GRUPO_UNIDON || ', ' || ING.UNIDON || ', ''EDU'', 1, ''' || COALESCE(OCRESPREG.OCP_DESCRI,'Responsável pelo registro') || ''', ' || ICE_ID || ', ''RESPONSAVEL_REGISTRO'', ' || DOC_DOCID || ', NULL FROM DUAL WHERE (SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_DOCID = ' || DOC_DOCID || ' AND PAS_ICEID = ''' || ICE_ID || ''' AND PAS_PESID = ''' || PSU_DIRPESID || ''' AND PAS_TIPO_CARGO = ''RESPONSAVEL_REGISTRO'') = 0;' ELSE NULL END) AS SQL_RESPONSAVEL_REGISTRO, PAS_ICEID, DOC_DOCID, DOC_ASSINAREGRES AS assinaResponsavelRegistro, PSU_DIRPESID AS responsavelRegistroId, RESPREG.PES_EMAIL AS responsavelRegistroEmail, OCRESPREG.OCP_DESCRI AS responsavelRegistroOcupacao, 'RESPONSAVEL_REGISTRO' AS responsavelRegTipoOcupacao FROM TB_PESSOA_ASSIN_ELETRONICA INNER JOIN TB_INGRESSO_CERTIFICADO ON ICE_ID = PAS_ICEID INNER JOIN TB_INGRESSO ING ON ING_ID = ICE_INGID INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (PSU_SNCID = ING_SNCID AND ( (@ECO_TIPCOM = 'SO_GRUPO' AND PSU.GRUPO_UNIDON = ING.GRUPO_UNIDON) OR (@ECO_TIPCOM = 'SO_CRIAD' AND PSU.UNIDON = ING.UNIDON) OR (@ECO_TIPCOM = 'TODAS_UNI') ) ) -- PEGANDO O RESPONSAVEL PELO REGISTRO LEFT JOIN TB_PESSOA RESPREG ON RESPREG.PES_ID = PSU_PESID_TERMO_RESPONSAB LEFT JOIN TB_HISTORICO_OCUPACOES HOCRESPREG ON HOCRESPREG.HOC_PESID = RESPREG.PES_ID LEFT JOIN TB_OCUPACAO_PROFISSIONAL OCRESPREG ON OCRESPREG.OCP_ID = HOCRESPREG.HOC_OCPID INNER JOIN TB_DOCUMENTO ON DOC_DOCID = PAS_DOCID WHERE DOC_TIPODOCUMENTOACEITOXML = 'XML_DIPLOMADO' AND (SELECT COUNT(*) FROM tb_documento_entregue denint INNER JOIN tb_documento docint ON (denint.den_docid = docint.doc_docid) WHERE denint.den_ingid = ing_id AND denint.ativo = 1 AND docint.DOC_TIPODOCUMENTOACEITOXML = 'HISTORICO_ESCOLAR_DIGITAL') > 0 AND ( SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_TIPO_CARGO = 'RESPONSAVEL_REGISTRO' AND PAS_PESID = RESPREG.PES_ID AND PAS_DOCID = DOC_DOCID AND PAS_ICEID = ICE_ID ) = 0 ORDER BY 1
4) ORACLE - Script reitor_oracle
-------------------------------------------------------------------- -- SQL ÚNICO -------------------------------------------------------------------- SELECT DISTINCT (CASE WHEN DOC_ASSINAREGREI = 1 THEN 'INSERT INTO TB_PESSOA_ASSIN_ELETRONICA (PAS_ID, PAS_PESID, PAS_CHAVE, PAS_CASID, PAS_EMAIL, ATIVO, DATA_ULT_ALTERACAO, GRUPO_UNIDON, UNIDON, USUARIO_ULT_ALTERACAO, VERSAO, PAS_CARGO, PAS_ICEID, PAS_TIPO_CARGO, PAS_DOCID, PAS_DENID) SELECT PAS_ID.NEXTVAL, ' || REIT.PES_ID || ', null, ' || PAS_CASID || ', ''' || REIT.PES_EMAIL || ''', 1, sysdate, ' || ING.GRUPO_UNIDON || ', ' || ING.UNIDON || ', ''EDU'', 1, ''' || COALESCE(OCREIT.OCP_DESCRI,'Reitor') || ''', ' || ICE_ID || ', ''REITOR'', ' || DOC_DOCID || ', NULL FROM DUAL WHERE (SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_DOCID = ' || DOC_DOCID || ' AND PAS_ICEID = ''' || ICE_ID || ''' AND PAS_PESID = ''' || REIT.PES_ID || ''' AND PAS_TIPO_CARGO = ''REITOR'') = 0;' ELSE NULL END) AS SQL_REITOR, PAS_ICEID, DOC_DOCID, DOC_ASSINAREGREI AS assinarReitor, REIT.PES_ID AS reitorId, REIT.PES_EMAIL AS reitorEmail, OCREIT.OCP_DESCRI AS reitorOcupacao, 'REITOR' AS reitorTipoOcupacao FROM TB_PESSOA_ASSIN_ELETRONICA INNER JOIN TB_INGRESSO_CERTIFICADO ON ICE_ID = PAS_ICEID INNER JOIN TB_INGRESSO ING ON ING_ID = ICE_INGID INNER JOIN TB_PARAMETROS_SUBNIVEL_UNID PSU ON (PSU_SNCID = ING_SNCID AND ( (@ECO_TIPCOM = 'SO_GRUPO' AND PSU.GRUPO_UNIDON = ING.GRUPO_UNIDON) OR (@ECO_TIPCOM = 'SO_CRIAD' AND PSU.UNIDON = ING.UNIDON) OR (@ECO_TIPCOM = 'TODAS_UNI') ) ) -- PEGANDO O DIRETOR INNER JOIN TB_PESSOA INSTREG ON INSTREG.PES_ID = ICE_IESREGDIP LEFT JOIN TB_PESSOA MATINSTREG ON MATINSTREG.PES_ID = INSTREG.PES_MANID LEFT JOIN TB_PESSOA REIT ON REIT.PES_ID = MATINSTREG.PES_PESIDREI LEFT JOIN TB_HISTORICO_OCUPACOES HOCREIT ON HOCREIT.HOC_PESID = REIT.PES_ID LEFT JOIN TB_OCUPACAO_PROFISSIONAL OCREIT ON OCREIT.OCP_ID = HOCREIT.HOC_OCPID INNER JOIN TB_DOCUMENTO ON DOC_DOCID = PAS_DOCID WHERE DOC_TIPODOCUMENTOACEITOXML = 'XML_DIPLOMADO' AND (SELECT COUNT(*) FROM tb_documento_entregue denint INNER JOIN tb_documento docint ON (denint.den_docid = docint.doc_docid) WHERE denint.den_ingid = ing_id AND denint.ativo = 1 AND docint.DOC_TIPODOCUMENTOACEITOXML = 'HISTORICO_ESCOLAR_DIGITAL') > 0 AND ( SELECT COUNT(*) FROM TB_PESSOA_ASSIN_ELETRONICA WHERE PAS_TIPO_CARGO = 'REITOR' AND PAS_PESID = REIT.PES_ID AND PAS_DOCID = DOC_DOCID AND PAS_ICEID = ICE_ID ) = 0 ORDER BY 1