<?php
include_once("utiles.php");

error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
#error_reporting(E_ALL);
date_default_timezone_set("America/Panama");

if (!$connection = connectDb()) {
	die("err db");
} else {
	$connection->query("SET NAMES 'utf8';");
}
header('content-type: application/json');

session_start();

if ($i_Log == 1) {
	var_dump($_POST['database']);
	var_dump($_POST['suc_id']);
	var_dump($_POST['e_id']);
	var_dump($_POST['c_id']);
	var_dump($_POST['num_contr']);
	var_dump($_POST['fecha']);
	var_dump($_POST['semanas']);
	var_dump($_POST['monto']);
	var_dump($_POST['tipo_pago']);
	var_dump($_POST['ci_op_idx']);
	var_dump($_POST['ci_op_idz']);
	var_dump($_POST['u_id']);
	var_dump($_POST['op_id']);
	var_dump($_POST['no_pago_club']);
	var_dump($_POST['det_pago']);
	var_dump($_POST['tipo_status']);
	var_dump($_POST['monto_rete']);
	var_dump($_POST['seman_rete']);
	var_dump($_POST['op_idR']);
	var_dump($_POST['tipo_p_id']);
	var_dump($_POST['id_forma']);
	var_dump($_POST['es_op_id']);
	var_dump($_POST['entr_salid_ins']);
}

$_SESSION['database'] = $_POST['database'];
$_SESSION['suc_id'] = $_POST['suc_id'];
$_SESSION['e_id'] = $_POST['e_id'];
$_SESSION['c_id'] = $_POST['c_id'];
$_SESSION['num_contr'] = $_POST['num_contr'];
$_SESSION['fecha'] = $_POST['fecha'];
$_SESSION['semanas'] = $_POST['semanas'];
$_SESSION['monto'] = $_POST['monto'];
$_SESSION['tipo_pago'] = $_POST['tipo_pago'];
$_SESSION['ci_op_idx'] = $_POST['ci_op_idx'];
$_SESSION['ci_op_idz'] = $_POST['ci_op_idz'];
$_SESSION['u_id'] = $_POST['u_id'];
$_SESSION['op_id'] = $_POST['op_id'];
$_SESSION['no_pago_club'] = $_POST['no_pago_club'];
$_SESSION['det_pago'] = $_POST['det_pago'];
$_SESSION['tipo_status'] = $_POST['tipo_status'];
$_SESSION['monto_rete'] = $_POST['monto_rete'];
$_SESSION['seman_rete'] = $_POST['seman_rete'];
$_SESSION['op_idR'] = $_POST['op_idR'];
$_SESSION['tipo_p_id'] = $_POST['tipo_p_id'];
$_SESSION['id_forma'] = $_POST['id_forma'];
$_SESSION['es_op_id'] = $_POST['es_op_id'];
$_SESSION['entr_salid_ins'] = $_POST['entr_salid_ins'];
if (isset($_POST['debug_vars']) == false)
	$i_Log = 0;
else
	$i_Log = $_POST['debug_vars'];

$Db__Name = '`'.$_SESSION['database'].'`';

$Insert_Trans = $_SESSION['entr_salid_ins'];
$entr_salid_ins = str_replace("<database>", $_SESSION['database'], $Insert_Trans);

$hoy_dt = date('Y-m-d H:i:s', time());
mysqli_select_db($connection, $_SESSION['database']);

if ($i_Log == 1) {
	var_dump($entr_salid_ins);
	var_dump($hoy_dt);
}

$regs_pags = '';
$cSql_pags = 'SELECT COUNT(IFNULL(`op_id`,0)) AS cnt_regs FROM ' . $Db__Name . '.`club_pagos` WHERE (`tipo_pago`=8) AND (`num_contr`=' . $_SESSION['num_contr'] . ')';
$data_pags = getRow($connection, $cSql_pags, $regs_pags, false);
$registros = $data_pags['cnt_regs'];
$data_pags = null;

if ($i_Log == 1) {
	var_dump($cSql_pags);
	var_dump($registros);
}

mysqli_query($connection, 'SET AUTOCOMMIT=0');
mysqli_query($connection, 'START TRANSACTION');

