<?php
session_start();
date_default_timezone_set('America/Lima');

//ini_set('display_errors',1);
require_once ("../../config/Cado.php");

require_once ("../talonario/cTalonario.php");
$oTalonario= new cTalonario();
require_once ("../puntoventa/cPuntoventa.php");
$oPuntoventa = new cPuntoventa();
require_once("../venta/cVenta.php");
$oVenta = new cVenta();
require_once("../venta/cVentapago.php");
$oVentapago = new cVentapago();
require_once ("../documento/cDocumento.php");
$oDocumento= new cDocumento();
require_once ("../producto/cCatalogo.php");
$oCatalogo = new cCatalogo();

require_once ("../devolucioncliente/cDevolucioncliente.php");
$oDevolucioncliente = new cDevolucioncliente();

require_once("../stock/cStock.php");
$oStock = new cStock();
require_once("../kardex/cKardex.php");
$oKardex = new cKardex();
require_once ("../tarjeta/cTarjeta.php");
$oTarjeta = new cTarjeta();
require_once ("../cuentadeposito/cCuentadeposito.php");
$oCuentadeposito = new cCuentadeposito();
require_once ("../ingreso/cIngreso.php");
$oIngreso = new cIngreso();
require_once ("../piso/cPiso.php");
$oPiso  = new cPiso();


require_once ("../historial/cHistorial.php");
$oHistorial = new cHistorial();


require_once("../almacen/cAlmacen.php");
$oAlmacen = new cAlmacen();

