<?php
class mifecha {
	var $anno;
	var $mes;
	var $dia;	
	var $mesEscrito;
	function __construct($fecha) {
		$this->anno=substr($fecha,0,4);
		$this->mes=substr($fecha,5,2);
		$this->dia=substr($fecha,8,2);
		if ($this->mes==1) {$this->mesEscrito='Enero';}
		if ($this->mes==2) {$this->mesEscrito='Febrero';}
		if ($this->mes==3) {$this->mesEscrito='Marzo';}
		if ($this->mes==4) {$this->mesEscrito='Abril';}
		if ($this->mes==5) {$this->mesEscrito='Mayo';}
		if ($this->mes==6) {$this->mesEscrito='Junio';}
		if ($this->mes==7) {$this->mesEscrito='Julio';}
		if ($this->mes==8) {$this->mesEscrito='Agosto';}
		if ($this->mes==9) {$this->mesEscrito='Septiembre';}
		if ($this->mes==10) {$this->mesEscrito='Octubre';}
		if ($this->mes==11) {$this->mesEscrito='Noviembre';}
		if ($this->mes==12) {$this->mesEscrito='Diciembre';}
	}
	
}
class sucursal {
	var $descripcion;
	private $conexion;
	function __construct($mysqli,$Idsucursal) {
		$this->conexion=$mysqli;
		$query=$this->conexion->query('SELECT * FROM sucursales WHERE Idsucursal="'.$Idsucursal.'"');
		$row=$query->fetch_array();
		$this->descripcion=$row['descripcion'];
	}
}

