Páginas filhas
  • DataServer de Frequência diária/Justificativa de falta

O objetivo deste DataServer é possibilitar a busca, inclusão e alteração da frequência diária do aluno através de um Webservice. Tudo que for realizado, poderá ser visualizado na tela de frequência diária no TOTVS Gestão Educacional.

Através do DataServer EduFrequenciaDiariaWSData e por meio dos métodos ReadRecord, ReadView e SaveRecord, é possível realizar a busca, inclusão e manutenção das frequências no TOTVS Gestão Educacional.

Método ReadRecord

Este método realiza a consulta das frequências dos alunos já lançadas, realizando o filtro por campos específicos já pré-definidos pelo RM. 

Para realizar a chamada ao método ReadRecord, deve ser passado um XML contendo tags com a seguinte estrutura:

DatasServerName: EduFrequenciaDiariaWSData

PrimaryKey: Os seguintes campos fazem parte da chave primária da consulta executada pelo método ReadRecord:

  • Código da coligada
  • Código da turma/disciplina
  • Código da etapa de falta da turma/disciplina
  • Data início do plano de aula
  • Data final do plano de aula
  • Código da subturma (opcional)

Contexto: Informar qual é o contexto utilizado durante a execução do WebService, contendo os seguintes campos, separados por ponto e vírgula.

  • CODCOLIGADA: Código da coligada.
  • CODFILIAL: Código da filial.
  • CODTIPOCURSO: Código do nível de ensino.
  • CODSISTEMA: Código do sistema, no caso "S" para o Educacional.

Segue um exemplo do XML utilizado para a chamada a função ReadRecord:

Exemplo de XML para chamada ao ReadRecord
	<tot:ReadRecord>
         <!--Optional:-->
         <tot:DataServerName>EduFrequenciaDiariaWSData</tot:DataServerName>
         <!--Optional:-->
         <tot:PrimaryKey>1;295;1;01-01-2024;31-01-2024;125</tot:PrimaryKey>
         <!--Optional:-->
         <tot:Contexto>CODCOLIGADA=1;CODFILIAL=1;CODTIPOCURSO=1;CODSISTEMA=S</tot:Contexto>
    </tot:ReadRecord>

Ao executar o método ReadRecord filtrando pelos valores da chave primaria informada, caso não retorne registro, será retornado um XML vazio contendo o nome do DataSet, conforme exemplo abaixo: 

Exemplo do retorno sem registros
<ReadRecordResult>&lt;EduFrequenciaDiaria /></ReadRecordResult>

Caso contrário, será retornado os dados conforme abaixo:

Exemplo do retorno de consulta de uma frequência
<ReadRecordResult>	
<![CDATA[<EduFrequenciaDiaria >
  <SFREQUENCIA>
    <CODCOLIGADA>1</CODCOLIGADA>
    <IDHORARIOTURMA>295</IDHORARIOTURMA>
    <IDTURMADISC>1217</IDTURMADISC>
    <RA>ES-00180</RA>
    <DATA>2018-07-17T00:00:00</DATA>
    <PRESENCA>A</PRESENCA>
    <JUSTIFICADA>0</JUSTIFICADA>
    <IDJUSTIFICATIVAFALTA>2</IDJUSTIFICATIVAFALTA>
  </SFREQUENCIA>
</EduFrequenciaDiaria>]]>
</ReadRecordResult>

Método ReadView

Complementar ao método ReadRecord, o ReadView utilizará um filtro para realizar a consulta das frequências diárias.

Para realizar a chamada do ReadView, o XML irá conter uma tag chamada Filtro, onde deverá ser informado os seguintes parâmetros:

  • CODCOLIGADA: Código da Coligada.
  • IDTURMADISC: Id da turma/disciplina.
  • CODETAPA: Código da etapa.
  • SPLANOAULA.DATA: Data de início.
  • SPLANOAULA.DATA: Data final.
  • CODSUBTURMA (opcional)

Segue um exemplo de filtro que pode ser especificado na tag Filtro do XML do método ReadView:

Exemplo:
CODCOLIGADA = 1 AND IDTURMADISC = 1055 AND CODETAPA = 1 AND SPLANOAULA.DATA = 30-09-2018 AND SPLANOAULA.DATA = 20-10-2018

Um exemplo utilizando o filtro opcional por subturma:

Exemplo:
CODCOLIGADA = 1 AND IDTURMADISC = 1055 AND CODETAPA = 1 AND SPLANOAULA.DATA = 30-09-2018 AND SPLANOAULA.DATA = 20-10-2018 AND CODSUBTURMA = SUB TURMA A


Importante:

Os campos de datas precisam ser informados com o nome da tabela e do campo para que o sistema identifique o filtro corretamente.

Para isso é necessário que a data seja informada utilizando "SPLANOAULA.DATA".

Exemplo de XML para consulta por ReadView da frequência de alunos
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tot="http://www.totvs.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <tot:ReadView>
         <!--Optional:-->
         <tot:DataServerName>EduFrequenciaDiariaWSData</tot:DataServerName>
         <!--Optional:-->
         <tot:Filtro>CODCOLIGADA = 1 AND IDTURMADISC = 1055 AND CODETAPA = 1 AND SPLANOAULA.DATA = 30-09-2018 AND SPLANOAULA.DATA = 20-10-2018</tot:Filtro>
         <!--Optional:-->         
         <tot:Contexto>CODCOLIGADA=1;CODFILIAL=1;CODTIPOCURSO=1</tot:Contexto>
      </tot:ReadView>
   </soapenv:Body>
</soapenv:Envelope>
Exemplo de XML de retorno
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <ReadViewResponse xmlns="http://www.totvs.com/">
         <ReadViewResult><![CDATA[<NewDataSet>
  <SFREQUENCIAWS>
    <CODCOLIGADA>1</CODCOLIGADA>
    <IDTURMADISC>1055</IDTURMADISC>
    <IDHORARIOTURMA>295</IDHORARIOTURMA>
    <RA>0000107</RA>
    <DATA>2018-10-01T00:00:00</DATA>
    <PRESENCA>A</PRESENCA>
    <IDHORARIOTURMAGER>295</IDHORARIOTURMAGER>
  </SFREQUENCIAWS>
  <SFREQUENCIAWS>
    <CODCOLIGADA>1</CODCOLIGADA>
    <IDTURMADISC>1055</IDTURMADISC>
    <IDHORARIOTURMA>295</IDHORARIOTURMA>
    <RA>0000107</RA>
    <DATA>2018-10-08T00:00:00</DATA>
    <PRESENCA>A</PRESENCA>
    <IDHORARIOTURMAGER>295</IDHORARIOTURMAGER>
  </SFREQUENCIAWS>
  <SFREQUENCIAWS>
    <CODCOLIGADA>1</CODCOLIGADA>
    <IDTURMADISC>1055</IDTURMADISC>
    <IDHORARIOTURMA>295</IDHORARIOTURMA>
    <RA>0000107</RA>
    <DATA>2018-10-15T00:00:00</DATA>
    <PRESENCA>A</PRESENCA>
    <IDHORARIOTURMAGER>295</IDHORARIOTURMAGER>
  </SFREQUENCIAWS>
  <SFREQUENCIAWS>
    <CODCOLIGADA>1</CODCOLIGADA>
    <IDTURMADISC>1055</IDTURMADISC>
    <IDHORARIOTURMA>295</IDHORARIOTURMA>
    <RA>0000112</RA>
    <DATA>2018-10-01T00:00:00</DATA>
    <PRESENCA>A</PRESENCA>
    <IDHORARIOTURMAGER>295</IDHORARIOTURMAGER>
  </SFREQUENCIAWS>
</NewDataSet>]]></ReadViewResult>
      </ReadViewResponse>
   </s:Body>
</s:Envelope>

Método SaveRecord

Este método realiza a inclusão ou alteração de uma frequência de aluno. O sistema realiza apenas a inclusão de marcações de ausências.

Caso seja definida uma marcação de presença, o sistema não irá incluir nenhum registro e o retorno será vazio.

Caso exista uma marcação de ausência, ela será excluída e o retorno, também, será vazio.


Inclusão de uma marcação de frequência

Para realizar inclusão de uma marcação de frequência, deve ser utilizada a operação SaveRecord que irá manipular os registros da tabela SFREQUENCIA.

Para que os dados sejam salvos corretamente, devem ser seguidos algumas premissas.

O XML, obrigatoriamente, deverá conter uma tag chamada PARAMS que será responsável por passar os seguintes campos pré-requisitos para a inclusão/alteração da marcação de frequência:

  • CODCOLIGADA: Código da coligada.
  • IDTURMADISC: Id da turma/disciplina.
  • CODETAPA: Código da Etapa.
  • AULASDADAS: Quantidade de aulas dadas. 
  • CODSUBTURMA: Código da subturma (opcional).


Nota

Quando o SaveRecord for chamado através de uma Fórmula Visual na atividade de Salvar registro, deve-se passar os campos concatenados, separados por vírgula (,) e sem espaços através item Dados do Usuário na atividade de Salvar Registro, para o sistema utilizar na montagem dos parâmetros (PARAMS) necessários para as validações da frequência. 


