Objetivo



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

Importante:

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


Esta API permitirá a entrada de valores no cronograma planejado.

O cronograma da tarefa será removido e será preenchido com os valores enviados nesta chamada.

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.

O campo de warning irá retornar uma lista de avisos que não provocaram erros.

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

Método de entrada: Post

Exemplo de JSon de entrada

JSON
{
    "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": []
}


2 - API de entrada de Cronograma Medido


Esta API permitirá a entrada de valores no cronograma medido.

O campo accumulatedPercentageCompleted deve seta preenchido com o percentual total das medições até o período indicado pela data do campo measuredIn. 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 medido dos períodos posteriores ao informado, serão removidos.

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

Método de entrada: Post

Exemplo de JSon de entrada

JSON
{
    "companyId": 1,
    "projectId": 2,
    "measuredIn":"2020-02-02",
    "tasks": [
        {
            "taskId": 1,
            "accumulatedPercentageCompleted":11
        }
    ]
}

3 - API de entrada de Cronograma Realizado 


Esta API permitirá a entrada de valores no cronograma Realizado.

O campo accumulatedPercentageCompleted deve seta preenchido com o percentual total das medições até o período indicado pela data do campo accomplishedIn. 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

Método de entrada: Post

Exemplo de JSon de entrada

JSON
{
"companyId": 1,
"projectId": 57,
"accomplishedIn":"2022-05-01",
"tasks":[

{     "taskId":9,     "accumulatedPercentageCompleted":41 }
,
}

4 - API de Cálculo de Cronograma


Esta API permitirá a execução do cálculo do cronograma

As parâmetros deverão identificar qual projeto e planilha deverá ser calculado.

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

Método de entrada: Post

Exemplo de JSon de entrada

JSON
{
        "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

Exemplo de JSon de entrada

JSON
{     
		"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

Exemplo de JSon de entrada

JSON
{          
   "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

Exemplo de JSon de entrada

JSON
{  
          
	"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


Exemplo do XML de entrada

XML
<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>







  • Sem rótulos