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
Linha 8: Linha 8:
|Retorna o andamento de uma OS&Orçamento
|Retorna o andamento de uma OS&Orçamento


<small>select andamento</small>
<small>select andamento</small>   <small>from VW_CRMSERVICE_OS_ANDAMENTO</small>  <small>where cod_empresa = 40 </small><small>and numero_os = 43</small>
 
<small>from VW_CRMSERVICE_OS_ANDAMENTO</small>  <small>where cod_empresa = 40 </small><small>and numero_os = 43</small>
|
|
* Cod_empresa
* Cod_empresa
Linha 16: Linha 14:
|-
|-
| rowspan="2" |'''VW_CRMSERVICE_REQUISICAO'''
| rowspan="2" |'''VW_CRMSERVICE_REQUISICAO'''
|Retorna as Requisições de uma OS  
|Retorna as Requisições de uma OS   com o preço liquido Total (* qtde) já calculado
com o preço liquido Total (* qtde) já calculado
|
|
* Cod_empresa
* Cod_empresa
Linha 25: Linha 22:
|-
|-
| rowspan="2" |'''VW_CRM_SERVICE_TEMPO_DISPONIVEL'''
| rowspan="2" |'''VW_CRM_SERVICE_TEMPO_DISPONIVEL'''
(Lê OS_Agenda_servicos)
{por BOX}
|Calcula o tempo disponível em uma data, por BOX.
| colspan="2" |'''Calcula por DAta/Box'''
Por consequência, o tempo disponível do produtivo do BOX.
# ''O tempo Total no dia/box''
# ''O tempo OCUPADO''
# ''O Tempo disponivel na Data/Box''


'''Importante: Ele considera os Eventos do produtivo, Cursos, Ferias, Feriados'''
Importante: Ele considera os Eventos do produtivo, Cursos, Ferias, Feriados
|'''Não tem obrigatório'''
Posso pegar
* Cod_empresa
* Período de Data
* box
* Produtivo
|-
|-
| colspan="2" |select * from VW_CRM_SERVICE_TEMPO_DISPONIVEL[[Arquivo:Imageor1.png|esquerda|miniaturadaimagem|1021x1021px]]
| colspan="2" |
{| class="wikitable"
!Empresa/Período
!Empresa/Período/Box
!Empresa/Período/Produtivo
|-
|-
| rowspan="2" |'''VW_CRMSERVICE_TP_TRABALHADO'''
|select sum(v.tempo_total)      Tp_agenda, 
|Calcula o Tempo trabalhado em um SERVICO de uma OS, por um técnico.
       sum(v.tempo_ocupado)    Tp_ocupado , 
Importante: ele considera os Eventos do produtivo no Caso de ter  pulado apontamento de um dia para outro.
 
       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
|-
|[[Arquivo:Imageor20.png|esquerda|miniaturadaimagem]]
|[[Arquivo:Imageor21.png|esquerda|miniaturadaimagem]]
|[[Arquivo:Imageor30.png|esquerda|miniaturadaimagem]]
|}


Tambem considera Cursos e  Feriados, se lançados.
|
* Cod_empresa
* Numero_os
|-
|-
| colspan="2" |'''-- tempo trabalhado, por servico'''
| rowspan="2" |
 
'''F_GET_TEMPO_TRABALHADO'''


<small>select V.cod_servico, sum(V.TEMPO_TRAB) tp_trab</small> 
(em um periodo)


<small>From VW_CRMSERVICE_TP_TRABALHADO V  WHERE V.cod_empresa = 34  AND V.numero_os = 15398    Group  BY V.cod_servico</small>[[Arquivo:ImageOR3.png|miniaturadaimagem|352x352px|nenhum]]
| colspan="2" |Calcular o tempo trabalhado do produtivo,
tratando inicio em um dia e parada em outro, assim como data final nula(TRBALHANDO) será  considerado sysdate.


'''-- tempo trabalhado, por servico / Tecnico <small>(lembrar que posso ter N lançaamentos de inicio e fim de tempo)</small>'''
Quando data inicial e final for diferente, vai descontar domingos e feriados e horas paradas do produtivo cadastradas na tabela


<small>select V.cod_servico, v.cod_tecnico ,sum(V.TEMPO_TRAB) tp_trab</small>
servicos_tecnicos_eventos, assim como pegará hora inicial e final para cálculo de tempo trabalhado de lá.


