ESH/task_master.php

648 lines
34 KiB
PHP
Raw Permalink Normal View History

2024-10-23 18:28:06 +05:30
<?php include('techsyn_header.php');
include('log_entry.php') ?>
<!-- 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>
<style>
/* The switch - the box around the slider */
.table {
background-color: white;
}
.switch {
position: relative;
display: inline-block;
width: 44px;
height: 17px;
/*height: 34px;*/
}
/* Hide default HTML checkbox */
.switch input {
opacity: 0;
width: 0;
height: 0;
}
/* The slider */
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
content: "";
height: 10px;
width: 10px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked+.slider {
background-color: #2196F3;
}
input:focus+.slider {
box-shadow: 0 0 1px #2196F3;
}
input:checked+.slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}
/* Rounded sliders */
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
</style>
<?php include('techsyn_sidebar.php'); ?>
<!--breadcrumb-->
<div class="main-content">
<div class="main-content-inner">
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
<ul class="breadcrumb">
<li class="#"></li><!-- <li><a href="task_list.php">Task Management </a></li> -->
<li><a href="task_master.php">Master Task List</a></li>
</ul>
</div>
<!-- End of breadcrumb -->
<div class="page-content">
<div id="flexigridDiv" class="table-responsive">
<div class="col-sm-1" style="margin: 2px 0px 6px 0px;">
<tr>
<td><select name="monthly_task" id="monthly_task" class="form-control">
<option value="0" <?php if ($m == 1) { ?>selected<?php } ?>>January</option>
<option value="01" <?php if ($m == 2) { ?>selected<?php } ?>>February</option>
<option value="02" <?php if ($m == 3) { ?>selected<?php } ?>>March</option>
<option value="03" <?php if ($m == 4) { ?>selected<?php } ?>>April</option>
<option value="04" <?php if ($m == 5) { ?>selected<?php } ?>>May</option>
<option value="05" <?php if ($m == 6) { ?>selected<?php } ?>>June</option>
<option value="06" <?php if ($m == 7) { ?>selected<?php } ?>>July</option>
<option value="07" <?php if ($m == 8) { ?>selected<?php } ?>>August</option>
<option value="08" <?php if ($m == 9) { ?>selected<?php } ?>>September</option>
<option value="09" <?php if ($m == 10) { ?>selected<?php } ?>>October</option>
<option value="10" <?php if ($m == 11) { ?>selected<?php } ?>>November</option>
<option value="11" <?php if ($m == 12) { ?>selected<?php } ?>>December</option>
</select></td>
</tr>
</div>
<div class="col-sm-1" style="margin: 2px 0px 6px 0px;">
<tr>
<td><select name="task_year" id="task_year" class="form-control">
<?php $yy = date('Y');
$r_year = $_POST['task_year'];
for ($i = 0; $i < 3; $i++) { ?>
<option value="<?php echo $yy ?>" <?php if ($yy == $r_year) { ?>
selected<?php } ?>><?php echo $yy ?></option>
<?php $yy--;
} ?>
<option value="<?php echo $yy + 1 ?>" <?php if (($yy + 1) == $r_year) { ?>
selected<?php } ?>><?php echo $yy + 1 ?></option>
</select></td>
</tr>
</div>
<div class="col-sm-1" style="margin: 2px 0px 6px 0px;">
<button class="btn btn-primary " type="button" id="task_submit_button"
onclick="show_monthly_task();">
<i class="ace-icon fa fa-send"></i> Submit
</button>
</div>
<br>
<form name="f1" method="post" action="" id="flex_form_task">
<div id="flex" style="width:100%">
<table class="table">
<?php $count = 0; ?>
<thead class="thead-dark">
<tr>
<th scope="col">#</th>
<th scope="col">Name</th>
<th scope="col">Trigger Time</th>
<th scope="col">Trigger Date</th>
<th scope="col">Frequency Type</th>
<th scope="col">Status</th>
<th scope="col">Remarks</th>
</tr>
</thead>
<tbody id="tbody_content">
</tbody>
</table>
</div>
<input type="hidden" name="total_count" id="total_count" value="<?php echo $count ?>" />
</form>
</div>
</div>
</div><!-- /.page-content -->
</div>
</div><!-- /.main-content -->
<script type="text/javascript">
$(document).ready(function() {
dt = new Date();
m = dt.getMonth();
y = dt.getFullYear();
if (m < 10) {
m = '0' + m;
}
$("#monthly_task").val(m);
$("#task_year").val(y);
show_monthly_task();
});
function pdf() {
window.open('ailment_pdf.php');
}
function excel() {
window.location = 'ailment_excel.php';
}
function show_monthly_task() {
var task_month = $("#monthly_task").val();
task_month = parseInt(task_month) + 1;
d_task_month = task_month; // data compare from database;
if (task_month < 10) {
task_month = '0' + task_month;
}
var task_year = $("#task_year").val();
var last_day = getDaysInMonth(task_month, task_year);
var from_date = task_year + "-" + task_month + "-" + "01";
var to_date = task_year + "-" + task_month + "-" + last_day;
var table_body = $("#tbody_content").empty();
// alert(table_body+" task month: "+task_month+" task year: "+task_year+" from date: "+from_date+" to_date:"+to_date);
$.ajax({
url: 'select_monthwise_task.php',
data: {
from_date: from_date,
to_date: to_date
},
type: 'POST',
dataType: 'json',
success: function(data) {
var content = "";
var row_count = 1;
for (i = 0; i < data.length; i++) {
for (j = 1; j <= last_day; j++) {
if (j < 10) {
temp_d = '0' + j;
} else {
temp_d = j;
}
temp_date = task_year + '-' + task_month + '-' + temp_d; // database storage formate
display_temp_date = temp_d + '-' + task_month + '-' +
task_year; // display formate for human
if (data[i].frequency == 'Daily') {
content += '<tr><td><input type="hidden" name="task_id' + row_count +
'" id="task_id"' + row_count + '" value="' + data[i].task_id + '">' +
row_count + '</td>'
content += '<td id="task_name' + row_count + '">' + data[i].task_name + '</td>'
content += '<td><input type="hidden" name="trigger_time' + row_count +
'" id="trigger_time' + row_count + '" value="' + data[i].daily_task_due_time +
'" />' + data[i].daily_task_due_time + '</td>'
content += '<td><input type="hidden" name="trigger_date' + row_count +
'" id="trigger_date' + row_count + '" value="' + temp_date + '" />' +
display_temp_date + '</td>'
content += '<td id="frequency' + row_count + '">' + data[i].frequency + '</td>'
content += ' <td><label class="switch"><input type="checkbox" name="task_status' +
row_count + '" id="' + data[i].task_id + '_' + temp_date +
'_status" value="" onchange="save_task_master_status(' + row_count +
');"><span class="slider round"></span></label><input type="hidden" name="task_id' +
row_count + '" id="task_id' + row_count + '" value="' + data[i].task_id +
'" ><input type="hidden" name="task_status_id' + row_count +
'" id="task_status_id' + row_count + '" value="' + data[i].task_id + '"></td>'
content += '<td><input type="text" style="width:100%" name="status_comment' +
row_count + '" onblur="save_task_master_status_comment(' + row_count +
');" id="' + data[i].task_id + '_' + temp_date +
'_comment" value=""></td></tr>'
row_count++;
} else if (data[i].frequency == 'Weekly') {
var day_name = new Date(temp_date).toLocaleString(undefined, {
timeZone: 'Asia/Kolkata',
weekday: 'short'
}).toLowerCase();
day_time = day_name + '_time';
if (data[i][day_name] == 'on') {
content += '<tr><td><input type="hidden" name="task_id' + row_count +
'" id="task_id"' + row_count + '" value="' + data[i].task_id + '">' +
row_count + '</td>'
content += '<td id="task_name' + row_count + '">' + data[i].task_name + '</td>'
content += '<td><input type="hidden" name="trigger_time' + row_count +
'" id="trigger_time' + row_count + '" value="' + data[i][day_time] +
'" />' + data[i][day_time] + '</td>'
content += '<td><input type="hidden" name="trigger_date' + row_count +
'" id="trigger_date' + row_count + '" value="' + temp_date + '" />' +
display_temp_date + '</td>'
content += '<td id="frequency' + row_count + '">' + data[i].frequency + '</td>'
content +=
' <td><label class="switch"><input type="checkbox" name="task_status' +
row_count + '" id="' + data[i].task_id + '_' + temp_date +
'_status" value="" onchange="save_task_master_status(' + row_count +
');"><span class="slider round"></span></label><input type="hidden" name="task_id' +
row_count + '" id="task_id' + row_count + '" value="' + data[i].task_id +
'" ><input type="hidden" name="task_status_id' + row_count +
'" id="task_status_id' + row_count + '" value="' + data[i].task_id +
'"></td>'
content += '<td><input type="text" style="width:100%" name="status_comment' +
row_count + '" onblur="save_task_master_status_comment(' + row_count +
');" id="' + data[i].task_id + '_' + temp_date +
'_comment" value=""></td></tr>'
row_count++;
}
} else if (data[i].frequency == 'Fortnight') {
if (data[i].fort_day1 == j) {
content += '<tr><td><input type="hidden" name="task_id' + row_count +
'" id="task_id"' + row_count + '" value="' + data[i].task_id + '">' +
row_count + '</td>'
content += '<td id="task_name' + row_count + '">' + data[i].task_name + '</td>'
content += '<td><input type="hidden" name="trigger_time' + row_count +
'" id="trigger_time' + row_count + '" value="' + data[i].fort_day1_time +
'" />' + data[i].fort_day1_time + '</td>'
content += '<td><input type="hidden" name="trigger_date' + row_count +
'" id="trigger_date' + row_count + '" value="' + temp_date + '" />' +
display_temp_date + '</td>'
content += '<td id="frequency' + row_count + '">' + data[i].frequency + '</td>'
content +=
' <td><label class="switch"><input type="checkbox" name="task_status' +
row_count + '" id="' + data[i].task_id + '_' + temp_date +
'_status" value="" onchange="save_task_master_status(' + row_count +
');"><span class="slider round"></span></label><input type="hidden" name="task_id' +
row_count + '" id="task_id' + row_count + '" value="' + data[i].task_id +
'" ><input type="hidden" name="task_status_id' + row_count +
'" id="task_status_id' + row_count + '" value="' + data[i].task_id +
'"></td>'
content += '<td><input type="text" style="width:100%" name="status_comment' +
row_count + '" onblur="save_task_master_status_comment(' + row_count +
');" id="' + data[i].task_id + '_' + temp_date +
'_comment" value=""></td></tr>'
row_count++;
}
if (data[i].fort_day2 == j) {
content += '<tr><td><input type="hidden" name="task_id' + row_count +
'" id="task_id"' + row_count + '" value="' + data[i].task_id + '">' +
row_count + '</td>'
content += '<td id="task_name' + row_count + '">' + data[i].task_name + '</td>'
content += '<td><input type="hidden" name="trigger_time' + row_count +
'" id="trigger_time' + row_count + '" value="' + data[i].fort_day2_time +
'" />' + data[i].fort_day2_time + '</td>'
content += '<td><input type="hidden" name="trigger_date' + row_count +
'" id="trigger_date' + row_count + '" value="' + temp_date + '" />' +
display_temp_date + '</td>'
content += '<td id="frequency' + row_count + '">' + data[i].frequency + '</td>'
content +=
' <td><label class="switch"><input type="checkbox" name="task_status' +
row_count + '" id="' + data[i].task_id + '_' + temp_date +
'_status" value="" onchange="save_task_master_status(' + row_count +
');"><span class="slider round"></span></label><input type="hidden" name="task_id' +
row_count + '" id="task_id' + row_count + '" value="' + data[i].task_id +
'" ><input type="hidden" name="task_status_id' + row_count +
'" id="task_status_id' + row_count + '" value="' + data[i].task_id +
'"></td>'
content += '<td><input type="text" style="width:100%" name="status_comment' +
row_count + '" onblur="save_task_master_status_comment(' + row_count +
');" id="' + data[i].task_id + '_' + temp_date +
'_comment" value=""></td></tr>'
row_count++;
}
} else if (data[i].frequency == 'Monthly') {
if (data[i].monthly_day == j) {
content += '<tr><td><input type="hidden" name="task_id' + row_count +
'" id="task_id"' + row_count + '" value="' + data[i].task_id + '">' +
row_count + '</td>'
content += '<td id="task_name' + row_count + '">' + data[i].task_name + '</td>'
content += '<td><input type="hidden" name="trigger_time' + row_count +
'" id="trigger_time' + row_count + '" value="' + data[i].monthly_time +
'" />' + data[i].monthly_time + '</td>'
content += '<td><input type="hidden" name="trigger_date' + row_count +
'" id="trigger_date' + row_count + '" value="' + temp_date + '" />' +
display_temp_date + '</td>'
content += '<td id="frequency' + row_count + '">' + data[i].frequency + '</td>'
content +=
' <td><label class="switch"><input type="checkbox" name="task_status' +
row_count + '" id="' + data[i].task_id + '_' + temp_date +
'_status" value="" onchange="save_task_master_status(' + row_count +
');"><span class="slider round"></span></label><input type="hidden" name="task_id' +
row_count + '" id="task_id' + row_count + '" value="' + data[i].task_id +
'" ><input type="hidden" name="task_status_id' + row_count +
'" id="task_status_id' + row_count + '" value="' + data[i].task_id +
'"></td>'
content += '<td><input type="text" style="width:100%" name="status_comment' +
row_count + '" onblur="save_task_master_status_comment(' + row_count +
');" id="' + data[i].task_id + '_' + temp_date +
'_comment" value=""></td></tr>'
row_count++;
}
// last day task
if (data[i].monthly_day == '32' && j == last_day) {
content += '<tr><td><input type="hidden" name="task_id' + row_count +
'" id="task_id"' + row_count + '" value="' + data[i].task_id + '">' +
row_count + '</td>'
content += '<td id="task_name' + row_count + '">' + data[i].task_name + '</td>'
content += '<td><input type="hidden" name="trigger_time' + row_count +
'" id="trigger_time' + row_count + '" value="' + data[i].monthly_time +
'" />' + data[i].monthly_time + '</td>'
content += '<td><input type="hidden" name="trigger_date' + row_count +
'" id="trigger_date' + row_count + '" value="' + temp_date + '" />' +
display_temp_date + '</td>'
content += '<td id="frequency' + row_count + '">' + data[i].frequency + '</td>'
content +=
' <td><label class="switch"><input type="checkbox" name="task_status' +
row_count + '" id="' + data[i].task_id + '_' + temp_date +
'_status" value="" onchange="save_task_master_status(' + row_count +
');"><span class="slider round"></span></label><input type="hidden" name="task_id' +
row_count + '" id="task_id' + row_count + '" value="' + data[i].task_id +
'" ><input type="hidden" name="task_status_id' + row_count +
'" id="task_status_id' + row_count + '" value="' + data[i].task_id +
'"></td>'
content += '<td><input type="text" style="width:100%" name="status_comment' +
row_count + '" onblur="save_task_master_status_comment(' + row_count +
');" id="' + data[i].task_id + '_' + temp_date +
'_comment" value=""></td></tr>'
row_count++;
}
} else if (data[i].frequency == 'Quaterly') {
for (qtr = 1; qtr < 5; qtr++) {
qtrly_m = 'qtrly_m' + qtr;
qtrly_t = 'qtrly_t' + qtr;
qtrly_d = 'qtrly_d' + qtr;
if (data[i].qtrly_d == j && data[i].qtrly_m == d_task_month) {
content += '<tr><td><input type="hidden" name="task_id' + row_count +
'" id="task_id"' + row_count + '" value="' + data[i].task_id + '">' +
row_count + '</td>'
content += '<td id="task_name' + row_count + '">' + data[i].task_name +
'</td>'
content += '<td><input type="hidden" name="trigger_time' + row_count +
'" id="trigger_time' + row_count + '" value="' + data[i].qtrly_t +
'" />' + data[i].qtrly_t + '</td>'
content += '<td><input type="hidden" name="trigger_date' + row_count +
'" id="trigger_date' + row_count + '" value="' + temp_date + '" />' +
display_temp_date + '</td>'
content += '<td id="frequency' + row_count + '">' + data[i].frequency +
'</td>'
content +=
' <td><label class="switch"><input type="checkbox" name="task_status' +
row_count + '" id="' + data[i].task_id + '_' + temp_date +
'_status" value="" onchange="save_task_master_status(' + row_count +
');"><span class="slider round"></span></label><input type="hidden" name="task_id' +
row_count + '" id="task_id' + row_count + '" value="' + data[i]
.task_id + '" ><input type="hidden" name="task_status_id' + row_count +
'" id="task_status_id' + row_count + '" value="' + data[i].task_id +
'"></td>'
content +=
'<td><input type="text" style="width:100%" name="status_comment' +
row_count + '" onblur="save_task_master_status_comment(' + row_count +
');" id="' + data[i].task_id + '_' + temp_date +
'_comment" value=""></td></tr>'
row_count++;
}
}
} else if (data[i].frequency == 'Semi Annually') {
for (itr = 1; itr < 3; itr++) {
sem_ann_m = 'sem_ann_m' + itr;
sem_ann_t = 'sem_ann_t' + itr;
sem_ann_d = 'sem_ann_d' + itr;
if (data[i].sem_ann_d == j && data[i].sem_ann_m == d_task_month) {
content += '<tr><td><input type="hidden" name="task_id' + row_count +
'" id="task_id"' + row_count + '" value="' + data[i].task_id + '">' +
row_count + '</td>'
content += '<td id="task_name' + row_count + '">' + data[i].task_name +
'</td>'
content += '<td><input type="hidden" name="trigger_time' + row_count +
'" id="trigger_time' + row_count + '" value="' + data[i].sem_ann_t +
'" />' + data[i].sem_ann_t + '</td>'
content += '<td><input type="hidden" name="trigger_date' + row_count +
'" id="trigger_date' + row_count + '" value="' + temp_date + '" />' +
display_temp_date + '</td>'
content += '<td id="frequency' + row_count + '">' + data[i].frequency +
'</td>'
content +=
' <td><label class="switch"><input type="checkbox" name="task_status' +
row_count + '" id="' + data[i].task_id + '_' + temp_date +
'_status" value="" onchange="save_task_master_status(' + row_count +
');"><span class="slider round"></span></label><input type="hidden" name="task_id' +
row_count + '" id="task_id' + row_count + '" value="' + data[i]
.task_id + '" ><input type="hidden" name="task_status_id' + row_count +
'" id="task_status_id' + row_count + '" value="' + data[i].task_id +
'"></td>'
content +=
'<td><input type="text" style="width:100%" name="status_comment' +
row_count + '" onblur="save_task_master_status_comment(' + row_count +
');" id="' + data[i].task_id + '_' + temp_date +
'_comment" value=""></td></tr>'
row_count++;
}
}
} else if (data[i].frequency == 'Annually') {
if (data[i].annual_d == j && data[i].annual_m == d_task_month) {
content += '<tr><td><input type="hidden" name="task_id' + row_count +
'" id="task_id"' + row_count + '" value="' + data[i].task_id + '">' +
row_count + '</td>'
content += '<td id="task_name' + row_count + '">' + data[i].task_name + '</td>'
content += '<td><input type="hidden" name="trigger_time' + row_count +
'" id="trigger_time' + row_count + '" value="' + data[i].annual_t + '" />' +
data[i].annual_t + '</td>'
content += '<td><input type="hidden" name="trigger_date' + row_count +
'" id="trigger_date' + row_count + '" value="' + temp_date + '" />' +
display_temp_date + '</td>'
content += '<td id="frequency' + row_count + '">' + data[i].frequency + '</td>'
content +=
' <td><label class="switch"><input type="checkbox" name="task_status' +
row_count + '" id="' + data[i].task_id + '_' + temp_date +
'_status" value="" onchange="save_task_master_status(' + row_count +
');"><span class="slider round"></span></label><input type="hidden" name="task_id' +
row_count + '" id="task_id' + row_count + '" value="' + data[i].task_id +
'" ><input type="hidden" name="task_status_id' + row_count +
'" id="task_status_id' + row_count + '" value="' + data[i].task_id +
'"></td>'
content += '<td><input type="text" style="width:100%" name="status_comment' +
row_count + '" onblur="save_task_master_status_comment(' + row_count +
');" id="' + data[i].task_id + '_' + temp_date +
'_comment" value=""></td></tr>'
row_count++;
}
}
}
}
$("#tbody_content").html(content);
},
error: function(data) {
BootstrapDialog.alert('Error Populating Task Details');
return;
}
});
getTaskStatusComment(from_date, to_date);
}
function getTaskStatusComment(from_date, to_date) {
$.ajax({
url: 'select_task_status_comment.php',
data: {
from_date: from_date,
to_date: to_date
},
type: 'POST',
dataType: 'json',
success: function(data) {
for (var key in data.task_status_list) {
var task_id_dt_status = '#' + key;
$(task_id_dt_status).val(data.task_status_list[key]);
if (data.task_status_list[key] == "on") {
$(task_id_dt_status).prop('checked', true);
} else {
$(task_id_dt_status).prop('checked', false);
}
}
for (var key in data.task_comment_list) {
var task_id_dt_comment = '#' + key;
$(task_id_dt_comment).val(data.task_comment_list[key]);
}
return;
},
error: function(data) {
return;
}
});
}
function getDaysInMonth(m, y) {
return m === 2 ? y & 3 || !(y % 25) && y & 15 ? 28 : 29 : 30 + (m + (m >> 3) & 1);
}
// @dt -> date
// @e -> saperature applied
function getReadableDate(dt, e) {
var d = new Date(dt).toLocaleString().split(',')[0];
d = d.split('/');
// var as = {// d:d[0] ,m:d[1] ,y:d[2] };
if (d[0] < 10) {
d[0] = 0 + d[0];
}
if (d[1] < 10) {
d[1] = 0 + d[1];
}
// in chrome it return dd-mm-yyyy
return d[1] + e + d[0] + e + d[2];
}
function save_task_master_status(count) {
// console.log('count: '+count);
taskData = {};
taskData.task_id = $("#task_id" + count).val();
if ($("input[name=task_status" + count + "]").val() == "on") {
taskData.task_status = '';
$("input[name=task_status" + count + "]").val("");
} else {
taskData.task_status = "on";
$("input[name=task_status" + count + "]").val("on");
}
taskData.status_comment = $("input[name=status_comment" + count + "]").val();
taskData.trigger_date = $("input[name=trigger_date" + count + "]").val();
taskData.trigger_time = $("input[name=trigger_time" + count + "]").val();
// console.log(taskData);
var taskData = JSON.stringify(taskData);
$.ajax({
url: 'save_task_master_status.php',
type: "POST",
// Content-Type: "application/json",
data: {
data: taskData
},
success: function(data) {
$("#flex1").flexReload();
return;
},
error: function(data) {
return;
}
});
}
function save_task_master_status_comment(count) {
taskData = {};
taskData.task_id = $("#task_id" + count).val();
taskData.status_comment = $("input[name=status_comment" + count + "]").val();
taskData.trigger_date = $("input[name=trigger_date" + count + "]").val();
taskData.trigger_time = $("input[name=trigger_time" + count + "]").val();
taskData.task_status = $("input[name=task_status" + count + "]").val();
// console.log(taskData);
var taskData = JSON.stringify(taskData);
$.ajax({
url: 'save_task_master_status.php',
type: "POST",
data: {
data: taskData
},
success: function(data) {
$("#flex1").flexReload();
return;
},
error: function(data) {
return;
}
});
}
</script>
<?php include('techsyn_footer.php'); ?>