;** RM_3118A********************************************************************
;** Relat¢rio de desempenho agendamentos                                       *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 28/11/2018 por Anivel Augusto Rodrigues
;Alterado em     : 29/11/2018 por Anivel Augusto Rodrigues  
;Motivo Alteracao: ajustes of   
;Ultima Alteracao: 12/12/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes desfazer ask com representante nÆo cadastrado

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc SelecionaRM_3118A()
ClearAll

If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"AgencC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"AgencI")
   Then 
       {Ask} TypeIn "\\Sistemas\\Cadastro\\Gerencia" Enter
        Moveto [Codigo da Gerencia     ] Check Example "cger"
        Moveto [Descricao Gerencia     ] Check

       {Ask} TypeIn "\\Sistemas\\Cadastro\\Represen" Enter
        Moveto [Codigo do Representante] Check Example "crep"
        Moveto [Nome Fantasia Represent] Check
        Moveto [Codigo da Gerencia     ]       Example "cger" TypeIn ", ~VSDGGERENCIA.."

       {Ask} TypeIn "\\Sistemas\\Cadastro\\Usuarios" Enter
        Moveto [Chapa                  ]       Example "cuser"
        Moveto [Codigo_Representante   ]       Example "crep" TypeIn ", ~VSDGREPRESEN.."

        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"AgencC" Enter
        Moveto [Ordem_Agendamento      ] Example "nage" 
        Moveto [Codigo_Usuario         ] Example "cuser"
        Moveto [Data_Inicio            ] TypeIn ">=~VSDGDTINI"
        Moveto [Data_Fim               ] TypeIn "<=~VSDGDTFIM"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"AgencI" Enter Check
        Moveto [Ordem_Agendamento      ] Example "nage" 
        Do_It!
        ClearAll
        
        Adiciona_DadosRM_3118A("Agendamentos")

        Tabela2=Cria_Temp(PrivDir())
        Rename "Answer" Tabela2   
        
        {Ask} typeIn Tabela2 Enter
        Moveto [Codigo do Representante] Check 
        Moveto [Codigo                 ] Check 
        Do_It!
        ClearAll
        Adiciona_DadosRM_3118A("Clientes")
        
        {Ask} typeIn Tabela2 Enter
        Moveto [Codigo do Representante] Check 
        Moveto [Codigo                 ] Check 
        Moveto [Status                 ] typein "INATIVO"
        Do_It!
        ClearAll
        Adiciona_DadosRM_3118A("Inativos")
        
        Delete Tabela2
EndIf

