<? //include ('pdf_header_reverse.php'); include('includes/config/config.php'); include('includes/functions.php'); ?> <?php $month = $_POST['month15']; error_log("month:" . date("F", mktime(0, 0, 0, $month, 10)) . " " . $month); $year = $_POST['year15']; error_log("year:" . $year); $ohc = $_SESSION['current_ohcttype']; $month_name = date("F", mktime(0, 0, 0, $month, 10)); //echo $from_date; $ZeroAllowed = "N"; error_log("key val before" . $ZeroAllowed); $ZeroAllowedKey = getConfigKey("ZERO_QUANTITY_ALLOWED"); error_log("key val " . $ZeroAllowedKey); if ($ZeroAllowedKey == "TRUE") { $ZeroAllowed = "Y"; } error_log("key val after " . $ZeroAllowed); ?> <link href="includes/css-js/admin.css" rel="stylesheet" type="text/css" /> <style> @page { margin: 15px; } .btn { background-color: #4CAF50; border-radius: 5%; /* Green */ border: none; color: white; padding: 5px 8px; text-align: center; text-decoration: none; display: inline-block; font-size: 12px; margin: 4px 2px; cursor: pointer; } @media print { #printPageButton { display: none; } } </style> <body> <?php include('pdf_ohc_header.php'); ?> <table width="100%"> <tr> <td align="center" colspan='2' style="font-size: 15px"><strong>Monthly Store Consumption Report</strong> </td> </tr> <tr> <td align="left" style="font-size: 12px"><strong>For Month: <? echo $month_name; ?>, <?php echo $year; ?> </strong></td> <td align="right" style="font-size: 15px"><button align="center" id="printPageButton" class="btn btn-success" onClick="window.print();">Print</button></td> </tr> </table> <br> <table width="100%" border="1" cellspacing="0"> <tr> <th width="2%" align="center"><strong>Sr</th> <th align="center" width="5%"><strong>Items</th> <th align="center" width="5%"><strong>Items Rate Per Unit</th> <!-- <th align="center" width="5%"><strong>Expiry date</th> --> <th align="center" width="5%"><strong>Previous Balance Qty</th> <th align="center" width="5%"><strong>Previous Balance Amount</th> <th width="5%" align="center"><strong>Procured Qty</th> <th width="5%" align="center"><strong>Procured Amount</th> <th align="center" width="5%"><strong>Total Qty</th> <th align="center" width="5%"><strong>Total Amount</th> <th align="center" width="5%"><strong>Consumption Qty</th> <th align="center" width="5%"><strong>Consumption Amount</th> <th align="center" width="5%"><strong>Expired Qty</th> <th align="center" width="5%"><strong>Expired Amount</th> <th align="center" width="5%"><strong>Balance Qty</th> <th align="center" width="5%"><strong>Balance Amount</th> </strong> </tr> <? //echo $to_date; $prv_amt=0; $cur_amt=0; $tot_amt=0; $con_amt=0; $exp_amt=0; $bel_amt=0; // $emp_id=$_POST['empName']; error_reporting(E_ERROR | E_PARSE); $count = 0; //echo $emp_id; $data = ""; $sql = "select cat_id from tbl_categories order by sequence asc"; error_log("SSSSSSS$$$$$$$$$" . $sql); $result = mysqli_query($conn,$sql); $med_cat = array(); function getExpiry($item_id) { $sql_expiry = "SELECT DISTINCT(expiry_date) as expiry,item_batch_no FROM item_stock WHERE item_id='" . $item_id . "' AND stock_qty>0 "; $result_expiry = mysqli_query($GLOBALS['conn'],$sql_expiry); $expiry_with_batch = ""; while ($row_expiry = mysqli_fetch_assoc($result_expiry)) { $dateStrVal = strtotime($row_expiry['expiry']); if (empty($dateStrVal)) { $expired_date = 'NA'; } else { $expired_date = date_format(date_create($row_expiry['expiry']), "M-Y "); } $expiry_with_batch .= $expired_date . " | "; } return $expiry_with_batch; } function expiry_details($item_id, $m, $y,$ohc) { $expired_item_sql = "select * from cleanup_item_stock where item_id = '" . $item_id . "' and month(cleanup_date) = '$m' and year(expiry_date) = '$y' "; $result_expired_item_sql = mysqli_query($GLOBALS['conn'],$expired_item_sql); $expired_qty = ""; while ($row_expired_item_sql = mysqli_fetch_assoc($result_expired_item_sql)) { $expired_qty += $row_expired_item_sql['cleanup_qty']; } if ($expired_qty == 0) { return 0; } else { return $expired_qty; } } function previous_balance($item_id, $m, $y) { if ($m == 3) { $prev_month_number = $m - 1; $prev_month = date("F", mktime(0, 0, 0, $prev_month_number, 10)); } else if ($m == 2) { $prev_month_number = $m - 1; $prev_month = date("F", mktime(0, 0, 0, $prev_month_number, 10)); } else if ($m == 1) { $prev_month_number = 12; $prev_month = date("F", mktime(0, 0, 0, $prev_month_number, 10)); } else { $monthname = date("F", mktime(0, 0, 0, $m, 10)); $prev_month_number = $m - 1; $prev_month = date("F", mktime(0, 0, 0, $prev_month_number, 10)); // $prev_month_number = date("m", strtotime($prev_month_number)); // $prev_month_number = date('m', strtotime($prev_month)); } error_log("month name=>" . $monthname . " prev month name=> " . $prev_month . " prev month number=>" . $prev_month_number); if ($prev_month_number == '12') { $Prev_year = $y - 1; } else { $Prev_year = $y; } error_log("previous month:" . $prev_month . " " . $prev_month_number); $Last_date = new DateTime($prev_month . "" . $y); $date = $Last_date->format('t'); error_log("last date:" . $date); $prev_balance_sql = "select stock_qty from item_stock_daily_balance where stock_qty>=0 and item_id='" . $item_id . "' and month(record_date) = '$prev_month_number' and year(record_date) = '$Prev_year' and day(record_date) = '$date'"; error_log('$prev_balance_sql:' . $prev_balance_sql); $result_prev_balance = mysqli_query($GLOBALS['conn'],$prev_balance_sql); $previous_balance = ""; while ($row_prev_balance = mysqli_fetch_assoc($result_prev_balance)) { $previous_balance += $row_prev_balance['stock_qty']; } if ($previous_balance == 0) { return 0; } else { return $previous_balance; } } function procurement_details($item_id, $m, $y,$ohc) { $procurement_qty_total = 0; $sql_procurement = "select pt.qty from procurement_items pt right join procurement p on pt.procurement_id = p.procurement_id where pt.item_id = '$item_id' and month(p.procurement_date ) = '$m' and year(p.procurement_date )='$y' "; error_log("procurement:" . $sql_procurement); $result_procurement = mysqli_query($GLOBALS['conn'],$sql_procurement); while ($row_procurement = mysqli_fetch_assoc($result_procurement)) { $procurement_qty_total += $row_procurement['qty']; } $sql_direct_in = "select pt.received_qty from store_received_return_items pt right join store_received_return_master p on pt.received_id = p.received_id where pt.item_id = '$item_id' and month(p.received_date ) = '$m' and year(p.received_date )='$y' "; // error_log("procurement:" . $sql_procurement); $result_direct_in = mysqli_query($GLOBALS['conn'],$sql_direct_in); while ($row_direct_in = mysqli_fetch_assoc($result_direct_in)) { $procurement_qty_total += $row_direct_in['received_qty']; } return $procurement_qty_total; } function total($prev_balance, $new_received) { $total = $prev_balance + $new_received; return $total; } function consume_details($item_id, $m, $y,$ohc) { $sql_consume = "select st.issue_qty from stock_issue_items st left join stock_issue s on st.stock_issue_id = s.stock_issue_id where item_id = '$item_id' and month(s.issue_date ) = '$m' and year(s.issue_date )='$y' "; // error_log("issued_stock" . $sql_consume); $result_consume = mysqli_query($GLOBALS['conn'],$sql_consume); $issued_qty_total = 0; while ($row_consume = mysqli_fetch_array($result_consume)) { $issued_qty_total += $row_consume['issue_qty']; } return $issued_qty_total; } function cost_latest($item_id, $m, $y) { $sql_procurement = "select * from item_rate_change_history h left join item_rate r on h.item_id=r.item_id where h.id=(select max(id) from item_rate_change_history where item_id = '$item_id' and month(last_modified ) = '$m' and year(last_modified )='$y') "; // error_log("exp_cost:".$item_id . $sql_procurement); $result_procurement = mysqli_query($GLOBALS['conn'],$sql_procurement); $procurement_qty_total = 0; while ($row_procurement = mysqli_fetch_assoc($result_procurement)) { $procurement_qty_total += ($row_procurement['new_rate']/$row_procurement['unit']); } if($procurement_qty_total==0 || $procurement_qty_total=='' || $procurement_qty_total==null){ $sql_procurement_rate = "select * from item_rate where item_id = '$item_id' "; // error_log("exp_cost:".$item_id . $sql_procurement); $result_procurement_rate = mysqli_query($GLOBALS['conn'],$sql_procurement_rate); while ($row_procurement_rate = mysqli_fetch_assoc($result_procurement_rate)) { $procurement_qty_total += ($row_procurement_rate['item_rate']/$row_procurement_rate['unit']); } } return $procurement_qty_total; } function cost_old($item_id, $m, $y) { $sql_procurement = "select * from item_rate_change_history h left join item_rate r on h.item_id=r.item_id where h.id=(select max(id) from item_rate_change_history where item_id = '$item_id' and month(last_modified ) = '$m' and year(last_modified )='$y') "; // error_log("exp_cost:".$item_id . $sql_procurement); $result_procurement = mysqli_query($GLOBALS['conn'],$sql_procurement); $procurement_qty_total = 0; while ($row_procurement = mysqli_fetch_assoc($result_procurement)) { $procurement_qty_total += ($row_procurement['old_rate']/$row_procurement['unit']); } if($procurement_qty_total==0 || $procurement_qty_total=='' || $procurement_qty_total==null){ $sql_procurement_rate = "select * from item_rate where item_id = '$item_id' "; // error_log("exp_cost:".$item_id . $sql_procurement); $result_procurement_rate = mysqli_query($GLOBALS['conn'],$sql_procurement_rate); while ($row_procurement_rate = mysqli_fetch_assoc($result_procurement_rate)) { $procurement_qty_total += ($row_procurement_rate['item_rate']/$row_procurement_rate['unit']); } } return $procurement_qty_total; } function balance($total_balance, $total_consumed) { $b = $total_balance - $total_consumed; return $b; } while ($row_m = mysqli_fetch_array($result)) { array_push($med_cat, $row_m['cat_id']); } foreach ($med_cat as $i => $value) { $newCat = true; $query = "select i.item_id, i.item_name, isd1.sum_total,isd1.expiry_date from tbl_items i left join (select isd.item_id,sum(isd.stock_qty) as sum_total,isd.expiry_date from item_stock isd group by item_id) isd1 on isd1.item_id=i.item_id where i.cat='$value' and i.status= '1'"; error_log("###########QQQQQQQQ" . $query); $result = mysqli_query($conn,$query); $total = mysqli_num_rows($result); if ($total != 0) { ?> <!-- <tr rowspan="2"> <th colspan='8'> <center><?= getTableFieldValue("tbl_categories", "cat_name", "cat_id", $value) ?></center> </th> </tr> <tr></tr> --> <? while ($row = mysqli_fetch_assoc($result)) { $total_consumed = consume_details($row['item_id'], $month, $year, $ohc); if ($total_consumed == 0 && $ZeroAllowed == "N") { } else { ?> <?php if ($newCat) { $newCat = false; ?> <tr rowspan="2"> <th colspan='8'> <center><?= getTableFieldValue("tbl_categories", "cat_name", "cat_id", $value) ?></center> </th> </tr> <?php } ?> <tr> <td align="left"><?= ++$count ?></td> <td align="left"><?= $row['item_name'] ?></td> <td align="left"> <?= number_format((float)cost_latest($row['item_id'], $month, $year), 2, '.', '') ?> </td> <!-- <td align="left"><?= getExpiry($row['item_id']) ?></td> --> <td align="left"><?= previous_balance($row['item_id'], $month, $year) ?></td> <td align="left"> <?php $prv_amt+=number_format((previous_balance($row['item_id'], $month, $year)*(float)cost_old($row['item_id'], $month, $year)), 2, '.', '') ; echo number_format((previous_balance($row['item_id'], $month, $year)*(float)cost_old($row['item_id'], $month, $year)), 2, '.', '') ; ?> </td> <td align="left"><?= procurement_details($row['item_id'], $month, $year, $ohc) ?></td> <td align="left"> <?php $cur_amt+=number_format((procurement_details($row['item_id'], $month, $year, $ohc)*(float)cost_latest($row['item_id'], $month, $year)), 2, '.', ''); echo number_format((procurement_details($row['item_id'], $month, $year, $ohc)*(float)cost_latest($row['item_id'], $month, $year)), 2, '.', ''); ?> </td> <td align="left"> <?= total(previous_balance($row['item_id'], $month, $year), procurement_details($row['item_id'], $month, $year, $ohc)) ?> </td> <td align="left"> <?php $total_amount= number_format((float)total(number_format((previous_balance($row['item_id'], $month, $year)*(float)cost_old($row['item_id'], $month, $year)), 2, '.', '') ,number_format((procurement_details($row['item_id'], $month, $year, $ohc)*(float)cost_latest($row['item_id'], $month, $year)), 2, '.', '')), 2, '.', '') ; $tot_amt+=$total_amount; echo $total_amount; ?> </td> <td align="left"><?= consume_details($row['item_id'], $month, $year, $ohc) ?></td> <td align="left"><?php $consume_qty= consume_details($row['item_id'], $month, $year, $ohc) ; $new_consume_qty=$consume_qty-previous_balance($row['item_id'], $month, $year); if( $new_consume_qty<=0){ $consum_amount= number_format((float)number_format(($consume_qty*(float)cost_old($row['item_id'], $month, $year)), 2, '.', ''), 2, '.', ''); $con_amt+=$consum_amount; echo $consum_amount; }else { $old_consum_price=number_format((previous_balance($row['item_id'], $month, $year)*(float)cost_old($row['item_id'], $month, $year)), 2, '.', ''); $new_consume_price=number_format(($new_consume_qty*(float)cost_old($row['item_id'], $month, $year)), 2, '.', ''); $consum_amount= number_format((float)($new_consume_price+$old_consum_price), 2, '.', ''); $con_amt+=$consum_amount; echo $consum_amount; } ?></td> <td align="left"><?= expiry_details($row['item_id'], $month, $year,$ohc) ?></td> <td align="left"> <?php $exp_amt+=number_format((float)(expiry_details($row['item_id'], $month, $year,$ohc)*cost_latest($row['item_id'], $month, $year)), 2, '.', ''); echo number_format((float)(expiry_details($row['item_id'], $month, $year,$ohc)*cost_latest($row['item_id'], $month, $year)), 2, '.', '');?> </td> <td align="left"> <?= (ceil(balance(total(previous_balance($row['item_id'], $month, $year), procurement_details($row['item_id'], $month, $year, $ohc)), consume_details($row['item_id'], $month, $year, $ohc)))- expiry_details($row['item_id'], $month, $year,$ohc)); ?> </td> <td align="left"> <?php $bel_amt+=(number_format((float)(ceil(balance($total_amount,$consum_amount))), 2, '.', '')-number_format((float)(expiry_details($row['item_id'], $month, $year,$ohc)*cost_latest($row['item_id'], $month, $year)), 2, '.', '')); echo (number_format((float)(ceil(balance($total_amount,$consum_amount))), 2, '.', '')-number_format((float)(expiry_details($row['item_id'], $month, $year,$ohc)*cost_latest($row['item_id'], $month, $year)), 2, '.', '')); ?> </td> </tr> <?php } } } } ?> <tr> <td colspan="4"><b>Grand Total Amount</b></td> <td><b><?=$prv_amt?></td> <td></td> <td><b><?=$cur_amt?></td> <td></td> <td><b><?=$tot_amt?></td> <td></td> <td><b><?=$con_amt?></td> <td></td> <td><b><?=$exp_amt?></td> <td></td> <td><b><?=$bel_amt?></td> </tr> </table> </body> <script> $(document).ready(function() { window.print(); }); </script>