<?php



session_start();

date_default_timezone_set('America/Lima');

if($_SESSION["sistema"]!= "1"){ header("location: ../../index.php"); exit();}

require_once ("../../config/Cado.php");



require_once("cCompra.php");

$oCompra = new cCompra();

require_once("cComprapago.php");

$oComprapago = new cComprapago();

require_once ("../documento/cDocumento.php");

$oDocumento= new cDocumento();

require_once ("../producto/cCatalogo.php");

$oCatalogo = new cCatalogo();

require_once("../stock/cStock.php");

$oStock = new cStock();

require_once("../kardex/cKardex.php");

$oKardex = new cKardex();

require_once("../egreso/cEgreso.php");

$oEgreso = new cEgreso();



require_once("../almacen/cAlmacen.php");

$oAlmacen = new cAlmacen();



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



require_once("../proveedor/cProveedor.php");

$oProveedor = new cProveedor();



require ("../../libreriasphp/consultaruc/curl.php");

require ("../../libreriasphp/consultaruc/sunat.php");

$sunat = new Sunat();





require_once dirname(__FILE__) . '/../../libreriasphp/phpexcel/Classes/PHPExcel.php';



move_uploaded_file($_FILES['file_archivo']['tmp_name'],$_FILES['file_archivo']['name']);



$archivo = $_FILES['file_archivo']['name'];



$inputFileType = PHPExcel_IOFactory::identify($archivo);

$objReader = PHPExcel_IOFactory::createReader($inputFileType);

$objPHPExcel = $objReader->load($archivo);

$sheet = $objPHPExcel->getSheet(0); 

$highestRow = $sheet->getHighestRow(); 

$highestColumn = $sheet->getHighestColumn();





function ultimoID($oClase){

	$dts = $oClase->ultimoInsert();

	$dt = mysqli_fetch_array($dts);

	mysqli_free_result($dts);

	return $dt['last_insert_id()'];

}



