Personalizar o mapa de transição do estado da ordem de serviço

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 1 min. de leitura
  • Usuários com a função de administrador do sistema podem personalizar o mapa de transição do estado da ordem de serviço, que mapeia os estados da ordem de serviço para os estados da tarefa do projeto.

    Atualizar o estado de uma ordem de serviço também atualiza o estado da tarefa de projeto vinculada. O script FieldServicesProjectTaskStateHandler mapeia os estados da ordem de serviço para os estados da tarefa do projeto. Usuários com a função de administrador do sistema podem personalizar este mapa de transição de estado conforme necessário com base nos exemplos a seguir.

    Exemplos

    Definir o status de uma ordem de serviço como Encerrado concluído não deve encerrar a tarefa de projeto. Para fazer essa mudança, remova a seguinte linha na função inicializar () :
    this.workOrderProjectTaskStateMap[FieldServiceProjectTaskStateHandler.WORK_ORDER_STATE_CLOSE_COMPLETE] =
          FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_CLOSE_COMPLETE;
        
    Para mapear o estado de Expedição pendente da ordem de serviço para o estado Aberto da tarefa do projeto, adicione a seguinte linha à função inicializar() :
    
        this.workOrderProjectTaskStateMap[FieldServiceProjectTaskStateHandler.WORK_ORDER_STATE_PENDING_DISPATCH] = FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_OPEN;
        

    Para qualificar uma tarefa automaticamente quando a tarefa de projeto for alterada para Aberto, altere a função de processo FieldServiceProjectUpdateHandler que ouve atualizações de tarefa de projeto e altere a ordem de serviço vinculada para Qualificado. Adicione a seguinte linha após esta seção:

    if(taskJSON.change_map && taskJSON.change_map.state){
    
        If(taskJSON.change_map.state == FieldServiceProjectTaskStateHandler.PROJECT_TASK_STATE_OPEN
        workOrder.state = FieldServiceProjectTaskStateHandler. WORK_ORDER_STATE_PENDING_DISPATCH
        workOrder.update();