" . $isOhcSpecific); $AndOhcFilter = ""; $WhereOhcFilter = ""; $CommaOhcFilter = ""; if ($isOhcSpecific == "TRUE") { $AndOhcFilter = "and ohc_type_id ='" . $_SESSION['current_ohcttype'] . "' "; $WhereOhcFilter = "where ohc_type_id = '" . $_SESSION['current_ohcttype'] . "' "; $CommaOhcFilter = "ohc_type_id = '" . $_SESSION['current_ohcttype'] . "' "; } // Connect to mysqli database $page = 1; // The current page $sortname = 'item_id'; // Sort column $sortorder = 'asc'; // Sort order $qtype = ''; // Search column $query = ''; // Search string // Get posted data if (isset($_REQUEST['page'])) { $page = mysqli_real_escape_string($conn, $_REQUEST['page']); } if (isset($_REQUEST['sortname'])) { $sortname = mysqli_real_escape_string($conn, $_REQUEST['sortname']); } if (isset($_REQUEST['sortorder'])) { $sortorder = mysqli_real_escape_string($conn, $_REQUEST['sortorder']); } if (isset($_REQUEST['qtype'])) { $qtype = mysqli_real_escape_string($conn, $_REQUEST['qtype']); } if (isset($_REQUEST['query'])) { $query = mysqli_real_escape_string($conn, $_REQUEST['query']); } if (isset($_REQUEST['rp'])) { $rp = mysqli_real_escape_string($conn, $_REQUEST['rp']); } // Setup sort and search SQL using posted data $hasReadAccess = isAccessible($_SESSION['RoleId'], $menu_key, 'R'); $hasWriteAccess = isAccessible($_SESSION['RoleId'], $menu_key, 'W'); $hasExecuteAccess = isAccessible($_SESSION['RoleId'], $menu_key, 'E'); $sortSql = "order by $sortname $sortorder"; if ($qtype == 'usage_cat') { $searchSql = " where medicine_usage_cat_id in ( select medicine_usage_cat_id from medicine_usage_cat where medicine_usage_cat_name like '%" . trim($query) . "%') and item_id in (select item_id from items_id where status='1') $AndOhcFilter and stock_qty>0"; } else if ($qtype == 'item_desc') { $searchSql = " where item_id in ( select item_id from tbl_items where status='1' and item_name like '%" . trim($query) . "%')$AndOhcFilter and stock_qty>0"; } else if ($qtype == 'item_code') { $item_id = getFieldFromTable('item_id', 'tbl_items', 'item_code', trim($query)); $searchSql = ($qtype != '' && $query != '') ? "where item_id = $item_id $AndOhcFilter " : "$WhereOhcFilter"; } else if ($qtype == 'expiry_date') { $time = strtotime(trim($query)); $exp_date = date('Y-m-d', $time); $searchSql = ($qtype != '' && $query != '') ? "where expiry_date = '" . $exp_date . "' $AndOhcFilter" : "$WhereOhcFilter"; } else { $searchSql = ($qtype != '' && $query != '') ? "where upper($qtype) like upper('%" . trim($query) . "%')$AndOhcFilter " : "$WhereOhcFilter and stock_qty>0"; } $ohc_id = $_SESSION['current_ohcttype']; // Get total count of records $sql = "select count(distinct item_id) from item_stock $searchSql "; error_log("stock query count" . $sql); $result = mysqli_query($conn, $sql); $row = mysqli_fetch_array($result); $total = $row[0]; if (!isset($rp)) { $rp = 10; } // Setup paging SQL // $rp=1; $pageStart = ($page - 1) * $rp; $limitSql = "limit $pageStart, $rp"; // Return JSON data $data = array(); $data['page'] = $page; $data['total'] = $total; $data['rows'] = array(); // $sql1 = "select item_stock_id,item_id,item_batch_no,expiry_date,stock_qty from item_stock "; $sql1 = "select distinct(item_id) from item_stock"; $sql_export = $sql1; $sql1 .= " $searchSql $sortSql $limitSql "; error_log("stock query " . $sql1); $sql_export .= " $searchSql $sortSql "; $results = mysqli_query($conn, $sql1); $count = ($page - 1) * $rp + 1; // echo $sql1; // echo $access_level; while ($row1 = mysqli_fetch_assoc($results)) { $total_available = 0; $total_hold = 0; $total_stock = 0; extract($row1); $item_id = $row1['item_id']; $item_desc = getFieldFromTable('item_name', 'tbl_items', 'item_id', $item_id); $item_code = getTableFieldValue('tbl_items', 'item_code', 'item_id', $item_id); $unit_id = getTableFieldValue('tbl_items', 'unit_id', 'item_id', $item_id); $unit_name = getTableFieldValue('unit_master', 'unit_name', 'unit_id', $unit_id); $medicine_usage_cat_name = getTableFieldValue('medicine_usage_cat', 'medicine_usage_cat_name', 'medicine_usage_cat_id', $row1['medicine_usage_cat_id']); $sql_details = ""; if ($qtype != '' && $qtype == 'expiry_date' && $query != '') { $exp_date = date('Y-m-d', strtotime($query)); $sql_details = "select item_stock_id,item_id,item_batch_no,expiry_date,stock_qty from item_stock where item_id='" . $row1['item_id'] . "' and expiry_date='" . $exp_date . "' $AndOhcFilter"; } else { $sql_details = "select item_stock_id,item_id,item_batch_no,expiry_date,stock_qty from item_stock where item_id='" . $row1['item_id'] . "' $AndOhcFilter"; } error_log("Detail Query" . $sql_details); $result_details = mysqli_query($conn, $sql_details); $detailed_info = ''; $batch_info = ''; $expiry_info = ''; $batch_avl_qty = ''; while ($row_details = mysqli_fetch_assoc($result_details)) { extract($row_details); $item_stock = $stock_qty; $sql_item_stock1 = "select sum(issue_qty),item_batch_no from stock_issue_items where stock_issue_id in (select stock_issue_id from stock_issue where STATUS='N' or STATUS='R' ) and item_id=$item_id and item_batch_no='" . $item_batch_no . "' group by item_batch_no,item_id and stock_qty>0 "; $result_item_stock1 = mysqli_query($conn, $sql_item_stock1); $row_item_stock1 = mysqli_fetch_array($result_item_stock1); if ($row_item_stock1[0] != "" && $row_item_stock1[0] != null) { $hold_qty = $row_item_stock1[0]; } else { $hold_qty = 0.0; } $item_stock += $hold_qty; $total_hold += $hold_qty; //total stock to be inclusive of hold qty but would not be available for issue $total_stock += $item_stock; $available_qty = floatval($item_stock) - floatval($hold_qty); if ($total_stock > 0) { //display only if there is some stock or else do not list the item batch $edit_link1 = ""; if ($hasWriteAccess || $hasExecuteAccess) { $edit_link1 = ""; } $batch_info .= $item_batch_no . "
"; $batch_avl_qty .= $available_qty . " $unit_name " . "
"; $expiry_info .= (isset($row_details['expiry_date'])) ? date_format(date_create($row_details['expiry_date']), "d-m-Y") . "
" : "" . "
"; $detailed_info .= "

Batch:" . $item_batch_no; $detailed_info .= ", Expiry:"; $detailed_info .= (isset($row_details['expiry_date'])) ? date_format(date_create($row_details['expiry_date']), "d-m-Y") : ""; $detailed_info .= ", Stock: " . $item_stock . " " . $unit_name; $detailed_info .= ", Hold: " . $hold_qty . " " . $unit_name; $detailed_info .= ", Available: " . $available_qty . " " . $unit_name; $detailed_info .= "  " . $edit_link1; } } //$links = $edit_link1; $total_available += floatval($total_stock) - floatval($total_hold); $data['rows'][] = array( 'id' => $row1['item_id'], 'cell' => array( $count++, $item_desc, $item_code, $medicine_usage_cat_name, $total_stock . " " . $unit_name, // $total_hold . " " . $unit_name, // $total_available . " " . $unit_name, $batch_info, $batch_avl_qty, $expiry_info ) ); } $data['rows'][] = array( 'id' => $row['filterkey'], 'cell' => array( '', "", "", '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ) ); echo json_encode($data); ?>