Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

#include 'protheus.ch'
 
user function PLSAUT02()
    //Parametros do ponto de entrada
    local aRet          := ParamIXB[01] //Criticas ja avaliadas
    local dData         := ParamIXB[02] //Data de execução do procedimento
    local cHora         := ParamIXB[03] //Hora de execução do procedimento
    local cCdTbPd       := ParamIXB[04] //Codigo da tabela
    local cCodPro       := ParamIXB[05] //Codigo do procedimento
    local nQtd          := ParamIXB[06] //Quantidade Executada
    local cCid          := ParamIXB[07] //CID do atendimento
    local cLOCALExec    := ParamIXB[08] //Local de execução ("1" - Autorizacao/"2" - Processamento de Conta)   
    local cOpeSol       := ParamIXB[09] //Operadora do solicitante
    local cCodPRFSol    := ParamIXB[10] //Codigo do profissional Solicitante
    local cCodInt       := ParamIXB[11] //Codigo da Operadora
    local cCodRda       := ParamIXB[12] //Codigo do Prestador
    local cCodLoc       := ParamIXB[13] //Codigo do local de Atendimento no Prestador
    local cLocal        := ParamIXB[14] //Local de Atendimento
    local cCodEsp       := ParamIXB[15] //Codigo da especialidade
    local cOpeUsr       := ParamIXB[16] //Operadora do Beneficiario
    local cMatrUsr      := ParamIXB[17] //Matricula do Beneficiario
    local cPadInt       := ParamIXB[18] //Apto ou enfermaria, conforme tabela de cadastro e atributo do produto
    local aDadUsr       := ParamIXB[19] //Dados do Beneficiario
    local aDadRda       := ParamIXB[20] //Dados do Prestador
    local cTpLocExec    := ParamIXB[21] //Local de validação da critica ("1/4" Remote Protheus  "2" WEB  "3" POS "5" XML)
    local cAteRNA       := ParamIXB[22] //Indica se eh atendimento de recém-nascido

     
    local lSuaRegra     := .T.          //Variavel para controle da regra especifica
    local aCriticas     := {}           //Array com o complemento da critica especifica
    local cNivel        := ""           //Nivel da critica
    local cCodCriEsp    := "799"        //Codigo de sua critica especifica...
    local cDesCriEsp    := "TESTE"      //Descricao de sua critica especifica...
 
    //A funcao PLSPOSGLO retorna se ela esta ativa ou nao de acordo com o local de execucao
    //e tambem cria a critica de acordo com o que foi informado nos parametros 2 e 3
    //caso a mesma nao exista na tabela BCT
    If  PLSPOSGLO(PLSINTPAD(),cCodCriEsp,cDesCriEsp,cLOCALExec)
 
        //Define qual o nivel de autorizacao/critica da regra
        cNivel := "ZAA"
 
        //TODO - Implementar codigo para controlar a variavel que define se a critica sera ou nao submetida
        /*Tratar variavel 'lSuaRegra' aqui
        Exemplo:
        lSuaRegra := MsgYesNo("AUTORIZAR OU NAO?")*/
 
        // Vou criticar/autorizar de acordo com a regra tratada acima
        if !lSuaRegra
            //Aqui devo fazer a montagem do aRet de acordo com a descricao do artigo
            aAdd(aCriticas,{cCodCriEsp,cDesCriEsp,'',BCT->BCT_NIVEL,BCT->BCT_TIPO,cCdTbPd,cCodPro})
            aRet := {.F.,aCriticas,cNivel,'',.F.}
        else
            aRet := {.T.,'',cNivel,''}
        endif 
 
    endif
 
return(aRet)



...