Webapi

WebAPI – Ordens de Trabalho

346 views 28 Abril, 2017 12 Julho, 2019 Valuekeep 0

Este serviço permite a obtenção e manipulação de Ordens de Trabalho no Valuekeep.

De seguida é apresentada uma análise dos métodos disponibilizados pelo serviço.

Obter Ordens de Trabalho

GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrdersByFilter

Este método permite obter a lista de OTs, aplicando vários filtros. Pode obter a lista de OTs filtrada por:

  • StateKey: Lista de estados (valores em “Tabela de Estados da OT”)
  • MaxRecords: Número máximo de registos (pode pedir no máximo 200 registos de cada vez)
  • DaysLimit: Número máximo de dias desde a data de criação da OT
  • AssignedTo: Login do utilizador do funcionário atribuído a tarefas da OT
  • Version: Versão
  • WOResponsible: Responsável da OT
  • WCResponsible: Responsável do Centro de Trabalho
  • WOOrWCResponsible: Responsável da OT ou do Centro de Trabalho

Todos os filtros são opcionais. A lista de OTs devolvida está ordenada por versão em ordem crescente. Se definir o filtro por utilizador, para cada OT apenas são devolvidas as tarefas atribuídas a esse utilizador.

Exemplo:

GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrdersByFilter?stateKey=001&stateKey=002&maxRecords=50&daysLimit=30&assignedTo=myuser&version=AAAAAAAAAAA=

Obtém no máximo 50 OTs nos estados “Pendente” e “Aguarda Aprovação”, criadas nos últimos 30 dias, com tarefas atribuídas ao funcionário com login “myuser” e versão superior a “AAAAAAAAAAA=”.

 

GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrdersByFilterForMobile

Este método permite obter a lista de OTs, aplicando vários filtros. Pode obter a lista de OTs filtrada por:

  • StateKey: Lista de estados (valores em “Tabela de Estados da OT”)
  • MaxRecords: Número máximo de registos (pode pedir no máximo 200 registos de cada vez)
  • AssignedTo: Login do utilizador do funcionário atribuído a tarefas da OT
  • CreatedBy: Login do utilizador do funcionário que criou a OT
  • Version: Versão
  • WOOrWCResponsible: Responsável da OT ou do Centro de Trabalho
  • CanceledStates: Booleano que indica se deve incluir OTs no estado cancelado
  • FinalState: Booleano que indica se deve incluir OTs no estado final
  • FinalStateDaysLimit: Número máximo de dias desde a data de fecho da OT

Todos os filtros são opcionais. A lista de OTs devolvida está ordenada por versão em ordem crescente. Se definir o filtro por utilizador, para cada OT apenas são devolvidas as tarefas atribuídas a esse utilizador.

Caso não sejam especificados os parâmetros CanceledStates FinalState, o método não devolve as OTs nos estados cancelado e final. Caso seja especificado, apenas devolve OTs no estado cancelado e/ou estado final, conforme definição dos parâmetros.

Exemplo:

GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrdersByFilterForMobile?maxRecords=100&canceledStates=true&finalState=true&finalStateDaysLimit=30&assignedTo=myuser&version=AAAAAAAAAAA=

Obtém no máximo 100 OTs nos estados cancelados e finais, que fecharam nos últimos 30 dias, com tarefas atribuídas ao funcionário com login “myuser” e versão superior a “AAAAAAAAAAA=”.

Obter Custos das Ordens de Trabalho

GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrderCostsByFilter

Este método permite obter a lista de Custos das OTs, aplicando vários filtros. Pode obter a lista de Custos de OTs filtrada por:

  • WorkOrderKey: Chave da OT.
  • IssueKey: Chave da Ocorrência associada à OT.
  • MaxRecords: Número máximo de registos (pode pedir no máximo 200 registos de cada vez)
  • Issuer: Login do utilizador do funcionário que fez a requisição da ocorrência associada à OT
  • Version: Versão
  • HasIssue: Campo que indica se a lista inclui apenas as OTs com ocorrência associada
  • DaysLimit:  Número máximo de dias desde a criação da ordem de trabalho.
  • Year: Ano das ocorrências
  • Reponsible: Login do utilizador responsável pelo ativo, localização ou rota da ordem de trabalho.
  • WOResponsible: Responsável da OT
  • WCResponsible: Responsável do Centro de Trabalho
  • WOOrWCResponsible: Responsável da OT ou do Centro de Trabalho
  • Createdby: login do utilizador que criou a OT

