<?php
require_once '../script_php/conexaoSQL.php';
require_once 'Datas.php';
class Sqlserver
{

//metodo para buscar as notas fiscais no sotcom atraves de criterios enviados pelos argumentos
    public function comprasDomesEntrada($dataInicioCompras, $dataFinalCompras, $tipo, $cfop)
    {
        //verificar que tipo de consulta iremos trazer
        if ($tipo == 1) {//para buscar pela data de emissão
            //tipo data de emissao
            $tipoCosulta = '[Data Emissão]';
        } else {//busque pela data de entrada
            //trocar o campo
            $tipoCosulta = '[Data da Entrada]';
        }

        //verificar que tipo de visao precisa
        if ($cfop == 1) {//se é apenas de venda
            //busque cfops que nao sao de bonificação
            $cfop = "AND CFOP != '1910' AND CFOP != '2910'  AND CFOP != '1949'";
        } else if ($cfop == 2) {
            //busque apenas de bonificação
            $cfop = "AND CFOP != '1403' AND CFOP != '1102'";
        } else {
            //se sao todos
            $cfop = ' AND CFOP IS NOT NULL';
        }

        //REFATORAR QUANDO TIVER OPORTUNIDADE

        //VERIFICANDO SE PASSOU UMA OU MAIS DATAS
        if ($dataInicioCompras == $dataFinalCompras) {
            //ALTERANDO A CONSULTA DE ACORDO COM A QUANTIDADE DE DATAS
            $datas = "$tipoCosulta >= '$dataInicioCompras'";
        } else {
            //DUAS DATAS PARA O MESMO CAMPO
            $datas = "$tipoCosulta >= '$dataInicioCompras' AND $tipoCosulta <= '$dataFinalCompras'";
        }

        //consulta sqlserver
        try {
            $Conexao = Conexao::getConnection();
            $query = $Conexao->query("SELECT 
        LojaOrigem AS LOJA,
        SUM([Valor Nota]) AS VALOR

        FROM [Cadastro das Entradas] 
        
        WHERE
        
        $datas
        
        $cfop        
        GROUP BY LojaOrigem");

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {
            echo $e->getMessage();
            exit;
        }
        return $sqlserver;//reorna um array com os dados de notas de entrada
    }

//VENDAS DO DIA ATUAL
    function vendasDoDia($diaAtual)
    {
        try {
            $Conexao = Conexao::getConnection();
            $query = $Conexao->query("SELECT LojaOrigem AS loja, sum(Total_Item), SUM(Total_Item) AS VENDAS
    FROM
        memoria_VendasTodas
    WHERE
        [Data da Venda] = '$diaAtual'
    AND
        Cancelado = 0
    
    GROUP BY
        LojaOrigem
	ORDER BY VENDAS DESC
    ;");
            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }
        return $sqlserver;
    }

    //VENDAS DA MESMA DATA ANO ANTERIOR
    function vendasDoDiaAnterior($loja)
    {
        //nova instancia data
        $data = new Data;
        //metodo retorna o dia atual do ano passado
        $dia = $data->anoAnterior();

        try {
            $Conexao = Conexao::getConnection();
            $query = $Conexao->query("SELECT LojaOrigem AS loja, sum(Total_Item)
        FROM
            memoria_VendasTodas
        WHERE
            [Data da Venda] = '$dia'
        AND
            Cancelado = 0
        AND
            Estornado = 0
        AND 
            LojaOrigem = '$loja'
        
        GROUP BY
            LojaOrigem
        ;");

            $sqlserver = $query->fetchAll();

            $jsonString = json_encode($sqlserver);

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;

        }

        return $jsonString;
    }

//VENDAS DE UM PERIODO

    public function Vendas($fabricante1, $loja, $datainicio1, $datafinal1,$limite,$ordenacao)
    {
        if($limite <> false) {
            $maximo = "OFFSET 0 ROWS FETCH NEXT $limite ROWS ONLY";
        }else{
            $maximo = '';
        }

        //verificar se foi selecionado todos os fabricantes
        if ($fabricante1 == 'TODOS') {
            //se foi atualizar consulta para todos os fabricantes
            $fabricante = "AND VENDAS.Fabricante IS NOT NULL";

            //senao
        } else {
            //atualizar para fabricante selecionado
            $fabricante = "AND VENDAS.Fabricante = '$fabricante1'";
        }
	
		//se precisa ordenar pela quantidade ou pelo valor 
		if($ordenacao == 'sim'){
        //se for ordenar pela quandidade
		$ordenar = 'ORDER BY SUM(VENDAS.Quantidade_Item) DESC';
		}else{
		//se for ordenar pelo valor
        $ordenar = 'ORDER BY SUM(VENDAS.Total_Item) DESC';
		}

        try {
            $Conexao = Conexao::getConnection();
            //QUERY DA SQL
            $query = $Conexao->query("            
            SELECT
            VENDAS.[Código da Mercadoria] AS codmercadoria,
            SUM(VENDAS.Quantidade_Item) AS quantidade,
 
            MIN(VENDAS.Mercadoria) AS mercadoria,
            MIN(CADASTRO.[Preço Compra]) * SUM(VENDAS.Quantidade_Item) AS compra,
            MIN(CADASTRO.[Preço Compra]) * SUM(VENDAS.Quantidade_Item) AS valorcompra,
			
            MIN(VENDAS.PrecoBruto) * SUM(Quantidade_Item) AS valorbruto,
			
            SUM(VENDAS.Total_Item) AS vendaliquido
            
            /*ROUND(SUM(VENDAS.Total_SemDesconto_Item),2) - ROUND(SUM(VENDAS.Total_Item),2)  AS desconto*/
            /*ROUND(min(VENDAS.PrecoBruto)  ,2) - ROUND(MIN(VENDAS.Total_Item),2)  AS desconto*/
           /* ((SUM(VENDAS.PrecoBruto) * SUM(VENDAS.Quantidade_Item)) -  MIN(VENDAS.Total_Item)) AS desconto*/
            
            FROM
            memoria_VendasTodas AS VENDAS
           
            JOIN [Cadastro de mercadorias] AS CADASTRO
            ON VENDAS.[Código da Mercadoria] = CADASTRO.[Código da Mercadoria]
            
            WHERE            
            VENDAS.LojaOrigem = '$loja'
           
            AND VENDAS.Estornado = 0
            AND VENDAS.Cancelado = 0          
            AND VENDAS.[Data da Venda] >= '$datainicio1'
            AND VENDAS.[Data da Venda] <= '$datafinal1'
			
			/******** EXCLUINDO DA CONSULTA O GRUPO E SUBGRUPO *******/
			
			/* 
			AND VENDAS.Grupo != 'CR TRATAMENTO'
			AND VENDAS.SubGrupo != 49
            */
			
			$fabricante
            GROUP BY  VENDAS.[Código da Mercadoria]           
    		$ordenar			
			$maximo
            
            ");//FIM DA QUERY

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }

        return $sqlserver;
    }


//VENDAS TOTAL DE UM PERIODO DE UMA EMPRESA

    public function VendasTotal($fabricante1, $loja, $datainicio1, $datafinal1)
    {

        //verificar se foi selecionado todos os fabricantes
        if ($fabricante1 == 'TODOS') {
            //se foi atualizar consulta para todos os fabricantes
            $fabricante = "AND VENDAS.Fabricante IS NOT NULL";

            //senao
        } else {
            //atualizar para fabricante selecionado
            $fabricante = "AND VENDAS.Fabricante = '$fabricante1'";
        }


        try {
            $Conexao = Conexao::getConnection();
            //QUERY DA SQL
            $query = $Conexao->query("SELECT

            SUM(VENDAS.PrecoBruto * VENDAS.Quantidade_Item) AS BRUTO
			
            FROM
            memoria_VendasTodas AS VENDAS
            WHERE            
            VENDAS.LojaOrigem = '$loja'

            AND VENDAS.Estornado = 0
            AND VENDAS.Cancelado = 0 
            AND VENDAS.[Data da Venda] >= '$datainicio1'
            AND VENDAS.[Data da Venda] <= '$datafinal1'
            $fabricante
            
            ");//FIM DA QUERY

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }

        return $sqlserver;
    }

   
    public function ComprasProFornecedor($lojasec,$dia)
    {

        try {
            $Conexao = Conexao::getConnection();
            //QUERY DA SQL
            $query = $Conexao->query("SELECT
                    [Data Emissão],
                    [Data da Entrada],
            
                    [Nº Nota Fiscal],
                    LojaOrigem AS LOJA,
                    Fornecedor,
                    [Valor Nota],
                    CFOP
            
                    FROM [Cadastro das Entradas] 
                    
                    WHERE
                    [Data Emissão] >= '$dia'
                    AND [Data da Entrada] >= '$dia'
            
                    AND  CFOP != '1910'
                    AND CFOP != '2910' 
                    AND CFOP != '1949'
                    AND LojaOrigem = '$lojasec'

                    ORDER BY [Data Emissão]          
            
            ");//FIM DA QUERY

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }

        return $sqlserver;
    }

//funcao que retorna as vendas agrupadas por mes para relatorio de analise de estoque 
    public function VendasAgrupadaPorMes($datainicio,$datafinal,$loja,$fabricante,$erroestoque = "nao")
    {
        if ($loja == 'TODAS'){
			
            $lojaVendas = "AND VENDAS.LojaOrigem IS NOT NULL";
            $lojaEstoque = "AND ESTOQUE.Loja IS NOT NULL";
			
        }else {
            $lojaVendas = "AND VENDAS.LojaOrigem = '$loja'";
            $lojaEstoque = "  AND ESTOQUE.Loja = '$loja'";
        }

        if($fabricante == 'TODOS'){

			$produtofabricante = " PRODUTO.Fabricante IS NOT NULL";
            $fabricante = "AND VENDAS.Fabricante IS NOT NULL";

			
        }else{
			
            $produtofabricante = " PRODUTO.Fabricante = '$fabricante'";
            $fabricante = "AND VENDAS.Fabricante = '$fabricante' ";

        }

        try {
            $Conexao = Conexao::getConnection();
			
            //QUERY DA SQL
            $query = $Conexao->query("SELECT
                MIN(PRODUTO.[Código da Mercadoria]) AS Código_Mercadoria,
                MIN(PRODUTO.Mercadoria) AS Nome_Mercadoria,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 1 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Janeiro,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 2 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Fevereiro,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 3 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Marco,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 4 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Abril,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 5 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Maio,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 6 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Junho,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 7 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Julho,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 8 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Agosto,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 9 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Setembro,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 10 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Outubro,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 11 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Novembro,
                SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 12 THEN ISNULL(Quantidade_Item, 0) ELSE 0 END) AS Dezembro,
                SUM(ISNULL(Quantidade_Item, 0)) AS Soma_Meses,
                ROUND(SUM(ISNULL(Quantidade_Item, 0)) / 9.0, 2) AS MEDIA, 
                SUM(ISNULL(ESTOQUE.Estoque, 0)) AS ESTOQUE,
                MIN(PRODUTO.[Preço C]) AS PRECO_COMPRA_SEM_IMPOSTOS
            FROM 
                [Cadastro de mercadorias] AS PRODUTO
            LEFT JOIN memoria_VendasTodas AS VENDAS 
                ON PRODUTO.[Código da Mercadoria] = VENDAS.[Código da Mercadoria]
                AND VENDAS.[Data da Venda] >= '$datainicio'
                AND VENDAS.[Data da Venda] <= '$datafinal'
                $lojaVendas
                $fabricante
                AND VENDAS.Estornado = 0
                AND VENDAS.Cancelado = 0
            LEFT JOIN [Cadastro de mercadoriasLojas] AS ESTOQUE
                ON ESTOQUE.[Código da Mercadoria] = PRODUTO.[Código da Mercadoria]
                $lojaEstoque
                WHERE
                $produtofabricante
				AND PRODUTO.desativado = 0
            GROUP BY
                PRODUTO.[Código da Mercadoria]
            ORDER BY
                MIN(PRODUTO.Mercadoria);
				");//FIM DA QUERY

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }

        return $sqlserver;
    }


    public function EstoquePorLoja($codigo)
    {

        try {
            $Conexao = Conexao::getConnection();
            //QUERY DA SQL
            $query = $Conexao->query("
            SELECT
            Loja, Estoque
            
            FROM
            
            [Cadastro de mercadoriasLojas]
            
            WHERE [Código da Mercadoria] = '$codigo'
            
            ORDER BY [Código da Mercadoria]");//FIM DA QUERY

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }

        return $sqlserver;
    }


//buscar o estoque de uma mercadoria
    public function EstoqueProduto($cod,$loja)
    {

        try {
            $Conexao = Conexao::getConnection();
            //QUERY DA SQL
            $query = $Conexao->query("
           SELECT [Código da Mercadoria] AS COD,
	    	Estoque,
    		Loja
            FROM [Cadastro de mercadoriasLojas]

            WHERE [Código da Mercadoria] = '$cod'
            AND Loja = '$loja'

            ");//FIM DA QUERY

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }

        return $sqlserver;
    }




    public function BuscarFornecedor()
    {

        try {
            $Conexao = Conexao::getConnection();
            //QUERY DA SQL
            $query = $Conexao->query("SELECT [CGC/CPF], Fornecedor FROM Fornecedores ORDER BY Fornecedor");//FIM DA QUERY

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }

        return $sqlserver;
    }




//VENDAS POR FABRICANTE DE UM PERIODO
function VendasFabricante($diainicio, $diafinal, $loja,$fabricante)
{
	if($fabricante <> 'TODOS')
	{
		$fabricante = "AND VENDAS.Fabricante = '$fabricante'";
		
	}else{
		
		
		$fabricante = "AND VENDAS.Fabricante IS NOT NULL";
	
	}
	
	
	if($loja == "TODOS")
		
	{
		
	$loja = "AND LojaOrigem IS NOT NULL";
	
	}else{
		
	
	$loja = "AND LojaOrigem = '$loja'";
	
	}
	
    $ordenacao = "SUM(VENDAS.Total_Item) DESC";
	
    try {
        $Conexao = Conexao::getConnection();
        $query = $Conexao->query("SELECT
		MIN(VENDAS.Fabricante) AS FABRICANTE,

		SUM(VENDAS.Quantidade_Item) AS QUANTIDADE,

		SUM(VENDAS.Total_Item) AS VALOR,

		SUM(VENDAS.PrecoBruto) AS BRUTO,

		ROUND(SUM(VENDAS.Total_SemDesconto_Item),2) - ROUND(SUM(VENDAS.Total_Item),2)  AS desconto

		FROM
		memoria_VendasTodas AS VENDAS

		WHERE
		[Data da Venda] >= '$diainicio'
		AND [Data da Venda] <= '$diafinal'
		AND cancelado = 0
		AND Estornado = 0
		$fabricante
		$loja
		GROUP BY 
		VENDAS.Fabricante
		ORDER BY 
		$ordenacao;");

        $sqlserver = $query->fetchAll();

    } catch (Exception $e) {

        echo $e->getMessage();
        exit;

    }

    return $sqlserver;
}


    
    public function BuscaBruto($fabricante,$datainicio,$datafinal,$loja)
    {
		if($loja == "TODOS")
		{
			$loja = "VENDAS.LojaOrigem IS NOT NULL"	;
			
		}else{
			
			$loja = "VENDAS.LojaOrigem = '$loja'";
		
		}

        try {
            $Conexao = Conexao::getConnection();
            //QUERY DA SQL
            $query = $Conexao->query("SELECT       
	
                VENDAS.PrecoBruto,
				VENDAS.Quantidade_Item
            
                FROM
                memoria_VendasTodas AS VENDAS
				
            
                WHERE            
                $loja
               
                AND VENDAS.Estornado = 0
                AND VENDAS.Cancelado = 0          
                AND VENDAS.[Data da Venda] >= '$datainicio'
                AND VENDAS.[Data da Venda] <= '$datafinal'
                AND VENDAS.Fabricante = '$fabricante'
				
            ");//FIM DA QUERY

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }
        return $sqlserver;
    }


    public function CalcularValorBruto($fabricante,$datainicio,$datafinal,$loja)
    {

        $valor = 0;

        $sqlserver = $this->BuscaBruto($fabricante,$datainicio,$datafinal,$loja);
		
        foreach ($sqlserver as $dados)
        {
			$valor1 = $dados[0] * $dados[1];
			$valor = $valor + $valor1;
    
        }

        return $valor;
    }


//preco bruto por item
    public function PrecoBrutoItem($loja,$datainicio,$datafinal,$coditem)
    {

        try {
            $Conexao = Conexao::getConnection();
            //QUERY DA SQL
            $query = $Conexao->query("
			
				SELECT       	
                SUM(VENDAS.PrecoBruto * VENDAS.Quantidade_Item) AS BRUTO
				
				           
                FROM
                memoria_VendasTodas AS VENDAS
            
                WHERE            
				VENDAS.LojaOrigem = '$loja'
                AND VENDAS.Estornado = 0
                AND VENDAS.Cancelado = 0          
                AND VENDAS.[Data da Venda] >= '$datainicio'
                AND VENDAS.[Data da Venda] <= '$datafinal'
				AND VENDAS.[Código da Mercadoria] = '$coditem'
			
			
			");//FIM DA QUERY

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }

        return $sqlserver;
    }


//preco bruto por item
public function NotasSemSalvar()
{

    try {
        $Conexao = Conexao::getConnection();
        //QUERY DA SQL
        $query = $Conexao->query(" SELECT
[Data da Entrada],
[Nº Nota Fiscal],
Fornecedor,
LojaOrigem,
Lancamento_Usuario
FROM
[Cadastro das Entradas] WHERE Lacrar != 1

AND [Data da Entrada] > '01/01/2000'
AND [Data Emissão] IS NOT NULL
AND [Nº Nota Fiscal] IS NOT NULL     


        ");//FIM DA QUERY

        $sqlserver = $query->fetchAll();

    } catch (Exception $e) {

        echo $e->getMessage();
        exit;
    }

    return $sqlserver;
}

//metodo para buscar os dados da nota fiscal para emissao de nota de devolucao
public function dadosNfe($quantidade,$loja,$ean)
{

    try {
        $Conexao = Conexao::getConnection();
        //QUERY DA SQL
        $query = $Conexao->query(
        "SELECT
        
        [Data Emissão],
        --[Cód Fabricante],
        Mercadoria,
        CFOP,
        Quantidade_Item,
        Preco_Item  AS UNITARIO,
        PrecoTotal = Quantidade_Item * Preco_Item,
        ICMS_Item AS ALICOTA,
        BaseICMSST_Item AS BASE_ST,
        vICMSST_Item AS VALOR_ST,
        [Nº Nota Fiscal],
        NFeCH,
        LojaOrigem,
        (BaseICMSST_Item / Quantidade_Item) AS BASES_ST_TUNITARIA,
        (vICMSST_Item / Quantidade_Item) AS VALOR_ST_UNITARIO,

        --VALORES A INFORMAR NA EMISSAO DA NOTA
        ((BaseICMSST_Item / Quantidade_Item) * $quantidade) AS BASE_ST_PROD_TOTAL_INFORMAR, --PASSAR A QUANTIDADE PARA CALCULAR A BASE A INFORMAR NA NOTA
        (vICMSST_Item / Quantidade_Item) * $quantidade AS VALOR_TOTAL_ST_INFORMAR --PASSAR A QUANTIDADE PARA CALCULAR O VALOR A SER INFORMADO NA NOTA

        FROM memoria_NF_Entrada
        WHERE

        [Cód Fabricante] = '$ean'
        AND LojaOrigem = '$loja'

        AND CFOP != '1910'
        AND CFOP != '2910'
        AND CFOP != '1949'

        ORDER BY [Data Emissão] DESC      
       
        ");//FIM DA QUERY

        $sqlserver = $query->fetchAll();

    } catch (Exception $e) {

        echo $e->getMessage();
        exit;
    }

    return $sqlserver;
}

public function VendasAgrupadasMes()
{

    try {
        $Conexao = Conexao::getConnection();
        //QUERY DA SQL
        $query = $Conexao->query("SELECT
				VENDAS.LojaOrigem AS loja,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 1 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Janeiro,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 2 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Fevereiro,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 3 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Março,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 4 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Abril,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 5 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Maio,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 6 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Junho,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 7 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Julho,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 8 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Agosto,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 9 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Setembro,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 10 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Outubro,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 11 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Novembro,
				SUM(CASE WHEN MONTH(VENDAS.[Data da Venda]) = 12 THEN ISNULL(Total_Item, 0) ELSE 0 END) AS Dezembro			
				
				FROM
				memoria_VendasTodas AS VENDAS
				
				WHERE
				
				VENDAS.[Data da Venda] > '01/01/2024'
				
				AND VENDAS.[Data da Venda] < '15/01/2024'
				AND VENDAS.Cancelado = 0
				AND VENDAS.Estornado = 0

				GROUP BY LojaOrigem  
				");//FIM DA QUERY

        $sqlserver = $query->fetchAll();

    } catch (Exception $e) {

        echo $e->getMessage();
        exit;
    }

    return $sqlserver;
}

//METODO QUE BUSCA AS VENDAS POR FABRICANTE EM UM PERIODO

//buscar o estoque de uma mercadoria
    public function fabricantePeriodo()
    {

        try {
            $Conexao = Conexao::getConnection();
            //QUERY DA SQL
            $query = $Conexao->query("SELECT
			MIN(MERCADORIAS.Fabricante) AS FABRICANTE,
			MIN(MERCADORIAS.Grupo) AS GRUPO,
			SUM(VENDAS.Total_Item) AS VENDA

			FROM [Cadastro de Mercadorias] AS MERCADORIAS

			JOIN memoria_VendasTodas AS VENDAS
			ON MERCADORIAS.[Código da Mercadoria] = VENDAS.[Código da Mercadoria]

			WHERE

			VENDAS.[Data da Venda] >= '01/01/2024'
			AND VENDAS.[Data da Venda]  = '05/01/2024'
			AND VENDAS.LojaOrigem = 'MATRIZ'

			GROUP BY MERCADORIAS.Fabricante

			ORDER BY VENDA DESC

            ");//FIM DA QUERY

            $sqlserver = $query->fetchAll();

        } catch (Exception $e) {

            echo $e->getMessage();
            exit;
        }

        return $sqlserver;
    }

public function BuscarEtiqueta($barra,$loja)
{

    try {
        $Conexao = Conexao::getConnection();
        //QUERY DA SQL
        $query = $Conexao->query(" SELECT MERCADORIA.Observacao, LOJA.PrecoGrade,MERCADORIA.[Código da Mercadoria] AS  codigo

        FROM [Cadastro de Mercadorias] AS MERCADORIA
        JOIN [Cadastro de mercadoriasLojas] AS LOJA
        ON MERCADORIA.[Código da Mercadoria] = LOJA.[Código da Mercadoria]
        
        WHERE  [Cód Fabricante] = '$barra' AND LOJA.Loja = '$loja'        
        
        ");//FIM DA QUERY

        $sqlserver = $query->fetchAll();

    } catch (Exception $e) {

        echo $e->getMessage();
        exit;
    }
	
    return $sqlserver;
}

public function CodFornCodSoft($codForn)
{
    try {
        $Conexao = Conexao::getConnection();
        //QUERY DA SQL
        $query = $Conexao->query("
		
		SELECT XML_ImportProdForne.CodigoFornecedor,
		memoria_NF_Entrada.[Cód Fabricante],
		memoria_NF_Entrada.Mercadoria,
		memoria_NF_Entrada.[Data da Entrada],
		memoria_NF_Entrada.LojaOrigem,
		memoria_NF_Entrada.[Nº Nota Fiscal],
		memoria_NF_Entrada.Fornecedor

		FROM XML_ImportProdForne
		INNER JOIN memoria_NF_Entrada ON XML_ImportProdForne.CodigoMercadoria = memoria_NF_Entrada.[Código da Mercadoria]

		WHERE
		
		(((XML_ImportProdForne.CodigoFornecedor) = '$codForn'))
		/*AND memoria_NF_Entrada.LojaOrigem = 'LOJA 03'*/
		
		ORDER BY memoria_NF_Entrada.[Data da Entrada] DESC
		
		");//FIM DA QUERY

        $sqlserver = $query->fetchAll();

    } catch (Exception $e) {

        echo $e->getMessage();
        exit;
    }

    return $sqlserver;
}















}//FIM DA CLASSE SQLSERVER