for ($row = 2; $row <= $highestRow; $row++){ 



		$codfec = $sheet->getCell("A".$row)->getValue();	

		$doclet = $sheet->getCell("B".$row)->getValue();	

		$numdoc = $sheet->getCell("C".$row)->getValue();	

		$mon = $sheet->getCell("D".$row)->getValue();	

		$tipcam = $sheet->getCell("E".$row)->getValue();		

		$provruc = $sheet->getCell("F".$row)->getValue();	

		$valortot = $sheet->getCell("H".$row)->getValue();	

		$emprnom = $sheet->getCell("I".$row)->getValue();	

		$permeslet = $sheet->getCell("J".$row)->getValue();	

		$peranio = $sheet->getCell("K".$row)->getValue();	

		

		$valcom=$valortot/1.18;

		$igv=$valortot*(0.18)/1.18;

		



		$feclet =  date('Y-m-d',mktime(12,0,0,1, $codfec - 1,1900));



		$feclet1 = str_ireplace(' ','',$feclet);

		$fec = str_ireplace('/','-',$feclet1);

		

		

		$est=1;

		if($mon=="SOLES"){

			$mon_id = '1';

			$tipcam = '1.00';

		}else if($mon=="DOLARES AMERICANOS"){

			$mon_id = '2';

			$tipcam = $tipcam;

		}

		

		if($doclet=="ND"){

			$docid = '3';

		}else if($doclet=="F"){

			$docid = '1';

		}else if($doclet=="NC"){

			$docid = '2';

		}else if($doclet=="OT"){

			$docid = '9';

		}

		

		//$emprnom = str_ireplace(' ','',$emprnom);

		

		if($emprnom == 'ID'){

			$empid = 3;

		}else if($emprnom == 'VF'){

			$empid = 1;

		}else if($emprnom == 'JV'){

			$empid = 2;

		}

		

		

		if($permeslet == 'ENERO'){

			$permes = '01';

		}else if($permeslet == 'FEBRERO'){

			$permes = '02';

		}else if($permeslet == 'MARZO'){

			$permes = '03';

		}else if($permeslet == 'ABRIL'){

			$permes = '04';

		}else if($permeslet == 'MAYO'){

			$permes = '05';

		}else if($permeslet == 'JUNIO'){

			$permes = '06';

		}else if($permeslet == 'JULIO'){

			$permes = '07';

		}else if($permeslet == 'AGOSTO'){

			$permes = '08';

		}else if($permeslet == 'SEPTIEMBRE'){

			$permes = '09';

		}else if($permeslet == 'OCTUBRE'){

			$permes = '10';

		}else if($permeslet == 'NOVIEMBRE'){

			$permes = '11';

		}else if($permeslet == 'DICIEMBRE'){

			$permes = '12';

		}

		

		

		

		

		

	$cst1 = $oProveedor->verifica_proveedor_doc($provruc,0);

	$rst1= mysqli_num_rows($cst1);	

		

	if($rst1>0)

	{

		$dt = mysqli_fetch_array($cst1);

		$pro_id=$dt['tb_proveedor_id'];

		mysqli_free_result($cst1);	

	}else{

	

		$vtipod = '6';

		if(strpbrk($vtipod, '016')){

		$provruc = $sunat->autoruc($provruc);

		}

		$data['dat'] = $sunat->BuscaDatosSunat($provruc);

	

		$telefonos =  $data['dat']['Telefonos'];	

		$razonsocial =  $data['dat']['RazonSocial'];

		$direccion =  $data['dat']['Direccion'];

		$ruc = $provruc;

	

		if($data['dat']['Contacto']!='undefined'){

		$contacto =  $data['dat']['Contacto'];	

		}else{

		$contacto =  $data['dat']['RazonSocial'];

		}

		

		$telefonos = str_ireplace('/ \/ /g','/',$telefonos);

		$telefonos = str_ireplace('/ ','/',$telefonos);

		$telefonos = str_ireplace('/\//g','/',$telefonos);

		

		$pronom = limpia_espacios($razonsocial);

		$prodir	= $direccion;

		$procont = limpia_espacios($contacto);

		$pronom =  str_ireplace("'"," ",$pronom);

		$prodir =  str_ireplace("'"," ",$prodir);

		$procont =  str_ireplace("'"," ",$procont);



		$oProveedor->insertar(

		'2', 

		$pronom, 

		$ruc, 

		$prodir, 

		$procont,

		$telefonos, 

		''

		);

			

		$dts=$oProveedor->ultimoInsert();

		$dt = mysqli_fetch_array($dts);

		$pro_id=$dt['last_insert_id()'];

		mysqli_free_result($dts);

				

	}

	

	//// REALIZAR EL REGISTRO DE COMPRA

	

	

	

	

	

	

	

	

		$dts1=$oAlmacen->mostrarAlmCajEmp($empid);

			$dt1 = mysqli_fetch_array($dts1);

 			$emp=$dt1['tb_empresa_id'];

 			$punven_id=$dt1['tb_puntoventa_id'];

 			$piso_id=$dt1['tb_piso_id'];

 			$almid = $dt1['tb_almacen_id'];

 			$cajid = $dt1['tb_caja_id'];

			mysqli_free_result($dts1);

		

		

 		$oCompra->insertar(

			fecha_mysql($fec), // fecha de compra

			//fecha_mysql($_POST['txt_com_fec_emi']), // fecha de compra

			$docid, // documento de compra 	| factura | boleta

			$numdoc,// numero de documento

			$mon_id,// tipo de moneda 		|SOL | DOLAR

			$tipcam,// tipo de cambio si la moneda fuese dolares

			$pro_id, // id proveedor

			moneda_mysql($valcom), // sub total

			moneda_mysql($_POST['txt_com_des']),   		// descuento a filas

			moneda_mysql($_POST['txt_com_descal']),   	// descuento

			moneda_mysql($_POST['txt_com_fle']),   		// flete

			'2',   				// tipo de afectación del flete

			moneda_mysql($_POST['txt_com_ajupos']),   	// ajuste positivo

			moneda_mysql($_POST['txt_com_ajuneg']),   	// ajuste negativo

			moneda_mysql($valcom),   	// valor de la compra

			moneda_mysql($igv),   		// igv de la compra

			moneda_mysql($valortot),   		// total de la compra

			$_POST['chk_com_tipper'],   				// ni idea ._.

			moneda_mysql($_POST['txt_com_per']),   		// none

			$est,   					// estado 1REGISTRADA - 2CANCELADA

			$almid,   				// almacen de productos

			$_SESSION['usuario_id'],   					// USUARIO ID

			$emp, 						// EMPRESA ID

			$punven_id, 						// PUNTO VENTA ID

			$piso_id,			// PISO ID

			$permes,

			$peranio,

			'',

			'',

			'',

			'',

			'',

			'',

			moneda_mysql($valcom)

		);



 		$dts=$oCompra->ultimoInsert();

 		$dt = mysqli_fetch_array($dts);

 			$com_id=$dt['last_insert_id()'];

 		mysqli_free_result($dts);



		$ctax=$oCompra->obtener_cuenta_egreso();

		$cta = mysqli_fetch_array($ctax);

			$cuenta_id	=$cta['tb_cuenta_id'];

		mysqli_free_result($cta);

		

		$dtsx= $oDocumento->mostrarUno($docid);

		$dtx = mysqli_fetch_array($dtsx);

			$doc_nom=$dtx['tb_documento_nom'];

		mysqli_free_result($dtsx);

	

		$_POST['chk_compag_aut'] = "";

		$_POST['cmb_forpag_id'] = 2;

	

	

	if($_POST['chk_compag_aut']=="")

		{

			$egreso=0;

			if($_POST['cmb_forpag_id']==1)

			{

				$forma='CONTADO';

				$est=1;

				$egreso=1;

			}

			

			if($_POST['cmb_forpag_id']==2)

			{

				$forma='CREDITO';

				$est=2;

			}

			

			if($_POST['cmb_forpag_id']==3)

			{

				$forma='CHEQUE';

				$est=2;

			}

			

			$fecha_hoy=fecha_mysql($fec);

			

			list($year,$mon,$day) = explode('-',$fecha_hoy);

						

			$fecha30dias=date('Y-m-d',mktime(0,0,0,$mon,$day+30,$year));

			

			$oComprapago->insertar(

				$_POST['cmb_forpag_id'], //forma pago

				$_POST['cmb_modpag_id'],	// modo pago

				moneda_mysql($valortot),

				$cajid, // ID CAJA		

				'30',//$_POST['txt_compag_numdia'], //num dias

				fecha_mysql($fecha30dias),// $_POST['txt_compag_fecven'] //fecha vencimento

				$est,

				$com_id	,

				'',

				'',

				'',

				''

			);



			$dtscp=$oComprapago->ultimoInsert();

			$dtcp = mysqli_fetch_array($dtscp);

				$compag_id=$dtcp['last_insert_id()'];

			mysqli_free_result($dtscp);



			// egresos

			if($egreso==1)

			{

			

				

				$mod_id = 4;

				$modide = $compag_id;

				$est=1;

				$egre_det="COMPRA: $doc_nom $numdoc | $forma";		



				$oEgreso->insertar(

					$_SESSION['usuario_id'],  

					$_SESSION['usuario_id'],  

					fecha_mysql($fec),

					$egr_doc_id,

					$egr_numdoc,

					$egre_det,

					moneda_mysql($valortot), //importe

					$est,

					$cuenta_id,

					0,

					$pro_id,

					$cajid,

					$mon_id,

					$mod_id,

					$modide,

					$empid

				);

			}



		}

	

	

	

	

	

	

	

	

}



unlink($archivo);



	 $data['com_msj']='Archivo procesado correctamente.';			

	echo json_encode($data);			

?>