#include "PROTHEUS.CH"
#include "RWMAKE.CH"
#include "APWEBEX.CH"
#include "TOPCONN.CH"
#include "TBICONN.CH"
/*__________________________________________________________________________
�����������������������������������������������������������������������������
��+-----------------------------------------------------------------------+��
���Fun��o    � Pedidos 		� Autor � Lucilene Mendes    � Data �02.05.24 ���
��+----------+------------------------------------------------------------���
���Descri��o � Grid com os pedidos do cliente.  				  		  ���
��+-----------------------------------------------------------------------+��
�����������������������������������������������������������������������������
���������������������������������������������������������������������������*/

User Function Pedidos()
Local cHtml
Local cLink		:= ""                      
Local cLinkTot	:= ""                      
Local cEmpresa	:= ""
Local cDataDe	:= ""
Local cDataAte	:= ""
Local cFiltDe	:= ""
Local cFilAte	:= ""
Local cEndServ	:= ""
// Local cStatus   := ""
Local aEmpresas := {}
Local aFiliais 	:= {}
Local _nI		:= 0
                      
Private cColunas:= ""
Private cItens	:= ""  
Private cTopo	:= ""  
Private cFooter	:= ""  
Private cSite	:= "u_PortalLogin.apw"
Private cPagina	  := "Pedidos"
Private cTitle	  := "" 
Private lTableTools:= .T.
Private lSidebar:= .F.
Private cCodLogin := ""
Private cLoginGet := ""

