<?php
error_reporting(E_ERROR | E_PARSE);
include('includes/config/config.php');
include('log_entry.php');
include('includes/functions.php');
// 	error_log('sagar');
$noOfRows = $_POST['count_items'];
// echo $noOfRows;
$stock_issue_id = $_POST['stock_issue_id'];
// $procurement_refno = $_POST['ref_no'];
// echo $procurement_refno;
$remarks = $_POST['remarks'];
$ambulance_number = $_POST['ambulance_number'];
$box_number = $_POST['box_number'];
$issue_date = $_POST['issue_date'];
$patient_id = $_REQUEST['p_id'];

$filled_by = $_SESSION['logged_user_empid'];
$rolecode = $_SESSION['RoleCode'];
// echo $procurement_id;
$initquery = "";
$data = array();
$data['approval_status'] = $_POST['approval_status'];
$endquery = "";
$isuue_ref_no = "";


$ohc_loc=getTableFieldValue('ohc_type', 'ohc_type_id', 'ohc_code', '"'.$_POST['ohc_loc'].'"');


if ($_POST['ohc_loc'] == "OHCAMB") {
	$amb_num_box_code = $_POST['ambulance_number'];
	// error_log("ifsagar" . $amb_num_box_code);
} else if($_POST['ohc_loc'] == "FABDISH") {
	$amb_num_box_code = $_POST['box_number'];

	
}else{
	$amb_num_box_code = $_REQUEST['patient_id'];

}

	error_log("sagar".$stock_issue_id);
if (!empty($stock_issue_id)) {
	// update case
	$initquery = "update stock_issue set  ";
	$endquery = " where stock_issue_id = '" . $stock_issue_id . "' and issue_ohc_type_id='" . $_SESSION['current_ohcttype'] . "'  ";
	$data['stock_issue_id'] = $stock_issue_id;
	// 		error_log("sagarif".$initquery);
} else {
	// insert case
	$month = date('n');
	$year = date('Y');

	if ($month > 3) {
		$year = $year;
	} else {
		$year = $year - 1;
	}

	$query_issue__ref_no = "select  max( CAST(substring(issue_ref_no,locate('-',issue_ref_no)+1,length(issue_ref_no)-(5+locate('-',issue_ref_no))) as UNSIGNED) ) from stock_issue where issue_ref_no like '%$year%' and issue_ohc_type_id='" . $_SESSION['current_ohcttype'] . "'";
	$result_issue_ref_no = @mysqli_query($conn, $query_issue__ref_no);
	$row_isuue_ref_no = mysqli_fetch_row($result_issue_ref_no);
	$isuue_ref_no = 'ISS-' . ($row_isuue_ref_no[0] + 1) . '-' . $year;
	// 		error_log("sagarelse".$query_issue_ref_no);
	/*
		 * if(mysqli_num_rows($result_issue_ref_no) > 0){
		 * $row_isuue_ref_no = mysqli_fetch_row($result_issue_ref_no);
		 *
		 *
		 * $isuue_ref_no = 'ISS-'.($isuue_ref_no[0]+1).'-'.$year;
		 *
		 *
		 * }else{
		 * $isuue_ref_no = 'ISS-1-'.$year;
		 *
		 * }
		 */
	$initquery = "INSERT INTO stock_issue set  issue_ref_no='$isuue_ref_no' ,issue_ohc_type_id = '" . $_SESSION['current_ohcttype'] . "' ,";
}

error_log("$filled_by" . " " . $amb_num_box_code);