If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC")
   Then 
       {Ask} TypeIn "\\Sistemas\\Cadastro\\Gerencia" Enter
        Moveto [Codigo da Gerencia     ] Check Example "cger"
        Moveto [Descricao Gerencia     ] Check

       {Ask} TypeIn "\\Sistemas\\Cadastro\\Represen" Enter
        Moveto [Codigo do Representante] Check Example "crep"
        Moveto [Nome Fantasia Represent] Check
        Moveto [Codigo da Gerencia     ]       Example "cger" TypeIn ", ~VSDGGERENCIA.."

        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC" Enter
        Moveto [Numero do Pedido       ]       typeIn "Calc Count as Nvendas"
        Moveto [Codigo da Empresa      ] Check TypeIn "~VSDGEMPRESA.."
        Moveto [Nome Fantasia Empresa  ] Check
        Moveto [Codigo do Representante] Check Example "crep" TypeIn ", ~VSDGREPRESEN.."
        Moveto [Nome Fantasia Represent] Check
        Moveto [Situacao do Pedido     ] Check
        switch
          case VSDGSITUACAOPEDIDO="JUNTAR ABERTO+SUSPENSO"     : TypeIn "ABERTO or SUSPENSO"
          case VSDGSITUACAOPEDIDO="IGNORAR CANCELADO+SUSPENSO" : TypeIn "not CANCELADO, not SUSPENSO"
          case VSDGSITUACAOPEDIDO="IGNORAR CANCELADO"          : TypeIn "not CANCELADO"
          case VSDGSITUACAOPEDIDO<>"TODAS"                     : TypeIn "~VSDGSITUACAOPEDIDO.."
        endswitch        
        Moveto [Data de Emissao         ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        Moveto [Descricao da Destinacao ] TypeIn "..VEND.. or ..SERV.. or ..SAIDA.."
        Moveto [Valor Mercadoria Liquido] TypeIn "Calc sum as Valor"
        Moveto [Sistema Gerador         ] TypeIn "TM"
        Do_It!
        ClearAll
        
        Adiciona_DadosRM_3118A("Vendas")
EndIf

If IsTable("\\Sistemas\\Vendas\\Faturac")  ; mecanismo temporario para as ofïs sistematica antiga
   Then 
       {Ask} TypeIn "\\Sistemas\\Cadastro\\Gerencia" Enter
        Moveto [Codigo da Gerencia     ] Check Example "cger"
        Moveto [Descricao Gerencia     ] Check

       {Ask} TypeIn "\\Sistemas\\Cadastro\\Represen" Enter
        Moveto [Codigo do Representante] Check Example "crep"
        Moveto [Nome Fantasia Represent] Check
        Moveto [Codigo da Gerencia     ]       Example "cger" TypeIn ", ~VSDGGERENCIA.."

        {Ask} TypeIn "\\Sistemas\\Vendas\\FaturaC" Enter
        Moveto [Numero da OF           ]       typeIn "Calc Count as Nvendas"
        Moveto [Codigo da Empresa      ] Check TypeIn "~VSDGEMPRESA.."
        Moveto [Nome Fantasia Empresa  ] Check
        Moveto [Codigo do Representante] Check Example "crep" TypeIn ", ~VSDGREPRESEN.."
        Moveto [Nome Fantasia Represent] Check
        Moveto [Numero do Pedido        ] TypeIn "blank"
        Moveto [Data de Emissao         ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        Moveto [Descricao da Destinacao ] TypeIn "..VEND.. or ..SERV.. or ..SAIDA.."
        Moveto [Valor Mercadoria Liquido] TypeIn "Calc sum as Valor"
        Do_It!
        ClearAll
        
        Adiciona_DadosRM_3118A("Vendas")
EndIf

EndProc

;*******************************************************************************
;* Rotina adicionar dados na Db temporaria                                     *
;*******************************************************************************
Proc Adiciona_DadosRM_3118A(Tipo)

If IsEmpty("Answer")
   Then Return
EndIf   
     
View Tabela
Coedit "Answer"
NR = NRecords("Answer")
Scan
  Barra(NR, RecNo())
  Aguarde("Aguarde, Processando "+BARRA_STRING)

  Moveto Tabela
  Moveto [Codigo da Empresa]
  Locate VSDGEMPRESA,[Answer->Codigo do Representante]
  If not retval
     Then  End Down
                    [Codigo da Empresa      ] = VSDGEMPRESA
                    [Nome Fantasia Empresa  ] = VSDGNOMEMP    
                    [Codigo do Representante] = [Answer->Codigo do Representante]
                    [Nome Fantasia Represent] = [Answer->Nome Fantasia Represent]
                    [Codigo da Gerencia     ] = [Answer->Codigo da Gerencia     ]
                    [Descricao Gerencia     ] = [Answer->Descricao Gerencia     ]
  EndIf
  
  Switch
    Case Tipo="Vendas":
        [VENDA                 ] = [VENDA                 ]+ [Answer->NVendas]
        [VRVENDA               ] = [VRVENDA               ]+ [Answer->Valor  ]
        
    Case Tipo="Agendamentos":
        switch
        ;;case [Answer->Status]="VENDA"        : [VENDA        ]=[VENDA        ]+1
          case [Answer->Status]="REAGENDADO"   : [REAGENDADO   ]=[REAGENDADO   ]+1
          case [Answer->Status]="RECONTATO"    : [RECONTATO    ]=[RECONTATO    ]+1
          case [Answer->Status]="POS VENDA"    : [POSVENDA     ]=[POSVENDA     ]+1
          case [Answer->Status]="ABERTO" or
               [Answer->Status]=""             : [ABERTO       ]=[ABERTO       ]+1
        endswitch
        
    Case Tipo="Clientes":
         [CLIENTES     ]=[CLIENTES]+1
        
    Case Tipo="Inativos":
         [INATIVO      ]=[INATIVO ]+1
  EndSwitch
  
  Moveto "Answer"
EndScan
Do_It!
ClearAll                         

EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Proc ProcessaRM_3118A()

Tabela=Cria_Temp(PrivDir())
Empty "\\Base\\Sistemas\\Vendas\\RM_3118"
Copy "\\Base\\Sistemas\\Vendas\\RM_3118" Tabela

Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
While Novo_Dir_Trab()
  SelecionaRM_3118A()
EndWhile

If IsEmpty(Tabela)
   Then 
        MENSAGEM("N„o existem registros a processar")
   else
        Impressao_Orientacao="Paisagem" 
        CopyReport "\\Base\\Sistemas\\Vendas\\Rm_3118" "R" Tabela "R"
      
        IMPRIREL(Tabela,"R")
EndIf
Delete Tabela

EndProc

;-- Chamada principal ----------------------------------------------------------
ProcessaRM_3118A()

Release Vars Tabela
Release Procs SelecionaRM_3118A, SelecionaRM_3118A
