;** Rm_0100 ********************************************************************
;*  Emissao do Resumo CURTIMENTO                                                       *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 19/02/2003 por Anivel Augusto Rodrigues
;Ultima Alteracao: 03/09/2004 por Jos‚ Luˇs Ameno da Silva
;Motivo Alteracao: PrivDir
;Ultima Alteracao: 29/01/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Peso Apara_Raspa
;Ultima Alteracao: 28/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes ShowDialog TG_DESTINAT
;Ultima Alteracao: 04/04/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes report base e showdialog 

;*******************************************************************************
;* Rotina p/ Selecionar e Order Registros                                      *
;*******************************************************************************
Proc Seleciona()
ClearAll

{Ask} {Curtim_C} Check
Moveto [Numero_Partida          ] Example "np"
Moveto [Codigo da Empresa       ] TypeIn "~VSDGEMPRESA.."
Moveto [Data_Inicio_Processo    ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
{Ask} {Remolh_O} Check
Moveto [Numero_Partida          ] Example "np"
Moveto [Codigo                  ] TypeIn "~VSDGDESTINAT.."
Do_It!
ClearAll

CoEdit "Answer"
Scan

    Porc=([Quantidade_Couros]/([Quantidade_Meios]/2))*100

    [Quantidade_Mt   ]=Round((([Quantidade_Mt   ]*Porc)/100),3)
    [Quantidade_Kg   ]=Round((([Quantidade_Kg   ]*Porc)/100),3)
    [Quantidade_Meios]=Round((([Quantidade_Meios]*Porc)/100),3)
    [Peso Apara      ]=Round((([Peso Apara      ]*Porc)/100),3)
    [Peso Couros     ]=Round((([Peso Couros     ]*Porc)/100),3)
    [Peso Raspa      ]=Round((([Peso Raspa      ]*Porc)/100),3)
    [Peso Apara_Raspa]=Round((([Peso Apara_Raspa]*Porc)/100),3)

EndScan
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Codigo da Empresa       ] Check
Moveto [Codigo-1                ] Check
Moveto [Codigo do Item          ] Check
Moveto [Descricao do Item       ] Check
Moveto [Quantidade_Mt           ] "Calc Sum As QuantidadeMt"
Moveto [Quantidade_Kg           ] "Calc Sum As QuantidadeKg"
Moveto [Quantidade_Meios        ] "Calc Sum As QuantidadeMeios"
Moveto [Peso Apara              ] "Calc Sum As PesoApara"
Moveto [Peso Couros             ] "Calc Sum As PesoCouros"
Moveto [Peso Raspa              ] "Calc Sum As PesoRaspa"
Moveto [Peso Apara_Raspa        ] "Calc Sum As PesoAparaRaspa"
Do_It!
ClearAll

Adiciona_Dados()
EndProc  ; (Seleciona)

;*******************************************************************************
;* Rotina adicionar dados na Db temporaria                                     *
;*******************************************************************************
Proc Adiciona_Dados()

If IsEmpty("Answer")
   Then Return
EndIf

