<?php

require_once 'model/database.php';

class Facturacion
{
	public $Facturacion_pdo;

	public function __CONSTRUCT()
	{
		
		

		try
		{
			$this->Facturacion_pdo = Database::StartUp();     
		}
		catch(Exception $e)
		{
			die($e->getMessage());
		}
	}
	
	public function grabar($prViditem,$prVid,$prVitemnombre,$prVmarca,$prVmodelo,$prVpreven1,$prVidequival,$prVactivo,$pvVventa,$prVitemclase) 
	{			
	
				
					$sql = "exec sp_items_actualizar_insertar "."'".$prViditem."','".$prVid."','".$prVitemnombre."','".$prVmarca."','".$prVmodelo."',".$prVpreven1.",'".$prVidequival."',".$prVactivo.",".$pvVventa.",".$prVitemclase;
				
					//die($sql);
				
					$stm = $this->Facturacion_pdo->prepare($sql);		
					$stm->execute();
				

					// RETORNANDO LOS RESULTADOS 
					return $stm->fetchAll(PDO::FETCH_OBJ);			

					

	}

	public function eliminar($prVidcliente)
	{
					 $current_user_id =0;

					 if(isset($_SESSION["current_user_id"]))
							{
								$current_user_id = $_SESSION["current_user_id"];
							}


				
					$sql = "exec sp_items_eliminar "."'".$prVidcliente."',".$current_user_id;
				
				
				
					$stm = $this->Facturacion_pdo->prepare($sql);		
					$stm->execute();
				

					// RETORNANDO LOS RESULTADOS 
					return $stm->fetchAll(PDO::FETCH_OBJ);			

					

	}

	public function listar()
	{
					//Recupera lista de documento de venta emitidos

	
					$sql = "exec sp_facturacion_dame_datos ''";
				
					//print $sql;
				
				
					$stm = $this->Facturacion_pdo->prepare($sql);		
					$stm->execute();
				

					// RETORNANDO LOS RESULTADOS 
					return $stm->fetchAll(PDO::FETCH_OBJ);
					
										
						

					

	}


	public function get_ot($prVunique_id_trans='',$prVtipo_dte='',$prVclientes_id='')
	{
					//Recupera los datos del documento actual y/o
					//recupera una estructura vacia para nuevo documento
					//1) recupera la ot			(ot)
					//2) recupera los articulos (comanda y/o logcomanda dependiendo el caso)

	
					$sql = "exec sp_ot_dame_datos "."'".$prVunique_id_trans."','".$prVtipo_dte."','".$prVclientes_id."'";
				
					//print $sql;
				
				
					$stm = $this->Facturacion_pdo->prepare($sql);		
					$stm->execute();
				

					// RETORNANDO LOS RESULTADOS 
					return $stm->fetchAll(PDO::FETCH_OBJ);
					
										
						

					

	}


	public function reload_cta($PrvCtaId,$PrvCtaTipo,$PrvIdGlobal)
	{
			
				// carga los registros de la cuenta que se encuentran 
				// en logcomanda

				try
				{
				
					
					$sql = "exec sp_comanda_recargar_cuenta_actual ".$PrvCtaId.",".$PrvCtaTipo.",'".$PrvIdGlobal."'";
					
					//print $sql;
					
					$stm = $this->Facturacion_pdo->prepare($sql);		
					$stm->execute();
				
				

					return $stm->fetchAll(PDO::FETCH_OBJ);	
						
				}
				catch(PDOException $e)
				{
					
					die($e->getMessage());
				}

	
	}


	
public function items_add($PrvCtaId,$PrvId,$PrvItemsId,$PrvCantidad)
 {

				// agregando un nuevo articulo a la cuenta (comanda)

 			 	try
				{
				
					$sql = "exec sp_comanda_insertar_registro_venta ".$PrvCtaId.",'".$PrvId."','".$PrvItemsId."',".$PrvCantidad;
					
					//print $sql;

					$stm = $this->Facturacion_pdo->prepare($sql);		
					$stm->execute();
				
				
					return $stm->fetchAll(PDO::FETCH_OBJ);	
						
				}
				catch(PDOException $e)
				{

					//print $sql;
					die('ERR-'.$e->getMessage());
				}


 	}




}