A tag com o nome AlunosFreq, deverá ser incluída no XML, contendo os campos:

  • CODCOLIGADA: Código da coligada.
  • RA: Registro Acadêmico do aluno. 
  • IDTURMADISC: Id da turma/disciplina.
  • IDTURMADISCORIGEM: Id da turma/disciplina de origem (para mais informações clique aqui).

Por fim, a tag SFREQUENCIA conterá as informações da frequência que será lançada:

  • CODCOLIGADA: Código da coligada.
  • IDTURMADISC: Id da turma/disciplina.
  • RA: Registro Acadêmico do aluno.
  • PRESENCA: A ou P. 
  • JUSTIFICADA: 0 ou 1. 
  • IDJUSTIFICATIVAFALTA: Id da justificativa da falta (para mais informações clique aqui). 
  • DATA: Data da aula. 
Importante

O campo PRESENCA espera dois valores. (P ou A)

P: Presença

A: Ausência.


O campo JUSTIFICADA espera dois valores. (1 ou 0)

1: Falta abonada

0: Falta não abonada.


Turma Gerencial:

Caso seja necessária a manipulação de registros de frequência para turmas gerenciais, deve ser informado o código IDTURMADISC da turma gerencial na tag PARAMS dos parâmetros passados para o SaveRecord. 

No lançamento da frequência, o IDTURMADISC deverá conter o código da turma/disciplina em que o aluno está matriculado.

O campo Data deverá ser informado no formato americano (YYYY-MM-DD).

Exemplo: 2018-07-11T00:00:00


Obs.: A parte horária é necessária, composta por "T00:00:00", para que o sistema entenda corretamente a data.

Exemplo de XML para inclusão/alteração de uma frequência
<tot:SaveRecord>
         <!--Optional:-->
         <tot:DataServerName>EduFrequenciaDiariaWSData</tot:DataServerName>
         <!--Optional:-->
         <tot:XML><![CDATA[
         <EduFrequenciaDiaria xmlns="http://tempuri.org/EduFrequenciaDiaria.xsd">                      
         <SFREQUENCIA>
                <CODCOLIGADA>1</CODCOLIGADA>
                <IDTURMADISC>1217</IDTURMADISC>                                               
                <IDHORARIOTURMA>295</IDHORARIOTURMA>
                <RA>ES-00180</RA>
                <PRESENCA>A</PRESENCA>
                <JUSTIFICADA>1</JUSTIFICADA>
                <IDJUSTIFICATIVAFALTA>6</IDJUSTIFICATIVAFALTA>
                <DATA>2018-07-17T00:00:00</DATA>
         </SFREQUENCIA>                                 
         <AlunosFreq>
                  <CODCOLIGADA>1</CODCOLIGADA>
                  <RA>ES-00180</RA>
                  <IDTURMADISC>1217</IDTURMADISC>
                  <IDTURMADISCORIGEM></IDTURMADISCORIGEM>        
         </AlunosFreq>
		 <PARAMS>
				<CODCOLIGADA>1</CODCOLIGADA>
				<IDTURMADISC>1217</IDTURMADISC>
				<CODETAPA>1</CODETAPA>
				<AULASDADAS>1</AULASDADAS>
				<CODSUBTURMA></CODSUBTURMA>
		 </PARAMS>                
         </EduFrequenciaDiaria>]]></tot:XML>
         <!--Optional:-->
         <tot:Contexto>CODCOLIGADA=1;CODFILIAL=1;CODTIPOCURSO=1;CODSISTEMA=S</tot:Contexto>
</tot:SaveRecord>
Exemplo do retorno da inclusão/alteração de uma frequência
      <SaveRecordResponse xmlns="http://www.totvs.com/">
         <SaveRecordResult>1;295;1217;ES-00180;17/07/2018 00:00:00</SaveRecordResult>
      </SaveRecordResponse>

Para a inclusão de uma justificativa, será necessário informar o código da mesma, cadastrada anteriormente, através do menu de cadastros auxiliares.

Educacional | Currículo e Oferta | Auxiliares | Justificativas de falta

Exemplo:

2 - Visita ao médico

<JUSTIFICADA>1</JUSTIFICADA>

<IDJUSTIFICATIVAFALTA>2</IDJUSTIFICATIVAFALTA>

Importante:

Para fórmulas visuais usar a Atividade EduFrequenciaActivity. Para mais informações sobre Atividades acesse o a documentação: Atividades educacionais para fórmulas visuais.

Para mais informações segue o link da documentação padrão de uso de DataServers utilizando WebService:

 http://tdn.totvs.com/x/XYlpCw