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.

2 - Expense (Despesas)

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

3 - Vehicle (Veiculo)

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

4 - OrderService (Ordem de serviço)

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

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.

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.

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.

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.

Observação: Existe dois parâmetros na 132 que essa API vai verificar quando for montar a consulta de dados para envio, e caso esses parâmetros não esteja sendo usado a API envia todos os funcionários no qual seu setor esta marcado para uso do myfrota na 528.

         

         


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)
  )
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.

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.

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