Todos os filtros são opcionais. A lista de Custos de OTs devolvida está ordenada por versão em ordem crescente.

Exemplo:

GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrderCostsByFilter?issuer=myuser&issueKey=IC0001&maxrecords=50&version=AAAAAAAAAAA=&hasIssue=true

Obtém no máximo 50 Custos de OTs com ocorrência atribuída, criada pelo funcionário com login “myuser” e versão superior a “AAAAAAAAAAA=”.

Obter Lista de Tempos de Resposta das Ordens de Trabalho

GET /api/mytenant/myorganization/maintenancemanagementcore/ResponseTimesOfWorkOrders/GetResponseTimesOfWorkOrdersByFilter

Este método permite obter uma lista de Tempos de Resposta das Ordens de Trabalho, aplicando vários filtros. Pode obter a lista de Tempos de Resposta das Ordens de Trabalho filtrada por:

  • StateKey: Lista de estados (valores em “Tabela de Estados da Ordem de Trabalho”)
  • MaxRecords: Número máximo de registos (pode pedir no máximo 200 registos de cada vez)
  • WorkOrderKey: Pela chave da Ordem de Trabalho
  • Version: Versão
  • DaysLimit: Número máximo de dias desde a criação da Ordem de Trabalho
  • Year: Ano das ordens de trabalho, aparecem todas as ordens de trabalho cujo ano seja superior ao colocado no filtro
  • Responsible: Login do utilizador responsável do ativo da ordem de trabalho
  • WOResponsible: Responsável da OT
  • WCResponsible: Responsável do Centro de Trabalho
  • WOOrWCResponsible: Responsável da OT ou do Centro de Trabalho

Todos os filtros são opcionais. A lista de Tempos de Resposta das Ordens de Trabalho devolvida está ordenada por versão em ordem crescente.

Exemplo:

GET /api/mytenant/myorganization/maintenancemanagementcore/ResponseTimesOfWorkOrders/GetResponseTimesOfWorkOrdersByFilter?stateKey=001&stateKey=002&maxRecords=50&woresponsible=myuser&version=AAAAAAAAAAA=

Obtém no máximo 200 registos de Tempos de Resposta das Ordens de Trabalho nos estados “Aguarda Aprovação” e “Aprovado”, em que o responsável das ordens de trabalho seja o funcionário com login “myuser” e com versão superior a “AAAAAAAAAAA=”.

Obter Funcionários Atribuídos à Ordem de Trabalho

GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrderAssignedEmployees

Este método permite obter a lista de Funcionários Atribuídos à OT, aplicando vários filtros. Pode obter a lista de Funcionários Atribuídos à OT filtrada por:

  • WorkOrderKey: Chave da OT;
  • StateKey: Lista de estados (valores em “Tabela de Estados da OT”);
  • MaxRecords: Número máximo de registos (pode pedir no máximo 200 registos de cada vez);
  • HasIssue: Campo que indica se a lista inclui apenas as OTs com ocorrência associada;
  • DaysLimit:  Número máximo de dias desde a criação da ordem de trabalho;
  • CreationYear: Ano de criação da OT;
  • Version: Versão;
  • WOResponsible: Responsável da OT;
  • WCResponsible: Responsável do Centro de Trabalho;

Todos os filtros são opcionais. A lista de Funcionários Atribuídos à OT devolvida está ordenada por versão em ordem crescente.

Exemplo:

GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrderAssignedEmployees?maxrecords=50&version=AAAAAAAAAAA=&hasIssue=true

Obtém no máximo 50 registos de atribuição com ocorrência definida e versão superior a “AAAAAAAAAAA=”.

Criar uma Ordem de Trabalho

POST /api/mytenant/myorganization/maintenancemanagementcore/workorders/CreateWorkOrder

