Views & Functions: mudanças entre as edições

De Wiki NBS
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(4 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 4: Linha 4:
!Função
!Função
!Parametros
!Parametros
|-
|'''VW_CRMSERVICE_OS_ANDAMENTO'''
|Retorna o andamento de uma OS&Orçamento
<small>select andamento</small>  <small>from VW_CRMSERVICE_OS_ANDAMENTO</small>  <small>where cod_empresa = 40 </small><small>and numero_os = 43</small>
|
* Cod_empresa
* Numero_os
|-
|-
| rowspan="2" |'''VW_CRMSERVICE_REQUISICAO'''
| rowspan="2" |'''VW_CRMSERVICE_REQUISICAO'''
Linha 168: Linha 160:
'''''Exemplo'''''
'''''Exemplo'''''


select   -- Aprovacao do cliente
select         -- Icone do status do servico


         F_GET_STATUS_ICONE_SERVICO(s.cod_empresa, s.numero_os, s.cod_servico, 1),
         F_GET_STATUS_ICONE_SERVICO(s.cod_empresa, s.numero_os, s.cod_servico, 1),


         -- Icone do status do servico
         -- Descricao do icone do servico


         F_GET_STATUS_ICONE_SERVICO(s.cod_empresa, s.numero_os, s.cod_servico, 2),
         F_GET_STATUS_ICONE_SERVICO(s.cod_empresa, s.numero_os, s.cod_servico, 2),
         -- Descricao do icone do servico
         F_GET_STATUS_ICONE_SERVICO(s.cod_empresa, s.numero_os, s.cod_servico, 3),


         -- Status do servico : 0 Nao fez nada, 1 trbalhando, 2 Encerrado  
         -- Status do servico : 0 Nao fez nada, 1 trbalhando, 2 Encerrado  


         F_GET_STATUS_ICONE_SERVICO(s.cod_empresa, s.numero_os, s.cod_servico, 4)         
         F_GET_STATUS_ICONE_SERVICO(s.cod_empresa, s.numero_os, s.cod_servico, 3)         


from os_servicos s
from os_servicos s
Linha 196: Linha 184:
# Tempo Trabalhado
# Tempo Trabalhado
# %trabalhando (para o Gráfico
# %trabalhando (para o Gráfico
'''Exemplo'''


select   -- tempo trabalhado
select   -- tempo trabalhado
Linha 205: Linha 195:
         F_GET_SERVICO_PERCENT_TRAB(s.cod_empresa, s.numero_os, s.cod_servico, 2),
         F_GET_SERVICO_PERCENT_TRAB(s.cod_empresa, s.numero_os, s.cod_servico, 2),


         -- % trabalado, prono para o grafico
         -- % trabalhado, pronto para o gráfico


         F_GET_SERVICO_PERCENT_TRAB(s.cod_empresa, s.numero_os, s.cod_servico, 3)
         F_GET_SERVICO_PERCENT_TRAB(s.cod_empresa, s.numero_os, s.cod_servico, 3)
Linha 216: Linha 206:


   P_TIPO_RESULT IN INT) RETURN NUMBER IS 
   P_TIPO_RESULT IN INT) RETURN NUMBER IS 
|-
|'''F_GET_OS_ANDAMENTO'''
|'''Retorna o andamento de uma OS  {nao serve para orçamento}'''
Função para substitui a view VW_CRM_SERVICE_OS_ANDAMENTO
SELECT F_GET_OS_ANDAMENTO(OS.COD_EMPRESA, OS.NUMERO_OS, 1) AS ANDAMENTO
FROM OS
WHERE OS.ORCAMENTO = 'N'
|P_COD_EMPRESA IN INT, 
P_NUMERO_OS IN INT, 
|-
|F_GET_STATUS_PRODUTIVO
|Retorna o status do produtivo  '''Considerando'''
* Curso
* Ferias
* Paradas de almoço e lanche
* Feriado
* Horário estabelecido nos eventos (incio e fim a cada dia da semana)
'''A função NAO considera'''
* Ativos e fictícios
* Se esta trabalhando
'''Exemplo'''
SELECT -- grid
 initcap(a.nome) nome,
