Manipulação de Frequência Diária através de WebService
Características do Requisito
Linha de Produto: | RM | ||||||||||
Segmento: | TOTVS Educacional | ||||||||||
Módulo: | Classis.NET | ||||||||||
Rotina: |
| ||||||||||
Cadastros Iniciais: | N/A | ||||||||||
Parâmetro(s): | N/A | ||||||||||
Ponto de Entrada: | N/A | ||||||||||
Chamados Relacionados | N/A | ||||||||||
Requisito (ISSUE): | N/A | ||||||||||
País(es): | Brasil | ||||||||||
Banco(s) de Dados: | SQL Server e Oracle | ||||||||||
Tabelas Utilizadas: | SFREQUENCIA | ||||||||||
Sistema(s) Operacional(is): | Windows |
Digitação de Frequência Diária através do TBC
Para digitação de Frequência Diária através do TBC (WebService wsDataServer), foi criado um novo dataserver chamado EduFrequenciaDiariaWSData para que seja possível a digitação da frequência diária pelo WebService. Este dataserver irá manipular as frequências dos alunos contidos na tabela SFREQUENCIA, o campo AULASDADAS da tabela SETAPAS e AULASDADAS da tabela SNOTAETAPA.
O ReadView irá retornar um DataSet contendo 2 tabelas. SFREQUENCIAWS e NumAulasEtapa.
Exemplo de retorno do NumAulasEtapa:
<NumAulasEtapa> <AULASDADAS>40</AULASDADAS> <DTINICIALDIGITACAOTURMADISC>2016-02-29T00:00:00</DTINICIALDIGITACAOTURMADISC> <DTFINALDIGITACAOTURMADISC>2016-07-09T00:00:00</DTFINALDIGITACAOTURMADISC> <ETAPAENCERRADA>N</ETAPAENCERRADA> <DATAATUAL>2016-03-24T12:08:56.29</DATAATUAL> <TOTALAULAS>38</TOTALAULAS> </NumAulasEtapa>
Exemplo de retorno do SFREQUENCIAWS:
<SFREQUENCIAWS> <CODCOLIGADA>1</CODCOLIGADA> <IDTURMADISC>614919</IDTURMADISC> <IDHORARIOTURMA>499205</IDHORARIOTURMA> <RA>1284372</RA> <DATA>2016-02-29T00:00:00</DATA> <PRESENCA>A</PRESENCA> <IDHORARIOTURMAGER>499205</IDHORARIOTURMAGER> </SFREQUENCIAWS>
Parâmetros
DataServerName: Informar o dataServer EduFrequenciaDiariaWSData.
Filtro: O filtro passado no ReadView deverá conter obrigatoriamente no mínimo três informações: CODCOLIGADA, CODETAPA e IDTURMADISC. Os campos contidos neste filtro podem ser informados em qualquer ordem. Exemplo: CODCOLIGADA = 1 AND CODETAPA = 1 AND IDTURMADISC = 614919 AND SPLANOAULA.DATA = 29/02/2016
Contexto: O parâmetro de contexto é importante para que o DataServer consulte as informações contidas nos parâmetros do sistema. Portanto, é muito importante que as informações passadas sejam condizentes com a mesma Coligada, Filial e Nível de Ensino das frequências manipuladas. Os valores são separados por vírgula, e não devem conter espaços entre os valores e o igual (=).
Segue abaixo um exemplo de todos os parâmetros informados no SoapUI.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:br="http://www.totvs.com.br/br/"> <soapenv:Header/> <soapenv:Body> <br:ReadViewAuth> <!--Optional:--> <br:DataServerName>EduFrequenciaDiariaWSData</br:DataServerName> <!--Optional:--> <br:Filtro>CODCOLIGADA = 1 AND CODETAPA = 1 AND IDTURMADISC = 614919 AND SPLANOAULA.DATA = 29/02/2016</br:Filtro> <!--Optional:--> <br:Contexto> CODCOLIGADA=1;CODTIPOCURSO=1;CODFILIAL=1;CODSISTEMA=S </br:Contexto> <!--Optional:--> <br:Usuario>mestre</br:Usuario> <!--Optional:--> <br:Senha>totvs</br:Senha> </br:ReadViewAuth> </soapenv:Body> </soapenv:Envelope>
ReadRecord
O ReadRecord irá retornar um DataSet contendo 4 tabelas. SFREQUENCIA, AlunosFreq, PlanoAulaFreq e NumAulasEtapa.
Exemplo do retorno da SFREQUENCIA:
<SFREQUENCIA> <CODCOLIGADA>1</CODCOLIGADA> <IDHORARIOTURMA>499205</IDHORARIOTURMA> <IDTURMADISC>614919</IDTURMADISC> <RA>1284372</RA> <DATA>2016-02-29T00:00:00</DATA> <PRESENCA>A</PRESENCA> <IDHORARIOTURMAGER>499205</IDHORARIOTURMAGER> </SFREQUENCIA>
Exemplo do retorno da AlunosFreq:
<PlanoAulaFreq> <CODCOLIGADA>1</CODCOLIGADA> <DATAPREVISTA>2016-02-29T00:00:00</DATAPREVISTA> <IDHORARIOTURMA>499209</IDHORARIOTURMA> <HORAINICIAL>21:00</HORAINICIAL> <HORAFINAL>22:23</HORAFINAL> <CODHOR>26222496</CODHOR> <IDTURMADISC>614919</IDTURMADISC> </PlanoAulaFreq>
Exemplo do retorno da NumAulasEtapa:
<NumAulasEtapa> <AULASDADAS>40</AULASDADAS> <DTINICIALDIGITACAOTURMADISC>2016-02-29T00:00:00</DTINICIALDIGITACAOTURMADISC> <DTFINALDIGITACAOTURMADISC>2016-07-09T00:00:00</DTFINALDIGITACAOTURMADISC> <ETAPAENCERRADA>N</ETAPAENCERRADA> <DATAATUAL>2016-03-24T17:58:34.753</DATAATUAL> <TOTALAULAS>38</TOTALAULAS> </NumAulasEtapa>
Parâmetros
DataServerName: Informar o dataServer EduFrequenciaDiariaWSData.
PrimaryKey: Deverá ser passado 5 valores para chave primária separados por ponto e vírgula (;). São eles, CODCOLIGADA, IDTURMADISC, CODETAPA, SPLANOAULA.DATA (De), SPLANOAULA.DATA (Até), CODSUBTURMA.
Os 3 primeiros parâmetros são obrigatórios. CODCOLIGADA, IDTURMADISC e CODETAPA. Os demais são opcionais. Exemplo: 1;614919;1;29/02/2016;29/02/2016;2
Contexto: O parâmetro de contexto é importante para que o DataServer consulte as informações contidas nos parâmetros do sistema. Portanto, é muito importante que as informações passadas sejam condizentes com a mesma Coligada, Filial e Nível de Ensino das frequências manipuladas. Os valores são separados por vírgula, e não devem conter espaços entre os valores e o igual (=).
Segue abaixo um exemplo de todos os parâmetros informados no SoapUI.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:br="http://www.totvs.com.br/br/"> <soapenv:Header/> <soapenv:Body> <br:ReadRecordAuth> <!--Optional:--> <br:DataServerName>EduFrequenciaDiariaWSData</br:DataServerName> <!--Optional:--> <br:PrimaryKey>1;614919;1;29/02/2016;29/02/2016</br:PrimaryKey> <!--Optional:--> <br:Contexto>CODCOLIGADA=1;CODTIPOCURSO=1;CODFILIAL=1;CODSISTEMA=S</br:Contexto> <!--Optional:--> <br:Usuario>mestre</br:Usuario> <!--Optional:--> <br:Senha>totvs</br:Senha> </br:ReadRecordAuth> </soapenv:Body> </soapenv:Envelope>
SaveRecord
O SaveRecord irá efetivamente manipular os registros da tabela SFREQUENCIA. Para que os dados sejam salvos corretamente, devem ser seguidos algumas premissas.
Deverá ser obrigatoriamente ser passado um DataTable chamado PARAMS, passando algumas informações que são pré-requisitos para o dataserver. Este DataTable deve conter os campos: CODCOLIGADA, IDTURMADISC, CODETAPA, AULASDADAS e CODSUBTURMA.
Outro DataTable chamado AlunosFreq também deverá ser passado como parâmetro, contendo os campos CODCOLIGADA, RA, IDTURMADISC, IDTURMADISCORIGEM.
Deverá também conter o datatable referente a SFREQUENCIA no qual contém as informações da frequência efetivamente.
O campo Data deverá ser informado no formato americano (YYYY-MM-DD), concatenado também com as informações de hora (HH:MM:SS). Para o cadastro de frequência este valor de hora será ignorado, porém, se torna obrigatório informar este valor juntamente com a data, devido a este campo fazer parte da Chave-primária da tabela de SFREQUENCIA, onde o WebService wsDataServer utiliza esta informação para pesquisar se a mesma frequência já existe na base. Portanto o horário pode ser sempre informado como “T00:00:00”.
O campo Presenca espera dois valores. P ou A.
P: Presença
A: Ausência.
Se for informado uma ausência para o aluno, o dataServer irá incluir um novo registro na tabela SFREQUENCIA indicando esta ausência. Se for informado uma Presença, o dataserver irá excluir o registro referente a ausência do aluno na tabela SFREQUENCIA.
Turma Gerencial:
Caso seja necessário a manipulação de registros de frequência para Turmas Gerenciais, deve ser informado o código IDTURMADISC da turma gerencial na tabela PARAMS dos parâmetros passados para o SaveRecord, e nos demais lugares onde deve ser informado o IDTURMADISC, deve ser informado o IDTURMADIC da Turma/Disciplina em que o aluno está matriculado aluno.
Segue abaixo um exemplo de todos os parâmetros informados no SoapUI.
<br:XML><![CDATA[ <EduFrequenciaDiaria xmlns="http://tempuri.org/EduFrequenciaDiaria.xsd"> <SFREQUENCIA> <CODCOLIGADA>1</CODCOLIGADA> <IDTURMADISC>614919</IDTURMADISC> <IDHORARIOTURMA>499205</IDHORARIOTURMA> <RA>1739082</RA> <PRESENCA>A</PRESENCA> <DATA>2016-02-29T00:00:00</DATA> </SFREQUENCIA> <SFREQUENCIA> <CODCOLIGADA>1</CODCOLIGADA> <IDTURMADISC>614919</IDTURMADISC> <IDHORARIOTURMA>499208</IDHORARIOTURMA> <RA>1739082</RA> <PRESENCA>A</PRESENCA> <DATA>2016-02-29T00:00:00</DATA> </SFREQUENCIA> <AlunosFreq> <CODCOLIGADA>1</CODCOLIGADA> <RA>1739082</RA> <IDTURMADISC>614919</IDTURMADISC> <IDTURMADISCORIGEM></IDTURMADISCORIGEM> </AlunosFreq> <PARAMS> <CODCOLIGADA>1</CODCOLIGADA> <IDTURMADISC>614919</IDTURMADISC> <CODETAPA>1</CODETAPA> <AULASDADAS>40</AULASDADAS> <CODSUBTURMA></CODSUBTURMA> </PARAMS> </EduFrequenciaDiaria>]]></br:XML>