#include "PROTHEUS.CH"
#include "RWMAKE.CH"
#include "APWEBEX.CH"
#include "TOPCONN.CH"
#include "TBICONN.CH"
/*__________________________________________________________________________
�����������������������������������������������������������������������������
��+-----------------------------------------------------------------------+��
���Fun��o    � NotasFiscais � Autor � Lucilene Mendes    � Data �03.12.17 ���
��+----------+------------------------------------------------------------���
���Descri��o � Grid com as notas fiscais do vendedor.  			  		  ���
��+-----------------------------------------------------------------------+��
�����������������������������������������������������������������������������
���������������������������������������������������������������������������*/

User Function NotasFiscais()
Local cHtml
Local cLink	:= ""                      
Local cCliente	:= ""
Local cDataDe	:= ""
Local cDataAte	:= ""
Local cFiltDe	:= ""
Local cEndServ	:= ""
                      
Private cColunas:= ""
Private cItens	:= ""  
Private cTopo	:= ""  
Private cSite	:= "u_PortalLogin.apw"
Private cPagina	  := "Notas Fiscais"
Private cTitle	  := "" 
Private lTableTools:= .T.
Private lSidebar:= .F.
Private cCodLogin := ""
Private cVendLogin:= ""

Web Extended Init cHtml Start U_inSite()

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

	// TODO - Pedro 20210208 - Remover???
	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())), cVendLogin)
	
	//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()-10)
			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)) 
		cCliente:= HttpPost->cliente   
	Else
	    //Vari�veis dos input dos filtros
		cFiltDe:= dtoc(date()-10)
		cFilAte:= dtoc(date())
		//Vari�veis de filtro da query
		cDataDe:= dtos(date()-10)
		cDataAte:= dtos(date())
		cCliente:= '1'   
	Endif
	
	
	//Filtros
    cTopo:= '<div class="row form-group">'
    cTopo+= '	<div class="col-sm-12" align="right">'
    cTopo+= '	<form name="formGrid" id="formGrid" method="POST" action="U_NotasFiscais.apw?PR='+cCodLogin+'">'

  	cTopo+= '		<label class="col-md-1 control-label">Emiss�o De:</label>'
    cTopo+= '  		<div class="col-md-3">'
	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-3">'
	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-2">'
    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 F2_FILIAL, F2_FLBASE, F2_DOC, F2_SERIE, F2_CLIENTE, F2_LOJA, A1_NREDUZ, A1_EMAIL, F2_EMISSAO, F2_VALBRUT, F2_VALFAT, F2_CHVNFE, D2_PEDIDO, F2_VEND2 VEND, F2_ESPECIE, SF2.R_E_C_N_O_ RECSF2 "
	cQry += " FROM "+RetSqlName("SF2")+" SF2 "
	cQry += " INNER JOIN "+RetSqlName("SA1")+" SA1 ON A1_FILIAL = '"+xFilial("SA1")+"' AND A1_COD = F2_CLIENTE AND A1_LOJA = F2_LOJA AND SA1.D_E_L_E_T_ = ' ' "
	cQry += " INNER JOIN "+RetSqlName("SD2")+" SD2 ON D2_FILIAL = F2_FILIAL AND D2_DOC = F2_DOC AND D2_SERIE = F2_SERIE AND SD2.D_E_L_E_T_ = ' ' "
	cQry += " WHERE " // AND F2_FILIAL = '"+xFilial("SF2")+"'
	If HttpSession->Tipo = 'S' //Supervisor acessa todas as informa��es da sua equipe
    	cQry+= " F2_VEND2 in "+FormatIn(HttpSession->Equipe,"|")+" "
	Else
		cQry += "  F2_VEND2 = '"+cVendLogin+ "' "
	Endif
	cQry += " AND F2_TIPO = 'N' "
	cQry += " AND F2_EMISSAO between '"+cDataDe+"' and '"+cDataAte+"' "
	cQry += " AND SF2.D_E_L_E_T_ = ' ' "
	cQry += " ORDER BY F2_DOC, F2_EMISSAO "
	
	If Select("QRY") > 0
		QRY->(dbCloseArea())
	Endif	
	APWExOpenQuery(ChangeQuery(cQry),'QRY',.T.)
	

	TcSetField("QRY","F2_EMISSAO","D")

	
	//Cabe�alho do grid
	cColunas+='<th>Filial</th>'
	cColunas+='<th>Tipo Opera��o</th>'
	cColunas+='<th>Nota Fiscal</th>'
	cColunas+='<th>S�rie</th>'
	cColunas+='<th>Emiss�o</th>'
	cColunas+='<th>Cliente</th>'
	cColunas+='<th>Nome</th>'
	cColunas+='<th>Valor</th>'    
	cColunas+='<th>Pedido</th>'
	If HttpSession->Tipo = 'S' //Supervisor 
    	cColunas+='<th>Vendedor</th>'
	Endif    
	cColunas+='<th></th>'         
	    
	While QRY->(!Eof())
		//Atualiza os controles do grid
		cLink:= "U_ViewNF.apw?PR="+cCodLogin+"&rec="+cValtoChar(QRY->RECSF2)"
		cLink+= ' onclick="window.document.location='+"'"+cLink+"&opc=view'"+';"' 
		
		cItens+='<tr>'+CRLF
	    cItens+='	<td role="button" '+cLink+'>'+QRY->F2_FILIAL+'</td>'
	    cItens+='	<td role="button" '+cLink+'>'+X3COMBO("C5_TIPOLUM",Posicione("SC5",1,Iif(Empty(QRY->F2_FLBASE),QRY->F2_FILIAL,QRY->F2_FLBASE)+QRY->D2_PEDIDO,"C5_TIPOLUM"))+'</td>'
	    cItens+='	<td role="button" '+cLink+'>'+QRY->F2_DOC+'</td>'
	    cItens+='	<td role="button" '+cLink+'>'+QRY->F2_SERIE+'</td>'
	    cItens+='	<td role="button" '+cLink+' data-order="'+dtos(QRY->F2_EMISSAO)+'">'+DTOC(QRY->F2_EMISSAO)+'</td>'
	    cItens+='	<td role="button" '+cLink+'>'+QRY->F2_CLIENTE+'/'+QRY->F2_LOJA+'</td>'
	    cItens+='	<td role="button" '+cLink+'>'+Alltrim(QRY->A1_NREDUZ)+'</td>' 
	    cItens+='	<td role="button" '+cLink+'>'+Transform(QRY->F2_VALBRUT,PesqPicT("SF2","F2_VALBRUT"))+'</td>'   
	    cItens+='	<td role="button" '+cLink+'>'+QRY->D2_PEDIDO+'</td>'
	    If HttpSession->Tipo = 'S' //Supervisor
	    	cItens+='	<td role="button" '+cLink+'>'+QRY->VEND+' - '+Posicione("SA3",1,xFilial("SA3")+QRY->VEND,"A3_NREDUZ")+'</td>'
	    Endif	   
	    cItens+='	<td class="actions">'
	    If !Empty(QRY->F2_CHVNFE) .and. QRY->F2_ESPECIE = "SPED" 
        	// cItens+='   	<a class="modal-email" href="#modalEmail" id="oc'+cValtoChar(QRY->RECSF2)+'" data-toggle="tooltip" data-original-title="Enviar DANFE por e-mail" title="">'
        	cItens+='   	<a class="modal-email" href="#" data-toggle="tooltip" data-original-title="Enviar DANFE por e-mail" title="" onClick="javascript:abreEmail('+cValtoChar(QRY->RECSF2)+','+"'"+Alltrim(QRY->A1_EMAIL)+"'"+');">'
        	cItens+='			<i class="fa fa-envelope-o"></i>'
        	cItens+='		</a>'
        	cItens+='   	<a href="#" data-toggle="tooltip" data-original-title="Abrir DANFE" title="" onClick="javascript:ViewDanfe('+cValtoChar(QRY->RECSF2)+',1);">'
        	cItens+='			<i class="fa fa-file-pdf-o"></i>'
        	cItens+='		</a>'
			cItens+='   	<a href="#" data-toggle="tooltip" data-original-title="Abrir XML" title="" onClick="javascript:ViewDanfe('+cValtoChar(QRY->RECSF2)+',2);">'
        	cItens+='			<i class="fa fa-file-excel-o"></i>'
        	cItens+='		</a>'
	    Endif
	    cItens+='	</td>'
	    cItens+='</tr>'+CRLF
	 
		QRY->(dbSkip())
	End
	
	cItens+= montarForm("Danfe", "MailNF.apw?PR="+cCodLogin)
