Views & Functions: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
(6 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 4: | Linha 4: | ||
!Função | !Função | ||
!Parametros | !Parametros | ||
|- | |- | ||
| rowspan="2" |'''VW_CRMSERVICE_REQUISICAO''' | | rowspan="2" |'''VW_CRMSERVICE_REQUISICAO''' | ||
Linha 159: | Linha 151: | ||
| | | | ||
|- | |- | ||
| | |'''F_GET_STATUS_ICONE''' | ||
| | |'''Retorna 4 informação sobre 1 serviço''' | ||
| | # Aprovacao do cliente | ||
# Icone que vai na frente do servico (bolinha vermelha etc) | |||
# Descricao do icone | |||
# 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 | |||
# P_COD_EMPRESA IN INT, | |||
# P_NUMERO_OS IN INT, | |||
# P_COD_SERVICO IN VARCHAR2, | |||
# P_TIPO_RESULT IN INT | |||
|- | |||
|'''F_GET_SERVICO_PERCENT_TRAB''' | |||
|'''Retorna 3 Valores de 1 Serviço''' | |||
# TMO | |||
# Tempo Trabalhado | |||
# %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[[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 é... |
| ||||||||
select * from VW_CRMSERVICE_REQUISICAO where cod_empresa = 40 and numero_os = 43 | ||||||||||
VW_CRM_SERVICE_TEMPO_DISPONIVEL | Calcula por DAta/Box
Importante: Ele considera os Eventos do produtivo, Cursos, Ferias, Feriados | |||||||||
| ||||||||||
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 | |||||||||
| ||||||||||
Calcula TMO e Valor de um Serviço | ||||||||||
F_GET_STATUS_ICONE | Retorna 4 informação sobre 1 serviço
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
| ||||||||
F_GET_SERVICO_PERCENT_TRAB | Retorna 3 Valores de 1 Serviço
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
A função NAO considera
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 |
P_COD_EMPRESA IN INT,
P_COD_TECNICO AND IN p_DATA dATA QUE DESEJA TER O STATUS |