<?php
//ini_set('display_errors',1);
session_start();
date_default_timezone_set('America/Lima');
if($_SESSION["sistema"]!= "1"){ header("location: ../../app"); exit();}
  //ini_Set('display_errors',1);
require_once ("../../config/Cado.php");
require_once ("../../config/Datos.php");
require_once ("../talonario/cTalonario.php");
$oTalonario= new cTalonario();
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("../kardex/cKardex.php");
$oKardex = new cKardex();
require_once("../almacen/cAlmacen.php");
$oAlmacen = new cAlmacen();
require_once ("../producto/cCatalogo.php");
$oCatalogo = new cCatalogo();
require_once ("../ingreso/cIngreso.php");
$oIngreso = new cIngreso();
require_once ("../stock/cStock.php");
$oStock = new cStock();
require_once("../cliente/cCliente.php");
$oCliente = new cCliente();
require_once ("../caja/cCaja.php");
$oCaja = new cCaja();
require_once("../preciogestion/cPreciogestion.php");
$oPreciogestion = new cPreciogestion();
require_once("../producto/cProductomarca.php");
$oProductomarca = new cProductomarca();
require_once("../producto/cProductomarcacodigo.php");
$oProductomarcacodigo = new cProductomarcacodigo();
require_once("../tipocambiotesoreria/cTipocambiotesoreria.php");
$oTipocambiotesoreria = new cTipocambiotesoreria();
require_once("../tipocambio/cTipocambio.php");
$oTipocambio = new ctipocambio();


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

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

$anio = date('Y');
$fecha = date('Y-m-d');

function responder($estado=false, $mensaje='', $datos=[])
{
	header('Content-Type: application/json');
	echo json_encode([
		'est' => $estado,
		'msj' => $mensaje,
		'dat' => $datos,
	]);
	exit;
}


