Ir para conteúdo
Fórum Script Brasil

YuriRodrigues96

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre YuriRodrigues96

YuriRodrigues96's Achievements

0

Reputação

  1. Boa tarde! Estou calculando a produtividade dos técnicos que trabalham na empresa e funciona da seguinte forma: Cada tipo de atividade tem seu peso; O dia trabalhado é contado através do campo FimVisita; O sábado tem peso 0.5 e o restante 1; Porém não consigo adicionar a soma dos dias distintos trabalhados à consulta. SELECT tu.IDUsuario, tu.NomeUsuario AS TECNICO, SUM( CASE WHEN tta.TipoServico IN ('INSTALACAO', 'MIGRACAO', 'ALTERACAO_ENDERECO') THEN 1.0 WHEN tta.TipoServico = 'SUPORTE' THEN 0.67 WHEN tta.TipoServico IN ('SOLICITACAO_SERVICO', 'UPGRADE_DOWNGRADE') THEN 0.80 WHEN tta.TipoServico = 'RETIRADA' AND tfa.Descricao IN ('EQUIPAMENTO DEVOLVIDO C/ FONTE', 'EQUIPAMENTO DEVOLVIDO S/ FONTE') THEN 0.25 WHEN tta.TipoServico = 'SOLICITACAO_SERVICO' AND tta.Descricao = 'RECOLHIMENTO FPD' THEN 0.25 ELSE 0 END ) AS PONTUACAO, sub.SomaDiasDistintos FROM master_adapter_comercial.TB_Atendimento ta LEFT JOIN master_adapter_comercial.TB_Contrato tc ON tc.IDContrato = ta.IDContrato LEFT JOIN master_adapter.TB_Usuario tu ON tu.IDUsuario = ta.IDTecnicoVisita LEFT JOIN master_adapter_comercial.TB_TipoAtendimento tta ON tta.IDTipoAtendimento = ta.IDTipoAtendimento LEFT JOIN master_adapter_comercial.TB_FechamentoAtendimento tfa ON tfa.IDFechamentoAtendimento = ta.IDFechamentoAtendimento LEFT JOIN ( SELECT DISTINCT ta2.IDTecnicoVisita, tu2.NomeUsuario, CAST(ta2.DataFimVisita as date) as DataFimVisita, SUM(CASE WHEN DAYOFWEEK(ta2.DataFimVisita) = 7 THEN 0.5 ELSE 1 END) AS SomaDiasDistintos FROM master_adapter_comercial.TB_Atendimento ta2 LEFT JOIN master_adapter.TB_Usuario tu2 ON tu2.IDUsuario = ta2.IDTecnicoVisita WHERE ta2.DataFimVisita >= DATE_FORMAT(CURDATE()-1, '%Y%m01') AND ta2.Status IN ('SOLUCIONADO', 'POS_ATENDIMENTO') GROUP BY ta2.IDTecnicoVisita ) AS sub ON sub.IDTecnicoVisita = ta.IDTecnicoVisita WHERE ta.DataFimVisita >= DATE_FORMAT(CURDATE() - 1, '%Y%m01') AND tu.NomeUsuario IS NOT NULL AND tta.TipoServico <> 'INTERNO' GROUP BY sub.NomeUsuario ORDER BY tu.NomeUsuario;
×
×
  • Criar Novo...