if ($registros == 0) {
	$ret_pago = "INSERT INTO " . $Db__Name . ".`club_pagos` (
			num_contr	,	fecha		,	semanas		,
			monto		,	e_id		,	useroption	,
			suc_id		,	tipo_pago	,	c_id		,
			det_pago	,	ci_op_idx	,	ci_op_idz	,
			u_id		,	signo		,	autoriza	,
			op_id		,	autoriza_memo,	anulado		,
			anulado_monto,  pagado_hasta,
			tipo_p_id   , id_forma) VALUES (
			" . $_SESSION['num_contr'] . ",'" . $hoy_dt . "'," . $_SESSION['seman_rete'] . ",
			" . $_SESSION['monto_rete'] . "," . $_SESSION['e_id'] . ",'1',
			" . $_SESSION['suc_id'] . ",'8'," . $_SESSION['c_id'] . ",
			'Retencion por manejo de CLUB'," . $_SESSION['ci_op_idx'] . "," . $_SESSION['ci_op_idz'] . ",
			" . $_SESSION['u_id'] . ",'-1','0',
			" . $_SESSION['op_idR'] . ",'','0',
			'0.00','" . $hoy_dt . "',
			" . $_SESSION['tipo_p_id'] . "," . $_SESSION['id_forma'] . ");";
	$resp_ret_pagos = mysqli_query($connection, $ret_pago);

	$regs_fnds = '';
	$cSql_line = 'SELECT `fecha_siguiente_sorteo` FROM ' . $Db__Name . '.`club_parametros` ORDER BY `autoinc` DESC LIMIT 1';
	$data_para = getRow($connection, $cSql_line, $regs_fnds, false);
	$fFechaDeSorteo = $data_para['fecha_siguiente_sorteo'];
	$data_para = null;

	$upd_cn_fps = 'UPDATE ' . $Db__Name . '.`club_contratos` SET `fecha_prox_sorteo`="'. $fFechaDeSorteo .'" WHERE (`num_contr` = ' . $_SESSION['num_contr'] . ')';
	$resp_cnfps = mysqli_query($connection, $upd_cn_fps);

	if ($i_Log == 1) {
		echo 'Creando retension-> <br>';
		var_dump($ret_pago);
		var_dump($resp_ret_pagos);

		echo 'Actualizando fecha de siguiente sorteo-> <br>';
		var_dump($upd_cn_fps);
		var_dump($resp_cnfps);
	}
} else {
	if ($i_Log == 1) {
		echo 'Ignorando retension <br>';
	}
}

$ins_pagos = "INSERT INTO " . $Db__Name . ".`club_pagos` (
		num_contr	,	fecha		,	semanas		,
		monto		,	e_id		,	useroption	,
		suc_id		,	tipo_pago	,	c_id		,
		det_pago	,	ci_op_idx	,	ci_op_idz	,
		u_id		,	signo		,	autoriza	,
		op_id		,	autoriza_memo,	anulado		,
		anulado_monto,  pagado_hasta,
		tipo_p_id   , id_forma) VALUES (
		" . $_SESSION['num_contr'] . ",'" . $hoy_dt . "'," . $_SESSION['semanas'] . ",
		" . $_SESSION['monto'] . "," . $_SESSION['e_id'] . ",1,
		" . $_SESSION['suc_id'] . "," . $_SESSION['tipo_pago'] . "," . $_SESSION['c_id'] . ",
		" . $_SESSION['det_pago'] . "," . $_SESSION['ci_op_idx'] . "," . $_SESSION['ci_op_idz'] . ",
		" . $_SESSION['u_id'] . ",'1','0',
		" . $_SESSION['op_id'] . ",'','0',
		'0.00','" . $hoy_dt . "',
		" . $_SESSION['tipo_p_id'] . "," . $_SESSION['id_forma'] . ");";

$upd_chgtp = 'UPDATE ' . $Db__Name . '.`club_contratos` SET `tipo_status` = 1
	WHERE (`num_contr` = ' . $_SESSION['num_contr'] . ') AND (`tipo_status` = 10' . ')';

$upd_conf = 'UPDATE ' . $Db__Name . '.`conf_sistema` SET `no_pago_club` = ' . $_SESSION['no_pago_club'] . ' 
	WHERE (`suc_id` = ' . $_SESSION['suc_id'] . ') AND (`no_estacion`= ' . $_SESSION['e_id'] . ')';

$upd_con0 = 'UPDATE ' . $Db__Name . '.`club_contratos` SET `monto_pag` = (`monto_pag`  + ' . $_SESSION['monto'] . ') 
	WHERE (`num_contr` = ' . $_SESSION['num_contr'] . ')';

$upd_con1 = 'UPDATE ' . $Db__Name . '.`club_contratos` SET `semanas_pag` = `semanas_pag`= (`monto_pag`/`valor_club`)
	WHERE (`num_contr` = ' . $_SESSION['num_contr'] . ')';

$upd_con2 = 'UPDATE ' . $Db__Name . '.`club_contratos` SET
		`monto_disp_ant` 	= `monto_disp`,
		`monto_disp` 		= (`monto_disp` + ' . $_SESSION['monto'] . '),
		`monto_upago`		= ' . $_SESSION['monto'] . ',
		`fecha_upago`		= "' . $hoy_dt . '"
	WHERE (`num_contr` = ' . $_SESSION['num_contr'] . ')';

$upd_con3 = 'UPDATE ' . $Db__Name . '.`club_contratos` SET
	`primer_sorteo`   = ' . $Db__Name . '.club_pagado_hasta_exact(`club_contratos`.`tipo_sorteo`,`club_contratos`.`fecha_compra`,1), 
	`fecha_pag_hasta` = ' . $Db__Name . '.club_pagado_hasta_exact(`club_contratos`.`tipo_sorteo`,`club_contratos`.`fecha_compra`,`club_contratos`.`semanas_pag`),
	`ultimo_sorteo`   = ' . $Db__Name . '.club_pagado_hasta_exact(`club_contratos`.`tipo_sorteo`,`club_contratos`.`fecha_compra`,25)
