<?php

//ini_set('display_errors',1);

session_start();
date_default_timezone_set('America/Lima');
if($_SESSION["sistema"]!= "1"){ header("location: ../../index.php"); exit();}
require_once ("../../config/Cado.php");
require_once ("../ordencompra/cOrdencompra.php");
$oOrdencompra = new cOrdencompra();
require_once("../compra/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();
$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("../preciogestion/cPrecioproducto.php");
$oPrecioproducto = new cPrecioproducto();
require_once ("../preciogestion/cPreciogestion.php");
$oPreciogestion = new cPreciogestion();
require_once("../producto/cProductolote.php");
$oProductolote = new cProductolote();
require_once("../producto/cProductomarca.php");
$oProductomarca = new cProductomarca();

require_once("../caja/cCaja.php");
$oCaja = new cCaja();

require_once("../producto/cProductomarcacodigo.php");
$oProductomarcacodigo = new cProductomarcacodigo();

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


if($_POST['action_compra']=="insertar")
{	
	
	if(!empty($_POST['txt_com_fec']))
 	{
	
			
		$com_igvval  = $_POST['txt_comapp_igv'];
		$com_igvsub  = "1.".$_POST['txt_comapp_igv'];
		$com_igvigv  = "0.".$_POST['txt_comapp_igv'];

		$dts1=$oAlmacen->mostrarAlmCajEmp($_POST['cmb_punven_id']);
		$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'];
		mysqli_free_result($dts1);
		
		$resul = $oCompra->mostrar_duplicidad($_POST['cmb_doc_id'],$_POST['txt_com_numdoc'],$_POST['hdd_com_pro_id'],'1',$emp);
		$rowresul = mysqli_num_rows($resul);
		
		if($rowresul>0){
		
		$data['com_est']='2';
		$data['com_id']=$com_id;
		$data['com_msj']='El documento ya se ha registrado anteriormente.';
		echo json_encode($data);
		
		}
		else{
		$mon_id=$_POST['txt_mone_id'];
		$est=1;

	
		$dtsc=$oCaja->mostrarCajaVenta($_POST['cmb_punven_id'],$_POST['txt_mone_id']);
		$dtc = mysqli_fetch_array($dtsc);
			$cajid= $dtc['tb_caja_id'];
		mysqli_free_result($dtsc);		
		$canest = 0;
		
 		$oCompra->insertar(
			fecha_mysql($_POST['txt_com_fec']), // fecha de compra
			$_POST['cmb_doc_id'], // documento de compra 	| factura | boleta
			$_POST['txt_com_numdoc'],// numero de documento
			$mon_id,// tipo de moneda 		|SOL | DOLAR
			$_POST['txt_com_tipcam'],// tipo de cambio si la moneda fuese dolares
			moneda_mysql($_POST['txt_com_tipcamcan']),// tipo de cambio si la moneda fuese dolares
			$_POST['hdd_com_pro_id'], // id proveedor
			moneda_mysql($_POST['txt_com_valven']), // sub total
			moneda_mysql($_POST['txt_com_des']),   		// descuento a filas
			moneda_mysql($_POST['txt_com_valven']),   	// valor de la compra
			moneda_mysql($_POST['txt_com_igv']),   		// igv de la compra
			moneda_mysql($_POST['txt_com_tot']),   		// total de la compra
			$est,   					// estado 1REGISTRADA - 2CANCELADA
			$canest,   					// estado 1REGISTRADA - 2CANCELADA
			$almid,   				// almacen de productos
			$_POST['hdd_usu_id'],   					// USUARIO ID
			$emp, 						// EMPRESA ID
			$punven_id, 						// PUNTO VENTA ID
			$piso_id,			// PISO ID
			$_POST['cmb_per_mes'],
			$_POST['cmb_per_anio'],
			$_POST['txt_com_nroped'],
			$_POST['txt_com_nroordcom'],
			$_POST['txt_com_nroguia_e'],
			$_POST['txt_com_nroguia_t'],
			$_POST['txt_com_ref'],
			fecha_mysql($_POST['txt_com_fec']),
			moneda_mysql($_POST['txt_com_opeina']),
			moneda_mysql($_POST['txt_com_opeexo']),
			moneda_mysql($_POST['txt_com_opegra']),
			$com_igvval,
			$com_igvsub,
			$com_igvigv
			//$_POST['cmb_com_tippro']
		);

 		$dts=$oCompra->ultimoInsert();
 		$dt = mysqli_fetch_array($dts);
 			$com_id=$dt['id'];
 		mysqli_free_result($dts);


		// CAJA
		$ctax=$oCompra->obtener_cuenta_egreso();
		$cta = mysqli_fetch_array($ctax);
			$cuenta_id	=$cta['tb_cuenta_id'];
		mysqli_free_result($ctax);
		
		$dtsx= $oDocumento->mostrarUno($_POST['cmb_doc_id']);
		$dtx = mysqli_fetch_array($dtsx);
			$doc_nom=$dtx['tb_documento_nom'];
		mysqli_free_result($dtsx);



		if($_POST['hdd_compag_val']=="")
		{
			$egreso=0;
			if($_POST['cmb_forpag_id']==1)
			{
				$forma='CONTADO';
				$est=1;
				$egreso=1;
				
				$fecha8dias=$_POST['txt_com_fec'];
				$fecven = $_POST['txt_com_fec'];
				$ban = '1';
			}
			
			if($_POST['cmb_forpag_id']==2)
			{
				$forma='CREDITO';
				$est=2;
				
				$fecven = $_POST['txt_compag_fecven'];
				$fecha_hoy = $_POST['txt_compag_fecven'];
				list($day,$mon,$year) = explode('-',$fecha_hoy);
				$fecha8dias=date('d-m-Y',mktime(0,0,0,$mon,$day+8,$year));
				$ban = '1';
				
			}
						             
			$oComprapago->insertar(
				$_POST['cmb_forpag_id'], //forma pago
				$_POST['cmb_modpag_id'],	// modo pago
				moneda_mysql($_POST['txt_compag_mon']),
				$cajid, // ID CAJA		
				0,
				fecha_mysql($fecven), //fecha vencimento
				fecha_mysql($fecha8dias), //fecha vencimento
				$est,
				$com_id,
				'',
				'',
				'',
				'',
				$ban,
				'0',
				'0',
				'0'
			);

			$dtscp=$oComprapago->ultimoInsert();
			$dtcp = mysqli_fetch_array($dtscp);
				$compag_id=$dtcp['id'];
			mysqli_free_result($dtscp);

			// egresos
			if($egreso==1)
			{
				$numdoc=$_POST['txt_com_numdoc'];
				$mon_id = $_POST['txt_mone_id'];
				$mod_id = 4;
				$modide = $compag_id;
				$est=1;
				$egre_det="COMPRA: $doc_nom $numdoc | $forma";		

				$oEgreso->insertar(
					$_POST['hdd_usu_id'],
					$_POST['hdd_usu_id'],
					fecha_mysql($_POST['txt_com_fec']),
					fecha_mysql($_POST['txt_com_fec']),
					$_POST['cmb_doc_id'], 
					$_POST['txt_com_numdoc'],
					$egre_det,
					moneda_mysql($_POST['txt_compag_mon']), //importe
					$est,
					$cuenta_id,
					0,
					$_POST['hdd_com_pro_id'],
					$cajid,
					$mod_id,
					$modide,
					$_POST['cmb_forpag_id'],
					$_POST['cmb_modpag_id'],
					'0',
					'0',
					'0',
					'0',
					'0',
					'',
					$_POST['txt_nroope'],
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					fecha_mysql($_POST['txt_com_fec']),
					'0',
					'0',
					'0',
					'0',
					'0'
				);
			}
			
		}
		
		
		if($_POST['hdd_compag_val']=="1")
		{
			if(isset($_SESSION['compag_mon']))
			{

				foreach($_SESSION['compag_mon'] as $indice=>$valor)
				{
					$egreso=0;
					if($_SESSION['compag_for'][$indice]==1)
					{
						$forma='CONTADO';
						$est=1;
						$egreso=1;
						
						
						if($_SESSION['compag_mod'][$indice]==1)
						{
							$modo='EFECTIVO';
						}

						if($_SESSION['compag_mod'][$indice]==2)
						{
							$modo='DEPOSITO';

						}

						if($_SESSION['compag_mod'][$indice]==4)
						{
							$modo='TRANSFERENCIA';
							
						}
						if($_SESSION['compag_mod'][$indice]==5)
						{
							$modo='CHEQUE';
							
						}
						if($_SESSION['compag_mod'][$indice]==6)
						{
							$modo='TARJETA';
							
						}
						
						
						
						
						
						
						
						
					}
					
					if($_SESSION['compag_for'][$indice]==2)
					{
						$forma='CREDITO';
						$est=2;
					}
					
			if($_SESSION['compag_fecven'][$indice]=="") $_SESSION['compag_fecven'][$indice] = date('d-m-Y');	
					

			$fecha_hoy=$_SESSION['compag_fecven'][$indice];
			list($day,$mon,$year) = explode('-',$fecha_hoy);
			$fecha8dias=date('d-m-Y',mktime(0,0,0,$mon,$day+8,$year));
			$ban = '1';
					
			$oComprapago->insertar(
				$_SESSION['compag_for'][$indice],
				$_SESSION['compag_mod'][$indice],
				moneda_mysql($valor),
				$cajid,
				intval($_SESSION['compag_numdia'][$indice]),
				fecha_mysql($_SESSION['compag_fecven'][$indice]),
				fecha_mysql($fecha8dias),
				$est,
				$com_id,
				'',
				'',
				'',
				'',
				$ban,
				'0',
				'0',
				'0'
			);

					$dtscp=$oComprapago->ultimoInsert();
					$dtcp = mysqli_fetch_array($dtscp);
						$compag_id=$dtcp['id'];
					mysqli_free_result($dtscp);


					
						// egresos
			if($egreso==1)
			{
				$numdoc=$_POST['txt_com_numdoc'];
				$mod_id = 4;
				$modide = $compag_id;
				$est=1;
				$egre_det="COMPRA: $doc_nom $numdoc | $forma";		

				$oEgreso->insertar(
					$_POST['hdd_usu_id'],
					$_POST['hdd_usu_id'],
					fecha_mysql($_POST['txt_com_fec']),
					fecha_mysql($_POST['txt_com_fec']),
					$_POST['cmb_doc_id'], 
					$_POST['txt_com_numdoc'],
					$egre_det,
					moneda_mysql($valor),
					$est,
					$cuenta_id,
					0,
					$_POST['hdd_com_pro_id'],
					$cajid,
					$mod_id,
					$modide,
					$_SESSION['compag_for'][$indice],
					$_SESSION['compag_mod'][$indice],
					'0',
					'0',
					'0',
					'0',
					'0',
					'',
					$_SESSION['compag_nroope'][$indice],
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					'0',
					fecha_mysql($_POST['txt_com_fec']),
					'0',
					'0',
					'0',
					'0',
					'0'
				);
			}
			
	
	
					
				}
			}

			unset($_SESSION['compag_mon']);
			unset($_SESSION['compag_for']);
			unset($_SESSION['compag_mod']);
			unset($_SESSION['compag_numdia']);
			unset($_SESSION['compag_fecven']);
			unset($_SESSION['compag_caj']);
		}


	$num_rows=count($_SESSION['compra_car']);
	if($num_rows>0){

		//registro de kardex		
		$kar_des='COMPRA';
		$mod_id = 4;
		$idm=$com_id;//id de la op(modulo compras, ventas, etc)

		//insertamos kardex
		$oKardex->insertar(			
			fecha_mysql($_POST['txt_com_fec']),			
			$kar_des,
			$mod_id,
			$idm,
			$_POST['hdd_usu_id'],
			$_POST['hdd_emp_id'],
			'0'
		);

		//ultimo kardex
		$dts=$oKardex->ultimoInsert();
		$dt = mysqli_fetch_array($dts);
			$kar_id=$dt['id'];
		mysqli_free_result($dts);
		$det = 'COMPRA REGISTRADA CON DETALLES ['.$doc_nom.' N°: '.$_POST['txt_com_numdoc'].']';
	}else{
		$det = 'COMPRA REGISTRADA SIN DETALLES ['.$doc_nom.' N°: '.$_POST['txt_com_numdoc'].']';
	}
	
		//detalle productos
		
		foreach($_SESSION['compra_car'] as $indice=>$linea_cantidad)
		{
			$linea_cantidad = moneda_mysql($linea_cantidad);
			$marid = $_SESSION['compra_linea_mar'][$indice];
			
			$cat_id = $_SESSION['compra_catid'][$indice];
			
			$rscod = $oProductomarcacodigo->mostrarUno($cat_id,'1');
			$dtcod = mysqli_fetch_array($rscod);
			$cat_cod = $dtcod['tb_productomarcacodigo_cod'];
			$promar_id = $dtcod['tb_productomarca_id'];


			$dtscat=$oCatalogo->mostrarUno($cat_id,$marid);
			$dtcat = mysqli_fetch_array($dtscat);
				$pre_id	= $dtcat['tb_presentacion_id'];
				$emp_fac=moneda_mysql($dtcat['tb_empaque_fac']);
				$cat_fac = $dtcat['tb_catalogo_fac'];
			mysqli_free_result($dtscat);

			$precio_unitario=$_SESSION['compra_linea_precom'][$indice];
			$fecven=$_SESSION['compra_linea_fecven'][$indice];
			
			$linea_des = $_SESSION['compra_linea_des'][$indice];
		
		$lote = $_SESSION['compra_linea_lote'][$indice];
		$prevenc = $_SESSION['compra_linea_preven'][$indice];
		$prevenf = $_SESSION['compra_linea_prevenf'][$indice];
			//linea
			$linea_importe=$precio_unitario*abs($linea_cantidad);
			$linea_valven=$linea_importe/$com_igvsub;
			$linea_igv=$linea_importe*$com_igvigv;

			//COSTO
			$linea_calculo_cos =  $precio_unitario;				

			$codbar = $cat_id.''.$marid.''.$com_id;

			$can1 = $linea_cantidad;
			$pos = strpos($can1, 'F');
			
			if($pos===false){
			$can  = $can1 * $emp_fac;
			}else{
			
			$cane = 0;
			$canf = 0;
			list($cane,$canf) = explode('F',$can1);
			$can2 = 0;
			if($cane>0){
				$can2 = $cane*$emp_fac;
			}
			$can = $can2 + $canf;
			}


			//registro detalle de compra
			$oCompra->insertar_detalle(
				$cat_id,
				$cat_id,
				$marid,
				$codbar,
				abs($can),
				moneda_mysql($precio_unitario),
				fecha_mysql($fecven),
				$lote,
				$linea_des,
				$linea_valven,
				$linea_igv,
				$com_id
			);


	    	$dts=$oCompra->ultimoInsertDetalle();
			$dt = mysqli_fetch_array($dts);
 			$comdet_id=$dt['id'];
			mysqli_free_result($dts);
		







	$cantidad_compra=abs($can);
			
			
			$igvuni = $precio_unitario * $com_igvigv;
			$precos = $precio_unitario + $igvuni ;
			//$precos = $precio_unitario + $igvuni ;
			$precos = $precos*$_POST['txt_com_tipcam'];




	$dtspre = $oPreciogestion->mostrar_precioxpuntoventa($cat_id,$_POST['cmb_punven_id']);		
	$numrowpre = mysqli_num_rows($dtspre);
		
	// echo $numrowpre;
	 
	if($numrowpre>0){
		
		$dtp = mysqli_fetch_array($dtspre);
		$preven = $dtp['tb_precioproducto_preven'];
		$prepro_id = $dtp['tb_precioproducto_id'];
		
		if($precos>0){
		$oPrecioproducto->modificar_campo($prepro_id,'precom',moneda_mysql($precos));
		}
		if($prevenc>0){
		$oPrecioproducto->modificar_campo($prepro_id,'preven',moneda_mysql($prevenc));
		}
		
		if($prevenf>0){
		$oPrecioproducto->modificar_campo($prepro_id,'prevenf',moneda_mysql($prevenf));
		}
		
	}else{
		$oPrecioproducto->insertar($cat_id,$_POST['cmb_punven_id'],moneda_mysql($prevenc),moneda_mysql($prevenf),moneda_mysql($precos),'0');
		
	}


			//conversion a la minima unidad
		
			
			if($precos>0){
			$oProductomarca->modificar_campo2($cat_id,$marid,'precos',moneda_mysql($precos));
			}
			
			if($fecven!=""){
				$oProductomarca->modificar_campo2($cat_id,$marid,'fecven',fecha_mysql($fecven));
			}
			
			if($prevenc>0){
				$oProductomarca->modificar_campo2($cat_id,$marid,'preven',moneda_mysql($prevenc));
			}
			
			if($prevenf>0){
				$oProductomarca->modificar_campo2($cat_id,$marid,'prevenf',moneda_mysql($prevenf));
			}
			
			if($lote!=""){
				$oProductomarca->modificar_campo2($cat_id,$marid,'lote',$lote);
			}
			
			
			
			
			
			
			if($lote!=""){
				
				if($fecven==""){
					$fecven = date('d-m-Y');
				}
				
				$oProductolote->insertar(
					$cat_id,
					$lote,
					moneda_mysql($precos),
					moneda_mysql($prevenc),
					moneda_mysql($prevenf),
					fecha_mysql($fecven),
					$can,
					fecha_mysql(date('d-m-Y')),
					'4',
					$comdet_id
			);
		}
		
		


			$dts=$oStock->stock_por_presentacion($cat_id,$marid,$almid);
			$dt = mysqli_fetch_array($dts);
				$sto_id		=$dt['tb_stock_id'];
				$sto_num	=$dt['tb_stock_num'];
			mysqli_free_result($dts);
			
			if($_POST['cmb_doc_id']=='2'){
				$stock_nuevo=$sto_num-$cantidad_compra;
				$kar_tipo=2;
			}else{
				$stock_nuevo=$sto_num+$cantidad_compra;
				$kar_tipo=1;
			}
			
			
			
			if($sto_id>0)
			{
				$oStock->modificar($sto_id,$stock_nuevo);
			}
			else
			{
				$oStock->insertar($almid,$cat_id,$marid,$stock_nuevo);
			}

			

			//1 entrada 2 salida
			$costo=$linea_calculo_cos * $_POST['txt_com_tipcam'];

			$oKardex->insertar_detalle(
				$cat_id,
				$marid,
				$kar_tipo,
				$cantidad_compra,
				moneda_mysql($costo),
				abs($can),
				$kar_id,
				$almid
			);
			
		}
		
		unset($_SESSION['compra_car']);
		unset($_SESSION['compra_linea_precom']);
		unset($_SESSION['compra_catid']);
		unset($_SESSION['compra_linea_preuni']);
		unset($_SESSION['compra_catcodpri']);
		unset($_SESSION['compra_linea_mar']);
		unset($_SESSION['compra_linea_fecven']);
		
		unset($_SESSION['compra_linea_lote']);
		unset($_SESSION['compra_linea_preven']);
		unset($_SESSION['compra_linea_prevenf']);
		
		
		
		$user_agen = $_SERVER['HTTP_USER_AGENT'];
		$mod = 4;
		$mod_ide = $com_id;		
		$fec = date('Y-m-d');
		$doc_id = $_POST['cmb_doc_id'];
		$numdoc = $_POST['txt_com_numdoc'];
	 	$ip = mostrar_ip();
		
		$oHistorial->insertar(
		fecha_mysql($fec),
		$det,
		$ip,
		$_SESSION['usuario_id'],
		$mod,
		$mod_ide,
		$doc_id,
		$numdoc
		);
		
		//echo 'hasta aqui---';
		if($_POST['hdd_vista']=='ordencompra_form'){
		//	echo 'ingresaaa';
			$oOrdencompra->modificar_campo($_POST['hdd_ordcom_id'],'est','2');
			$oCompra->modificar_campo($com_id,'ordcomid',$_POST['hdd_ordcom_id']);
		}
		

		$data['com_est']='1';
		$data['com_id']=$com_id;
		$data['com_msj']='Se registró compra correctamente.';
		echo json_encode($data);
}


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


if($_POST['action_compra']=="editar")
{
	if(!empty($_POST['txt_com_fec']))
	{


		if($_POST['txt_com_tot_vis']>=$_POST['txt_com_tot']){
			//$data['com_msj']='Los totales no son iguales.';
		}else{
		
		}
		
			$com_id = $_POST['hdd_com_id'];
		
			$oCompra->modificar(
			$_POST['hdd_com_id'],
			fecha_mysql($_POST['txt_com_fec']),
			$_POST['cmb_doc_id'],
			$_POST['txt_com_numdoc'],
			$_POST['cmb_per_mes'],
			$_POST['cmb_per_anio'],
			moneda_mysql($_POST['txt_com_tipcamcan'])
			);
		
			/*
		$dts = $oKardex->consulta_kardex_compra($_POST['hdd_com_id']);
		$dt = mysqli_fetch_array($dts);
		$kar_id=$dt['tb_kardex_id'];
		mysqli_free_result($dts);
*/
		$dts1=$oAlmacen->mostrarAlmCajEmp($_POST['cmb_punven_id']);
			$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'];
			mysqli_free_result($dts1);


	$num_rows=count($_SESSION['compra_car']);
	if($num_rows>0){

		//registro de kardex		
		$kar_des='COMPRA';
		$mod_id = 4;
		$idm=$_POST['hdd_com_id'];//id de la op(modulo compras, ventas, etc)

		//insertamos kardex
		$oKardex->insertar(			
			fecha_mysql($_POST['txt_com_fec']),			
			$kar_des,
			$mod_id,
			$idm,
			$_POST['hdd_usu_id'],
			$emp,
			'0'			
		);

		//ultimo kardex
		$dts=$oKardex->ultimoInsert();
		$dt = mysqli_fetch_array($dts);
		$kar_id=$dt['id'];
		mysqli_free_result($dts);
	}


foreach($_SESSION['compra_car'] as $indice=>$linea_cantidad)
		{
			$marid = $_SESSION['compra_linea_mar'][$indice];
			
			$cat_id = $_SESSION['compra_catid'][$indice];

			$dtscat=$oCatalogo->mostrarUno($cat_id,$marid);
			$dtcat = mysqli_fetch_array($dtscat);
				$pre_id	= $dtcat['tb_presentacion_id'];
				$cat_fac = $dtcat['tb_catalogo_fac'];
			mysqli_free_result($dtscat);

			$precio_unitario=abs($_SESSION['compra_linea_precom'][$indice]);
			
			$linea_des = abs($_SESSION['compra_linea_des'][$indice]);

			//linea
			$linea_importe=$precio_unitario*abs($linea_cantidad);
			$linea_valven=$linea_importe/1.18;
			$linea_igv=$linea_importe*0.18;

			//COSTO
			$linea_calculo_cos =  $precio_unitario;				

			$codbar = $cat_id.''.$marid.''.$com_id;
			
			$rscod = $oProductomarcacodigo->mostrarUno($cat_id,'1');
			$dtcod = mysqli_fetch_array($rscod);
			$cat_cod = $dtcod['tb_productomarcacodigo_cod'];

			//registro detalle de compra
			$oCompra->insertar_detalle(
				$cat_cod,
				$cat_id,
				$marid,
				$codbar,
				abs($linea_cantidad),
				$precio_unitario,
				$linea_des,
				$linea_valven,
				$linea_igv,
				$com_id
			);

			//conversion a la minima unidad
			$cantidad_compra=abs($linea_cantidad);
			
			$igvuni = $precio_unitario * 0.18;
			$precos = $precio_unitario + $igvuni ;
			
			$oProductomarca->modificar_campo2($cat_id,$marid,'precos',$precos);


			$dts=$oStock->stock_por_presentacion($pre_id,$marid,$almid);
			$dt = mysqli_fetch_array($dts);
				$sto_id		=$dt['tb_stock_id'];
				$sto_num	=$dt['tb_stock_num'];
			mysqli_free_result($dts);
			
			
			
			if($_POST['cmb_doc_id']=='2'){
				$stock_nuevo=$sto_num-$cantidad_compra;
				$kar_tipo=2;
			}else{
				$stock_nuevo=$sto_num+$cantidad_compra;
				$kar_tipo=1;
			}
		
			
			if($sto_id>0)
			{
				$oStock->modificar($sto_id,$stock_nuevo);
			}
			else
			{
				$oStock->insertar($almid,$pre_id,$marid,$stock_nuevo);
			}

			//1 entrada 2 salida
			$costo=$linea_calculo_cos * $_POST['hdd_tipcamb'];

			$oKardex->insertar_detalle(
				$cat_id,
				$marid,
				$kar_tipo,
				$cantidad_compra,
				moneda_mysql(formato_money($costo)),
				abs($linea_cantidad),
				$kar_id,
				$almid
			);
			
		}
		
		
		
		
		$user_agen = $_SERVER['HTTP_USER_AGENT'];
		$mod = 4;
		$mod_ide = $com_id;		
		$fec = date('Y-m-d');
		$doc_id = $_POST['cmb_doc_id'];
		$numdoc = $_POST['txt_com_numdoc'];
	 	$ip = mostrar_ip();
		
		$oHistorial->insertar(
		fecha_mysql($fec),
		$det,
		$ip,
		$_SESSION['usuario_id'],
		$mod,
		$mod_ide,
		$doc_id,
		$numdoc
		);

		
		
		
		
		$data['com_msj']='Se Modificó la compra correctamente.';

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


if($_POST['action']=="eliminar")
{
	if(!empty($_POST['com_id']))
	{
//		$result = $oCompra->verifica_compra_producto($_POST['com_id']);
//		$fila = mysqli_fetch_array($result);
//		
//		if($fila[1] !="")
//		{
		echo "No se puede eliminar, afecta información de productos.";
//		}
//		else
//		{
//			$oCompra->eliminar($_POST['com_id']);
//		echo 'Se eliminó compra correctamente.';
//		}
	}
	else
	{
		echo 'Intentelo nuevamente.';
	}
}



if($_POST['action']=="eliminararchivo")
{
	$oCompra->modificar_archivo($_POST['arcid']);
	echo 'Archivo removido con exito.';
}


if($_POST['action']=="eliminar_formpago")
{
	$oCompra->eliminar_formapago($_POST['forpagid']);
	echo 'Forma pago eliminado.';
}


if($_POST['action']=="registrar_formapago")
{
	//echo $_POST['com_tot'].'--'. $_POST['compag_tot'];
	$diferencia=moneda_mysql($_POST['com_tot'])-moneda_mysql($_POST['compag_tot']);
	//echo $diferencia;
	$diferencia=moneda_mysql($diferencia);
	
	$pago=moneda_mysql($_POST['compag_mon']);
	
	//echo $_POST['compag_mon'];
	
		if($pago>$diferencia)
		{	
			 if($diferencia==0)
			 {
			 	
				$data['msj'] = 'Monto completado';
				$data['tipo'] = 'compag_mon';
				$data['mon'] = $diferencia;
				$data['est'] = false;
			 }
			 else
			 {
				
				$data['msj'] = 'Monto no puede ser mayor que '.$diferencia;
				$data['tipo'] = 'compag_mon';
				$data['mon'] =$diferencia;
				$data['est'] = false;
			}	
			
		}else if($_POST['compag_for']==1 and $_POST['compag_mod']=="")
		{
			$data['msj'] = 'Seleccione Modo';
			$data['tipo'] = 'compag_mod';
			$data['est'] = false;
			
		}
		else if($_POST['compag_mon']=='0' || $_POST['compag_mon']=='')
		{
				$data['msj'] = 'El monto no puede ser cero';
				$data['tipo'] = 'compag_mon';
				$data['mon'] = $diferencia;
				$data['est'] = false;
		}
		else if($_POST['compag_for']==1 and $_POST['compag_mod']==1 and $_POST['compag_caj']=="")
		{
			$data['msj'] = 'Seleccione Caja.';
			$data['tipo'] = 'compag_caj';
			$data['est'] = false;
		}else if($_POST['compag_for']==2 || $_POST['compag_for']==3 and $_POST['compag_numdia']=="")
		{
			$data['msj'] = 'Ingrese N° días.';
			$data['tipo'] = 'compag_numdia';
			$data['est'] = false;
		}else
		{	

	
		
		
		
		$egreso=0;
			if($_POST['compag_for']==1)
			{
				$forma='CONTADO';
				$est=1;
				$egreso=1;
				
				$fecha8dias=date('d-m-Y');
				$fecven = date('d-m-Y');
				$ban = '1';
			}
			
			if($_POST['compag_for']==2)
			{
				$forma='CREDITO';
				$est=2;
				
				$fecven = $_POST['compag_fecven'];
				$fecha_hoy = $_POST['compag_fecven'];
				list($day,$mon,$year) = explode('-',$fecha_hoy);
				$fecha8dias=date('d-m-Y',mktime(0,0,0,$mon,$day+8,$year));
				$ban = '1';
				
			}
			
			if($_POST['compag_for']==3)
			{
				$forma='CHEQUE';
				$est=2;
			}
			
		$dtsc=$oCaja->mostrarCajaVenta($_SESSION['puntoventa_id'],$_POST['txt_mone_id']);
		$dtc = mysqli_fetch_array($dtsc);
		$cajid= $dtc['tb_caja_id'];
		mysqli_free_result($dtsc);
			
			
			if($_POST['compag_mod']=='null' || $_POST['compag_mod'] == ''){
				$compag_mod='0';
			}else{
				$compag_mod = $_POST['compag_mod'];
			}
			
			$oComprapago->insertar(
				$_POST['compag_for'], //forma pago
				$compag_mod,	// modo pago
				moneda_mysql($_POST['compag_mon']),
				$cajid, // ID CAJA		
				$_POST['compag_numdia'], //num dias
				fecha_mysql($_POST['compag_fecven']), //fecha vencimento
				fecha_mysql($fecha8dias),
				$est,
				$_POST['comid']	,
				'',
				'',
				'',
				'',
				$ban,
				'0',
				'0',
				'0'
			);
	
		$data['msj'] = 'Correcto .';
		$data['tipo'] = 'agregado';
		$data['est'] = true;
		
		}
	/* if($pago>0)
	{}
	else
	{
		if($diferencia==0)
		{
			
			$data['msj'] = 'Monto completado.';
			$data['tipo'] = 'compag_mon';
			$data['mon'] = $diferencia;
			$data['est'] = false;
			
		}
		else
		{
			$data['msj'] = 'Ingrese monto. .';
			$data['tipo'] = 'compag_mon';
			$data['mon'] = $diferencia;
			$data['est'] = false;
		}
		
	} */
	
	
	
	
	
	echo json_encode($data);
	
	
}






if($_POST['action']=="actualizardetalle")
{
	
	
	$oCompra->modificar_campo_detalle($_POST['comdetid'],'preuni',moneda_mysql($_POST['precom']));
	
	$oKardex->modificar_detalle_na($_POST['comid'],$_POST['precom'],moneda_mysql($_POST['precom']));
	
	
	
	$dts = $oCompra->mostrar_valortotal($_POST['comid']);
	$num_rows1 = mysqli_num_rows($dts);
	$dt = mysqli_fetch_array($dts);
	$valtot = $dt['valortotal'];
	$tot = $valtot * 1.18;
	$igv = $tot - $valtot;
	
	
	$oCompra->modificar_campo($_POST['comid'],'opeina',moneda_mysql($valtot));
	$oCompra->modificar_campo($_POST['comid'],'opeexo',moneda_mysql($valtot));
	$oCompra->modificar_campo($_POST['comid'],'opegra',moneda_mysql($valtot));
	$oCompra->modificar_campo($_POST['comid'],'valven',moneda_mysql($valtot));
	$oCompra->modificar_campo($_POST['comid'],'valven',moneda_mysql($valtot));
	$oCompra->modificar_campo($_POST['comid'],'igv',moneda_mysql($igv));
	$oCompra->modificar_campo($_POST['comid'],'tot',moneda_mysql($tot));
	
	$dts1=$oComprapago->filtrar($_POST['comid']);
	$num_rows= mysqli_num_rows($dts1);

	if($num_rows==1){
		
		$dt1 = mysqli_fetch_array($dts1);
		$compag_id = $dt1['tb_comprapago_id'];
		
		$oComprapago->modificar_campo($compag_id,'mon',moneda_mysql($tot));
			
		$dtse = $oComprapago->mostrar_egresos($compag_id);
		$dte = mysqli_fetch_array($dtse);
		$egre_id = $dte['tb_egreso_id'];
		
		$oEgreso->modificar_campo($egre_id,$_SESSION['usuario_id'],'imp',moneda_mysql($tot));
		
	}else{
		
		while($dt1 = mysqli_fetch_array($dts1)){
			
			$compag_id = $dt1['tb_comprapago_id'];
			
			$oCompra->eliminar_formapago($compag_id);
			
			$dtse = $oComprapago->mostrar_egresos($compag_id);
			$dte = mysqli_fetch_array($dtse);
			$egre_id = $dte['tb_egreso_id'];
		
			$oEgreso->modificar_campo($egre_id,$_SESSION['usuario_id'],'xac','0');
			
		}

	}
	

		$data['com_est']='1';
		$data['com_msj']='Detalle modificado correctamente.';
		echo json_encode($data);

}




?>

