Páginas filhas
  • Myfrota - Fluxo de Integração

Entradas de dados direção Sofit View para Winthor

1 - Token

Na tabela PCINTEGRACAOWTAPARAMETRO no cadastro referente ao Myfrota possui a linha de registro relacionado ao token de acesso que será buscado utilizando o usuário e senha configurado na rotina 805 WTA. Esse token é utilizado como credencial de acesso sempre que necessário conectar na API da plataforma para envio e recebimento de dados.

  • A cada 2 horas será feita a busca de um novo token de acesso.
  • Caso ocorra algum problema para gerar o token nenhuma informação será integrada, pois as chamadas de API ficará inativada até uma nova tentativa de obter o token.
  • Na coluna da tabela PCINTEGRACAOWTAPARAMETRO.PARAMETRO = 'AltToken' possui registro de data/hora da ultima tentativa de geração de token.
  • Caso a linha de registro de token coluna tabela PCINTEGRACAOWTAPARAMETRO.PARAMETRO = 'UriToken' estiver vazia significa que não foi gerado com sucesso, sendo necessário verificar se o usuário e senha cadastrado na 805 WTA esta correto, ou verificar junto a Sofit View se a o endereço final https://sofitview.com.br/api/v1/users/login esta disponível.
  • Todo token gerado com sucesso inserido na PCINTEGRACAOWTAPARAMETRO gera informação de log na tabela PCINTEGRACAOEXEC. 

2 - Expense (Despesas)

Essa integração busca informações de despesas na Sofit View seguindo as seguintes regras:

  • A cada 3 minutos será realizado uma requisição a Sofit View para buscar as novas despesas cadastradas.
  • Todas as despesas são inseridas em PCITENSMYFROTA e respectivamente suas parcelas de despesa em PCPARCELADESPESAMYFROTA.
  • Ao baixar cotação será utilizado o ID do veiculo da despesa para buscar na PCVEICUL o respectivo CODVEICULO que será inserido no campo PCITENSMYFROTA.CODVEICULO. 
  • Ao baixar cotação será utilizado o ID do fornecedor da despesa para buscar na PCFORNEC o respectivo CODFORNEC que será inserido no campo PCITENSMYFROTA.CODFORNEC. 
  • A atualização e realizada a cada 3 minutos quando será realizado uma requisição a Sofitview buscando todas as alterações do dia atual, essa alteração somente será realizado caso o campo PCITENSMYFROTA.INTEGRADO seja igual a 'N' pois isso significa que a 776 não importou ainda o registro.
  • A exclusão de despesa ocorre a cada 3 minutos quando será realizado uma requisição a Sofitview e buscado os registros que foram excluídos da plataforma e somente será realizado o delete no Winthor caso o campo PCITENSMYFROTA.INTEGRADO seja igual a 'N' pois isso significa que a 776 não importou ainda o registro.
  • Toda despesa integrada inserida na PCITENSMYFROTA gera informação de log na tabela PCINTEGRACAOEXEC. 

3 - Vehicle (Veiculo)

Essa integração busca informações de veículos na Sofit View seguindo as seguintes regras:

  • A cada 3 minutos será realizado uma requisição a Sofit View para buscar os novos veículos cadastrados.
  • Todas os veículos são inseridas em PCVEICUL.
  • A atualização e realizada a cada 3 minutos quando será realizado uma requisição a Sofit View e buscado os registros alterados nos últimos 7 dias.
  • A exclusão de veículos ocorre a cada 3 minutos quando será realizado uma requisição a Sofit View e buscado os registros que foram excluídos da plataforma.
  • Todo veiculo integrado inserido na PCVEICUL gera informação de log na tabela PCINTEGRACAOEXEC. 

4 - OrderService (Ordem de serviço)

