Sistema Especialista de Análise de Aposentadoria Civil — sistema independente de BPM para suporte à instrução técnica de atos de aposentadoria civil analisados pelo TCE-GO.
O sistema substitui o fluxo BPM existente (356 tarefas, 103 formulários dinâmicos) por uma aplicação orientada a objetos de negócio (servidor, vínculo, cargo, aposentadoria), com uso do Google Vertex AI para extração multimodal de dados a partir de documentos PDF juntados ao processo (OCR, análise de imagens e vetorização nativos da plataforma).
Objetivo principal: Preencher eficientemente os dados necessários para emissão da Instrução Técnica via API `POST /api/InstrucaoTecnica/EnviarInstrucaoTecnica`.
Tipo de fluxo suportado: Civil (TipoFluxo = 1) e Legado (TipoFluxo = 2).
Versão: 1.0.0 | Data: 04/03/2026
Responsável: Seção de Atos de Pessoal — TCE-GO
| Problema | Impacto |
|---|---|
| Fluxo BPM com 356 tarefas para uma análise linear | Alta complexidade operacional, dificulta rastreio e manutenção |
| Dependência de atores externos (GOIASPREV, CALCULO-ST) | Gargalos de comunicação, esperas desnecessárias na análise TCE |
| Geração de PDFs intermediários a cada etapa | Sobrecarga do CPA e tempo de processamento |
| Formulários repetitivos por motivo de aposentadoria | Retrabalho; mesmos dados inseridos em múltiplos formulários |
| Orientação a processos, não a entidades | Dificulta análise simultânea de múltiplos vínculos do mesmo servidor |
| Interface fragmentada em dezenas de telas | Baixa usabilidade; analista perde contexto entre telas |
O novo sistema é orientado ao servidor e seus vínculos. Um servidor pode ter múltiplos vínculos ativos e requerer aposentadoria em cada um deles. O sistema gerencia cada vínculo de forma independente, mas apresenta uma visão consolidada do servidor.
O uso de LLM (Large Language Model) permite ao analista carregar o PDF do processo e extrair automaticamente os campos necessários, com revisão humana antes do envio.
| Ator | Papel | Responsabilidade |
|---|---|---|
| Analista de Pessoal (TCE) | Usuário principal | Instruir tecnicamente o ato de aposentadoria, preencher e enviar a IT |
| Chefe do Serviço de Atos de Pessoal | Gestor | Revisar, aprovar ou devolver instrução técnica antes do envio |
| Serviço de Registro (TCE) | Usuário secundário | Informar registros de admissão/cargo existentes no TCE-GO |
| Administrador do Sistema | Operação | Configurar prompts LLM, tabelas de fundamentos legais, modelos de IT |
[!NOTE]
O sistema não se comunica com o GOIASPREV nem com atores externos ao TCE-GO. Todos os dados de proventos e tempo de serviço são inseridos manualmente pelo analista com auxílio do LLM.
Servidor ├── dadosPessoais: DadosPessoais ├── vinculos: Vinculo[] ← um servidor pode ter N vínculos └── processos: ProcessoTCE[] Vinculo ├── matricula: string ├── orgao: string ├── cargo: string ├── regimeJuridico: Estatutário | Celetista ├── dataIngresso: date ├── historicoFuncional: HistoricoFuncional └── aposentadoria?: Aposentadoria ← optional; presente se há pedido Aposentadoria ├── motivoAposentadoria: MotivoAposentadoria ├── fundamentoLegal: FundamentoLegal ├── dadosEspecificos: DadosEspecificos ← varia por motivo ├── tempoContribuicao: TempoContribuicao ├── proventos: Proventos ├── documentos: Documento[] └── instrucaoTecnica?: InstrucaoTecnica InstrucaoTecnica ├── tipoFluxo: Civil | Legado ├── processoSolar: string ├── processoTCE: string ├── encaminhamento: Legalidade | Ilegalidade | Diligencia ├── criticas: Critica[] ├── registros: RegistroServidor[] └── textoEncaminhamento: string
| Código | Descrição | Tipo de Dados Específicos |
|---|---|---|
| 1 | Voluntária | TempoContribuição, DispositivoLegal, Requerimento |
| 2 | Compulsória | DataDocumentoInicial, DispositivoLegal |
| 3 | Invalidez | DataInvalidez, TipoDoença, LaudoMédico |
| 4 | Incapacidade Permanente | DataIncapacidade, LaudoMédico, AtoInterdição |
| 5 | Pessoa com Deficiência (PcD) | GrauDeficiência, TempoCondPcD, LaudoBiopsicossocial |
Cada módulo é acessível via menu lateral fixo. O progresso de preenchimento é exibido em barra de status por módulo.
Objetivo: Visão geral do processo de análise, acesso rápido a cada módulo.
Ator: Analista de Pessoal
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| processoTCE | Input texto | Sim | Número do processo no TCE-GO (ex: 202500001-2) |
| processoSolar | Input texto | Não | Número do processo no Solar BPM (legado) |
| tipoFluxo | Seleção | Sim | Civil (1) / Legado (2) |
| motivoAposentadoria | Seleção | Sim | Ver enum MotivoAposentadoria (5 opções) |
| statusAnalise | Badge | Não (leitura) | Rascunho / Em análise / Aguardando revisão / Enviada |
| progresso | Barra de progresso | Não (leitura) | % dos módulos preenchidos |
Ações: [ Novo Processo ] [ Abrir PDF ] [ ✏️ Editar Prompt de Extração ] [ 🤖 Extrair Todos os Campos com IA ] [ Enviar Instrução Técnica ]
Sub-seção: Prompt de Extração (editável pelo analista)
Campo de texto livre onde o analista digita ou ajusta o prompt descritivo que será enviado uma única vez ao Google Vertex AI junto com o PDF. O sistema fornece um prompt padrão completo, mas o analista pode personalizá-lo antes da extração.
| Campo | Tipo | Observação |
|---|---|---|
| promptExtracao | Textarea grande (editável) | Prompt descritivo em linguagem natural. O sistema injeta automaticamente o JSON Schema de saída ao final. Suporta instruções específicas do analista, ex: “Priorizar documentos da folha 3 a 15” ou “O servidor possui dois contratos celetistas”. |
| modeloVertex | Seleção (leitura) | Modelo configurado pelo admin: ex. `gemini-2.0-flash` / `gemini-1.5-pro` |
| ultimaExtracao | Data/hora (leitura) | Timestamp da última extração realizada para este processo |
Objetivo: Registrar ou buscar o servidor por CPF. Exibir/editar dados pessoais.
Ator: Analista de Pessoal
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| cpf | Input CPF | Sim | Busca automática na base TCE após preenchimento |
| nomeServidor | Input texto | Sim | |
| dataNascimento | Data | Sim | Calculada automaticamente a idade na data da aposentadoria |
| idadeApuracao | Número (leitura) | Não | Calculado: data apuração − data nascimento |
| sexo | Radio | Sim | Masculino / Feminino |
| rg | Input texto | Sim | |
| rgEmissor | Input texto | Sim | |
| rgUF | Seleção | Sim | UFs brasileiras |
| nomeMae | Input texto | Não | |
| nomeAlterado | Radio | Sim | Sim / Não; se Sim, solicita documento comprobatório |
| pisPasep | Input mascarado | Não | |
| decisaoJudicial | Radio | Sim | Sim, transitada em julgado / Sim, não transitada / Não |
[!NOTE]
Os campos desta tela são preenchidos automaticamente pela extração unificada iniciada na Tela 01. O botão abaixo permite reexecutar a extração somente para os campos desta seção, útil após editar o prompt.
Objetivo: Gerenciar os vínculos (cargos/matrículas) do servidor. Cada vínculo é tratado de forma independente para fins de aposentadoria.
Ator: Analista de Pessoal
Listagem de Vínculos:
| # | Matrícula | Órgão | Cargo | Regime Jurídico | Pedido de Aposentadoria | Ações |
|---|---|---|---|---|---|---|
| 1 | 123456 | SEFAZ-GO | Auditor Fiscal | Estatutário | ✅ Sim | [Editar] [Analisar] |
| 2 | 789012 | SEGPLAN-GO | Analista de Políticas Públicas | Estatutário | ❌ Não | [Editar] [Incluir pedido] |
Formulário de Vínculo:
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| matricula | Input texto | Sim | |
| codigoVinculo | Input texto | Não | |
| orgao | Input texto | Sim | |
| cargo | Input texto | Sim | |
| descComplementarCargo | Input texto | Não | |
| naturezaCargo | Seleção | Sim | Geral / Magistério Básico / Magistério Superior / Judiciário/MP/TC |
| regimeJuridico | Seleção | Sim | Estatutário / Celetista |
| orgaoIngresso | Input texto | Sim | |
| dataNomeacao | Data | Não | |
| dataPosse | Data | Não | |
| dataEfetivoExercicio | Data | Sim | |
| dataInicioContrato | Data | Celetista | Obrigatório apenas para regime celetista |
| cargaHorariaMensal | Número | Não | |
| acumulaCargoPublico | Radio | Sim | Sim / Não — se Sim, exibe campo nmCargoPublico |
| estaAposentadoOutroCargo | Radio | Sim | Sim / Não |
| recebeBeneficioPrevidenciario | Radio | Sim | Sim / Não — se Sim, identifica benefício |
| possuiLicencaPremio | Radio | Sim | Sim / Não |
| respondeProcAdministrativo | Radio | Sim | Sim / Não — se Sim, lista processos |
| estaADisposicao | Radio | Não | Sim / Não |
| previdenciaComplementar | Radio | Sim | Sim / Não |
[!NOTE]
Campos preenchidos pela extração unificada. O analista pode complementar manualmente vínculos não identificados automaticamente.
Objetivo: Registrar a evolução funcional e o tempo de contribuição/serviço do vínculo selecionado.
Ator: Analista de Pessoal
Sub-seção: Evolução da Situação Funcional
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| tab_evolucaoSitFuncional | Tabela editável | Não | Colunas: Cargo/Alteração, Classificação, Escolaridade Exigida, Ato Comprobatório, Data Início |
| dataIngressoServPublico | Data | Sim | Data mais antiga de efetivo exercício |
| dataEfetivoExercicioCargoAposen | Data | Sim | |
| dataFimTempoContribServico | Data | Sim | |
Sub-seção: Discriminação de Tempo
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| tab_tempoInfluenciaAposen | Tabela editável | Não | Categoria: Afastamento, Averbação (público/privado), Fictício, etc. |
| totalTempoContribuicaoServico | Input calculado | Sim | Total consolidado em anos/meses/dias |
| totalTempoContribuicaoServicoPublico | Input calculado | Sim | |
| totalTempoMagisterioInfantil | Input calculado | Não | Obrigatório se naturezaCargo = Magistério |
| totalTempoConvertidoEspecial | Input calculado | Não | |
| houvePedagio | Radio | Sim | Sim / Não (EC 103/2019) |
| houveConversaoTempoEspecial | Radio | Não | Sim / Não |
| contribuicoesRGPS | Radio | Sim | Sim / Não — se Sim, solicita Certidão COMPREV |
Sub-seção: Contracheque
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| mesContracheque | Mascarado (MM) | Sim | Mês de referência |
| anoContracheque | Mascarado (AAAA) | Sim | Ano de referência |
| recebeVencimentoOuSubsidio | Radio | Sim | Vencimento / Subsídio |
| tab_proventos | Tabela editável | Sim | Colunas: Código Rubrica, Nome Rubrica, Valor Pago |
| tab_vantagens | Tabela editável | Não | Vantagens financeiras ao longo da carreira |
[!NOTE]
Dados extraídos pela extração unificada. A tabela de evolução funcional e os dados de contracheque são preenchidos automaticamente; o analista valida e complementa conforme necessário.
Objetivo: Preencher os dados específicos conforme o motivo da aposentadoria selecionado na Tela 01.
Ator: Analista de Pessoal
A. Motivo: Voluntária
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| dataRequerimento | Data | Não | |
| dispositivoLegalSimplificado | Seleção + Texto | Sim | Catálogo de fundamentos legais |
| descricaoFundamentoLegalSimplif | Seleção + Texto | Sim | |
| descricaoFundamentoLegalCompleto | Seleção + Texto | Sim | |
| idFundamentoLegal | Código (leitura) | Sim | Preenchido ao selecionar fundamento |
B. Motivo: Compulsória
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| dataDocInicialAposentadoria | Data | Não | |
| dispositivoLegalSimplificado | Seleção + Texto | Sim | |
| idFundamentoLegal | Código (leitura) | Sim | |
C. Motivo: Invalidez
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| dataInvalidez | Data | Sim | |
| invalidezDecorrenteAcidente | Radio | Sim | Sim / Não |
| tipoDoenca | Seleção | Condicional | Acidente em serviço / Moléstia profissional / Doença grave |
| invalidezComAlienacaoMental | Radio | Sim | Sim / Não |
| idFundamentoLegal | Código (leitura) | Sim | |
D. Motivo: Incapacidade Permanente
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| dataIncapacidadePermanente | Data | Sim | |
| decorrenteAcidenteTrabalho | Radio | Sim | Sim / Não |
| incapacidadeComAlienacaoMental | Radio | Sim | Sim / Não |
| idFundamentoLegal | Código (leitura) | Sim | |
E. Motivo: Pessoa com Deficiência (PcD)
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| deficienciaCongenita | Radio | Sim | Sim / Não |
| tipoDocumentoMedico | Radio | Sim | Avaliação Biopsicossocial / Laudo médico / Outro |
| tab_tempoPcD | Tabela editável | Não | Colunas: Categoria Tempo, Data Inicial, Data Final, Grau Deficiência, Tempo Bruto |
| idFundamentoLegal | Código (leitura) | Sim | |
[!NOTE]
Dados específicos por motivo são extraídos pela extração unificada com base no `motivoAposentadoria` informado na Tela 01.
Objetivo: Gerenciar os documentos juntados ao processo e suas referências (evento/folhas) para a IT.
Ator: Analista de Pessoal
| Documento | Obrigatório | Evento | Folhas | Observação |
|---|---|---|---|---|
| Requerimento do servidor | Voluntária/PcD | Input | Input | |
| Documento inicial da aposentadoria | Compulsória | Input | Input | |
| Laudo médico oficial | Invalidez/Incapacidade/PcD | Input | Input | |
| Ato de interdição/curatela | Condicional | Input | Input | Se alienação mental |
| Ato de nomeação/contrato | Não | Input | Input | |
| Declaração de não acumulação de cargos | Sim | Input | Input | |
| Declaração de benefício previdenciário | Condicional | Input | Input | |
| Declaração de previdência complementar | Não | Input | Input | |
| Ato concessor | Não | Input | Input | |
| Ato de fixação de proventos | Não | Input | Input | |
| Apostila declaratória | Não | Input | Input | |
| Certidão COMPREV/CTC | Condicional | Input | Input | |
| Histórico funcional (evento processo) | Não | Input | Input | |
| Parecer jurídico | Não | Input | Input | |
| Documentos requeridos (lista livre) | Não | Tabela editável | Tabela editável | Descrição + Juntado S/N |
[!NOTE]
O Vertex AI identifica documentos no PDF via análise de imagem/OCR e preenche automaticamente tipo, evento e folhas. O analista confirma ou adjust cada entrada.
Objetivo: Informar registros de admissão e outros atos do servidor existentes no TCE-GO.
Ator: Serviço de Registro / Analista de Pessoal
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| indicaRegistroServidor | Radio | Sim | Sim / Não existem registros |
| indicaRegistroAdmissaoServidor | Radio | Sim | Sim / Não — se Sim, tipo de encaminhamento da admissão |
| tipoEncaminhamentoAdmissao | Seleção | Condicional | Legalidade / Ilegalidade |
| tab_registros | Tabela editável | Não | TipoServiço, Item, TipoAto, Cargo, Órgão, Data, Resolução |
| comentariosRegistros | Texto longo | Não | |
Objetivo: Revisar ocorrências, formular o encaminhamento e compor o texto da Instrução Técnica.
Ator: Analista de Pessoal / Chefe do Serviço
| Campo | Tipo | Obrigatório | Observação |
|---|---|---|---|
| tab_criticas | Tabela editável | Não | Tipo, Descrição, Categoria, Análise do Analista |
| comentariosCriticas | Texto longo | Não | |
| indicaComplementoDocumentacao | Radio | Não | Sim / Não |
| tipoEncaminhamentoAto | Seleção | Sim | Legalidade / Ilegalidade / Diligência |
| textoLegalidade | Texto longo | Condicional | Geração sugerida pelo LLM; editável |
| textoIlegalidade | Texto longo | Condicional | Geração sugerida pelo LLM; editável |
| nomeProcurador | Input texto | Não | |
| checklist | Tabela | Não | Histórico de solicitações de informação e respostas |
Ações: [ 🤖 Sugerir texto de encaminhamento ] [ Pré-visualizar IT ] [ Enviar Instrução Técnica ]
Objetivo: Tela administrativa para configurar o prompt padrão de extração unificada, o modelo Vertex AI utilizado e o JSON Schema de saída esperado.
Ator: Administrador do Sistema
| Campo | Tipo | Observação |
|---|---|---|
| promptPadrao | Textarea grande | Prompt padrão completo que é pré-carregado na Tela 01 para o analista. Inclui instruções para extração de todos os campos da IT em uma única chamada. Editável pelo admin; versionado. |
| promptSistema | Textarea | Instrução de sistema (system instruction) enviada ao Vertex AI: define papel, contexto institucional TCE-GO e restrições |
| schemaJsonSaida | Textarea (JSON) | JSON Schema completo que o modelo deve respeitar na resposta. Gerado automaticamente a partir do modelo de objetos do sistema; editável pelo admin |
| modeloVertex | Seleção | `gemini-2.0-flash` / `gemini-1.5-pro` / `gemini-2.5-pro` (conforme disponibilidade no Vertex AI) |
| regiaoVertex | Seleção | Região do endpoint Vertex AI: `us-central1` / `southamerica-east1` (latência menor para Brasil) |
| temperatura | Slider 0–1 | Padrão: 0.0 para extração determinística de dados estruturados |
| maxOutputTokens | Número | Padrão: 8192. Aumentar para processos com muitos documentos |
| versaoPrompt | Texto (leitura) | Controle de versão semântico do prompt padrão (ex: v3.2.1) |
| ultimaAlteracao | Data/hora (leitura) | |
| ativo | Toggle | Ativar/desativar modo de extração automática para todos os usuários |
Campos cobertos pelo prompt padrão unificado:
| Grupo | Campos extraídos em uma única chamada |
|---|---|
| Dados Pessoais | nomeServidor, cpf, dataNascimento, rg, rgEmissor, rgUF, sexo, nomeMae, pisPasep, decisaoJudicial |
| Vínculos e Cargos | matricula, orgao, cargo, regimeJuridico, orgaoIngresso, dataNomeacao, dataPosse, dataEfetivoExercicio, dataInicioContrato |
| Dados da Aposentadoria | motivoAposentadoria, dispositivoLegal, dataInvalidez, dataIncapacidade, dataRequerimento |
| Histórico Funcional | dataIngressoServPublico, dataEfetivoExercicioCargoAposen, evolucaoFuncional[], tempoInfluencia[], contribuicoesRGPS |
| Contracheque e Proventos | mesContracheque, anoContracheque, rubricasCodigo[], rubricasNome[], rubricasValor[], totalVencimento |
| Documentos Identificados | tipoDocumento, evento, folhas — para cada documento encontrado no PDF |
| Passo | Ação | Regra | Tela |
|---|---|---|---|
| 01 | Analista cria novo processo informando Nº TCE, Nº Solar (se houver), tipo de fluxo e motivo da aposentadoria. | RN01 | Tela 01 |
| 02 | Analista carrega o PDF do processo no sistema. O sistema envia ao LLM para extração inicial dos campos. | RN02 | Tela 01 |
| 03 | Analista busca o servidor por CPF. Se não encontrado, cadastra os dados pessoais. O LLM preenche sugestões. | RN03 | Tela 02 |
| 04 | Analista revisa e confirma os vínculos (cargos/matrículas) do servidor. Seleciona o vínculo objeto da aposentadoria. | RN04 | Tela 03 |
| 05 | Analista preenche o histórico funcional do vínculo selecionado, com auxílio do LLM. | RN05 | Tela 04 |
| 06 | Sistema apresenta o formulário de dados específicos conforme o motivo da aposentadoria. LLM sugere preenchimento. | RN06 | Tela 05 |
| 07 | Analista registra/confirma os documentos juntados ao processo (evento + folhas). LLM identifica automaticamente. | RN07 | Tela 06 |
| 08 | Serviço de Registro / Analista informa os registros existentes no TCE-GO relacionados ao servidor. | RN08 | Tela 07 |
| 09 | Sistema apresenta as ocorrências/críticas automáticas. Analista formula o texto de encaminhamento com suporte do LLM. | RN09 | Tela 08 |
| 10 | Analista (ou Chefe) revisa a pré-visualização da IT completa. | RN10 | Tela 08 |
| 11 | Analista confirma e envia a IT via `POST /api/InstrucaoTecnica/EnviarInstrucaoTecnica`. | RN11 | Tela 08 |
| 12 | Sistema exibe confirmação e disponibiliza o PDF da IT para download. PDF gerado apenas neste momento. | RN12 | Tela 01 |
| Passo | Ação | Detalhe Técnico |
|---|---|---|
| 01 | Na Tela 01, analista faz upload do PDF do processo TCE. | PDF armazenado temporariamente no bucket GCS do projeto (Cloud Storage for Firebase ou GCS direto) |
| 02 | Sistema exibe o prompt padrão pré-configurado no campo `promptExtracao` (editável). O analista pode ajustá-lo com instruções específicas. | Prompt é carregado do template da Tela 09; o analista edita em linguagem natural |
| 03 | Analista clica em [ 🤖 Extrair Todos os Campos com IA ]. Sistema exibe spinner com estimativa de tempo. | Spinner mostra progresso: “Processando páginas… Extraindo campos… Validando JSON…“ |
| 04 | Backend envia ao Vertex AI em uma única chamada multimodal: (a) system instruction, (b) prompt do analista, © JSON Schema de saída, (d) o PDF inteiro como parte MIME `application/pdf`. | Vertex AI Gemini suporta entrada PDF nativa (até 1000 páginas); realiza OCR e análise de imagem internamente sem pré-processamento |
| 05 | Vertex AI retorna JSON único com todos os campos e nível de confiança por campo. O backend valida o JSON contra o schema antes de repassar ao frontend. | Validação com Ajv (JSON Schema draft-07); campos com formato inválido recebem `confianca: 0.0` e flag `erroFormato` |
| 06 | Frontend distribui os valores extraídos para os campos correspondentes em todas as telas simultaneamente. Campos preenchidos pelo Vertex ficam marcados com 🤖 (fundo âmbar). | Sincronização de estado global; analista pode navegar entre telas sem perder as sugestões |
| 07 | Analista revisa campo a campo em cada tela. Um clique no campo confirma o valor (fundo retorna ao normal) ou o analista digita o valor correto. | Campos com `confianca < 0.70` têm borda ⚠️ vermelho e exigem ação explícita do analista |
| 08 | Ao concluir a revisão, analista salva. Apenas campos confirmados são persistidos como definitivos no banco. | Campos não revisados ficam como “rascunho LLM” e impedem o envio da IT |
| Passo | Ação |
|---|---|
| 01 | Após cadastrar o servidor (Tela 02), analista vê a lista de vínculos na Tela 03. |
| 02 | Para cada vínculo com pedido de aposentadoria, analista clica em [Analisar]. |
| 03 | O sistema abre um contexto de análise independente por vínculo (Telas 04–07). |
| 04 | Na Tela 08, o analista consolida a IT podendo referenciar múltiplos vínculos. |
| 05 | Uma IT distinta é emitida por vínculo (uma chamada à API por vínculo analisado). |
| Regra | Descrição |
|---|---|
| RN01 | Tipo de Fluxo: O sistema suporta Civil (TipoFluxo=1) e Legado (TipoFluxo=2). A mudança de tipo altera os campos obrigatórios na IT. |
| RN02 | Extração LLM: O PDF é enviado ao LLM somente após consentimento explícito do analista. O sistema registra log de todas as extrações realizadas. |
| RN03 | Busca de Servidor: Ao informar o CPF, o sistema consulta a base interna. Dados encontrados são pré-preenchidos mas editáveis. |
| RN04 | Múltiplos Vínculos: Um servidor pode ter N vínculos ativos. Cada pedido de aposentadoria é analisado de forma independente (IT separada por vínculo). |
| RN05 | Cálculo de Tempo: O sistema exibe o tempo total de contribuição calculado a partir das categorias de tempo preenchidas, mas o cálculo oficial permanece responsabilidade do analista. |
| RN06 | Dados Específicos por Motivo: O formulário de dados específicos (Tela 05) exibe apenas os campos pertinentes ao motivo da aposentadoria selecionado na Tela 01. |
| RN07 | Documentos: O sistema mantém um checklist dinâmico de documentos esperados por motivo de aposentadoria. A ausência de documento obrigatório gera alerta (não bloqueia). |
| RN08 | Registros TCE: O sistema consulta a API de registros do TCE para pré-preencher a lista de registros relacionados ao servidor (se disponível). |
| RN09 | Críticas Automáticas: O sistema verifica inconsistências locais (ex: data de nomeação posterior a data de efetivo exercício) e exibe como críticas de nível “Alerta”. |
| RN10 | Pré-visualização: Antes do envio, o sistema gera uma pré-visualização HTML da IT, sem chamar a API de geração de PDF. |
| RN11 | Envio da IT: O sistema monta o objeto JSON completo conforme a API e faz a chamada `POST /api/InstrucaoTecnica/EnviarInstrucaoTecnica`. Em caso de erro, exibe a resposta da API sem perder os dados preenchidos. |
| RN12 | PDF Único no Final: O PDF da Instrução Técnica é gerado somente após o envio bem-sucedido, via endpoint específico da API. Nenhum PDF intermediário é gerado. |
| RN13 | Salvamento Automático: Cada módulo tem salvamento automático a cada 60 segundos e ao navegar entre telas. O analista pode retomar em qualquer ponto. |
| RN14 | Confiança LLM: Campos extraídos com confiança abaixo de 70% são marcados com ⚠️ e exigem confirmação explícita do analista antes de habilitar o envio da IT. |
| RN15 | Fundamentos Legais: O catálogo de dispositivos legais é mantido pelo administrador. A seleção de um fundamento preenche automaticamente IdFundamentoLegal e descrições associadas. |
| Campo API | Tela/Campo do Sistema | Observação |
|---|---|---|
| TipoFluxo | Tela 01 > tipoFluxo | 1=Civil, 2=Legado |
| ProcessoSolar | Tela 01 > processoSolar | |
| ProcessoTCE | Tela 01 > processoTCE | |
| MotivoAposentadoria | Tela 01 > motivoAposentadoria | Texto livre descritivo |
| NomeServidor | Tela 02 > nomeServidor | |
| CargoAposentadoria | Tela 03 > cargo (vínculo selecionado) | |
| OrgaoAposentadoria | Tela 03 > orgao | |
| DispositivoLegal | Tela 05 > dispositivoLegalSimplificado | |
| IdFundamentoLegal | Tela 05 > idFundamentoLegal | |
| Campo API | Tela/Campo do Sistema |
|---|---|
| TotalTempoContribuicaoServico | Tela 04 > totalTempoContribuicaoServico |
| TotalTempoContribuicaoServicoPublico | Tela 04 > totalTempoContribuicaoServicoPublico |
| TotalTempoMagisterioInfantil | Tela 04 > totalTempoMagisterioInfantil |
| TotalTempoConvertidoEspecial | Tela 04 > totalTempoConvertidoEspecial |
| NaturezaCargoAposentadoria | Tela 03 > naturezaCargo |
| DataIncapacidadePermanente | Tela 05 > dataIncapacidadePermanente |
| DescricaoComplementarCargo | Tela 03 > descComplementarCargo |
| DataEfetivoCargoInicial | Tela 03 > dataEfetivoExercicio |
| DataNomeacaoCargoInicial | Tela 03 > dataNomeacao |
| DataInicioContrato | Tela 03 > dataInicioContrato |
| RegimeJuridico | Tela 03 > regimeJuridico |
| OrgaoIngresso | Tela 03 > orgaoIngresso |
| NomeCargoInicial | Tela 04 > denomCargoInicial |
| TipoEncaminhamentoAto | Tela 08 > tipoEncaminhamentoAto |
| TipoEncaminhamentoAdmissao | Tela 07 > tipoEncaminhamentoAdmissao |
| TextoLegalidade | Tela 08 > textoLegalidade |
| TextoIlegalidade | Tela 08 > textoIlegalidade |
| DescricaoFundamentoLegalCompleto | Tela 05 > descricaoFundamentoLegalCompleto |
| Criticas[] | Tela 08 > tab_criticas |
| Registros[] | Tela 07 > tab_registros |
| HistoricoFuncional | Tela 06 > documentos[tipoHistoricoFuncional] |
| AtoDeConcessao | Tela 06 > documentos[tipoAtoConcessao] |
| AtoDeFixacaoDeProventos | Tela 06 > documentos[tipoAtoFixacao] |
| ApostilaDeclaratoria | Tela 06 > documentos[tipoApostila] |
| DocumentoDeAnexo[] | Tela 06 > tab_documentos |
| IdadeApuracao | Tela 02 > idadeApuracao (calculado) |
| TipoMotivoAposentadoria | Tela 01 > motivoAposentadoria (enum) |
| ComentariosRelacaoCriticas | Tela 08 > comentariosCriticas |
| TipoEncaminhamento | Tela 08 > tipoEncaminhamentoAto |
A extração é realizada em chamada única ao Google Vertex AI (Gemini multimodal). O PDF é enviado diretamente como entrada nativa — sem pré-processamento de texto, sem divisão em chunks — aproveitando a capacidade do Gemini de processar PDFs com OCR e análise de imagem integrados.
O analista digita (ou ajusta) um único prompt descritivo em linguagem natural. O sistema injeta automaticamente o JSON Schema de saída ao final, garantindo resposta estruturada. Uma única chamada retorna todos os campos necessários para preencher a Instrução Técnica.
[Tela 01: Analista carrega PDF + ajusta prompt de extração]
↓
[Backend: armazena PDF no Cloud Storage (GCS) — referência URI]
↓
[Backend: monta request multipart para Vertex AI Gemini]
├── Part 1: system_instruction (configurado na Tela 09)
├── Part 2: prompt do analista (editado na Tela 01)
├── Part 3: JSON Schema de saída (injetado automaticamente)
└── Part 4: PDF inteiro via URI gs:// (MIME: application/pdf)
↓
[Vertex AI Gemini: OCR nativo + análise de imagens + extração estruturada]
├── Processa todas as páginas do PDF (texto + imagens + tabelas)
├── Realiza OCR em páginas digitalizadas automaticamente
└── Gera JSON de saída conforme schema
↓
[Backend: valida JSON retornado contra o schema (Ajv)]
↓
[Backend: registra log da extração (usuário, timestamp, versão do prompt)]
↓
[Frontend: distribui campos extraídos para todas as telas]
└── Marca campos com 🤖 (fundo âmbar) aguardando confirmação
↓
[Analista: revisa, confirma ou corrige campo a campo]
| Parâmetro | Valor Padrão | Descrição |
|---|---|---|
| Modelo | `gemini-2.0-flash` | Equilibra velocidade e qualidade; configurável para `gemini-1.5-pro` em processos complexos |
| Região | `us-central1` | Região primária; `southamerica-east1` como alternativa para menor latência |
| Temperatura | `0.0` | Resposta determinística para extração de dados estruturados |
| maxOutputTokens | `8192` | Suficiente para o JSON completo de todos os campos; ajustável para processos maiores |
| responseMimeType | `application/json` | Força resposta em JSON puro, sem markdown envolvendo o JSON |
| Entrada do PDF | URI `gs:bucket/processos/{processoTCE}.pdf`|PDF enviado via referência GCS, não inline — suporta arquivos grandes sem limite de base64| ==== 10.4 Estrutura do Prompt de Extração ==== O prompt enviado ao Vertex AI tem 3 camadas, montadas pelo backend: - System Instruction (Tela 09): Define o papel e o contexto institucional. Não editável pelo analista. - Prompt do Analista (Tela 01): Texto descritivo livre onde o analista descreve o processo, fornece contexto adicional e pode dar instruções específicas (ex: “O servidor tem dois contratos; o principal é o da SEFAZ”). Preenchido com o template padrão, mas totalmente editável. - JSON Schema (injetado automaticamente): Adicionado ao final do prompt pelo backend. O analista não edita, mas pode visualizá-lo. Exemplo de prompt padrão (Tela 01 — editável pelo analista): <code> Analise o PDF do processo de aposentadoria civil do TCE-GO e extraia todas as informações necessárias para preencher a Instrução Técnica. Para cada campo solicitado no schema JSON: - Extraia o valor mais recente e confiável encontrado no documento - Informe a confiança de 0.0 a 1.0 (1.0 = certeza absoluta) - Se o campo não for encontrado, retorne null com confiança 0.0 - Para datas, use o formato ISO 8601 (YYYY-MM-DD) - Para valores monetários, retorne o número decimal sem formatação - Para documentos identificados, informe o número do evento e as folhas Instruções específicas deste processo: [Analista pode adicionar contexto aqui, ex: “Servidor possui decisão judicial transitada em julgado a partir da folha 35”] </code> ==== 10.5 Contrato de Resposta JSON (Schema de Saída) ==== <code json> { “servidor”: { “nomeServidor”: { “valor”: “JOÃO SILVA PEREIRA”, “confianca”: 0.98 }, “cpf”: { “valor”: “123.456.789-00”, “confianca”: 0.99 }, “dataNascimento”: { “valor”: “1961-05-10”, “confianca”: 0.97 }, “sexo”: { “valor”: “Masculino”, “confianca”: 0.99 }, “rg”: { “valor”: “1234567”, “confianca”: 0.95 }, “rgEmissor”: { “valor”: “SSP”, “confianca”: 0.94 }, “rgUF”: { “valor”: “GO”, “confianca”: 0.99 }, “decisaoJudicial”: { “valor”: “Não”, “confianca”: 0.91 } }, “vinculo”: { “orgao”: { “valor”: “SEFAZ-GO”, “confianca”: 0.98 }, “cargo”: { “valor”: “Auditor Fiscal”, “confianca”: 0.97 }, “regimeJuridico”: { “valor”: “Estatutário”, “confianca”: 0.99 }, “dataEfetivoExercicio”: { “valor”: “1990-03-01”, “confianca”: 0.88 } }, “aposentadoria”: { “motivoAposentadoria”: { “valor”: “Voluntária”, “confianca”: 0.96 }, “dispositivoLegal”: { “valor”: “Art. 40, §1º, II da CF/88”, “confianca”: 0.72 }, “dataRequerimento”: { “valor”: “2024-08-15”, “confianca”: 0.93 } }, “documentosIdentificados”: [ { “tipo”: “Requerimento do servidor”, “evento”: “01”, “folhas”: “01-02”, “confianca”: 0.97 }, { “tipo”: “Laudo médico”, “evento”: “03”, “folhas”: “10-15”, “confianca”: 0.85 }, { “tipo”: “Certidão COMPREV”, “evento”: “05”, “folhas”: “22-23”, “confianca”: 0.91 } ], “historicoFuncional”: { “dataIngressoServPublico”: { “valor”: “1990-03-01”, “confianca”: 0.88 }, “evolucaoFuncional”: [ { “cargo”: “Técnico Fazendário”, “dataInicio”: “1990-03-01”, “classificacao”: “Nomeação”, “confianca”: 0.82 } ] }, “observacoes”: “Página 12 parcialmente ilegível. Campo dispositivoLegal com confiança baixa — verificar folha 7.” } </code> ==== 10.6 Tratamento de Erros e Fallback ==== ^Cenário^Tratamento| |JSON retornado inválido (não respeita schema)|Backend rejeita resposta; frontend exibe erro + botão “Tentar novamente”| |PDF maior que 1000 páginas|Sistema divide em lotes de 500 páginas e faz 2 chamadas; resultados são mesclados| |Timeout Vertex AI (> 120s)|Sistema exibe aviso; mantém os campos já extraídos parcialmente; analista pode reexecutar| |Campo com `confianca < 0.70`|Campo marcado com ⚠️ âmbar; não pode ser confirmado sem edição manual| |Campo não encontrado (null)|Campo fica vazio com ícone 🔍 cinza; analista preenche manualmente| |Falha de conectividade com GCS/Vertex|Fallback: analista preenche manualmente; extração fica disponível quando serviço restaurar| ===== 11. Requisitos Não Funcionais ===== ==== 11.1 Usabilidade (UX/UI) ==== ^RNF#^Requisito^Critério de Aceitação| |RNF01|Interface limpa e focada: Cada tela exibe apenas os campos relevantes para o contexto (motivo, vínculo). Nenhum campo oculto usado como variável de controle de fluxo.|Layout em máximo 2 colunas; sem campos de sistema expostos ao usuário| |RNF02|Progresso visível: Barra de progresso por módulo no painel lateral. Indicador claro do % geral de conclusão.|Barra de progresso atualizada em tempo real; % calculado por campos obrigatórios preenchidos| |RNF03|Feedback imediato: Validações inline ao sair de cada campo (sem aguardar submissão do formulário).|Mensagem de erro/sucesso ≤ 200ms após blur do campo| |RNF04|Marcação de sugestões LLM: Campos preenchidos pelo LLM têm ícone 🤖 e fundo levemente diferenciado até confirmação do analista.|Campo confirmado retorna ao estilo padrão; campo não confirmado bloqueia “Enviar IT”| |RNF05|Salvamento automático: Estado do formulário salvo automaticamente a cada 60s e ao navegar entre telas, sem necessidade de ação do usuário.|Rascunho persistido no backend; toast de confirmação de salvamento| |RNF06|Modo leitura: Processos enviados ficam disponíveis em modo somente leitura com a IT visualizável.|Timeline de ações registradas; botão de impressão/download sempre disponível| |RNF07|Responsividade: Interface utilizável em monitores de 1280px de largura ou superior.|Sem scroll horizontal; tabelas com scroll interno em dispositivos menores| |RNF08|Acessibilidade: Formulários com labels associados, ordem de tabulação lógica e suporte a leitores de tela.|WCAG 2.1 nível AA| |RNF09|Tempo de resposta: Carregamento de tela ≤ 2s; extração LLM com spinner de progresso e estimativa de tempo.|Toast de progresso; cancelamento da extração disponível após 10s| |RNF10|Onboarding: Tooltip contextual nos campos complexos; documentação inline de cada seção.|Ícones ”?” com explicação do campo e exemplo de preenchimento| ==== 11.2 Confiabilidade e Segurança ==== ^RNF#^Requisito| |RNF11|Autenticação: Integração com provedor SSO institucional do TCE-GO (OAuth 2.0 / SAML 2.0)| |RNF12|Autorização por papel: Analista vê apenas suas análises; Chefe vê análises da seção; Admin tem acesso total| |RNF13|Auditoria: Toda ação (criação, edição, envio de IT, extração LLM) é registrada com usuário, timestamp e IP| |RNF14|PDFs enviados ao LLM: Processados em ambiente seguro; não armazenados pelo provedor LLM; configurável por política institucional| |RNF15|Disponibilidade: SLA de 99% em horário de expediente (8h–18h, dias úteis)| |RNF16|Backup: Dados de formulário salvos com retenção mínima de 5 anos| ==== 11.3 Integrações Externas ==== ^Sistema^Tipo^Descrição| |API IT (TCE)|REST POST|`/api/InstrucaoTecnica/EnviarInstrucaoTecnica` — envio da IT final| |API Registros (TCE)|REST GET|Consulta de registros de admissão/cargo do servidor| |Base de Servidores (TCE)|REST GET|Busca de servidor por CPF| |Catálogo de Fundamentos Legais|REST GET|Lista de dispositivos legais e seus IDs (`IdFundamentoLegal`)| |Google Vertex AI|REST (googleapis.com)|`POST /v1/projects/{project}/locations/{region}/publishers/google/models/{model}:generateContent` — extração multimodal unificada| |Google Cloud Storage|GCS SDK|Armazenamento temporário do PDF do processo para envio ao Vertex via URI `gs:` |
| Termo | Definição |
|---|---|
| IT | Instrução Técnica: documento formal emitido pelo TCE-GO avaliando a legalidade de um ato de aposentadoria |
| Vínculo | Relação funcional entre o servidor e um órgão público, caracterizada por matricula, cargo e regime jurídico |
| TipoFluxo Civil | Análise de aposentadorias regidas pela EC 103/2019 e legislação complementar estadual goiana |
| TipoFluxo Legado | Análise de aposentadorias concedidas antes da EC 103/2019, com regras anteriores |
| LLM | Large Language Model: modelo de linguagem de grande escala. No sistema, refere-se aos modelos Gemini do Google Vertex AI |
| Vertex AI | Plataforma de IA gerenciada do Google Cloud. Utilizada para chamadas multimodais ao Gemini com entrada PDF nativa |
| Gemini Multimodal | Família de modelos do Google capazes de processar simultaneamente texto, imagens e PDFs — com OCR integrado |
| OCR | Optical Character Recognition: reconhecimento óptico de caracteres em páginas digitalizadas, realizado nativamente pelo Gemini |
| GCS | Google Cloud Storage: serviço de armazenamento onde o PDF do processo é armazenado para envio ao Vertex via URI |
| Prompt de Extração | Texto descritivo em linguagem natural, editável pelo analista na Tela 01, que orienta o modelo na extração dos campos |
| JSON Schema | Especificação formal da estrutura JSON esperada na resposta do Vertex AI; define campos, tipos e formatos |
| Confiança LLM | Score de 0.0 a 1.0 retornado pelo modelo para cada campo extraído. Abaixo de 0.70 exige revisão humana |
| RPPS | Regime Próprio de Previdência Social |
| RGPS | Regime Geral de Previdência Social (INSS) |
| COMPREV | Compensação Previdenciária entre regimes |
| PcD | Pessoa com Deficiência |
| CPA | Sistema de Controle de Processos Administrativos do TCE-GO |
| EC 103/2019 | Emenda Constitucional da Reforma da Previdência |
| Pedágio | Requisito adicional de tempo de contribuição para servidores em transição pela EC 103/2019 |
| Versão | Data | Autor | Descrição |
|---|---|---|---|
| 1.0.0 | 04/03/2026 | Seção de Atos de Pessoal — TCE-GO | Versão inicial — derivada da análise do fluxo BPM existente (356 tarefas) |
| 1.1.0 | 05/03/2026 | Seção de Atos de Pessoal — TCE-GO | Seção 10 reescrita: estratégia Google Vertex AI com prompt único unificado, OCR multimodal nativo e JSON Schema de saída |
Atualizado em: 05/03/2026, 14:42.
Especificação do novo Sistema Especialista de Aposentadoria Civil — extração via Google Vertex AI (Gemini multimodal), prompt único unificado, sem dependência do Solar BPM e GOIASPREV.
Esta seção documenta os scripts JavaScript executados pelo Solar BPM em cada tarefa.
Total de scripts extraídos: 177
Gerado em: 05/03/2026, 15:05:57
| # | Script | Tarefa | Tipo | Propósito |
|---|---|---|---|---|
| 1 | configuraParametroDias | Configura parâmetro “dias” | scriptTask | Script de automação/configuração |
| 2 | configuraParametroDias | Configura parâmetro “dias” | scriptTask | Script de automação/configuração |
| 3 | Verifica Variavel Preenchida | Verificar variável preenchida | scriptTask | Cálculo/atribuição de resultado |
| 4 | configuraParametroDias | Configura parâmetro “dias” | scriptTask | Script de automação/configuração |
| 5 | configuraParametroDias | Configura parâmetro “dias” | scriptTask | Script de automação/configuração |
| 6 | configuraParametroDias | Configura parâmetro “dias” | scriptTask | Script de automação/configuração |
| 7 | cpf_trataOsZerosNoInicioDoCpf |
(ZERO)|scriptTask|Tratramento/validação de CPF|
| 8 | calculo Idade Servidor - Atos de pessoal |
Idade Servidor|scriptTask|Cálculo de idade/data de apuração|
| 9 | USUARIO_RECEBIDO_DO_TCE_VIA_MSG | Fundamentar o encaminhamento para diligência | userTask | Resolução de ator dinâmico |
| 10 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Resumo das informações dos proventos e atos da aposentadoria | userTask | Resolução de ator dinâmico |
| 11 | Trata variável tipoEncaminhamentoAto | Js trata var tipoEncaminhamentoAto | scriptTask | Script de automação/configuração |
| 12 | atualizarContador7 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 13 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Responder solicitação de informação | userTask | Resolução de ator dinâmico |
| 14 | atualizarContador13F2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 15 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO |
(Tarefa será executada e cancelada automaticamente)|userTask|Resolução de ator dinâmico|
| 16 | textoReciboAposentadoriaCivilSIAP | Texto recibo | scriptTask | Cálculo de idade/data de apuração |
| 17 | atualizarContador13F1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 18 | atualizarContador13J2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 19 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Mapa do Tempo | userTask | Resolução de ator dinâmico |
| 20 | atualizaContador5A2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 21 | LIMPA VAR SAIDA GTW - ExclusiveGateway_1rtez6t | Limpa variável | scriptTask | Script de automação/configuração |
| 22 | atualizarContador13I2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 23 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Resumo das informações dos proventos e atos da aposentadoria | userTask | Resolução de ator dinâmico |
| 24 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar Proventos(Integralidade-Proporcional- Vencimento) | userTask | Resolução de ator dinâmico |
| 25 | prazoEsgotado_vazio | JS limpa Prazo esgotado | scriptTask | Script de automação/configuração |
| 26 | atualizaContador23B | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 27 | calculo Idade Servidor - Atos de pessoal |
Calculo Idade|scriptTask|Cálculo de idade/data de apuração|
| 28 | atualizarContador11Be9F | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 29 | Atualiza valor variavel | Limpar decisão form 28A | scriptTask | Script de automação/configuração |
| 30 | populaVarrevInfoProvAposentadora | FORM_28A - Popula var revInfoProvAposentadora = N | scriptTask | Script de automação/configuração |
| 31 | atualizarContador1e2E | Atualizar contador - versão formulário | scriptTask | Script de automação/configuração |
| 32 | LIMPA VAR SAIDA GTW - ExclusiveGateway_1rtez6t | Limpa variável | scriptTask | Script de automação/configuração |
| 33 | atualizarContador13A2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 34 | Atualiza valor variavel | Limpa variável alterar cálculo | scriptTask | Script de automação/configuração |
| 35 | atualizarContador11Ae17D | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 36 | CRITICA TCE | PossuiCriticaTCE | scriptTask | Verificação de crítica/inconsistência |
| 37 | atualizarContador13B1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 38 | atualizarContador13H1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 39 | atualizarContador3_4 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 40 | dataEnvio SIAP | Gera data envio recibo | scriptTask | Script de automação/configuração |
| 41 | Atualiza valor variavel | Limpa decisão form 28A | scriptTask | Script de automação/configuração |
| 42 | atualizarContador13G1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 43 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Decidir sobre confirmação do resumo funcional + ocorrências | userTask | Resolução de ator dinâmico |
| 44 | atualizarContador6 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 45 | USUARIO_RECEBIDO_DO_TCE_VIA_MSG | Solicitar informação | userTask | Resolução de ator dinâmico |
| 46 | gerar link para a pasta | Gerar link para pasta | scriptTask | Geração de documento |
| 47 | atualizarContador13G2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 48 | Atualiza tramitacaoDesejada saindo do 28A | Atualiza var tramitacaoDesejada | scriptTask | Script de automação/configuração |
| 49 | get dataAtual DD/MM/AAAA | Consulta data da solicitação | scriptTask | Script de automação/configuração |
| 50 | copiaProporcionalidade | (old_proporcionalidade) | scriptTask | Cálculo de idade/data de apuração |
| 51 | Verifica órgão autônomo | Consulta órgão | scriptTask | Script de automação/configuração |
| 52 | copiaProporcionalidade | (old_proporcionalidade) | scriptTask | Cálculo de idade/data de apuração |
| 53 | atualizarContador13C2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 54 | copiaProporcionalidade | (old_proporcionalidade) | scriptTask | Cálculo de idade/data de apuração |
| 55 | gerar link insercao por modelo | Gerar link para inserção do anexo por modelo | scriptTask | Geração de documento |
| 56 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar sobre o Apostilamento | userTask | Resolução de ator dinâmico |
| 57 | atualizarContador13H2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 58 | Verifica Variavel Preenchida | Verificar variável preenchida | scriptTask | Cálculo/atribuição de resultado |
| 59 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Decidir sobre confirmação do Resumo Funcional | userTask | Resolução de ator dinâmico |
| 60 | atualizarContador13C1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 61 | atualizarContador11Ae9D | Atualizar contador - versão formuláriosform11 | scriptTask | Script de automação/configuração |
| 62 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar dados específicos - Pessoa com deficiência | userTask | Resolução de ator dinâmico |
| 63 | Coleta ano do numero do processo formatado | Coleta ano do numero do processo formatado | scriptTask | Script de automação/configuração |
| 64 | Valor numeroInstanciaFluxo no primeiro ponto =4 | Tipo Instancia | scriptTask | Script de automação/configuração |
| 65 | USUARIO_RECEBIDO_DO_TCE_VIA_MSG | Realizar checklist do processo | userTask | Resolução de ator dinâmico |
| 66 | copiaProporcionalidade | (old_proporcionalidade) | scriptTask | Cálculo de idade/data de apuração |
| 67 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Visualizar solicitação de informações | userTask | Resolução de ator dinâmico |
| 68 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar dados específicos - Compulsória | userTask | Resolução de ator dinâmico |
| 69 | ATOR FORM 27B - Revisar Solicitação de Informação(TCEGO) - ATOS DE PESSOAL | Revisar solicitação de informação | userTask | Resolução de ator dinâmico |
| 70 | USUARIO_RECEBIDO_DO_TCE_VIA_MSG | Fundamentar o encaminhamento pela ilegalidade | userTask | Resolução de ator dinâmico |
| 71 | atualizarContador15e16 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 72 | atualizarContador23A | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 73 | atualizarContador1e2C | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 74 | Atualiza valor variavel | Limpar decisão form 28B | scriptTask | Script de automação/configuração |
| 75 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Responder solicitação de informações | userTask | Resolução de ator dinâmico |
| 76 | atualizarContador24A | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 77 | atualizarContador14 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 78 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Resumo das informações dos proventos e atos da aposentadoria | userTask | Resolução de ator dinâmico |
| 79 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Discriminar Histórico Funcional | userTask | Resolução de ator dinâmico |
| 80 | atualizarContador28C | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 81 | atualizarContador13D2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 82 | atualizarContador10D | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 83 | copiaProporcionalidade | (old_proporcionalidade) | scriptTask | Cálculo de idade/data de apuração |
| 84 | atualizarContador8 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 85 | Busca por processos com mesmo cpfOrgaoCargo | Busca processos do SIAP CIVIL com mesmo cpf, orgao e cargo | serviceTask | Tratramento/validação de CPF |
| 86 | USUARIO_RECEBIDO_DO_TCE_VIA_MSG | Analisar retorno de solicitação de informação | userTask | Resolução de ator dinâmico |
| 87 | gerar link insercao por modelo | Gerar link para inserção do anexo por modelo | scriptTask | Geração de documento |
| 88 | ajustarVar_matriculas | Trata matricula | scriptTask | Tratamento de matrícula |
| 89 | Busca por processos com mesmo cpf | Busca processos no SIAP CIVIL e LEGADO com mesmo cpf | serviceTask | Tratramento/validação de CPF |
| 90 | get dataAtual DD/MM/AAAA | Consulta data de envio da resposta | scriptTask | Script de automação/configuração |
| 91 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Registrar possíveis atualizações do ato | userTask | Resolução de ator dinâmico |
| 92 | Tipo data - dataFim |
(dataFim)|scriptTask|Script de automação/configuração|
| 93 | LIMPA VAR SAIDA GTW - ExclusiveGateway_1rtez6t | Limpa variável | scriptTask | Script de automação/configuração |
| 94 | atualizarContador11Ae17C | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 95 | atualizarContador1e2D | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 96 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar dados específicos - Invalidez | userTask | Resolução de ator dinâmico |
| 97 | Atualiza Valor Variavel2 | Atualiza variavel de alteração de portaria | scriptTask | Script de automação/configuração |
| 98 | atualizarContador13E1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 99 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Resumo das informações dos proventos e atos da aposentadoria | userTask | Resolução de ator dinâmico |
| 100 | Tipo data - novaData |
(novaData)|scriptTask|Script de automação/configuração|
| 101 | atualizarContador13D1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 102 | atualizarContador28A | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 103 | USUARIO_RECEBIDO_DO_TCE_VIA_MSG | Informar sobre necessidade de gerar nova IT ou solicitação de informações | userTask | Resolução de ator dinâmico |
| 104 | atualizaContador5A1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 105 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Responder solicitação de informação | userTask | Resolução de ator dinâmico |
| 106 | atualizarContador10B | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 107 | copiaProporcionalidade | (oldProporcionalidade) | scriptTask | Cálculo de idade/data de apuração |
| 108 | altera variável retornaForm23 | Atualiza variável retornaForm23A | scriptTask | Script de automação/configuração |
| 109 | atualizarContador11Ae9A | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 110 | atualizarContador24C | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 111 | atualizarContador28B | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 112 | atualizarContador13J1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 113 | get dataAtual DD/MM/AAAA | Consulta data da resposta | scriptTask | Script de automação/configuração |
| 114 | atualizaContador18 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 115 | prazoEsgotado | JS Prazo esgotado | scriptTask | Script de automação/configuração |
| 116 | atualizaContador21A | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 117 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Resumo das informações dos proventos e atos da aposentadoria | userTask | Resolução de ator dinâmico |
| 118 | atualizarContador1e2A | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 119 | atualizarContador13I1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 120 | Tipo data - dataFim |
(dataFim)|scriptTask|Script de automação/configuração|
| 121 | dataPrazo nulo | Data prazo nulo | scriptTask | Cálculo/verificação de prazo |
| 122 | atualizaContador11Ae9B | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 123 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Justifica ocorrência | userTask | Resolução de ator dinâmico |
| 124 | atualizarContador11Ae17A | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 125 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar proventos (média aritmética - integral) | userTask | Resolução de ator dinâmico |
| 126 | atualizarContador11Ae17E | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 127 | Atualiza valor variavel | Atualizar variavel GEAP respondeu solicitações de informações | scriptTask | Script de automação/configuração |
| 128 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar Proventos(Integralidade-Integral-Vencimento) | userTask | Resolução de ator dinâmico |
| 129 | gerar link insercao por modelo | Gerar link para inserção de anexo por modelo | scriptTask | Geração de documento |
| 130 | ATOR FORM 27B - Revisar Solicitação de Informação(TCEGO) - ATOS DE PESSOAL | Revisar solicitação de informação (após correção) | userTask | Resolução de ator dinâmico |
| 131 | atualizarContador19 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 132 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar dados específicos - Incapacidade permanente | userTask | Resolução de ator dinâmico |
| 133 | atualizarContador28A | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 134 | gerar link insercao por modelo | Gerar link da inserção por modelo | scriptTask | Geração de documento |
| 135 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar proventos (média aritmética - proporcional) | userTask | Resolução de ator dinâmico |
| 136 | atualizaContador30A | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 137 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar dados específicos - Voluntária | userTask | Resolução de ator dinâmico |
| 138 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Registrar Informações Finais do Ato | userTask | Resolução de ator dinâmico |
| 139 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Resumo das informações dos proventos e atos da aposentadoria | userTask | Resolução de ator dinâmico |
| 140 | atualizarContador11Ae17F | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 141 | configuraParametroDias | Configura parâmetro “dias” | scriptTask | Script de automação/configuração |
| 142 | atualizarContador13E2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 143 | atualizarContador8 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 144 | Atualiza Valor Variavel2 | Limpa variável alterar portaria | scriptTask | Script de automação/configuração |
| 145 | atualizarContador11Ae17B | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 146 | CRITICA | criticar | scriptTask | Verificação de crítica/inconsistência |
| 147 | atualizarContador32_2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 148 | atualizaContador30B | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 149 | calculo Idade Servidor - Atos de pessoal |
Idade servidor|scriptTask|Cálculo de idade/data de apuração|
| 150 | ATOR FORM 27B - Revisar Solicitação de Informação(TCEGO) - ATOS DE PESSOAL | Ajustar solicitação de informação | userTask | Resolução de ator dinâmico |
| 151 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar dados básicos do Servidor | userTask | Resolução de ator dinâmico |
| 152 | USUARIO_RECEBIDO_DO_TCE_VIA_MSG | Corrigir solicitação de informação | userTask | Resolução de ator dinâmico |
| 153 | Valor numeroInstanciaFluxo no primeiro ponto =1 | Tipo Instancia | scriptTask | Script de automação/configuração |
| 154 | atualizaContador11Ae9C | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 155 | atualizarContador1e2B | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 156 | USUARIO_RECEBIDO_DO_TCE_VIA_MSG | Analisar Ato de Pessoal | userTask | Resolução de ator dinâmico |
| 157 | atualizarContador10C | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 158 | LIMPA VAR SAIDA GTW - ExclusiveGateway_1rtez6t | Limpa variável | scriptTask | Script de automação/configuração |
| 159 | get dataAtual DD/MM/AAAA | Consulta data da solicitação | scriptTask | Script de automação/configuração |
| 160 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar Proventos(Integralidade-Proporcional-Subsídio) | userTask | Resolução de ator dinâmico |
| 161 | copia_beneficioMedioProporcMensal _Form_10b2 | (old_beneficioMedioCalculado) | scriptTask | Cálculo de idade/data de apuração |
| 162 | Busca a pk do processo | Consultar chave do processo | serviceTask | Script de automação/configuração |
| 163 | atualizarContador13B2 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 164 | atualizarContador11Be9E | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 165 | Valor numeroInstanciaFluxo no primeiro ponto =2 | Tipo instancia | scriptTask | Script de automação/configuração |
| 166 | cpf_trataOsZerosNoInicioDoCpf |
(ZERO)|scriptTask|Tratramento/validação de CPF|
| 167 | Descricao - SIAP aposentadoria civil | Descrição | scriptTask | Processamento de contracheque/proventos |
| 168 | atualizarContador10A | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 169 | USUARIO_RECEBIDO_DO_TCE_VIA_MSG | Analisar informação do serviço de registro | userTask | Resolução de ator dinâmico |
| 170 | LIMPA VAR SAIDA GTW - ExclusiveGateway_1rtez6t | Limpa variável | scriptTask | Script de automação/configuração |
| 171 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Informar Proventos(Integralidade-Integral- Subsídio) | userTask | Resolução de ator dinâmico |
| 172 | atualizarContador13A1 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
| 173 | Atualiza valor variavel | Limpar decisão form 28C | scriptTask | Script de automação/configuração |
| 174 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Confirmação das informações para prosseguimento do cadastro | userTask | Resolução de ator dinâmico |
| 175 | USUARIO_RECEBIDO_DO_TCE_VIA_MSG | Fundamentar o encaminhamento pela legalidade | userTask | Resolução de ator dinâmico |
| 176 | ATOS DE PESSOAL - Ator dinamico_RH_ORGAO | Gerar Caderno PDF 1 | userTask | Resolução de ator dinâmico |
| 177 | atualizarContador5A3e32 | Atualizar contador - versão formulários | scriptTask | Script de automação/configuração |
var variavel = '${variavelComDias}'; variavel = variavel.replace("dia(s)","").trim(); execution.setVariable("#variavelSemDias", variavel);
var variavel = '${variavelComDias}'; variavel = variavel.replace("dia(s)","").trim(); execution.setVariable("#variavelSemDias", variavel);
var entrada = "${variavel}"; var escape = '$' + '{variavel}'; var resultado = entrada != escape && entrada.length > 0 ? 'S' : 'N'; execution.setVariable("#resultado", resultado);
var variavel = '${variavelComDias}'; variavel = variavel.replace("dia(s)","").trim(); execution.setVariable("#variavelSemDias", variavel);
var variavel = '${variavelComDias}'; variavel = variavel.replace("dia(s)","").trim(); execution.setVariable("#variavelSemDias", variavel);
var variavel = '${variavelComDias}'; variavel = variavel.replace("dia(s)","").trim(); execution.setVariable("#variavelSemDias", variavel);
=== Tarefa: Trata CPF (ZERO) (scriptTask) ===
var zero= parseInt("${cpfServidor}"); var zeroSobreEscreveCpfServidor = parseInt("${sobreEscreveCpfServidor}"); function leftPad(value, totalWidth, paddingChar) { var length = totalWidth - value.toString().length + 1; return Array(length).join(paddingChar || '0') + value; }; completa = leftPad(zero, 11); sobreEscreve = leftPad(zeroSobreEscreveCpfServidor, 11); execution.setVariable("#cpfServidor", completa); execution.setVariable("#cpfServidor", sobreEscreve );
=== Tarefa: JS Idade Servidor (scriptTask) ===
var tipoData = "${tipoData}"; if(tipoData == 'novaData'){ var DATA_FIM = "${nova_dataFimTempoContribServico}"; } if(tipoData == 'dataFim'){ var DATA_FIM ="${dataFimTempoContribServico}"; } var dataNascimento = "${dataNascimento}"; var arrayDataFim = DATA_FIM.split('/'); var arrayNascimento = dataNascimento.split('/'); var diaNas = arrayNascimento[0]; var mesNas = arrayNascimento[1]; var anoNas = arrayNascimento[2]; var dataFim = arrayDataFim[1]+'/'+arrayDataFim[0]+'/'+arrayDataFim[2]; var idadeServidor = idade(anoNas,mesNas,diaNas,dataFim); execution.setVariable("#idadeServidor", idadeServidor); function idade(ano_aniversario, mes_aniversario, dia_aniversario, dataFim) { var d = new Date(dataFim), ano_atual = d.getFullYear(), mes_atual = d.getMonth() + 1, dia_atual = d.getDate(), ano_aniversario = +ano_aniversario, mes_aniversario = +mes_aniversario, dia_aniversario = +dia_aniversario, quantos_anos = ano_atual - ano_aniversario; if (mes_atual < mes_aniversario || mes_atual == mes_aniversario && dia_atual < dia_aniversario) { quantos_anos--; } return quantos_anos < 0 ? 0 : quantos_anos; }
select DISTINCT E.CDUSUARIO from SOLAR.ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:UserIdAnalista
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var variavel = '${tipoEncaminhamentoAto}'; var tipoEncaminhamentoAto_tratado = ''; if(variavel == 4){ tipoEncaminhamentoAto_tratado =3; }else{ tipoEncaminhamentoAto_tratado = variavel; } execution.setVariable("#tipoEncaminhamentoAto_tratado", tipoEncaminhamentoAto_tratado);
var cont1 = parseInt(${contador7}) + 1; var form7_1 = '${nomeForm7_1}'; var form7_2 = '${nomeForm7_2}'; var new_form7_1; var new_form7_2; if (cont1 < 10){ new_form7_1 = form7_1.substring(0, form7_1.length-4) + '_v0' + cont1; new_form7_2 = form7_2.substring(0, form7_2.length-4) + '_v0' + cont1; }else{ new_form7_1 = form7_1.substring(0, form7_1.length-4) + '_v' + cont1; new_form7_2 = form7_2.substring(0, form7_2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm7_1", new_form7_1); execution.setVariable("#nomeForm7_2", new_form7_2); execution.setVariable("#contador7", cont1);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador13F2}) + 1; var form13F2 = '${nomeForm13F2}'; var new_form13F2; if (cont1 < 10){ new_form13F2 = form13F2.substring(0, form13F2.length-4) + '_v0' + cont1; }else{ new_form13F2 = form13F2.substring(0, form13F2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13F2", new_form13F2); execution.setVariable("#contador13F2", cont1);
=== Tarefa: E-mail: Comunicado de prazo estourado. (Tarefa será executada e cancelada automaticamente) (userTask) ===
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var deMensagem = "Registramos que o(a) Sr.(a) ${atorDaTarefaFinalizada} encaminhou ao Tribunal de Contas do Estado de Goiás (TCE-GO) a aposentadoria de ${nomeServidor}, do(a) ${nomeOrgao}, conforme exigência do art. 6º da Resolução Normativa nº 4/2022, de 10 de novembro de 2022.\n\nO ato foi remetido eletronicamente a este Tribunal por meio do SIAP - Sistema de Atos de Pessoal, buscando o cumprimento dos requisitos definidos na referida resolução, e encontra-se na base de dados desta Corte aguardando análise técnica e julgamento. Ao TCE-GO compete apreciar, para fins de registro, a legalidade do feito, nos termos do artigo 26, inciso III, da Constituição do Estado de Goiás de 1989."; execution.setVariable("#deMensagem", deMensagem);
var cont1 = parseInt(${contador13F1}) + 1; var form13F1 = '${nomeForm13F1}'; var new_form13F1; if (cont1 < 10){ new_form13F1 = form13F1.substring(0, form13F1.length-4) + '_v0' + cont1; }else{ new_form13F1 = form13F1.substring(0, form13F1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13F1", new_form13F1); execution.setVariable("#contador13F1", cont1);
var cont1 = parseInt(${contador13J2}) + 1; var form13J2 = '${nomeForm13J2}'; var new_form13J2; if (cont1 < 10){ new_form13J2 = form13J2.substring(0, form13J2.length-4) + '_v0' + cont1; }else{ new_form13J2 = form13J2.substring(0, form13J2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13J2", new_form13J2); execution.setVariable("#contador13J2", cont1);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador5A2}) + 1; var form5A2 = '${nomeForm5A2}'; var new_form5A2; if (cont1 < 10){ new_form5A2 = form5A2.substring(0, form5A2.length-4) + '_v0' + cont1; }else{ new_form5A2 = form5A2.substring(0, form5A2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm5A2", new_form5A2); execution.setVariable("#contador5A2", cont1);
execution.setVariable("#alterarEncaminhamento", 'N'); execution.setVariable("#retornarCorrecaoAnalista", 'N'); execution.setVariable("#encaminharRevChefe", 'N/A'); execution.setVariable("#enviaParaRevisao", 'N');
var cont1 = parseInt(${contador13I2}) + 1; var form13I2 = '${nomeForm13I2}'; var new_form13I2; if (cont1 < 10){ new_form13I2 = form13I2.substring(0, form13I2.length-4) + '_v0' + cont1; }else{ new_form13I2 = form13I2.substring(0, form13I2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13I2", new_form13I2); execution.setVariable("#contador13I2", cont1);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
execution.setVariable("#prazoEsgotado", ' ');
var cont1 = parseInt(${contador23B}) + 1; var form23B = '${nomeForm23B}'; var form21B = '${nomeForm21B}'; var form21C = '${nomeForm21C}'; var new_form23B; var new_form21B; var new_form21C; if (cont1 < 10){ new_form23B = form23B.substring(0, form23B.length-4) + '_v0' + cont1; new_form21B = form21B.substring(0, form21B.length-4) + '_v0' + cont1; new_form21C = form21C.substring(0, form21C.length-4) + '_v0' + cont1; }else{ new_form23B = form23B.substring(0, form23B.length-4) + '_v' + cont1; new_form21B = form21B.substring(0, form21B.length-4) + '_v' + cont1; new_form21C = form21C.substring(0, form21C.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm23B", new_form23B); execution.setVariable("#nomeForm21B", new_form21B); execution.setVariable("#nomeForm21C", new_form21C); execution.setVariable("#contador23B", cont1);
=== Tarefa: JS Calculo Idade (scriptTask) ===
var tipoData = "${tipoData}"; if(tipoData == 'novaData'){ var DATA_FIM = "${nova_dataFimTempoContribServico}"; } if(tipoData == 'dataFim'){ var DATA_FIM ="${dataFimTempoContribServico}"; } var dataNascimento = "${dataNascimento}"; var arrayDataFim = DATA_FIM.split('/'); var arrayNascimento = dataNascimento.split('/'); var diaNas = arrayNascimento[0]; var mesNas = arrayNascimento[1]; var anoNas = arrayNascimento[2]; var dataFim = arrayDataFim[1]+'/'+arrayDataFim[0]+'/'+arrayDataFim[2]; var idadeServidor = idade(anoNas,mesNas,diaNas,dataFim); execution.setVariable("#idadeServidor", idadeServidor); function idade(ano_aniversario, mes_aniversario, dia_aniversario, dataFim) { var d = new Date(dataFim), ano_atual = d.getFullYear(), mes_atual = d.getMonth() + 1, dia_atual = d.getDate(), ano_aniversario = +ano_aniversario, mes_aniversario = +mes_aniversario, dia_aniversario = +dia_aniversario, quantos_anos = ano_atual - ano_aniversario; if (mes_atual < mes_aniversario || mes_atual == mes_aniversario && dia_atual < dia_aniversario) { quantos_anos--; } return quantos_anos < 0 ? 0 : quantos_anos; }
var cont1 = parseInt(${contador11B}) + 1; var cont2 = parseInt(${contador9F}) + 1; var form11B = '${nomeForm11B}'; var form9F = '${nomeForm9F}'; var new_form11B; var new_form9F; if (cont1 < 10){ new_form11B = form11B.substring(0, form11B.length-4) + '_v0' + cont1; }else{ new_form11B = form11B.substring(0, form11B.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form9F = form9F.substring(0, form9F.length-4) + '_v0' + cont1; }else{ new_form9F = form9F.substring(0, form9F.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm11B", new_form11B); execution.setVariable("#nomeForm9F", new_form9F); execution.setVariable("#contador11B", cont1); execution.setVariable("#contador9F", cont2);
var valor = '${novoValor}'; if(valor[0] == '$' || valor.length == 0){ var newValor = '0'; }else{ var newValor = valor; } execution.setVariable("#novoValor", newValor); /*return execution.getVariable("#novoValor");*/
execution.setVariable("#revInfoProvAposentadora", 'N');
var cont1 = parseInt(${contador1}) + 1; var cont2 = parseInt(${contador2E}) + 1; var form1 = '${nomeForm1}'; var form2E = '${nomeForm2E}'; var new_form1; var new_form2E; if (cont1 < 10){ new_form1 = form1.substring(0, form1.length-4) + '_v0' + cont1; }else{ new_form1 = form1.substring(0, form1.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form2E = form2E.substring(0, form2E.length-4) + '_v0' + cont2; }else{ new_form2E = form2E.substring(0, form2E.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm1", new_form1); execution.setVariable("#nomeForm2E", new_form2E); execution.setVariable("#contador1", cont1); execution.setVariable("#contador2A", cont2);
execution.setVariable("#alterarEncaminhamento", 'N'); execution.setVariable("#retornarCorrecaoAnalista", 'N'); execution.setVariable("#encaminharRevChefe", 'N/A'); execution.setVariable("#enviaParaRevisao", 'N');
var cont1 = parseInt(${contador13A2}) + 1; var form13A2 = '${nomeForm13A2}'; var new_form13A2; if (cont1 < 10){ new_form13A2 = form13A2.substring(0, form13A2.length-4) + '_v0' + cont1; }else{ new_form13A2 = form13A2.substring(0, form13A2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13A2", new_form13A2); execution.setVariable("#contador13A2", cont1);
var valor = '${novoValor}'; if(valor[0] == '$' || valor.length == 0){ var newValor = '0'; }else{ var newValor = valor; } execution.setVariable("#novoValor", newValor); /*return execution.getVariable("#novoValor");*/
var cont1 = parseInt(${contador11A}) + 1; var cont2 = parseInt(${contador17D}) + 1; var form11A = '${nomeForm11A}'; var form17D = '${nomeform17D}'; var new_form11A; var new_form17D; if (cont1 < 10){ new_form11A = form11A.substring(0, form11A.length-4) + '_v0' + cont1; }else{ new_form11A = form11A.substring(0, form11A.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form17D = form17D.substring(0, form17D.length-4) + '_v0' + cont2; }else{ new_form17D = form17D.substring(0, form17D.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm11A", new_form11A); execution.setVariable("#nomeform17D", new_form17D); execution.setVariable("#contador11A", cont1); execution.setVariable("#contador17D", cont2);
var retornoServCriticas=${retornoServCriticas}; if(retornoServCriticas[0] == '$' || retornoServCriticas.length == 0){ var possuiCriticaTCE = '0'; }else{ var possuiCriticaTCE = '1'; } execution.setVariable("#possuiCriticaTCE", possuiCriticaTCE); /*possuiCriticaTCE*/
var cont1 = parseInt(${contador13B1}) + 1; var form13B1 = '${nomeForm13B1}'; var new_form13B1; if (cont1 < 10){ new_form13B1 = form13B1.substring(0, form13B1.length-4) + '_v0' + cont1; }else{ new_form13B1 = form13B1.substring(0, form13B1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13B1", new_form13B1); execution.setVariable("#contador13B1", cont1);
var cont1 = parseInt(${contador13H1}) + 1; var form13H1 = '${nomeForm13H1}'; var new_form13H1; if (cont1 < 10){ new_form13H1 = form13H1.substring(0, form13H1.length-4) + '_v0' + cont1; }else{ new_form13H1 = form13H1.substring(0, form13H1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13H1", new_form13H1); execution.setVariable("#contador13H1", cont1);
var cont = parseInt(${contador3_4}) + 1; var form3 = '${nomeForm3}'; var form4 = '${nomeForm4}'; var new_form3; var new_form4; if (cont < 10){ new_form3 = form3.substring(0, form3.length-4) + '_v0' + cont; new_form4 = form4.substring(0, form4.length-4) + '_v0' + cont; }else{ new_form3 = form3.substring(0, form3.length-4) + '_v' + cont; new_form4 = form4.substring(0, form4.length-4) + '_v' + cont; } execution.setVariable("#nomeForm3", new_form3); execution.setVariable("#nomeForm4", new_form4); execution.setVariable("#contador3_4", cont);
var dataEnvio = new Date(); var dia = dataEnvio.getDate().toString(); var diaF = (dataEnvio.length == 1) ? '0'+dataEnvio.getDate().toString() : dataEnvio.getDate().toString(); var mes = (dataEnvio.getMonth()+1).toString(); var mesF = (dataEnvio.length == 1) ? '0'+(dataEnvio.getMonth()+1).toString() : (dataEnvio.getMonth()+1).toString(); var anoF = dataEnvio.getFullYear(); var dataEnvioFormatada= diaF+"/"+mesF+"/"+anoF; execution.setVariable("#dataEnvioFormatada", dataEnvioFormatada); var horas = (dataEnvio.getHours()<10)?"0"+dataEnvio.getHours():dataEnvio.getHours(); var minutos = (dataEnvio.getMinutes()<10)?("0"+dataEnvio.getMinutes()):dataEnvio.getMinutes(); var horaEnvio = horas+":"+minutos; execution.setVariable("#horaEnvio", horaEnvio); execution.setVariable("#dataEnvio", dataEnvio+"" );
var valor = '${novoValor}'; if(valor[0] == '$' || valor.length == 0){ var newValor = '0'; }else{ var newValor = valor; } execution.setVariable("#novoValor", newValor); /*return execution.getVariable("#novoValor");*/
var cont1 = parseInt(${contador13G1}) + 1; var form13G1 = '${nomeForm13G1}'; var new_form13G1; if (cont1 < 10){ new_form13G1 = form13G1.substring(0, form13G1.length-4) + '_v0' + cont1; }else{ new_form13G1 = form13G1.substring(0, form13G1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13G1", new_form13G1); execution.setVariable("#contador13G1", cont1);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador6}) + 1; var form6 = '${nomeform6}'; var new_form6; if (cont1 < 10){ new_form6 = form6.substring(0, form6.length-4) + '_v0' + cont1; }else{ new_form6 = form6.substring(0, form6.length-4) + '_v' + cont1; } execution.setVariable("#nomeform6", new_form6); execution.setVariable("#contador6", cont1);
select DISTINCT E.CDUSUARIO from SOLAR.ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:UserIdAnalista
var nuprocesso= ${nuprocesso}; var nuano = ${nuano}; var cdorgaosetor = ${cdorgaosetor}; var linkPasta = '/cpav/visualizarDocumentosProcesso.do?processoPK='+nuprocesso+','+cdorgaosetor+','+nuano+'&itemAba=aba_pecas&escondeBotaoVoltar=&VOLTAR_LINK='; execution.setVariable("#linkPasta", linkPasta);
var cont1 = parseInt(${contador13G2}) + 1; var form13G2 = '${nomeForm13G2}'; var new_form13G2; if (cont1 < 10){ new_form13G2 = form13G2.substring(0, form13G2.length-4) + '_v0' + cont1; }else{ new_form13G2 = form13G2.substring(0, form13G2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13G2", new_form13G2); execution.setVariable("#contador13G2", cont1);
var tramitacaoDesejada28a= '${tramitacaoDesejada28a}'; execution.setVariable("#tramitacaoDesejada", tramitacaoDesejada28a);
var dataAtual = new Date(); var dia = dataAtual.getDate().toString(); var diaF = (dataAtual.length == 1) ? '0'+dataAtual.getDate().toString() : dataAtual.getDate().toString(); var mes = (dataAtual.getMonth()+1).toString(); var mesF = (dataAtual.length == 1) ? '0'+(dataAtual.getMonth()+1).toString() : (dataAtual.getMonth()+1).toString(); var anoF = dataAtual.getFullYear(); dataAtual= diaF+"/"+mesF+"/"+anoF; execution.setVariable("#dataAtual", dataAtual);
var proporcionalidade = "${proporcionalidade}"; if(proporcionalidade){ var old_proporcionalidade = proporcionalidade; execution.setVariable("#old_proporcionalidade", old_proporcionalidade ); }
var siglaOrgao = "${siglaOrgao}"; var todosAutonomos = ["TJGO-0400", "TCEGO-0200", "TCMGO-0300", "AL-0100", "DPEG-0800", "MPGO","PGJ-0700"]; var retorno = todosAutonomos.indexOf(siglaOrgao) >= 0 ? "S" : "N"; execution.setVariable("#flOrgaoAutonomo", retorno);
var proporcionalidade = "${proporcionalidade}"; if(proporcionalidade){ var old_proporcionalidade = proporcionalidade; execution.setVariable("#old_proporcionalidade", old_proporcionalidade ); }
var cont1 = parseInt(${contador13C2}) + 1; var form13C2 = '${nomeForm13C2}'; var new_form13C2; if (cont1 < 10){ new_form13C2 = form13C2.substring(0, form13C2.length-4) + '_v0' + cont1; }else{ new_form13C2 = form13C2.substring(0, form13C2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13C2", new_form13C2); execution.setVariable("#contador13C2", cont1);
var proporcionalidade = "${proporcionalidade}"; if(proporcionalidade){ var old_proporcionalidade = proporcionalidade; execution.setVariable("#old_proporcionalidade", old_proporcionalidade ); }
var processo = '${cdProcesso}'; var modelo = '${cdModelo}'; var nomeDocumento = '${nomeDocumentoModelo}'; //GERA MODELO DE DOC JÁ APONTANDO E CARREGANDO O MODELO //var link = '/cpavPasta/documento/cadastrarAnexoModelo?chaveProcesso='+processo+'&cdModelo='+modelo+'&nmDocumentoModelo='+nomeDocumento; // APENAS ABRI A TELA ONDE O USER ESCOLHE O MODELO DE DOC var link = '/cpavPasta/documento/cadastrarAnexoModelo?chaveProcesso='+processo; execution.setVariable("#linkAnexoModelo", link);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador13H2}) + 1; var form13H2 = '${nomeForm13H2}'; var new_form13H2; if (cont1 < 10){ new_form13H2 = form13H2.substring(0, form13H2.length-4) + '_v0' + cont1; }else{ new_form13H2 = form13H2.substring(0, form13H2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13H2", new_form13H2); execution.setVariable("#contador13H2", cont1);
var entrada = "${variavel}"; var escape = '$' + '{variavel}'; var resultado = entrada != escape && entrada.length > 0 ? 'S' : 'N'; execution.setVariable("#resultado", resultado);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador13C1}) + 1; var form13C1 = '${nomeForm13C1}'; var new_form13C1; if (cont1 < 10){ new_form13C1 = form13C1.substring(0, form13C1.length-4) + '_v0' + cont1; }else{ new_form13C1 = form13C1.substring(0, form13C1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13C1", new_form13C1); execution.setVariable("#contador13C1", cont1);
var cont1 = parseInt(${contador11A}) + 1; var cont2 = parseInt(${contador9D}) + 1; var form11A = '${nomeForm11A}'; var form9D = '${nomeForm9D}'; var new_form11A; var new_form9D; if (cont1 < 10){ new_form11A = form11A.substring(0, form11A.length-4) + '_v0' + cont1; }else{ new_form11A = form11A.substring(0, form11A.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form9D = form9D.substring(0, form9D.length-4) + '_v0' + cont1; }else{ new_form9D = form9D.substring(0, form9D.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm11A", new_form11A); execution.setVariable("#nomeForm9D", new_form9D); execution.setVariable("#contador11A", cont1); execution.setVariable("#contador9D", cont2);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var num = '${numProcessoFormatado}'; var parte1= num.split(' '); var parte2 = parte1[1].split('/'); var anoProcesso= parte2[0]; execution.setVariable("#anoProcesso", anoProcesso);
var numeroInstanciaFluxo = 4; execution.setVariable("#numeroInstanciaFluxo", numeroInstanciaFluxo);
select DISTINCT E.CDUSUARIO from SOLAR.ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:UserIdAnalista
var proporcionalidade = "${proporcionalidade}"; if(proporcionalidade){ var old_proporcionalidade = proporcionalidade; execution.setVariable("#old_proporcionalidade", old_proporcionalidade ); }
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:sel_revisorResp
select DISTINCT E.CDUSUARIO from SOLAR.ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:UserIdAnalista
var cont1 = parseInt(${contador15e16}) + 1; var form15 = '${nomeForm15}'; var form16 = '${nomeForm16}'; var new_form15; var new_form16; if (cont1 < 10){ new_form15 = form15.substring(0, form15.length-4) + '_v0' + cont1; new_form16 = form16.substring(0, form16.length-4) + '_v0' + cont1; }else{ new_form15 = form15.substring(0, form15.length-4) + '_v' + cont1; new_form16 = form16.substring(0, form16.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm15", new_form15); execution.setVariable("#nomeForm16", new_form16); execution.setVariable("#contador15e16", cont1);
var cont1 = parseInt(${contador23A}) + 1; var form23A = '${nomeForm23A}'; var form29 = '${nomeForm29}'; var new_form23A; var new_form29; if (cont1 < 10){ new_form23A = form23A.substring(0, form23A.length-4) + '_v0' + cont1; new_form29 = form29.substring(0, form29.length-4) + '_v0' + cont1; }else{ new_form23A = form23A.substring(0, form23A.length-4) + '_v' + cont1; new_form29 = form29.substring(0, form29.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm23A", new_form23A); execution.setVariable("#nomeForm29", new_form29); execution.setVariable("#contador23A", cont1);
var cont1 = parseInt(${contador1}) + 1; var cont2 = parseInt(${contador2C}) + 1; var form1 = '${nomeForm1}'; var form2C = '${nomeForm2C}'; var new_form1; var new_form2C; if (cont1 < 10){ new_form1 = form1.substring(0, form1.length-4) + '_v0' + cont1; }else{ new_form1 = form1.substring(0, form1.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form2C = form2C.substring(0, form2C.length-4) + '_v0' + cont2; }else{ new_form2C = form2C.substring(0, form2C.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm1", new_form1); execution.setVariable("#nomeForm2C", new_form2C); execution.setVariable("#contador1", cont1); execution.setVariable("#contador2C", cont2);
var valor = '${novoValor}'; if(valor[0] == '$' || valor.length == 0){ var newValor = '0'; }else{ var newValor = valor; } execution.setVariable("#novoValor", newValor); /*return execution.getVariable("#novoValor");*/
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador24A}) + 1; var form24A = '${nomeForm24A}'; var new_form24A; if (cont1 < 10){ new_form24A = form24A.substring(0, form24A.length-4) + '_v0' + cont1; }else{ new_form24A = form24A.substring(0, form24A.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm24A", new_form24A); execution.setVariable("#contador24A", cont1);
var cont1 = parseInt(${contador14}) + 1; var form14_1 = '${nomeForm14_1}'; var form14_2 = '${nomeform14_2}'; var new_form14_1; var new_form14_2; if (cont1 < 10){ new_form14_1 = form14_1.substring(0, form14_1.length-4) + '_v0' + cont1; new_form14_2 = form14_2.substring(0, form14_2.length-4) + '_v0' + cont1; }else{ new_form14_1 = form14_1.substring(0, form14_1.length-4) + '_v' + cont1; new_form14_2 = form14_2.substring(0, form14_2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm14_1", new_form14_1); execution.setVariable("#nomeform14_2", new_form14_2); execution.setVariable("#contador14", cont1);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador28C}) + 1; var form28C = '${nomeForm28C}'; var new_form28C; if (cont1 < 10){ new_form28C = form28C.substring(0, form28C.length-4) + '_v0' + cont1; }else{ new_form28C = form28C.substring(0, form28C.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm28C", new_form28C); execution.setVariable("#contador28C", cont1);
var cont1 = parseInt(${contador13D2}) + 1; var form13D2 = '${nomeForm13D2}'; var new_form13D2; if (cont1 < 10){ new_form13D2 = form13D2.substring(0, form13D2.length-4) + '_v0' + cont1; }else{ new_form13D2 = form13D2.substring(0, form13D2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13D2", new_form13D2); execution.setVariable("#contador13D2", cont1);
var cont1 = parseInt(${contador10D}) + 1; var form10D1 = '${nomeForm10D1}'; var form10D2 = '${nomeForm10D2}'; var new_form10D1; var new_form10D2; if (cont1 < 10){ new_form10D1 = form10D1.substring(0, form10D1.length-4) + '_v0' + cont1; new_form10D2 = form10D2.substring(0, form10D2.length-4) + '_v0' + cont1; }else{ new_form10D1 = form10D1.substring(0, form10D1.length-4) + '_v' + cont1; new_form10D2 = form10D2.substring(0, form10D2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm10D1", new_form10D1); execution.setVariable("#nomeForm10D2", new_form10D2); execution.setVariable("#contador10D", cont1);
var proporcionalidade = "${proporcionalidade}"; if(proporcionalidade){ var old_proporcionalidade = proporcionalidade; execution.setVariable("#old_proporcionalidade", old_proporcionalidade ); }
var cont1 = parseInt(${contador8}) + 1; var form8_1 = '${nomeForm8_1}'; var form8_2 = '${nomeForm8_2}'; var new_form8_1; var new_form8_2; if (cont1 < 10){ new_form8_1 = form8_1.substring(0, form8_1.length-4) + '_v0' + cont1; new_form8_2 = form8_2.substring(0, form8_2.length-4) + '_v0' + cont1; }else{ new_form8_1 = form8_1.substring(0, form8_1.length-4) + '_v' + cont1; new_form8_2 = form8_2.substring(0, form8_2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm8_1", new_form8_1); execution.setVariable("#nomeForm8_2", new_form8_2); execution.setVariable("#contador8", cont1);
SELECT CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT( '{"NUMFORMAT": "', p.NUFORMATADO), '","SGORGAO":"'), os.SGORGAOSETOR), '","ASS":"'), N.DEASSUNTO), '","CPF":"'), REPLACE(:cpfServidor, '%','' )), '","CARGO":"'), mtv.DEMETADADO), '","STATUS":"'), pc.FLSITUACAO), '"}') AS "return_processos_cpfOrgaoCargo" FROM ECPAMETADADOVALORPROCESSO f INNER JOIN ECPAMETADADOVALOR mtv ON mtv.CDMETADADOVALOR = f.CDMETADADOVALOR INNER JOIN ECPASERVPROCESSO p ON p.CDPROCESSO = f.CDPROCESSO inner join ECPAPROCESSO pc on pc.NUANO = p.NUANO and pc.NUPROCESSO = p.NUPROCESSO and pc.CDORGAOSETOR = p.CDORGAOSETOR INNER JOIN ECPAORGAOSETOR os ON os.CDORGAOSETOR = pc.CDORGAOSETOR INNER JOIN ECPAPROCASSUNTO ASSU ON ASSU.CDORGAOSETOR = pc.CDORGAOSETOR AND pc.NUANO = ASSU.NUANO AND pc.NUPROCESSO = ASSU.NUPROCESSO AND ASSU.CDASSUNTO =10 INNER JOIN ECPAASSUNTO N ON N.CDASSUNTO = ASSU.CDASSUNTO INNER JOIN ECPAASSUNTO N ON N.CDASSUNTO = ASSU.CDASSUNTO INNER JOIN ECPAMETADADO md ON md.CDMETADADO = mtv.CDMETADADO AND md.NMMETADADO LIKE '%Nome do cargo em que se da%' WHERE pc.DECOMPLEMENTO LIKE '%'||:cpfServidor||'%' AND pc.FLSITUACAO IN('R','E','A') ORDER BY os.SGORGAOSETOR,mtv.DEMETADADO
select DISTINCT E.CDUSUARIO from SOLAR.ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:UserIdAnalista
var processo = '${cdProcesso}'; var modelo = '${cdModelo}'; var nomeDocumento = '${nomeDocumentoModelo}'; //GERA MODELO DE DOC JÁ APONTANDO E CARREGANDO O MODELO //var link = '/cpavPasta/documento/cadastrarAnexoModelo?chaveProcesso='+processo+'&cdModelo='+modelo+'&nmDocumentoModelo='+nomeDocumento; // APENAS ABRI A TELA ONDE O USER ESCOLHE O MODELO DE DOC var link = '/cpavPasta/documento/cadastrarAnexoModelo?chaveProcesso='+processo; execution.setVariable("#linkAnexoModelo", link);
var matriculas= '${ent_matriculas}'; //var mat= ${ent_matriculas}; var compara = matriculas.substring(2, matriculas.length - 1); if(compara == "ent_matriculas"){ execution.setVariable("#matriculas", 0); }else{ execution.setVariable("#matriculas", matriculas); }
SELECT DISTINCT CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT(CONCAT( '{"NUMFORMAT": "', p.NUFORMATADO), '","SGORGAO":"'), os.SGORGAOSETOR), '","ASS":"'), N.DEASSUNTO), '","CPF":"'), REPLACE(:cpfServidor, '%','' )), '","STATUS":"'), pc.FLSITUACAO), '"}') AS "return_processos_cpf" FROM ECPASERVPROCESSO p inner join ECPAPROCESSO pc on pc.NUANO = p.NUANO and pc.NUPROCESSO = p.NUPROCESSO and pc.CDORGAOSETOR = p.CDORGAOSETOR INNER JOIN ECPAORGAOSETOR os ON os.CDORGAOSETOR = pc.CDORGAOSETOR INNER JOIN ECPAPROCASSUNTO ASSU ON ASSU.CDORGAOSETOR = pc.CDORGAOSETOR AND pc.NUANO = ASSU.NUANO AND pc.NUPROCESSO = ASSU.NUPROCESSO AND ASSU.CDASSUNTO IN (10, 9) INNER JOIN ECPAASSUNTO N ON N.CDASSUNTO = ASSU.CDASSUNTO INNER JOIN ECPAASSUNTO N ON N.CDASSUNTO = ASSU.CDASSUNTO WHERE pc.DECOMPLEMENTO LIKE '%'||:cpfServidor||'%' AND pc.FLSITUACAO IN('R','E','A')
var dataAtual = new Date(); var dia = dataAtual.getDate().toString(); var diaF = (dataAtual.length == 1) ? '0'+dataAtual.getDate().toString() : dataAtual.getDate().toString(); var mes = (dataAtual.getMonth()+1).toString(); var mesF = (dataAtual.length == 1) ? '0'+(dataAtual.getMonth()+1).toString() : (dataAtual.getMonth()+1).toString(); var anoF = dataAtual.getFullYear(); dataAtual= diaF+"/"+mesF+"/"+anoF; execution.setVariable("#dataAtual", dataAtual);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
=== Tarefa: Tipo Data (dataFim) (scriptTask) ===
var tipoData = 'dataFim'; execution.setVariable("#tipoData", tipoData);
execution.setVariable("#alterarEncaminhamento", 'N'); execution.setVariable("#retornarCorrecaoAnalista", 'N'); execution.setVariable("#encaminharRevChefe", 'N/A'); execution.setVariable("#enviaParaRevisao", 'N');
var cont1 = parseInt(${contador11A}) + 1; var cont2 = parseInt(${contador17C}) + 1; var form11A = '${nomeForm11A}'; var form17C = '${nomeform17C}'; var new_form11A; var new_form17C; if (cont1 < 10){ new_form11A = form11A.substring(0, form11A.length-4) + '_v0' + cont1; }else{ new_form11A = form11A.substring(0, form11A.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form17C = form17C.substring(0, form17C.length-4) + '_v0' + cont2; }else{ new_form17C = form17C.substring(0, form17C.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm11A", new_form11A); execution.setVariable("#nomeform17C", new_form17C); execution.setVariable("#contador11A", cont1); execution.setVariable("#contador17B", cont2);
var cont1 = parseInt(${contador1}) + 1; var cont2 = parseInt(${contador2D}) + 1; var form1 = '${nomeForm1}'; var form2D = '${nomeForm2D}'; var new_form1; var new_form2D; if (cont1 < 10){ new_form1 = form1.substring(0, form1.length-4) + '_v0' + cont1; }else{ new_form1 = form1.substring(0, form1.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form2D = form2D.substring(0, form2D.length-4) + '_v0' + cont2; }else{ new_form2D = form2D.substring(0, form2D.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm1", new_form1); execution.setVariable("#nomeForm2D", new_form2D); execution.setVariable("#contador1", cont1); execution.setVariable("#contador2D", cont2);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
execution.setVariable("#novoValor", '${valor}'); return execution.getVariable("#novoValor");
var cont1 = parseInt(${contador13E1}) + 1; var form13E1 = '${nomeForm13E1}'; var new_form13E1; if (cont1 < 10){ new_form13E1 = form13E1.substring(0, form13E1.length-4) + '_v0' + cont1; }else{ new_form13E1 = form13E1.substring(0, form13E1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13E1", new_form13E1); execution.setVariable("#contador13E1", cont1);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
=== Tarefa: Tipo Data (novaData) (scriptTask) ===
var tipoData = 'novaData'; execution.setVariable("#tipoData", tipoData);
var cont1 = parseInt(${contador13D1}) + 1; var form13D1 = '${nomeForm13D1}'; var new_form13D1; if (cont1 < 10){ new_form13D1 = form13D1.substring(0, form13D1.length-4) + '_v0' + cont1; }else{ new_form13D1 = form13D1.substring(0, form13D1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13D1", new_form13D1); execution.setVariable("#contador13D1", cont1);
var cont1 = parseInt(${contador28A}) + 1; var form28A = '${nomeForm28A}'; var new_form28A; if (cont1 < 10){ new_form28A = form28A.substring(0, form28A.length-4) + '_v0' + cont1; }else{ new_form28A = form28A.substring(0, form28A.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm28A", new_form28A); execution.setVariable("#contador28A", cont1);
select DISTINCT E.CDUSUARIO from SOLAR.ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:UserIdAnalista
var cont1 = parseInt(${contador5A1}) + 1; var form5A1 = '${nomeForm5A1}'; var new_form5A1; if (cont1 < 10){ new_form5A1 = form5A1.substring(0, form5A1.length-4) + '_v0' + cont1; }else{ new_form5A1 = form5A1.substring(0, form5A1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm5A1", new_form5A1); execution.setVariable("#contador5A1", cont1);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador10B}) + 1; var form10B1 = '${nomeForm10B1}'; var form10B2 = '${nomeForm10B2}'; var new_form10B1; var new_form10B2; if (cont1 < 10){ new_form10B1 = form10B1.substring(0, form10B1.length-4) + '_v0' + cont1; new_form10B2 = form10B2.substring(0, form10B2.length-4) + '_v0' + cont1; }else{ new_form10B1 = form10B1.substring(0, form10B1.length-4) + '_v' + cont1; new_form10B2 = form10B2.substring(0, form10B2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm10B1", new_form10B1); execution.setVariable("#nomeForm10B2", new_form10B2); execution.setVariable("#contador10B", cont1);
var proporcionalidade = "${proporcionalidade}"; if(proporcionalidade){ var old_proporcionalidade = proporcionalidade; execution.setVariable("#old_proporcionalidade", old_proporcionalidade ); }
execution.setVariable("#retornaForm23A", 'N');
var cont1 = parseInt(${contador11A}) + 1; var cont2 = parseInt(${contador9A}) + 1; var form11A = '${nomeForm11A}'; var form9A = '${nomeForm9A}'; var new_form11A; var new_form9A; if (cont1 < 10){ new_form11A = form11A.substring(0, form11A.length-4) + '_v0' + cont1; }else{ new_form11A = form11A.substring(0, form11A.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form9A = form9A.substring(0, form9A.length-4) + '_v0' + cont1; }else{ new_form9A = form9A.substring(0, form9A.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm11A", new_form11A); execution.setVariable("#nomeForm9A", new_form9A); execution.setVariable("#contador11A", cont1); execution.setVariable("#contador9A", cont2);
var cont1 = parseInt(${contador24C}) + 1; var form24C = '${nomeForm24C}'; var new_form24C; if (cont1 < 10){ new_form24C = form24C.substring(0, form24C.length-4) + '_v0' + cont1; }else{ new_form24C = form24C.substring(0, form24C.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm24C", new_form24C); execution.setVariable("#contador24C", cont1);
var cont1 = parseInt(${contador28B}) + 1; var form28B = '${nomeForm28B}'; var new_form28B; if (cont1 < 10){ new_form28B = form28B.substring(0, form28B.length-4) + '_v0' + cont1; }else{ new_form28B = form28B.substring(0, form28B.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm28B", new_form28B); execution.setVariable("#contador28B", cont1);
var cont1 = parseInt(${contador13J1}) + 1; var form13J1 = '${nomeForm13J1}'; var new_form13J1; if (cont1 < 10){ new_form13J1 = form13J1.substring(0, form13J1.length-4) + '_v0' + cont1; }else{ new_form13J1 = form13J1.substring(0, form13J1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13J1", new_form13J1); execution.setVariable("#contador13J1", cont1);
var dataAtual = new Date(); var dia = dataAtual.getDate().toString(); var diaF = (dataAtual.length == 1) ? '0'+dataAtual.getDate().toString() : dataAtual.getDate().toString(); var mes = (dataAtual.getMonth()+1).toString(); var mesF = (dataAtual.length == 1) ? '0'+(dataAtual.getMonth()+1).toString() : (dataAtual.getMonth()+1).toString(); var anoF = dataAtual.getFullYear(); dataAtual= diaF+"/"+mesF+"/"+anoF; execution.setVariable("#dataAtual", dataAtual);
var cont1 = parseInt(${contador18}) + 1; var form18 = '${nomeForm18}'; var new_form18; if (cont1 < 10){ new_form18 = form18.substring(0, form18.length-4) + '_v0' + cont1; }else{ new_form18 = form18.substring(0, form18.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm18", new_form18); execution.setVariable("#contador18", cont1);
execution.setVariable("#prazoEsgotado", 'S');
var cont1 = parseInt(${contador21A}) + 1; var form21A = '${nomeForm21A}'; var form22 = '${nomeForm22}'; var new_form21A; var new_form22; if (cont1 < 10){ new_form21A = form21A.substring(0, form21A.length-4) + '_v0' + cont1; new_form22 = form22.substring(0, form22.length-4) + '_v0' + cont1; }else{ new_form21A = form21A.substring(0, form21A.length-4) + '_v' + cont1; new_form22 = form22.substring(0, form22.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm21A", new_form21A); execution.setVariable("#nomeForm22", new_form22); execution.setVariable("#contador21A", cont1);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador1}) + 1; var cont2 = parseInt(${contador2A}) + 1; var form1 = '${nomeForm1}'; var form2A = '${nomeForm2A}'; var new_form1; var new_form2A; if (cont1 < 10){ new_form1 = form1.substring(0, form1.length-4) + '_v0' + cont1; }else{ new_form1 = form1.substring(0, form1.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form2A = form2A.substring(0, form2A.length-4) + '_v0' + cont2; }else{ new_form2A = form2A.substring(0, form2A.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm1", new_form1); execution.setVariable("#nomeForm2A", new_form2A); execution.setVariable("#contador1", cont1); execution.setVariable("#contador2A", cont2);
var cont1 = parseInt(${contador13I1}) + 1; var form13I1 = '${nomeForm13I1}'; var new_form13I1; if (cont1 < 10){ new_form13I1 = form13I1.substring(0, form13I1.length-4) + '_v0' + cont1; }else{ new_form13I1 = form13I1.substring(0, form13I1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13I1", new_form13I1); execution.setVariable("#contador13I1", cont1);
=== Tarefa: Tipo Data (dataFim) (scriptTask) ===
var tipoData = 'dataFim'; execution.setVariable("#tipoData", tipoData);
execution.setVariable("#dataPrazo", null);
var cont1 = parseInt(${contador11A}) + 1; var cont2 = parseInt(${contador9B}) + 1; var form11A = '${nomeForm11A}'; var form9B = '${nomeForm9B}'; var new_form11A; var new_form9B; if (cont1 < 10){ new_form11A = form11A.substring(0, form11A.length-4) + '_v0' + cont1; }else{ new_form11A = form11A.substring(0, form11A.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form9B = form9B.substring(0, form9B.length-4) + '_v0' + cont1; }else{ new_form9B = form9B.substring(0, form9B.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm11A", new_form11A); execution.setVariable("#nomeForm9B", new_form9B); execution.setVariable("#contador11A", cont1); execution.setVariable("#contador9B", cont2);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador11A}) + 1; var cont2 = parseInt(${contador17A}) + 1; var form11A = '${nomeForm11A}'; var form17A = '${nomeForm17A}'; var new_form11A; var new_form17A; if (cont1 < 10){ new_form11A = form11A.substring(0, form11A.length-4) + '_v0' + cont1; }else{ new_form11A = form11A.substring(0, form11A.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form17A = form17A.substring(0, form17A.length-4) + '_v0' + cont2; }else{ new_form17A = form17A.substring(0, form17A.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm11A", new_form11A); execution.setVariable("#nomeForm17A", new_form17A); execution.setVariable("#contador11A", cont1); execution.setVariable("#contador17A", cont2);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador11A}) + 1; var cont2 = parseInt(${contador17E}) + 1; var form11A = '${nomeForm11A}'; var form17E = '${nomeform17E}'; var new_form11A; var new_form17E; if (cont1 < 10){ new_form11A = form11A.substring(0, form11A.length-4) + '_v0' + cont1; }else{ new_form11A = form11A.substring(0, form11A.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form17E = form17E.substring(0, form17E.length-4) + '_v0' + cont2; }else{ new_form17E = form17E.substring(0, form17E.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm11A", new_form11A); execution.setVariable("#nomeform17E", new_form17E); execution.setVariable("#contador11A", cont1); execution.setVariable("#contador17E", cont2);
var valor = '${novoValor}'; if(valor[0] == '$' || valor.length == 0){ var newValor = '0'; }else{ var newValor = valor; } execution.setVariable("#novoValor", newValor); /*return execution.getVariable("#novoValor");*/
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var processo = '${cdProcesso}'; var modelo = '${cdModelo}'; var nomeDocumento = '${nomeDocumentoModelo}'; //GERA MODELO DE DOC JÁ APONTANDO E CARREGANDO O MODELO //var link = '/cpavPasta/documento/cadastrarAnexoModelo?chaveProcesso='+processo+'&cdModelo='+modelo+'&nmDocumentoModelo='+nomeDocumento; // APENAS ABRI A TELA ONDE O USER ESCOLHE O MODELO DE DOC var link = '/cpavPasta/documento/cadastrarAnexoModelo?chaveProcesso='+processo; execution.setVariable("#linkAnexoModelo", link);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:sel_revisorResp
var cont1 = parseInt(${contador19}) + 1; var form19 = '${nomeForm19}'; var new_form19; if (cont1 < 10){ new_form19 = form19.substring(0, form19.length-4) + '_v0' + cont1; }else{ new_form19 = form19.substring(0, form19.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm19", new_form19); execution.setVariable("#contador19", cont1);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador28A}) + 1; var form28A = '${nomeForm28A}'; var new_form28A; if (cont1 < 10){ new_form28A = form28A.substring(0, form28A.length-4) + '_v0' + cont1; }else{ new_form28A = form28A.substring(0, form28A.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm28A", new_form28A); execution.setVariable("#contador28A", cont1);
var processo = '${cdProcesso}'; var modelo = '${cdModelo}'; var nomeDocumento = '${nomeDocumentoModelo}'; //GERA MODELO DE DOC JÁ APONTANDO E CARREGANDO O MODELO //var link = '/cpavPasta/documento/cadastrarAnexoModelo?chaveProcesso='+processo+'&cdModelo='+modelo+'&nmDocumentoModelo='+nomeDocumento; // APENAS ABRI A TELA ONDE O USER ESCOLHE O MODELO DE DOC var link = '/cpavPasta/documento/cadastrarAnexoModelo?chaveProcesso='+processo; execution.setVariable("#linkAnexoModelo", link);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador30A}) + 1; var form30A = '${nomeform30A}'; var new_form30A; if (cont1 < 10){ new_form30A = form30A.substring(0, form30A.length-4) + '_v0' + cont1; }else{ new_form30A = form30A.substring(0, form30A.length-4) + '_v' + cont1; } execution.setVariable("#nomeform30A", new_form30A); execution.setVariable("#contador30A", cont1);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador11A}) + 1; var cont2 = parseInt(${contador17F}) + 1; var form11A = '${nomeForm11A}'; var form17F = '${nomeform17F}'; var new_form11A; var new_form17F; if (cont1 < 10){ new_form11A = form11A.substring(0, form11A.length-4) + '_v0' + cont1; }else{ new_form11A = form11A.substring(0, form11A.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form17F = form17F.substring(0, form17F.length-4) + '_v0' + cont2; }else{ new_form17F = form17F.substring(0, form17F.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm11A", new_form11A); execution.setVariable("#nomeform17F", new_form17F); execution.setVariable("#contador11A", cont1); execution.setVariable("#contador17F", cont2);
var variavel = '${variavelComDias}'; variavel = variavel.replace("dia(s)","").trim(); execution.setVariable("#variavelSemDias", variavel);
var cont1 = parseInt(${contador13E2}) + 1; var form13E2 = '${nomeForm13E2}'; var new_form13E2; if (cont1 < 10){ new_form13E2 = form13E2.substring(0, form13E2.length-4) + '_v0' + cont1; }else{ new_form13E2 = form13E2.substring(0, form13E2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13E2", new_form13E2); execution.setVariable("#contador13E2", cont1);
var cont1 = parseInt(${contador8}) + 1; var form8_1 = '${nomeForm8_1}'; var form8_2 = '${nomeForm8_2}'; var new_form8_1; var new_form8_2; if (cont1 < 10){ new_form8_1 = form8_1.substring(0, form8_1.length-4) + '_v0' + cont1; new_form8_2 = form8_2.substring(0, form8_2.length-4) + '_v0' + cont1; }else{ new_form8_1 = form8_1.substring(0, form8_1.length-4) + '_v' + cont1; new_form8_2 = form8_2.substring(0, form8_2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm8_1", new_form8_1); execution.setVariable("#nomeForm8_2", new_form8_2); execution.setVariable("#contador8", cont1);
execution.setVariable("#novoValor", '${valor}'); return execution.getVariable("#novoValor");
var cont1 = parseInt(${contador11A}) + 1; var cont2 = parseInt(${contador17B}) + 1; var form11A = '${nomeForm11A}'; var form17B = '${nomeForm17B}'; var new_form11A; var new_form17B; if (cont1 < 10){ new_form11A = form11A.substring(0, form11A.length-4) + '_v0' + cont1; }else{ new_form11A= form11A.substring(0, form11A.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form17B = form17B.substring(0, form17B.length-4) + '_v0' + cont2; }else{ new_form17B = form17B.substring(0, form17B.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm11A", new_form11A); execution.setVariable("#nomeForm17B", new_form17B); execution.setVariable("#contador11A", cont1); execution.setVariable("#contador17B", cont2);
/* se retornoServCriticasJurisdicionado vir algo, então o $ nao aparece, se ñ vir nada ai vem o $*/ /* isto '${retornoServCriticasJurisdicionado}' quando não vem nada a escrita é carregada na variável var retornoServCriticasJurisdicionado*/ /* por isso verifico se a primeira posição é o $, se for é pq não veio nada*/ var retornoServCriticasJurisdicionado = ${retornoServCriticasJurisdicionado}; if(retornoServCriticasJurisdicionado[0] == '$' || retornoServCriticasJurisdicionado.length == 0){ var possuiCritica_jurisd = 'N'; }else{ var possuiCritica_jurisd = 'S'; } execution.setVariable("#possuiCritica_jurisd", possuiCritica_jurisd);
var cont1 = parseInt(${contador32_2}) + 1; var form32_2 = '${nomeForm32_2}'; var new_form32_2; if (cont1 < 10){ new_form32_2 = form32_2.substring(0, form32_2.length-4) + '_v0' + cont1; }else{ new_form32_2 = form32_2.substring(0, form32_2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm32_2", new_form32_2); execution.setVariable("#contador32_2", cont1);
var cont1 = parseInt(${contador30B}) + 1; var form30B = '${nomeform30B}'; var new_form30B; if (cont1 < 10){ new_form30B = form30B.substring(0, form30B.length-4) + '_v0' + cont1; }else{ new_form30B = form30B.substring(0, form30B.length-4) + '_v' + cont1; } execution.setVariable("#nomeform30B", new_form30B); execution.setVariable("#contador30B", cont1);
=== Tarefa: JS Idade servidor (scriptTask) ===
var tipoData = "${tipoData}"; if(tipoData == 'novaData'){ var DATA_FIM = "${nova_dataFimTempoContribServico}"; } if(tipoData == 'dataFim'){ var DATA_FIM ="${dataFimTempoContribServico}"; } var dataNascimento = "${dataNascimento}"; var arrayDataFim = DATA_FIM.split('/'); var arrayNascimento = dataNascimento.split('/'); var diaNas = arrayNascimento[0]; var mesNas = arrayNascimento[1]; var anoNas = arrayNascimento[2]; var dataFim = arrayDataFim[1]+'/'+arrayDataFim[0]+'/'+arrayDataFim[2]; var idadeServidor = idade(anoNas,mesNas,diaNas,dataFim); execution.setVariable("#idadeServidor", idadeServidor); function idade(ano_aniversario, mes_aniversario, dia_aniversario, dataFim) { var d = new Date(dataFim), ano_atual = d.getFullYear(), mes_atual = d.getMonth() + 1, dia_atual = d.getDate(), ano_aniversario = +ano_aniversario, mes_aniversario = +mes_aniversario, dia_aniversario = +dia_aniversario, quantos_anos = ano_atual - ano_aniversario; if (mes_atual < mes_aniversario || mes_atual == mes_aniversario && dia_atual < dia_aniversario) { quantos_anos--; } return quantos_anos < 0 ? 0 : quantos_anos; }
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:sel_revisorResp
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
select DISTINCT E.CDUSUARIO from SOLAR.ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:UserIdAnalista
var numeroInstanciaFluxo = 1; execution.setVariable("#numeroInstanciaFluxo", numeroInstanciaFluxo);
var cont1 = parseInt(${contador11A}) + 1; var cont2 = parseInt(${contador9C}) + 1; var form11A = '${nomeForm11A}'; var form9C = '${nomeForm9C}'; var new_form11A; var new_form9C; if (cont1 < 10){ new_form11A = form11A.substring(0, form11A.length-4) + '_v0' + cont1; }else{ new_form11A = form11A.substring(0, form11A.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form9C = form9C.substring(0, form9C.length-4) + '_v0' + cont1; }else{ new_form9C = form9C.substring(0, form9C.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm11A", new_form11A); execution.setVariable("#nomeForm9C", new_form9C); execution.setVariable("#contador11A", cont1); execution.setVariable("#contador9C", cont2);
var cont1 = parseInt(${contador1}) + 1; var cont2 = parseInt(${contador2B}) + 1; var form1 = '${nomeForm1}'; var form2B = '${nomeForm2B}'; var new_form1; var new_form2B; if (cont1 < 10){ new_form1 = form1.substring(0, form1.length-4) + '_v0' + cont1; }else{ new_form1 = form1.substring(0, form1.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form2B = form2B.substring(0, form2B.length-4) + '_v0' + cont2; }else{ new_form2B = form2B.substring(0, form2B.length-4) + '_v' + cont2; } execution.setVariable("#nomeForm1", new_form1); execution.setVariable("#nomeForm2B", new_form2B); execution.setVariable("#contador1", cont1); execution.setVariable("#contador2B", cont2);
select DISTINCT E.CDUSUARIO from SOLAR.ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:UserIdAnalista
var cont1 = parseInt(${contador10C}) + 1; var form10C1 = '${nomeForm10C1}'; var form10C2 = '${nomeForm10C2}'; var new_form10C1; var new_form10C2; if (cont1 < 10){ new_form10C1 = form10C1.substring(0, form10C1.length-4) + '_v0' + cont1; new_form10C2 = form10C2.substring(0, form10C2.length-4) + '_v0' + cont1; }else{ new_form10C1 = form10C1.substring(0, form10C1.length-4) + '_v' + cont1; new_form10C2 = form10C2.substring(0, form10C2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm10C1", new_form10C1); execution.setVariable("#nomeForm10C2", new_form10C2); execution.setVariable("#contador10C", cont1);
execution.setVariable("#alterarEncaminhamento", 'N'); execution.setVariable("#retornarCorrecaoAnalista", 'N'); execution.setVariable("#encaminharRevChefe", 'N/A'); execution.setVariable("#enviaParaRevisao", 'N');
var dataAtual = new Date(); var dia = dataAtual.getDate().toString(); var diaF = (dataAtual.length == 1) ? '0'+dataAtual.getDate().toString() : dataAtual.getDate().toString(); var mes = (dataAtual.getMonth()+1).toString(); var mesF = (dataAtual.length == 1) ? '0'+(dataAtual.getMonth()+1).toString() : (dataAtual.getMonth()+1).toString(); var anoF = dataAtual.getFullYear(); dataAtual= diaF+"/"+mesF+"/"+anoF; execution.setVariable("#dataAtual", dataAtual);
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var beneficioMedioCalculado = parseFloat("${beneficioMedioCalculado}"); var beneficioMedioProporcMensal = "${beneficioMedioProporcMensal}"; var proporcionalidade = parseFloat("${proporcionalidade}"); if(beneficioMedioProporcMensal && beneficioMedioProporcMensal != '${beneficioMedioProporcMensal}'){ var old_beneficioMedioProporcMensal =beneficioMedioProporcMensal ; execution.setVariable("#old_beneficioMedioProporcMensal", old_beneficioMedioProporcMensal ); } var beneficioMedioProporcMensal= beneficioMedioCalculado * proporcionalidade; execution.setVariable("#beneficioMedioProporcMensal", beneficioMedioProporcMensal );
select CDORGAOSETOR, NUANO, NUPROCESSO from ecpaServProcesso WHERE cdProcesso = :cdProcesso
var cont1 = parseInt(${contador13B2}) + 1; var form13B2 = '${nomeForm13B2}'; var new_form13B2; if (cont1 < 10){ new_form13B2 = form13B2.substring(0, form13B2.length-4) + '_v0' + cont1; }else{ new_form13B2 = form13B2.substring(0, form13B2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13B2", new_form13B2); execution.setVariable("#contador13B2", cont1);
var cont1 = parseInt(${contador11B}) + 1; var cont2 = parseInt(${contador9E}) + 1; var form11B = '${nomeForm11B}'; var form9E = '${nomeForm9E}'; var new_form11B; var new_form9E; if (cont1 < 10){ new_form11B = form11B.substring(0, form11B.length-4) + '_v0' + cont1; }else{ new_form11B = form11B.substring(0, form11B.length-4) + '_v' + cont1; } if (cont2 < 10){ new_form9E = form9E.substring(0, form9E.length-4) + '_v0' + cont1; }else{ new_form9E = form9E.substring(0, form9E.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm11B", new_form11B); execution.setVariable("#nomeForm9E", new_form9E); execution.setVariable("#contador11B", cont1); execution.setVariable("#contador9E", cont2);
var numeroInstanciaFluxo = 2; execution.setVariable("#numeroInstanciaFluxo", numeroInstanciaFluxo);
=== Tarefa: Trata CPF (ZERO) (scriptTask) ===
var zero= parseInt("${cpfServidor}"); var zeroSobreEscreveCpfServidor = parseInt("${sobreEscreveCpfServidor}"); function leftPad(value, totalWidth, paddingChar) { var length = totalWidth - value.toString().length + 1; return Array(length).join(paddingChar || '0') + value; }; completa = leftPad(zero, 11); sobreEscreve = leftPad(zeroSobreEscreveCpfServidor, 11); execution.setVariable("#cpfServidor", completa); execution.setVariable("#cpfServidor", sobreEscreve );
/*************FORMA PROVENTOS*/ var recebeVencOuSubsidio = ${recebeVencOuSubsidio}; var vencimentoSubcidio=''; if(recebeVencOuSubsidio == 1){ vencimentoSubcidio = 'VENCIMENTO'; }else{ vencimentoSubcidio = 'SUBSÍDIO'; } var baseCalcProventos = ${baseCalcProventos}; var formaProventos = ''; var proporcaoProventos = ${proporcaoProventos}; var por = ''; if(baseCalcProventos == 1 ){ if(proporcaoProventos == 1){ formaProventos ='INTEGRAIS'; }else{ formaProventos = 'PROPORCIONAIS'; } }else{ formaProventos = 'calculados com base na '+'${desc_base_calculo_provento}'+' '+ '${desc_proporcao_provento}'; } /*************NOME SERVIDOR******************/ var nomeServidor = '${nomeServidor}'; /**************NOME DO ORGÃO */ var nomeOrgao = '${nomeOrgao}'; /**************nomeCargoAposentadoria *****/ var nomeCargoAposentadoria = '${nomeCargoAposentadoria}'; /**************form_2 dispositivo legal simplificado ***/ var dispLegalSimplif = '${dispLegalSimplif}'; /**************Descrição do motivo da aposentadoria ***/ var desc_motivoAposentadoria = '${desc_motivoAposentadoria}'; var cod_motivoAposentadoria = ${cod_motivoAposentadoria}; if(cod_motivoAposentadoria == 2 || cod_motivoAposentadoria == 4){ var por = 'por '; } var descricao = 'Que trata da concessão de Aposentadoria '+por+desc_motivoAposentadoria+' à '+nomeServidor+', do(a) '+nomeOrgao+', na condição de '+nomeCargoAposentadoria+', com fulcro no '+dispLegalSimplif+', por PROVENTOS '+formaProventos+', tendo em vista ter alcançado as condições necessárias para concessão do benefício e cujo processo foi remetido a esta corte de contas nos termos da Resolução Normativa Nº 4/2022, a qual instituiu o SIAP - Sistema de Atos de Pessoal.'; execution.setVariable("#descricao", descricao);
var cont1 = parseInt(${contador10A}) + 1; var form10A1 = '${nomeForm10A1}'; var form10A2 = '${nomeForm10A2}'; var new_form10A1; var new_form10A2; if (cont1 < 10){ new_form10A1 = form10A1.substring(0, form10A1.length-4) + '_v0' + cont1; new_form10A2 = form10A2.substring(0, form10A2.length-4) + '_v0' + cont1; }else{ new_form10A1 = form10A1.substring(0, form10A1.length-4) + '_v' + cont1; new_form10A2 = form10A2.substring(0, form10A2.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm10A1", new_form10A1); execution.setVariable("#nomeForm10A2", new_form10A2); execution.setVariable("#contador10A", cont1);
select DISTINCT E.CDUSUARIO from SOLAR.ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:UserIdAnalista
execution.setVariable("#alterarEncaminhamento", 'N'); execution.setVariable("#retornarCorrecaoAnalista", 'N'); execution.setVariable("#encaminharRevChefe", 'N/A'); execution.setVariable("#enviaParaRevisao", 'N');
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador13A1}) + 1; var form13A1 = '${nomeForm13A1}'; var new_form13A1; if (cont1 < 10){ new_form13A1 = form13A1.substring(0, form13A1.length-4) + '_v0' + cont1; }else{ new_form13A1 = form13A1.substring(0, form13A1.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm13A1", new_form13A1); execution.setVariable("#contador13A1", cont1);
var valor = '${novoValor}'; if(valor[0] == '$' || valor.length == 0){ var newValor = '0'; }else{ var newValor = valor; } execution.setVariable("#novoValor", newValor); /*return execution.getVariable("#novoValor");*/
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
select DISTINCT E.CDUSUARIO from SOLAR.ECPAGRUPOUSUARIO E where E.CDSISTEMA=64 AND E.CDUSUARIO=:UserIdAnalista
select DISTINCT E.CDUSUARIO from ECPAGRUPOUSUARIO E inner join ESEGUSUARIOGRUPO segusrgrp on E.CDUSUARIO=segusrgrp.CDUSUARIO inner JOIN ESEGUSRSETORSIST SS ON SS.CDUSUARIO=E.CDUSUARIO AND SS.CDSISTEMA = E.CDSISTEMA inner JOIN ECPAORGAOSETOR OS on SS.CDORGAOSETOR = OS.CDORGAOSETOR where E.CDSISTEMA=64 AND segusrgrp.CDGRUPO= CONCAT('RH_CDORGAOSETOR_ ',:cdSetorInteressado)
var cont1 = parseInt(${contador5A3e32}) + 1; var form5A3 = '${nomeForm5A3}'; var form32 = '${nomeForm32}'; var new_form5A3; var new_form32; if (cont1 < 10){ new_form5A3 = form5A3.substring(0, form5A3.length-4) + '_v0' + cont1; new_form32 = form32.substring(0, form32.length-4) + '_v0' + cont1; }else{ new_form5A3 = form5A3.substring(0, form5A3.length-4) + '_v' + cont1; new_form32 = form32.substring(0, form32.length-4) + '_v' + cont1; } execution.setVariable("#nomeForm5A3", new_form5A3); execution.setVariable("#nomeForm32", new_form32); execution.setVariable("#contador5A3e32", cont1);