508 lines
25 KiB
PHP
508 lines
25 KiB
PHP
<?php
|
|
include('techsyn_header.php');
|
|
include('log_entry.php');
|
|
$Rolecodes= explode(',',$_SESSION ['RoleCode']) ;
|
|
error_log($_SESSION['RoleCode'].'xxxx'.in_array('STR',$Rolecodes));
|
|
if ( in_array('STR',$Rolecodes)==0) {
|
|
echo "<script>location.href='accessDenied.php'</script>";
|
|
}
|
|
?>
|
|
<link rel="stylesheet" href="css/wizard.css">
|
|
|
|
|
|
<script src="js/Chart.min.js"></script>
|
|
<script type="text/javascript"
|
|
src="https://cdn.jsdelivr.net/npm/chartjs-plugin-datalabels@0.4.0/dist/chartjs-plugin-datalabels.min.js"></script>
|
|
<style type="text/css">
|
|
.hidden-radio {
|
|
position: absolute;
|
|
top: 11px;
|
|
left: 27px;
|
|
width: 60px;
|
|
height: 60px;
|
|
border-radius: 100%;
|
|
background: #fff;
|
|
opacity: 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
button:focus {
|
|
outline-color: black;
|
|
}
|
|
</style>
|
|
|
|
<!-- Main Content Container for side bar and body-->
|
|
<div class="main-container ace-save-state" id="main-container">
|
|
<script type="text/javascript">
|
|
try {
|
|
ace.settings.loadState('main-container')
|
|
} catch (e) {}
|
|
</script>
|
|
<?php include('techsyn_sidebar.php'); ?>
|
|
|
|
<!--breadcrumb-->
|
|
<?php
|
|
$sql_procure_items = "select * from procurement_items where isExpired='0' and expiry < (CURRENT_DATE + INTERVAL 30 DAY) and ohc_type_id='".$_SESSION['current_ohcttype']."' order by expiry asc";
|
|
error_log('query: 19: ' . $sql_procure_items);
|
|
$results_procure_items = mysqli_query($conn,$sql_procure_items);
|
|
$total_proc = mysqli_num_rows($results_procure_items);
|
|
|
|
//added on 04-12-2021 - start
|
|
$ohc_type = $_SESSION['current_ohcttype'];
|
|
$sql_count_stock_in = "select ifNull(count(*),0) from stock_issue where status='Y' and stock_issue_id not in (SELECT issue_id FROM `received_master`) and ohc_location_id in ($ohc_type)";
|
|
error_log('query:va: ' . $sql_count_stock_in);
|
|
$results_stock_in_items = mysqli_query($conn,$sql_count_stock_in);
|
|
|
|
$total_stock_in_row = mysqli_fetch_array($results_stock_in_items);
|
|
$total_stock_in = $total_stock_in_row[0];
|
|
|
|
error_log("total_stock_in: " . $total_stock_in);
|
|
// end
|
|
|
|
$sql_reorder_items = "select i.item_id,item_name,reorder_store_level,min_store_level,itm_stk.item_stock_qty from tbl_items i, (SELECT item_id, sum(stock_qty) item_stock_qty FROM `item_stock` group by item_id) itm_stk where itm_stk.item_id=i.item_id and item_stock_qty<=reorder_store_level";
|
|
|
|
error_log('query: 262626262 ' . $sql_reorder_items);
|
|
$results_reorder_items = mysqli_query($conn,$sql_reorder_items);
|
|
$total = mysqli_num_rows($results_reorder_items);
|
|
|
|
$expiryAlertAdvance = getConfigKey ( "ITEM_EXPIRY_ALERT_DAYS" );
|
|
if ($expiryAlertAdvance == null) {
|
|
$expiryAlertAdvance = 90;
|
|
}
|
|
$sql_expiry_items = "select i.item_id,item_name,itm_stk.item_batch_no,itm_stk.expiry_date, itm_stk.stock_qty from tbl_items i, (select * from item_stock where stock_qty>0 and ohc_type_id='".$_SESSION['current_ohcttype']."' and item_stock_id not in (select item_stock_id from cleanup_item_stock) and DATE(expiry_date)<= (CURDATE() + INTERVAL $expiryAlertAdvance DAY )) itm_stk where itm_stk.item_id=i.item_id";
|
|
$results_expiry_items = mysqli_query($conn,$sql_expiry_items);
|
|
$total_item = mysqli_num_rows($results_expiry_items);
|
|
|
|
|
|
|
|
?>
|
|
<div class="main-content">
|
|
<div class="main-content-inner">
|
|
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
|
|
<ul class="breadcrumb">
|
|
<li><i class="ace-icon fa fa-home home-icon"></i> <a href="#">Home</a>
|
|
</li>
|
|
<li class="active">Dashboard</li>
|
|
|
|
</ul>
|
|
|
|
|
|
</div>
|
|
<!-- End of breadcrumb -->
|
|
|
|
<div class="content">
|
|
<!-- Start new dashboard view -->
|
|
<div class="container-fluid">
|
|
|
|
<form id="store_form">
|
|
<div class="row" style="margin-top: 10px;">
|
|
<?php $Rolecodes= explode(',',$_SESSION ['RoleCode']) ; if(in_array('DIS',$Rolecodes)){ ?>
|
|
<div class="col-12 col-sm-6 col-md-3">
|
|
<div class="info-box choice" data-toggle="wizard-radio" rel="tooltip" title="OPDs"
|
|
data-original-title="OPDs">
|
|
<!-- <input type="radio" name="task" value="visitor_opd"> -->
|
|
<span class="info-box-icon bg-green "><input type="radio" name="task"
|
|
class="hidden-radio" value="opd"><i
|
|
class="ace-icon fa fa-plus-square"></i></span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">OPD Pending Medicine</span>
|
|
<span class="info-box-number">
|
|
<?php echo getTodayOpdPendingPharamacyCount() ?>/<?php echo getTodayOpdCount() ?>
|
|
<small>Cases</small>
|
|
</span>
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
<!-- /.col -->
|
|
<div class="col-12 col-sm-6 col-md-3">
|
|
<div class="info-box choice mb-3">
|
|
<span class="info-box-icon bg-red "><input type="radio" name="task"
|
|
class="hidden-radio" value="opd"><i
|
|
class="ace-icon fa fa-plus-square"></i></span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Injury Pending Medicine</span>
|
|
<span
|
|
class="info-box-number"><?php echo getTodayInjuryPendingPharamacyCount() ?>/<?php echo getTodayInjuryCount() ?>
|
|
<small>Cases</small>
|
|
</span>
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
<?php }?>
|
|
|
|
<div class="col-12 col-sm-6 col-md-3">
|
|
<div class="info-box choice" data-toggle="wizard-radio" rel="tooltip" title="OPDs"
|
|
data-original-title="OPDs">
|
|
<!-- <input type="radio" name="task" value="visitor_opd"> -->
|
|
<span class="info-box-icon bg-green "><input type="radio" name="task"
|
|
class="hidden-radio" value="p"><i
|
|
class="ace-icon fa fa-plus-square"></i></span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Pending Purchase Items</span>
|
|
<span class="info-box-number">
|
|
<?php echo $total ?>
|
|
<small>Items</small>
|
|
</span>
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
<!-- /.col -->
|
|
<div class="col-12 col-sm-6 col-md-3">
|
|
<div class="info-box choice mb-3">
|
|
<span class="info-box-icon bg-green "><input type="radio" name="task"
|
|
class="hidden-radio" value="Design"><i
|
|
class="ace-icon fa fa-plus-square"></i></span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Items Stock</span>
|
|
<span class="info-box-number"><?php echo getTotalStockCount()?>
|
|
<small>Items</small>
|
|
</span>
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
<!-- /.col -->
|
|
<!-- fix for small devices only -->
|
|
<!-- <div class="clearfix hidden-md-up"></div> -->
|
|
|
|
<div class="col-12 col-sm-6 col-md-3">
|
|
<div class="info-box choice mb-3">
|
|
<span class="info-box-icon bg-green "><input type="radio" name="task"
|
|
class="hidden-radio" value="Code"><i
|
|
class="ace-icon fa fa-opencart"></i></span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Items Inward In Stock</span> <span
|
|
class="info-box-number"><?php echo getTodayProcurementCount()?>
|
|
<small>Items</small></span>
|
|
</span>
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
<div class="col-12 col-sm-6 col-md-3">
|
|
<div class="info-box mb-3 choice">
|
|
<span class="info-box-icon bg-red"><input type="radio" name="task"
|
|
class="hidden-radio" value="stock"><i class="fa fa-clock-o"></i></span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Issued Items From Stock</span>
|
|
<span class="info-box-number"><?php echo getTodayIssueCount()?>
|
|
<small>Items</small></span>
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
|
|
|
|
<div class="col-12 col-sm-6 col-md-3">
|
|
<div class="info-box mb-3 choice">
|
|
<span class="info-box-icon bg-red"><input type="radio" name="task"
|
|
class="hidden-radio" value="exp"><i class="fa fa-clock-o"></i></span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Near Expiring Medicine</span>
|
|
<span class="info-box-number"><?php echo $total_item?>
|
|
<small>Items</small></span>
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
<div class="col-12 col-sm-6 col-md-3">
|
|
<div class="info-box mb-3 choice">
|
|
<span class="info-box-icon bg-red"><input type="radio" name="task"
|
|
class="hidden-radio" value="expiry"><i class="fa fa-clock-o"></i></span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Expiry Items</span>
|
|
<span class="info-box-number"><?php echo getExpiredMedCount()?>
|
|
<small>Items</small></span>
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
<!-- /.col -->
|
|
|
|
|
|
<div class="col-12 col-sm-6 col-md-3">
|
|
<div class="info-box mb-3 choice">
|
|
<span class="info-box-icon bg-red"><input type="radio" name="task"
|
|
class="hidden-radio" value="indent"><i
|
|
class="fa fa-shopping-cart"></i></span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Indents</span>
|
|
<span class="info-box-number"><?php echo getIndentCount()?>
|
|
<small>Indent</small></span>
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-sm-6 " style="padding-top: 30px;margin-left: 10px">
|
|
<div class="box box-success ">
|
|
<div class="box-header box-header-flat">
|
|
<h5 class="box-title lighter">
|
|
<a role="button" data-toggle="collapse" href="#collapse_check" aria-expanded="false"
|
|
aria-controls="collapseOne">
|
|
Medicines Pending Purchase - (Total :<?php echo $total; ?>)
|
|
</a>
|
|
</h5>
|
|
|
|
</div>
|
|
|
|
<div id="collapse_check" class="panel-collapse collapse">
|
|
<div id="collapse_check">
|
|
<table class="table table-bordered table-hover">
|
|
<thead class="thin-border-bottom">
|
|
<tr>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Item</th>
|
|
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Available
|
|
Qty</th>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Min. Qty
|
|
</th>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Reorder. Qty
|
|
</th>
|
|
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody id="loaddata">
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<script>
|
|
$(document).ready(function() {
|
|
|
|
var limit = 5;
|
|
if (limit == 5) {
|
|
$("#load").attr('value', 'Show Data');
|
|
}
|
|
});
|
|
</script>
|
|
<center>
|
|
<input name="load" id="load" class="form-control btn btn-primary" type="submit"
|
|
value="Load More" onClick="loadmore()">
|
|
</center>
|
|
<script>
|
|
var limit = 0;
|
|
var starting = 0;
|
|
// var limit = 5;
|
|
// // $("#load").inner('Loading.....');
|
|
// const myTimeout = setTimeout(loadmore, 2000);
|
|
function loadmore() {
|
|
// limit = 0;
|
|
// var starting = 0;
|
|
$("#load").attr('value', 'Loading.....');
|
|
// starting= 0;
|
|
|
|
limit += 10;
|
|
starting = limit - 10;
|
|
console.log(starting);
|
|
console.log("starting " + starting);
|
|
$.ajax({
|
|
url: 'medicine_list_table_store.php',
|
|
data: {
|
|
limit: limit,
|
|
start: starting
|
|
},
|
|
success: function(data) {
|
|
if (data == 0) {
|
|
console.log("btn");
|
|
$("#load").attr('value', 'Data Over');
|
|
} else {
|
|
var d = JSON.parse(data);
|
|
var html = '';
|
|
|
|
jQuery.each(d, function(index, item) {
|
|
console.log(item.item_name);
|
|
html += '<tr><td style="color:#FF4233">' + item
|
|
.item_name +
|
|
'</td><td style="color:#FF4233">' + item
|
|
.item_stock_qty +
|
|
'</td><td style="color:#FF4233">' + item
|
|
.min_store_level +
|
|
'</td><td style="color:#FF4233">' + item
|
|
.reorder_store_level + '</td></tr>';
|
|
});
|
|
$("#loaddata").append(html);
|
|
}
|
|
}
|
|
});
|
|
// $("#load").inner('LOAD MORE');
|
|
$("#load").attr('value', 'LOAD MORE');
|
|
|
|
}
|
|
</script>
|
|
<!-- /.box-main -->
|
|
|
|
</div>
|
|
<!-- /.box-body -->
|
|
|
|
|
|
|
|
<!-- /.box-box -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
<div class="col-sm-5" style="padding-top: 30px; ">
|
|
<div class="box box-success ">
|
|
<div class="box-header box-header-flat">
|
|
<h5 class="box-title lighter">
|
|
<a role="button" data-toggle="collapse" href="#collapse_check3"
|
|
aria-expanded="false" aria-controls="collapseOne">
|
|
Near Expiring Medicine (Total :<?php echo $total_item; ?>)
|
|
</a>
|
|
</h5>
|
|
</div>
|
|
|
|
<div id="collapse_check3" class="panel-collapse collapse">
|
|
<div id="collapse_check3">
|
|
<table class="table table-bordered table-hover">
|
|
<thead class="thin-border-bottom">
|
|
<tr>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Item</th>
|
|
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Available
|
|
Qty</th>
|
|
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Batch</th>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Expiry date</th>
|
|
|
|
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<?php
|
|
|
|
while ($row_reorder_items = mysqli_fetch_assoc($results_expiry_items)) {
|
|
$item_qty = $row_reorder_items['stock_qty'];
|
|
$item_id = $row_reorder_items['item_id'];
|
|
$item_desc = $row_reorder_items['item_name'];
|
|
$batch = $row_reorder_items['item_batch_no'];
|
|
$expiry=date_format(date_create($row_reorder_items['expiry_date']),'m-Y');
|
|
?><tr>
|
|
<td><?php echo $item_desc ?></td>
|
|
<td><?php echo $item_qty ?></td>
|
|
<td><?php echo $batch?></td>
|
|
<td><?php echo $expiry?></td>
|
|
</tr><?php
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- /.box-main -->
|
|
|
|
</div>
|
|
<!-- /.box-body -->
|
|
|
|
|
|
|
|
<!-- /.box-box -->
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<!-- /.page-content -->
|
|
<div class="row">
|
|
<div class="col-sm-6 " style="padding-top: 30px;margin-left: 10px">
|
|
<div class="box box-success ">
|
|
<div class="box-header box-header-flat">
|
|
<h5 class="box-title lighter">
|
|
<a role="button" data-toggle="collapse" href="#collapse_check2"
|
|
aria-expanded="false" aria-controls="collapseOne">
|
|
Top 10 medicines
|
|
</a>
|
|
|
|
</h5>
|
|
</div>
|
|
<div id="collapse_check2" class="panel-collapse collapse">
|
|
<canvas id="piechart" width="900" height="600"></canvas>
|
|
<?php include 'medicine_details_chart.php'; ?>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- /.main-content -->
|
|
|
|
|
|
</div>
|
|
<?php include('form/direct_checkup_selector.php'); ?>
|
|
<?php include('techsyn_footer.php'); ?>
|
|
|
|
<script>
|
|
$(document).ready(function() {
|
|
$(".choice").on("click", function() {
|
|
var v = $(this).closest("div").find("input[name='task']").attr("checked", "checked");
|
|
task = $(this).closest("div").find("input[name='task']").val()
|
|
$("#store_form").attr('method', 'POST');
|
|
if (task == 'Design') {
|
|
$("#store_form").attr('action', 'stock_list.php');
|
|
} else if (task == 'opd' || task == 'injury') {
|
|
$("#store_form").attr('action', 'pending_medical_disbursement_list.php');
|
|
} else if (task == 'visitor_opd') {
|
|
$("#store_form").attr('action', 'visitor_pending_medical_disbursement_list.php');
|
|
} else if (task == 'Code') {
|
|
$("#store_form").attr('action', 'procurement_list.php');
|
|
} else if (task == 'stock') {
|
|
$("#store_form").attr('action', 'item_issue_list.php');
|
|
} else if (task == 'direct') {
|
|
$("#store_form").attr('action', 'direct_medicine_issue.php');
|
|
} else if (task == 'expiry') {
|
|
$("#store_form").attr('action', 'expiry_list.php');
|
|
} else if (task == 'indent') {
|
|
$("#store_form").attr('action', 'indent_form.php');
|
|
} else if (task == 'exp') {
|
|
$("#store_form").attr('action', 'pending_expiry_list.php');
|
|
}
|
|
|
|
|
|
$("#store_form").submit();
|
|
|
|
});
|
|
});
|
|
</script>
|