Este método oferece uma forma simplificada de criar uma Ordem de Trabalho para um determinado Ativo, Localização, Rota de Ativos ou Rota de Localizações. O “corpo” da mensagem deve ser preenchido com a estrutura do recurso WorkOrderInfoResource.

Exemplo:

{
“WorkOrderKey”: “WO135”,
“Description”: “Ordem de Trabalho”,
“WorkOrderTypeKey”: “PR”,
“AssetKey”: “AC-0022”,
“LocationKey”: null,
“AssetRouteKey”: null,
“LocationRouteKey”: null,
“MaintenancePlanKeys”: [“PM-000012.1”, “PM-000013.1”],
“WorkCenterKey”: “CTEGH”,
“PriorityLevelKey”: “ALTA”,
“Remarks”: “Observações Gerais”,
“Date”: “2015-08-31T11:15:17.477+00:00”
}

Se o Centro de Trabalho e o Nível de Prioridade não forem especificados, a criação da ordem de trabalho é assumida com o Centro de Trabalho e Nível de Prioridade por omissão. O campo “MaintenancePlanKeys” pode assumir um ou mais planos de manutenção, e tem de ser preenchido com a chave natural do plano de manutenção. Este método substitui os antigos métodos CreateWorkOrderForAsset, CreateWorkOrderForLocation, CreateWorkOrderForAssetRoute, CreateWorkOrderForLocationRoute. Para especificar para que ativo, localização ou rota pretende criar a ordem de trabalho, é preciso apenas preencher a respetiva chave.

Atribuir uma Ordem de Trabalho

POST /api/mytenant/myorganization/maintenancemanagementcore/workordertaskassignments/AssignWorkOrder

Este método oferece uma forma simplificada de atribuir uma Ordem de Trabalho a Funcionários. O “corpo” da mensagem deve ser preenchido com a estrutura do recurso WorkOrderAssignmentResource.

Exemplo:

{
“WorkOrderKey”: “WO0034”,
“EmployeesToAssign”: [
“0002”,
“0006”
]
}

Desatribuir uma Ordem de Trabalho

POST /api/mytenant/myorganization/maintenancemanagementcore/workordertaskassignments/AssignWorkOrder

Este método oferece uma forma simplificada de desatribuir uma Ordem de Trabalho a Funcionários. O “corpo” da mensagem deve ser preenchido com a estrutura do recurso WorkOrderAssignmentResource.

Exemplo:

{
“WorkOrderKey”: “WO0022”,
“EmployeesToUnassign”: [
“0002”,
“0006”
]
}

Atualizar uma Ordem de Trabalho

PUT /api/mytenant/myorganization/maintenancemanagementcore/workorders/{workOrderKey}

Este método permite atualizar uma Ordem de Trabalho. Para tal, a mensagem http deve ter o “corpo” preenchido com a estrutura do recurso WorkOrderResource completa (incluindo os que não foram alterados).

Apagar uma Ordem de Trabalho

DELETE /api/mytenant/myorganization/maintenancemanagementcore/workorders/{workOrderKey}

Este método permite apagar uma determinada Ordem de Trabalho pela sua chave natural.

Exemplo:

Apagar a Ordem com a chave natural Sample001
DELETE /api/mytenant/myorganization/maintenancemanagementcore/workorders/Sample001

Alterar estado de Ordens de Trabalho

PUT /api/mytenant/myorganization/maintenancemanagementcore/workorders/ChangeWorkOrderState

Este método permite mudar o estado de várias Ordens de Trabalho. Para isso é necessário preencher a StateResource. A resource é preenchida com a Chave Natural da WorkOrder (EntityKey), a chave natural do estado (NewState), razão da alteração (apenas utilizada quando é rejeitado (reason)), e a data de transição de estado (StateChangeDate).

Exemplo:
{
“StateLines” : [
{
“EntityKey” : “OT0004”,
“NewState” : “003.WORKORDER”,
“Reason” : “TESTE”,
“StateChangeDate” : “2015-07-27T11:15:17.477+00:00”,
},
{
“EntityKey” : “OT0005”,
“NewState” : “003.WORKORDER”,
“Reason” : “TESTE3”,
“StateChangeDate” : “2015-07-27T11:15:17.477+00:00”,
}
]
}