if($_POST['action_venta']=="insertar")
{
    
 
	if(!empty($_POST['txt_ven_fec']))
	{
		
		/* if($_POST['txt_ven_tot']==0){
			
		$data['ven_msj'] = 'El monto total es cero';
		$data['ven_est']=0;
		
		}else{ } */
			
			$cst1 = $oCliente->verifica_cliente_nom($_POST['txt_ven_cli_nom'],$_POST['txt_ven_cli_doc']);
			$can1 = mysqli_num_rows($cst1);
			
			
			if($_POST['hdd_ven_cli_id']==''){
			
			$can = strlen($_POST['txt_ven_cli_doc']);
			
			
			if($can == 8){
				$tip = 1;
				$estcli = 0;
			}else if($can == 11){
				$tip = 2;
				$estcli = 0;
			}else{
				$estcli = 1;
			}
			
			if($can1>0){
				
				$dt = mysqli_fetch_array($cst1);
				$cli_id=$dt['tb_cliente_id'];
				$cli_nom=$dt['tb_cliente_nom'];
				$cli_veh='';
				mysqli_free_result($cst1);
				
				$dts1=$oCliente->filtrardirecciones($cli_id,'');
				$dt1 = mysqli_fetch_array($dts1);
				$cli_dir=$dt1['tb_clientedireccion_nom'];
				mysqli_free_result($cst1);
				
			}else{
			
			if($estcli==0){
				
			$oCliente->insertar(
				$tip, 
				limpia_espacios($_POST['txt_ven_cli_nom']), 
				$_POST['txt_ven_cli_doc'], 
				'', 
				$_POST['txt_ven_cli_tel'], 
				$_POST['txt_ven_cli_cor'],
				'',
				intval(0)
				);
				
				$dtscli=$oCliente->ultimoInsert();
				$dt = mysqli_fetch_array($dtscli);
				$cli_id=$dt['id'];
				mysqli_free_result($dtscli);
				
				$cli_dir = $_POST['txt_ven_cli_dir'];
				$cli_nom = $_POST['txt_ven_cli_nom'];

			$oCliente->insertardireccionsunat('1',$_POST['txt_ven_cli_dir'],$cli_id);	
			}
			
			}
			
		}else{
			$cli_id = $_POST['hdd_ven_cli_id'];
			$cli_dir = $_POST['cmb_ven_cli_dir'];
			$cli_nom = $_POST['txt_ven_cli_nom'];
		}
			
			if($estcli==0){
			
			
			$dts1=$oAlmacen->mostrarAlmCajEmp($_POST['txt_punven_id']);
			$dt1 = mysqli_fetch_array($dts1);
 			$emp=$dt1['tb_empresa_id'];
 			$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);
			
		$est = 1;
			
		$dts= $oDocumento->mostrarUno($_POST['cmb_doc_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=='T'){
		$ser = 'T00'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='F'){
		$ser = 'F00'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='B'){
		$ser = 'B00'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='GR'){
		$ser = 'GR00'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='NC'){
		$ser = 'NC00'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='P'){
		$ser = 'P00'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='TR'){
		$ser = 'TR00'.$_SESSION['usuario_ser'];
		}else if($doc_abr=='NA'){
		$ser = 'NA00'.$_SESSION['usuario_ser'];
		}

		$dts= $oTalonario->correlativo($_POST['txt_punven_id'],$_POST['cmb_doc_id'],$ser);
		$dt = mysqli_fetch_array($dts);
			$tal_id=$dt['tb_talonario_id'];
			$tal_ser=$dt['tb_talonario_ser'];
			$tal_fin=$dt['tb_talonario_fin'];
			$tal_num=$dt['tb_talonario_num'];
		mysqli_free_result($dts);

		$numero=$tal_num;
		$largo=strlen($tal_fin);
		$numero=str_pad($numero,$largo, "0", STR_PAD_LEFT);
		$numdoc=$tal_ser.'-'.$numero;
		
		$fec =$_POST['txt_ven_fec'];    //date('d-m-Y');
			
		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']);
		
		}
		
		
		if($_POST['txt_venpag_fecven'] =="" || $_POST['txt_venpag_fecven']=='00-00-0000'){
		$fecvenpag = $fec;
		}else{
		$fecvenpag = $_POST['txt_venpag_fecven'];
		}
		
		
		
			//insertamos venta
		$rs=$oVenta->insertar(
			fecha_mysql($fec),
			fecha_mysql($fecvenpag),
			$_POST['cmb_doc_id'],
			$numdoc,
			$_POST['txt_mone_id'],
			$tipcam,
			$cli_id,
			$cli_nom,
			$cli_dir,
			$_POST['cmb_ven_cli_vehi'],
			moneda_mysql($_POST['txt_ven_valven']),
			moneda_mysql($_POST['txt_ven_des']),
			moneda_mysql($_POST['txt_ven_igv']),
			moneda_mysql($_POST['txt_ven_tot']),
			0,
			$est,			
			$_SESSION['usuario_id'],
			$_SESSION['usuario_id'],
			$piso_id,
			$_POST['txt_punven_id'],
			'--',
			0,//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',
			'',
			moneda_mysql($_POST['cmb_tipmod_id']),
			moneda_mysql($_POST['cmb_tipplamod_id']),
			moneda_mysql($_POST['cmb_tippla_id']),
			moneda_mysql($_POST['cmb_opeced_id']),
			moneda_mysql($_POST['cmb_modope_id']),
			fecha_mysql($fec),
			moneda_mysql($_POST['hdd_ven_com']),
			moneda_mysql($_POST['hdd_ven_compro']),
			moneda_mysql($_POST['txt_ven_pagmenant']),
			'',
			fecha_mysql($fec),
			'',
			moneda_mysql($_POST['hdd_ven_ugi'])
		);

			
		//ultima venta
		$dts=$oVenta->ultimoInsert();
		$dt = mysqli_fetch_array($dts);
		$ven_id=$dt['id'];
		mysqli_free_result($dts);
				
		$estado='1';
		if($tal_num==$tal_fin)
		{
			$estado='2';
		}
		$numero=$tal_num+1;
		$rs3 = $oTalonario->actualizar_correlativo($tal_id, $numero, $estado);
				
				
		$kar_des='VENTA';
		$mod_id = 3; // VENTA MOD 3
		$idm=$ven_id;//id de la op(modulo compras, ventas, etc)

		//insertamos kardex
		$oKardex->insertar(			
			fecha_mysql($fec),			
			$kar_des,
			$mod_id,
			$idm,
			$_SESSION['usuario_id'],
			$_SESSION['usuario_id'],
			'0'
		);
			
		$dts=$oKardex->ultimoInsert();
		$dt = mysqli_fetch_array($dts);
		$kar_id=$dt['id'];
		mysqli_free_result($dts);
			
		
		
	
		$ctax=$oIngreso->obtener_cuenta_ingreso();
		$cta = mysqli_fetch_array($ctax);
			$ing_cue_id	=$cta['tb_cuenta_id'];
		mysqli_free_result($ctax);

			// un solo pago
		if ($_POST['hdd_venpag_val']=="")
		{	$mod_id=3;
			$ingreso=0;
			if($_POST['cmb_forpag_id']==1)
			{
				$forma='CONTADO';
				$est=1;
				$ingreso=1;

			
					$modpag = $_POST['cmb_modpag_id'];
		
		if($modpag == '1'){
			$modo='CONTADO - EFECTIVO';
		}else if($modpag == '2'){
			$modo='CONTADO - DEPOSITO';
		}else if($modpag == '3'){
			$modo='CONTADO - TRANSFERENCIA';
		}else if($modpag == '4'){
			$modo='CONTADO - CHEQUE';
		}else if($modpag == '5'){
			$modo='CONTADO - TARJETA';
		}
				
				
			$_POST['txt_venpag_fecven'] = $fec;
			
			}
			
			if($_POST['cmb_forpag_id']==2)
			{
				$forma='CREDITO';
				$modo='CREDITO';
				$est=2;
				$_POST['txt_venpag_fecven'] = $_POST['txt_venpag_fecven'];
			}
			
			
			if($_POST['txt_venpag_numdia']==''){
				$_POST['txt_venpag_numdia'] = 0;
			}
			
			if($_POST['txt_venpag_fecven']==''){
				$_POST['txt_venpag_fecven'] = $fec;
			}
			
			$rs1=$oVentapago->insertar(
				$_POST['cmb_forpag_id'],
				$_POST['cmb_modpag_id'],
				moneda_mysql($_POST['txt_venpag_mon']),
				$_POST['txt_venpag_numdia'],
				fecha_mysql($_POST['txt_venpag_fecven']),
				$est,
				$ven_id,
				'2'
			);

			$dtsvp=$oVentapago->ultimoInsert();
			$dtvp = mysqli_fetch_array($dtsvp);
				$venpag_id=$dtvp['id'];
			mysqli_free_result($dtsvp);

		$rs1=$oVentapago->insertar_ventapago_ingreso(
				fecha_mysql($fec)
		);
			
		$dtsvpi=$oVentapago->ultimoInsertVentaPagoIngreso();
		$dtvpi = mysqli_fetch_array($dtsvpi);
		$venpagiing_id=$dtvpi['id'];
		mysqli_free_result($dtsvpi);
				
		$oVentapago->insertar_ventapago_ingreso_detalle($venpagiing_id,$venpag_id);
			
			if($ingreso==1)
			{
				//ingreso
				$ing_det="VENTA $doc_nom $numdoc | $modo";
				$ing_est=1;
				$mon_id=$_POST['txt_mone_id'];
				 //modulo 3 venta
				$ing_subcue_id = 0;
				
				$rs2=$oIngreso->insertar(
					$_SESSION['usuario_id'],
					$_SESSION['usuario_id'],
					fecha_mysql($_POST['txt_ven_fec']),
					$_POST['cmb_doc_id'],
					$numdoc,
					$ing_det,
					moneda_mysql($_POST['txt_venpag_mon']),
					$ing_est,
					$ing_cue_id,
					moneda_mysql($ing_subcue_id),
					$cli_id,
					$_POST['cmb_caj_id'],
					$mod_id,
					$venpagiing_id,
					$_POST['cmb_forpag_id'],
					$_POST['cmb_modpag_id'],
					$_POST['txt_venpag_numope']
				);
			}
			
		}
		
	
	
foreach($_SESSION['venta_can'] as $indice=>$cantidad) {
	
			$valor_uni=$_SESSION['venta_preven'][$indice];
			$esp_id = $_SESSION['venta_espid'][$indice];
			$mar_id = $_SESSION['venta_marid'][$indice];			
			$cat_id = $_SESSION['venta_catid'][$indice];
			$imei = $_SESSION['venta_imei'][$indice];
			$imei_id = $_SESSION['venta_imei_id'][$indice];
			$est ='1';	
			
			$dts=$oCatalogo->mostrarUno($cat_id,$mar_id);
			$dt = mysqli_fetch_array($dts);
				$pre_id	= $dt['tb_presentacion_id'];
				$cat_fac = $dt['tb_catalogo_fac'];
				$pro_id = $dt['tb_producto_id'];
				$pro_nom = $dt['tb_producto_nom']; 
				$pro_compro = $dt['tb_producto_compro'];
				$pro_comsol = $dt['tb_producto_comsol'];
				$promar_precos = $dt['tb_productomarca_precos'];
			mysqli_free_result($dts);
			
			$dtspre = $oPreciogestion->mostrar_precioxpuntoventa($esp_id,$_SESSION['puntoventa_id']);		
		$dtp = mysqli_fetch_array($dtspre);
		$prevenmen = $dtp['tb_precioproductoespecificacion_preven'];
		$precos = $dtp['tb_precioproductoespecificacion_precom'];

		$dif = 	$prevenmen - $precos;

		if($pro_compro>0){
			$com = ($dif * $pro_compro)/100;
		}else{
			$com = $pro_comsol;
		}



			$icbper = 0;
			$des_uni=0;
			$oVenta->insertar_detalle(			
				moneda_mysql($imei_id),
				$imei,
				$pro_id,
				$cat_id,
				$mar_id,
				$esp_id,
				$pro_nom,
				$cantidad,
				moneda_mysql($valor_uni),
				moneda_mysql($icbper),
				moneda_mysql($des_uni),
				$ven_id,
				$est,
				moneda_mysql($com)
			);
			
		
			$dts=$oStock->stock_por_presentacion($cat_id,$mar_id,$esp_id,$alm);
			$dt = mysqli_fetch_array($dts);
			$sto_id		=$dt['tb_stock_id'];
			$sto_num	=$dt['tb_stock_num'];
			mysqli_free_result($dts);
					
			$stock_nuevo=$sto_num-$cantidad;
			
			$oStock->modificar($sto_id,$stock_nuevo);
			
			
			$kar_tipo=2;//1 entrada 2 salida

			$oKardex->insertar_detalle(
				$cat_id,
				$mar_id,
				$esp_id,
				$kar_tipo,
				$cantidad,
				moneda_mysql($valor_uni/1.18),
				$cantidad,
				$kar_id,
				$alm
			);
		
		
			}
		
		
		unset($_SESSION['venta_catid']);
		unset($_SESSION['venta_marid']);
		unset($_SESSION['venta_can']);
		unset($_SESSION['venta_des']);
		unset($_SESSION['venta_preven']);
		unset($_SESSION['venta_imei']);	
		unset($_SESSION['venta_espid']);
		unset($_SESSION['venta_imei_id']);
		
		
	
	
		$user_agen = $_SERVER['HTTP_USER_AGENT'];
		$mod = 3;
		$mod_ide = $ven_id;
		$det = 'VENTA REGISTRADA ['.$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,
		$_SESSION['usuario_id'],
		$mod,
		$mod_ide,
		$doc_id,
		$numdoc
		);

		
		
  		$data['ven_msj']='Se registró correctamente: '.$doc_nom.' N°: '.$numdoc;
		$data['ven_docabr']=$doc_abr;
		$data['ven_id']=$ven_id;
		$data['ven_est']=1;
		
		if($_POST['chk_imprimir']==1)
	  	{
	  		$data['ven_act']='1';
	  	}
		
		}else{
			$data['ven_msj']='El documento no es DNI/RUC - Corregir';
		
			$data['ven_est']=0;
		}
		
		
	}
	else
	{
		$data['ven_msj']='Intentelo nuevamente.';
	}
	
	
	
	
	echo json_encode($data);
}
?>