substr(F_get_status_produtivo(a.cod_empresa, a.cod_tecnico, sysdate),6,length(F_get_status_produtivo(a.cod_empresa, a.cod_tecnico, sysdate))) Motivo,
a.cod_tecnico,substr(F_get_status_produtivo(a.cod_empresa, a.cod_tecnico, sysdate),1,2) ST
from servicos_tecnicos a[[Arquivo:Imageorprod.png|esquerda|miniaturadaimagem]]
|P_COD_EMPRESA IN INT, 
P_COD_TECNICO AND IN
p_DATA  dATA QUE DESEJA TER O STATUS
|}
|}

Edição atual tal como às 12h46min de 15 de julho de 2020

Nome Função Parametros
VW_CRMSERVICE_REQUISICAO Retorna as Requisições de uma OS com o preço liquido Total (* qtde) já calculado.

Parece bobagem, mas ja viram o calculo bisonho que é pra achar o preço de uma peça ? pois é...

  • Cod_empresa
  • Numero_os
select * from VW_CRMSERVICE_REQUISICAO where cod_empresa = 40 and numero_os = 43
Imageor2.png
VW_CRM_SERVICE_TEMPO_DISPONIVEL Calcula por DAta/Box
  1. O tempo Total no dia/box
  2. O tempo OCUPADO (pelos CHIPS da Agenda)
  3. O Tempo disponível na Data/Box

Importante: Ele considera os Eventos do produtivo, Cursos, Ferias, Feriados

Empresa/Período Empresa/Período/Box Empresa/Período/Produtivo
select sum(v.tempo_total)      Tp_agenda, 

       sum(v.tempo_ocupado)    Tp_ocupado , 

       sum(v.tempo_disponivel) Tp_disp

from VW_crmservice_tempo_disponivel v

--

where cod_empresa = 34

and   data >= to_date('01/07/2016')

and   data <= to_date('30/07/2016')

select v.prisma,

       sum(v.tempo_total)      Tp_agenda, 

       sum(v.tempo_ocupado)    Tp_ocupado , 

       sum(v.tempo_disponivel) Tp_disp

from VW_crmservice_tempo_disponivel v

--

where cod_empresa = 34

and   data >= to_date('01/07/2016')

and   data <= to_date('30/07/2016')

Group by v.prisma

select v.cod_tecnico,

sum(v.tempo_total)      Tempo_agenda, 

       sum(v.tempo_ocupado)    Tempo_ocupado , 

       sum(v.tempo_disponivel) Tempo_disponivel

from VW_crmservice_tempo_disponivel v

--

where cod_empresa = 34

and   data >= to_date('01/07/2016')

and   data <= to_date('30/07/2016')

Group by v.cod_tecnico

Imageor20.png
Imageor21.png
Imageor30.png

F_GET_TEMPO_TRABALHADO

Calcular o tempo trabalhado do produtivo,

Tratando inicio em um dia e parada em outro, assim como data final nula  considerado sysdate.

Quando data inicial e final for diferente, vai descontar domingos e feriados e horas paradas do produtivo cadastradas na tabela servicos_tecnicos_eventos,

assim como pegará hora inicial e final para cálculo de tempo trabalhado de lá.

Se técnico estiver sem horário cadastrado, vai buscar do parm_sys2 => p2.agenda_hora_comeca e p2.agenda_hora_fim

Empresa/OS Empresa/OS/Serviço Empresa/OS/Produtivo
SELECT  sum(f_get_tempo_trabalhado(ot.cod_empresa, ot.cod_tecnico,             ot.data_entrada, ot.hora_entrada,      

ot.data_saida, ot.hora_saida)) tempo_trab_t

FROM os_tempos_executados ot 

where ot.cod_empresa = 34

and   ot.numero_os   = 15398

SELECT ot.cod_servico,

sum(f_get_tempo_trabalhado(ot.cod_empresa, ot.cod_tecnico, 

                ot.data_entrada, ot.hora_entrada,      

  ot.data_saida, ot.hora_saida)) tempo_trab_t

FROM os_tempos_executados ot

where ot.cod_empresa = 34