if ($rolecode == 'DOC') {
	// $query = $initquery . " remarks='" . $remarks . "', ohc_location_id='" . $ohc_loc . "', filled_by='" . $filled_by . "', amb_no_box_code='" . $amb_num_box_code . "', status='" . $_POST['approval_status'] . "',approving_doc_emp_id='" . $_SESSION['logged_user_empid'] . "' ,issue_date = STR_TO_DATE('" . $issue_date . "','%d/%m/%Y') ,modified_by = '" . $_SESSION['user_id'] . "', issue_ohc_type_id='" . $_SESSION['current_ohcttype'] . "' $endquery ";

	$query = $initquery . " remarks='" . $remarks . "', filled_by='" . $filled_by . "', status='" . $_POST['approval_status'] . "',approving_doc_emp_id='" . $_SESSION['logged_user_empid'] . "' ,issue_date = STR_TO_DATE('" . $issue_date . "','%d/%m/%Y') ,modified_by = '" . $_SESSION['user_id'] . "' $endquery ";

} else {
	// $query = $initquery . " remarks='" . $remarks . "', ohc_location_id='" . $ohc_loc . "', filled_by='" . $filled_by . "', amb_no_box_code='" . $amb_num_box_code . "', status='" . $_POST['approval_status'] . "',stock_issue_emp_id = '" . $_SESSION['logged_user_empid'] . "', issue_date = STR_TO_DATE('" . $issue_date . "','%d/%m/%Y') ,modified_by = '" . $_SESSION['user_id'] . "', issue_ohc_type_id='" . $_SESSION['current_ohcttype'] . "' $endquery ";

	$query = $initquery . " amb_no_box_code='" . $amb_num_box_code . "',ohc_location_id='" . $_POST['ohc_loc'] . "', remarks='" . $remarks . "', filled_by='" . $filled_by . "', status='" . $_POST['approval_status'] . "',stock_issue_emp_id = '" . $_SESSION['logged_user_empid'] . "', issue_date = STR_TO_DATE('" . $issue_date . "','%d/%m/%Y') ,modified_by = '" . $_SESSION['user_id'] . "' $endquery ";
}
//echo $query;
error_log("sqlllllll: " . $query);