Web Extended Init cHtml Start U_inSite()

	cVendLogin := u_GetUsrPR()
	cCodLogin  := U_SetParPR(cVendLogin)

	If Empty(HttpSession->CodVend)
		cHtml:= '<META HTTP-EQUIV="Refresh" CONTENT="0 ; URL='+cSite+'">'
		Return cHtml
	Else
		If !Empty(HttpSession->Superv) .and. HttpSession->Superv <> HttpSession->CodVend
			HttpSession->CodVend:= HttpSession->Superv
		Endif
	Endif
	
	// Pega do par�metro com o Titulo do Portal
	cTitle	:= SuperGetMV("PS_TITLE", .T., "Portal SMS")
	
	// Define a funcao a ser chama no link
	cSite	:= "u_SMSPortal.apw?PR="+cCodLogin
	
	// Monta o cabe�alho para a pagina
	cHeader := U_PSHeader(cTitle, cSite) 	
	
	//Fun��o que atualiza os menus
	cMenus := U_GetMenus(AllTrim(Upper(Procname())), cLoginGet)

	//Atualiza vari�veis
	cEndServ := GetMv('MV_WFBRWSR')
	
	//Tratamento dos filtros
	If type("HttpPost->DataDe") <> "U"
		//Se vazio, usa as datas padr�o para evitar erro na query
		If Empty(HttpPost->DataDe) .or. Empty(HttpPost->DataAte)
			cDataDe:= dtos(date()-30)
			cDataAte:= dtos(date())
		Else
			cDataDe:= dtos(ctod(HttpPost->DataDe))
		    cDataAte:= dtos(ctod(HttpPost->DataAte))
		Endif
		//Atualiza as vari�veis no valor do filtro
		cFiltDe:= dtoc(stod(cDataDe))
		cFilAte:= dtoc(stod(cDataAte)) 
		cEmpresa:= HttpPost->filempresa
	Else
	    //Vari�veis dos input dos filtros
		cFiltDe:= dtoc(date()-30)
		cFilAte:= dtoc(date())
		//Vari�veis de filtro da query
		cDataDe:= dtos(date()-30)
		cDataAte:= dtos(date())  
	Endif
	
	
	//Filtros
    cTopo:= '<div class="row form-group">'
    cTopo+= '	<div class="col-sm-12" align="">'
	cTopo+= '		<div class="col-sm-2" style="padding: 20px;">'
	cTopo+= '			<button class="btn btn-primary" id="btAddOrc" name="btAddPed" onclick="javascript: getFilVend();">'
    // cTopo+= '			<button class="btn btn-primary" id="btAddOrc" name="btAddOrc" onclick="window.document.location='+"'"+cLink+"'"+'";>'
    cTopo+= '			  <i class="fa fa-plus"></i> Novo Pedido</button>'
    cTopo+= '  		</div>'
	cTopo+= '  	<br>'
    cTopo+= '	<form name="formGrid" id="formGrid" method="POST" action="U_Pedidos.apw?PR='+cCodLogin+'">'
    cTopo+= '			<label class="col-md-1 control-label">Empresa:</label>'
    cTopo+= '  			<div class="col-sm-2">'
	cTopo+= '			 	<div class="input-group">'
	//cTopo+= '					<select data-plugin-selectTwo class="form-control populate placeholder" name="filempresa" id="filempresa" '
	cTopo+= '					<select data-plugin-selectTwo class="form-control populate mb-md" name="filempresa" id="filempresa" '
	//cTopo+= ' 					data-plugin-options='+"'"+'{"minimumResultsForSearch": "-1","placeholder": "Selecione...", "allowClear": false}'+"'"+' required="" aria-required="true" value="'+cEmpresa+'">'
	cTopo+= ' 					data-plugin-options='+"'"+'{"minimumResultsForSearch": "-1"}'+"'"+' required="" aria-required="true" value="'+cEmpresa+'">'
	cTopo+= '							<option value=""></option>'		
	
	aEmpresas := FWAllCompany()
		
	For _nI := 1 To Len(aEmpresas)
		aAdd(aFiliais,{aEmpresas[_ni],Alltrim(FWArrFilAtu(cEmpant,aEmpresas[_nI])[19])})
	Next
	aSort(aFiliais, , , { |x,y| x[2] < y[2] })

	For _nI := 1 To Len(aFiliais)
		cTopo+= '						<option value="'+aFiliais[_nI,1]+'"'+Iif(cEmpresa == aFiliais[_nI,1],' selected','')+'>'+aFiliais[_nI,2]+'</option>'
	Next

    cTopo+= '					</select>'
    cTopo+= '				</div>'
    cTopo+= '			</div>'
 
  	cTopo+= '		<label class="col-md-1 control-label">Emiss�o De:</label>'
    cTopo+= '  		<div class="col-md-2">'
	cTopo+= '		 	<div class="input-group">'
    cTopo+= '    			<span class="input-group-addon">'
    cTopo+= '					<i class="fa fa-calendar"></i>'
    cTopo+= '			    </span>'   
    cTopo+= '				<input data-plugin-datepicker="" data-plugin-options='+"'"+'{"autoclose": "true", "language": "pt-BR",'
	cTopo+= '					"daysOfWeekDisabled": "","daysOfWeekHighlighted":"[0]"}'+"'"+' value="'+cFiltDe+'" ' 
    cTopo+= '					placeholder="__/__/____" id="datade" name="datade" class="form-control only-numbers" type="text"></input>'
    cTopo+= '			</div>'
    cTopo+= '		</div>'       
  
    cTopo+= '		<label class="col-md-1 control-label">Emiss�o At�:</label>'
	cTopo+= '		<div class="col-md-2">'
	cTopo+= '			<div class="input-group">'
    cTopo+= '				<span class="input-group-addon">'
    cTopo+= '					<i class="fa fa-calendar"></i>'
    cTopo+= '				</span>'   
    cTopo+= '				<input data-plugin-datepicker="" data-plugin-options='+"'"+'{"autoclose": "true", "language": "pt-BR",'
	cTopo+= '					"daysOfWeekDisabled": "","daysOfWeekHighlighted":"[0]"}'+"'"+' value="'+cFilAte+'" '
    cTopo+= '					placeholder="__/__/____" id="dataate" name="dataate" class="form-control only-numbers" type="text"></input>'
    cTopo+= '			</div>'
    cTopo+= '		</div>' 
    cTopo+= '		<div class="col-md-1">'
    cTopo+= '			<button class="btn btn-primary" id="btFiltro" value="" onclick="this.value= '+"'"+'Aguarde...'+"'"+';this.disabled= '+"'"+'disabled'+"'"+';Filtro()" name="btFiltro">'
    cTopo+= '			<i class="fa fa-filter"></i> Filtrar</button>' 
    cTopo+= '		</div>' 
    cTopo+= '	</form>'
	cTopo+= '	</div>'
	cTopo+= '</div>'
	
	
	// Busca as notas fiscais
	cQry := " SELECT DISTINCT C5_FILIAL, C5_NUM, C5_CLIENTE, C5_LOJACLI, A1_NREDUZ, A1_EMAIL, C5_EMISSAO, C5_VEND1 VEND, SUM(C6_VALOR) VALOR, C5_NOTA, C5_SERIE, SC5.R_E_C_N_O_ RECSC5, "
	cQry += " CASE "
    cQry += "     WHEN C5_LIBEROK = '' AND C5_NOTA = '' AND C5_BLQ = '' AND SC5.R_E_C_D_E_L_ = 0 THEN 'ABERTO' "
    cQry += "     WHEN C5_LIBEROK <> '' AND C5_NOTA = '' AND C5_BLQ = '' AND SC5.R_E_C_D_E_L_ = 0 THEN 'LIBERADO' "
    cQry += "     WHEN C5_BLQ = '1' AND SC5.R_E_C_D_E_L_ = 0 THEN 'BLOQUEADO POR REGRA' "
    cQry += "     WHEN C5_BLQ = '2' AND SC5.R_E_C_D_E_L_ = 0 THEN 'BLOQUEADO' " //BLOQUEADO POR VERBA
    cQry += "     WHEN C5_NOTA <> '' AND SC5.R_E_C_D_E_L_ = 0 THEN 'FATURADO' "
    cQry += "     WHEN SC5.R_E_C_D_E_L_ <> 0 THEN 'CANCELADO' "
    cQry += "     ELSE 'ABERTO' "
    cQry += " END AS C5_STATUS "
	cQry += " FROM "+RetSqlName("SC5")+" SC5 "
	cQry += " INNER JOIN "+RetSqlName("SA1")+" SA1 ON A1_FILIAL = '"+xFilial("SA1")+"' AND SA1.A1_COD = SC5.C5_CLIENTE AND SA1.A1_LOJA = SC5.C5_LOJACLI AND SA1.D_E_L_E_T_ = ' ' "
	cQry += " INNER JOIN "+RetSqlName("SC6")+" SC6 ON C6_FILIAL = C5_FILIAL AND C6_NUM = C5_NUM AND SC6.D_E_L_E_T_ = ' ' "
	cQry += " WHERE " // AND C5_FILIAL = '"+xFilial("SF2")+"'
	cQry += " C5_CLIENTE = A1_COD AND C5_LOJACLI = A1_LOJA "
	If !Empty(cEmpresa)
		cQry += " 	AND SUBSTRING(C5_FILIAL,1,2) = '"+cEmpresa+"' "
	Endif
	cQry += " AND C5_TIPO = 'N' "
	cQry += " AND C5_EMISSAO between '"+cDataDe+"' and '"+cDataAte+"' "
	cQry += " AND SC5.D_E_L_E_T_ = ' ' "
	cQry += " GROUP BY C5_FILIAL, C5_NUM, C5_CLIENTE, C5_LOJACLI, A1_NREDUZ, A1_EMAIL, C5_EMISSAO, C5_VEND1, C5_NOTA, C5_SERIE, C5_LIBEROK, C5_BLQ, C5_STATUS, SC5.R_E_C_N_O_, SC5.R_E_C_D_E_L_  "
	cQry += " ORDER BY C5_NUM, C5_EMISSAO "
	
	If Select("QRY") > 0
		QRY->(dbCloseArea())
	Endif	
	APWExOpenQuery(ChangeQuery(cQry),'QRY',.T.)
	

	TcSetField("QRY","C5_EMISSAO","D")

	
	//Cabe�alho do grid
	cColunas+='<th>Empresa</th>'
	cColunas+='<th>Pedido</th>'
	cColunas+='<th>Emiss�o</th>'
	cColunas+='<th>Cliente</th>'
	cColunas+='<th>Nome Fantasia</th>'
	cColunas+='<th>Valor</th>'    
	cColunas+='<th>Nota Fiscal</th>'
	cColunas+='<th>S�rie</th>'
	cColunas+='<th>Status</th>'
	// If HttpSession->Tipo = 'S' //Supervisor 
    // 	cColunas+='<th>Vendedor</th>'
	// Endif             

	aStatus:= StrTokArr(Posicione('SX3',2,'C5_STATUS','X3CBox()'),";")

	While QRY->(!Eof())

		cLink:= "U_MntPed.apw?PR="+cCodLogin+"&rec="+cValtoChar(QRY->RECSC5)"

		cLinkTot:='onclick="window.document.location='+"'"+cLink+"&opc=view'"+';"' 

		cItens+='<tr>'+CRLF
	    cItens+='	<td role="button" '+cLinkTot+'>'+QRY->C5_FILIAL+'</td>'
	    cItens+='	<td role="button" '+cLinkTot+'>'+QRY->C5_NUM+'</td>'
	    cItens+='	<td role="button" '+cLinkTot+' data-order="'+dtos(QRY->C5_EMISSAO)+'">'+DTOC(QRY->C5_EMISSAO)+'</td>'
	    cItens+='	<td role="button" '+cLinkTot+'>'+QRY->C5_CLIENTE+'/'+QRY->C5_LOJACLI+'</td>'
	    cItens+='	<td role="button" '+cLinkTot+'>'+Alltrim(QRY->A1_NREDUZ)+'</td>' 
	    cItens+='	<td role="button" '+cLinkTot+'>'+Transform(QRY->VALOR,PesqPicT("SF2","F2_VALMERC"))+'</td>'   
	    cItens+='	<td role="button" '+cLinkTot+'>'+QRY->C5_NOTA+'</td>'
		cItens+='	<td role="button" '+cLinkTot+'>'+QRY->C5_SERIE+'</td>'
		
		// nPosStatus:= aScan(aStatus,{|x| Left(x,2)== QRY->C5_STATUS})
		// If nPosStatus > 0
		// 	cStatus:= Substr(aStatus[nPosStatus],4)
		// Else
		// 	cStatus:= ""
		// Endif
		// cItens+='	<td role="button" '+cLinkTot+'>'+cStatus+'</td>'	   
	
		cItens+='	<td role="button" '+cLinkTot+'>'+QRY->C5_STATUS+'</td>'	   
		cItens+='	<td role="button" '+cLinkTot+'>'
		// If cStatus = "00" .or. cStatus = ""
		cItens+=' 	 <a href="'+cLink+'&opc=edit" class="on-default" data-toggle="tooltip" data-original-title="Alterar Pedido"><i class="fa fa-pencil"></i></a>'
		cItens+=' 	 <a href="'+cLink+'&opc=dele" class="on-default" data-toggle="tooltip" data-original-title="Excluir Pedido"><i class="fa fa-trash-o"></i></a>'
		// Endif
		cItens+='	</td>'
	    // If QRY->C5_STATUS = "A"
	    // 	cItens+=' <a href="'+cLink+'&opc=edit" class="on-default" data-toggle="tooltip" data-original-title="Alterar Pedido"><i class="fa fa-pencil"></i></a>'
	    // 	cItens+=' <a href="'+cLink+'&opc=dele" class="on-default" data-toggle="tooltip" data-original-title="Excluir Pedido"><i class="fa fa-trash-o"></i></a>'
		// EndIf
	    cItens+='</tr>'+CRLF
	 
		QRY->(dbSkip())
	End
	
	//Retorna o HTML para constru��o da p�gina 
	cHtml := H_SMSGrid()	
	
Web Extended End

Return (cHTML)