and   ot.numero_os   = 15398

group by cod_servico

SELECT ot.cod_servico, ot.cod_tecnico,

sum(f_get_tempo_trabalhado(ot.cod_empresa, ot.cod_tecnico, 

                                ot.data_entrada, ot.hora_entrada,  

 ot.data_saida, ot.hora_saida)) tempo_trab_t

FROM os_tempos_executados ot

where ot.cod_empresa = 34

and   ot.numero_os   = 15398

group by cod_servico, ot.cod_tecnico

Imageor40.png
Imageor6.png
Imageor7.png
Calcula TMO e Valor de um Serviço
F_GET_STATUS_ICONE Retorna 4 informação sobre 1 serviço
  1. Aprovacao do cliente
  2. Icone que vai na frente do servico (bolinha vermelha etc)
  3. Descricao do icone
  4. Status do Servico (0- nunca fez servico 1-em andamento/Parado 2-Finalizado)

Exemplo

select         -- Icone do status do servico

         F_GET_STATUS_ICONE_SERVICO(s.cod_empresa, s.numero_os, s.cod_servico, 1),

         -- Descricao do icone do servico

         F_GET_STATUS_ICONE_SERVICO(s.cod_empresa, s.numero_os, s.cod_servico, 2),

         -- Status do servico : 0 Nao fez nada, 1 trbalhando, 2 Encerrado  

         F_GET_STATUS_ICONE_SERVICO(s.cod_empresa, s.numero_os, s.cod_servico, 3)         

from os_servicos s

Parâmetros
  1. P_COD_EMPRESA IN INT,
  2. P_NUMERO_OS IN INT,
  3. P_COD_SERVICO IN VARCHAR2,
  4. P_TIPO_RESULT IN INT
F_GET_SERVICO_PERCENT_TRAB Retorna 3 Valores de 1 Serviço
  1. TMO
  2. Tempo Trabalhado
  3. %trabalhando (para o Gráfico

Exemplo

select   -- tempo trabalhado

         F_GET_SERVICO_PERCENT_TRAB(s.cod_empresa, s.numero_os, s.cod_servico, 1),

         -- TMO

         F_GET_SERVICO_PERCENT_TRAB(s.cod_empresa, s.numero_os, s.cod_servico, 2),

         -- % trabalhado, pronto para o gráfico

         F_GET_SERVICO_PERCENT_TRAB(s.cod_empresa, s.numero_os, s.cod_servico, 3)

from os_servicos s

  (P_COD_EMPRESA IN INT, 

   P_NUMERO_OS IN INT, 

   P_COD_SERVICO IN VARCHAR2,

   P_TIPO_RESULT IN INT) RETURN NUMBER IS 

F_GET_OS_ANDAMENTO Retorna o andamento de uma OS {nao serve para orçamento}

Função para substitui a view VW_CRM_SERVICE_OS_ANDAMENTO

SELECT F_GET_OS_ANDAMENTO(OS.COD_EMPRESA, OS.NUMERO_OS, 1) AS ANDAMENTO

FROM OS

WHERE OS.ORCAMENTO = 'N'

P_COD_EMPRESA IN INT, 

P_NUMERO_OS IN INT, 

F_GET_STATUS_PRODUTIVO Retorna o status do produtivo Considerando
  • Curso
  • Ferias
  • Paradas de almoço e lanche
  • Feriado
  • Horário estabelecido nos eventos (incio e fim a cada dia da semana)

A função NAO considera

  • Ativos e fictícios
  • Se esta trabalhando

Exemplo

SELECT -- grid

 initcap(a.nome) nome,

substr(F_get_status_produtivo(a.cod_empresa, a.cod_tecnico, sysdate),6,length(F_get_status_produtivo(a.cod_empresa, a.cod_tecnico, sysdate))) Motivo,

a.cod_tecnico,substr(F_get_status_produtivo(a.cod_empresa, a.cod_tecnico, sysdate),1,2) ST

from servicos_tecnicos a
Imageorprod.png
P_COD_EMPRESA IN INT, 

P_COD_TECNICO AND IN

p_DATA dATA QUE DESEJA TER O STATUS