<?php
INCLUDE "./global/imp_pdf.inc";
//
$sNomeIdJan1 = 'iJan_RelCxa_Princ';
$sNomeIdJan2 = 'iJan_RelCxa_TxtVs';
$sCorBarraInf = '#E8E3CE';
$sEmpresaFan = SQLVarConfig('EMPRESA_NOME_FANTASIA');
$sTipoLocal = SQLVarConfig('NOME_LOCAIS_SVC');
$sTipoConsignado = SQLVarConfig('NOME_CONSIGNADOS');
$nQtdLocsT  = SQLVarConfig('QTD_LOCAIS_SVC')+0;
$nCodSeq_Comanda = SQLVarConfig('COMANDA_L_SEQCOD')+0;
$nTipoTrabCtl = SQLVarConfig('CONTROLE_DO_FAT_GERAL')+0;   // Tipo do controle de trabalho. 0=Por local , 1=Por comanda
$sData_Trabalho = SQLVarConfig('DATA_DE_TRABALHO');
$bMovimento_Gor = SQLVarConfig('MOVIMENTO_DE_GORJETA')+0;
$nFat_De_Deducao = SQLVarConfig('FAT_DE_DEDUCAO')+0;
$nPiz_Ent_Val = SQLVarConfig('PIZ_ENT_VAL')+0;
$nMot_P_V_P   = SQLVarConfig('COM_MOT_P_V')+0;
$bDir_Restrito = CondPrivilegio(@$s_DireitosLst, $sNomeAcesso, 'R');
$bDir_Consult = CondPrivilegio(@$s_DireitosLst, $sNomeAcesso, 'C');
$sTxt_Conf = '';
//
$sPulaLinha = CHR(13).CHR(10);
//
//  ** TELA QUE MONTA O RELATÓRIO **
If ( $sSubModulo=="RELATORIO" ) {
    // Criar objeto Janela
    $oJanelaPrinc = New R_Janela();
    $oJanelaPrinc->sIdObj  = $sNomeIdJan2; 
    $oJanelaPrinc->nTop    = 2;
    $oJanelaPrinc->nLeft   = 5;
    $oJanelaPrinc->nWidth  = 550;   // Largura
    $oJanelaPrinc->nHeight = 0;     // Altura
	$oJanelaPrinc->nLeft   += ($nTela_W/2)-($oJanelaPrinc->nWidth/2);
    $oJanelaPrinc->sTitulo = 'Relatório';
	$oJanelaPrinc->sJavOnClick  = "document.getElementById('in_RelCxaV_Tecla').focus();";
	//
	$sJavaTravarJ = "document.getElementById('".$oJanelaPrinc->sIdObj."_Travar').style.visibility='visible'; ";
	$oJanelaPrinc->sJavOnClickF =
       $sJavaTravarJ.
	   "document.forms.fmPRelCxa_R.acao.value='FECHAR';".
       "document.forms.fmPRelCxa_R.submit();";
	//
	$aV_Sessao = @$aSessao[$sNomeAcesso.'_S'];
    //
    // Montar o relatório
    If ( $sAcao=="MONTAR" ) {
       //
       SET_TIME_LIMIT(120);  // Tempo limite de 2 minutos
       //
	   $sSQLParm = '';
	   $sSQLParm_1 = '';
	   $sSQLParm_2 = '';
	   $d_Fil_DataIni = ConvertDataSTR( ConvertDataBRUS($aV_Sessao['Fil_DataIni']) );
	   $d_Fil_DataFim = ConvertDataSTR( ConvertDataBRUS($aV_Sessao['Fil_DataFim']) );
	   // DATA INICIAL e FINAL
	   //If ($d_Fil_DataIni==0) { $d_Fil_DataIni=TIME()        ; $aV_Sessao['Fil_DataIni']=DATE("d/m/Y"); }
	   //If ($d_Fil_DataFim==0) { $d_Fil_DataFim=$d_Fil_DataIni; $aV_Sessao['Fil_DataFim']=$aV_Sessao['Fil_DataIni']; }
	   $sSQLParm_2 .=  ' FAT_SQCAIXA > 0';  // MOSTRAR SOMENTE OS CAIXAS QUE FORAM RECEBIDOS
       //
	   If ($aV_Sessao['NumSeqCaixa']==0) {
	      // Comparando data de abertura do Caixa
	      //$sSQLParm .= '(MVC_DATAMOV>="'.DATE('Y-m-d',$d_Fil_DataIni).'" AND MVC_DATAMOV<"'.DATE('Y-m-d',$d_Fil_DataFim+(24*60*60)).'")';
	      If ($d_Fil_DataIni>0) {
	          If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
			  If (STRLEN($sSQLParm_1)>0) { $sSQLParm_1 .= ' AND '; }
			  If (STRLEN($sSQLParm_2)>0) { $sSQLParm_2 .= ' AND '; }
	          //$sSQLParm .= '(MVC_DATAMOV>="'.DATE('Y-m-d',$d_Fil_DataIni).'")';
	          $sSQLParm .= '(MVC_DATAFIC>="'.DATE('Y-m-d',$d_Fil_DataIni).'")';                  // Comparando (Inicial)
			  //
			  $sSQLParm_1 .= '(CTR_DTAFIC>="'.DATE('Y-m-d',$d_Fil_DataIni).'")';                // USADO SOMENTE NO SELECT RECEBIMENTOS DE CLIENTE
	          //
			  $sSQLParm_2 .= '(FAT_DATAINI>="'.DATE('Y-m-d',$d_Fil_DataIni).'")';                  // USADO SOMENTE NO SELECT CANCELADOS
			  
		  }
	      If ($d_Fil_DataFim>0) {
	          If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
			  If (STRLEN($sSQLParm_1)>0) { $sSQLParm_1 .= ' AND '; }
			  If (STRLEN($sSQLParm_2)>0) { $sSQLParm_2 .= ' AND '; }
	          //$sSQLParm .= '(MVC_DATAMOV<"'.DATE('Y-m-d',$d_Fil_DataFim+(24*60*60)).'")';
	          $sSQLParm .= '(MVC_DATAFIC<="'.DATE('Y-m-d',$d_Fil_DataFim).'")';                  // Comparando (Final)
			  //
			  $sSQLParm_1 .= '(CTR_DTAFIC<="'.DATE('Y-m-d',$d_Fil_DataFim).'")';                // USADO SOMENTE NO SELECT RECEBIMENTOS DE CLIENTE
			  //
			  $sSQLParm_2 .= '(FAT_DATAINI<="'.DATE('Y-m-d',$d_Fil_DataFim).'")';                  // USADO SOMENTE NO SELECT CANCELADOS
          }
	   } Else {
	      // Comparar só o codigo de sequencia do caixa
	      $sSQLParm .= '(MVC_SQCAIXA='.$aV_Sessao['NumSeqCaixa'].')';
		  // colocado somente para recebimentos de clientes
		  If ($d_Fil_DataIni>0) {
	         If (STRLEN($sSQLParm_1)>0) { $sSQLParm_1 .= ' AND '; }
	         $sSQLParm_1 .= '(CTR_DTAFIC>="'.DATE('Y-m-d',$d_Fil_DataIni).'")';                // USADO SOMENTE NO SELECT RECEBIMENTOS DE CLIENTE 
	      }
		  If ($d_Fil_DataFim>0) {
	         If (STRLEN($sSQLParm_1)>0) { $sSQLParm_1 .= ' AND '; }
	         $sSQLParm_1 .= '(CTR_DTAFIC<="'.DATE('Y-m-d',$d_Fil_DataFim).'")';                // USADO SOMENTE NO SELECT RECEBIMENTOS DE CLIENTE
		  }
		  //
		  If (STRLEN($sSQLParm_1)>0) { $sSQLParm_1 .= ' AND '; }
		  $sSQLParm_1 .= '( (CTR_SEQCAI_BAI='.$aV_Sessao['NumSeqCaixa'].') OR (CTR_SEQCAI_INC='.$aV_Sessao['NumSeqCaixa'].') )';   // USADO SOMENTE NO SELECT RECEBIMENTOS DE CLIENTE
	   }
	   //
	   $sPeriodo = '';
	   If ($d_Fil_DataIni==0 && $d_Fil_DataFim==0) {
	      $sPeriodo = '** TODOS **';
	   } ElseIf ($d_Fil_DataIni>0 && $d_Fil_DataFim==0) {
	      $sPeriodo = 'Apartir de '.$aV_Sessao['Fil_DataIni'];
	   } ElseIf ($d_Fil_DataIni==0 && $d_Fil_DataFim>0) {
	      $sPeriodo = 'Ate '.$aV_Sessao['Fil_DataFim'];
	   } Else {
	      $sPeriodo = $aV_Sessao['Fil_DataIni'].' ate '.$aV_Sessao['Fil_DataFim'];
	   }
	   //
	   // Cabeçalho do relatorio CSV
       $sCsv_Rel =
          '';
	   //
	   // Cabeçalho do relatorio
       $sTxt_Rel =
           $sPulaLinha.
           //AlinhaStr($sEmpresaFan,1).$sPulaLinha.
           //AlinhaStr("** RELATORIO DE CAIXA **",1).$sPulaLinha.
           //'Emissao.: '.DATE('d/m/Y H:i:s').$sPulaLinha.
           //'Operador: '.SUBSTR($R_CadFuncionario->FUN_NOMECP,0,30).$sPulaLinha.
		   //($aV_Sessao['NumSeqCaixa']==0 ?
           AlinhaStr('Empresa..: '.$Dados_Empresa['EMP_FANTAS'],0,40).$sPulaLinha.
		   AlinhaStr('Relatorio: RELATORIO DE CAIXA',0,40).$sPulaLinha.
		   AlinhaStr('Emissao..: '.DATE('d/m/Y H:i:s'),0,40).$sPulaLinha.
		   AlinhaStr('Operador.: '.$R_CadFuncionario->FUN_NOMECP,0,40).$sPulaLinha.
		   'Periodo.: '.$sPeriodo.$sPulaLinha.
		   //'' : '').
		   ($aV_Sessao['NumSeqCaixa']>0 ?
		     'Somente do Caixa: '.
			 Str_Zero($aV_Sessao['NumSeqCaixa'],6).
		     $sPulaLinha
           : '').
		   ($aV_Sessao['Modalidades'] ? ' * Apuração de Caixa'.$sPulaLinha : '').
		   ($aV_Sessao['VendaPorTip'] ? ' * Resumo por Tipo de Venda'.$sPulaLinha : '').
		   ($aV_Sessao['Receb_Clien'] ? ' * Detalhamento dos receb. de cliente'.$sPulaLinha : '').
		   ($aV_Sessao['GrupoProdut'] ? ' * Listagem de Vendas por Produto'.$sPulaLinha : '').
		   ($aV_Sessao['Lst_RcLocAn'] ? ' * Lista analítica de comandas recebidas'.$sPulaLinha : '').
		   ($aV_Sessao['Com_NaoUt']   ? ' * Listar '.STRTOLOWER($sTipoLocal).'s nao utilizadas.'.$sPulaLinha : '').
           STR_REPEAT("=",40).$sPulaLinha.$sPulaLinha.
           "";
	   //
	   // Por modalidades e Valores do caixa
	   If ($aV_Sessao['Modalidades'] OR $aV_Sessao['ResumoTotalCx'] ) {
	      $nTotalBruto = 0;
          //
          $sCsv_Tmp =
             ";APURAÇÃO DE CAIXA;".
             $sPulaLinha;
          //
          $sTxt_Tmp =
			 STR_REPEAT("=",40).$sPulaLinha.
		     AlinhaStr("*** Apuracao de Caixa ***",1).$sPulaLinha.
			 STR_REPEAT("=",40).$sPulaLinha.			   
			 $sPulaLinha.
			 "";
		  //
		  // >> conferencia de caixa // NA CONFERÊNCIA NÃO USAR A MODALIDADE DE CAIXA aCadMov da conflito nas modalidades 
		  $L_Rows_C = MYSQL_QUERY("SELECT * FROM cad_modalidade_pag ORDER BY MPG_N_ORDEM ASC;") or die(MYSQL_ERROR());
		  $aCadMov_C = ARRAY(); //USADO NA CONFERENCIA DE CAIXA
		  While ( $L_Row = MYSQL_FETCH_ARRAY($L_Rows_C) ) { //USADO NA CONFERENCIA DE CAIXA
		     $aCadMov_C[$L_Row['MPG_CODIGOI']] = $L_Row;
		  }
		  $aCadMov_C[999] = ARRAY( 'MPG_CODIGOI'=>999, 'MPG_DESCRIC'=>'Receb. Antecipados' );
		  // >> Modalidades
		  $L_Rows = MYSQL_QUERY("SELECT * FROM cad_modalidade_pag ORDER BY MPG_N_ORDEM ASC;") or die(MYSQL_ERROR());
		  $aCadMov = ARRAY();
		  While ( $L_Row = MYSQL_FETCH_ARRAY($L_Rows) ) {
		     $aCadMov[] = $L_Row;
		  }
		  $aCadMov[] = ARRAY( 'MPG_CODIGOI'=>999, 'MPG_DESCRIC'=>'Receb. Antecipados' );
		  //
		  // >> Caixas
		  $nValorTro = 0;   // Troco da abertura de caixa
		  $nValorEnt = 0;   // Créditos
		  $nValorSai = 0;   // Sangrias ( Débitos )
		  $nValorPrz = 0;   // Á prazo
		  $nValorRcP = 0;   // Recebimento á prazo
		  $nSeqCaixa = 0;   // Sequencia de caixa
	      $nQtdCaixa = 0;   // Quant. de caixas
		  //for($i = 0; $i < count($aCadMov); $i++){
		  //    ${'nValorMod_'.$i} = 0;          //Conferência de Caixa
		  //}     
		  $aMovPagTot = ARRAY( 0=>0 );
		  //CALCULO FATOR DE DEDUCAO
		  $bFat_Deducao = ($nFat_De_Deducao>0);
		  //
		  $sPHP_FimdoBlk1=
            '$sData_ReaA = "";'.
            'If ( DATE("d/m/Y",$aDadosCaixa[7]) <> DATE("d/m/Y",$aDadosCaixa[2]) ) {'.
               '$sData_ReaA = " Data Real: ".DATE("d/m/Y",$aDadosCaixa[2]).$sPulaLinha;'.
            '}'.
            '$sData_ReaF = "";'.
            'If ( DATE("d/m/Y",$aDadosCaixa[8]) <> DATE("d/m/Y",$aDadosCaixa[3]) ) {'.
                '$sData_ReaF = " Data Real: ".DATE("d/m/Y",$aDadosCaixa[3]).$sPulaLinha;'.
            '}'.
            '$sTxt_Tmp .='.
              'AlinhaStr("Caixa: ".Str_Zero($nSeqCaixa,5),0,15).'.
		      'AlinhaStr("Ope: ".$L_Row_Ant->FUN_NOMECP,2,25).$sPulaLinha.'.
		      '"Abertura..: ".DATE("d/m/Y",$aDadosCaixa[7])." - ".DATE("H:i",$aDadosCaixa[2]).$sPulaLinha.'.
                            '$sData_ReaA.'.
              '"Fechamento: ".($aDadosCaixa[3]==0 ? "(Nao Fechado)" : DATE("d/m/Y",$aDadosCaixa[8])." - ".DATE("H:i",$aDadosCaixa[3]) ).$sPulaLinha.'.
                            '$sData_ReaF.'. 
              '$sPulaLinha;'.
            '$sCsv_Tmp .='.
              '"Caixa: ".Str_Zero($nSeqCaixa,5).";".'.
              '"Operador: ".$L_Row_Ant->FUN_NOMECP.";".'.
              '"Abertura:;".DATE("d/m/Y",$aDadosCaixa[7])." - ".DATE("H:i",$aDadosCaixa[2]).";".'.
              '"Fechamento:;".($aDadosCaixa[3]==0 ? "(Nao Fechado)" : DATE("d/m/Y",$aDadosCaixa[8])." - ".DATE("H:i",$aDadosCaixa[3]) ).";".'.
              '$sPulaLinha;'.
            '';
		  //
		  $sPHP_FimdoBlk2=
            '$nValorTotalLiqX = ($nValorTroX+$nTotalBrutoX+$nValorEntX+$nValorRcPX)-($nValorSaiX+$nValorPrzX);'.
            '$nValorTotalDedX = (($nValorTroX+$nTotalBrutoX+$nValorEntX+$nValorRcPX)-($nValorSaiX+$nValorPrzX))*$nFat_De_Deducao;'.
            '$nValorTotalFimX = (($nValorTroX+$nTotalBrutoX+$nValorEntX+$nValorRcPX))-(($nValorTroX+$nTotalBrutoX+$nValorEntX+$nValorRcPX)-($nValorSaiX+$nValorPrzX))* $nFat_De_Deducao;'.
            '$sTxt_Tmp .='.
			  'STR_REPEAT("-",40).$sPulaLinha.'.
              'AlinhaStr("Total Bruto"      ,0,26,".").".:"   .AlinhaStr(FormatoMoeda($nTotalBrutoX),2,12).$sPulaLinha.'.
			  '$sPulaLinha.'.
              'AlinhaStr("Abertura do Caixa"      ,0,23,".").".(+):".AlinhaStr(FormatoMoeda($nValorTroX),2,12).$sPulaLinha.'.
              'AlinhaStr("Total Bruto"            ,0,23,".").".(+):".AlinhaStr(FormatoMoeda($nTotalBrutoX),2,12).$sPulaLinha.'.
              'AlinhaStr("Saidas do Caixa"        ,0,23,".").".(-):".AlinhaStr(FormatoMoeda($nValorSaiX),2,12).$sPulaLinha.'.
              'AlinhaStr("Entradas do Caixa"      ,0,23,".").".(+):".AlinhaStr(FormatoMoeda($nValorEntX),2,12).$sPulaLinha.'.
              'AlinhaStr("Vendas a prazo"         ,0,23,".").".(-):".AlinhaStr(FormatoMoeda($nValorPrzX),2,12).$sPulaLinha.'.
              'AlinhaStr("Recebimentos de cliente",0,23,".").".(+):".AlinhaStr(FormatoMoeda($nValorRcPX),2,12).$sPulaLinha.'.
			  'STR_REPEAT("-",40).$sPulaLinha.'.
              'AlinhaStr("Total liquido",0,26,".").".:".AlinhaStr(FormatoMoeda( $nValorTotalLiqX ),2,12).$sPulaLinha.'.
			  ( $bFat_Deducao ?
			    'AlinhaStr("Deducao"        ,0,23,".").".(-):".AlinhaStr(FormatoMoeda( $nValorTotalDedX ),2,12).$sPulaLinha.'.
			    'STR_REPEAT("-",40).$sPulaLinha.'.
			    'AlinhaStr("Total"        ,0,23,".")."....:".AlinhaStr(FormatoMoeda( $nValorTotalFimX  ),2,12).$sPulaLinha.'
			  :
			    ''
			  ).
			  '$sPulaLinha.$sPulaLinha;'.
            '$sCsv_Tmp .='.
              //'$sPulaLinha.'.
              '"Total Bruto;".'.             '"R$  ".FormatoMoeda($nTotalBrutoX).";".$sPulaLinha.'.
              '$sPulaLinha.'.
              '"Abertura do caixa;".'.       '"R$  ".FormatoMoeda($nValorTroX).";".$sPulaLinha.'.
              '"Total Bruto;".'.             '"R$  ".FormatoMoeda($nTotalBrutoX).";".$sPulaLinha.'.
              '"Saidas do Caixa;".'.         '"-R$ ".FormatoMoeda($nValorSaiX).";".$sPulaLinha.'.
              '"Entradas do Caixa;".'.       '"R$  ".FormatoMoeda($nValorEntX).";".$sPulaLinha.'.
              '"Vendas á prazo;".'.          '"-R$ ".FormatoMoeda($nValorPrzX).";".$sPulaLinha.'.
              '"Recebimentos de clientes;".'.'"R$  ".FormatoMoeda($nValorRcPX).";".$sPulaLinha.'.
              '$sPulaLinha.'.
              '"Total liquido;".'.           '"R$  ".FormatoMoeda($nValorTotalLiqX).";".$sPulaLinha.'.
			  ( $bFat_Deducao ?
              '"Dedução;".'.                 '"-R$ ".FormatoMoeda($nValorTotalDedX).";".$sPulaLinha.'.
              '$sPulaLinha.'.
              '"Total;".'.                   '"R$  ".FormatoMoeda($nValorTotalFimX).";".$sPulaLinha.'.
              '' : '' ).
              '$sPulaLinha;'.
            '';
		  //
		  $sPHP_FimdoBlk3=
               'FOR ($nRegCad=0;$nRegCad<100;$nRegCad++) {'.
                  'If ( ! ISSET($aCadMov[$nRegCad]) ) { BREAK; }'.
                  '$aRCadMov = $aCadMov[$nRegCad];'.
                  '$nSaldoTmp = @$aMovModalid[$aRCadMov["MPG_CODIGOI"]]+0;'.
                  'If ( $nSaldoTmp>0 ) {'.
                     'If ($aRCadMov["MPG_CODIGOI"]>0) {'.
					     'If ( ! ISSET($aMovPagTot[$aRCadMov["MPG_CODIGOI"]]) ) { $aMovPagTot[$aRCadMov["MPG_CODIGOI"]]=0; }'.
				         '$aMovPagTot[$aRCadMov["MPG_CODIGOI"]] += $nSaldoTmp;'.
                         '$nTotalBruto += $nSaldoTmp;'.
                         '$nTotalBrutoX += $nSaldoTmp;'.
						 'If ( @$aRCadMov["MPG_FIN_CTR"] ) {'.
                             '$nValorPrz  += $nSaldoTmp;'.
                             '$nValorPrzX += $nSaldoTmp;'.
						 '}'.
                         '$sTxt_Tmp .='.
               	            'AlinhaStr($aRCadMov["MPG_DESCRIC"],0,23,".").".(+):".'.
               	            'AlinhaStr(FormatoMoeda($nSaldoTmp),2,12).'.
               	            '$sPulaLinha;'.
                         '$sCsv_Tmp .='.
               	            '$aRCadMov["MPG_DESCRIC"].":;".'.
               	            '"R$ ".FormatoMoeda($nSaldoTmp).";".'.
               	            '$sPulaLinha;'.
               	     '}'.
                  '}'.
               '}'.
               '$nSaldoTmp = @$aMovModalid[0]+0;'.
               'If ($nSaldoTmp>0) {'.
                   '$nTotalBruto -= $nSaldoTmp;'.
                   '$nTotalBrutoX -= $nSaldoTmp;'.
				   '$aMovPagTot[0] += $nSaldoTmp;'.
                   '$sTxt_Tmp .='.
                      'AlinhaStr("Troco",0,23,".").".(-):".'.
                      'AlinhaStr(FormatoMoeda($nSaldoTmp),2,12).'.
                      '$sPulaLinha;'.
                   '$sCsv_Tmp .='.
               	      '"Troco:;".'.
               	      '"-R$ ".FormatoMoeda($nSaldoTmp).";".'.
               	      '$sPulaLinha;'.
			   '}';
		  //
		  $sPHP_FimdoBlk4 =
		     'if ( $nTot_DigC>0){'.
			    '$nTot_GeralC = ($nTot_DigC-(($nValorTroX+$nTotalBrutoX+$nValorEntX+$nValorRcPX)-($nValorSaiX+$nValorPrzX)));'.
			    'If ($nTot_GeralC>0) {'.
			       '$sDesc_TotalC = "Sobra";'.
			    '} ElseIf($nTot_GeralC<0) {'.
                   '$sDesc_TotalC = "Falta";'.
			    '} Else {'.
				   '$sDesc_TotalC = "Valor Conferido";'.
			    '}'.
			    '$sTxt_Tmp .='.
			       //'$sPulaLinha.'.
			       'AlinhaStr("================================",1).$sPulaLinha.'.
		           'AlinhaStr("***   Conferencia de Caixa   ***",1).$sPulaLinha.'.
				   'AlinhaStr("***     Valores Digitados    ***",1).$sPulaLinha.'.
		           'AlinhaStr("================================",1).$sPulaLinha.'.
		           '$sPulaLinha;'. 
                '$sCsv_Tmp .='.
               	   '";Conferência de Caixa / Valores Digitados;".'.
               	   '$sPulaLinha;'.
			    'ForEach( $aCadMov_C As $nIndice=>$aCadMov_Linha ) {'.
			      'If( @$aValor_Mod[$nIndice] >0 ){'.
			         '$sTxt_Tmp .='.
				       'AlinhaStr($aCadMov_Linha["MPG_DESCRIC"],0,26,".").".:".'.
			           //'AlinhaStr(FormatoMoeda(${"nValorModC_".$nIndice}),2,12).'.
			           'AlinhaStr(FormatoMoeda($aValor_Mod[$nIndice]),2,12).'.
				       '$sPulaLinha;'.
                     '$sCsv_Tmp .='.
               	        '$aCadMov_Linha["MPG_DESCRIC"].":;".'.
                        '"R$ ".FormatoMoeda($aValor_Mod[$nIndice]).";".'.
               	        '$sPulaLinha;'.
				  '}'.
				'}'.
				'$sTxt_Tmp .='.
				   '$sPulaLinha.'.
				   'AlinhaStr("Total Digitado",0,26,".").".:".'.
				   'AlinhaStr(FormatoMoeda($nTot_DigC),2,12).'.
				   '$sPulaLinha.'.
				   'AlinhaStr("Total liquido",0,26,".").".:".'.
				   'AlinhaStr(FormatoMoeda( ($nValorTroX+$nTotalBrutoX+$nValorEntX+$nValorRcPX)-($nValorSaiX+$nValorPrzX)),2,12).'.
				   '$sPulaLinha.'.
				   'AlinhaStr("----------------------------------------",1).'.
				   '$sPulaLinha.'.
				   'AlinhaStr($sDesc_TotalC,0,26,".").".:".'.
				   'AlinhaStr(FormatoMoeda($nTot_GeralC),2,12).'.
				   '$sPulaLinha.'.
				   '$sPulaLinha.'.
			       '$sPulaLinha;'.
                '$sCsv_Tmp .='.
               	   '$sPulaLinha.'.
               	   '"Total Digitado:;".'.
                   '"R$ ".FormatoMoeda($nTot_DigC).";".'.
               	   '$sPulaLinha.'.
               	   '"Total liquido:;".'.
                   '"R$ ".FormatoMoeda( ($nValorTroX+$nTotalBrutoX+$nValorEntX+$nValorRcPX)-($nValorSaiX+$nValorPrzX) ).";".'.
               	   '$sPulaLinha.'.
               	   '$sDesc_TotalC.":;".'.
                   '"R$ ".FormatoMoeda($nTot_GeralC).";".'.
               	   '$sPulaLinha.'.
               	   '$sPulaLinha.'.
               	   '$sPulaLinha;'.
			 '}'.
             '';
		  //
		  $sPHP_FimdoBlk5 =
            '$sSQLQuery = "'.
              'SELECT '.
                 'ftg.FAT_DESPESA, ftg.FAT_OBSERV1, '.
                 'cli.CLI_CODIGOI, cli.CLI_NOMECP '.
              'FROM      fat_geral   AS ftg '.
              'LEFT JOIN cad_cliente AS cli  ON  cli.CLI_CODIGOI = ftg.FAT_CLIENTE '.
              'WHERE '.
                'FAT_SQCAIXA = ".$nSeqCaixa." '.
                'AND FAT_CAN_DAT=0 '.
                'AND FAT_DESPESA>0 '.
              'ORDER BY FAT_DAT_INI ASC'.
              ';";'.
            '$r_Fat_Geral = MYSQL_QUERY($sSQLQuery) or die(MYSQL_ERROR()." ".$sSQLQuery);'.
            '$sCsv_Tmp2 = "";'.
            '$sTxt_Tmp2 = "";'.
            '$nTotalDespesas = 0;'.
            'While ( $a_Fat_Geral = MYSQL_FETCH_ARRAY($r_Fat_Geral,MYSQL_ASSOC) ) {'.
               '$nTotalDespesas += $a_Fat_Geral["FAT_DESPESA"]; '.
               '$sTxt_Tmp2 .= '.
                 'AlinhaStr( $a_Fat_Geral["CLI_NOMECP"],0,31,".").":".'.
                 'AlinhaStr( FormatoMoeda($a_Fat_Geral["FAT_DESPESA"]),2,8).'.
                 '$sPulaLinha.'.
                 'AlinhaStr( $a_Fat_Geral["FAT_OBSERV1"],0).'.
                 '$sPulaLinha.'.
                 'AlinhaStr("----------------------------------------",1).'.
                 '$sPulaLinha;'.
               '$sCsv_Tmp2 .='.
                 '$a_Fat_Geral["CLI_NOMECP"].":;".'.
                 '"-R$ ".FormatoMoeda($a_Fat_Geral["FAT_DESPESA"]).";".'.
                 '$a_Fat_Geral["FAT_OBSERV1"].";".'.
                 '$sPulaLinha;'.
            "}".
            'If ( ! EMPTY($sTxt_Tmp2) ) { '.
               '$sTxt_Tmp .='.
                 'AlinhaStr("*** Despesas de '.$sTipoConsignado.' ***",1).'.
                 '$sPulaLinha.'.
                 '$sPulaLinha.'.
                 '$sTxt_Tmp2.'.
                 'AlinhaStr( "TOTAL DAS DESPESAS",0,31,".").":".'.
                 'AlinhaStr( FormatoMoeda($nTotalDespesas),2,8).'.
                 '$sPulaLinha.'.
                 '$sPulaLinha.'.
                 '$sPulaLinha.'.
                 '$sPulaLinha;'.
               '$sCsv_Tmp .='.
                 '$sPulaLinha.'.
                 '";Despesas de '.$sTipoConsignado.';".'.
                 '$sPulaLinha.'.
                 '$sCsv_Tmp2.'.
                 '$sPulaLinha.'.
                 '"TOTAL DAS DESPESAS:;".'.
                 '"-R$ ".FormatoMoeda($nTotalDespesas).";".'.
                 '$sPulaLinha;'.
            "}".
            '';
		  //
          $sSQLQuery =
            'SELECT '.
              'cxa.*,'.
              'fun.FUN_NOMECP, fun.FUN_CODIGO '.
            'FROM      mov_caixa        AS  cxa '.
            'LEFT JOIN cad_funcionario  AS  fun  ON  fun.FUN_CODIGO = cxa.MVC_COD_FUN '.
            'WHERE '.
              'cxa.MVC_SQCAIXA>0 '.
              (STRLEN($sSQLParm)>0 ? ' AND '.$sSQLParm : '').' '.
            'ORDER BY MVC_SQCAIXA DESC, MVC_TIPOMOV ASC'.
            ';';
	      $L_Rows = MYSQL_QUERY($sSQLQuery) or die(MYSQL_ERROR().' '.$sSQLQuery);
		  $bIniciarCalc = False;
		  $nCaixaCnt = 0;
	      $a_Mat_His_Deb = ARRAY();
		  $a_Mat_His_Deb = ARRAY();
		  While ( $L_Row = MYSQL_FETCH_OBJECT($L_Rows) ) {
		     If ($nSeqCaixa<>$L_Row->MVC_SQCAIXA) {
			    If ($bIniciarCalc) {
			       If ($nCaixaCnt>0) {
                      $nTotalBrutoX = 0;
				      $aDadosCaixa = PuxarDadosCaixa($nSeqCaixa);
				      $aMovModalid = $aDadosCaixa[5];
					  EVAL($sPHP_FimdoBlk1);
				      EVAL($sPHP_FimdoBlk3);
				      EVAL($sPHP_FimdoBlk2);
					  EVAL($sPHP_FimdoBlk4);
					  EVAL($sPHP_FimdoBlk5);
				   }
				}
				//echo "<script>alert('".$sPHP_FimdoBlk4."');</script>";
				$nCaixaCnt++;
				$nValorTroX = 0;
				$nValorEntX = 0;
				$nValorSaiX = 0;
				$nValorPrzX = 0;
				$nValorRcPX = 0;
				$nTot_DigC = 0;  
                $aValor_Mod= ARRAY();
				//for($i = 0; $i < count($aCadMov); $i++){
		        //  ${'nValorModC_'.$i} = 0;          //Conferência de Caixa
		        //}     
				$L_Row_Ant = $L_Row;
			    $nSeqCaixa=$L_Row->MVC_SQCAIXA;
			    $bIniciarCalc = False;
			 }
		     If ($L_Row->MVC_TIPOMOV==0) {           // Abriu o Caixa
			    $bIniciarCalc = True;
				$nQtdCaixa++;
		        $nValorTro += $L_Row->MVC_VALORMV;
		        $nValorTroX += $L_Row->MVC_VALORMV;
		     } ElseIf ($L_Row->MVC_TIPOMOV==2) {     // Sangria (Debito)
			    If ($bIniciarCalc) {
		           $nValorSai += $L_Row->MVC_VALORMV;
					  $nValorSaiX += $L_Row->MVC_VALORMV;
		           $nValor = $L_Row->MVC_VALORMV;
				
				}
		     } ElseIf ($L_Row->MVC_TIPOMOV==3) {     // Entrada (Crédito)
			    If ($bIniciarCalc) {
		           $nValorEnt += $L_Row->MVC_VALORMV;
		           $nValorEntX += $L_Row->MVC_VALORMV;
				}
		     } ElseIf ($L_Row->MVC_TIPOMOV==4) {     // Recebimento á Prazo
			    If ($bIniciarCalc) {
		           $nValorRcP += $L_Row->MVC_VALORMV;
		           $nValorRcPX += $L_Row->MVC_VALORMV;
				}
			 } ElseIf ($L_Row->MVC_TIPOMOV==5) {     // Conferência de Caixa
			       If ($bIniciarCalc) {
				      $nCod_Mod = $L_Row->MVC_PARAMET+0;
					  @$aValor_Mod[$nCod_Mod] += $L_Row->MVC_VALORMV;
				      $nTot_DigC +=$L_Row->MVC_VALORMV;
					  
				   }	   
			 
			 }
		  }
          If ($nQtdCaixa>0 && $bIniciarCalc) {
             $nTotalBrutoX = 0;
			 $aDadosCaixa = PuxarDadosCaixa($nSeqCaixa);
			 $aMovModalid = $aDadosCaixa[5];
             EVAL($sPHP_FimdoBlk1);
             EVAL($sPHP_FimdoBlk3);
             EVAL($sPHP_FimdoBlk2);
			 EVAL($sPHP_FimdoBlk4);
			 EVAL($sPHP_FimdoBlk5);
          }
		  //
          If ($nQtdCaixa>1 && $aV_Sessao['ResumoTotalCx'] ) {
		     //
             $sTxt_Tot =
                AlinhaStr("*** RESUMO TOTAL DOS CAIXAS ***",1).$sPulaLinha.$sPulaLinha;
             $sCsv_Tot =
                $sPulaLinha.$sPulaLinha.
                ";RESUMO TOTAL DOS CAIXAS;".
                $sPulaLinha;
			 //
             For ($nCRegMov=0; $nCRegMov<100; $nCRegMov++) {
			    If ( ! ISSET($aCadMov[$nCRegMov]) ) { BREAK; }
		        $L_Row = $aCadMov[$nCRegMov];
		        If ( (@$aMovPagTot[$L_Row['MPG_CODIGOI']]+0)>0 ) {
	               $sTxt_Tot .=
			   	     AlinhaStr($L_Row['MPG_DESCRIC'],0,23,'.').'.(+):'.
			   	     AlinhaStr(FormatoMoeda($aMovPagTot[$L_Row['MPG_CODIGOI']]),2,12).
			   	     $sPulaLinha.
			   	     '';
                   $sCsv_Tot .=
                     $L_Row['MPG_DESCRIC'].":;".
                     "R$ ".FormatoMoeda($aMovPagTot[$L_Row['MPG_CODIGOI']]).";".
                     $sPulaLinha;
			    }
		     }
             If ( (@$aMovPagTot[0]+0)>0 ) {
                $sTxt_Tot .=
                  AlinhaStr('Troco',0,23,'.').'.(-):'.
                  AlinhaStr(FormatoMoeda($aMovPagTot[0]),2,12).
                  $sPulaLinha.
                  '';
                $sCsv_Tot .=
                  "Troco:;".
                  "R$ ".FormatoMoeda(0+@$aMovPagTot[$L_Row['MPG_CODIGOI']]).";".
                  $sPulaLinha;
             }
             //
             $nValorTotalLiq = ($nValorTro+$nTotalBruto+$nValorEnt+$nValorRcP)-($nValorSai+$nValorPrz);
             $nValorTotalDed = (($nValorTro+$nTotalBruto+$nValorEnt+$nValorRcP)-($nValorSai+$nValorPrz))*$nFat_De_Deducao;
             $nValorTotalFim = (($nValorTro+$nTotalBruto+$nValorEnt+$nValorRcP))-(($nValorTro+$nTotalBruto+$nValorEnt+$nValorRcP)-($nValorSai+$nValorPrz))* $nFat_De_Deducao;
			 //
			 $sTxt_Tot .=
			    STR_REPEAT("-",40).$sPulaLinha.
                AlinhaStr('Total Bruto',0,26,'.').'.:'.AlinhaStr(FormatoMoeda($nTotalBruto),2,12).$sPulaLinha.
				$sPulaLinha.
                AlinhaStr("Aberturas dos Caixas"   ,0,23,".").".(+):".AlinhaStr(FormatoMoeda($nValorTro),2,12).$sPulaLinha.
                AlinhaStr('Total Bruto'            ,0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda($nTotalBruto),2,12).$sPulaLinha.
                AlinhaStr("Saidas dos Caixas"      ,0,23,".").".(-):".AlinhaStr(FormatoMoeda($nValorSai),2,12).$sPulaLinha.
                AlinhaStr("Entradas dos Caixas"    ,0,23,".").".(+):".AlinhaStr(FormatoMoeda($nValorEnt),2,12).$sPulaLinha.
                AlinhaStr("Vendas a prazo"         ,0,23,".").".(-):".AlinhaStr(FormatoMoeda($nValorPrz),2,12).$sPulaLinha.
                AlinhaStr("Recebimentos de cliente",0,23,".").".(+):".AlinhaStr(FormatoMoeda($nValorRcP),2,12).$sPulaLinha.
			    STR_REPEAT("-",40).$sPulaLinha.
                AlinhaStr("Total liquido",0,26,".").".:".AlinhaStr(FormatoMoeda( $nValorTotalLiq ),2,12).$sPulaLinha.
				( $bFat_Deducao ?
			     AlinhaStr("Deducao"        ,0,23,".").".(-):".AlinhaStr(FormatoMoeda($nValorTotalDed),2,12).$sPulaLinha.
				 STR_REPEAT("-",40).$sPulaLinha.
				 AlinhaStr("Total"        ,0,23,".")."....:".AlinhaStr(FormatoMoeda($nValorTotalFim),2,12).$sPulaLinha
				: '' ).
				'';
             //
             $sCsv_Tot .=
               "Total Bruto:;R$ ".FormatoMoeda($nTotalBruto).";".$sPulaLinha.
               $sPulaLinha.
               "Aberturas dos caixas:;R$ ".FormatoMoeda($nValorTro).";".$sPulaLinha.
               "Total Bruto;R$ ".FormatoMoeda($nTotalBruto).";".$sPulaLinha.
               "Saidas do Caixa;-R$ ".FormatoMoeda($nValorSai).";".$sPulaLinha.
               "Entradas do Caixa;R$ ".FormatoMoeda($nValorEnt).";".$sPulaLinha.
               "Vendas á prazo;-R$ ".FormatoMoeda($nValorPrz).";".$sPulaLinha.
               "Recebimentos de clientes;R$ ".FormatoMoeda($nValorRcP).";".$sPulaLinha.
               $sPulaLinha.
               "Total liquido;R$ ".FormatoMoeda($nValorTotalLiq).";".$sPulaLinha.
			   ( $bFat_Deducao ?
               "Dedução;-R$ ".FormatoMoeda($nValorTotalDed).";".$sPulaLinha.
               $sPulaLinha.
               "Total;R$ ".FormatoMoeda($nValorTotalFim).";".$sPulaLinha.
               '' : '' ).
               $sPulaLinha;
             //
		     //  CONFERÊNCIA DE CAIXA
	         $sTmpCab =
	            $sPulaLinha.
		        AlinhaStr("================================",1).$sPulaLinha.
		        AlinhaStr("***   Conferencia de Caixa   ***",1).$sPulaLinha.
				AlinhaStr("***     Valores Digitados    ***",1).$sPulaLinha.
		        AlinhaStr("================================",1).$sPulaLinha.		     
		        $sPulaLinha.
		        '';
             //
	         $sCsv_Conf =
               $sPulaLinha.
               ';Conferencia de caixa;'.
               $sPulaLinha;
	         //$bTem_Conf = False;
	         $nTot_Dig = 0;
		     $nTot_Geral = 0;
			 $sDesc_Total = '';
             $sSQL = 
			    "SELECT ".
				   "MPG_DESCRIC, sum(MVC_VALORMV) AS VALOR ".
			    "FROM mov_caixa  ".
				"LEFT JOIN cad_funcionario on cad_funcionario.FUN_CODIGO = mov_caixa.MVC_COD_FUN ".
				"INNER JOIN cad_modalidade_pag on cad_modalidade_pag.mpg_codigoi = mov_caixa.mvc_paramet ".
				"WHERE ".
				   "MVC_COD_FUN=FUN_CODIGO AND MVC_TIPOMOV = 5 ".
				   (STRLEN($sSQLParm)>0 ? ' AND '.$sSQLParm : '').' GROUP BY MVC_PARAMET;';
	         
			 $L_RowsT = MYSQL_QUERY($sSQL) or die(MYSQL_ERROR());
			 While ( $L_Row = MYSQL_FETCH_OBJECT($L_RowsT) ) {
				 $sTmpCab .=  
			        AlinhaStr($L_Row->MPG_DESCRIC,0,26,'.').'.:'.
			        AlinhaStr(FormatoMoeda($L_Row->VALOR),2,12).
                    $sPulaLinha.
					'';
                 $sCsv_Conf .=
                   $L_Row->MPG_DESCRIC.';'.
                   "R$ ".FormatoMoeda($L_Row->VALOR).';'.
                   $sPulaLinha;
                 //
				 $nTot_Dig += $L_Row->VALOR;
			 }
				   
			
	         $nTot_Geral = ($nTot_Dig-(($nValorTro+$nTotalBruto+$nValorEnt+$nValorRcP)-($nValorSai+$nValorPrz)));
			 
			 If ($nTot_Geral>0) {
				   $sDesc_Total = 'Sobra';
				} ElseIf($nTot_Geral<0) {
                   $sDesc_Total = 'Falta';
				} Else {
				   $sDesc_Total	= 'Valor Conferido';
			 }
			 
	         //If ($bTem_Conf) {
	         	
			    $sTxt_Conf .=
		           ( $nTot_Dig > 0 ? 
				      $sTmpCab.
			          //AlinhaStr("----------------------------------------",1).
			          $sPulaLinha.
				      $sPulaLinha.
			          AlinhaStr('Total Digitado',0,26,'.').'.:'.
			          AlinhaStr(FormatoMoeda($nTot_Dig),2,12).
			          $sPulaLinha.
				      AlinhaStr("Total liquido",0,26,".").".:".
				      AlinhaStr(FormatoMoeda( (($nValorTro+$nTotalBruto+$nValorEnt+$nValorRcP)-($nValorSai+$nValorPrz)) ),2,12).
				      $sPulaLinha.
				      AlinhaStr("----------------------------------------",1).
				      $sPulaLinha.
				      AlinhaStr($sDesc_Total,0,26,".").".:".
				      AlinhaStr(FormatoMoeda($nTot_Geral),2,12).
				      $sPulaLinha.
				      $sPulaLinha
			       :
	                  "" 			   
				   ).
				   '';
                $sCsv_Conf =
                  ( $nTot_Dig == 0 ? '' : $sCsv_Conf.
				  $sPulaLinha.
                  'Total Digitado:;'.
                  "R$ ".FormatoMoeda($nTot_Dig).';'.
				  $sPulaLinha.
				  'Total liquido:;'.
				  'R$ '.FormatoMoeda( (($nValorTro+$nTotalBruto+$nValorEnt+$nValorRcP)-($nValorSai+$nValorPrz)) ).';'.
				  $sPulaLinha.
				  $sDesc_Total.':;'.
				  'R$ '.FormatoMoeda( $nTot_Geral ).';'.
                  $sPulaLinha.
                  $sPulaLinha
                  );
		     //}
		  
		  }
			 $sCsv_Rel .=
                ( $aV_Sessao['Modalidades'] ? $sCsv_Tmp : '' ).
                ( $nQtdCaixa>1 && $aV_Sessao['ResumoTotalCx'] ? $sCsv_Tot.$sCsv_Conf : '').
                '';
			 $sTxt_Rel .=  
			    ( $aV_Sessao['Modalidades'] ?
				   $sTxt_Tmp
				 :
				 "" ).
				 ( $nQtdCaixa>1 && $aV_Sessao['ResumoTotalCx']  ?
			       $sTxt_Tot.
				   $sTxt_Conf
				 :
				 "" ).
				 $sPulaLinha;
          
		  //
	   }
	   //
	   //
	   // Movimento de Gorjetas
       If ($aV_Sessao['GorjetaGarcom']) {
          $sTxt_Rel .=
		     AlinhaStr("==========================================",1).$sPulaLinha.
		     AlinhaStr("*** Resumo de Gorjetas por Funcionário ***",1).$sPulaLinha.
			 AlinhaStr("==========================================",1).$sPulaLinha.		     
			 $sPulaLinha.
			 "";
		  $sCsv_Rel .=
			 $sPulaLinha.
             ';Resumo de Gorjetas por Funcionário;'.
			 $sPulaLinha;
		   //
       	   $sQuerySQL = "SELECT * FROM cad_funcionario WHERE FUN_ATIVO_;";
		   $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		   $a_CadFun = ARRAY();
           While ( $L_Row = MYSQL_FETCH_ARRAY($L_Rows) ) {
		       $a_CadFun[$L_Row['FUN_CODIGO']] = $L_Row;
			   $a_CadFun[$L_Row['FUN_CODIGO']]['TOTAL_GOR']=0;
		   }
		   //
       	   $sQuerySQL =
             "SELECT mov_gorjeta.* FROM mov_caixa,mov_gorjeta WHERE ".
       		   (STRLEN($sSQLParm)>0 ? $sSQLParm.'AND' : '')." ".
			   "MVC_SQCAIXA=MGT_SQCAIXA AND MVC_TIPOMOV=0 ".
       	     ";";
		   $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		   $nValTotalGor = 0;      // Valor total de Gorjetas
           While ( $L_Row = MYSQL_FETCH_ARRAY($L_Rows) ) {
		     @$a_CadFun[@$L_Row['MGT_COD_FUN']]['TOTAL_GOR'] += $L_Row['MGT_VALORMV'];
		   }
		   //
		   FOREACH ( $a_CadFun as $a_Garcom ) {
		     If (@$a_Garcom['TOTAL_GOR']==0) { CONTINUE; }
             $sTxt_Rel .= 
			   AlinhaStr(@$a_Garcom['FUN_NOMECP'],0,23,'.').
			   '.(+):'.AlinhaStr(FormatoMoeda($a_Garcom['TOTAL_GOR']),2,12).$sPulaLinha.
			   '';
		     $sCsv_Rel .=
               @$a_Garcom['FUN_NOMECP'].';'.
               'R$ '.FormatoMoeda($a_Garcom['TOTAL_GOR']).';'.
		       $sPulaLinha;
             //
		     $nValTotalGor += $a_Garcom['TOTAL_GOR'];
		   }
		   //
           $sTxt_Rel .=
              STR_REPEAT("-",40).$sPulaLinha.
			  AlinhaStr("TOTAL GERAL",0,27,'.').":".AlinhaStr(FormatoMoeda($nValTotalGor),2,12).$sPulaLinha.
			  $sPulaLinha.
		      $sPulaLinha.
			  "";
		   $sCsv_Rel .=
             'TOTAL GERAL;'.
             'R$ '.FormatoMoeda($nValTotalGor).';'.
		     $sPulaLinha.
		     $sPulaLinha;
		   //
	       //
	   }
       //
	   //
	   // Valor Pizza Entregue
       If ($aV_Sessao['ValorPizEnt']) {
		  // por valor - percentual - pizza entregue
		  If ($nMot_P_V_P ==0) { //percentual
		    //
		  } ElseIf ($nMot_P_V_P == 1){ //Valor
		  	//	
		  } ElseIf ($nMot_P_V_P == 2){ // por pizza entregue
			If ($nPiz_Ent_Val>0){
	           //
               $sQuerySQL =
		         //"SELECT cad_funcionario.FUN_CODIGO,cad_funcionario.FUN_NOMECP,
                 //        fat_item.FAT_QTD_ITE,(fat_item.FAT_QTD_ITE * ".$nPiz_Ent_Val.") AS CALCPIZ,  
                 //        fat_geral.FAT_TAXASVR ".
			     "SELECT cad_funcionario.FUN_CODIGO,cad_funcionario.FUN_NOMECP, ".
                 "SUM(fat_item.FAT_QTD_ITE ) AS QTDITE,(SUM(fat_item.FAT_QTD_ITE ) * ".$nPiz_Ent_Val.") AS CALCPIZ,".
		         "SUM(fat_geral.FAT_TAXASVR) AS TAXASVR ".		 
				 "FROM fat_geral ".
                 "LEFT JOIN mov_caixa on fat_geral.FAT_SQCAIXA = mov_caixa.MVC_SQCAIXA  ".
                 "LEFT JOIN fat_item on fat_geral.FAT_CODIGOI = fat_item.FAT_CFATGER ".
                 "LEFT JOIN cad_produto on fat_item.FAT_CODITE1 = cad_produto.ITE_CODIGOI ".
                 "LEFT JOIN cad_funcionario on fat_geral.FAT_COD_ENT = cad_funcionario.FUN_CODIGO ".
                 "LEFT JOIN cad_grupo_produtos on cad_produto.ITE_COD_GRU = cad_grupo_produtos.GRU_CODIGO ".
                 "WHERE ". 
                   "Length(fat_item.FAT_CANITEM)<2 AND ".
                   "mov_caixa.MVC_TIPOMOV=0 AND fat_geral.FAT_RCFORMA>0 AND ".
                   "cad_grupo_produtos.GRU_ACTSAB = 1 AND ".
						 "fat_geral.FAT_COD_ENT > 0 AND ".
						 "fat_geral.FAT_TIP_LOC = 2 ".
 						(STRLEN($sSQLParm)>0 ? 'AND '.$sSQLParm : '')." ".
		         "GROUP BY  cad_funcionario.FUN_NOMECP;";
			   $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		       $a_CadMot = ARRAY();
			   While ( $L_Row = MYSQL_FETCH_ARRAY($L_Rows) ) {
		          $a_CadMot[$L_Row['FUN_CODIGO']] = $L_Row;
		       }
			   If (COUNT($a_CadMot)>0){
				  $sTxt_Rel .=
		            AlinhaStr("*** Listagem de Comissão por Pizza Entregue ***",1).
		            $sPulaLinha.
				    $sPulaLinha.
				    "";
                  //
                  $sCsv_Rel .=
				    $sPulaLinha.
                    ';Listagem de Comissão por Pizza Entregue;'.
                    $sPulaLinha;
                  //
			   }
               FOREACH ( $a_CadMot as $a_Entregador ) {
                 $sTxt_Rel .= 
                   AlinhaStr($a_Entregador['FUN_NOMECP'],0,12,'.').
                   AlinhaStr('( '.number_format($a_Entregador['QTDITE'],0,'.',''),2,12).' )'.'Pizza'.
                   AlinhaStr(FormatoMoeda($a_Entregador['CALCPIZ'],2,9),2,9).
                   $sPulaLinha.
                   AlinhaStr('      Taxa de entrega',0,24,'.').'...:'.
                   AlinhaStr(FormatoMoeda($a_Entregador['TAXASVR'],2,12),2,12).
                   $sPulaLinha.
		           '';
                 //
                 $sCsv_Rel .=
                   $a_Entregador['FUN_NOMECP'].';'.
                   NUMBER_FORMAT($a_Entregador['QTDITE'],0,'.','').';'.
                   'R$ '.FormatoMoeda($a_Entregador['CALCPIZ']).';'.
                   'R$ '.FormatoMoeda($a_Entregador['TAXASVR']).';'.
                   $sPulaLinha;
                 //
               }
		    }
		  }
          //
	   }
       //
       //
	   // IMPRIME DEBITOS
       If (@$nValorSai>0 OR @$nValorEnt>0) {
		  $sQuerySQL1 =
            "SELECT mov_caixa.MVC_TIPOMOV,mov_caixa.MVC_VALORMV,mov_caixa.MVC_PARAMET ".
            "FROM mov_caixa ".
            "LEFT JOIN cad_funcionario on mov_caixa.MVC_COD_FUN = cad_funcionario.FUN_CODIGO ".
            "WHERE ".
              "mov_caixa.MVC_COD_FUN=cad_funcionario.FUN_CODIGO ".
              (STRLEN($sSQLParm)>0 ? 'AND '.$sSQLParm : '')." ". 
            "ORDER BY mov_caixa.MVC_SQCAIXA DESC, mov_caixa.MVC_TIPOMOV ASC";
		  $L_Rows = MYSQL_QUERY($sQuerySQL1) or die(MYSQL_ERROR().'<br>'.$sQuerySQL1);
		  $nDebito = 0;
		  $nCredito = 0;
		  $sHis_Debito1 = '';
		  $sHis_Debito2 = '';
		  $sHis_Debito3 = '';
		  $sHis_Debito4 = '';
		  $sHis_Credit1 = '';
		  $sHis_Credit2 = '';
		  $sHis_Credit3 = '';
		  $sHis_Credit4 = '';
		  While ( $L_Row = MYSQL_FETCH_OBJECT($L_Rows) ) {
			If ($L_Row->MVC_TIPOMOV==2) {     // Sangria (Debito)
               $nDebito = $L_Row->MVC_VALORMV;
               $sHis_Debito1 = SUBSTR($L_Row->MVC_PARAMET,0,23);
               $sHis_Debito2 = SUBSTR($L_Row->MVC_PARAMET,24,48);
               $sHis_Debito3 = SUBSTR($L_Row->MVC_PARAMET,49,73);
               $sHis_Debito4 = SUBSTR($L_Row->MVC_PARAMET,74,97);
			} ElseIf ($L_Row->MVC_TIPOMOV==3) {     // Entrada (Crédito)
			   $nCredito = $L_Row->MVC_VALORMV;
		       $sHis_Credit1 = SUBSTR($L_Row->MVC_PARAMET,0,23);
			   $sHis_Credit2 = SUBSTR($L_Row->MVC_PARAMET,24,48);
			   $sHis_Credit3 = SUBSTR($L_Row->MVC_PARAMET,49,73);
			   $sHis_Credit4 = SUBSTR($L_Row->MVC_PARAMET,74,97);
			}
            If ($nCredito>0 || $nDebito>0 ) {
		       $sTxt_Rel .=
		         $sPulaLinha.
		         AlinhaStr("================================",1).$sPulaLinha.
		         AlinhaStr("***    Sangria / Credito     ***",1).$sPulaLinha.
		         AlinhaStr("================================",1).$sPulaLinha.
		         $sPulaLinha.
			     '';
		       $sCsv_Rel .=
		         $sPulaLinha.
                 ';Sangria / Crédito;'.
		         $sPulaLinha;
		   }	   
		   If ($nCredito>0) {
              $sTxt_Rel .=
                $sPulaLinha.
                AlinhaStr("*** Credito ***",0).$sPulaLinha.
                $sPulaLinha.
                AlinhaStr($sHis_Credit1,0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda($nCredito),2,12).$sPulaLinha.
                ( (STRLEN($sHis_Credit2)>0) ? 
                  AlinhaStr($sHis_Credit2,0,23,'.').$sPulaLinha
                :
                ''
                ).
                ( (STRLEN($sHis_Credit3)>0) ? 
                  AlinhaStr($sHis_Credit3,0,23,'.').$sPulaLinha
                :
                ''
                ).
                ( (STRLEN($sHis_Credit4)>0) ? 
                  AlinhaStr($sHis_Credit4,0,23,'.').$sPulaLinha
                :
                ''
                ).
                $sPulaLinha.
                '';
              //
		      $sCsv_Rel .=
                'Crédito;'.
                $sHis_Credit1.
                ( EMPTY($sHis_Credit2) ? '' : $sHis_Credit2 ).
                ( EMPTY($sHis_Credit3) ? '' : $sHis_Credit3 ).
                ( EMPTY($sHis_Credit4) ? '' : $sHis_Credit4 ).
                ';'.
                "R$ ".FormatoMoeda($nCredito).';'.
		        $sPulaLinha;
              //
              $nCredito = 0;
           }
		   If ($nDebito>0) {
              $sTxt_Rel .=
                $sPulaLinha.
                AlinhaStr("*** Debito ***",0).$sPulaLinha.
                $sPulaLinha.
                AlinhaStr($sHis_Debito1,0,23,'.').'.(-):'.AlinhaStr(FormatoMoeda($nDebito),2,12).$sPulaLinha.
                ( (STRLEN($sHis_Debito2)>0) ? 
                  AlinhaStr($sHis_Debito2,0,23,'.').$sPulaLinha
                :
                ''
                ).
                ( (STRLEN($sHis_Debito3)>0) ? 
                  AlinhaStr($sHis_Debito3,0,23,'.').$sPulaLinha
                :
                ''
                ).
                ( (STRLEN($sHis_Debito4)>0) ? 
                  AlinhaStr($sHis_Debito4,0,23,'.').$sPulaLinha
                :
                ''
                ).
                $sPulaLinha.
                '';
              //
		      $sCsv_Rel .=
		        $sPulaLinha.
                'Débido;'.
                $sHis_Debito1.
                ( EMPTY($sHis_Debito2) ? '' : $sHis_Debito2 ).
                ( EMPTY($sHis_Debito3) ? '' : $sHis_Debito3 ).
                ( EMPTY($sHis_Debito4) ? '' : $sHis_Debito4 ).
                ';'.
                "-R$ ".FormatoMoeda($nDebito).';'.
		        $sPulaLinha;
              //
              $nDebito = 0;
           }
		 
		 }
		
		}
	   //
	   // Venda por tipo 
	   If ($aV_Sessao['VendaPorTip']) {
		  $nQtdLocal_ = 0;      // Quant. de comandas para as "MESAS"
		  $nQtdLocUsad= 0;      // Quant. de "MESAS" usadas
		  $nValLocal_ = 0;      // Total bruto para as "MESAS"
		  $nValCouver = 0;      // Total do Couver
		  $nValTaxaSv = 0;      // Total da taxa de serviço (comissão do garçom)
		  $nValLocalD = 0;      // Total de descontos das "MESAS"
		  $nValLocalT = 0;      // Total liquido para as "MESAS"
		  $nQtdPesLoc = 0;      // Quant. de pessoas nas "MESAS"
		  $nQtdPesCvr = 0;      // Quant. de pessoas nas "MESAS" com couver
		  $nQtdBalcao = 0;      // Quant. de comandas para o balcão
		  $nValBalcao = 0;      // Total bruto para os pedidos em balcão
		  $nValBalc_D = 0;      // Valor de descontos do balcão
		  $nValBalc_T = 0;      // Valor total liquido do balcão
		  // Consignados
		  $nQtdConsigD = 0;     // Quant. de comandas para a entrega
		  $nValConsigD = 0;     // Total bruto para os pedidos em entrega
		  $nValCnsg_DD = 0;     // Valor de descontos das entregas
		  $nValCnsg_TD = 0;     // Valor total liquido das entregas
		  $nValTaxaSgD = 0;     // Total da taxa de serviço de entrega
		  // Disk entrega
		  $nQtdEntregD = 0;     // Quant. de comandas para a entrega
		  $nValEntregD = 0;     // Total bruto para os pedidos em entrega
		  $nValEntr_DD = 0;     // Valor de descontos das entregas
		  $nValEntr_TD = 0;     // Valor total liquido das entregas
		  $nValTaxaEnD = 0;     // Total da taxa de serviço de entrega
		  // Disk vem buscar
		  $nQtdEntregB = 0;     // Quant. de comandas para a entrega
		  $nValEntregB = 0;     // Total bruto para os pedidos em entrega
		  $nValEntr_DB = 0;     // Valor de descontos das entregas
		  $nValEntr_TB = 0;     // Valor total liquido das entregas
		  $nValTaxaEnB = 0;     // Total da taxa de serviço de entrega
		  // APP Delevery - Entregar
		  $nQtdAppDelD = 0;     // Quant. de comandas para a entrega
		  $nValAppDelD = 0;     // Total bruto para os pedidos em entrega
		  $nValAppD_DD = 0;     // Valor de descontos das entregas
		  $nValAppD_TD = 0;     // Valor total liquido das entregas
		  $nValAppDTxD = 0;     // Total da taxa de serviço de entrega
		  // APP Delevery - Vem buscar
		  $nQtdAppDelB = 0;     // Quant. de comandas para a entrega
		  $nValAppDelB = 0;     // Total bruto para os pedidos em entrega
		  $nValAppD_DB = 0;     // Valor de descontos das entregas
		  $nValAppD_TB = 0;     // Valor total liquido das entregas
		  $nValAppDTxB = 0;     // Total da taxa de serviço de entrega
		  // APP IFood - Entregar
		  $nQtdAppIFoD = 0;     // Quant. de comandas para a entrega
		  $nValAppIFoD = 0;     // Total bruto para os pedidos em entrega
		  $nValAppI_DD = 0;     // Valor de descontos das entregas
		  $nValAppI_TD = 0;     // Valor total liquido das entregas
		  $nValAppITxD = 0;     // Total da taxa de serviço de entrega
		  //
		  $sQuerySQL =
		     "SELECT fat_geral.* ".
			 //"FROM fat_geral,mov_caixa ". COLOCADO LEFT JOIN ALTERAÇÃO 4047 mov_modalidade_pag ACRESCENTADO COMANDAS RECEBIDAS CANCELADAS
			 "FROM fat_geral ".
			 "LEFT JOIN mov_caixa on fat_geral.FAT_SQCAIXA = mov_caixa.MVC_SQCAIXA ".
//			 "LEFT JOIN mov_modalidade_pag on fat_geral.FAT_CODIGOI = mov_modalidade_pag.MOV_CFATGER  ".
			 "WHERE ".
			    //"FAT_SQCAIXA=MVC_SQCAIXA AND ".
//				"FAT_CANCELA=0 AND MVC_TIPOMOV=0 AND FAT_RCFORMA>0 AND MOV_C_REC_C=0 ".
				"FAT_CAN_DAT=0 AND MVC_TIPOMOV=0 AND FAT_RCFORMA>0 ".				
				(STRLEN($sSQLParm)>0 ? 'AND '.$sSQLParm : '')." ".
		     "ORDER BY FAT_CODIGOI ASC;";
			
	      $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		  $sTemp_LstLoc = '';
	      While ( $L_Row = MYSQL_FETCH_OBJECT($L_Rows) ) {
		     //$nVal_Descont = NUMBER_FORMAT( (($L_Row->FAT_DESCONT/100)*$L_Row->FAT_SBTOTAL) ,2,'.','')+0;
		     //$nVal_Descont = ($L_Row->FAT_DESCONT/100)*$L_Row->FAT_SBTOTAL;
		     $nVal_Descont = $L_Row->FAT_VALDESC;
		     //
			 If ( $L_Row->FAT_TIP_LOC==0 OR $L_Row->FAT_TIP_LOC==3 ) {       // MESAS (e Comandas)
			    $nQtdLocal_++;
				$nValLocal_ += $L_Row->FAT_TOT_VAL;
				$nValCouver += $L_Row->FAT_TAXACVR;
				$nValTaxaSv += $L_Row->FAT_TAXASVR;
                $nQtdPesLoc += $L_Row->FAT_QTD_PES;
				If ($L_Row->FAT_TAXACVR>0) {
		          $nQtdPesCvr += $L_Row->FAT_QTD_PES;
				}
				$nValLocalD += $nVal_Descont;
				$nValLocalT += $L_Row->FAT_TOT_REC;
				If ( STRPOS(' ;'.$sTemp_LstLoc,';'.$L_Row->FAT_NUM_MES.';')==0 ) {
				   $sTemp_LstLoc .= $L_Row->FAT_NUM_MES.';';
				   $nQtdLocUsad++;
				}
		     //
			 } ElseIf ( $L_Row->FAT_TIP_LOC==1 ) {         // BALCAO
			    $nQtdBalcao++;
				$nValBalcao += $L_Row->FAT_TOT_VAL;
				$nValBalc_D += $nVal_Descont;
				$nValBalc_T += $L_Row->FAT_TOT_REC;
			 //
			 } ElseIf ( $L_Row->FAT_TIPOORI==5 ) {         // CONSIGNADOS
				$nQtdConsigD++;	                               // Quant. de comandas para a entrega
				$nValConsigD += $L_Row->FAT_TOT_VAL;           // Total bruto para os pedidos em entrega
				$nValTaxaSgD += $L_Row->FAT_TAXASVR;           // Total da taxa de serviço de entrega
				$nValCnsg_DD += $nVal_Descont;                 // Valor de descontos das entregas
				$nValCnsg_TD += $L_Row->FAT_TOT_REC;           // Valor total liquido das entregas
                //
			 } ElseIf ( $L_Row->FAT_TIP_LOC==2
                    AND $L_Row->FAT_TIPOORI==0
                    AND $L_Row->FAT_IDORDER==0
                    AND EMPTY($L_Row->FAT_IDORDER_IFOOD)
                      ) {                                  // DISK
				//
				If ( $L_Row->FAT_TIPOVEN == 0) {    // Entregar
				    $nQtdEntregD++;	
				    $nValEntregD += $L_Row->FAT_TOT_VAL;
				    $nValTaxaEnD += $L_Row->FAT_TAXASVR;
				    $nValEntr_DD += $nVal_Descont;
				    $nValEntr_TD += $L_Row->FAT_TOT_REC;
                    //
				} Else {                            // Vem buscar
					$nQtdEntregB++;
					$nValEntregB += $L_Row->FAT_TOT_VAL;
				    $nValTaxaEnB += $L_Row->FAT_TAXASVR;
				    $nValEntr_DB += $nVal_Descont;
				    $nValEntr_TB += $L_Row->FAT_TOT_REC;
				}	
             //
			 } ElseIf ( $L_Row->FAT_TIP_LOC==2 AND $L_Row->FAT_IDORDER>0 ) {  // APP DELIVERY
				If ( $L_Row->FAT_TIPOVEN == 0) {    // Entregar
				    $nQtdAppDelD++;	                           // Quant. de comandas para a entrega
				    $nValAppDelD += $L_Row->FAT_TOT_VAL;       // Total bruto para os pedidos em entrega
				    $nValAppDTxD += $L_Row->FAT_TAXASVR;       // Total da taxa de serviço de entrega
				    $nValAppD_DD += $nVal_Descont;             // Valor de descontos das entregas
				    $nValAppD_TD += $L_Row->FAT_TOT_REC;       // Valor total liquido das entregas
                    //
				} Else {                            // Vem buscar
				    $nQtdAppDelB++;	                           // Quant. de comandas para a entrega
				    $nValAppDelB += $L_Row->FAT_TOT_VAL;       // Total bruto para os pedidos em entrega
				    $nValAppDTxB += $L_Row->FAT_TAXASVR;       // Total da taxa de serviço de entrega
				    $nValAppD_DB += $nVal_Descont;             // Valor de descontos das entregas
				    $nValAppD_TB += $L_Row->FAT_TOT_REC;       // Valor total liquido das entregas
				}	
			 //
			 } ElseIf ( $L_Row->FAT_TIP_LOC==2 AND $L_Row->FAT_IDORDER_IFOOD>0 ) {  // APP IFOOD
				$nQtdAppIFoD++;	                               // Quant. de comandas para a entrega
				$nValAppIFoD += $L_Row->FAT_TOT_VAL;           // Total bruto para os pedidos em entrega
				$nValAppITxD += $L_Row->FAT_TAXASVR;           // Total da taxa de serviço de entrega
				$nValAppI_DD += $nVal_Descont;                 // Valor de descontos das entregas
				$nValAppI_TD += $L_Row->FAT_TOT_REC;           // Valor total liquido das entregas
			 //
			 }
		  }
          //
          // Totalizar valores
          $nValG_Total = $nValLocalT + $nValBalc_T + $nValEntr_TB + $nValEntr_TD + $nValAppD_TB + $nValAppD_TD + $nValAppI_TD + $nValCnsg_TD;
          $nQtdG_Total = $nQtdLocal_ + $nQtdBalcao + $nQtdEntregB + $nQtdEntregD + $nQtdAppDelB + $nQtdAppDelD + $nQtdAppIFoD + $nQtdConsigD;
		  //
          // RELATORIO
          $sTxt_Rel .=
            $sPulaLinha.
            AlinhaStr("================================",1).$sPulaLinha.
            AlinhaStr("*** Resumo por Tipo de Venda ***",1).$sPulaLinha.
            AlinhaStr("================================",1).$sPulaLinha.
            $sPulaLinha.
            // MESAS
            AlinhaStr($sTipoLocal.'(s)',0,10,'').AlinhaStr(": (".$nQtdLocal_.")Cmds, (".$nQtdLocUsad.")".$sTipoLocal.'(s)',2,30,'.').$sPulaLinha.
            AlinhaStr('Valor bruto',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValLocal_),2,12).$sPulaLinha.
            AlinhaStr('Cover, '.$nQtdPesCvr.' pessoas' ,0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValCouver),2,12).$sPulaLinha.
            AlinhaStr('Taxa de serviço',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValTaxaSv),2,12).$sPulaLinha.
            ( $nValLocalD>0 ?
             AlinhaStr('Descontos',0,23,'.').'.(-):'.AlinhaStr(FormatoMoeda_Mil($nValLocalD),2,12).$sPulaLinha
            : '').
            STR_REPEAT("-",40).$sPulaLinha.
            AlinhaStr('Total',0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValLocalT ),2,12).$sPulaLinha.
            ( ($nValLocalT==0 OR $nQtdLocal_==0) ? '' :
            AlinhaStr('Ticket medio'   ,0,16,'.').'('.Str_Zero($nQtdLocal_,5).')Cmds:'.AlinhaStr(FormatoMoeda_Mil( ROUND( $nValLocalT/$nQtdLocal_ ,2) ),2,12).$sPulaLinha.
            AlinhaStr('Medio p/ pessoa',0,16,'.').'('.Str_Zero($nQtdPesLoc,5).')Pess:'.AlinhaStr(FormatoMoeda_Mil( ROUND( $nValLocalT/$nQtdPesLoc ,2) ),2,12).$sPulaLinha.
            '' ).
            $sPulaLinha.
            // BALCAO
            AlinhaStr("BALCAO",0,15,'.').AlinhaStr(".: (".($nQtdBalcao).")Cmds",2,25,'.').$sPulaLinha.
            AlinhaStr('Valor bruto',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValBalcao),2,12).$sPulaLinha.
            ( $nValBalc_D>0 ?
             AlinhaStr('Descontos',0,23,'.').'.(-):'.AlinhaStr(FormatoMoeda_Mil($nValBalc_D),2,12).$sPulaLinha
            : '').
            STR_REPEAT("-",40).$sPulaLinha.
            AlinhaStr('Total',0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValBalc_T ),2,12).$sPulaLinha.
            ( ($nValBalc_T==0 OR $nQtdBalcao==0) ? '' :
            AlinhaStr('Ticket medio',0,16,'.').'('.Str_Zero($nQtdBalcao,5).')Cmds:'.AlinhaStr(FormatoMoeda_Mil( ROUND( $nValBalc_T/$nQtdBalcao ,2) ),2,12).$sPulaLinha.
            '' ).
            $sPulaLinha.
            // Disk - Vem buscar
            ( $nQtdEntregB>0 ?
            AlinhaStr("DISK (Vem buscar)",0,20,'.').AlinhaStr(".: (".($nQtdEntregB).")Cmds",2,20,'.').$sPulaLinha.
            AlinhaStr('Valor bruto',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValEntregB),2,12).$sPulaLinha.
            AlinhaStr('Taxa de entrega',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValTaxaEnB),2,12).$sPulaLinha.
            ( $nValEntr_DB>0 ?
             AlinhaStr('Descontos',0,23,'.').'.(-):'.AlinhaStr(FormatoMoeda_Mil($nValEntr_DB),2,12).$sPulaLinha
            : '').
            STR_REPEAT("-",40).$sPulaLinha.
            AlinhaStr('Total',0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValEntr_TB ),2,12).$sPulaLinha.
            AlinhaStr('Ticket medio',0,16,'.').'('.Str_Zero($nQtdEntregB,5).')Cmds:'.AlinhaStr(FormatoMoeda_Mil( ROUND( $nValEntr_TB/$nQtdEntregB ,2) ),2,12).$sPulaLinha.
            $sPulaLinha : '' ).
            // Disk - Entrega
            ( $nQtdEntregD>0 ?
            AlinhaStr("DISK (Entrega)",0,20,'.').AlinhaStr(".: (".($nQtdEntregD).")Cmds",2,20,'.').$sPulaLinha.
            AlinhaStr('Valor bruto',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValEntregD),2,12).$sPulaLinha.
            AlinhaStr('Taxa de entrega',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValTaxaEnD),2,12).$sPulaLinha.
            ( $nValEntr_DD>0 ?
             AlinhaStr('Descontos',0,23,'.').'.(-):'.AlinhaStr(FormatoMoeda_Mil($nValEntr_DD),2,12).$sPulaLinha
            : '').
            STR_REPEAT("-",40).$sPulaLinha.
            AlinhaStr('Total',0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValEntr_TD ),2,12).$sPulaLinha.
            AlinhaStr('Ticket medio',0,16,'.').'('.Str_Zero($nQtdEntregD,5).')Cmds:'.AlinhaStr(FormatoMoeda_Mil( ROUND( $nValEntr_TD/$nQtdEntregD ,2) ),2,12).$sPulaLinha.
            $sPulaLinha : '' ).
            // APP DELIVERY - VEM BUSCAR
            ( $nQtdAppDelB>0 ?
            AlinhaStr("Delivery Express(Vem buscar)",0,30,'.').AlinhaStr(".: (".($nQtdAppDelB).")Cmds",2,10,'.').$sPulaLinha.
            AlinhaStr('Valor bruto',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValAppDelB),2,12).$sPulaLinha.
            AlinhaStr('Taxa de entrega',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValAppDTxB),2,12).$sPulaLinha.
            ( $nValAppD_DB>0 ?
             AlinhaStr('Descontos',0,23,'.').'.(-):'.AlinhaStr(FormatoMoeda_Mil($nValAppD_DB),2,12).$sPulaLinha
            : '').
            STR_REPEAT("-",40).$sPulaLinha.
            AlinhaStr('Total',0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValAppD_TB ),2,12).$sPulaLinha.
            AlinhaStr('Ticket medio',0,16,'.').'('.Str_Zero($nQtdAppDelB,5).')Cmds:'.AlinhaStr(FormatoMoeda_Mil( ROUND( $nValAppDelB/$nQtdAppDelB ,2) ),2,12).$sPulaLinha.
            $sPulaLinha : '' ).
            // APP DELIVERY - ENTREGAR
            ( $nQtdAppDelD>0 ?
            AlinhaStr("Delivery Express(Entregar)",0,30,'.').AlinhaStr(".: (".($nQtdAppDelD).")Cmds",2,10,'.').$sPulaLinha.
            AlinhaStr('Valor bruto',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValAppDelD),2,12).$sPulaLinha.
            AlinhaStr('Taxa de entrega',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValAppDTxD),2,12).$sPulaLinha.
            ( $nValAppD_DD>0 ?
             AlinhaStr('Descontos',0,23,'.').'.(-):'.AlinhaStr(FormatoMoeda_Mil($nValAppD_DD),2,12).$sPulaLinha
            : '').
            STR_REPEAT("-",40).$sPulaLinha.
            AlinhaStr('Total',0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValAppD_TD ),2,12).$sPulaLinha.
            AlinhaStr('Ticket medio',0,16,'.').'('.Str_Zero($nQtdAppDelD,5).')Cmds:'.AlinhaStr(FormatoMoeda_Mil( ROUND( $nValAppDelD/$nQtdAppDelD ,2) ),2,12).$sPulaLinha.
            $sPulaLinha : '' ).
            // APP IFOOD - ENTREGAR
            ( $nQtdAppIFoD>0 ?
            AlinhaStr("App IFood (Entregar)",0,25,'.').AlinhaStr(".: (".($nQtdAppIFoD).")Cmds",2,15,'.').$sPulaLinha.
            AlinhaStr('Valor bruto',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValAppIFoD),2,12).$sPulaLinha.
            AlinhaStr('Taxa de entrega',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValAppITxD),2,12).$sPulaLinha.
            ( $nValAppI_DD>0 ?
             AlinhaStr('Descontos',0,23,'.').'.(-):'.AlinhaStr(FormatoMoeda_Mil($nValAppI_DD),2,12).$sPulaLinha
            : '').
            STR_REPEAT("-",40).$sPulaLinha.
            AlinhaStr('Total',0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValAppI_TD ),2,12).$sPulaLinha.
            AlinhaStr('Ticket medio',0,16,'.').'('.Str_Zero($nQtdAppIFoD,5).')Cmds:'.AlinhaStr(FormatoMoeda_Mil( ROUND( $nValAppIFoD/$nQtdAppIFoD ,2) ),2,12).$sPulaLinha.
            $sPulaLinha : '' ).
            // CONSIGNADOS
            ( $nQtdConsigD>0 ?
            AlinhaStr($sTipoConsignado,0,25,'.').AlinhaStr(".: (".($nQtdConsigD).")Cmds",2,15,'.').$sPulaLinha.
            AlinhaStr('Valor bruto',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValConsigD),2,12).$sPulaLinha.
            AlinhaStr('Taxa de entrega',0,23,'.').'.(+):'.AlinhaStr(FormatoMoeda_Mil($nValTaxaSgD),2,12).$sPulaLinha.
            ( $nValCnsg_DD>0 ?
             AlinhaStr('Descontos',0,23,'.').'.(-):'.AlinhaStr(FormatoMoeda_Mil($nValAppI_DD),2,12).$sPulaLinha
            : '').
            STR_REPEAT("-",40).$sPulaLinha.
            AlinhaStr('Total',0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValCnsg_TD ),2,12).$sPulaLinha.
            AlinhaStr('Ticket medio',0,16,'.').'('.Str_Zero($nQtdConsigD,5).')Cmds:'.AlinhaStr(FormatoMoeda_Mil( ROUND( $nValCnsg_TD/$nQtdConsigD ,2) ),2,12).$sPulaLinha.
            $sPulaLinha : '' ).
            // TOTAL GERAL
            AlinhaStr("* Total Geral por Tipo de Venda *",1).$sPulaLinha.
            $sPulaLinha.
            AlinhaStr('Total('.$sTipoLocal.')'     ,0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValLocalT  ),2,12).$sPulaLinha.
            AlinhaStr('Total(Balcao)'              ,0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValBalc_T  ),2,12).$sPulaLinha.
            AlinhaStr('Total(Disk-Vem buscar)'     ,0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValEntr_TB ),2,12).$sPulaLinha.
            AlinhaStr('Total(Disk-Entregar)'       ,0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValEntr_TD ),2,12).$sPulaLinha.
            AlinhaStr('Total(Disk App vem buscar)' ,0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValAppD_TB ),2,12).$sPulaLinha.
            AlinhaStr('Total(Disk App entregar)'   ,0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValAppD_TD ),2,12).$sPulaLinha.
            AlinhaStr('Total(App IFood entregar)'  ,0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValAppI_TD ),2,12).$sPulaLinha.
            AlinhaStr('Total('.$sTipoConsignado.')',0,26,'.').'.:'.AlinhaStr(FormatoMoeda_Mil( $nValCnsg_TD ),2,12).$sPulaLinha.
            STR_REPEAT("-",40).$sPulaLinha.
            AlinhaStr('Total Geral' ,0,26,'.').'.:'.AlinhaStr( FormatoMoeda_Mil($nValG_Total) ,2,12).$sPulaLinha.
            AlinhaStr('Ticket medio',0,15,'.').'('.Str_Zero($nQtdG_Total,6).')Cmds:'.AlinhaStr(FormatoMoeda_Mil( ROUND( $nValG_Total/$nQtdG_Total ,2) ),2,12).$sPulaLinha.
            // **
            $sPulaLinha.
            $sPulaLinha.
            $sPulaLinha.
            '';
		  //
		  $sCsv_Rel .=
            $sPulaLinha.
            ';*** Resumo por Tipo de Venda ***;'.
            $sPulaLinha.
            // MESAS
            $sTipoLocal.'(s);'.
            'Comandas:;'.$nQtdLocal_.';'.
            $sTipoLocal.'(s);'.$nQtdLocUsad.';'.
            $sPulaLinha.
            ';Valor bruto:;R$ '.FormatoMoeda($nValLocal_).';'.
            'Cover, '.$nQtdPesCvr.' pessoas:;R$ '.FormatoMoeda($nValCouver).';'.
            'Taxa de serviço:;R$ '.FormatoMoeda($nValTaxaSv).';'.
            'Descontos:;-R$ '.FormatoMoeda($nValLocalD).';'.
            'TOTAL:;R$ '.FormatoMoeda( $nValLocalT ).';'.
            ( ($nValLocalT>0 AND $nQtdLocal_>0) ? 'Ticket Medio:;R$ '.FormatoMoeda( $nValLocalT/$nQtdLocal_ ).';' : '').
		    $sPulaLinha.
            // BALCAO
            'Balcão;'.
            'Comandas:;'.$nQtdBalcao.';'.
            $sPulaLinha.
            ';Valor bruto:;R$ '.FormatoMoeda($nValBalcao).';'.
            ';;;;'.
            'Descontos:;-R$ '.FormatoMoeda($nValBalc_D).';'.
            'TOTAL:;R$ '.FormatoMoeda( $nValBalc_T ).';'.
            ( ($nValBalc_T>0 AND $nQtdBalcao>0) ? 'Ticket Medio:;R$ '.FormatoMoeda( $nValBalc_T/$nQtdBalcao ).';' : '').
            $sPulaLinha.
            // Disk - Vem buscar
            'Disk - Vem Buscar;'.
            'Comandas:;'.$nQtdEntregB.';'.
            $sPulaLinha.
            ';Valor bruto:;R$ '.FormatoMoeda($nValEntregB).';'.
            ';;'.
            'Taxa de entrega:;R$ '.FormatoMoeda($nValTaxaEnB).';'.
            'Descontos:;-R$ '.FormatoMoeda($nValEntr_DB).';'.
            'TOTAL:;R$ '.FormatoMoeda( $nValEntr_TB ).';'.
            ( ($nValEntr_TB>0 AND $nQtdEntregB>0) ? 'Ticket Medio:;R$ '.FormatoMoeda( $nValEntr_TB/$nQtdEntregB ).';' : '').
            $sPulaLinha.
            // Disk - Entrega
            'Disk - Entrega;'.
            'Comandas:;'.$nQtdEntregD.';'.
            $sPulaLinha.
            ';Valor bruto:;R$ '.FormatoMoeda($nValEntregD).';'.
            ';;'.
            'Taxa de entrega:;R$ '.FormatoMoeda($nValTaxaEnD).';'.
            'Descontos:;-R$ '.FormatoMoeda($nValEntr_DD).';'.
            'TOTAL:;R$ '.FormatoMoeda( $nValEntr_TD ).';'.
            ( ($nValEntr_TD>0 AND $nQtdEntregD>0) ? 'Ticket Medio:;R$ '.FormatoMoeda( $nValEntr_TD/$nQtdEntregD ).';' : '').
            $sPulaLinha.
            // Delivery Express - Vem buscar
            'Delivery Express - Vem buscar;'.
            'Comandas:;'.$nQtdAppDelB.';'.
            $sPulaLinha.
            ';Valor bruto:;R$ '.FormatoMoeda($nValAppDelB).';'.
            ';;'.
            'Taxa de entrega:;R$ '.FormatoMoeda($nValAppDTxB).';'.
            'Descontos:;-R$ '.FormatoMoeda($nValAppD_DB).';'.
            'TOTAL:;R$ '.FormatoMoeda( $nValAppD_TB ).';'.
            ( ($nValAppD_TB>0 AND $nQtdAppDelB>0) ? 'Ticket Medio:;R$ '.FormatoMoeda( $nValAppD_TB/$nQtdAppDelB ).';' : '').
            $sPulaLinha.
            // Delivery Express - Entregar
            'Delivery Express - Entregar;'.
            'Comandas:;'.$nQtdAppDelD.';'.
            $sPulaLinha.
            ';Valor bruto:;R$ '.FormatoMoeda($nValAppDelD).';'.
            ';;'.
            'Taxa de entrega:;R$ '.FormatoMoeda($nValAppDTxD).';'.
            'Descontos:;-R$ '.FormatoMoeda($nValAppD_DD).';'.
            'TOTAL:;R$ '.FormatoMoeda( $nValAppD_TD ).';'.
            ( ($nValAppD_TD>0 AND $nQtdAppDelD>0) ? 'Ticket Medio:;R$ '.FormatoMoeda( $nValAppD_TD/$nQtdAppDelD ).';' : '').
            $sPulaLinha.
            // App IFood - Entregar
            'App IFood - Entregar;'.
            'Comandas:;'.$nQtdAppIFoD.';'.
            $sPulaLinha.
            ';Valor bruto:;R$ '.FormatoMoeda($nValAppIFoD).';'.
            ';;'.
            'Taxa de entrega:;R$ '.FormatoMoeda($nValAppITxD).';'.
            'Descontos:;-R$ '.FormatoMoeda($nValAppI_DD).';'.
            'TOTAL:;R$ '.FormatoMoeda( $nValAppI_TD ).';'.
            ( ($nValAppI_TD>0 AND $nQtdAppIFoD>0) ? 'Ticket Medio:;R$ '.FormatoMoeda( $nValAppI_TD/$nQtdAppIFoD ).';' : '').
            $sPulaLinha.
            // Consignados
            $sTipoConsignado.';'.
            'Comandas:;'.$nQtdConsigD.';'.
            $sPulaLinha.
            ';Valor bruto:;R$ '.FormatoMoeda($nValConsigD).';'.
            ';;'.
            'Taxa de entrega:;R$ '.FormatoMoeda($nValTaxaSgD).';'.
            'Descontos:;-R$ '.FormatoMoeda($nValCnsg_DD).';'.
            'TOTAL:;R$ '.FormatoMoeda( $nValCnsg_TD ).';'.
            ( ($nValCnsg_TD>0 AND $nQtdConsigD>0) ? 'Ticket Medio:;R$ '.FormatoMoeda( $nValCnsg_TD/$nQtdConsigD ).';' : '').
            $sPulaLinha.
		    $sPulaLinha;
		  //
	   }
	   //
	   // Detalhamento dos recebimentos de cliente
	   If ( $aV_Sessao['Receb_Clien'] ) {
	      //
          $sTxt_Rel .=
			STR_REPEAT("=",40).$sPulaLinha.
		    AlinhaStr("** RECEBIMENTOS DE CLIENTE **",1).$sPulaLinha.
			STR_REPEAT("=",40).$sPulaLinha.
            "Cliente                     | Valor Rec.".$sPulaLinha.
			STR_REPEAT("-",40).$sPulaLinha.
			"";
		  $sCsv_Rel .=
            ';** Recebimentos de Cliente **;'.
            $sPulaLinha.
            'Cliente;Valor Recebido;'.
            $sPulaLinha;
		  //
		  //conforme robson não estava aparecendo os recebimentos de cliente MVC_TIPOMOV=4
		  //$sSQLQuery =
		    ///"SELECT * FROM mov_caixa,fin_contas_receber,cad_cliente ".
			//"WHERE ".(STRLEN($sSQLParm)>0 ? $sSQLParm.' AND ' : '')."MVC_TIPOMOV=0 AND CTR_SEQCAI_BAI=MVC_SQCAIXA AND CTR_DTAREC>0 AND CTR_CODCLI=CLI_CODIGOI;";
		  $sSQLQuery =
		    "SELECT * FROM fin_contas_receber ".
            "INNER JOIN cad_cliente       ON cad_cliente.CLI_CODIGOI = fin_contas_receber.CTR_CODCLI ".
			"WHERE ".(STRLEN($sSQLParm_1)>0 ? $sSQLParm_1.' AND ' : '')."( ( CTR_DTAREC>0 ) OR ( CTR_VALDUP < 0 ) );";
		  $Rows_FinCtr = MYSQL_QUERY($sSQLQuery) or die(MYSQL_ERROR().'<br>'.$sSQLQuery);
		  While ( $Row_FinCtr = MYSQL_FETCH_OBJECT($Rows_FinCtr) ) {
             $sTxt_Rel .=
			   AlinhaStr(Str_Zero($Row_FinCtr->CTR_CODCLI,6)." ".$Row_FinCtr->CLI_NOMECP,0,30).
			   ( ($Row_FinCtr->CTR_VALREC+0) > 0  ? 
			     AlinhaStr(FormatoMoeda( $Row_FinCtr->CTR_VALREC-$Row_FinCtr->CTR_VALDES),2,10)
			   :
			     AlinhaStr(FormatoMoeda( $Row_FinCtr->CTR_VALDUP-$Row_FinCtr->CTR_VALDES),2,10)
			   ).
		       $sPulaLinha;
		     $sCsv_Rel .=
               Str_Zero($Row_FinCtr->CTR_CODCLI,6)." ".$Row_FinCtr->CLI_NOMECP.';'.
               'R$ '.
			   ( ($Row_FinCtr->CTR_VALREC+0) > 0 ? 
			     FormatoMoeda( $Row_FinCtr->CTR_VALREC-$Row_FinCtr->CTR_VALDES)
			   :
			     FormatoMoeda( $Row_FinCtr->CTR_VALDUP-$Row_FinCtr->CTR_VALDES)
			   ).
               ';'.
               $sPulaLinha;
		  }
		  //
          $sTxt_Rel .= $sPulaLinha;
	   }
	   //
	   /// GUSTAVO 
	   //
	   // Por grupo e produtos
       If ($aV_Sessao['GrupoProdut']) {
		  $sTxt_Gru = ''; 
		  $sCsv_Gru = ''; 
          $sTxt_Rel .=  $sPulaLinha.
			 STR_REPEAT("=",40).$sPulaLinha.
		     AlinhaStr("*** Listagem de Vendas por Produto ***",1).$sPulaLinha.
			 STR_REPEAT("=",40).$sPulaLinha.			 
			 $sPulaLinha.
			 "";
		  $sCsv_Rel .=
		    $sPulaLinha.
		    ';** Listagem de Vendas por Produto **;'.
		    $sPulaLinha;
          //
	      // MATRIZ COM PRODUTOS
          $sSQLRequest = 'SELECT * FROM cad_produto ORDER BY ITE_DESCRIC ASC;';
	      $Rows_Temp = MYSQL_QUERY($sSQLRequest) or die(MYSQL_ERROR().'<br>'.$sSQLRequest);
	      $aProdutos = ARRAY();
	      While ( $Row_Temp = MYSQL_FETCH_ARRAY($Rows_Temp,MYSQL_ASSOC) ) {
	         $aProdutos[$Row_Temp['ITE_CODIGOI'] ] = $Row_Temp; 
          }			
		  //
       	  $sQuerySQL =
            "SELECT fat_item.* FROM fat_geral,mov_caixa,fat_item WHERE ".
       	      "fat_geral.FAT_SQCAIXA=MVC_SQCAIXA AND ".
       	     "MVC_TIPOMOV=0 AND FAT_RCFORMA=1 ".
       	     (STRLEN($sSQLParm)>0 ? 'AND '.$sSQLParm : '')." AND ".
       	     "fat_geral.FAT_CODIGOI=fat_item.FAT_CFATGER AND Length(fat_item.FAT_CANITEM)<2 ".
       	    "ORDER BY fat_item.FAT_CODIGOI ASC;";
		  $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		  $aFatItem = ARRAY();
          $aLista_dos_Opc = ARRAY();
		  While ( $L_Row = MYSQL_FETCH_ARRAY($L_Rows) ) {
			 For ($nQtdCodI=1; $nQtdCodI<=4; $nQtdCodI++) {
			     If ( (@$L_Row['FAT_CODITE'.$nQtdCodI]+0)==0) { BREAK; }
		         If ( ! ISSET($aFatItem[$L_Row['FAT_CODITE'.$nQtdCodI]]) ) {
			        $aFatItem[$L_Row['FAT_CODITE'.$nQtdCodI]] =
			  	      ARRAY(
                           0 => 0,    // Quantidade
                           1 => 0     // Valor
			  	      );
			 	 }
             }
			 $nQtdCodI--;
		     For ($nCntItem=1; $nCntItem<=$nQtdCodI; $nCntItem++) {
			     $aFatItem[$L_Row['FAT_CODITE'.$nCntItem]][0] += $L_Row['FAT_QTD_ITE']/$nQtdCodI;
			     //$aFatItem[$L_Row['FAT_CODITE'.$nCntItem]][1] += $L_Row['FAT_PRE_TOT']/$nQtdCodI;
			     $aFatItem[$L_Row['FAT_CODITE'.$nCntItem]][1] += ($L_Row['FAT_PRE_TOT']-$L_Row['FAT_PRE_OPC'])/$nQtdCodI;
			 }
			 // Opcionais
			 If ( STRLEN($L_Row['FAT_OPCINAL'])>1 ) {
			    
				$aFat_Opcional = EXPLODE(';',$L_Row['FAT_OPCINAL']);
                ForEach($aFat_Opcional AS $Opc ) {
				     If ( EMPTY($Opc)) { BREAK; }
					 $Opc = EXPLODE(',',$Opc);
					 // 0=Codigo do Item, 1=Quantidade, 2=Preco total
	                 $aProduto  = $aProdutos[$Opc[0]+0];
					 $aItem_Opc = @$aLista_dos_Opc[$Opc[0]+0];
					 $aItem_Opc["ITE_CODIGOI"] = $aProduto["ITE_CODIGOI"];
					 $aItem_Opc["ITE_CODIGOL"] = $aProduto["ITE_CODIGOL"];
					 $aItem_Opc["ITE_DESCRIC"] = $aProduto["ITE_DESCRIC"];
					 $aItem_Opc["ITE_COD_GRU"] = $aProduto["ITE_COD_GRU"];
					 $aItem_Opc["FAT_QUANTID"] = @$aItem_Opc["FAT_QUANTID"]+$Opc[1];
					 //$aItem_Opc["FAT_VALOR_T"] = @$aItem_Opc["FAT_VALOR_T"]+$Opc[2];             // Alteração 5753
					 $aItem_Opc["FAT_VALOR_T"] = @$aItem_Opc["FAT_VALOR_T"]+($Opc[2]*$Opc[1]);
					 $aLista_dos_Opc[$aItem_Opc["ITE_CODIGOI"]] = $aItem_Opc;
                     //
                     //$sTxt_Rel .= $aItem_Opc["ITE_CODIGOL"]." | ".$Opc[1]." x ".$Opc[2].$sPulaLinha;
                     //
				}
			 }
		  
		  }
		  //
       	  $sQuerySQL =
		      "SELECT * FROM cad_grupo_produtos,cad_produto WHERE ".
		          "GRU_TRAREG=0 AND GRU_CODIGO=ITE_COD_GRU AND ITE_REG_TRAVADO=0 ".
	          //"ORDER BY GRU_NUMORD ASC, ITE_DESCRIC ASC;";
			  "ORDER BY ITE_COD_GRU ASC, GRU_NUMORD ASC, ITE_DESCRIC ASC;";
          $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		  //
		  $nCodGruAtual = 0;
		  $sTxtProd_Blk = '';
		  $sPHP_FimdoBlk =
		     'If ($nCodGruAtual>0) {'.
                '$sTxt_Rel .='.
                   'STR_REPEAT("-",40).$sPulaLinha.'.
                   'AlinhaStr("Total",0,19).AlinhaStr(NUMBER_FORMAT($nQtdProGrupo,$nNumDecs,",",""),2,8)."  R$ ".AlinhaStr(FormatoMoeda($nValTotGrupo),2,8).$sPulaLinha.'.
                   '$sPulaLinha;'.
		        '$sCsv_Rel .= '.
		          '"Total;".'.'
                  NUMBER_FORMAT($nQtdProGrupo,$nNumDecs,",","").";".'.
                  '"R$ ".FormatoMoeda($nValTotGrupo).";".'.
		          '$sPulaLinha.'.
		          '$sPulaLinha;'.
             '}'.
             '';
		  //
		  $sPHP_FimdoBlkRes =
		     'If ($nCodGruAtual>0) {'.
                '$sTxt_Gru .='.
                   //'STR_REPEAT("-",40).$sPulaLinha.'.
                   'AlinhaStr("Total",0,19).AlinhaStr(NUMBER_FORMAT($nQtdProGrupo,$nNumDecs,",",""),2,8)."  R$ ".AlinhaStr(FormatoMoeda($nValTotGrupo),2,8).$sPulaLinha;'.
                   //'$sPulaLinha;'.
		        '$sCsv_Gru .= '.
		          '"Total;".'.'
                  NUMBER_FORMAT($nQtdProGrupo,$nNumDecs,",","").";".'.
                  '"R$ ".FormatoMoeda($nValTotGrupo).";".'.
		          '$sPulaLinha.'.
		          '$sPulaLinha;'.
             '}';	 
          //
		  $nQtdTotalPro = 0;      // Quant. total de produtos
		  $nValTotalPro = 0;      // Valor total de produtos
		  $nQtdProGrupo = 0;      // Quant. de produtos por grupo
		  $nValTotGrupo = 0;      // Valor total por grupo
		  $nQtdTotalOpc = 0;      // Quant. total de Opcionais
		  $nValTotalOpc = 0;      // Valor total de Opcionais
		  //
          While ( $L_Row=MYSQL_FETCH_ARRAY($L_Rows) ) {
			 //
		     If ( ISSET($aFatItem[$L_Row['ITE_CODIGOI']]) ) {
			    If ($nCodGruAtual<>$L_Row['ITE_COD_GRU']) {
                   EVAL($sPHP_FimdoBlk);
				   $sTxt_Rel .=
                      "Grupo: ".$L_Row['GRU_DESCRI'].
                      $sPulaLinha.
                      "";
				   $sCsv_Rel .=
                      "Grupo:;".$L_Row['GRU_DESCRI'].";".
                      $sPulaLinha.
                      "Produto;Quantidade;Valor total;".
                      $sPulaLinha;
                   //
				   EVAL($sPHP_FimdoBlkRes);
				   $sTxt_Gru .=
                      "Grupo: ".$L_Row['GRU_DESCRI'].
                      $sPulaLinha.
                      "";
				   $sCsv_Gru .=
                      "Grupo:;".$L_Row['GRU_DESCRI'].";".
                      $sPulaLinha.
                      ";Quantidade;Valor total;".
                      $sPulaLinha;
                   //
				   $nCodGruAtual=$L_Row['ITE_COD_GRU'];
				   $nNumDecs = 0;
				   $sSigUnidade = STRTOUPPER($L_Row['ITE_SIG_UNIDADE']);
				   If ( $L_Row['GRU_ACTSAB'] OR $sSigUnidade=="KG" ) {
				      $nNumDecs = 3;
				   }
				   $nQtdProGrupo = 0;
				   $nValTotGrupo = 0;
				}
                //
				$aProduto = $aFatItem[$L_Row['ITE_CODIGOI']];
				//
				$nQtdTotalPro += $aProduto[0];
				$nValTotalPro += $aProduto[1];
				$nQtdProGrupo += $aProduto[0];
				$nValTotGrupo += $aProduto[1];
				//
				If ($nNumDecs>0) {
                   $sTxt_Rel .=
				      " ".
				      //AlinhaStr( Str_Zero($L_Row['ITE_CODIGOI'],3)."-".$L_Row['ITE_DESCRIC'], 0,19). alteração 4863
					  AlinhaStr( Str_Zero($L_Row['ITE_CODIGOL'],4)."-".$L_Row['ITE_DESCRIC'], 0,19).
		              //$sPulaLinha.
				      " ".
				      AlinhaStr(NUMBER_FORMAT($aProduto[0],$nNumDecs,',','').
				      "  R$ ".AlinhaStr(FormatoMoeda($aProduto[1]),2,8),2,19).
		              $sPulaLinha.
				      "";
                   //
				} Else {
				   $sTxt_Rel .=
				      " ".
				      //AlinhaStr(Str_Zero($L_Row['ITE_CODIGOI'],3)."-".$L_Row['ITE_DESCRIC'],0,19). alteração 4863
				      AlinhaStr(Str_Zero($L_Row['ITE_CODIGOL'],4)."-".$L_Row['ITE_DESCRIC'],0,19).
					  AlinhaStr(" ".NUMBER_FORMAT($aProduto[0],$nNumDecs,',',''),2,7).
				      "  R$ ".AlinhaStr(FormatoMoeda($aProduto[1]),2,8).
		              $sPulaLinha.
				      "";
				}
                $sCsv_Rel .=
                   Str_Zero($L_Row['ITE_CODIGOL'],4)."-".$L_Row['ITE_DESCRIC'].";".
                   NUMBER_FORMAT($aProduto[0],$nNumDecs,',','').";".
                   "R$ ".FormatoMoeda($aProduto[1]).";".
		           $sPulaLinha;
				//
           	
			 }
		  }
          //
		   EVAL($sPHP_FimdoBlk);
		   EVAL($sPHP_FimdoBlkRes);
		   $bCab = False;
		   ForEach ($aLista_dos_Opc As $aDados_Opc) {
		     
			  //If ( EMPTY($aDados_Opc["ITE_CODIGOI"]) ) {
			 
			     $nQtdTotalOpc += $aDados_Opc["FAT_QUANTID"];      // Quant. total de Opcionais
		         $nValTotalOpc += $aDados_Opc["FAT_VALOR_T"];
				 $sGrupo = ''; 
				 
				 If (! ($bCab) ) {
				    $sQuerySQL =
		               "SELECT * FROM cad_grupo_produtos WHERE ".
		                  "GRU_TRAREG=0 AND GRU_CODIGO= '".$aDados_Opc['ITE_COD_GRU'].";'"; 
			       
                    $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
				 
				    While ( $L_Row=MYSQL_FETCH_ARRAY($L_Rows) ) {
			           $sGrupo = $L_Row['GRU_DESCRI'];
				    }
				    //
				    $sTxt_Rel .=
                         "Grupo: ".$sGrupo.
                         $sPulaLinha.
                         "";
                    //
				    $sCsv_Rel .=
                         ";Grupo:;".$sGrupo.";".
                         $sPulaLinha.
                         "Produto;Quantidade;Valor total;".
                         $sPulaLinha.
                         "";
					//
                    $nQtdProGrupo = 0;
                    $nValTotGrupo = 0;
                    $sTxt_Gru .=
                      "Grupo: ".$sGrupo.
                      $sPulaLinha.
                      "";
                    //
				    $sCsv_Gru .=
                      "Grupo:;".$sGrupo.";".
                      $sPulaLinha.
                      ";Quantidade;Valor total;".
                      $sPulaLinha;
                    //
					$bCab = True;	 
				 }
                 $nQtdProGrupo += $aDados_Opc["FAT_QUANTID"];
                 $nValTotGrupo += $aDados_Opc["FAT_VALOR_T"];
                 $nQtdTotalPro += $aDados_Opc["FAT_QUANTID"];
                 $nValTotalPro += $aDados_Opc["FAT_VALOR_T"];
				 //
				 $sTxt_Rel .=
			        " ".
			        AlinhaStr(Str_Zero($aDados_Opc["ITE_CODIGOL"],4)."-".$aDados_Opc["ITE_DESCRIC"],0,18).
			        AlinhaStr(" ".NUMBER_FORMAT($aDados_Opc["FAT_QUANTID"],0,',',''),2,8).
			        "  R$ ".AlinhaStr(FormatoMoeda($aDados_Opc["FAT_VALOR_T"]),2,8).
		            $sPulaLinha.
			        "";    
                 //
                 $sCsv_Rel .=
                    $sPulaLinha.
                    Str_Zero($aDados_Opc["ITE_CODIGOL"],4)."-".$aDados_Opc["ITE_DESCRIC"].";".
                    NUMBER_FORMAT($aDados_Opc["FAT_QUANTID"],0,',','').";".
                    "R$ ".FormatoMoeda($aDados_Opc["FAT_VALOR_T"]).";".
		            $sPulaLinha;
			  //}
		   }
		  //
          If ( $nQtdProGrupo>0 ) {
             EVAL($sPHP_FimdoBlkRes);
          }
          If ( $nQtdTotalOpc > 0 ) {
             $sTxt_Rel .=
		       $sPulaLinha.
               AlinhaStr("TOTAL OPCIONAIS",0,15).AlinhaStr($nQtdTotalOpc,2,12)."  R$ ".AlinhaStr(FormatoMoeda($nValTotalOpc),2,8).$sPulaLinha.
		       $sPulaLinha.
		       $sPulaLinha.
               "";
             $sCsv_Rel .=
               "Total opcionais;".
               $nQtdTotalOpc.";".
               "R$ ".FormatoMoeda($nValTotalOpc).";".
		       $sPulaLinha;
             //
          }
		//
		$sTxt_Rel .= 
		  STR_REPEAT("-",40).
		  $sPulaLinha.
		  AlinhaStr("RESUMO POR GRUPO",1,40).
		  $sPulaLinha.
		  STR_REPEAT("-",40).
		  $sPulaLinha.
		  $sTxt_Gru.
		  //$sPulaLinha.
		  '';
        $sCsv_Rel .=
		  $sPulaLinha.
          ";Resumo por grupo;".
		  $sPulaLinha.
          $sCsv_Gru.
          '';
		//
        If ( ($nQtdTotalPro+$nQtdTotalOpc) > 0 ) {
          $sTxt_Rel .=
             //ALTERAÇÃO 3959 NÃO PERMITIR QUE A QUANTIDADE E O VALOR DOS OPCIONAIS ENTRE NO CÁLCULO DO TOTAL GERAL.
             //AlinhaStr("TOTAL GERAL",0,15).AlinhaStr($nQtdTotalPro+$nQtdTotalOpc,2,12)."  R$ ".AlinhaStr(FormatoMoeda($nValTotalPro+$nValTotalOpc),2,8).$sPulaLinha.
             STR_REPEAT("-",40).
             $sPulaLinha.
             AlinhaStr("TOTAL GERAL",0,15).AlinhaStr($nQtdTotalPro,2,12)."  R$ ".AlinhaStr(FormatoMoeda($nValTotalPro),2,8).$sPulaLinha.
             $sPulaLinha.
             $sPulaLinha.
		     "";
		  //
          $sCsv_Rel .=
		    $sPulaLinha.
            "TOTAL GERAL;".
            $nQtdTotalPro.";".
            "R$ ".FormatoMoeda($nValTotalPro).";".
		    $sPulaLinha.
		    $sPulaLinha.
            '';
		  //
        }
        //
      }
	  //
	  // Produtos Cancelados
      If ($aV_Sessao['ProdutosCan']) {
          $sTxt_Rel .=
		     $sPulaLinha.
		     AlinhaStr("=======================================",1).
			 $sPulaLinha.			 
		     AlinhaStr("*** Listagem de Produtos Cancelados ***",1).			 
			 $sPulaLinha.
		     AlinhaStr("=======================================",1).
			 $sPulaLinha.
//			 AlinhaStr("*** Somente Comandas Recebidas ***",1).
//		     $sPulaLinha.
			 $sPulaLinha.
			 "";
		  //
		  $sCsv_Rel .=
		    $sPulaLinha.
		    ';** Listagem de produtos cancelados **;'.
		    $sPulaLinha;
		  //
       	  $sQuerySQL = "SELECT * FROM cad_funcionario;";
		  $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		  $a_CadFun = ARRAY();
          While ( $L_Row = MYSQL_FETCH_ARRAY($L_Rows) ) {
		      $a_CadFun[$L_Row['FUN_CODIGO']] = $L_Row;
		  }
		  //
       	  $sQuerySQL =
              "SELECT ".
			     "FAT_SQCOMAN,".
                 "FAT_TIP_LOC,".
                 "FAT_NUM_MES,".
                 "FUN_NOMECP ,".
                 "FAT_CANITEM,".
                 //"(FAT_PRE_TOT + FAT_PRE_OPC) FAT_PRE_TOT,  ".
				 "FAT_PRE_TOT,".
                 "FAT_MOTCFT ,".
                 "FAT_CODITE1,".
                 "FAT_QTD_ITE,".
                 "FAT_UNITARI,".
                 "FAT_PRE_OPC,".
				 "FAT_COD_FUN,".
                 "FAT_DAT_HOR,".
				 "prd.*, ".
                 "cfn.* ".
              "FROM       fat_item        AS fti ".
              "LEFT  JOIN fat_geral       AS ftg  ON ftg.FAT_CODIGOI = fti.FAT_CFATGER ".
              "INNER JOIN cad_funcionario AS cfn  ON cfn.FUN_CODIGO  = fti.FAT_COD_FUN ".
			  "LEFT  JOIN cad_produto     AS prd  ON prd.ITE_CODIGOI = fti.FAT_CODITE1 ".
              "WHERE ".
                 ( $aV_Sessao['NumSeqCaixa'] > 0 ? "ftg.FAT_SQCAIXA='".$aV_Sessao['NumSeqCaixa']."' AND " : "" ).
                 "fti.FAT_CANITEM <> '' ".	
                 (STRLEN($sSQLParm_2)>0 ? 'AND '.$sSQLParm_2 : '')." ".
              "ORDER BY fti.FAT_CODIGOI ASC;";
		   
		   //ALTERACAO 4703
		   //$sQuerySQL =
           //  "SELECT fat_item.*, cad_produto.*, fat_geral.FAT_SQCOMAN, fat_geral.FAT_TIP_LOC, fat_geral.FAT_NUM_MES FROM ".
			//   "fat_geral,mov_caixa,fat_item,cad_produto WHERE ".
       	      // "fat_geral.FAT_SQCAIXA=MVC_SQCAIXA AND ".
       		   //"MVC_TIPOMOV=0 AND (FAT_RCFORMA=1 OR FAT_CANCELA>0)  ".
			   //(STRLEN($sSQLParm)>0 ? 'AND '.$sSQLParm : '')." AND ".  ALTERAÇÃO 4703
			 //  "fat_geral.FAT_CODIGOI=fat_item.FAT_CFATGER AND Length(fat_item.FAT_CANITEM)>0 AND ".
			 //  "fat_item.FAT_CODITE1=cad_produto.ITE_CODIGOI ".
       	     //"ORDER BY fat_item.FAT_CODIGOI ASC;";
			//die( $sQuerySQL);
		  $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		  //
		  $nQtdTotalPro = 0;      // Quant. total de produtos
		  $nValTotalPro = 0;      // Valor total de produtos
		  //
		  $sCsv_Rel .=
		    'Comanda;Tipo;Operador Inc;Operador Can;Data Can;Motivo;Produto;Preço Un;Quantidade;Valor;'.
		    $sPulaLinha;
          //
          While ( $L_Row = MYSQL_FETCH_ARRAY($L_Rows) ) {
		  
		    $nNumDecs = 0;
			$sSigUnidade = STRTOUPPER($L_Row['ITE_SIG_UNIDADE']);
			If ( $sSigUnidade=="KG" ) {
			   $nNumDecs = 3;
			}
		    //PREÇO UNITARIO
			If ( $L_Row['FAT_PRE_OPC']==0 ) {
		      $nPrecoUn = FormatoMoeda(($L_Row['FAT_PRE_TOT'])/$L_Row['FAT_QTD_ITE']);
		    } ElseIf ( $L_Row['FAT_PRE_OPC']>0 ) { 
		      //$nPrecoUn = FormatoMoeda($L_Row['FAT_PRE_TOT']/$L_Row['FAT_QTD_ITE']).' + '.FormatoMoeda($L_Row['FAT_PRE_OPC']); alteração 4703 
			  $nPrecoUn = FormatoMoeda(( ($L_Row['FAT_PRE_TOT']-$L_Row['FAT_PRE_OPC'])/$L_Row['FAT_QTD_ITE'])).' + '.FormatoMoeda($L_Row['FAT_PRE_OPC']); 
		    }
			$nPrecoUn = SUBSTR($nPrecoUn,0,13);
		    $nPrecoUn = $nPrecoUn.STR_REPEAT(' ',13-STRLEN($nPrecoUn));
			//PREÇO TOTAL
			If ( $L_Row['FAT_PRE_OPC']==0 ) { //SEM OPCIONAL
			  $nValTotalIte  = $L_Row['FAT_PRE_TOT'];
			} ElseIf ( $L_Row['FAT_PRE_OPC']>0 ) { //COM OPCIONAL
			  ///$nValTotalIte  = $L_Row['FAT_PRE_TOT']+$L_Row['FAT_PRE_OPC']; alteração 4703 
			  $nValTotalIte  = $L_Row['FAT_PRE_TOT'];
			}
			$nQtdTotalPro += $L_Row['FAT_QTD_ITE'];
			$nValTotalPro += $nValTotalIte;
						
			$sTxt_Rel .=
		      $sPulaLinha.
			  AlinhaStr(
			    ' '.
			    'Comanda.: '.Str_Zero($L_Row['FAT_SQCOMAN'],5).'  '.
			    ($L_Row['FAT_TIP_LOC']==0 ?   // Mesa
			    $sTipoLocal.' '.$L_Row['FAT_NUM_MES'] : '').
			    ($L_Row['FAT_TIP_LOC']==1 ?   // Balcão
			    'Balcão' : '').
			    ($L_Row['FAT_TIP_LOC']==2 ?   // Entrega
			    'Disk Entrega' : '')
			  ,0,30).
              "";
			//OPERADOR	
			$aOpe_Can = EXPLODE(";",$L_Row['FAT_CANITEM']); 
			$nOpe_Inc = $L_Row['FAT_COD_FUN'];                  // FUNCIONARIO QUE INCLUIU
            $nDat_Hor = ConvertDtHrSTR($L_Row['FAT_DAT_HOR']);  // Data e hora da inclusão do item no pedido
			$sFun_NomeIn = $a_CadFun[$nOpe_Inc]['FUN_NOMECP'];
			$sMotCan = $L_Row['FAT_MOTCFT'];
			
			//$sFun_NomeCP = $a_CadFun[($aOpe_Can[0]+0)]['FUN_APELID'].'-'.$a_CadFun[($aOpe_Can[0]+0)]['FUN_NOMECP'];
			$sFun_NomeCP = $a_CadFun[($aOpe_Can[0]+0)]['FUN_NOMECP'];
			$sDel_DataHr = ConvertDtHrSTR($aOpe_Can[1]);
			$sDel_DataHr = DATE("d/m/Y H:i:s",$sDel_DataHr);
            $sInc_DataHr = DATE("d/m/Y H:i:s",$nDat_Hor);
			$sTxt_Rel .=
			  $sPulaLinha.
			  AlinhaStr(' Ope.Inc: '.$sFun_NomeIn,0,20).
              " ".$sInc_DataHr.
			  $sPulaLinha.
			  AlinhaStr(' Ope.Can: '.$sFun_NomeCP,0,20).
			  " ".$sDel_DataHr.
			  ( STRLEN($sMotCan)>1 ? 
			       $sPulaLinha.
			       AlinhaStr(' Motivo.: '.$sMotCan,0,35)
			  :
			       ""
			  ).
			  $sPulaLinha;
			//PRODUTOS
			
			If ($nNumDecs>0) {
               $sTxt_Rel .=
			      " ".
			      //Str_Zero($L_Row['ITE_CODIGOI'],3)."-".$L_Row['ITE_DESCRIC']. alteração 4863
				  Str_Zero($L_Row['ITE_CODIGOL'],4)."-".$L_Row['ITE_DESCRIC'].
		          $sPulaLinha.
			      "    ".
			      AlinhaStr(NUMBER_FORMAT( $L_Row['FAT_QTD_ITE'],$nNumDecs,',',''),2,26).
			      ' x '.$nPrecoUn.' = R$'.AlinhaStr(FormatoMoeda($nValTotalIte),2,8).
		          $sPulaLinha.
			      "";
			} Else {
               $sTxt_Rel .=
			      " ".
			      //AlinhaStr(Str_Zero($L_Row['ITE_CODIGOI'],3)."-".$L_Row['ITE_DESCRIC'],0,19). alteração 4863
			      Str_Zero($L_Row['ITE_CODIGOL'],4)."-".$L_Row['ITE_DESCRIC'].
				  $sPulaLinha.
				  "    ".
				  AlinhaStr(" ".NUMBER_FORMAT($L_Row['FAT_QTD_ITE'],$nNumDecs,',',''),2,7).
				  ' x '.$nPrecoUn.' = R$'.AlinhaStr(FormatoMoeda($nValTotalIte),2,8).
		          $sPulaLinha.
			      "";
			}
            //
		    $sCsv_Rel .=
		      Str_Zero($L_Row['FAT_SQCOMAN'],5).
              ';'.
			  ($L_Row['FAT_TIP_LOC']==0 ?   // Mesa
			  $sTipoLocal.' '.$L_Row['FAT_NUM_MES'] : '').
			  ($L_Row['FAT_TIP_LOC']==1 ?   // Balcão
			  'Balcão' : '').
			  ($L_Row['FAT_TIP_LOC']==2 ?   // Entrega
			  'Disk Entrega' : '').
			  ($L_Row['FAT_TIP_LOC']==3 ?   // Comanda
			  'Comanda' : '').
			  ($L_Row['FAT_TIP_LOC']==4 ?   // Encomenda
			  'Encomenda' : '').
			  ($L_Row['FAT_TIP_LOC']==5 ?   // Consignado
			  $sTipoConsignado : '').
              ';'.
              $sFun_NomeIn.
              ';'.
              $sFun_NomeCP.
              ';'.
              $sDel_DataHr.
              ';'.
              $sMotCan.
              ';'.
              Str_Zero($L_Row['ITE_CODIGOL'],4)."-".$L_Row['ITE_DESCRIC'].
              ';'.
              "R$ ".$nPrecoUn.
              ';'.
              NUMBER_FORMAT($L_Row['FAT_QTD_ITE'],$nNumDecs,',','').
              ';'.
              "R$ ".FormatoMoeda($nValTotalIte).
              ';'.
		      $sPulaLinha;
		    //
		  } 
		  //
          $sTxt_Rel .=
            STR_REPEAT("-",40).$sPulaLinha.
		    AlinhaStr("TOTAL GERAL",0,15).AlinhaStr($nQtdTotalPro,2,12)."  R$ ".AlinhaStr(FormatoMoeda($nValTotalPro),2,8).$sPulaLinha.
		    $sPulaLinha.
		    $sPulaLinha.
		    "";
	      $sCsv_Rel .=
		    $sPulaLinha.
            ";;;;;;TOTAL GERAL;;".
            $nQtdTotalPro.";".
            "R$ ".FormatoMoeda($nValTotalPro).";".
            $sPulaLinha.
            $sPulaLinha;
	   }
	   //
	   // Listar todas as mesas ou comandas recebidas - modo analítico
       If ($aV_Sessao['Lst_RcLocAn']) {
	      //
          $sTxt_Rel .=
			 STR_REPEAT("=",40).$sPulaLinha.		  
		     AlinhaStr("** ".$sTipoLocal."s recebidas - Analitico **",1).$sPulaLinha.
			 STR_REPEAT("=",40).$sPulaLinha.		  			 
		     $sPulaLinha.
			 //'N.comanda - Mesa/Comanda - Cliente'.$sPulaLinha.
			 //''.$sPulaLinha.
			 '';
          //
		  $sQuerySQL = "SELECT * FROM cad_modalidade_pag;";
	      $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		  $aLst_CadMod = ARRAY( 0=>"Troco", 999=>"Antecipado");
	      While ( $L_Row = MYSQL_FETCH_OBJECT($L_Rows) ) {
		      $aLst_CadMod[$L_Row->MPG_CODIGOI] = $L_Row->MPG_DESCRIC;
		  }
		  //
		  $sQuerySQL =
		     "SELECT fat_geral.*, mov_modalidade_pag.*  FROM fat_geral,mov_caixa,mov_modalidade_pag  WHERE ".
			    "FAT_SQCAIXA=MVC_SQCAIXA AND ".
				"MVC_TIPOMOV=0 AND FAT_RCFORMA>0 ".
				(STRLEN($sSQLParm)>0 ? 'AND '.$sSQLParm : '')." ".
				"AND MOV_CFATGER=FAT_CODIGOI AND FAT_CAN_DAT=0 ".
		     "ORDER BY MVC_DATAFIC ASC, fat_geral.FAT_SQCOMAN ASC;";
	      $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		  $nUlt_FatCod = 0;
	      While ( $L_Row = MYSQL_FETCH_OBJECT($L_Rows) ) {
		     If ( $nUlt_FatCod <> $L_Row->FAT_CODIGOI ) {
			    $nUlt_FatCod = $L_Row->FAT_CODIGOI;
                $sTxt_Rel .=
		           $sPulaLinha.
			  	   AlinhaStr(
			         'Comanda: '.Str_Zero($L_Row->FAT_SQCOMAN,5).'  '.
			  	     ($L_Row->FAT_TIP_LOC==0 ?   // Mesa
			  	     $sTipoLocal.' '.$L_Row->FAT_NUM_MES : '').
			  	     ($L_Row->FAT_TIP_LOC==1 ?   // Balcão
			  	     'Balcão' : '').
			  	     ($L_Row->FAT_TIP_LOC==2 ?   // Entrega
			  	     'Disk Entrega' : '')
			  	   ,0,30).
			  	   ConvertDataUSBR($L_Row->FAT_DATAINI).
		           $sPulaLinha.
			  	   ( STRLEN($L_Row->FAT_NOMCLIE)>0 ? 'Cliente: '.SUBSTR($L_Row->FAT_NOMCLIE,0,30).$sPulaLinha : '').
			  	   'Prods.: R$'.AlinhaStr( FormatoMoeda($L_Row->FAT_SBTOTAL-$L_Row->FAT_TAXACVR-$L_Row->FAT_TAXASVR), 2, 8).' |'.
		           $sPulaLinha.
			  	   ( ($L_Row->FAT_TAXACVR==0 && $L_Row->FAT_TAXASVR==0) ? '' :
			  	     'Cover: R$'.AlinhaStr( FormatoMoeda($L_Row->FAT_TAXACVR), 2,  8).' | '.
			  	     'Serv.: R$'.AlinhaStr( FormatoMoeda($L_Row->FAT_TAXASVR), 2,  8).' |'.
		             $sPulaLinha
				   ).
			  	   'Descon: R$'.AlinhaStr( FormatoMoeda($L_Row->FAT_VALDESC), 2,  8).' | '.
			  	   'Receb: R$'.AlinhaStr( FormatoMoeda($L_Row->FAT_TOT_REC), 2, 8).' |'.
		           $sPulaLinha.
				   STR_REPEAT("-",40).
		           $sPulaLinha.
			       "";
		     }
			 //
             $sTxt_Rel .=
			    ( $L_Row->MOV_MPGCODI == 0 ? 
				   AlinhaStr($aLst_CadMod[$L_Row->MOV_MPGCODI],0,26,'.').': R$ '.AlinhaStr(FormatoMoeda($L_Row->MOV_VALORMV * -1 ),2,7).' |' 
				   :
			       AlinhaStr($aLst_CadMod[$L_Row->MOV_MPGCODI],0,26,'.').': R$ '.AlinhaStr(FormatoMoeda($L_Row->MOV_VALORMV *  1 ),2,7).' |'
				   ). $sPulaLinha.
				'';
		  }
	   }
	   //
	   // Listar todas as comandas não utilizadas
       If ($aV_Sessao['Com_NaoUt']) {
		  $sQuerySQL =
		     "SELECT * FROM fat_geral WHERE ".
			    "FAT_DATAINI='".$sData_Trabalho."' AND ".
			    "(FAT_TIP_LOC=0 OR FAT_TIP_LOC=3) ".
		     "ORDER BY FAT_CODIGOI ASC;";
	      $L_Rows = MYSQL_QUERY($sQuerySQL) or die(MYSQL_ERROR().'<br>'.$sQuerySQL);
		  //
		  $sLst_Cmds = ' |';
	      While ( $L_Row = MYSQL_FETCH_OBJECT($L_Rows) ) {
		     If ( STRPOS($sLst_Cmds,'|'.$L_Row->FAT_SQCOMAN.'|')==0 ) {
		        $sLst_Cmds .= $L_Row->FAT_SQCOMAN.'|';
		     }
		  }
		  //
          $sTxt_Rel .=
		     AlinhaStr("** ".$sTipoLocal."s não utilizadas **",1).$sPulaLinha.
		     AlinhaStr(ConvertDataUSBR($sData_Trabalho),1).$sPulaLinha.
		     $sPulaLinha.
			 '';
		  //
		  $nQtd_PLinha = 0;
          For ($nContador=0; $nContador<$nQtdLocsT; $nContador++) {
		      $nNComanda = $nCodSeq_Comanda+$nContador;
		      If ( STRPOS($sLst_Cmds,'|'.$nNComanda.'|')==0 ) {
			     If ($nQtd_PLinha==6) {
		            $nQtd_PLinha = 0;
                    $sTxt_Rel .= $sPulaLinha;
				 }
                 $sTxt_Rel .= Str_Zero($nNComanda,5).'  ';
				 //
				 $nQtd_PLinha++;
			  }
		  }
	   }
       $sTxt_Rel .=
          $sPulaLinha.
          $sPulaLinha.
		  '';
	   //
	   //
	   $aV_Sessao['CSV_REL'] = $sCsv_Rel;
	   $sTxt_Rel = RemoveAcentos($sTxt_Rel);
	   $aV_Sessao['TXT_REL'] = $sTxt_Rel;
       $sHTML_Rel = $sTxt_Rel;
       $sHTML_Rel = STR_REPLACE(CHR(10),"",$sHTML_Rel);
       $sHTML_Rel = STR_REPLACE(CHR(13),"<br>",$sHTML_Rel);
       $sHTML_Rel = STR_REPLACE(CHR(32),"&nbsp;",$sHTML_Rel);
       $sHTML_Rel =
          '<div align="center" style="-moz-user-select:text; -khtml-user-select:text; -webkit-user-select:text; -ms-user-select:text; user-select: text; cursor:auto;">'.
           '<table border="0" cellspacing="0" cellpadding="0"><tr><td align="left" style="font-size:13px; font-family:Courier New,Courier,mono;">'.
            $sHTML_Rel.
           '</td></tr></table>'.
          '</div>';
	   //
       $sRet_Javs .= 
          ( $bDir_Restrito ?           
		     ( $aV_Sessao['Fil_TroData'] ?
			    Info_Evento('ALERTA: Sem previlégio para alterar período neste modulo.')
		     :
			    ''
			 )
		  :
		     ''
		  ).	 
		  "parent.document.getElementById('dv_RelCxaR_Txt').innerHTML = ".JAVA_CharCode($sHTML_Rel).";".
          "parent.document.getElementById('objRelCxaR_BT_Abr').style.display='inline-block';".
          "parent.document.getElementById('objRelCxaR_BT_Dwn').style.display='inline-block';".
          "parent.document.getElementById('objRelAbcR_BT_Exc').style.display='inline-block';".
          "";
	   //
	   $aSessao[$sNomeAcesso.'_S'] = $aV_Sessao;
    //
    // IMPRIMIR Relatório pronto
    } ElseIf ( $sAcao=="IMP" ) {
       $sRet_Javs .= "parent.JanEspera(false); ";
	   $aV_Sessao = @$aSessao[$sNomeAcesso.'_S'];
       $sCfg_ClpExp2 = SQLVarConfig('GARCOM_CLIPPER_ARQ_EXPORTA2');
       If ( STRLEN($sCfg_ClpExp2)>3 ) {
	      $sTxt_Cupom = @$aV_Sessao['TXT_REL'];
          If (STRLEN($sTxt_Cupom)>0) {
		     // Gravar o relatório Texto
             $sNomArqExpT = $sCfg_ClpExp2.$R_CadFuncionario->FUN_CODIGO.'_'.DATE("d-m-Y_h-i-s").'_CAIXA.TMP';
             $sIP_NomeArq = STR_REPLACE(".","_",ObterIPdoCliente());
             $sNomArqExpR = $sCfg_ClpExp2.$R_CadFuncionario->FUN_CODIGO.'_'.DATE("d-m-Y_h-i-s").'_CAIXA_'.$sIP_NomeArq.'.REL';
			 //
			 ERROR_REPORTING(0);      // Bloqueio o relatório de erro
             If ( $hArqExp = FOPEN( $sNomArqExpT, "a" ) ) {
                FWRITE($hArqExp, $sTxt_Cupom );
                FCLOSE( $hArqExp );
        	    If ( FILE_EXISTS($sNomArqExpR) ) { UNLINK($sNomArqExpR); }
        	    RENAME( $sNomArqExpT, $sNomArqExpR );
			    //
			 } Else {
		        $sRet_Javs .= Info_Evento('Erro ao gerar arquivo do relatório para impressão.',1,"Impressão de relatório");
			 }
			 ERROR_REPORTING(E_ALL); // Desbloqueio o relatório de erro
		     //
	         // Gera o arquivo PDF
			 /*
			 $sICaminhoPDF = 'Rel_'.DATE('d-m-Y').'_'.GeraChave(6).'.pdf';
			 $sECaminhoPDF = './temporarios/'.$sICaminhoPDF;
			 $sICaminhoPDF = Dir_Temporarios.'/'.$sICaminhoPDF;
             $sHTML_Rel = $sTxt_Cupom;
             $sHTML_Rel = STR_REPLACE(CHR(10),"",$sHTML_Rel);
             $sHTML_Rel = STR_REPLACE(CHR(13),'<br>',$sHTML_Rel);
             //$sHTML_Rel = STR_REPLACE(CHR(32),"&nbsp;",$sHTML_Rel);
             $sHTML_Rel = STR_REPLACE(CHR(32).CHR(32).CHR(32),'<span style="color:#FFFFFF;">___</span>',$sHTML_Rel);
             $sHTML_Rel = STR_REPLACE(CHR(32).CHR(32),'<span style="color:#FFFFFF;">__</span>',$sHTML_Rel);
             $sHTML_Rel =
			     '<html>'.
				 '<body style="margin-left:0.5cm; font-size:12px; font-family:Courier;">'.
                   $sHTML_Rel.
				 '</body>'.
				 '</html>';
             $Gera_PDF = new DOMPDF();
             $Gera_PDF->load_html($sHTML_Rel);
             $Gera_PDF->render();
             $sBin_PDF=$Gera_PDF->output();
			 $hArqTmp = FOPEN( $sICaminhoPDF , 'w');
			 FWRITE($hArqTmp,$sBin_PDF);
			 FCLOSE($hArqTmp);
             $sRet_Javs .=
			    "window.open('".$sECaminhoPDF."','_blank');".
				"";
			 */
             //
          } Else {    // Sem conteudo para imprimir
             $sRet_Javs .=
                 Info_Evento('Não há conteúdo para imprimir.').
                 '';
          }
       } Else {       // Sem caminho para impressão
          $sRet_Javs .=
             Info_Evento('Parametros do caminho inválido.').
             $sJavaFechaEr;
       }
	   //
    //
	// >> Gerar texto para download
    } ElseIf ( $sAcao=="GERAR_TEXTO" ) {
	   $sArquivo = "Relatorio_de_Caixa_".DATE("d-m-Y_H-i-s").".txt";
       $sTxt_Cupom = @$aV_Sessao['TXT_REL'];
       OB_CLEAN();
	   HEADER("Content-Type: text/plain");
	   HEADER("Content-Length: ".STRLEN($sTxt_Cupom));
	   HEADER("Content-Disposition: attachment; filename=".$sArquivo);
	   ECHO $sTxt_Cupom;
	   EXIT;
    //
    // >> Gerar CSV para excel para download
    } ElseIf ( $sAcao=="GERAR_EXCEL" ) {
	   $sArquivo  = "Relatorio_de_Caixa_".DATE("d-m-Y_H-i-s").".csv";
       $sConteudo = @$aV_Sessao['CSV_REL'];
       OB_CLEAN();
	   HEADER("Content-Type: text/csv");
	   HEADER("Content-Length: ".STRLEN($sConteudo));
	   HEADER("Content-Disposition: attachment; filename=".$sArquivo);
	   ECHO $sConteudo;
	   EXIT;
    //
    // FECHAR Janela
    } ElseIf ( $sAcao=="FECHAR" ) {
	   UNSET( $aSessao[$sNomeAcesso.'_S'] );
       $sRet_Javs .=
	       "if (parent.document.getElementById('".$oJanelaPrinc->sIdObj."') != null) { parent.RmElem('".$oJanelaPrinc->sIdObj."'); }".
		   "parent.document.getElementById('".$sNomeIdJan1."_Travar').style.visibility='hidden';".
		   "parent.Disabled_In_Elems('".$sNomeIdJan1."',false);".
	       "parent.document.getElementById('in_RelCxa_DatIni').focus();".
		   "";
    //
    // Janela
	} Else {
	   $aV_Sessao = ARRAY();
	   $aV_Sessao['Fil_DataIni'] = @$_REQUEST['Fil_DataIni'];          // Data inicial
	   $aV_Sessao['Fil_DataFim'] = @$_REQUEST['Fil_DataFim'];          // Data Final
       $aV_Sessao['Fil_TroData'] = False;                              // se alterou a data no modo restrito
	   If ( $bDir_Restrito ) {  //acesso restrito pega a data de trabalho
	      $dDTA_INI = @$aV_Sessao['Fil_DataIni'];
		  $dDTA_FIM = @$aV_Sessao['Fil_DataFim'];
		  
		  If ($dDTA_INI<>ConvertDataUSBR($sData_Trabalho)) {
			  $aV_Sessao['Fil_TroData'] = True;
		  }
		  If ($dDTA_FIM<>ConvertDataUSBR($sData_Trabalho)) {
		       $aV_Sessao['Fil_TroData'] = True;
		  }	  
		  
		  $aV_Sessao['Fil_DataIni'] = ConvertDataUSBR($sData_Trabalho);
	      $aV_Sessao['Fil_DataFim'] = ConvertDataUSBR($sData_Trabalho);
	   }	   
	   $aV_Sessao['Modalidades'] = (@$_REQUEST['Ck_Mod']+0)>0;         // Por modalidades de pagamento
	   $aV_Sessao['ResumoTotalCx'] = (@$_REQUEST['Ck_ResumoTCx']+0)>0;           // Resumo Total dos Caixas
	   $aV_Sessao['GorjetaGarcom'] = (@$_REQUEST['Ck_MovGor']+0)>0;    // Movimento de Gorjeta
	   $aV_Sessao['ValorPizEnt'] = (@$_REQUEST['Ck_PizEnt']+0)>0;      // Valor de Pizza Entregue
	   $aV_Sessao['VendaPorTip'] = (@$_REQUEST['Ck_Tip']+0)>0;         // Vendas por tipo
	   $aV_Sessao['Receb_Clien'] = (@$_REQUEST['Ck_RcC']+0)>0;         // Detalhamento dos recebimentos de cliente
	   $aV_Sessao['GrupoProdut'] = (@$_REQUEST['Ck_Gru']+0)>0;         // Por grupo de produtos
	   $aV_Sessao['ProdutosCan'] = (@$_REQUEST['Ck_CanPro']+0)>0;      // Produtos Cancelados
	   $aV_Sessao['Com_NaoUt']   = (@$_REQUEST['Ck_LsC']+0);           // Listar comandas não utilizadas
	   $aV_Sessao['Lst_RcLocAn'] = (@$_REQUEST['Ck_RcLocA']+0);        // Lista analítica por mesas ou comandas recebidas
	   $aV_Sessao['NumSeqCaixa'] = (@$_REQUEST['NumSeqCai']+0);        // Sequencia de caixa selecionada
	   $aSessao[$sNomeAcesso.'_S'] = $aV_Sessao;
	   //
	   $oJanelaPrinc->sJavKeyDown = "return Car_".$sNomeAcesso."2.Teclas_F(this,event);";	   
	   //
       // Tela HTML
       $sRet_TelaJ_HTML =
    	  $oJanelaPrinc->MontaJanHTML(True).
		  // Teclas
		  '<input id="in_RelCxaV_Tecla" style="position:absolute; top:-600; left:-600; width:1px; height:1px;">'.
		  //
          '<form name="fmPRelCxa_R" accept-charset="utf-8" method="post" action="./car_js.php" target="car_'.$sNomeAcesso.'3">'.
           '<input name="mod" type="hidden" value="'.$sModulo.'">'.
           '<input name="submod" type="hidden" value="'.$sSubModulo.'">'.
           '<input name="acao" type="hidden" value="">'.
    	   '<input name="nomeacs" type="hidden" value="'.$sNomeAcesso.'">'.
          '</form>'.
		  '<div id="dv_RelCxaR_Txt" style="width:100%; height:400px; background:#FFFFFF; overflow:auto;">'.
           '<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">'.
            '<tr><td align="center" valign="middle" style="color:#555555;">'.
            'Aguarde um momento...<br>'.
            '<img src="images/img_load1.gif" border="0">'.
            '</td></tr>'.
           '</table>'.
		  '</div>'.
		  //
          '<table width="100%" style="background-color:'.$sCorBarraInf.';"></tr>'.
           '<td width="4px" height="40px">&nbsp;</td>'.
           '<td width="146px" align="left">'.
            HTML_Botao( 3, 'objRelCxaR_BT_Abr',
			                                 "parent.JanEspera(true, 'Imprimindo relatório... aguarde...');".
											 "setTimeout( function () { ".
		                                        "document.forms.fmPRelCxa_R.acao.value='IMP'; ".
                                                "document.forms.fmPRelCxa_R.submit();".
											 "}, 500);"
                         , 'Imprimir (F8)'   ,'images/btimg_imp.png',120).
		   '</td>'.
		   '<td width="126px" align="left">'.
             HTML_Botao( 3, 'objRelCxaR_BT_Dwn',  'Car_'.$sNomeAcesso.'2.SalvarTexto();'
                          , 'Salvar (F9)'   ,'images/btimg_baixar_texto.png',100).		    
		   '</td>'.
		   '<td width="110px" align="left">'.
             HTML_Botao( 3, 'objRelAbcR_BT_Exc',  'Car_'.$sNomeAcesso.'2.SalvarExcel();'
                          , 'Excel (F10)'   ,'images/btimg_exportar_excel.png',100).		    
		   '</td>'.
           '<td align="right">'.
             HTML_Botao( 3, 'objRelCxaR_BT_Fch', $oJanelaPrinc->sJavOnClickF
                          , 'Sair (ESC)' ,'images/btimg_fechar.png').		    
		   '</td>'.
           '<td width="4px">&nbsp;</td>'.
		   '</tr></table>'.
		   //
    	   $oJanelaPrinc->MontaJanHTML(False);
       //
	   // Java anterior
       $sRet_Javs .=
		  "function Teclas_F( Objeto, Evento ) {".
             "vNumTecla = parent.Tecla_Apertada(Evento);".
             "if ( vNumTecla==120) { ".        //  ** [F9] **          // (Salvar arquivo texto)
                 "setTimeout( parent.document.getElementById('objRelCxaR_BT_Dwn').onclick , 50);".
		     "} else if ( vNumTecla==119) { ". //  ** [F8] **          // (Imprimir)
                 "setTimeout( parent.document.getElementById('objRelCxaR_BT_Abr').onclick , 50);".
		     "} else if ( vNumTecla==116) { ". //  ** [F5] **     Não atualizar
			     //
		     "} else if ( vNumTecla==27) { ".  //  ** [ESC] **         // (SAIR)
                 "setTimeout( parent.document.getElementById('objRelCxaR_BT_Fch').onclick , 50);".
			 "} else {".
			     "return true;".
			 "}".
			 "return false;".
          '}'.
		  //
		  "function SalvarTexto() {".
	        "parent.document.forms.fmPRelCxa_R.acao.value='GERAR_TEXTO';".
            "parent.document.forms.fmPRelCxa_R.submit();".
		  "}".
		  "function SalvarExcel() {".
	        "parent.document.forms.fmPRelCxa_R.acao.value='GERAR_EXCEL';".
            "parent.document.forms.fmPRelCxa_R.submit();".
		  "}".
		  //
	      "";
       // Java posterior
       $sRet_JavsPos .=
	     "parent.document.getElementById('in_RelCxaV_Tecla').focus(); ".
         "parent.document.getElementById('objRelCxaR_BT_Abr').style.display='none';".
         "parent.document.getElementById('objRelCxaR_BT_Dwn').style.display='none';".
         "parent.document.getElementById('objRelAbcR_BT_Exc').style.display='none';".
	     "setTimeout( function () { ".
	        "parent.document.forms.fmPRelCxa_R.acao.value='MONTAR';".
            "parent.document.forms.fmPRelCxa_R.submit();".
		 "} , 300); ".
         "";
	   //
	}
