Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Esse documento tem o objetivo de exemplificar o uso da API para inserção de cronograma.

Informações
titleImportante:

Para acessar as API´s abaixo é necessário atribuir permissão para o usuário nas seguintes funcionalidades

  1. Planilha de atividades
  2. Cronograma
  3. Acesso ao projeto

1 - API de entrada de Cronograma Planejado

...

O campo de cost deve enviar o valor da tarefa relativo ao período de datas.

O campo de percentage deve enviar o percentual da tarefa relativo ao período de datas. Os dois campos podem ser enviados juntos, desde que o parâmetro do projeto para cronograma defina que use percentual ou valor.

Estas datas podem incluir mais de período do projeto. O valor será distribuído proporcional pelas datas informadas.

...

Informações
iconfalse
titleExemplo de JSon de entrada
Expandir
titleVer JSON...
Bloco de código
languagejs
firstline1
titleJSON
linenumberstrue
{
    "companyId": 1,
    "projectId": 2,
    "tasks": [
        {
            "taskId": 1,
            "dates": [
                {
                    "startAt": "2011-03-11T00:00:00",
                    "endAt": "2011-03-15T00:00:00",
                    "cost": 50000.26,
                    "percentage": 100
                }
            ]
        }
    ],
    "warnings": []
}

...

O campo accumulatedPercentageCompleted deve seta preenchido com o percentual total das medições até o período indicado pela data do campo measuredInaccomplishedIn. O percentual será calculado com a diferença do somatório dos períodos anteriores com o percentual enviado. Este resultado pode ser um percentual negativo.

O cronograma realizado dos períodos posteriores ao informado, serão removidos.

Alterado para que as API's de planejado e de realizado atualizem os campos de data inicio e fim do planejamento ou realizado, respectivamente, no PERT.

Estas datas serão atualizadas apenas se forem menor que a data inicial ou maior que a data final.

A data início real somente será alterada se o percentual enviado for maior que 0 (zero).

A data fim real somente será alterada se o percentual enviado for maior ou igual a 100.

Máscara de Url: http://{domínio}:{porta}/api/construction-projects/v1/accomplishedInput

...

Informações
iconfalse
titleExemplo de JSon de entrada
Expandir
titleVer JSON...
Bloco de código
languagejs
firstline1
titleJSON
linenumberstrue
{
        "companyId": 1,
        "projectId": 2,
        "spreadsheetType": 0,
        "scenarioId": 0
}


5 - API de Cálculo de Envio de Custos Incorridos

...

Esta API permitirá a execução de custos incorridos no cronograma.

O campo de parâmetro de entrada serve para definir o tipo de agrupamento. (groupingType)

Valores possíveis:

0-Nenhum

1-Por dia

2-Por mês

Máscara de Url: http://localhost:8051/api/construction-projects/v1/appropriatedSchedule

Método de entrada: Post

Informações
iconfalse
titleExemplo de JSon de entrada
Expandir
titleVer JSON...
Bloco de código
languagejs
firstline1
titleJSON
linenumberstrue
{     
		"companyId": 1,
	    "projectId": 2,  
		"startDate": "2001-11-20T00:00:00",
	    "endDate": "2022-11-20T00:00:00",     
		"tasks": [54],   
		"groupingType": 1
 }


6 - API de Serviços para cópia de parâmetro

...

Esta API permitirá a execução de serviços para a copia de parâmetro.

  • Copiar os parâmetros de um projeto para outro

Máscara de Url: http://localhost:8051/api/construction-projects/v1/copy-parameters

Método de entrada: Post

Informações
iconfalse
titleExemplo de JSon de entrada
Expandir
titleVer JSON...
Bloco de código
languagejs
firstline1
titleJSON
linenumberstrue
{          
   "companyIdOrigin": 1,
   "projectIdOrigin": 2, 
   "companyIdDestiny": 1, 
   "projectIdDestiny": 59

}


7 - API de Serviço para atualizar parâmetro de períodos do projeto

...

Atualizar os períodos de um projeto com base nos parâmetros de data inicio, periodicidade e quantidade de períodos 

Valores possíveis para o campo typeOfPeriods

0   - Personalizado
1   - Diario
-7   Semanal
7   - SemanalCorridos
-15 - Quinzenal
15  - QuinzenalCorridos
30  - Mensal
-10 - Dezena
10  - DezenaCorridos

Máscara de Url: http://localhost:8051/api/construction-projects/v1/schedule-Parameters

Método de entrada: Post

Informações
iconfalse
titleExemplo de JSon de entrada
Expandir
titleVer JSON...
Bloco de código
languagejs
firstline1
titleJSON
linenumberstrue
{  
          
	"companyId": 1,
	"projectId": 59, 
 	"dateInitialProject": "2022-10-01", 
	"numberPeriods": 6, 
	"typeOfPeriods": 0,  
 	"numberDaysPerPeriods" :3  

}


8 - Obter dados de cronograma através de SOAP

...

É possível obter os dados do cronograma através de SOAP. Para maiores detalhes do uso do SOAP: https://centraldeatendimento.totvs.com/hc/pt-br/articles/360007851192-Cross-Segmentos-Backoffice-RM-Integra%C3%A7%C3%A3o-WebServices-Utilizando-o-SoapUI-para-consumir-DataServers-RM-via-WebServices

Os campos após o nome do DataSever são os parâmetros que devem ser passados na seguinte ordem:

  • Tipo Planilha (0 - Atividade / 1 - Serviço)
  • Tipo do Cronograma (conforme codificação abaixo)
  • Identificador do Cenário (0 - Principal / 1 a 4 - Cenários)
  • Exibe colunas de valor (true / false)

Tipos de Cronograma:

P - Planejado

R - Realizado

M - Medido

A - Apropriado

T - Todos

B - Base


Informações
iconfalse
titleExemplo do XML de entrada
Expandir
titleVer XML...
Bloco de código
languagejs
firstline1
titleXML
linenumberstrue
<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>PrjCronogramaPlanilhaAtividadeData/0/[0,0,true]</tot:DataServerName>
         <!--Optional:-->
         <tot:Filtro>CODCOLIGADA=1 AND IDPRJ=2</tot:Filtro>
         <!--Optional:-->
         <tot:Contexto>CODCOLIGADA=1;IDPRJ=2;CODUSUARIO='mestre'</tot:Contexto>
      </tot:ReadView>
   </soapenv:Body>
</soapenv:Envelope>