{Ask} {Answer}
Moveto [Codigo da Empresa       ] Example "cemp"
Moveto [Codigo-1                ] Example "cfor"
Moveto [Codigo do Item          ] Example "cite"
Moveto [Descricao do Item       ] Example "dite"
Moveto [QuantidadeMt            ] Example "mt"
Moveto [QuantidadeKg            ] Example "kg"
Moveto [QuantidadeMeios         ] Example "me"
Moveto [PesoApara               ] Example "ap"
Moveto [PesoCouros              ] Example "co"
Moveto [PesoRaspa               ] Example "ra"
Moveto [PesoAparaRaspa          ] Example "apra"
{Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
Moveto [Codigo da Empresa       ] Example "cemp"
Moveto [Codigo                  ] Example "cfor"
Moveto [Codigo do Item          ] Example "cite"
Moveto [Descricao do Item       ] Example "dite"
Moveto [Quantidade_Mt           ] Example "mt"
Moveto [Quantidade_Kg           ] Example "kg"
Moveto [Quantidade_Meios        ] Example "me"
Moveto [Peso Apara              ] Example "ap"
Moveto [Peso Couros             ] Example "co"
Moveto [Peso Raspa              ] Example "ra"
Moveto [Peso Apara_Raspa        ] Example "apra"
Do_It!
ClearAll

EndProc

;*******************************************************************************
;* Rotina p/ processar Db temporaria                                           *
;*******************************************************************************
Proc Processa()

;***** Ajusta Dados ************************************
{Ask} {\\Sistemas\\Cadastro\\Empresas}
Moveto [Codigo da Empresa      ] Example "cemp"
Moveto [Nome Fantasia Empresa  ] Example "nemp"
{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Codigo da Empresa      ] Example "cemp"
Moveto [Nome Fantasia Empresa  ] TypeIn "changeto _nemp"
Do_It!
ClearAll

{Ask} {\\Sistemas\\Cadastro\\Destinat}
Moveto [Codigo                 ] Example "cfor"
Moveto [Razao Social           ] Example "nfor"
{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Codigo                 ] Example "cfor"
Moveto [razao Social           ] TypeIn "changeto _nfor"
Do_It!
ClearAll

{Ask} {\\Sistemas\\Estoque\\Itens}
Moveto [Codigo do Item          ] Example "cite"
Moveto [Descricao do Item       ] Example "dite"
{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Codigo do Item          ] Example "cite"
Moveto [Descricao do Item       ] TypeIn "changeto _dite"
Do_It!
ClearAll

;***** Totaliza Dados ************************************
{Ask} TypeIn Tabela Enter Check
Moveto [Quantidade_Mt           ] Check "Calc Sum As QuantidadeMt"
Moveto [Quantidade_Kg           ] Check "Calc Sum As QuantidadeKg"
Moveto [Quantidade_Meios        ] Check "Calc Sum As QuantidadeMeios"
Moveto [Peso Apara              ] Check "Calc Sum As PesoApara"
Moveto [Peso Couros             ] Check "Calc Sum As PesoCouros"
Moveto [Peso Raspa              ] Check "Calc Sum As PesoRaspa"
Moveto [Peso Apara_Raspa        ] Check "Calc Sum As PesoAparaRaspa"
Do_It!
ClearAll

Empty Tabela
Add "Answer" Tabela
ClearAll

EndProc    ;  (Processa)

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] =   9: Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            Case Campo="TG_EMPRESA"        : Campo="NO"
            Case Campo="TG_DESTINAT"       : Campo="TG_EMPRESA"
            Case Campo="TG_DTINI"          : Campo="TG_DESTINAT"
            Case Campo="TG_DTFIM"          : Campo="TG_DTINI"
            Case Campo="TG_OPRELANALSINT"  : Campo="TG_DTFIM"
            Case Campo="YES" Or Campo="NO" : Campo="TG_EMPRESA"
          EndSwitch
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or 
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] = 13:
          Temp=False
          If Checa_TAG()
             Then Switch
                    Case Campo="TG_EMPRESA"       : Campo="TG_DESTINAT"
                    Case Campo="TG_DESTINAT"      : Campo="TG_DTINI"
                    Case Campo="TG_DTINI"         : Campo="TG_DTFIM"
                    Case Campo="TG_DTFIM"         : Campo="TG_OPRELANALSINT"
                    Case Campo="TG_OPRELANALSINT" : Campo="YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bibliot"
LimpAguarde()

VSDGEMPRESA = ""
VSDGDESTINAT= ""
VSDGDTINI  = BlankDate()
VSDGDTFIM  = BlankDate()

While True
  ShowDialog "Resumo CURTIMENTO" Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE"
  Key "F1","ENTER","ESC","TAB",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140
  @ 05,12   Height 13 Width 55

    Label  @ 00,00 "Empresa"  For "TG_EMPRESA"
    Accept @ 01,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_EMPRESA"    To VSDGEMPRESA
    Accept @ 01,09 Width 25 "A24" Picture "!*!" Tag "TG_NOMEMPRESA" To VSDGNOMEMP

    Label  @ 02,00 "Pessoa"  For "TG_DESTINAT"
    Accept @ 03,01 Width 07 "A04" Picture "[&,#][#*#]" Tag "TG_DESTINAT"   To VSDGDESTINAT
    Accept @ 03,09 Width 25 "A24" Picture "!*!" Tag "TG_NOMDEST"    To VSDGNOMDEST

    Label  @ 04,00 "Perˇodo Referente" For "TG_DTINI"
    Label  @ 05,00 "de" For "TG_DTINI"
    Accept @ 05,04 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI" To VSDGDTINI
    Label  @ 05,17 "at‚" For "TG_DTFIM"
    Accept @ 05,22 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM" To VSDGDTFIM

    Label  @ 06,00 "Op‡„o do Relat˘rio" For "TG_OPRELANALSINT"
    Accept @ 07,01 Width 04 "A1"  Picture "1,2" Tag "TG_OPRELANALSINT" To VSDGOPRELANALSINT
    Accept @ 07,06 Width 28 "A25"  Picture "!*!" Tag "TG_NOMOPRELANASINT" To VSDGNOMOPRELANALSINT

    Pushbutton @ 09,14 width 11 "~O~k"      OK     Default Value "Ok"  Tag "YES" To BottonValue
    Pushbutton @ 09,28 width 11 "~C~ancela" CANCEL                     Tag "NO"  To BottonValue

  EndDialog
  If Not RetVal Then QuitLoop EndIf

  DISPOSITIVO()
  If OK="" Then Loop EndIf

  AGUARDE("Aguarde, Gerando Relat˘rio")

  Tabela=Cria_Temp(PrivDir())
  Copy "\\base\\sistemas\\curtume\\RM_0100" Tabela
  Empty Tabela

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

  If IsEmpty(Tabela)
     Then MENSAGEM("N„o existem registros a processar")
          Delete Tabela
          Loop
  EndIf
  Processa()

  If VSDGOPRELANALSINT="1"
     Then IMPRIREL(Tabela,"R")
     Else IMPRIREL(Tabela,"1")
  EndIf
  Delete Tabela

EndWhile
ClearAll
Release Vars All
Release Procs All