class proveedor {
	var $rut, $razon;
	private $conexion;
	function __construct($mysqli,$Idproveedor) {
		$this->conexion=$mysqli;
		$query=$this->conexion->query('SELECT * FROM proveedores WHERE Idproveedor="'.$Idproveedor.'"');
		$row=$query->fetch_array();
		$this->rut=$row['rut'];
		$this->razon=$row['razon'];
	}
}
class cliente {
	var $rut, $Idcliente, $razon, $limitecredito;
	private $conexion;
	function __construct($mysqli,$Idcliente) {
		$this->conexion=$mysqli;
		$this->Idcliente=$Idcliente;
		$query=$this->conexion->query('SELECT * FROM clientes WHERE Idcliente="'.$Idcliente.'"');
		$row=$query->fetch_array();
		$this->rut=$row['rut'];
		$this->razon=$row['razon'];
		$this->limitecredito=$row['limitecredito'];
	}
	function creditodisponible (){
		$query=$this->conexion->query('SELECT sum(vd.cantidad*vd.valorunitario) as total FROM ventas_detalle vd LEFT JOIN ventas v ON vd.Idventa=v.Idventa WHERE v.Idcliente="'.$this->Idcliente.'" AND v.pagada="no"');
		$row=$query->fetch_array();
		$creditodisponible=$this->limitecredito-$row['total'];
		return $creditodisponible;
	}
}
class producto {
	var $descripcion, $codigo, $Idproducto, $valorcompra;
	var $stocksucursalhoy, $fechastocksucursalhoy, $stocksucursalayer, $fechastocksucursalayer; 
	private $conexion;
	function __construct($mysqli,$Idproducto) {
		$this->conexion=$mysqli;
		$this->Idproducto=$Idproducto;
		$query=$this->conexion->query('SELECT * FROM productos WHERE Idproducto="'.$Idproducto.'"');
		$row=$query->fetch_array();
		$this->descripcion=$row['descripcion'];
		$this->codigo=$row['codigo'];
		$this->valorcompra=$row['valorcompra'];
	}
	function valorventa($fecha){
		$query=$this->conexion->query('SELECT * FROM precios WHERE Idproducto="'.$this->Idproducto.'" AND fecha<="'.$fecha.'" ORDER BY fecha DESC LIMIT 1');
		$row=$query->fetch_array();
		return $row['valorventa'];
	}
	function stockcasamatriz($fecha) {
		$qi=$this->conexion->query('SELECT sum(cd.cantidad) as ingreso FROM compras_detalle cd LEFT JOIN compras c ON cd.Idcompra=c.Idcompra WHERE cd.Idproducto="'.$this->Idproducto.'" AND fecha<="'.$fecha.'"');
		$ri=$qi->fetch_array();
		$qe=$this->conexion->query('SELECT sum(vd.cantidad) as egreso FROM ventas_detalle vd LEFT JOIN ventas v ON vd.Idventa=v.Idventa WHERE v.Idsucursal="1" AND vd.Idproducto="'.$this->Idproducto.'" AND fecha<="'.$fecha.'"');
		$re=$qe->fetch_array();
		$qd=$this->conexion->query('SELECT sum(td.cantidad) as egreso FROM traspasos_detalle td LEFT JOIN traspasos t ON td.Idtraspaso=t.Idtraspaso WHERE td.Idproducto="'.$this->Idproducto.'" AND fecha<="'.$fecha.'"');
		$rd=$qd->fetch_array();
		return ($ri['ingreso']-$re['egreso']-$rd['egreso']);
	}
	function stocksucursalayer($Idsucursal, $fecha) {
		$qs=$this->conexion->query('SELECT saldo, fecha FROM sucursales_stock WHERE Idproducto="'.$this->Idproducto.'" AND Idsucursal="'.$Idsucursal.'" AND fecha<"'.$fecha.'" ORDER BY fecha DESC LIMIT 1');
		$stocks=$qs->fetch_array();
		if ($stocks['saldo']<>'') {
			$this->stocksucursalayer=$stocks['saldo'];
			$this->fechastocksucursalayer=$stocks['fecha'];
		} else {
			$this->stocksucursalayer='n/a';
			$this->fechastocksucursalayer='0000-00-00';
		}
	}
	function stocksucursalhoy($Idsucursal, $fecha) {
		$qs=$this->conexion->query('SELECT saldo, fecha FROM sucursales_stock WHERE Idproducto="'.$this->Idproducto.'" AND Idsucursal="'.$Idsucursal.'" AND fecha="'.$fecha.'" LIMIT 1');
		$stocks=$qs->fetch_array();
		if ($stocks['saldo']<>'') {
			$this->stocksucursalhoy=$stocks['saldo'];
			$this->fechastocksucursalhoy=$stocks['fecha'];
		} else {
			$this->stocksucursalhoy='n/a';
			$this->fechastocksucursalhoy='0000-00-00';
		}
	}
	function ventascredito($Idsucursal, $fecha){
		$qe=$this->conexion->query('SELECT sum(vd.cantidad) as egreso FROM ventas_detalle vd LEFT JOIN ventas v ON vd.Idventa=v.Idventa WHERE v.Idsucursal="'.$Idsucursal.'" AND v.fecha="'.$fecha.'" AND vd.Idproducto="'.$this->Idproducto.'" AND v.formapago="credito"');
		$re=$qe->fetch_array();
		return $re['egreso'];
	}
}
class venta {
	var $tipodoc, $ndoc, $fecha, $Idcliente, $Idventa, $Idfactura, $descuento, $cuadreguia;
	private $conexion;
	function __construct($mysqli,$Idventa) {
		$this->conexion=$mysqli;
		$this->Idventa=$Idventa;
		$query=$this->conexion->query('SELECT * FROM ventas WHERE Idventa="'.$Idventa.'"');
		$row=$query->fetch_array();
		$this->Idcliente=$row['Idcliente'];
		$this->Idfactura=$row['Idfactura'];
		$this->tipodoc=$row['tipodoc'];
		if ($row['tipodoc']=="sin documento") {$this->ndoc='n/a';} else	{$this->ndoc=$row['ndoc'];}
		$this->fecha=$row['fecha'];
		$this->descuento=$row['descuento'];
		$this->cuadreguia=$row['cuadreguia'];
	}
	function totalventasindescuento() {
		$detalle=$this->conexion->query('SELECT sum(cantidad*valorunitario) as total FROM ventas_detalle WHERE Idventa="'.$this->Idventa.'"');
		$row=$detalle->fetch_array();
		$totalventasindescuento=$row['total'];
		return $totalventasindescuento;
	}
	function totalventa() {
		$totalventa=$this->totalventasindescuento()-$this->descuento;
		return $totalventa;
	}
	function totalafacturar() {
		$totalafacturar=$this->totalventasindescuento()-$this->descuento+$this->cuadreguia;
		return $totalafacturar;
	}
}
class compra {
	var $tipodoc, $ndoc, $fecha, $Idproveedor, $Idcompra;
	private $conexion;
	function __construct($mysqli,$Idcompra) {
		$this->conexion=$mysqli;
		$this->Idcompra=$Idcompra;
		$query=$this->conexion->query('SELECT * FROM compras WHERE Idcompra="'.$Idcompra.'"');
		$row=$query->fetch_array();
		$this->Idproveedor=$row['Idproveedor'];
		$this->tipodoc=$row['tipodoc'];
		if ($row['tipodoc']=="sin documento") {$this->ndoc='n/a';} else	{$this->ndoc=$row['ndoc'];}
		$this->fecha=$row['fecha'];
	}
	function totalcompra() {
		$detalle=$this->conexion->query('SELECT *, sum(cantidad*valorunitario) as total FROM compras_detalle WHERE Idcompra="'.$this->Idcompra.'"');
		$row=$detalle->fetch_array();
		$totalcompra=$row['total'];
		return $totalcompra;
	}
	function totalguia() {
		$detalle=$this->conexion->query('SELECT *, sum(cantidad*valorguia) as total FROM compras_detalle WHERE Idcompra="'.$this->Idcompra.'"');
		$row=$detalle->fetch_array();
		$totalguia=$row['total'];
		return $totalguia;
	}
}
class traspaso {
	var $totaltraspaso, $fecha, $Idsucursal, $Idtraspaso;
	private $conexion;
	function __construct($mysqli,$Idtraspaso) {
		$this->conexion=$mysqli;
		$this->Idtraspaso=$Idtraspaso;
		$query=$this->conexion->query('SELECT * FROM traspasos WHERE Idtraspaso="'.$Idtraspaso.'"');
		$row=$query->fetch_array();
		$this->Idsucursal=$row['Idsucursal'];
		$this->fecha=$row['fecha'];
	}
	function totaltraspaso(){
		$detalle=$this->conexion->query('SELECT *, sum(cantidad*valorunitario) as total FROM traspasos_detalle WHERE Idtraspaso="'.$this->Idtraspaso.'"');
		$row=$detalle->fetch_array();
		$totaltraspaso=$row['total'];
		return $totaltraspaso;
	}
	function costotraspaso(){
		$detalle=$this->conexion->query('SELECT *, sum(td.cantidad*p.valorcompra) as total FROM traspasos_detalle td LEFT JOIN productos p ON td.Idproducto=p.Idproducto WHERE Idtraspaso="'.$this->Idtraspaso.'"');
		$row=$detalle->fetch_array();
		$costotraspaso=$row['total'];
		return $costotraspaso;
	}
}
?>