<?php

namespace App\Models;

class Pedidos extends Abs
{

	/**
	* @return - retorna todos os usuários
	*/
	public function getAllPedidos($inicio, $limite)
	{
		$complemento = " ORDER BY id DESC ";
		
		if($limite && !empty($limite)){
			if($inicio && !empty($inicio)){
				$complemento .= " LIMIT $inicio, $limite ";
			} else {
				$complemento .= " LIMIT 0, $limite ";
			}
		}

		$condicao = [];
		if(AMBIENTE == 'matriz'){
			array_push($condicao, ["origem", 1]);
		} else if(AMBIENTE == 'CD'){
			array_push($condicao, ["origem", 7]);
		}

		return $this->executaSelect("uni_pedidos","*", $condicao, "", $complemento);
	}	
	
	public function getAllPedidosCON($inicio, $limite)
	{
		$complemento = " ORDER BY id DESC ";
		
		if($limite && !empty($limite)){
			if($inicio && !empty($inicio)){
				$complemento .= " LIMIT $inicio, $limite ";
			} else {
				$complemento .= " LIMIT 0, $limite ";
			}
		}

		$condicao = [];
		if(AMBIENTE == 'matriz'){
			array_push($condicao, ["origem", 1]);
		} else if(AMBIENTE == 'CD'){
			array_push($condicao, ["origem", 7]);
		}

		return $this->executaSelect("bkp_pedidos","idpedido as id, loja, data, status, usuario, pedido, pass, nota_fiscal, gerador, exp",$condicao,"", $complemento);
	}

	public function getAllPedidosLoja($cod)
	{
		$condicao = array(
			array("loja", $cod),
		);
		return $this->executaSelect("uni_pedidos","*",$condicao,"","");
	}
	
	public function getPedido($cod)
	{
		$condicao = array(
				array("id", $cod),
			);
		return $this->executaSelect("uni_pedidos","*",$condicao,"","");
	}

	public function getPedidoSp2()
	{
		$condicao = array(
				array("status", 'SEPARAÇÃO'),
				array("pass", 1),
			);
			
			$envio = $this->executaSelect("uni_pedidos","*",$condicao,"","");
			
		return $envio;
	}
	
	public function getPedidoSp()
	{
		$condicao = array(
				array("status", 'SEPARAÇÃO'),
				array("pass", 0),
			);
			
			$envio = $this->executaSelect("uni_pedidos","*",$condicao,"","");
			
			/*$campo_valor = array(
							 array("pass", 1),
						   );	
						
			$up = $this->executaUpdate("uni_pedidos",$campo_valor,$condicao);*/
			
		return $envio;
	}

	public function geAnaliseSp()
	{
		$condicao = array(
				array("B.status", 'SEPARAÇÃO'),
			);
		return $this->executaSelectInner("uni_analise","uni_pedidos","A.id, A.pedido_cod, A.prod_codigo, A.prod_ref, A.prod_desc, A.dias_consulta, A.ven_period, A.media_dia, A.est_matriz, A.est_filial, A.sugestao, A.separado, A.status, A.preco, A.deposito",$condicao,"A.pedido_cod=B.id","");
	}
	
	
	
	/**
	* Criar Novo Usuário
	* @return bool true or false
	*/
	public function setPedido($array,$ext)
	{
			$campo_valor = array(
				array("user_email", $array['user_email']),
				array("user_name", $array['user_nome']),
				array("user_password", md5($array['user_senha'])),
				//array("id_user_type", $array['user_type']),
				array("id_user_type", 1),
				array("id_user", $_SESSION['id_user']),
				array("data_att	", date("Y-m-d H:i:s")),
				array("ext", $ext),
			);
			
		return $this->executaInsert("uni_pedidos",$campo_valor);
	}