//    cItens+= staticcall(orcamento, montarForm, "Danfe", "MailNF.apw")

	//Retorna o HTML para constru��o da p�gina 
	cHtml := H_SMSGrid()	
	
Web Extended End

Return (cHTML) 


// Montar o formul�rio para mandar por e-mail
static function montarForm(cTitulo, cSubm)
Local cRet:=""
cRet+= '<!-- Modal Form -->'+CRLF
cRet+= '         <div id="modalEmail" class="modal-block modal-block-primary mfp-hide">'+CRLF
cRet+= '            <section class="panel">'+CRLF
cRet+= '                <header class="panel-heading">'+CRLF
cRet+= '                    <h2 class="panel-title">Enviar '+cTitulo+' por e-mail</h2>'+CRLF
cRet+= '                </header>'+CRLF
cRet+= '                <div class="panel-body">'+CRLF
cRet+= '                    <form id="formEmail" class="form-horizontal mb-lg" novalidate="novalidate">'+CRLF
cRet+= '                        <span><i>Para enviar para mais de um destinat�rio, separe os e-mails com ;</i></span>'+CRLF
cRet+= '                        <br><br>'+CRLF
cRet+= '                        <div class="form-group">'+CRLF
cRet+= '                            <label class="col-sm-3 control-label">E-mail</label>'+CRLF
cRet+= '                            <div class="col-sm-9">'+CRLF
cRet+= '                                <input type="hidden" name="nrdoc"/>'+CRLF
cRet+= '                                <input type="hidden" name="formDest" value="'+cSubm+'"/>'+CRLF
cRet+= '                                <input type="email" name="email" class="form-control" placeholder="Insira seu email..." required/>'+CRLF
cRet+= '                            </div>'+CRLF
cRet+= '                        </div>'+CRLF
cRet+= '                    </form>'+CRLF
cRet+= '                </div>'+CRLF
cRet+= '                <footer class="panel-footer">'+CRLF
cRet+= '                    <div class="row">'+CRLF
cRet+= '                        <div class="col-md-12 text-right">'+CRLF
cRet+= '                            <button class="btn btn-primary modal-confirm" onclick="javascript:enviarEmail();">Enviar</button>'+CRLF
cRet+= '                            <button class="btn btn-default modal-dismiss" onclick="javascript:fecharEmail();">Cancelar</button>'+CRLF
cRet+= '                        </div>'+CRLF
cRet+= '                    </div>'+CRLF
cRet+= '                </footer>'+CRLF
cRet+= '            </section>'+CRLF
cRet+= '         </div>'+CRLF
conout(cret)	
return cRet