<? include('includes/config/config.php'); include('includes/functions.php'); header("Content-type:application/octet-stream"); header("Content-type: application/x-msdownload"); header("Content-Disposition: attachment; filename=daily_shift_log_report_excel.xls"); header("Pragma: no-cache"); header("Expires: 0"); error_reporting(E_ERROR | E_PARSE); ?> <?php $date = date('Y-m-d', strtotime($_POST['startDate1'])); error_log("date:::" . $date); $shiftId = $_REQUEST['shift']; $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); function getShiftDetails($shiftId, $date, $current_status, $p, $is_shift) { $sql_shift = "select ssd.*,ss.* from shift_status_details ssd left join shift_status ss on ssd.shift_id = ss.shift_status_id where ssd.ohc_location_id='" . $_SESSION['current_ohcttype'] . "' and ssd.shift_id = '" . $shiftId . "' and ssd.current_status = '" . $current_status . "' and ssd.record_date = '" . $date . "' and is_shift = '" . $is_shift . "'"; error_log("getShiftDetails:" . $sql_shift); $result_shift = mysqli_query($GLOBALS['conn'],$sql_shift); while ($row_shift = mysqli_fetch_assoc($result_shift)) { if ($p == "start") { return $row_shift['start_date_time']; } if ($p == "end") { return $row_shift['end_date_time']; } if ($p == "id") { return $row_shift['shift_details_id']; } if ($p == "name") { return $row_shift['status_name']; } } } $current_status = 'C'; $getValue = "start"; $getValue2 = "end"; $shift_detail_id = "id"; $is_shift = 'Y'; $shift_name = "name"; $shiftName = getShiftDetails($shiftId, $date, $current_status, $shift_name, $is_shift); $shift_start_time = getShiftDetails($shiftId, $date, $current_status, $getValue, $is_shift); $shift_end_time = getShiftDetails($shiftId, $date, $current_status, $getValue2, $is_shift); $shift_details_id = getShiftDetails($shiftId, $date, $current_status, $shift_detail_id, $is_shift); // $prev_shift_id = ceil($shift_details_id - 1); $prev_shift_id_sql = "select * from shift_status_details where ohc_location_id='" . $_SESSION['current_ohcttype'] . "' and current_status = 'C' and shift_details_id < '" . $shift_details_id . "' order by shift_details_id DESC "; $prev_shift_id_sql_result = mysqli_query($conn,$conn,$prev_shift_id_sql); $prev_shift_id_sql_row = mysqli_fetch_assoc($prev_shift_id_sql_result); $prev_shift_id = $prev_shift_id_sql_row['shift_details_id']; error_log("prev_shift_id_sql: " . $prev_shift_id_sql); error_log("shift start time::" . $shift_start_time); error_log("shift end time::" . $shift_end_time); error_log("shift details id::" . $shift_details_id); error_log("prev shift id::" . $prev_shift_id); error_log("shift name::" . $shiftName); error_log("shift id::" . $shiftId); $prev_shift_start_time = ''; $prev_shift_end_time = ''; $shift = ''; $sql_prev = "select * from shift_status_details where shift_details_id='" . $prev_shift_id . "'"; $result_prev = mysqli_query($conn,$conn,$sql_prev); while ($row_prev = mysqli_fetch_assoc($result_prev)) { $prev_shift_start_time = $row_prev['start_date_time']; $prev_shift_end_time = $row_prev['end_date_time']; $shift = $row_prev['shift_id']; } error_log("prev shift start time::" . $prev_shift_start_time); error_log("prev shift end time::" . $prev_shift_end_time); error_log("prev shift id::" . $shift); $ohc = $_SESSION['current_ohcttype']; ?> <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('excel_ohc_header.php'); ?> <table width="100%"> <tr> <td align="center" style="font-size: 15px"><strong>Daily Shift Wise Medicine Log Report</strong></td> </tr> <tr> <td align="left" style="font-size: 12px"><strong>For Date: <?php echo date("d-M-Y", strtotime($date)) . " " . "Shift Name: " . $shiftName; ?></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="1%" align="center">Sr</th> <th align="center" width="8%">Items</th> <th align="center" width="2%">Fresh</th> <th align="center" width="3%">Previous</th> <th align="center" width="2%">Total</th> <th align="center" width="40%">Consumption Details</th> <th align="center" width="2%">Total Consumed</th> <th align="center" width="2%">Balance</th> </tr> <? error_reporting(E_ERROR | E_PARSE); $count = 0; $data = ""; $sql = "select cat_id from tbl_categories where cat_code not in ('CNC') order by sequence asc"; error_log("SSSSSSS$$$$$$$$$" . $sql); $result = mysqli_query($conn,$sql); $med_cat = array(); function consume_details($item_id, $a, $date, $shift_start_time, $shift_end_time, $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 date(date_of_issue) = '" . $date . "' and time(date_of_issue)>= time('$shift_start_time') and time(date_of_issue) <= ('$shift_end_time') 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 date(e.appointment_date) = '" . $date . "' and time(e.appointment_date)>= time('$shift_start_time') and time(e.appointment_date) <= time('$shift_end_time') 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 date(b.appointment_date) = '" . $date . "' and time(b.appointment_date)>= time('$shift_start_time') and time(b.appointment_date) <= time('$shift_end_time') and b.ohc_type_id = '" . $ohc . "'"; error_log("cccccccons" . $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 freshReceivedItemBalance($item_id, $date, $ohc, $shift_start_time, $shift_end_time) { $received_qty_total = 0; $sql_fresh_received = "select ris.received_qty from received_issue_items ris left join received_master rm on ris.received_id = rm.received_id where ris.item_id='" . $item_id . "' and rm.received_date = '" . $date . "' and rm.ohc_location_id = '" . $ohc . "' and rm.last_modified>='$shift_start_time' and rm.last_modified<='$shift_end_time'"; $result_fresh = mysqli_query($GLOBALS['conn'],$sql_fresh_received); while ($row_fresh = mysqli_fetch_assoc($result_fresh)) { $received_qty_total += $row_fresh['received_qty']; } error_log("fresh:::" . $sql_fresh_received); return $received_qty_total; } function prevDispensaryItemBalance($item_id, $ohc, $shift, $prev_shift_id) { $sql_prev_balance = "select stock_qty from item_stock_dispensary_shift_balance a left join shift_status_details b on a.shift_id = b.shift_id where a.item_id = '$item_id' and a.ohc_location_id = '$ohc' and a.shift_id='" . $shift . "' and b.shift_details_id = '" . $prev_shift_id . "' and a.record_date = date(b.start_date_time) "; error_log("sql_prev_balance:::" . $sql_prev_balance); $result_sql_prev_balance = mysqli_query($GLOBALS['conn'],$sql_prev_balance); $row_prev_balance = mysqli_fetch_array($result_sql_prev_balance); if ($row_prev_balance == 0) { return 0; } else { return $row_prev_balance['stock_qty']; } } function total_qty($fresh, $prev) { $total = $fresh + $prev; return $total; } function balance($total_balance, $total_consumed) { error_log("balancesjfbbf :::" . $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 item_id, item_name from tbl_items where cat='$value' and status = '1' group by item_id"; 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'], 0, $date, $shift_start_time, $shift_end_time, $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"><?= getItemWithFormName($row['item_id']) ?></td> <td align="left"><?= freshReceivedItemBalance($row['item_id'], $date, $ohc, $shift_start_time, $shift_end_time) ?></td> <td align="left"><?= prevDispensaryItemBalance($row['item_id'], $ohc, $shift, $prev_shift_id) ?></td> <td align="left"><?= ceil(total_qty(freshReceivedItemBalance($row['item_id'], $date, $ohc, $shift_start_time, $shift_end_time), prevDispensaryItemBalance($row['item_id'], $ohc, $shift, $prev_shift_id))) ?></td> <td align="left" width="50%"><?= consume_details($row['item_id'], 1, $date, $shift_start_time, $shift_end_time, $ohc) ?></td> <td align="left"><?= consume_details($row['item_id'], 0, $date, $shift_start_time, $shift_end_time, $ohc) ?></td> <td align="left"><?= ceil(balance(total_qty(freshReceivedItemBalance($row['item_id'], $date, $ohc, $shift_start_time, $shift_end_time), prevDispensaryItemBalance($row['item_id'], $ohc, $shift, $prev_shift_id)), consume_details($row['item_id'], 0, $date, $shift_start_time, $shift_end_time, $ohc))) ?></td> </tr> <?php } } } } ?> </table> </body> <script> $(document).ready(function() { window.print(); }); </script>