	/**
	* Editar informações do Usuário
	* @return true or false
	*/
	public function editarPedido($array,$ext)
	{
		$condicao = array(
			array("id", $array['id_esc']),
		);
		if(empty($array['user_senha_edt'])) {
			
					if(!empty($ext)){
						$campo_valor = array(
							array("user_email", $array['user_email_edt']),
							array("user_name", $array['user_nome_edt']),
							array("ext", $ext),
							array("id_user_type", 1),
							array("id_user_att", $_SESSION['id_user']),
							array("data_att", date("Y-m-d H:i:s")),
						);	
					}else{
						$campo_valor = array(
							array("user_email", $array['user_email_edt']),
							array("user_name", $array['user_nome_edt']),
							array("id_user_type", 1),
							array("id_user_att", $_SESSION['id_user']),
							array("data_att", date("Y-m-d H:i:s")),
						);							
					}					
					
		} else {
					if(!empty($ext)){
						$campo_valor = array(
							array("user_email", $array['user_email_edt']),
							array("user_name", $array['user_nome_edt']),
							array("user_password", md5($array['user_senha_edt'])),
							array("ext", $ext),
							array("id_user_type", 1),
							array("id_user_att", $_SESSION['id_user']),
							array("data_att", date("Y-m-d H:i:s")),
						);		
					}else{
						$campo_valor = array(
							array("user_email", $array['user_email_edt']),
							array("user_name", $array['user_nome_edt']),
							array("user_password", md5($array['user_senha_edt'])),
							array("id_user_type", 1),
							array("id_user_att", $_SESSION['id_user']),
							array("data_att", date("Y-m-d H:i:s")),
						);							
					}
		}
		return $this->executaUpdate("uni_pedidos",$campo_valor,$condicao);
	}

	/**
	* Altera o status de um usuário
	*/
	public function alterStatus($id,$status)
	{
		$condicao = array(
			array("id", $id),
		);
		$campo_valor = array(
			array("status", abs(--$status)),
			array("id_user_att", $_SESSION['id_user']),
			array("data_att", date("Y-m-d H:i:s")),
		);
		return $this->executaUpdate("uni_pedidos",$campo_valor,$condicao);
	}
	
	/**
	* Regatar Status
	* @return - um valor numérico
	*/
	public function getLojaALL($cod)
	{
		$condicao = array(
			array("codigo_loja", $cod),
		);
		$response = $this->executaSelect("uni_lojas","*",$condicao,"","");

		return $response;
	}

	public function getLoja($id)
	{
		$condicao = array(
			array("id", $id),
		);
		$response = $this->executaSelect("uni_lojas","nome",$condicao,"","");

		$name = "<b>".$response[0]["nome"]."</b>";
		
		return $name;
	}
	
	public function getSFOPED($id)
	{
		$condicao = array(
			array("pedido_id", $id),
		);
		$response = $this->executaSelect("uni_pedidos_arquivos","*",$condicao,"","");
		
		
		return $response;
	}
	
	public function getUser($id)
	{
		$condicao = array(
			array("id", $id),
		);
		$response = $this->executaSelect("uni_usuarios","nome",$condicao,"","");

		$name = "<b></b>";
		if($response !== false){
			$name = "<b>".$response[0]["nome"]."</b>";
		}

		
		return $name;
	}

	public function getUserOP($id)
	{
		$condicao = array(
			array("id", $id),
		);
		$response = $this->executaSelect("user","user_name",$condicao,"","");

		
		$name = "<b></b>";
		if($response !== false){	
			$name = "<b>".$response[0]["user_name"]."</b>";
		}
		
		return $name;
	}
	
	/**
	* @return - retorna todos os usuários
	*/
	public function getAllUsers()
	{
		return $this->executaSelect("uni_usuarios","*","","","");
	}
	public function getAllUsersActive()
	{
		$condicao = array(
			array("status", 1)
		);
		return $this->executaSelect("uni_usuarios","*",$condicao,"","");
	}
	public function getAllLojas()
	{
		return $this->executaSelect("uni_lojas","*",[],"","");
	}

	/**
	* Regatar número total de usuários
	* @return - um valor numérico
	*/
	public function getTotPedido()
	{
		return $this->executaSelect("uni_pedidos","COUNT(*) as cont","","","");
	}
	
	public function getMaxitenslog($log)
	{
		$m = date('m');
		$a = date('Y');
		$condicao = array(
			array("B.loja", $log),
			array("B.status", "EXPORTADO"),
			array("MONTH(B.data)", $m),
			array("YEAR(B.data)", $a),
		);
		return $this->executaSelectInner("uni_analise","uni_pedidos","A.id,A.prod_codigo,A.prod_desc,SUM(A.separado) as NUM,SUM(A.preco) as VL,A.media_dia",$condicao,"A.pedido_cod=B.id"," GROUP BY A.prod_codigo ORDER BY NUM DESC LIMIT 3");
	}
}