if (!$result = @mysqli_query($conn, $query)) {
	exit(mysqli_error($conn));
} else {

	if (empty($_POST['stock_issue_id'])) {

		// insert case when procuremnt id is not available but needed for saving into the child table
		$query = "select  stock_issue_id  from stock_issue where issue_ref_no= '$isuue_ref_no' and issue_ohc_type_id='" . $_SESSION['current_ohcttype'] . "'";
		//echo $query;
		error_log($query);
		if (!$result = @mysqli_query($conn, $query)) {
			exit(mysqli_error($conn));
		} else {
			if (mysqli_num_rows($result) > 0) {
				while ($row = mysqli_fetch_assoc($result)) {
					$data = $row;
					$stock_issue_id = $row['stock_issue_id'];
				}
			}
		}
	}

	if (!empty($stock_issue_id)) {

		/*
			 * $current_stock_level_procurement_items_query="select item_id,qty from requisition_items where req_id='".req_id."' ";
			 * $results_procuerment_items=mysqli_query($conn,$current_stock_level_procurement_items_query);
			 * echo $current_stock_level_procurement_items_query;
			 * while($rows_procurement_items=mysqli_fetch_assoc($results_procuerment_items)){
			 * $current_stock_level_items_qty= getTableFieldValue('tbl_items','current_stock_level','item_id',$rows_procurement_items['item_id']);
			 * $current_stock_level_items_qty=$current_stock_level_items_qty-$rows_procurement_items['qty'];
			 * echo current_stock_level_items_qty;
			 * $current_stock_query="update tbl_items set current_stock_level='".$current_stock_level_items_qty."' where item_id='".$rows_procurement_items['item_id']."' ";
			 * echo $current_stock_query;
			 * mysqli_query($conn,$current_stock_query);
			 *
			 * }
			 */
	}


	resetStockAtStoreLevelForStore($stock_issue_id);

	// clear existing entries into the child table
	$query_del = " delete from stock_issue_items where stock_issue_id = '" . $stock_issue_id . "' and issue_ohc_type_id='" . $_SESSION['current_ohcttype'] . "'  ";
	// echo $query_del;
	error_log($query_del);
	$result_del = @mysqli_query($conn, $query_del);

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

		/*$current_stock__query="select stock_qty,expiry_date from item_stock where item_id=${"item_id$i"} and item_batch_no='".${"item_batch_no$i"}."' ";
			$results_stock__query=mysqli_query($conn,$current_stock__query);
			$row_stocks = mysqli_fetch_row ( $results_stock__query );*/
		//$stock_qty = getTableFieldValue ( 'item_stock', 'stock_qty', 'item_id', ${"item_id$i"}, 'item_batch_no',$item_batch_no));
		if (isset(${"issue_qty$i"}) && ${"issue_qty$i"} != null && ${"issue_qty$i"} != '' && ${"issue_qty$i"} > 0) {
			if ($_POST['approval_status'] != 'R') {
				
              $batch_stock=getBatchStock(${"item_id$i"}, ${"item_batch_no$i"});
			  
			  if($batch_stock<${"issue_qty$i"}){
				$issued_qty=${"issue_qty$i"}-$batch_stock;
	
				updateStockAtStoreLevel(${"item_id$i"},${"item_batch_no$i"} , $batch_stock);	
				$query_first_issue = "insert into stock_issue_items set stock_issue_id='$stock_issue_id',item_batch_no='" . ${"item_batch_no$i"} . "', item_id ='" . ${"item_id$i"} . "',issue_qty = '" . $batch_stock . "', issue_ohc_type_id='" . $_SESSION['current_ohcttype'] . "'  ";
				
				
				error_log($query_first_issue);
				if (!$result_first_issue = @mysqli_query($conn, $query_first_issue)) {
					exit(mysqli_error($conn));
				}
				error_log("passed query:" . $query_first_issue);
	

				$batchs=getItemBatch(${"item_id$i"},${"item_batch_no$i"});	
                $b=0;
				while($issued_qty>0){
				error_log('$issued_qty '.$issued_qty);
				$this_batch_stock=getBatchStock(${"item_id$i"}, $batchs[$b]);
			if($issued_qty>$this_batch_stock){
				$remain=$issued_qty-$this_batch_stock;
			}else{
				$remain=0;
			}
					$issue=$issued_qty-$remain;
					
					// error_log('$remain '.$issued_qty);
					updateStockAtStoreLevel(${"item_id$i"},$batchs[$b] , $issue);	

					$query1 = "insert into stock_issue_items set stock_issue_id='$stock_issue_id',item_batch_no='" . $batchs[$b] . "', item_id ='" . ${"item_id$i"} . "',issue_qty = '" . $issue . "', issue_ohc_type_id='" . $_SESSION['current_ohcttype'] . "'  ";
					$issued_qty=$remain;
					error_log('$issued_qty '.$issued_qty);
					$b++;

					// echo $query1;
					error_log($query1);
					if (!$result1 = @mysqli_query($conn, $query1)) {
						exit(mysqli_error($conn));
					}
					error_log("passed query:" . $query1);
		
		
				}

			  }else{
				updateStockAtStoreLevel(${"item_id$i"}, ${"item_batch_no$i"}, ${"issue_qty$i"});
				$query1 = "insert into stock_issue_items set stock_issue_id='$stock_issue_id',item_batch_no='" . ${"item_batch_no$i"} . "', item_id ='" . ${"item_id$i"} . "',issue_qty = '" . ${"issue_qty$i"} . "', issue_ohc_type_id='" . $_SESSION['current_ohcttype'] . "'  ";
				// echo $query1;
				error_log($query1);
				if (!$result1 = @mysqli_query($conn, $query1)) {
					exit(mysqli_error($conn));
				}
				error_log("passed query:" . $query1);
	
	
			  }

				


			}


			// echo $current_stock_level;
			/*$current_stock_query = "update item_stock  set stock_qty='" . $stock_qty . "' where item_id='${"item_id$i"}' and item_batch_no='${"item_batch_no$i"}' ";
			// echo $current_stock_query;
			mysqli_query ( $current_stock_query );*/




			/*
			 * $current_stock_level= getTableFieldValue('tbl_items','current_stock_level','item_id',${"item_id$i"});
			 * $current_stock_level=$current_stock_level+${"item_qty$i"};
			 * //echo $current_stock_level;
			 * $current_stock_query="update tbl_items set current_stock_level='".$current_stock_level."' where item_id='${"item_id$i"}' ";
			 * echo $current_stock_query;
			 * mysqli_query($conn,$current_stock_query);
			 */

			// $batch_ref_no=${"item_id$i"}.'_'.${"batch$i"};
		
			//  echo $query1;


			// $item_stock_query="select current_stock_level from tbl_items where item_id='".${"item_id$i"}."'";
		}
	}
	if ($data == null) {
		$data['status'] = 200;
		$data['message'] = "Data not found!";
	}
}
echo json_encode($data);