require_once("../formatos/formato.php");

	if(!empty($_POST['cmb_docgen_id']))
	{
		
	$dts = $oVenta->mostrarUno($_POST['hdd_venfac']);
	$dt = mysqli_fetch_array($dts);
	$reg = mostrarFechaHora($dt['tb_venta_reg']);
	//$fec = mostrarFecha($dt['tb_venta_fec']);
	$fec = date('d-m-Y');

	$doc_id	= $dt['tb_documento_id'];
	$numdocfac	= $dt['tb_venta_numdoc'];
	$docnomfac	= $dt['tb_documento_nom'];
	$igvval = $dt['tb_venta_igvval'];
	$igvsub = $dt['tb_venta_igvsub'];
	$igvigv = $dt['tb_venta_igvigv'];
	
	/* echo $igvval.'-';
	echo $igvsub.'-';
	echo $igvigv.'-'; */
	
	$cli_id	= $_POST['hdd_ven_cli_id'];
	$cli_nom = $_POST['txt_ven_cli_nom'];
	$cli_doc = $_POST['txt_ven_cli_doc'];
	$cli_dir = $_POST['cmb_ven_cli_dir'];
	
	
	$cli_tip = $dt['tb_cliente_tip'];
	$cli_pla = $dt['tb_cliente_pla'];
	$mon_id = $dt['tb_moneda_id'];
	$tipcam = $dt['tb_venta_tipcam'];
	$valven	= $dt['tb_venta_valven'];
	$igv	= $dt['tb_venta_igv'];
	$tot	= $dt['tb_venta_tot'];
	$est	= $dt['tb_venta_est'];		
		
	$dts1=$oAlmacen->mostrarAlmCajEmp($_SESSION['puntoventa_id']);
			$dt1 = mysqli_fetch_array($dts1);
 			$emp=$dt1['tb_empresa_id'];
 			$emp_dir=$dt1['tb_empresa_dir'];
 			$punven_id=$dt1['tb_puntoventa_id'];
 			$piso_id=$dt1['tb_piso_id'];	
			$alm = $dt1['tb_almacen_id'];
 			$caj_id = $dt1['tb_caja_id'];
			mysqli_free_result($dts1);
		
			
		$dts= $oDocumento->mostrarUno($_POST['cmb_docgen_id']);
		$dt = mysqli_fetch_array($dts);
		$doc_nom=$dt['tb_documento_nom'];
		$doc_abr=$dt['tb_documento_abr'];
		mysqli_free_result($dts);
		
	if($doc_abr=='F'){
		$ser = 'F00'.$_SESSION['usuario_ser'];		
	}else if($doc_abr=='B'){
		$ser = 'B00'.$_SESSION['usuario_ser'];		
	}
		
		$tal_id='';
		$tal_ser='';
		$tal_fin='';
		$tal_num='';
		
		$dtsc= $oTalonario->correlativo($_SESSION['puntoventa_id'],$_POST['cmb_docgen_id'],$ser);
		$dtc = mysqli_fetch_array($dtsc);
			$tal_id=$dtc['tb_talonario_id'];
			$tal_ser=$dtc['tb_talonario_ser'];
			$tal_fin=$dtc['tb_talonario_fin'];
			$tal_num=$dtc['tb_talonario_num'];
		mysqli_free_result($dtsc);
		
		$numero=$tal_num;
		$largo=strlen($tal_fin);
		$numero=str_pad($numero,$largo, "0", STR_PAD_LEFT);
		$numdoc=$tal_ser.'-'.$numero;	
	
	$dtsvp1 = $oVentapago->filtrar($_POST['hdd_venfac']);
	$dtvp = mysqli_fetch_array($dtsvp1);
	$fecvenpag = $dtvp['tb_ventapago_fecven'];
	
		
		
	/* if($_POST['txt_mone_id']==1){
			$tipcam = 1;
		}else{	
			
		 $rs = $oTipocambio->consultar(fecha_mysql($fecha));  
		 $dt = mysqli_fetch_array($rs);
		 $tipcam = formato_money3($dt['tb_tipocambio_dolsun']);
		
		}	 */
		
		
		//insertamos venta
	$rs=$oVenta->insertar(
			fecha_mysql($fec),
			fecha_mysql($fecvenpag),
			$_POST['cmb_docgen_id'],
			$numdoc,
			$mon_id,
			$tipcam,
			$cli_id,
			$cli_nom,
			$cli_dir,
			$cli_pla,
			moneda_mysql(0),
			moneda_mysql(0),
			moneda_mysql(0),
			moneda_mysql(0),
			$est,			
			$_SESSION['usuario_id'],
			$_SESSION['usuario_id'],
			$piso_id,
			$punven_id,
			'--',
			moneda_mysql($valven),//tb_venta_gra
			0,//tb_venta_ina
			0,//tb_venta_exo
			0,//tb_venta_grat
			0,//tb_venta_isc
			0,
			0,
			0,
			0,
			'',
			'',
			fecha_mysql($fec),
			'0',
			'',
			$igvval,
			$igvsub,
			$igvigv
		);

		//ultima venta
		$dts=$oVenta->ultimoInsert();
		$dt = mysqli_fetch_array($dts);
			$ven_id=$dt['id'];
		mysqli_free_result($dts);

		//talonario
		
		$estado='1';
		if($tal_num==$tal_fin)
		{
			$estado='2';
		}
		$numero=$tal_num+1;
		$rs3 = $oTalonario->actualizar_correlativo($tal_id, $numero, $estado);
		
		
	$dts1=$oVenta->mostrar_venta_detalle($_POST['hdd_venfac']);
	$num_rows= mysqli_num_rows($dts1);
	
	while($dt1 = mysqli_fetch_array($dts1))
    {
		$pronom = $dt1['tb_ventadetalle_nom'];
		$cat_cod = $dt1['tb_catalogo_cod'];
		$catid = $dt1['tb_catalogo_id'];
		$marid = $dt1['tb_marca_id'];
		$can = $dt1['tb_ventadetalle_can'];
		$pre_uni=$dt1['tb_ventadetalle_preuni'];
		$estd=$dt1['tb_ventadetalle_est'];
					
		$val_tot = $valor_uni * $can;
		$des_tot = $des_uni * $can;
		$igv_tot = $igv_uni * $can;
		$pre_tot = $pre_uni * $can;
			//registro detalle de venta
			
		$dtsd = $oDevolucioncliente->ver_itemsdevueltos_x_venta($_POST['hdd_venfac'],$catid,$marid);	
		$nowrow = mysqli_num_rows($dtsd);
		
		if($nowrow>0){
			
			$dtd = mysqli_fetch_array($dtsd);
			$cand = $dtd['tb_devolucionclientedetalle_can'];
			
			$est = $can - $cand;
			
			if($est>0){
			
			$can1 = $est;
			
			$oVenta->insertar_detalle(			
				$cat_cod,
				$catid,
				$marid,
				$pronom,
				$can1,
				moneda_mysql($pre_uni),
				moneda_mysql($des_uni),
				$ven_id,
				$estd
			);
			
			}
			
		}else{
			$can1 = $can;
			$oVenta->insertar_detalle(			
				$cat_cod,
				$catid,
				$marid,
				$pronom,
				$can1,
				moneda_mysql($pre_uni),
				moneda_mysql($des_uni),
				$ven_id,
				$estd
			);
		}
		
		// echo $valor_uni.'--';
		
		$totn += $pre_uni * $can1;
		
		
	}				

	
	$totvenn = $totn ;
	$igvn = $totn *0.18;
	$valvenn = $totn / 1.18;
	
	$oVenta->actualizar_montos($ven_id,moneda_mysql($valvenn),moneda_mysql($igvn),moneda_mysql($totvenn),moneda_mysql(''));	
		
	
	$dtsvp1 = $oVentapago->filtrar($_POST['hdd_venfac']);
	$dtvp = mysqli_fetch_array($dtsvp1);
	$forpag = $dtvp['tb_formapago_id'];
	$modpag = $dtvp['tb_modopago_id'];
	$numdiapag = $dtvp['tb_ventapago_numdia'];
	$fecvenpag = $dtvp['tb_ventapago_fecven'];
	$venpagidnv = $dtvp['tb_ventapago_id'];
	
	//cuenta ingresos
		$ctax=$oIngreso->obtener_cuenta_ingreso();
		$cta = mysqli_fetch_array($ctax);
			$ing_cue_id	=$cta['tb_cuenta_id'];
		mysqli_free_result($ctax);
		
		
		if($forpag==1){ //CONTADO
			
			$ingreso = 1;
			$est = 1;
			$modo='EFECTIVO';
			
		}else if($forpag==2){ //CREDITO
			$est = 2;
			$modo='CREDITO';
		}	
		
		$rs1=$oVentapago->insertar(
				$forpag,
				$modpag,
				moneda_mysql($totvenn),
				$numdiapag,
				fecha_mysql($fecvenpag),
				$est,
				$ven_id,
				'2'
		);
			
		$dtsvp=$oVentapago->ultimoInsert();
		$dtvp = mysqli_fetch_array($dtsvp);
		$venpag_id=$dtvp['id'];
		mysqli_free_result($dtsvp);
	
	  	if($forpag==1){
			
			$dts1 = $oVentapago->ver_ventapagoingreso($venpagidnv);
			$nowrow = mysqli_num_rows($dts1);
			if($nowrow>0){
				$dt = mysqli_fetch_array($dts1);
				$venpaging = $dt['tb_ventapagoingresos_id']; 
				$oVentapago->insertar_ventapago_ingreso_detalle($venpaging,$venpag_id);		
			}	
			
		}else if($forpag==2){
			
			$dts1 = $oVentapago->ver_ventapagoingreso($venpagidnv);
			$nowrow = mysqli_num_rows($dts1);
			if($nowrow>0){
				$dt = mysqli_fetch_array($dts1);
				$venpaging = $dt['tb_ventapagoingresos_id']; 
				$oVentapago->insertar_ventapago_ingreso_detalle($venpaging,$venpag_id);
				
			}
			
		}
		
		//$oVenta->act_sunat($_POST['hdd_venfac'],'','','1','');
		
		$oVenta->modificar_campo($_POST['hdd_venfac'],'rel',$ven_id);
		$oVenta->modificar_campo($ven_id,'rel',$_POST['hdd_venfac']);
		$oVenta->modificar_campo($_POST['hdd_venfac'],'est','3');
		
		$data['ven_id'] = $ven_id;
	  	$data['ven_act']='imprime';
  		$data['ven_msj']='Se registró correctamente: '.$doc_nom.' N°: '.$numdoc;
		$data['ven_est']=1;
			
			
		
		$user_agen = $_SERVER['HTTP_USER_AGENT'];
		$mod = 3;
		$mod_ide = $ven_id;
		$det = 'CANJE DE TICKET ['.$docnomfac.' N°: '.$numdocfac.'] POR ['.$doc_nom.' N°: '.$numdoc.']';
		$fec = date('Y-m-d');
		$doc_id = $_POST['cmb_doc_id'];
		$numdoc = $numdoc;
	 	$ip = mostrar_ip();
		
		$oHistorial->insertar(
		fecha_mysql($fec),
		$det,
		$ip,
		intval($_SESSION['usuario_id']),
		intval($mod),
		intval($mod_ide),
		intval($doc_id),
		$numdoc
		);

			
		
	}
	else
	{
		$data['ven_msj']='Intentelo nuevamente.';
	}
	
	echo json_encode($data);

?>