Essa integração busca informações de ordem de serviço na Sofit View seguindo as seguintes regras:

  • A cada 3,5 minutos será realizado uma requisição a Sofit View para buscar as novas ordem de serviço cadastrados.
  • Todas as ordem de serviço são inseridas em PCPREREQMATCONSUMOC.
  • A atualização e realizada a cada 3,5 minutos quando será realizado uma requisição a Sofit View e buscado os registros alterados nos últimos 7 dias.
  • A exclusão de ordem de serviço ocorre a cada 3,5 minutos quando será realizado uma requisição a Sofit View e buscado os registros que foram excluídos da plataforma.
  • Todo veiculo integrado inserido na PCPREREQMATCONSUMOC gera informação de log na tabela PCINTEGRACAOEXEC.

Saida de dados direção Winthor para Sofit View

Item (Produtos)

Na rotina 203, informe Sim no campo "Enviar para o myFrota" para todos produtos que deseja enviar para a Sofit View.

  • A cada 1,5 minutos será acionado a aplicação para enviar produtos.
  • Todos produtos integrado gera informação de log na tabela PCINTEGRACAOEXEC seja de sucesso ou erro.
  • Inicialmente será realizado a consulta a seguir para buscar os registros que será enviado. 

SQL Oracle

SELECT
    CAST(NVL(DESCRICAO,'') AS VARCHAR2(80)) AS NAME,
    CAST('Un - Unidade' AS VARCHAR2(18)) AS MEASUREMENT_UNIT_ID,
    CAST('Ferramentas' AS VARCHAR2(18)) AS SUB_SYSTEM_ID,
    CAST(NVL(REGEXP_REPLACE(NBM, '[^0-9]', ''), '') AS VARCHAR2(50)) AS NCM_CODE,
    CAST(DECODE(NVL(DTEXCLUSAO,''),'','true','false') AS VARCHAR(5)) AS ACTIVE,
    CAST('Outros' AS VARCHAR2(50)) AS TYPE,
    CAST(IDINTEGRACAOMYFROTA AS VARCHAR2(50)) AS EXTERNAL_ID