WHERE (`num_contr` = ' . $_SESSION['num_contr'] . ')';

$upd_pag = 'UPDATE ' . $Db__Name . '.`club_pagos` p
	INNER JOIN ' . $Db__Name . '.club_contratos c ON (p.num_contr = c.num_contr)
		SET p.pagado_hasta = c.fecha_pag_hasta
	WHERE (c.num_contr = ' . $_SESSION['num_contr'] . ')
	AND   (p.op_id = ' . $_SESSION['op_id'] . ')';

$ins_rela = 'INSERT INTO ' . $Db__Name . '.`club_trans_rela` (suc_id, club_trans_op_id, es_detpag_op_id, usermodify) VALUES 
 		(' . $_SESSION['suc_id'] . ',' . $_SESSION['op_id'] . ',' . $_SESSION['es_op_id'] . ',1)';

$upd_cn1 = 'UPDATE ' . $Db__Name . '.`club_contratos` SET `tipo_status`= 1  WHERE (`num_contr` = ' . $_SESSION['num_contr'] . ') AND (`tipo_status` =10) AND (`monto_pag`> 0)';
$upd_cn2 = 'UPDATE ' . $Db__Name . '.`club_contratos` SET `tipo_status`= 10 WHERE (`num_contr` = ' . $_SESSION['num_contr'] . ') AND (`tipo_status`<>10) AND (`monto_pag`<=0)';
$upd_cn3 = 'UPDATE ' . $Db__Name . '.`club_contratos` SET `semanas_pag`= (`monto_pag`/`valor_club`) WHERE (`num_contr` = ' . $_SESSION['num_contr'] . ')';

$resp_pagos = false;
$resp_conf = false;
$resp_cont0 = false;
$resp_cont1 = false;
$resp_cont2 = false;
$resp_cont3 = false;
$resp_pag = false;
$resp_rela = false;
$resp_ins = false;
$resp_cn1 = false;
$resp_cn2 = false;
$resp_cn3 = false;

$resp_pagos = mysqli_query($connection, $ins_pagos);
$resp_chgtp = mysqli_query($connection, $upd_chgtp);
$resp_conf = mysqli_query($connection, $upd_conf);
$resp_con0 = mysqli_query($connection, $upd_con0);
$resp_con1 = mysqli_query($connection, $upd_con1);
$resp_con2 = mysqli_query($connection, $upd_con2);
$resp_con3 = mysqli_query($connection, $upd_con3);
$resp_pag = mysqli_query($connection, $upd_pag);
$resp_rela = mysqli_query($connection, $ins_rela);
$resp_ins = mysqli_query($connection, $entr_salid_ins);
$resp_cn1 = mysqli_query($connection, $upd_cn1);
$resp_cn2 = mysqli_query($connection, $upd_cn2);
$resp_cn3 = mysqli_query($connection, $upd_cn3);

if ($i_Log == 1) {

	echo 'Insertando pago-> <br>';
	var_dump($ins_pagos);
	var_dump($resp_pagos);

	echo 'Actualizando status=1 [ACTIVO] de contrato-> <br>';
	var_dump($upd_chgtp);
	var_dump($resp_chgtp);

	echo 'Actualizando correlativo de sistema-> <br>';
	var_dump($upd_conf);
	var_dump($resp_conf);

	echo 'Actualizando contrato-1 -> <br>';
	var_dump($upd_con0);
	var_dump($resp_cont0);

	echo 'Actualizando contrato-2 -> <br>';
	var_dump($upd_con1);
	var_dump($resp_cont1);

	echo 'Actualizando contrato-3 -> <br>';
	var_dump($upd_con2);
	var_dump($resp_cont2);

	echo 'Actualizando contrato-4 -> <br>';
	var_dump($upd_con3);
	var_dump($resp_cont3);

	echo 'Actualizando info pagos -> <br>';
	var_dump($upd_pag);
	var_dump($resp_pag);

	echo 'Actualizando relaciones de club pagos -> <br>';
	var_dump($ins_rela);
	var_dump($resp_rela);

	echo 'Actualizando entradas, salida de dinero -> <br>';
	var_dump($entr_salid_ins);
	var_dump($resp_ins);

	echo 'Actualizando contrato1-> <br>';
	var_dump($upd_cn1);
	var_dump($resp_cn1);

	echo 'Actualizando contrato2-> <br>';
	var_dump($upd_cn2);
	var_dump($resp_cn2);

	echo 'Actualizando contrato3-> <br>';
	var_dump($upd_cn3);
	var_dump($resp_cn3);
}

if ($resp_pagos and $resp_conf and $resp_con0 and $resp_con1 and $resp_con2 and $resp_con3 and $resp_pag and $resp_rela) {
	mysqli_query($connection, "COMMIT");
	$msg = array(
		"success" => "true",
		"detalle" => "OK"
	);
} else {
	mysqli_query($connection, "ROLLBACK");
	$msg = array(
		"success" => "false",
		"detalle" => $connection
	);
	echo "Error: " . $connection->error;
}

print_r(json_encode($msg));

@mysqli_close($connection);
