Documento de BO
Produto: | Datasul |
Ocorrência: | Documentação de BO |
Nome Físico | boCrmOcor.p |
RowObject
Temp-Table principal usada para utilização dos métodos da BO e suas respectivas definições.
RowObject | ||||
Atributo | Tipo | Formato | Descrição | Obr. |
num_id | int | 99999999 | Código identificador seqüencial | Sim |
dat_abert | Date | 99/99/9999 | Abertura | Sim |
num_id_usuar_abert | int | >>>>,>>9 | Usuario de Abertura | Sim |
dat_fechto | Date | 99/99/9999 | Data Fechamento | Não |
num_id_usr_fechto | Int | >>>>,>>9 | Usuário Fechamento | Não |
num_id_pessoa | Int | >>>>,>>9 | Pessoa | Sim |
num_id_contat | Int | >>>>,>>9 | Contato | Não |
num_id_tip_ocor | Int | >>>>,>>9 | Tipo Ocorrência | Sim |
num_id_priorid_ocor | Int | >>>>,>>9 | Prioridade Ocorrência | Sim |
num_id_orig | Int | >>>>,>>9 | Origem | Sim |
num_id_vers | Int | >>>9 | Versão | Não |
dsl_sit | Char | x(5000) | Situação | Sim |
dsl_soluc | Char | x(2000) | Solução | Não |
num_id_recur | Int | >>>>,>>9 | Id Recurso | Sim |
num_id_status_ocor | Int | >>>>,>>9 | Id Status Ocorrência | Sim |
dat_prev_fechto | Date | 99/99/9999 | Previsao Fechamento | Sim |
hra_prev_fechto | Char | 99:99:99 | Previsao Fechamento | Sim |
num_id_ocor_orig | Int | >>>>,>>9 | Ocorrência Origem | Não |
num_id_ocor_fluxo | Int | >>>>,>>9 | Id Fluxo Ocorrência | Sim |
nom_ocor | Char | x(60) | Ocorrências | Sim |
num_id_template | Int | 9 | Template | Não |
num_id_classif_ocor_item | Int | >>>>,>>9 | Item Classificação | Não |
num_id_refer | Int | >>>>,>>9 | Referência | Não |
num_id_produt_filho | Int | >>>>,>>9 | Componente | Não |
Dat_timestamp | Date | 99/99/9999 | Data de Alteração do Registro | Sim |
Cdd_version | Dec | >>>,>>>,>>>,>>9 | Versão | Não |
Num_livre_1 | Int | >>>>>9 | Livre 1 | Não |
Val_livre_1 | Dec | Zzz,zzz,zz9.9999 | Livre 1 | Não |
Val_livre_2 | Dec | Zzz,zzz,zz9.9999 | Livre 2 | Não |
Num_livre_2 | Int | >>>>>9 | Livre 2 | Não |
Cod_livre_1 | Char | X(100) | Livre 1 | Não |
Cod_livre_2 | Char | X(100) | Livre 2 | Não |
Dat_livre_1 | Date | 99/99/9999 | Livre 1 | Não |
Dat_livre_2 | Date | 99/99/9999 | Livre 2 | Não |
Log_livre_1 | Log | Sim/Não | Livre 1 | Não |
Log_livre_2 | Log | Sim/Não | Livre 2 | Não |
Método Básico
Métodos básicos de acesso ao banco de dados.
getCharField | |||||||
Requisito | Nenhum | ||||||
Descrição | Retorna o valor de um campo character. | ||||||
Parâmetro | Tipo | Formato | I | O | IO | Descrição | |
pFieldName | char |
| X |
|
| Nome Campo | |
pFieldValue | char |
|
| X |
| Valor Campo |
getDateField | |||||||
Requisito | Nenhum | ||||||
Descrição | Retorna o valor de um campo date. | ||||||
Parâmetro | Tipo | Formato | I | O | IO | Descrição | |
pFieldName | char |
| X |
|
| Nome Campo | |
pFieldValue | char |
|
| X |
| Valor Campo |
getDecField | |||||||
Requisito | Nenhum | ||||||
Descrição | Retorna o valor de um campo decimal. | ||||||
Parâmetro | Tipo | Formato | I | O | IO | Descrição | |
pFieldName | char |
| X |
|
| Nome Campo | |
pFieldValue | char |
|
| X |
| Valor Campo |
getIntField | |||||||
Requisito | Nenhum | ||||||
Descrição | Retorna o valor de um campo inteiro. | ||||||
Parâmetro | Tipo | Formato | I | O | IO | Descrição | |
pFieldName | char |
| X |
|
| Nome Campo | |
pFieldValue | char |
|
| X |
| Valor Campo |
getKey | |||||||
Requisito | Nenhum | ||||||
Descrição | Retorna valores dos campos do índice CODIGO | ||||||
Parâmetro | Tipo | Formato | I | O | IO | Descrição | |
pit-codigo | char |
|
| X |
| Item | |
psequencia | int |
|
| X |
| Sequência | |
pes-codigo | char |
|
| X |
| Componente | |
pordem | int |
|
| X |
| Ordem | |
pal-codigo | char |
|
| X |
| Componente Alternativo |
getLogField | |||||||
Requisito | Nenhum | ||||||
Descrição | Retorna o valor de um campo logical. | ||||||
Parâmetro | Tipo | Formato | I | O | IO | Descrição | |
pFieldName | char |
| X |
|
| Nome Campo | |
pFieldValue | char |
|
| X |
| Valor Campo |
getRawField | |||||||
Requisito | Nenhum | ||||||
Descrição | Retorna valor de campos do tipo raw. | ||||||
Parâmetro | Tipo | Formato | I | O | IO | Descrição | |
pFieldName | char |
| X |
|
| Nome Campo | |
| pFieldValue | raw |
|
| X |
| Valor Campo |
getRecidField | |||||||
Requisito | Nenhum | ||||||
Descrição | Retorna valor de campos do tipo recid. | ||||||
Parâmetro | Tipo | Formato | I | O | IO | Descrição | |
pFieldName | char |
| X |
|
| Nome Campo | |
pFieldValue | recid |
|
| X |
| Valor Campo |
goToKey | |||||||
Requisito | Nenhum | ||||||
Descrição | Reposiciona registro com base no índice CODIGO | ||||||
Parâmetro | Tipo | Formato | I | O | IO | Descrição | |
pit-codigo | char |
| X |
|
| Item | |
psequencia | int |
| X |
|
| Sequência | |
pes-codigo | char |
| X |
|
| Componente | |
pordem | int |
| X |
|
| Ordem | |
pal-codigo | char |
| X |
|
| Componente Alternativo |
validateRecord | |||||||
Requisito | Nenhum | ||||||
Descrição | Validações pertinentes ao DBO para as operações de Create, Update e Delete. Caso opção seja igual “Inserir ou Alterar”, irá chamar o seguinte método validateDate persistSLA Valida se a previsão de fechamento está preenchida e deixa o campo em branco. Valida se o campo num_id_template é diferente de zero e atribui a zero. Atribui o usuário logado ao campo num_id_usar_abert. E se o log_template do registro inserido for igual a true,atualiza para false. Caso opção seja igual “Deletar”, irá chamas o seguinte método checkDeleteOcor | ||||||
Parâmetro | Tipo | Formato | I | O | IO | Descrição | |
pType | char |
| X |
|
| Recebe o tipo de validação |
Método Negócio
Métodos adicionais de atualização e acesso a base de dados .
Método: validateDate
Descrição: Verifica se no status do fluxo existe algum recurso com o nível selecionado, caso não tenha recurso especialista verifica se tem recurso no status. Quando o status não possui recurso informado, são apresentados todos os recursos que estão relacionados ao fluxo
Requisitos: Nenhum
Parâmetros: Nenhum
Método: loadResources
Descrição: Verifica se no status do fluxo existe algum recurso com o nível selecionado. Caso não tenha recurso especialista verifica se tem recurso no status. Quando o status não possui recurso informado, são apresentados todos os recursos que estão relacionados ao fluxo.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
numIdClassif | Int |
| X |
|
| Classificação |
numIdPrioridOco | Int |
| X |
|
| Prioridade Ocorrência |
numIdOcorFluxo | Int |
| X |
|
| Fluxo da ocorrência |
hasHier | Log |
|
| X |
| Hierarquia |
userHasAccess | Log |
|
| X |
| Usuário da Hierarquia |
ttResources |
|
|
| X |
|
|
numIdStatusOcor | Int |
| X |
|
| Status da Ocorrência |
Método: loadVersionComponentReferenceByClassification
Descrição: Chamará os seguinte métodos
loadVersionByClassification (INPUT idClassif, OUTPUT TABLE ttVersions).
loadComponentByClassification (INPUT idClassif, OUTPUT TABLE ttComponents).
loadReferenceByClassification (INPUT idClassif, OUTPUT TABLE ttReferences).
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idClassif | Int |
| X |
|
| Classificação |
ttVersions |
|
|
| X |
|
|
ttComponents |
|
|
| X |
|
|
ttReferences |
|
|
| X |
|
|
Método: loadVersionByClassification
Descrição: Faz uma busca nas tabelas crm_classif_ocor_item e na crm_produt_supor_vers e cria uma temp-table que recebe como numId o crm_produt_supor_vers.num_id_vers.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idClassif | Int |
| X |
|
| Classificação |
ttVersions |
|
|
| X |
|
|
Método: loadComponentByClassification
Descrição: Faz uma busca nas tabelas crm_classif_ocor_item e cria uma temp-table que recebe como numId o crm_produt_compon.num_id_produt_filho.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idClassif | Int |
| X |
|
| Classificação |
ttReferences |
|
|
| X |
| Hierarquia |
Método: loadReferenceByClassification
Descrição: Faz uma busca nas tabelas crm_classif_ocor_item e cria uma temp-table que recebe como numId o crm_produt_refer.num_id_refer.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idClassif | Int |
| X |
|
| Classificação |
ttReferences |
|
|
| X |
| Hierarquia |
Método: forecastClosing
Descrição: Se a prioridade for maior que zero, faz uma busca na tabela crm_priorid_ocor_niv_recur onde crm_priorid_ocor_niv_recur.num_id_priorid_ocor = idPriorid e atribui responseTime = crm_priorid_ocor_niv_recur.val_respos senão somente atribui responseTime = crm_priorid_ocor_niv_recur.val_respos.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idResource | Int |
| X |
|
| Classificação |
idPriorid | Int |
| X |
|
| Classificação |
previsao |
|
|
| X |
| Hierarquia |
hraPrevista |
|
|
| X |
| Hierarquia |
Método: statusEndsOccurrence
Descrição: Faz uma busca em Fluxo de Ocorrência do Status e atribui a variável ends o valor de crm_ocor_fluxo_status.log_encerra_ocor.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idStatus | Int |
| X |
|
| Classificação |
idFlow | Int |
| X |
|
| Classificação |
ends |
|
|
| X |
| Hierarquia |
Método: reOpenOccurrence
Descrição: Faz uma busca em Ocorrencia com o mesmo id de idOcor e atribui crm_ocor.num_id_status_ocor = idStatus
crm_ocor.num_id_recur = idResource.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idOcor | Int |
| X |
|
| Classificação |
idResource | Int |
| X |
|
| Classificação |
idStatus |
|
| X |
|
| Hierarquia |
Método: validateReOpenOccurrence
Descrição: Chama o método canUpdate (INPUT idOcor, OUTPUT canReOpen, OUTPUT onlyResp).
Faz uma busca em Fluxo do Status da Ocorrencia com o mesmo id de idOcor e atribui idStartFlow = crm_ocor_fluxo_status.num_id
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idOcor | Int |
| X |
|
| Classificação |
idResource | Int |
| X |
|
| Classificação |
canReOpen | Log |
|
| X |
| Hierarquia |
onlyResp | log |
|
| X |
|
|
idStartFlow | Int |
|
| X |
|
|
validReturn | Char |
|
| X |
|
|
Método: validateActionRequired
Descrição: Faz uma busca em Tipo de Ocorrência e atribui requiredAction = crm_tip_ocor.log_reg_acao
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idOccurrenceType | Int |
| X |
|
| Classificação |
requiredAction | Int |
| X |
|
| Classificação |
Método: sendEmail
Descrição: Faz uma busca em Fluxo da Ocorrência e atribui sendEmail = TRUE
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idFlow | Int |
| X |
|
| Classificação |
idResource | Int |
| X |
|
| Classificação |
Método: loadStatusOccurrence
Descrição: Faz uma busca em Fluxo da Ocorrência e atribui hasDesvio = TRUE
Faz uma busca Status do Fluxo da Ocorrência e cria a temp-table com o campo numId com valor igual a crm_ocor_fluxo_status.num_id senão adiciona o fluxo atual para que na tela de ocorrência possa deixar o campo habilitado.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idStatus | Int |
| X |
|
| Classificação |
idFlow | Int |
| X |
|
| Classificação |
ttAvailableStatus |
|
|
| X |
|
|
Método: checkFlowOccurrence
Descrição: Valida os fluxos que atendam as exigências.
Caso não possua fluxos que atendam as exigências, o sistema deve retornar os fluxos que não possuam regras relacionadas
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idType | Int |
| X |
|
| Classificação |
idPriority | Int |
| X |
|
| Classificação |
idVersion | Int |
| X |
|
|
|
idOrigin | Int |
| X |
|
|
|
ttAvailableFlows |
|
|
| X |
|
|
Método: canDuplicate
Descrição: Valida se o recurso possui o campo log_duplic_ocor true,para que possa ser duplicado.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idRecur | Int |
| X |
|
| Classificação |
hasAccess | Log |
|
| X |
|
|
Método: updateStatusOcore
Descrição: Valida a campanha, ação, resultado, se esses campos forem igual aos seus respectivos na tabela crm_ocor_fluxo_status_regra e crm_histor_acao, atribui crm_ocor. num_id_status_ocor = crm_ocor_fluxo_status_regra. num_id_ocor_fluxo_status_dest.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idAcao | Int |
| X |
|
| Ação |
Método: canUpdate
Descrição: Verfica se o usuário logado tem permissão para alterar a ocorrência.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
idRecur | Int |
| X |
|
| Recurso |
idOcor | Int |
| X |
|
| Ocorrência |
canUpdate | Log |
|
| X |
| Pode alterar |
onlyResp | Log |
|
| X |
| Resposta |
Método: getCoAccountByCoOccurrence
Descrição: Se o id da ocorrência for igual ao parâmetro de entrada coOccurrence,o parâmetro de saída é igual ao campo crm_ocor.num_id_pessoa.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
coOccurrence | Int |
| X |
|
| Recurso |
coAccount | Int |
|
| X |
| Ocorrência |
Método: checkDeleteOcor
Descrição: Deleta registros em cascata - tabela relacionamento sintomas.
Deleta registros em cascata - tabela relacionamento palavra chave
Requisitos: Nenhum
Parâmetros: Nenhum
Método: datePreviouse
Descrição: Se a data selecionada for menor que a atual, a previsão recebe true.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
dateFechto | char |
| X |
|
| Data Fechamento |
previous | Log |
|
| X |
| Previsão |
Método: persistSLA
Descrição: Procura se já existe um registro com o mesmo id,e se o status da ocorrência é diferente. Busca o último crm_ocor_niv_service e atribui crm_ocor_niv_service.dat_fim = dtAtual e crm_ocor_niv_service.hra_fim = hrAtual. E chama o seguinte método, calculateSLATime (INPUT crm_ocor_niv_service.dat_inic,INPUT crm_ocor_niv_service.hra_inic, INPUT crm_ocor_niv_service.dat_fim, INPUT crm_ocor_niv_service.hra_fim ,INPUT crm_ocor.num_id_ocor_fluxo, OUTPUT slaTime).
Requisitos: Nenhum
Parâmetros: Nenhum
Método: calculateSLATime
Descrição: Caso a ocorrência ainda esteja aberta o último status ou status atual, não tem data de término. Verifica se as datas de início e término estão dentro do período noturno. Se o intervalo for composto por apenas um dia considera a data inicial e final do registro. Se o intervalo for composto por mais um dia considera a data inicial do registro e final do turno. Calcula o período do primeiro dia com a hora inicial do turno e à hora de término.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
datInic | date |
| X |
|
| Data Inicial |
hraInic | Char |
| X |
|
| Hora Inicial |
datFim | Date |
| X |
|
| Data Final |
hraFIm | Char |
| X |
|
| Hora Final |
numIdFlow | Int |
| X |
|
| Id |
slaTime | Int |
|
| X |
| Tempo Sla |
Método: validateEndSLTATime
Descrição: Verifica se a data de fim está dentro do horário de término do turno. Caso à hora não esteja dentro do período de início, deve considerar o início do turno.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
hraEnd | Int |
| X |
|
| Hora Final |
hraEndTUrn | Int |
| X |
|
| Hora Turno Final |
minEnd | Int |
| X |
|
| Minuto Final |
minEndTurn | Int |
| X |
|
| Minuto Turno Final |
newHrs | Int |
|
| X |
| Nova Hora |
newMin | Int |
|
| X |
| Novo Minuto |
Método: validateIniSLTATime
Descrição: Verifica se a data de inicio está dentro do horário de inicio do turno. Caso a hora não esteja dentro do período de inicio, deve considerar o inicio do turno
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
hraIni | Int |
| X |
|
| Hora Inicial |
hraIniTUrn | Int |
| X |
|
| Hora Turno Inicial |
minIni | Int |
| X |
|
| Minuto Inicial |
minIniTurn | Int |
| X |
|
| Minuto Turno Inicial |
newHrs | Int |
|
| X |
| Nova Hora |
newMin | Int |
|
| X |
| Novo Minuto |
Método: generateOrdemOcorrence
Descrição: Gera uma sequência.
Requisitos: Nenhum
Parâmetros:
Parâmetro | Tipo | Formato | I | O | IO | Descrição |
i-sequencia | Int |
|
| X |
| Sequência |