FROM PCPRODUT
WHERE
  (IDSOFITVIEW IS NULL
    OR ((TO_DATE(TO_CHAR(NVL(DTEXCLUSAO,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
        - TO_DATE(TO_CHAR(NVL(DTEXCLUSAOSOFITVIEW,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0
        AND IDSOFITVIEW IS NOT NULL AND CAST(IDSOFITVIEW AS INT) > 0)
    OR (DTEXCLUSAOSOFITVIEW IS NOT NULL AND DTEXCLUSAO IS NULL)
    OR (TO_DATE(TO_CHAR(DTULTALTER,'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
        - TO_DATE(TO_CHAR(DTULTALTERSOFITVIEW,'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0
    OR ((TO_DATE(TO_CHAR(DTULTALTER,'DD/MM/YYYY'),'DD/MM/YYYY')
        - TO_DATE(TO_CHAR(DTULTALTERSOFITVIEW,'DD/MM/YYYY'),'DD/MM/YYYY') = 0)
        AND
       (TO_DATE(TO_CHAR(DTULTALTERSOFITVIEW,'HH24:MI:SS'),'HH24:MI:SS')
        - TO_DATE(TO_CHAR(DTULTALTER,'HH24:MI:SS'),'HH24:MI:SS') > 0))
  )
  AND MYFROTA = 'S'
  ORDER BY CODPROD DESC

Customer (Cliente)

Todo o cadastro de clientes é automaticamente enviado para a Sofit View, não necessitando nenhuma configuração adicional, portanto, após configurar a integração, podem ser visualizados os clientes no sistema Sofit View.

  • A cada 1 minuto será acionado a aplicação para enviar clientes.
  • Todos clientes integrado gera informação de log na tabela PCINTEGRACAOEXEC seja de sucesso ou erro.
  • Inicialmente será realizado a consulta a seguir para buscar os registros que será enviado. 

SQL Oracle

SELECT
  CAST(REGEXP_REPLACE(CLIENTE,'''',' ') AS VARCHAR(60)) AS NAME,
  CAST(REGEXP_REPLACE(FANTASIA,'''',' ') AS VARCHAR(40)) AS FANTASY_NAME,
  NVL(CGCENT,CGCENTREGA) AS CNPJ,
  CAST(REGEXP_REPLACE(NVL(CGCENT,CGCENTREGA), '[^0-9]', '') AS VARCHAR(20)) AS CNPJ_AUX,
  ENDERCOM AS ADDRESS,
  NUMEROCOM AS ADDRESS_NUM,
  ENDERCOM AS ADDRESS_NEIGHBORHOOD,
  ESTCOM AS ADDRESS_STATE_ID,
  PCCIDADE.NOMECIDADE AS ADDRESS_CITY_ID,
  BAIRROCOM AS ADDRESS_COMPLEMENTARY,
  CEPCOM AS POSTAL_CODE,
  CAST(DECODE(NVL(DTEXCLUSAO,''),'','true','false') AS VARCHAR(5)) AS ACTIVE,
  NVL(REGEXP_REPLACE(CODCNAE, '[^[:digit:]]'),0) AS CNAE,
  CAST(IDINTEGRACAOMYFROTA AS VARCHAR(60)) AS EXTERNAL_ID
FROM PCCLIENT, PCCIDADE
WHERE
  (IDSOFITVIEW IS NULL
    OR ((TO_DATE(TO_CHAR(NVL(DTEXCLUSAO,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
        - TO_DATE(TO_CHAR(NVL(DTEXCLUSAOSOFITVIEW,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0
        AND IDSOFITVIEW IS NOT NULL AND CAST(IDSOFITVIEW AS INT) > 0)
    OR (DTEXCLUSAOSOFITVIEW IS NOT NULL AND DTEXCLUSAO IS NULL)
    OR (TO_DATE(TO_CHAR(DTULTALTER,'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
        - TO_DATE(TO_CHAR(DTULTALTERSOFITVIEW,'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0
    OR ((TO_DATE(TO_CHAR(DTULTALTER,'DD/MM/YYYY'),'DD/MM/YYYY')
        - TO_DATE(TO_CHAR(DTULTALTERSOFITVIEW,'DD/MM/YYYY'),'DD/MM/YYYY') = 0)
        AND
       (TO_DATE(TO_CHAR(DTULTALTERSOFITVIEW,'HH24:MI:SS'),'HH24:MI:SS')
        - TO_DATE(TO_CHAR(DTULTALTER,'HH24:MI:SS'),'HH24:MI:SS') > 0))
  )
  AND PCCLIENT.CODCIDADECOM = PCCIDADE.CODCIDADE(+)
 AND NVL(CGCENT,CGCENTREGA) IS NOT NULL
ORDER BY CODCLI DESC

Supplier (Fornecedor)

Todo o cadastro de fornecedor é automaticamente enviado para a Sofit View, não necessitando nenhuma configuração adicional, portanto, após configurar a integração, podem ser visualizados os fornecedores no sistema Sofit View.

  • A cada 2 minutos será acionado a aplicação para enviar fornecedores.
  • Para realizar a integração do fornecedor cadastrado no WinThor, é necessário, obrigatoriamente, informar o tipo de fornecedor, visto que essa informação é obrigatória no cadastro do fornecedor na plataforma da Sofitview. O vínculo do tipo de fornecedor também é realizado através da rotina 202 – Cadastro de Fornecedores, opção “Cadastro deTipo de Fornecedor – SOFITVIEW”, disponível no botão “Ações”.
  • Todos fornecedores integrado gera informação de log na tabela PCINTEGRACAOEXEC seja de sucesso ou erro.
  • Inicialmente será realizado a consulta a seguir para buscar os registros que será enviado.

SQL Oracle

SELECT NAME, FANTASY_NAME, CNPJ, CNPJ_AUX, ADDRESS, ADDRESS_NUM, ADDRESS_NEIGHBORHOOD,
ADDRESS_STATE_ID, ADDRESS_CITY_ID, ADDRESS_COMPLEMENTARY, POSTAL_CODE, ACTIVE, CNAE, TO_CHAR(TYPE) type,
PHONES, EMAIL, EXTERNAL_ID
FROM (SELECT
  CAST(REGEXP_REPLACE(FORNECEDOR,'''',' ') AS VARCHAR(60)) AS NAME,
  CAST(REGEXP_REPLACE(FANTASIA,'''',' ') AS VARCHAR(40)) AS FANTASY_NAME,
  CGC AS CNPJ,
  CAST(REGEXP_REPLACE(CGC, '[^0-9]', '') AS VARCHAR(20)) AS CNPJ_AUX,
  ENDER AS ADDRESS,
  NUMEROEND AS ADDRESS_NUM,
  ENDER AS ADDRESS_NEIGHBORHOOD,
  ESTADO AS ADDRESS_STATE_ID,
  PCCIDADE.NOMECIDADE AS ADDRESS_CITY_ID,
  BAIRRO AS ADDRESS_COMPLEMENTARY,
  CEP AS POSTAL_CODE,
  CAST(DECODE(NVL(DTEXCLUSAO,''),'','true','false') AS VARCHAR(5)) AS ACTIVE,
  NVL(CAE,0) AS CNAE,
  nvl((select Wm_concat(pctipofornecsofitview.desctipofornecsv) desctipofornecsv from
            pctipofornecsofitview, pcfornecsofitview, pcfornec f
            where f.codfornec = pcfornecsofitview.codfornec
            and pcfornecsofitview.codtipofornecsv = pctipofornecsofitview.codtipofornecsv
            and f.codfornec = pcfornec.codfornec and PCFORNECSOFITVIEW.STATUS = 'A'
            ), 'Outros') AS TYPE,
  TELFAB AS PHONES,
  EMAIL AS EMAIL,
  CAST(IDINTEGRACAOMYFROTA AS VARCHAR(60)) AS EXTERNAL_ID
FROM PCFORNEC, PCCIDADE, PCFORNECSOFITVIEW
WHERE
(IDSOFITVIEW IS NULL
  OR ((TO_DATE(TO_CHAR(NVL(DTEXCLUSAO,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
      - TO_DATE(TO_CHAR(NVL(DTEXCLUSAOSOFITVIEW,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0
      AND IDSOFITVIEW IS NOT NULL AND CAST(IDSOFITVIEW AS INT) > 0)
  OR (DTEXCLUSAOSOFITVIEW IS NOT NULL AND DTEXCLUSAO IS NULL)
  OR (TO_DATE(TO_CHAR(PCFORNEC.DTULTALTER,'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
      - TO_DATE(TO_CHAR(DTULTALTERSOFITVIEW,'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0 
  OR ((TO_DATE(TO_CHAR(PCFORNECSOFITVIEW.DTULTALTER,'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
      - TO_DATE(TO_CHAR(DTULTALTERSOFITVIEW,'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0   
        ) 
  OR ((TO_DATE(TO_CHAR(PCFORNEC.DTULTALTER,'DD/MM/YYYY'),'DD/MM/YYYY')
      - TO_DATE(TO_CHAR(DTULTALTERSOFITVIEW,'DD/MM/YYYY'),'DD/MM/YYYY') = 0)
      AND
     (TO_DATE(TO_CHAR(DTULTALTERSOFITVIEW,'HH24:MI:SS'),'HH24:MI:SS')
      - TO_DATE(TO_CHAR(PCFORNEC.DTULTALTER,'HH24:MI:SS'),'HH24:MI:SS') > 0))
)
AND PCFORNEC.CODCIDADE = PCCIDADE.CODCIDADE(+)
AND PCFORNEC.CODFORNEC = PCFORNECSOFITVIEW.CODFORNEC(+)
AND CGC IS NOT NULL
ORDER BY PCFORNEC.CODFORNEC DESC)
group by NAME, FANTASY_NAME, CNPJ, CNPJ_AUX, ADDRESS, ADDRESS_NUM, ADDRESS_NEIGHBORHOOD,
ADDRESS_STATE_ID, ADDRESS_CITY_ID, ADDRESS_COMPLEMENTARY, POSTAL_CODE, ACTIVE, CNAE, TO_CHAR(type),
PHONES, EMAIL, EXTERNAL_ID

Employee (Funcionário)

Na rotina 528 todos os setores que estiver com a opção "Usa My Frota" marcada será enviado seus respectivos funcionários vinculados.

  • A cada 2,5 minutos será acionado a aplicação para enviar funcionário.
  • Todos funcionários integrado gera informação de log na tabela PCINTEGRACAOEXEC seja de sucesso ou erro.
  • Inicialmente será realizado a consulta a seguir para buscar os registros que será enviado. 

Observação: Existem dois parâmetros na rotina 132 para que a API verifique quais dados serão utilizados para  montar a consulta para envio. E caso esses parâmetros não esteja sendo usado a API envia todos os funcionários, conforme já funciona, no qual seu setor esta marcado para usa my frota (PCSETOR.USAMYFROTA = 'S') na 528.

  • Para que esses parâmetros funcionem, a tabela PCPARAMFILIAL precisa estár atualizada para a ultima versão disponivel do objeto PARAMETRO, através da rotina 814, para versão igual ou superior a 2.1.113.000
  • Para que esses parâmetros funcionem, o job PcJobSofitViewEmployee_2.0 precisa está atualizada para a ultima versão. Data igual ou superior a 08/09/2023 14:55
  • Caso o parâmetro 'MYFROTA_MOTORISTA_FUNC' esteja ativo, serão enviados para o myfrota somente os funcionários com o campo TIPO = M (MOTORISTA) configurado na rotina 528. (Adicione na consulta abaixo a seguinte condição: AND PCEMPR.TIPO = 'M')
  • Cadastros já realizados antes dessa melhoria não são ajustados na plataforma, pois a API da Sofit relacionado a funcionários não permite exclusão.

         

  • Caso o parâmetro 'MYFROTA_MOTORISTA_FUNC' esteja ativo, serão enviados para o myfrota somente os motorista com o campo TIPO DE MOTORISTA = F (FUNCIONÁRIO), configurado na rotina 929. (Adicione na consulta abaixo a seguinte condição: AND PCEMPR.TIPOMOTORISTA = 'F')

         


SQL Oracle

SELECT
    CAST(PCEMPR.NOME AS VARCHAR(80)) AS NAME,
    CAST(PCEMPR.MATRICULA AS VARCHAR(25)) AS REGISTRATION_NUM,
    NVL(CAST(PCEMPR.CNH AS VARCHAR(50)),'') AS HABILITATION_NUM,
    NVL(CAST(TO_CHAR(PCEMPR.DTVALIDADECNH, 'YYYY-MM-DD') AS VARCHAR(10)),'') AS HABILITATION_DUE_DATE,
    NVL(CAST(PCEMPR.ORGAOEMISSORCNH AS VARCHAR(25)),'') AS HABILITATION_ISSUER,
    NVL(CAST(PCEMPR.CATEGORIACNH AS VARCHAR(25)),'') AS HABILITATION_CATEGORY,
    CAST(DECODE(NVL(PCEMPR.DT_EXCLUSAO,''),'',DECODE(NVL(PCSETOR.USAMYFROTA,'N'),'S','true','false'),'false') AS VARCHAR(5)) AS ACTIVE,
    NVL(CAST(PCEMPR.CPF AS VARCHAR(20)),'') AS CPF,
    NVL(CAST(PCEMPR.RG AS VARCHAR(20)),'') AS RG,
    NVL(CAST(PCEMPR.CNH AS VARCHAR(50)),'') AS CNH,
    NVL(CAST(TO_CHAR(PCEMPR.DTNASC, 'YYYY-MM-DD') AS VARCHAR(10)),'') AS BIRTHDATE,
    CAST(DECODE(PCEMPR.TIPOMOTORISTA, 'F', 'CLT', 'T', 'Terceirizado', 'CLT') AS VARCHAR(25)) AS TYPE,
    NVL(CAST(TO_CHAR(PCEMPR.ADMISSAO, 'YYYY-MM-DD') AS VARCHAR(10)),'') AS ADMISSION_DATE,
    TO_CHAR(NVL((SELECT MAX(D.DATA)
 FROM PCLOGALTERACAODADOS D
 WHERE D.DATA BETWEEN TO_DATE(TO_CHAR(SYSDATE,'dd/mm/rrrr')||' 00:00:00','dd/mm/rrrr hh24:mi:ss') AND 
 TO_DATE(TO_CHAR(SYSDATE,'dd/mm/rrrr')||' 23:59:59','dd/mm/rrrr hh24:mi:ss')
 AND D.TABELA = 'PCEMPR'
 AND D.COLUNA = 'CODFILIAL'
 AND D.CODIGO = PCEMPR.MATRICULA), PCEMPR.ADMISSAO), 'YYYY-MM-DD HH24:MI:SS') AS SUBSIDIARY_CHANGE_DATE,
    NVL(CAST(PCEMPR.CELULAR AS VARCHAR(20)),'') AS PHONES,
    NVL(CAST(PCEMPR.ENDERECO AS VARCHAR(60)),'') AS ADDRESS,
    NVL(CAST(PCEMPR.ESTADO AS VARCHAR(2)),'') AS ADDRESS_STATE_ID,
    NVL(CAST(PCEMPR.CIDADE AS VARCHAR(50)),'') AS ADDRESS_CITY_ID,
    CAST('BR' AS VARCHAR(2)) AS ADDRESS_COUNTRY,
    NVL(CAST(PCEMPR.CEP AS VARCHAR(20)),'') AS POSTAL_CODE,
    CAST('Motorista' AS VARCHAR(25)) AS EMPLOYEE_ROLE_ID,
    CAST(PCFILIAL.RAZAOSOCIAL AS VARCHAR(60)) AS SUBSIDIARY_ID,
    NVL(CAST(PCEMPR.ORGAOEMISSORRG AS VARCHAR(20)),'') AS RG_ISSUER,
    CAST(PCEMPR.IDINTEGRACAOMYFROTA AS VARCHAR(50)) AS EXTERNAL_ID,
    PCSETOR.DESCRICAO AS DEPARTMENT,
    PCEMPR.EMAIL AS EMAIL,
    PCEMPR.BAIRRO AS ADRESS_NEIGHBORHOOD
FROM PCEMPR, PCSETOR, PCFILIAL
WHERE PCEMPR.CODSETOR = PCSETOR.CODSETOR
  AND PCEMPR.CODFILIAL = PCFILIAL.CODIGO
  AND PCSETOR.USAMYFROTA = 'S'
  AND
  (IDSOFITVIEW IS NULL
    OR ((TO_DATE(TO_CHAR(NVL(DT_EXCLUSAO,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
        - TO_DATE(TO_CHAR(NVL(DTEXCLUSAOSOFITVIEW,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0
        AND IDSOFITVIEW IS NOT NULL AND CAST(IDSOFITVIEW AS INT) > 0)
    OR (DTEXCLUSAOSOFITVIEW IS NOT NULL AND DT_EXCLUSAO IS NULL)
        OR ((TO_DATE(TO_CHAR(NVL(PCSETOR.DTULTALTER,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
        - TO_DATE(TO_CHAR(NVL(DTULTALTERSOFITVIEW,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0
        AND DTULTALTERSOFITVIEW IS NOT NULL)
    OR ((TO_DATE(TO_CHAR(NVL(PCEMPR.DTULTALTER,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
        - TO_DATE(TO_CHAR(NVL(DTULTALTERSOFITVIEW,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0
        AND DTULTALTERSOFITVIEW IS NOT NULL)

--Retirar o comentario abaixo (--), somente se o parametro 4724 - Enviar ao myfrota somente funcionário do tipo motorista (MYFROTA_ENVIA_MOTORISTA) estiver igual a Sim
--AND PCEMPR.TIPO = 'M' 

--Retirar o comentario abaixo (--), somente se o parametro 4725 - Enviar ao myfrota somente motorista do tipo funcionário - (MYFROTA_MOTORISTA_FUNC) estiver igual a Sim
-- AND PCEMPR.TIPOMOTORISTA = 'F' 
 AND ROWNUM < 101
)
ORDER BY PCEMPR.MATRICULA DESC

Route (Rotas)

Todo o cadastro de rotas é automaticamente enviado para a Sofit View, não necessitando nenhuma configuração adicional, portanto, após configurar a integração, podem ser visualizadas as rotas no sistema Sofit View.

  • A cada 4 minutos será acionado a aplicação para enviar rotas.
  • Todas rotas integradas gera informação de log na tabela PCINTEGRACAOEXEC seja de sucesso ou erro.
  • Inicialmente será realizado a consulta a seguir para buscar os registros que será enviado. 

SQL Oracle

SELECT
       CAST('INDEFINIDA' AS VARCHAR(50)) AS NAME,
       CAST('0' AS VARCHAR(50)) AS FORESEEN_DISTANCE,
       CAST('0000000001' AS VARCHAR(50)) AS EXTERNAL_ID
FROM DUAL
WHERE
  (SELECT COUNT(CODROTA) FROM PCROTAEXP WHERE IDSOFITVIEW IS NULL) > 0

UNION ALL

SELECT
       CAST(ROT.DESCRICAO AS VARCHAR(50)) AS NAME,
       CAST(NVL(ROT.KMROTA,'0') AS VARCHAR(50)) AS FORESEEN_DISTANCE,
       CAST(ROT.ROWID AS VARCHAR(50)) AS EXTERNAL_ID
FROM PCROTAEXP ROT
WHERE
  (IDSOFITVIEW IS NULL
    OR ((TO_DATE(TO_CHAR(NVL((SELECT MAX(DATALOG) FROM PCLOGCADASTRO WHERE ROWIDCAMPO = ROT.ROWID AND NOMEOBJETO = 'PCROTAEXP'),TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
        - TO_DATE(TO_CHAR(NVL(DTULTALTERSOFITVIEW,TO_DATE('01/01/1900','DD/MM/YYYY HH24:MI:SS')),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0
        )
  )

Trip (Carregamento)

Quando é faturado carregamento no Winthor, o mesmo deve ser enviado de forma automática para a Sofit View.

  • A cada 4,5 minutos será acionado a aplicação para enviar carregamentos.
  • Todas carregamentos integradas gera informação de log na tabela PCINTEGRACAOEXEC seja de sucesso ou erro.
  • Inicialmente será realizado a consulta a seguir para buscar os registros que será enviado. 

SQL Oracle

SELECT CAR.IDINTEGRACAOMYFROTA AS EXTERNAL_ID,
       CAST(NVL(CAR.IDSOFITVIEW, 0) AS INT) AS IDSOFITVIEW,
       CAST(UPPER(REGEXP_REPLACE(VEI.PLACA, '[^a-zA-Z0-9]', '')) AS
            VARCHAR(10)) AS VEHICLE,
       EMP.NOME AS EMPLOYEE,
       CAST(NVL(ROT.DESCRICAO, 'INDEFINIDA') AS VARCHAR(40)) AS ROUTE,
       CAST(TO_CHAR(CAR.DTSAIDA, 'YYYY-MM-DD') AS VARCHAR(10)) AS DATA,
       'Carregamento: ' || CAR.NUMCAR AS OBSERVATION,
       'Planejada' AS STATUS,
       CAR.NUMCAR AS DOCNUMBER
FROM   PCCARREG CAR, PCVEICUL VEI, PCEMPR EMP, PCROTAEXP ROT
WHERE  CAR.CODVEICULO = VEI.CODVEICULO AND
       CAR.CODMOTORISTA = EMP.MATRICULA AND
       CAR.CODROTAPRINC = ROT.CODROTA AND
       NVL(VEI.IDSOFITVIEW, 0) > 0 AND
       NVL(EMP.IDSOFITVIEW, 0) > 0 AND
       CAR.DTFAT IS NOT NULL
       AND CAR.DTFECHA IS NULL    
   AND CAR.IDSOFITVIEW IS NULL  
ORDER  BY CAR.DTFAT ASC

Para envio de atualização de viagem, transferência de nota, cancelamento de nota e envio de nota o carregamento deverá aparecer na consulta abaixo, que é feita pela API no momento do envio.

Importante: Depois que o carregamento está fechado não e possível enviar mais os carregamentos e notas .

SQL Oracle

SELECT CAR.IDINTEGRACAOMYFROTA AS EXTERNAL_ID,
       CAST(NVL(CAR.IDSOFITVIEW, 0) AS INT) AS IDSOFITVIEW,
       CAST(UPPER(REGEXP_REPLACE(VEI.PLACA, '[^a-zA-Z0-9]', '')) AS
            VARCHAR(10)) AS VEHICLE,
       EMP.NOME AS EMPLOYEE,
       CAST(NVL(ROT.DESCRICAO, 'INDEFINIDA') AS VARCHAR(40)) AS ROUTE,
       CAST(TO_CHAR(CAR.DTSAIDA, 'YYYY-MM-DD') AS VARCHAR(10)) AS DATA,
       'Carregamento: ' || CAR.NUMCAR AS OBSERVATION,
       'Planejada' AS STATUS,
       CAR.NUMCAR AS DOCNUMBER
FROM   PCCARREG CAR, PCVEICUL VEI, PCEMPR EMP, PCROTAEXP ROT
WHERE  CAR.CODVEICULO = VEI.CODVEICULO AND
       CAR.CODMOTORISTA = EMP.MATRICULA AND
       CAR.CODROTAPRINC = ROT.CODROTA AND
       NVL(VEI.IDSOFITVIEW, 0) > 0 AND
       NVL(EMP.IDSOFITVIEW, 0) > 0 AND
       CAR.DTFAT IS NOT NULL
   AND CAR.IDSOFITVIEW IS NOT NULL
       AND CAR.DTFECHA IS NULL    
   AND ((TO_DATE(TO_CHAR(CAR.DTULTALTER,'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')
- TO_DATE(TO_CHAR(CAR.DTULTALTERSOFITVIEW,'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS')) > 0
OR ((TO_DATE(TO_CHAR(CAR.DTULTALTER,'DD/MM/YYYY'),'DD/MM/YYYY')
- TO_DATE(TO_CHAR(CAR.DTULTALTERSOFITVIEW,'DD/MM/YYYY'),'DD/MM/YYYY') = 0)
AND
   (TO_DATE(TO_CHAR(CAR.DTULTALTERSOFITVIEW,'HH24:MI:SS'),'HH24:MI:SS')
- TO_DATE(TO_CHAR(CAR.DTULTALTER,'HH24:MI:SS'),'HH24:MI:SS') > 0))
   )   
ORDER  BY CAR.DTFAT ASC



  • Sem rótulos