<?php
// Criar objeto Janela
$oJanelaPrinc = New R_Janela();
$oJanelaPrinc->sIdObj  = "iJan_CxaJuntaLocal"; 
$oJanelaPrinc->nTop    = 200;
$oJanelaPrinc->nLeft   = 20;
$oJanelaPrinc->nWidth  = 340;   // Largura
$oJanelaPrinc->nHeight = 0;     // Altura
$oJanelaPrinc->nLeft  += ($nTela_W/2)-($oJanelaPrinc->nWidth/2);
$oJanelaPrinc->sTitulo = 'Juntar '.$sTipoLocal;
$oJanelaPrinc->sJavKeyDown = "return Car_".$sNomeAcesso."10.Teclas_F(this,event);";
$sJavaTravarJ = "parent.document.getElementById('".$oJanelaPrinc->sIdObj."_Travar').style.visibility='visible'; parent.Disabled_In_Elems('".$oJanelaPrinc->sIdObj."',true);";
$oJanelaPrinc->sJavOnClickF =
     $sJavaTravarJ.
     "parent.document.forms.fmECxaJntLoc.acao.value='FECHAR'; ".
     "parent.document.forms.fmECxaJntLoc.submit();".
	 "";
//
$nFat_CodigoI = @$_REQUEST['NumFatG']+0;
// MONTAGEM DA JANELA
If ( EMPTY($sAcao) ) {
   //
   $oJanelaPrinc->aIdsObjList = ARRAY('iCadEProAgr_NumOrd');
   $Row = ARRAY();
   If ( $nFat_CodigoI>0 ) {
	   $Row = MYSQL_QUERY('SELECT FAT_NUM_MES FROM fat_geral WHERE FAT_CODIGOI='.$nFat_CodigoI.';') or die(MYSQL_ERROR());
	   $Row = MYSQL_FETCH_ARRAY($Row);
   }
   //
   // Tela HTML
   //
   $sCSS_Inputs = 'background:#FFFBEC; border-width: 1px; border-style: solid; border-color: #0099FF;';
   $sRet_TelaJ_HTML =
	  $oJanelaPrinc->MontaJanHTML(True).
      '<form name="fmECxaJntLoc" accept-charset="utf-8" method="post" action="./car_js.php" target="car_'.$sNomeAcesso.'11">'.
       '<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.'">'.
       '<input name="NumFatG" type="hidden" value="'.$nFat_CodigoI.'">'.
	  '<table width="100%">'.
	   '<tr>'.
	    '<td align="right" width="10px">'.
		'</td>'.
		'<td align="left">'.
	     'Juntar todas as '.$sTipoLocal.'s para a <strong>'.$sTipoLocal.' '.@$Row['FAT_NUM_MES'].'</strong> de destino.'.
		'</td>'.
	   '</tr>'.
	  '</table>'.
	  '<table width="100%">'.
	   '<tr>'.
	    '<td align="right" width="10px">'.
		'</td>'.
	    '<td align="right">'.
	     $sTipoLocal.'s:'.
		'</td>'.
		'<td align="left">'.
	     '<input id="iCxa_LstLocal" name="Cxa_Lst_Loc" value="" type="text" maxlength="26" style="width:160px; height:22px; '.$sCSS_Inputs.'">'.
		 ' (Ex: 5,6,10 )'.
		'</td>'.
	   '</tr>'.
	  '</table>'.
      '</form>'.
	  '<div style="width:100%; height:1px; background-color:#91D8F8;"></div>'.
   	  '<table width="100%"></tr>'.
   	   '<td width="4px" height="40px" align="left">&nbsp;</td>'.
   	   '</td>'.
   	   '<td>'.
   	    HTML_Botao( 3, 'CxaJunt_BT_Sav', "JanEspera(true, 'Salvando o cadastro aguarde...');".
                                             "document.forms.fmECxaJntLoc.acao.value='SALVAR'; ".
	                                         "document.forms.fmECxaJntLoc.submit();"
		             , 'Confirma','images/btimg_ativar.png').'&nbsp;&nbsp;'.
   	   '</td>'.
   	   '<td width="120px" align="left">'.
   	    HTML_Botao( 3, 'CxaJunt_BT_Fec', $oJanelaPrinc->sJavOnClickF
                     , 'Sair (ESC)','images/btimg_fechar.png').
   	   '</td>'.
   	  '</tr></table>'.
	  $oJanelaPrinc->MontaJanHTML(False);
   //
   $sRet_Javs .=
      "function Teclas_F( Objeto, Evento ) {".
         "vNumTecla = parent.Tecla_Apertada(Evento);".
         "if ( vNumTecla==13) { ".         //  ** [ENTER] **         // (Gravar)
	 	    "if ( parent.document.getElementById('CxaJunt_BT_Sav').style.display != 'none' ) {".
                 "setTimeout( parent.document.getElementById('CxaJunt_BT_Sav').onclick , 100);".
	 	    "}".
         "} else if ( vNumTecla==116) { ".  // ** [F5] **         Não atualizar
	 	    //
         "} else if ( vNumTecla==27) { ".  //  ** [ESC] **        // (SAIR)
             "setTimeout( parent.document.getElementById('CxaJunt_BT_Fec').onclick , 100);".
         "} else {".
             "return true;".
         "}".
         "return false;".
      '}'.
      '';
   $sRet_JavsPos .=
      'parent.document.getElementById("iCxa_LstLocal").focus();'.
      '';
   //
//
// SALVAR
} ElseIf ( $sAcao=="SALVAR" ) {
   $sLista_Locais = @$_POST['Cxa_Lst_Loc'];
   $aLista_Locais = EXPLODE(",",$sLista_Locais.",");
   $aLista_CodFat = ARRAY();
   $bJuntarLocais = True;
   $nQtd_Pes_Origem  = 0;   //Qtde de pessoas para somar quando junta ou trasnfere origem
   $nQtd_Pes_Destino = 0;   //Qtde de pessoas para somar quando junta ou trasnfere destino
   //$nTot_Pes_OriDes  = 0;   //Total de Origem+Destino 
   $sRet_Javs .= "parent.JanEspera(false);";
   // Verificar local de destino
   If ( $nFat_CodigoI>0 ) {
	   $Row = MYSQL_QUERY('SELECT FAT_CODIGOI,FAT_QTD_PES FROM fat_geral WHERE FAT_CANCELA=0 AND FAT_RCFORMA=0 AND FAT_DAT_FIM=0 AND FAT_CODIGOI='.$nFat_CodigoI.';') or die(MYSQL_ERROR());
	   $bJuntarLocais = ( MYSQL_NUM_ROWS($Row) > 0 );
	   $Row = MYSQL_FETCH_OBJECT($Row);
	   //$Row = @$Row->FAT_CODIGOI+0;
       //$bJuntarLocais = ($Row==$nFat_CodigoI);
   

	   If(@$Row->FAT_QTD_PES == 0){
	     $nQtd_Pes_Destino = 1;
       } Else {
         $nQtd_Pes_Destino = @$Row->FAT_QTD_PES;
       }			   
	   
	   
   } Else {
       $bJuntarLocais = False;
   }
		 		 
   
   If ( ! $bJuntarLocais ) {
      $sRet_Javs .= Info_Evento('Faturamento geral de destino não encontrado.',1);
   }
   // Verificar lista de locais de origem
   If ( $bJuntarLocais ) {
      ForEach ( $aLista_Locais as $sNum_Local ) {
	    $nTmp_NumLoc = Somente_Numeros($sNum_Local)+0;
		
		
		
        If ( $nTmp_NumLoc>0 ) {
	       //$Row = MYSQL_QUERY('SELECT FAT_CODIGOI, FAT_DAT_FIM FROM fat_geral WHERE FAT_CANCELA=0 AND FAT_RCFORMA=0 AND (FAT_TIP_LOC=0 OR FAT_TIP_LOC=3) AND FAT_NUM_MES='.$nTmp_NumLoc.';') or die(MYSQL_ERROR());
	       $Row = MYSQL_QUERY('SELECT FAT_CODIGOI, FAT_DAT_FIM, FAT_QTD_PES FROM fat_geral WHERE FAT_CANCELA=0 AND FAT_RCFORMA=0 AND (FAT_TIP_LOC=0 OR FAT_TIP_LOC=3) AND FAT_NUM_MES='.$nTmp_NumLoc.';') or die(MYSQL_ERROR());
		   If ( $Row = MYSQL_FETCH_OBJECT($Row) ) {
	          If($Row->FAT_QTD_PES == 0){
			     $nQtd_Pes_Origem += 1;
              } Else {
                 $nQtd_Pes_Origem += $Row->FAT_QTD_PES;
              }		

 		 
					  
		      //$nTot_Pes_OriDes += $nQtd_Pes_Origem+$nQtd_Pes_Destino;  
		      If ( $nFat_CodigoI==$Row->FAT_CODIGOI ) {
                 $bJuntarLocais = False;
                 $sRet_Javs .= Info_Evento('A '.$sTipoLocal.' '.$nTmp_NumLoc.' é de destino,<br>não pode ser especificada na lista de origem.',1);
		         BREAK;
			  } ElseIf ( ConvertDtHrSTR($Row->FAT_DAT_FIM)>0 ) {
                 $bJuntarLocais = False;
                 $sRet_Javs .= Info_Evento('Não é permitido juntar a '.$sTipoLocal.' '.$nTmp_NumLoc.' porque ela<br>está aguardando recebimento.',1);
		         BREAK;
			  }
              $Row_T = MYSQL_QUERY("SELECT * FROM garcom_term_local WHERE LOC_CODNUM='".$nTmp_NumLoc."';") or die(MYSQL_ERROR());
              If ( $Row_T = MYSQL_FETCH_OBJECT( $Row_T ) ) {
			     If ( $Row_T->LOC_NUMTRM==0 ) {
                    $sRet_Javs .= Info_Evento($sTipoLocal.' '.$nTmp_NumLoc.' não disponível para a junção.<br>O Retaguarda Web esta com a mesma aberta.',1);
				 } Else {
                    $sRet_Javs .= Info_Evento($sTipoLocal.' '.$nTmp_NumLoc.' não disponível para a junção.<br>O terminal '.$Row_T->LOC_NUMTRM.' do Garçom Express<br>esta com a mesma aberta.',1);
				 }
                 $bJuntarLocais = False;
			     BREAK;
			  }
	          $aLista_CodFat[] = $Row->FAT_CODIGOI;
		   } Else {
              $bJuntarLocais = False;
              $sRet_Javs .= Info_Evento($sTipoLocal.' '.$nTmp_NumLoc.' não disponível para a junção.',1);
		      BREAK;
		   }
		}
      }
   }
   // Gravar a junção de locais
   If ( $bJuntarLocais ) {
   
      ForEach ( $aLista_CodFat as $sCodFat ) {
		 // DAR UPDATE EM TODOS OS ITEM PARA TROCAR O CODIGO FAT_CFATGER
	      $sSQLQuery =
		     "UPDATE fat_item SET ".
		        "FAT_CFATGER='".$nFat_CodigoI."' ". 
		     "WHERE FAT_CFATGER=".($sCodFat+0).";";
	      MYSQL_QUERY($sSQLQuery) or die(MYSQL_ERROR().' '.$sSQLQuery);
		 // DAR UPDATE NO FAT_GERAL DE ORIGEM PARA MARCAR COMO CANCELADO E COLOCAR NA OBSERVACAO PARA ONDE FOI SEUS ITENS
	      $sSQLQuery =
		     "UPDATE fat_geral SET ".
		        "FAT_DAT_FIM='".DATE("Y-m-d H:i:s")."',".
				"FAT_CANCELA=".$R_CadFuncionario->FUN_CODIGO.",".
				"FAT_CAN_DAT='".DATE("Y-m-d H:i:s")."',".
				"FAT_OBSERV2='Itens transferidos para outro faturamento (".$nFat_CodigoI.").' ".
		     "WHERE FAT_CODIGOI=".($sCodFat+0).";";
	      MYSQL_QUERY($sSQLQuery) or die(MYSQL_ERROR().' '.$sSQLQuery);
	  }
	  // update no campo FAT_QTD_PES da mesa de destino
 		 
		
	  
	  $sSQLQuery =
	     "UPDATE fat_geral SET ".
		    "FAT_QTD_PES=".($nQtd_Pes_Origem+$nQtd_Pes_Destino)." ".
	      "WHERE FAT_CODIGOI=".$nFat_CodigoI.';';
	  MYSQL_QUERY($sSQLQuery) or die(MYSQL_ERROR().' '.$sSQLQuery);
	  
	  //
	  Recalcular_FatGer( $nFat_CodigoI );
	  $aSessao[$sNomeAcesso.'_CXA_INICIAL'] = True;
	  //
      $sRet_Javs .=
         "parent.JanEspera(false);".
         $oJanelaPrinc->sJavOnClickF.
         '';
   }
//
// FECHAR
} ElseIf ( $sAcao=="FECHAR" ) {
   $sRet_Javs .= 
      "parent.RmElem('".$oJanelaPrinc->sIdObj."'); ".
	  "parent.Disabled_In_Elems('".$sNomeIdJ_Ant."',false);".
	  "parent.document.getElementById('".$sNomeIdJ_Ant."_Travar').style.visibility='hidden';".
	  $sJavaExePos.
	  "";
}
//
?>