//
//  ** TELA PRINCIPAL DE RELATORIO DE CAIXA **
} Else {
    // Criar objeto Janela
    $oJanelaPrinc = New R_Janela();
    $oJanelaPrinc->sIdObj  = $sNomeIdJan1; 
    $oJanelaPrinc->nTop    = 40;
    $oJanelaPrinc->nLeft   = 5;
    $oJanelaPrinc->nWidth  = 730;   // Largura
    $oJanelaPrinc->nHeight = 0;     // Altura
	$oJanelaPrinc->nLeft   += ($nTela_W/2)-($oJanelaPrinc->nWidth/2);
    $oJanelaPrinc->sTitulo = 'Relatório de Caixa';
	$oJanelaPrinc->aIdsObjList =
	      ARRAY(
		    'in_RelCxa_DatIni',
		    'in_RelCxa_DatFim',
		    'sl_RelCxa_SeqCai',
		    'ck_RelCxa_Mod',
		    'ck_RelCxa_Tip',
		    'ck_RelCxa_Gru',
			'ck_RelCxa_CanPro',
			'ck_RelCxa_RcLocA',
			'ck_RelCxa_LsC'
		  );
 	//$oJanelaPrinc->sJavOnClick = "alert(document.getElementById('in_RelCxa_DatIni').hasfocus);".
	//      "document.getElementById('in_RelCxa_DatIni').focus();".
	//	  "";
    //    
	$sJavaTravarJ = "document.getElementById('".$oJanelaPrinc->sIdObj."_Travar').style.visibility='visible'; parent.Disabled_In_Elems('".$oJanelaPrinc->sIdObj."',true);";
 	$oJanelaPrinc->sJavOnClickF =
         $sJavaTravarJ.
		 "document.forms.fmPRelCxa.acao.value='FECHAR'; ".
         "document.forms.fmPRelCxa.submod.value=''; ".
         "document.forms.fmPRelCxa.submit();";
    //
    // ATUALIZA TELA: Sequencia de Caixa
    If ( $sAcao=="ATUALIZA" ) {
	   //
       SET_TIME_LIMIT(60);
       //
	   $sFil_DataIni = @$_REQUEST['Fil_DataIni'];          // Data inicial
	   $sFil_DataFim = @$_REQUEST['Fil_DataFim'];          // Data Final
	   $aV_Sessao['Fil_TroData'] = False;                              // se alterou a data no modo restrito
	   If ( $bDir_Restrito ) {  //acesso restrito pega a data de trabalho
	      $dDTA_INI = @$aV_Sessao['Fil_DataIni'];
		  $dDTA_FIM = @$aV_Sessao['Fil_DataFim'];
		  
		  If ($dDTA_INI<>ConvertDataUSBR($sData_Trabalho)) {
			  $aV_Sessao['Fil_TroData'] = True;
		  }
		  If ($dDTA_FIM<>ConvertDataUSBR($sData_Trabalho)) {
		       $aV_Sessao['Fil_TroData'] = True;
		  }	  	    

		  //$sFil_DataIni = ConvertDataUSBR($sData_Trabalho);
	      //$sFil_DataFim = ConvertDataUSBR($sData_Trabalho);
	   }
	   
	   
	   
	   $nNumSeqCaiSl = @$_REQUEST['NumSeqCai']+0;          // Sequencia de caixa selecionada
	    
	   $d_Fil_DataIni = ConvertDataSTR( ConvertDataBRUS($sFil_DataIni) );
	   $d_Fil_DataFim = ConvertDataSTR( ConvertDataBRUS($sFil_DataFim) );
	   // DATA INICIAL e FINAL
	   //If ($d_Fil_DataIni==0) { $d_Fil_DataIni=TIME()          ; $sFil_DataIni=DATE("d/m/Y"); }
	   //If ($d_Fil_DataFim==0) { $d_Fil_DataFim=$d_Fil_DataIni  ; $sFil_DataFim=''; }
	   //$sSQLParm = '(MVC_DATAMOV>="'.DATE('Y-m-d',$d_Fil_DataIni).'" AND MVC_DATAMOV<"'.DATE('Y-m-d',$d_Fil_DataFim+(24*60*60)).'")';             // Comparando data de abertura do Caixa
	   $sSQLParm = '';
       If ( $d_Fil_DataIni>0 && $d_Fil_DataFim>0 ) {
         $sSQLParm .= '(MVC_DATAFIC BETWEEN "'.DATE('Y-m-d',$d_Fil_DataIni).'" AND "'.DATE('Y-m-d',$d_Fil_DataFim).'")';
       } Else {
	     If ($d_Fil_DataIni>0) {
	         If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
	         //$sSQLParm .= '(MVC_DATAMOV>="'.DATE('Y-m-d',$d_Fil_DataIni).'")';
	         $sSQLParm .= '(MVC_DATAFIC>="'.DATE('Y-m-d',$d_Fil_DataIni).'")';             // Comparando (Inicial)
	     }
	     If ($d_Fil_DataFim>0) {
	         If (STRLEN($sSQLParm)>0) { $sSQLParm .= ' AND '; }
	         //$sSQLParm .= '(MVC_DATAMOV<"'.DATE('Y-m-d',$d_Fil_DataFim+(24*60*60)).'")';
	         $sSQLParm .= '(MVC_DATAFIC<="'.DATE('Y-m-d',$d_Fil_DataFim).'")';   // Comparando (Final)
         }
       }
	   //
	   //$Rows_MovCai = MYSQL_QUERY("SELECT mov_caixa.*, cad_funcionario.FUN_NOMECP FROM mov_caixa,cad_funcionario WHERE ".(STRLEN($sSQLParm)>0 ? $sSQLParm.' AND' : '')." MVC_TIPOMOV=0 AND FUN_CODIGO=MVC_COD_FUN ORDER BY MVC_DATAFIC DESC;") or die(MYSQL_ERROR());
       $sSQLQuery =
         "SELECT mov_caixa.*, cad_funcionario.FUN_NOMECP ".
         "FROM mov_caixa ".
         "LEFT JOIN cad_funcionario  ON  FUN_CODIGO=MVC_COD_FUN ".
         "WHERE ".(STRLEN($sSQLParm)>0 ? $sSQLParm.' AND' : '')." MVC_TIPOMOV=0 ".
         "GROUP BY MVC_SQCAIXA ".
         "ORDER BY MVC_DATAFIC DESC;".
         '';
       /*
       SELECT mov_caixa.*, cad_funcionario.FUN_NOMECP FROM mov_caixa LEFT JOIN cad_funcionario ON FUN_CODIGO=MVC_COD_FUN WHERE (MVC_DATAFIC>="2019-11-01") AND (MVC_DATAFIC<="2019-11-30") AND MVC_TIPOMOV=0 GROUP BY MVC_SQCAIXA ORDER BY MVC_DATAFIC DESC;
       */
	   $Rows_MovCai = MYSQL_QUERY($sSQLQuery) or die(MYSQL_ERROR());
	   $bPod_Mostrar = True;
       //
	   $sLstCaiHtml = '<option value="0">** Todos os caixas **</option>';
	   //
	   While ( $Row_MovCai = MYSQL_FETCH_OBJECT($Rows_MovCai) ) {
	      $bPod_Mostrar = True;
		  //$d_Mvc_DataMov = ConvertDtHrSTR($Row_MovCai->MVC_DATAMOV);
		  $aDadosCaixa = PuxarDadosCaixa($Row_MovCai->MVC_SQCAIXA, False);
		  $s_Mvc_DataFec = $aDadosCaixa[3];
		  If ($s_Mvc_DataFec==0) {
		     $s_Mvc_DataFec = ' Caixa aberto  ';
		  } Else {
		     $s_Mvc_DataFec = ' Caixa fechado ';
		  }
	      
		  // filtro sequência de caixa modo restrito mostrar somente da data de trabalho
          If ($bDir_Restrito) { 		  
		     If ($Row_MovCai->MVC_DATAFIC<>$sData_Trabalho) {
			    $bPod_Mostrar = False;
		     }
		  }
		  If ($bPod_Mostrar) {
		  	$sLstCaiHtml .=
		  	  '<option value="'.$Row_MovCai->MVC_SQCAIXA.'" '.($nNumSeqCaiSl==$Row_MovCai->MVC_SQCAIXA ? 'selected' : '').'>'.
	             STR_REPLACE(' ','&nbsp;',
				   Str_Zero($Row_MovCai->MVC_SQCAIXA,8).' | '.
				   AlinhaStr($Row_MovCai->FUN_NOMECP,2,10).' | '.
				   DATE('d/m/Y',ConvertDtHrSTR($Row_MovCai->MVC_DATAFIC)).' | '.
				   DATE("H:i",$aDadosCaixa[2]).
                   ( $aDadosCaixa[3]==0 ? 
                     ' |'.
                     ''
                    :
                     ' | '. 
                     DATE("d/m/Y",$aDadosCaixa[8])." - ".
                     DATE("H:i",$aDadosCaixa[3]) 
                   ).
                   $s_Mvc_DataFec
				 ).
				'</option>';
		  }
	   }
       //$sLstCaiHtml =
       //   '<select id="sl_RelCxa_SeqCai" name="NumSeqCai" style="width:98%; font-size:11px; font-family:Courier New,Courier,mono;">'.
       //    $sLstCaiHtml.
       //   '</select>';	   
       $sRet_Javs .=
	      //'parent.document.getElementById("dv_RelCxa_SeqSel").innerHTML = '.JAVA_CharCode_Mini($sLstCaiHtml).'; '.
	      'parent.document.getElementById("sl_RelCxa_SeqCai").innerHTML = '.JAVA_CharCode_Mini($sLstCaiHtml).'; '.
		  'parent.document.getElementById("in_RelCxa_DatIni").value="'.$sFil_DataIni.'"; '.
		  'parent.document.getElementById("in_RelCxa_DatFim").value="'.$sFil_DataFim.'"; '.
		  ( $nPiz_Ent_Val > 0 ?
         'parent.document.getElementById("td_PRelCxaA").style.display="";'
        :
         'parent.document.getElementById("td_PRelCxaB").style.display="none";'
        ). 
         'parent.document.getElementById("objRelCxa_BT_Abr").style.visibility="";'.
         '';
    //
    // FECHAR
    } ElseIf ( $sAcao=="FECHAR" ) {
       $sRet_Javs .=
	       'parent.document.getElementById("dv_MenuL_Barra").style.visibility="visible";'.
	       "parent.RmElem('".$oJanelaPrinc->sIdObj."');".
	       "parent.Car_".$sNomeAcesso."2.location.href='about:blank';".
	       "parent.Car_".$sNomeAcesso."1.location.href='about:blank';";
    //
    // JANELA TELA PRINCIPAL
	} Else {
	   //
	   $oJanelaPrinc->sJavKeyDown = "return Car_".$sNomeAcesso."1.Teclas_F(this,event);";
	   //
       // Tela HTML
       $sRet_TelaJ_HTML =
    	  $oJanelaPrinc->MontaJanHTML(True).
          '<form name="fmPRelCxa" accept-charset="utf-8" method="post" action="./car_js.php" target="car_'.$sNomeAcesso.'2">'.
           '<input name="mod" type="hidden" value="'.$sModulo.'">'.
           '<input name="submod" type="hidden" value="">'.
           '<input name="acao" type="hidden" value="">'.
    	   '<input name="nomeacs" type="hidden" value="'.$sNomeAcesso.'">'.
		   '&nbsp;'.
		  '<table width="100%" border="0">'.
           '<tr>'.
            '<td width="4px" height="20px">&nbsp;</td>'.
            '<td width="80px" align="right">'.
             'Período:'.
            '</td>'.
            '<td align="left">'.
       	     '<table border="0" cellspacing="0" cellpadding="0"><tr>'.
			       '<td width="28px" align="center"><img onclick="'."sIdHasFocus='in_RelCxa_DatIni';".'" src="images/bimg_calendario.png" border="0" id="bt_RelCxa_DatIni" style="cursor:pointer;"></td>'.
			       '<td width="77px">'.
			        //( $bDir_Restrito ? 
					//   '<input id="in_RelCxa_DatIni" name="Fil_DataIni" type="text" maxlength="10" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" value="'.ConvertDataUSBR($sData_Trabalho).'" readonly style="font-size:12px; width:99%;">'
			        // :
					   '<input id="in_RelCxa_DatIni" name="Fil_DataIni" type="text" maxlength="10" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" value="'.ConvertDataUSBR($sData_Trabalho).'" style="font-size:12px; width:99%;">'.
				    //).
				   '</td>'.
			       '<td align="center" width="10px">'.
			         '-'.
			       '</td>'.
			       '<td width="28px" align="center"><img onclick="'."sIdHasFocus='in_RelCxa_DatFim';".'" src="images/bimg_calendario.png" border="0" id="bt_RelCxa_DatFim" style="cursor:pointer;"></td>'.
			       '<td width="77px">'.
			         //( $bDir_Restrito ? 
					 //   '<input id="in_RelCxa_DatFim" name="Fil_DataFim" type="text" maxlength="10" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" value="'.ConvertDataUSBR($sData_Trabalho).'" readonly style="font-size:12px; width:99%;">'
                     // :  
						'<input id="in_RelCxa_DatFim" name="Fil_DataFim" type="text" maxlength="10" onchange="return Car_'.$sNomeAcesso.'1.Atualiza();" value="'.ConvertDataUSBR($sData_Trabalho).'" style="font-size:12px; width:99%;">'.
				     // ).
				   '</td>'.
			       '</tr></table>'.
            '</td>'.
            '<td width="4px" height="20px">&nbsp;</td>'.
		   '</tr>'.
		  '</table>'.
		  '<table width="100%" border="0">'.
           '<tr>'.
            '<td width="4px" height="20px">&nbsp;</td>'.
            '<td width="110px" align="right">'.
             'Sequencia de caixa:'.
            '</td>'.
            '<td align="left">'.
             //'<div id="dv_RelCxa_SeqSel">&nbsp;&nbsp;Aguarde...</div>'.
			 '<select id="sl_RelCxa_SeqCai" name="NumSeqCai" style="width:98%; font-size:11px; font-family:Courier New,Courier,mono;"></select>'.
            '</td>'.
            '<td width="4px">&nbsp;</td>'.
		   '</tr>'.
		  '</table>'.
		  '<table width="100%" border="0">'.
		   '<tr>'.
		    '<td width="60px" height="20px" align="right">'.
			 '<input name="Ck_Mod" id="ck_RelCxa_Mod" type="checkbox" value="1" checked>'.
			'</td>'.
			'<td align="left">'.
			 'Apuração de Caixa'.
			'</td>'.
		   '</tr>'.
			// Resumo Total dos Caixas
			'<tr>'.
		    '<td height="20px" align="right">'.
			   '<input name="Ck_ResumoTCx" id="ck_RelCxa_Resumo" type="checkbox" value="1">'.
			 '</td>'.
			 '<td align="left">'.
			   'Resumo Total dos Caixas'.
			 '</td>'.
		   '</tr>'.
			//
			// gorjetas
		   ( $bMovimento_Gor ?
		   '<tr>'.
		    '<td height="20px" align="right">'.
			 '<input name="Ck_MovGor" id="ck_RelCxa_MovGor" type="checkbox" value="1">'.
			'</td>'.
			'<td align="left">'.
			 'Resumo de Gorjeta por Funcionário'.
			'</td>'.
		   '</tr>':
		   '' ).
			//
			'<td id="td_PRelCxaA" style="display:none;>'.
          '<tr>'.
           '<td height="20px" align="right">'.
			   '<input name="Ck_PizEnt" id="ck_RelCxa_PizEnt" type="checkbox" value="1">'.
			  '</td>'.
			  '<td id="td_PRelCxaB" align="left">'.
			   'Listagem de Comissão por Pizza Entregue'.
			  '</td>'.
          '</tr>'.
         '</td>'. 
         
	      //
		   '<tr>'.
		    '<td height="20px" align="right">'.
			 '<input name="Ck_Tip" id="ck_RelCxa_Tip" type="checkbox" value="1" checked>'.
			'</td>'.
			'<td align="left">'.
			 'Resumo por Tipo de Venda ( '.$sTipoLocal.' / Disk / Balcão )'.
			'</td>'.
		   '</tr>'.
		   '<tr>'.
		    '<td height="20px" align="right">'.
			 '<input name="Ck_RcC" id="ck_RelCxa_RcC" type="checkbox" value="1">'.
			'</td>'.
			'<td align="left">'.
			 'Detalhamento dos recebimentos de cliente'.
			'</td>'.
		   '</tr>'.
		   '<tr>'.
		    '<td height="20px" align="right">'.
			 '<input name="Ck_Gru" id="ck_RelCxa_Gru" type="checkbox" value="1">'.
			'</td>'.
			'<td align="left">'.
			 'Listagem de Vendas por Produto'.
			'</td>'.
		   '</tr>'.
		   // produtos cancelados
		   '<tr>'.
		    '<td height="20px" align="right">'.
			 '<input name="Ck_CanPro" id="ck_RelCxa_CanPro" type="checkbox" value="1">'.
			'</td>'.
			'<td align="left">'.
			 'Listagem de Produtos Cancelados'.
			'</td>'.
		   '</tr>'.
		   //
		   '<tr>'.
		     '<td height="20px" align="right">'.
			    '<input name="Ck_RcLocA" id="ck_RelCxa_RcLocA" type="checkbox" value="1">'.
			  '</td>'.
			  '<td align="left">'.
			    'Recebimento por '.$sTipoLocal.'s - Analítico'.
			  '</td>'.
		   '</tr>'.
		   ( $nTipoTrabCtl==1 ?
            '<tr>'.
             '<td height="20px" align="right">'.
              '<input name="Ck_LsC" id="ck_RelCxa_LsC" type="checkbox" value="1">'.
             '</td>'.
             '<td align="left">'.
              $sTipoLocal.'s não utilizadas no dia '.ConvertDataUSBR($sData_Trabalho).
             '</td>'.
            '</tr>' :
		   '').
		  '</table>'.
		  '</form>'.
		  //
          '<table width="100%" style="background-color:'.$sCorBarraInf.';"></tr>'.
           '<td width="4px" height="40px">&nbsp;</td>'.
           '<td align="left">'.
            HTML_Botao( 3, 'objRelCxa_BT_Abr',
			                                 "var vff = document.forms.fmPRelCxa;".
		                                     "vff.acao.value=''; ".
                                             "vff.submod.value='RELATORIO'; ".
                                             "vff.submit();".
											 $sJavaTravarJ
                         , 'Visualizar (F8)' ,'images/btimg_docs.png',120).		    
		   '</td>'.
           '<td align="right">'.
            HTML_Botao( 3, 'objRelCxa_BT_Fch', $oJanelaPrinc->sJavOnClickF
                         , 'Sair (ESC)' ,'images/btimg_fechar.png').		    
		   '</td>'.
           '<td width="4px">&nbsp;</td>'.
		   '</tr></table>'.		   
		  //
    	  $oJanelaPrinc->MontaJanHTML(False);
       //
	   // Java anterior
       $sRet_Javs .=
	     'parent.document.getElementById("dv_MenuL_Barra").style.visibility="hidden";'.
         "function Teclas_F( Objeto, Evento ) { ".
           "vNumTecla = parent.Tecla_Apertada(Evento); ".
           "if ( vNumTecla==119) { ".         // ** [F8] **
               "if (parent.document.getElementById('objRelCxa_BT_Abr').style.display!='none') {".           // (Visualizar)
                  "parent.".$sJava_Desfoca_Input.
                  "setTimeout( parent.document.getElementById('objRelCxa_BT_Abr').onclick , 10);".
         	  "}".
		   "} else if ( vNumTecla==116) { ".  // ** [F5] **     Não atualizar
               //
           "} else if ( vNumTecla==27 ) { ".  // [ESC]
               "parent.".$sJava_Desfoca_Input.
               "setTimeout( parent.document.getElementById('objRelCxa_BT_Fch').onclick , 10);".
		   "} else {".
		     "return true;".
		   "} ".
	       "return false;".
		 '}'.
		 
		 
	     "";
       // Java posterior
       $sRet_JavsPos .=
	     "parent.document.getElementById('in_RelCxa_DatIni').focus();".
	     "function Atualiza() {".
	        'parent.document.getElementById("objRelCxa_BT_Abr").style.visibility="hidden";'.
		    "var vff = parent.document.forms.fmPRelCxa;".
			"stmp = vff.target;".
			"vff.target='car_".$sNomeAcesso."5';".
	        "vff.acao.value='ATUALIZA'; ".
	        "vff.submod.value=''; ".
            "vff.submit(); ".
			"vff.target = stmp;".
		 "}".
		 
 		 //
         ( $bDir_Consult ?
		    "Atualiza(); "
		 :
		    Info_Evento('ALERTA: Sem previlégio para consulta neste modulo.').
         	"parent.document.forms.fmPRelCxa.acao.value='FECHAR'; ".
            "parent.document.forms.fmPRelCxa.submod.value=''; ".
         	"parent.document.forms.fmPRelCxa.submit();"
		 ).
		 'parent.Calendar.setup({ '.
           'inputField : "in_RelCxa_DatIni", '.
           'trigger    : "bt_RelCxa_DatIni", '.
           'onSelect   : function() { this.hide(); parent.sIdHasFocus=""; Atualiza(); }, '.
           'showTime   : 0, '.
           'dateFormat : "%d/%m/%Y" '.
         '});'.
         'parent.Calendar.setup({ '.
           'inputField : "in_RelCxa_DatFim", '.
           'trigger    : "bt_RelCxa_DatFim", '.
           'onSelect   : function() { this.hide(); parent.sIdHasFocus=""; Atualiza(); }, '.
           'showTime   : 0, '.
           'dateFormat : "%d/%m/%Y" '.
         '});'.
		 
		
			//
			/*"function P_PizEnt() {".
           "if (parent.document.getElementById('ck_RelCxa_PizEnt').checked) {".
             'parent.document.getElementById("dv_PRelCxa").style.display="";'. 
           "} else {".   
             'parent.document.getElementById("dv_PRelCxa").style.display="none";'. 
           "}".  
         "}".*/
		   //
         "";
	}
}