<small>From VW_CRMSERVICE_TP_TRABALHADO V  WHERE V.cod_empresa = 34  AND V.numero_os = 15398  Group  BY V.cod_servico, v.cod_tecnico</small>[[Arquivo:Imageor4.png|nenhum|miniaturadaimagem|322x322px]]
Se técnico estiver sem horario cadastrado, vai buscar do parm_sys2 => p2.agenda_hora_comeca e p2.agenda_hora_fim
|-
|-
|F_GET_PROD_HR_DISP
| colspan="2" |'''-- tempo trabalhado em um Periodo em uma'''
(função)
<small>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</small>
|
 
|
<small>FROM os_tempos_executados ot where ot.cod_empresa = 34 and   ot.numero_os   = 15398</small>
|-
 
|
'''''Retorna o valor em horas'''''
|select s.cod_tecnico, initcap(s.nome) nome ,  F_GET_PROD_HR_DISP(s.cod_empresa, s.cod_tecnico, data_intervalo.data_a) disponivel
 
From servicos_tecnicos s,
'''-- tempo trabalhado de uma OS / servico'''


     (SELECT ROWNUM x, (TO_DATE('&DataInicial', 'DD/MM/YYYY') + (ROWNUM-1)) data_a
SELECT ot.cod_servico, sum(f_get_tempo_trabalhado(ot.cod_empresa, ot.cod_tecnico, 


        FROM DUAL CONNECT BY LEVEL <= ((TO_DATE('&DataFinal', 'DD/MM/YYYY')-TO_DATE('&DataInicial', 'DD/MM/YYYY'))+1)) data_intervalo
                                ot.data_entrada, ot.hora_entrada,        ot.data_saida, ot.hora_saida)) tempo_trab_t


where s.ficticio = 'N'
FROM os_tempos_executados ot where ot.cod_empresa = 34 and   ot.numero_os   = 15398  group by cod_servico[[Arquivo:Imageor6.png|nenhum|miniaturadaimagem|249x249px]]'''-- tempo trabalhado de uma OS / servico / Tecnico'''


and nvl(s.eh_consultor,'N') = 'N'
SELECT ot.cod_servico, ot.cod_tecnico, sum(f_get_tempo_trabalhado(ot.cod_empresa, ot.cod_tecnico, 


and s.cod_tecnico = &Cod_Tecnico
                                ot.data_entrada, ot.hora_entrada,    ot.data_saida, ot.hora_saida)) tempo_trab_t


and s.cod_empresa = &Cod_Empresa
FROM os_tempos_executados ot where ot.cod_empresa = 34 and   ot.numero_os   = 15398 group by cod_servico, ot.cod_tecnico[[Arquivo:Imageor7.png|nenhum|miniaturadaimagem|372x372px]]
|
|}
|}

Edição das 20h43min de 4 de junho de 2020

CRMSERVICE

Nome Função Parametros
VW_CRMSERVICE_OS_ANDAMENTO Retorna o andamento de uma OS&Orçamento

select andamento from VW_CRMSERVICE_OS_ANDAMENTO where cod_empresa = 40 and numero_os = 43

  • Cod_empresa
  • Numero_os
VW_CRMSERVICE_REQUISICAO Retorna as Requisições de uma OS com o preço liquido Total (* qtde) já calculado
  • Cod_empresa
  • Numero_os
select * from VW_CRMSERVICE_REQUISICAO where cod_empresa = 40 and numero_os = 43
Imageor2.png
VW_CRM_SERVICE_TEMPO_DISPONIVEL

{por BOX}

Calcula por DAta/Box
  1. O tempo Total no dia/box
  2. O tempo OCUPADO
  3. O Tempo disponivel 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

(em um periodo)

Calcular o tempo trabalhado do produtivo,

tratando inicio em um dia e parada em outro, assim como data final nula(TRBALHANDO) será  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 horario cadastrado, vai buscar do parm_sys2 => p2.agenda_hora_comeca e p2.agenda_hora_fim

-- tempo trabalhado em um Periodo em uma

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

Retorna o valor em horas

-- tempo trabalhado de uma OS / servico

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
Imageor6.png
-- tempo trabalhado de uma OS / servico / Tecnico

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
Imageor7.png