csrtechnew.ohctech.in/monthly_expense_report_pdf.php
2025-04-14 13:28:09 +05:30

319 lines
10 KiB
PHP

<?php
//include ('pdf_header_reverse.php');
include('includes/config/config.php');
include('includes/functions.php');
include('log_entry.php');
?>
<?php
$month = $_POST['month5'];
$year = $_POST['year5'];
$ohc = $_SESSION['current_ohcttype'];
$month_name = date("F", mktime(0, 0, 0, $month, 10));
//echo $from_date;
//echo $hygiene_abnormal1;
?>
<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" style="font-size: 15px"><strong>Monthly Expense Report, <?= getTableFieldValue('ohc_type', 'ohc_type_name', 'ohc_type_id', $ohc) ?></strong></td>
</tr>
<tr>
<td align="left" style="font-size: 12px"><strong>For Month: <?php echo $month_name; ?></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">Sr</th>
<th align="center" width="5%">Items</th>
<th align="center" width="5%">Expiry date</th>
<th align="center" width="5%">Previous Balance</th>
<th width="5%" align="center">New received</th>
<th align="center" width="5%">Total</th>
<th align="center" width="5%">Issued</th>
<th align="center" width="5%">Balance</th>
</tr>
<?php
//echo $to_date;
// $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($GLOBALS['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 . "' ";
$result_expiry = mysqli_query($GLOBALS['conn'],$sql_expiry);
$expiry_with_batch = "";
while ($row_expiry = mysqli_fetch_assoc($result_expiry)) {
$dateStrVal = strtotime($row_expiry['expiry']);
$exp_date = $row_expiry['expiry'];
$curr_date = date('Y-m-d');
error_log("EXPIRY YEAR::" .$year_exp);
error_log("EXPIRY MONTH::".$month_exp);
if (empty($dateStrVal)) {
$expired_date = 'NA';
}
if ($exp_date < $curr_date) {
$expired_date = " ";
}
else {
$expired_date = date_format(date_create($row_expiry['expiry']), "M-Y ");
}
$expiry_with_batch .= $expired_date . " | ";
}
return $expiry_with_batch;
}
function procurement_details($item_id, $m, $y,$ohc)
{
$sql_procurement = "select ri.received_qty from received_issue_items ri right join received_master rm on ri.received_id = rm.received_id where ri.item_id = '$item_id' and month(rm.received_date ) = '$m' and year(rm.received_date )='$y' and ri.ohc_location_id='$ohc' ";
error_log("procurement:" . $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['received_qty'];
}
return $procurement_qty_total;
}
function total($prev_balance, $new_received)
{
$total = $prev_balance + $new_received;
return $total;
}
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 {
$monthname = date("F", mktime(0, 0, 0, $m, 10));
$prev_month = date("F", strtotime('-1 month', strtotime($monthname)));
$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_dispensary_daily_balance where item_id='" . $item_id . "' and month(record_date) = '$prev_month_number' and year(record_date) = '$Prev_year' and day(record_date) = '$date' and ohc_location_id='" . $_SESSION['current_ohcttype'] . "'";
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 consume_details($item_id, $a, $m, $y, $ohc)
{
$consume_detail = '';
$issued_qty_total = 0;
$sql_diect_issue_query = "SELECT ifnull(dd.issue_qty,0) as direct_issue FROM direct_medicine_issue_log_details dd LEFT JOIN direct_medicine_issue_log dm ON dd.issue_log_id = dm.issue_log_id WHERE item_id='$item_id' and month(dm.date_of_issue)='$m' and year(dm.date_of_issue)='$y' and ohc_location_id = '" . $ohc . "'";
error_log("sql_diect_issue_query: " . $sql_diect_issue_query);
$result_sql_diect_issue_query = mysqli_query($GLOBALS['conn'],$sql_diect_issue_query);
while ($row_result_sql_diect_issue_query = mysqli_fetch_array($result_sql_diect_issue_query)) {
$consume_detail .= 'DIRECT ISSUE ' . ':' . $row_result_sql_diect_issue_query['direct_issue'] . ' : ';
$issued_qty_total += $row_result_sql_diect_issue_query['direct_issue'];
}
error_log("issued_qty_total:::" . $issued_qty_total);
$sql_opd_consumables = "SELECT ifnull(c.issued_qty,0) as consumable_issue,e.ticket_no FROM opd_consumables c LEFT JOIN employee_appointment e ON c.consume_id = e.appointment_id where medicine = '$item_id' and month(e.appointment_date) = '$m' and year(e.appointment_date) = '$y' and ohc_type_id = '" . $ohc . "' ";
error_log("sql_opd_consumables: " . $sql_opd_consumables);
$result_sql_opd_consumables = mysqli_query($GLOBALS['conn'],$sql_opd_consumables);
while ($row_result_sql_opd_consumables = mysqli_fetch_array($result_sql_opd_consumables)) {
$consume_detail .= 'ID-' . $row_result_sql_opd_consumables['ticket_no'] . ':' . $row_result_sql_opd_consumables['consumable_issue'] . ' : ';
$issued_qty_total += $row_result_sql_opd_consumables['consumable_issue'];
}
error_log("issued_qty_total_2:::" . $issued_qty_total);
$sql_consume = "select a.appointment_id, (ifnull(a.issued_qty,0)+ifnull(c.issued_qty,0)) as total_issued,b.ticket_no from treatment a left join employee_appointment b on a.appointment_id = b.appointment_id left join detention_intake c on b.appointment_id = c.det_id where item_id = '$item_id' and month(b.appointment_date) = '$m' and year(b.appointment_date) = '$y' and b.ohc_type_id = '" . $ohc . "' ";
error_log("consume::" . $sql_consume);
$result_consume = mysqli_query($GLOBALS['conn'],$sql_consume);
while ($row_consume = mysqli_fetch_array($result_consume)) {
$consume_detail .= 'ID-' . $row_consume['ticket_no'] . ':' . $row_consume['total_issued'] . ' : ';
$issued_qty_total += $row_consume['total_issued'];
error_log("detaiilllllllllll" . $row_consume['total_issued']);
}
error_log("issued_qty_total_3:::" . $issued_qty_total);
if ($a == 1) {
return $consume_detail;
} else {
return $issued_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) {
$query = "select i.item_id, i.item_name from tbl_items i where i.cat='$value' and i.status = '1'";
error_log("###########QQQQQQQQ" . $query);
$result = mysqli_query($GLOBALS['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>
<?php
while ($row = mysqli_fetch_assoc($result)) {
$count++;
?>
<tr>
<td align="left"><?= $count ?></td>
<td align="left"><?= $row['item_name'] ?></td>
<td align="left"><?= getExpiry($row['item_id']) ?></td>
<td align="left"><?= previous_balance($row['item_id'], $month, $year) ?></td>
<td align="left"><?= procurement_details($row['item_id'], $month, $year,$ohc) ?></td>
<td align="left"><?= total(previous_balance($row['item_id'], $month, $year), procurement_details($row['item_id'], $month, $year,$ohc)) ?></td>
<td align="left"><?= consume_details($row['item_id'], 0, $month, $year, $ohc) ?></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'], 0, $month, $year, $ohc))) ?></td>
</tr>
<?php }
}
} ?>
</table>
</body>
<script>
$(document).ready(function() {
window.print();
});
</script>