406 lines
16 KiB
PHP
406 lines
16 KiB
PHP
<?php
|
|
include('techsyn_header.php');
|
|
include('log_entry.php');
|
|
// if (!isset($_SESSION['RoleCode']) || ($_SESSION['RoleCode'] != "STR" && $_SESSION['RoleCode'] != "DISC" && $_SESSION['RoleCode'] != "TRAC")) {
|
|
// 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` where ohc_type_id = '".$_SESSION['current_ohcttype'] ."' group by item_id) itm_stk where itm_stk.item_id=i.item_id and item_stock_qty<=reorder_store_level";
|
|
// Sanitize the session variable to avoid SQL injection
|
|
$ohc_type_id = mysqli_real_escape_string($conn, $_SESSION['current_ohcttype']);
|
|
|
|
$sql_reorder_items = "SELECT i.item_id,i.item_name,i.reorder_store_level,i.min_store_level,itm_stk.item_stock_qty FROM tbl_items i INNER JOIN
|
|
( SELECT item_id,SUM(stock_qty) AS item_stock_qty FROM item_stock WHERE ohc_type_id = '$ohc_type_id' GROUP BY item_id)
|
|
itm_stk ON itm_stk.item_id = i.item_id WHERE itm_stk.item_stock_qty <= i.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)
|
|
AND expiry_date != '0000-00-00'
|
|
) 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;">
|
|
<div class="col-12 col-sm-6 col-md-4">
|
|
<div class="info-box mb-3 choice">
|
|
<span class="info-box-icon bg-green"><input type="radio" name="task"
|
|
class="hidden-radio" value="other_activity"><i class="fa fa-plus-square" aria-hidden="true"></i>
|
|
</span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Training / Camp / Exposure</span>
|
|
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
|
|
<div class="col-12 col-sm-6 col-md-4">
|
|
<div class="info-box mb-3 choice">
|
|
<span class="info-box-icon bg-red"><input type="radio" name="task"
|
|
class="hidden-radio" value="medical_test"><i class="fa fa-plus-square" aria-hidden="true"></i>
|
|
</span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Cancers Awarenes Form</span>
|
|
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
|
|
<div class="col-12 col-sm-6 col-md-4">
|
|
<div class="info-box mb-3 choice">
|
|
<span class="info-box-icon bg-green"><input type="radio" name="task"
|
|
class="hidden-radio" value="beneficiary"><i class="fa fa-plus-square" aria-hidden="true"></i>
|
|
</span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Beneficiary</span>
|
|
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
</div>
|
|
<div class="row" style="margin-top: 10px;">
|
|
<div class="col-12 col-sm-6 col-md-4">
|
|
<div class="info-box mb-3 choice">
|
|
<span class="info-box-icon bg-green"><input type="radio" name="task"
|
|
class="hidden-radio" value="govemnet_participation"><i class="fa fa-plus-square" aria-hidden="true"></i>
|
|
</span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Govemnet Participation</span>
|
|
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
|
|
<div class="col-12 col-sm-6 col-md-4">
|
|
<div class="info-box mb-3 choice">
|
|
<span class="info-box-icon bg-red"><input type="radio" name="task"
|
|
class="hidden-radio" value="screening"><i class="fa fa-plus-square" aria-hidden="true"></i>
|
|
</span>
|
|
|
|
<div class="info-box-content"><br>
|
|
<span class="info-box-text">Screening data</span>
|
|
|
|
</div>
|
|
<!-- /.info-box-content -->
|
|
</div>
|
|
<!-- /.info-box -->
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</form>
|
|
</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 Items
|
|
</a>
|
|
|
|
</h5>
|
|
</div>
|
|
<div id="collapse_check2" class="panel-collapse collapse">
|
|
<canvas id="piechart" width="900" height="600"></canvas>
|
|
<?php include 'item_details_chart.php'; ?>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
</div> -->
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- /.main-content -->
|
|
|
|
|
|
</div>
|
|
|
|
<?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' || task == 'injury') {
|
|
$("#store_form").attr('action', 'store_stock_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_new.php');
|
|
} else if (task == 'direct') {
|
|
$("#store_form").attr('action', 'direct_item_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');
|
|
} else if (task == 'grn') {
|
|
$("#store_form").attr('action', 'grn_master.php');
|
|
} else if (task == 'other_activity') {
|
|
$("#store_form").attr('action', 'training_camp_exposure_list.php');
|
|
}else if (task == 'medical_test') {
|
|
$("#store_form").attr('action', 'ashirwad_mian_list.php');
|
|
}else if (task == 'beneficiary') {
|
|
$("#store_form").attr('action', 'beneficiary_main_form.php');
|
|
|
|
}else if (task == 'govemnet_participation') {
|
|
$("#store_form").attr('action', 'govemnet_participation.php');
|
|
}else if (task == 'screening') {
|
|
$("#store_form").attr('action', 'screening_list.php');
|
|
}
|
|
|
|
|
|
$("#store_form").submit();
|
|
|
|
});
|
|
});
|
|
</script>
|
|
|
|
<script>
|
|
// const dipak ='<?php echo $dipak; ?>';
|
|
const planned_jun = 300;
|
|
const actual_jun = 165;
|
|
const variance_jun = 135;
|
|
|
|
const planned_ytd = 488;
|
|
const actual_ytd = 472;
|
|
const variance_ytd = 16;
|
|
|
|
|
|
const initChart = () => {
|
|
const ctx = document.getElementById('financialChart').getContext('2d');
|
|
const financialChart = new Chart(ctx, {
|
|
type: 'bar',
|
|
data: {
|
|
labels: ['Planned Jun-24', 'Actual Jun-24', 'Variance Jun-24', 'Planned YTD', 'Actual YTD', 'Variance YTD'],
|
|
datasets: [{
|
|
label: 'Financials (in Lakh)',
|
|
data: [planned_jun, actual_jun, variance_jun, planned_ytd, actual_ytd, variance_ytd],
|
|
backgroundColor: ['#1ED70D', 'orange', '#E94E4E', '#1ED70D', 'orange', '#E94E4E'],
|
|
borderColor: ['#1ED70D', 'orange', '#E94E4E', '#1ED70D', 'orange', '#E94E4E'],
|
|
borderWidth: 1
|
|
}]
|
|
},
|
|
options: {
|
|
responsive: true,
|
|
scales: {
|
|
y: {
|
|
beginAtZero: true,
|
|
title: {
|
|
display: true,
|
|
text: 'In Lakh'
|
|
}
|
|
}
|
|
},
|
|
plugins: {
|
|
title: {
|
|
display: true,
|
|
text: 'Overall Financial (YTD)',
|
|
font: {
|
|
size: 16
|
|
}
|
|
},
|
|
legend: {
|
|
display: true,
|
|
position: 'bottom'
|
|
}
|
|
}
|
|
}
|
|
});
|
|
};
|
|
|
|
// Attach event to initialize the chart only when the collapsible section is fully shown
|
|
$('#show_budget').on('shown.bs.collapse', function() {
|
|
initChart();
|
|
});
|
|
</script>
|
|
|
|
|
|
<script>
|
|
// Define your chart data
|
|
const planned_jun_bene = 166;
|
|
const actual_jun_bene = 165;
|
|
const variance_jun_bene = 1;
|
|
|
|
const planned_ytd_bene = 488.34;
|
|
const actual_ytd_bene = 472.21;
|
|
const variance_ytd_bene = 16.13;
|
|
|
|
// Function to initialize the chart
|
|
const initChartBene = () => {
|
|
const ctx = document.getElementById('financialChart_beneficiary').getContext('2d');
|
|
const financialChart_beneficiary = new Chart(ctx, {
|
|
type: 'bar',
|
|
data: {
|
|
labels: ['Planned Jun-24', 'Actual Jun-24', 'Variance Jun-24', 'Planned YTD', 'Actual YTD', 'Variance YTD'],
|
|
datasets: [{
|
|
label: 'Beneficiarys',
|
|
data: [planned_jun_bene, actual_jun_bene, variance_jun_bene, planned_ytd_bene, actual_ytd_bene, variance_ytd_bene],
|
|
backgroundColor: ['#1ED70D', 'orange', '#E94E4E', '#1ED70D', 'orange', '#E94E4E'],
|
|
borderColor: ['#1ED70D', 'orange', '#E94E4E', '#1ED70D', 'orange', '#E94E4E'],
|
|
borderWidth: 1
|
|
}]
|
|
},
|
|
options: {
|
|
responsive: true,
|
|
scales: {
|
|
y: {
|
|
beginAtZero: true,
|
|
title: {
|
|
display: true,
|
|
text: 'In Lakh'
|
|
}
|
|
}
|
|
},
|
|
plugins: {
|
|
title: {
|
|
display: true,
|
|
text: 'Overall Financial (YTD)',
|
|
font: {
|
|
size: 16
|
|
}
|
|
},
|
|
legend: {
|
|
display: true,
|
|
position: 'bottom'
|
|
}
|
|
}
|
|
}
|
|
});
|
|
};
|
|
|
|
// Attach event to initialize the chart only when the collapsible section is fully shown
|
|
$('#show_budget_beneficiary').on('shown.bs.collapse', function() {
|
|
initChartBene();
|
|
});
|
|
</script>
|