Tabela de Estados da Ordem de Trabalho

Estes são os estados disponíveis por omissão para as OTs. Para obter os estados configurados use o método descrito em “Obter Lista de Estados das OTs”.

Código Estado
001 Aguarda Aprovação
002 Pendente
003 Aprovado
004 Em Curso
005 Cancelado
006 Fechado
007 Executado
008 Suspenso

Alterar campos da Ordem de Trabalho

PUT /api/mytenant/myorganization/maintenancemanagementcore/WorkOrders/UpdateWorkOrderInfo

Este método permite alterar alguns campos da ordem de trabalho; a resource necessária é descrita abaixo:

  • WorkOrderKey: A chave da OT
  • Description: A descrição da OT
  • WorkOrderTypeKey: A chave do tipo de OT
  • WorkCenterKey:  A chave do centro de trabalho da OT
  • AssetKey: A chave do ativo associado à OT
  • LocationKey: A chave da localização associada à OT
  • PriorityLevelKey: A chave do nível de prioridade do requisitante da OT
  • OperatingConditionKey: A chave do estado de funcionamento da OT
  • Remarks: As observações da OT
  • MaintenancePlanKeys: A lista de chave dos planos de manutenção da OT
  • Date: A data de criação da OT

Exemplo:

{
“WorkOrderKey” : “WO000020”,
“Description” : “Mudar o óleo.”,
“WorkOrderTypeKey” : “CR”,
“WorkCenterKey” : “MN”,
“AssetKey” : “A-00012”,
“LocationKey” : “”,
“PriorityLevelKey” : “N”,
“OperatingConditionKey”: “DS”
“Remarks” : “”,
“MaintenancePlanKeys”: [“MP-00002.1”, “MP-00003.1”],
“Date”: “2017-08-31T11:15:17.477+00:00”
}

 Apenas deve ser preenchido um dos campos AssetKey ou LocationKey, uma vez que uma ordem de trabalho não pode estar associada a um ativo e a uma localização ao mesmo tempo.

Obter Lista de Estados das OTs

GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrderStates?version=AAAA

Este método permite obter a lista de estados das OTs. Para esta lista apenas é necessário o filtro Version.

Obter Informação detalhada da OT

Através do seguinte método, é possível obter uma informação detalhada da OT:

  • Consumos
  • Mão de Obra
  • Contadores
  • Controlos de Condição
  • Outros Custos

Exemplo:
GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrderReportInfo?workOrderKey=OT0040

Obter número de ordens de trabalho atribuídas por estado

Através do seguinte método, é possível obter o número de ordens de trabalho atribuídas por estado, utilizado os seguintes parâmetros:

  • assignedTo – atribuídas ao técnico.
  • version

é devolvida a lista e número de ordens de trabalho atribuídas, agrupadas por estado.

Exemplo:
GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/GetWorkOrdersAssignedByStates?assignedTo=admin&version=AAAA

Campos de Utilizador

Através dos seguintes métodos, é possível obter os campos de utilizador e alterar os seus valores sem editar a OT diretamente.

Lista de campos de utilizador :

Exemplo:
GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/getuserfields

GET /api/mytenant/myorganization/maintenancemanagementcore/workorders/getuserfields?workorderkey=WO0001

O método sem parâmetros devolve os campos de utilizador associados à entidade Ordem de Trabalho com valores vazios ou por omissão. O método com parâmetro devolve a lista de campos de utilizador e respetivos valores para a OT especificada.

 

Alterar valores de campos de utilizador:

Exemplo:

PUT /api/mytenant/myorganization/maintenancemanagementcore/workorders/updateuserfields?workOrderKey=WO0001

[
{
“Name”: “USER_CHAVEALT”,
“Value”: “xxx1”
},

{
“Name” : “USER_CONTABILIDAD”,
“Value” : false
}
]

 

Este método atualiza os valores dos campos de utilizador da OT. Deve ser usado o mesmo nome devolvido pelo método anterior.

Os tipos de campo suportados por este método são:

Texto Curto (20), Texto (100), Texto Longo (255), Booleano, Data, Data Hora, Número, Decimal, Percentagem, Email, URL.

Tags:

Foi útil?