<?php
include('includes/config/config.php');
include('includes/functions.php');
$noOfRows = $_POST['count_items'];
error_log("noofrows" . $noOfRows);

error_log("#REQ :" . print_r($_POST, true));

$rule_id = $_REQUEST['rule_eq_id'];


$risk_id = $_REQUEST['risk'];
$risk_ids = implode(',', $risk_id);


$advice_id = $_REQUEST['advice'];

$advice_ids = implode(',', $advice_id);

$is_string_rule = $_REQUEST['is_string_rule'];

error_log("rule_id " . $rule_id);
begin();
$equation = "";

if ($rule_id == Null || $rule_id == "") {
	$query = "insert into rule_equation set checkup_form_section_id='" . $_REQUEST['checkup_section_id'] . "', cout='" . $_POST['count_items'] . "', result='" . $_POST['result'] . "',result_disp='" . $_POST['result_disp'] . "' , rule_gender='" . $_REQUEST['rule_gender'] . "', rule_age_start='" . $_REQUEST['rule_age_start'] . "', rule_age_end='" . $_REQUEST['rule_age_end'] . "' , abnormality='" . $_POST['abnormality'] . "',risks='".addslashes($risk_ids)."', advices = '".addslashes($advice_ids)."',color='".$_REQUEST['color']."',range_type='".$_REQUEST['range_type']."',is_string_rule='".$is_string_rule."'";

	error_log("saving in rule equation query " . $query);

	if (!$result = @mysqli_query($conn, $query)) {
		error_log("error while saving in rule equation :" . mysqli_error($conn));
		rollback();
	}

	$ruleid = mysqli_insert_id($conn);

	error_log("ruleid" . $ruleid);

	for ($i = 0; $i < $noOfRows; $i++) {

		$checkup_parameter = getFieldFromTable('key_param_name', 'key_health_reportable_parameter_master', 'key_param_id', ${"checkup_parameter_id$i"});

		error_log("checkup key param " . $checkup_parameter);

		$condition = getTableFieldValue('rule_condition', 'condition_sy', 'rule_condition_id', ${"rule_condition_id$i"});

		$joiner = getTableFieldValue('rule_joiner', 'joiner_sy', 'rule_joiner_id', ${"rule_joiner_id$i"});

		error_log("equation items" . $checkup_parameter . $condition . ${"value$i"});

		$equation =	$equation . $joiner . ${"op_br$i"} . $checkup_parameter . $condition . ${"value$i"} . ${"cl_br$i"};

		$query1 = "insert into rule_save set checkup_parameter='" . ${"checkup_parameter_id$i"} . "', rule_s_val='" . trim(${"value$i"}) . "',joiner_id='" . ${"rule_joiner_id$i"} . "', equation_rule_id='" . $ruleid . "' ,condition_id='" . ${"rule_condition_id$i"} . "', op_br='" . ${"op_br$i"} . "',cl_br='" . ${"cl_br$i"} . "'";

		error_log("saving in rule save table query " . $query1);

		if (!$result = @mysqli_query($conn, $query1)) {
			error_log("saving in rule save table query error " . mysqli_error($conn));
			rollback();
		}
	}
	error_log("final equation" . $equation);

	$uquery = "update rule_equation set rule_equation='" . $equation . "' where rule_eq_id='" . $ruleid . "'";

	error_log("updating equation in rule_equation " . $uquery);
	if (!$result = @mysqli_query($conn, $uquery)) {
		error_log("updating equation in rule_equation error " . mysqli_error($conn));
		rollback();
	}
} else {
	$ruleid = $rule_id;

	$sql = "update rule_equation set checkup_form_section_id='" . $_REQUEST['checkup_section_id'] . "', cout='" . $_POST['count_items'] . "', result='" . $_POST['result'] . "',result_disp='" . $_POST['result_disp'] . "' , rule_gender='" . $_REQUEST['rule_gender'] . "', rule_age_start='" . $_REQUEST['rule_age_start'] . "', rule_age_end='" . $_REQUEST['rule_age_end'] . "' , abnormality='" . $_POST['abnormality'] . "',risks='".addslashes($risk_ids)."', advices = '".addslashes($advice_ids)."',color='".$_REQUEST['color']."',range_type='".$_REQUEST['range_type']."',is_string_rule='".$is_string_rule."' where rule_eq_id='" . $rule_id . "'";

	error_log("update query for rule equation " . $sql);
	if (!$result = mysqli_query($conn, $sql)) {
		error_log("error while updating the rule equation : " . mysqli_error($conn));
		rollback();
	}

	$sql1 = "delete from rule_save where equation_rule_id='" . $rule_id . "'";

	error_log("deleting previous values from rule save " . $sql1);

	$result1 = mysqli_query($conn, $sql1);

	for ($i = 0; $i < $noOfRows; $i++) {

		$checkup_parameter = getFieldFromTable('key_param_name', 'key_health_reportable_parameter_master', 'key_param_id', ${"checkup_parameter_id$i"});

		error_log("checkup key param " . $checkup_parameter);

		$condition = getTableFieldValue('rule_condition', 'condition_sy', 'rule_condition_id', ${"rule_condition_id$i"});

		$joiner = getTableFieldValue('rule_joiner', 'joiner_sy', 'rule_joiner_id', ${"rule_joiner_id$i"});

		error_log("equation items" . $checkup_parameter . $condition . ${"value$i"});

		$equation =	$equation . $joiner . ${"op_br$i"} . $checkup_parameter . $condition . ${"value$i"} . ${"cl_br$i"};

		$query1 = "insert into rule_save set checkup_parameter='" . ${"checkup_parameter_id$i"} . "', rule_s_val='" . trim(${"value$i"}) . "',joiner_id='" . ${"rule_joiner_id$i"} . "', equation_rule_id='" . $ruleid . "' ,condition_id='" . ${"rule_condition_id$i"} . "', op_br='" . ${"op_br$i"} . "',cl_br='" . ${"cl_br$i"} . "'";

		error_log("saving in rule save table query " . $query1);

		if (!$result = @mysqli_query($conn, $query1)) {
			error_log("saving in rule save table query error " . mysqli_error($conn));
			rollback();
		}
	}
	error_log("final equation" . $equation);

	$uquery = "update rule_equation set rule_equation='" . $equation . "' where rule_eq_id='" . $ruleid . "'";

	error_log("updating equation in rule_equation " . $uquery);
	if (!$result = @mysqli_query($conn, $uquery)) {
		error_log("updating equation in rule_equation error " . mysqli_error($conn));
		rollback();
	}
}

commit();
json_encode($ruleid);