<script src="https://code.jquery.com/jquery-3.7.0.js" integrity="sha256-JlqSTELeR4TLqP0OG9dxM7yDPqX1ox/HfgiSLBj8+kM=" crossorigin="anonymous"></script> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous"> <?php $action = $_REQUEST['action']; ?> <?php if ($action == 'pdf') { ?> <center> <!-- <input type="button" class="btn btn-primary" value="PRINT" onclick="printDiv()"> --> <button id="printPageButton" class="btn btn-success print" onClick="window.print();">Print</button> </center> <?php } ?> <br> <?php include('log_entry.php'); include('constants.php'); include('includes/config/config.php'); include_once("includes/functions.php"); include_once("includes/cached_functions.php"); ?> <?php error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE); $ohc_type = $_SESSION['current_ohcttype'] ?> <!--breadcrumb--> <?php // error_log("Date1 " . $Date1 ); // error_log("Date2 " . $Date2 ); $db_new_date = ""; $last_day = ""; $m = 0; $y = 0; $selectedShiftMonth = $_POST['shift_m']; //echo "month......".$selectedShiftMonth; $selectedShiftYear = $_POST['shift_y']; //echo "year.........".$selectedShiftYear; if (isset($selectedShiftYear) && $selectedShiftYear != "" && isset($selectedShiftMonth) && $selectedShiftMonth != "") { $last_day = date("t-m-Y", strtotime("" . $selectedShiftYear . "-" . ($selectedShiftMonth + 1) . "-01")); // echo "last:date".$last_day; } else { $last_day = date('t-m-Y'); //echo "last:date1".$last_day; } $m = date('m', strtotime("" . $selectedShiftYear . "-" . ($selectedShiftMonth + 1) . "-01")); ////echo "month det".$m; $y = date('Y', strtotime("" . $selectedShiftYear . "-" . ($selectedShiftMonth + 1) . "-01")); //echo "year det".$y; $shift_status_options = generateOptionForMultiple('shift_status', 'status_name', 'shift_status_id', '', ''); $Date1 = $_GET['date1']; $Date2 = $_GET['date2']; if ($Date1 && $Date2) { $StartLoop = date('d', strtotime($Date1)); $EndLoop = date('d', strtotime($Date2)); $last_day=$EndLoop; error_log("last_day" . $last_day); $m = date('m', strtotime($Date1)); $y = date('Y', strtotime($Date1)); }else{ $StartLoop = 1; } ?> <script> var jsonArrayShiftData = <?php echo json_encode($shift_data); ?>; </script> <style> @media print { #printPageButton { display: none; } #btn-scroll-upbtn-scroll-up { display: none; } } table{ border: 1px solid black; border-collapse: collapse; tr td { border: 1px solid black; } } /* ul{ background-color: #D6DBDF; } .tdm{ background-color: #D6DBDF; } select:disabled { color: black; } */ </style> <?php include('new_pdf_header.php'); ?> <br><br> <div id="DivIdToPrint" class="DivIdToPrint"> <form id="shift_form" method="post"> <!-- box-body--> <div class="box-body" id="reload_amb"> <center> <h2> <b>Shift Details</b> </h2> </center> <?php if($Date1 && $Date2){ ?> <b>Reporting Period : </b> <b> <?php echo date_format( new DateTime($Date1), "d-m-Y") . " TO " . date_format( new DateTime($Date2), "d-m-Y") ?> </b> <?php }else{ ?> <b>Reporting Period : </b> <b> <?php echo $selectedShiftMonth . "-" . $selectedShiftYear ?> </b> <?php } ?> <br> <br> <div class="row"> <div id=""> <table style="width: 95%; border-collapse: collapse;" border="1"> <thead style="background-color: #b2beb5"> <tr> <td></td> <td>Date</td> <?php for ($j = $StartLoop; $j <= $last_day; $j++) { $new_date = $j . "-" . $m . "-" . $y; $day = date('D', strtotime($new_date)); ?> <td><?php echo $j ?></td> <?php } ?> </tr> <tr> <td>S No.</td> <td>Day / Staff Name</td> <?php // $last_day = date('t-m-Y'); // $m = date('m'); // $y = date('Y'); for ($k = $StartLoop; $k <= $last_day; $k++) { $new_date = $k . "-" . $m . "-" . $y; $day = date('D', strtotime($new_date)); ?> <td><?php echo $day ?></td> <?php } ?> </tr> </thead> <tbody> <?php $count = 1; $query = "Select id,patient_name from patient_master where is_ohc_staff='1' and ohc_type_id='" . $_SESSION['current_ohcttype'] . "' "; $result = @mysqli_query($conn, $query); while ($row = mysqli_fetch_assoc($result)) { ?> <tr> <td><?php echo $count; ?></td> <td><?php echo $row['patient_name']; ?></td> <input type="hidden" name="emp_id<?php echo $count ?>" id="emp_id<?php echo $count ?>" value="<?php echo $row['id']; ?>" /> <?php $shift_id = ""; $shift_data = array(); $query1 = "Select shift_id,shift_date, emp_id, shift_status from shift_details where ohc_type_id='" . $_SESSION['current_ohcttype'] . "' and month(shift_date)='" . $m . "' and year(shift_date)='" . $y . "' "; error_log($query1 . "dipak mali"); //echo "selet query......................................".$query1 ; $result1 = @mysqli_query($conn, $query1); while ($row_shift = @mysqli_fetch_assoc($result1)) { //echo "adarsh"; $shift_id = $row_shift['shift_id']; $key = $row_shift['emp_id'] . '_' . $row_shift['shift_date']; //echo "key:".$key; $value = $row_shift['shift_status']; //echo "value:".$value; $shift_data[$key] = $value; // array_push($shift_data[$key], $value); ?> <input type="hidden" name="shift_id<?php echo $count ?>" id="shift_id<?php echo $count ?>" value="<?php echo $shift_id ?>" /> <?php } ?> <?php $db_new_date = ""; // $last_day = date('t-m-Y'); //$m = date('m'); // $y = date('Y'); for ($k = $StartLoop; $k <= $last_day; $k++) { $new_date = $k . "-" . $m . "-" . $y; $db_new_date = $y . "-" . $m . "-" . $k; $day = date('D', strtotime($new_date)); if ($k < 10 && $k != $StartLoop) { $db_new_date = $y . "-" . $m . "-0" . $k; } ?> <?php //echo "key:".$row['id'].'_'.$db_new_date; ?> <td style="text-align:center;"> <p id="shift_status_<?php echo $count ?>_<?php echo $k ?>"></p> <script> $(document).ready(function() { <?php $key = $row['id'] . '_' . $db_new_date; ?> var existingShiftValues<?php echo $count ?>_<?php echo $k ?> = "<?php echo $shift_data[$key] ?>" // $("#shift_status_<?php echo $count ?>_<?php echo $k ?>").val(existingShiftValues<?php echo $count ?>_<?php echo $k ?>.split(',')).trigger("select2"); $.ajax({ url: 'select_shift_data.php ', type: "POST", data: { 'ids': existingShiftValues<?php echo $count ?>_<?php echo $k ?>.split(',') }, success: function(data) { $("#shift_status_<?php echo $count ?>_<?php echo $k ?>").html(data) }, error: function(data) { console.log(data); } }); }); </script> </td> <input type="hidden" name="shift_date_<?php echo $count ?>_<?php echo $k ?>" id="shift_date_<?php echo $count ?>_<?php echo $k ?>" value="<?php echo $new_date ?>" /> <?php } ?> </tr> <?php $count++; }; ?> </tbody> <tfoot> <?php $sqlOfShift = "SELECT * FROM shift_status where is_shift = 'Y' order by status_name asc"; $resultOfShift = @mysqli_query($conn, $sqlOfShift); while ($rowOfShift = @mysqli_fetch_assoc($resultOfShift)) { ?> <tr> <td></td> <td> <b> Shift <?php echo $rowOfShift['status_name'] ?> </b> </td> <?php $db_new_date = ""; for ($k = $StartLoop; $k <= $last_day; $k++) { $new_date = $k . "-" . $m . "-" . $y; $db_new_date = $y . "-" . $m . "-" . $k; $day = date('D', strtotime($new_date)); if ($k < 10 && $k != $StartLoop) { $db_new_date = $y . "-" . $m . "-0" . $k; } ?> <td> <?php $query = ""; $query = "AND shift_status = '" . $rowOfShift['shift_status_id'] . "'"; echo GetDutyTotalShiftCount($query, $_SESSION['current_ohcttype'], $db_new_date); ?></td> <?php } ?> </tr> <?php } ?> <tr> <td></td> <td> <b> Total Shift </b> </td> <?php $db_new_date = ""; // $last_day = date('t-m-Y'); //$m = date('m'); // $y = date('Y'); for ($k = $StartLoop; $k <= $last_day; $k++) { $new_date = $k . "-" . $m . "-" . $y; $db_new_date = $y . "-" . $m . "-" . $k; $day = date('D', strtotime($new_date)); if ($k < 10 && $k != $StartLoop) { $db_new_date = $y . "-" . $m . "-0" . $k; } ?> <td><?php $query = ""; $query = "AND b.status_name IN ('A' , 'A1' , 'A2' ,'A3' , 'B' , 'C')"; echo GetDutyTotalShiftCount($query, $_SESSION['current_ohcttype'], $db_new_date); ?></td> <?php } ?> </tr> <tr> <td></td> <td> <b> Total No of Staff Available </b> </td> <?php $db_new_date = ""; // $last_day = date('t-m-Y'); //$m = date('m'); // $y = date('Y'); for ($k = $StartLoop; $k <= $last_day; $k++) { $new_date = $k . "-" . $m . "-" . $y; $db_new_date = $y . "-" . $m . "-" . $k; $day = date('D', strtotime($new_date)); if ($k < 10 && $k != $StartLoop) { $db_new_date = $y . "-" . $m . "-0" . $k; } $shift_staff=" select count( distinct emp_id) tot_staf from shift_details a INNER JOIN shift_status b on a.shift_status = b.shift_status_id where b.status_name IN ('A' , 'A1' , 'A2' ,'A3' , 'B' , 'C') and ohc_type_id='".$_SESSION['current_ohcttype']."' and shift_date='". $db_new_date."'"; $result_shift_staff = @mysqli_query($conn,$shift_staff); $shift_stf = ""; while ($row_shift_staff = mysqli_fetch_assoc($result_shift_staff)) { $shift_stf = $row_shift_staff['tot_staf']; } $shiftDel1 = "delete from tmptable"; $result_total_shiftS_y = @mysqli_query($conn, $shiftDel1); ?> <td><?php echo $shift_stf ?></td> <?php } ?> </tr> </tfoot> </table> <input type="hidden" name="count_items" id="count_items" value="<?php echo $count - 1 ?>" /> <input type="hidden" name="last_day" id="last_day" value="<?php echo $last_day ?>" /> </div> </div> </div> <!-- End box-body--> <!--box-footer--> <!--End box-footer--> </form> </div> <!-- Main Content Container for side bar and body--> </div> <!-- End of page-content --> </div> </div> </div> <form method="POST" id="print_shift_pdf"> <input type="hidden" name="month" id="month" value="<?php echo $m ?>"> <input type="hidden" name="year" id="year" value="<?php echo $y ?>"> </form> <script> function printDiv() { window.print(); } var getDaysInMonth = function(year, month) { // Here January is 1 based //Day 0 is the last day in the previous month return new Date(year, month, 0).getDate(); // Here January is 0 based // return new Date(year, month+1, 0).getDate(); }; function shiftDetails() { var shift_month = parseInt($("#shift_month").val()); var shift_year = parseInt($("#shift_year").val()); var content = "<tr><td></td><td>Date</td>"; for (var i = 1; i <= getDaysInMonth(shift_year, shift_month); i++) { content += '<td>' + i + '</td>' data_string = i + "/" + shift_month + "/" + shift_year date = new Date(data_string); } var days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; content += "<tr><td>S No.</td><td>Days/Staff Name</td>"; for (var i = 1; i <= getDaysInMonth(shift_year, shift_month); i++) { //content+='<td>'+i+'</td>' let data_string = shift_month + "/" + i + "/" + shift_year; let d = new Date(data_string) //weekday = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][new Date(data_string).getDay()] content += '<td>' + days[d.getDay()] + '</td>' } $("#myTable").html(content); } function validate() { save(); } function myCalender() { var month = $("#shift_month").val(); var year = $("#shift_year").val(); var open_date = '01-' + month + '-' + year; $("#shift_calendar").val(open_date).show(); } </script> <style> </style> <?php include('techsyn_footer.php'); ?> <script type="text/javascript"> $('.select2').select2() jQuery(function($) { var myTable = $('#dynamic-table') .DataTable({ bAutoWidth: false, "aoColumns": [{ "bSortable": false }, null, null, null, null, null, { "bSortable": false } ], "aaSorting": [], select: { style: 'multi' } }); var defaultCopyAction = myTable.button(1).action(); myTable.button(1).action(function(e, dt, button, config) { defaultCopyAction(e, dt, button, config); $('.dt-button-info').addClass('gritter-item-wrapper gritter-info gritter-center white'); }); var defaultColvisAction = myTable.button(0).action(); myTable.button(0).action(function(e, dt, button, config) { defaultColvisAction(e, dt, button, config); if ($('.dt-button-collection > .dropdown-menu').length == 0) { $('.dt-button-collection') .wrapInner('<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />') .find('a').attr('href', '#').wrap("<li />") } $('.dt-button-collection').appendTo('.tableTools-container .dt-buttons') }); setTimeout(function() { $($('.tableTools-container')).find('a.dt-button').each(function() { var div = $(this).find(' > div').first(); if (div.length == 1) div.tooltip({ container: 'body', title: div.parent().text() }); else $(this).tooltip({ container: 'body', title: $(this).text() }); }); }, 500); myTable.on('select', function(e, dt, type, index) { if (type === 'row') { $(myTable.row(index).node()).find('input:checkbox').prop('checked', true); } }); myTable.on('deselect', function(e, dt, type, index) { if (type === 'row') { $(myTable.row(index).node()).find('input:checkbox').prop('checked', false); } }); $('th input[type=checkbox], td input[type=checkbox]').prop('checked', false); $('#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]').eq(0).on('click', function() { var th_checked = this.checked; $('#dynamic-table').find('tbody > tr').each(function() { var row = this; if (th_checked) myTable.row(row).select(); else myTable.row(row).deselect(); }); }); $('#dynamic-table').on('click', 'td input[type=checkbox]', function() { var row = $(this).closest('tr').get(0); if (this.checked) myTable.row(row).deselect(); else myTable.row(row).select(); }); $(document).on('click', '#dynamic-table .dropdown-toggle', function(e) { e.stopImmediatePropagation(); e.stopPropagation(); e.preventDefault(); }); var active_class = 'active'; $('#simple-table > thead > tr > th input[type=checkbox]').eq(0).on('click', function() { var th_checked = this.checked; $(this).closest('table').find('tbody > tr').each(function() { var row = this; if (th_checked) $(row).addClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', true); else $(row).removeClass(active_class).find('input[type=checkbox]').eq(0).prop('checked', false); }); }); $('#simple-table').on('click', 'td input[type=checkbox]', function() { var $row = $(this).closest('tr'); if ($row.is('.detail-row ')) return; if (this.checked) $row.addClass(active_class); else $row.removeClass(active_class); }); $('[data-rel="tooltip"]').tooltip({ placement: tooltip_placement }); function tooltip_placement(context, source) { var $source = $(source); var $parent = $source.closest('table') var off1 = $parent.offset(); var w1 = $parent.width(); var off2 = $source.offset(); if (parseInt(off2.left) < parseInt(off1.left) + parseInt(w1 / 2)) return 'right'; return 'left'; } /***************/ $('.show-details-btn').on('click', function(e) { e.preventDefault(); $(this).closest('tr').next().toggleClass('open'); $(this).find(ace.vars['.icon']).toggleClass('fa-angle-double-down').toggleClass('fa-angle-double-up'); }); /***************/ }) function save() { $.ajax({ url: 'save_shift_details.php ', type: "POST", data: $("#shift_form").serialize(), success: function(data) { BootstrapDialog.alert('Shift Details Saved Successfully.'); $("#flex1").flexReload(); document.forms[0].action = ''; document.forms[0].submit(); return; }, error: function(data) { BootstrapDialog.alert('Error Saving Shift Details'); return; } }); $('.close').click(); // location.href="procurement_list.php"; } $('.date-picker').datepicker({ autoclose: true, format: 'dd/mm/yyyy' }).next().on(ace.click_event, function() { $(this).prev().focus(); }); </script> <!-- bootstrap & fontawesome --> <link rel="stylesheet" href="assets/css/chosen.min.css" /> <link rel="stylesheet" href="css/select2.min.css"> <script src="js/select2.full.min.js"></script> <script type="text/javascript"> $(document).ready(function() { const select = document.getElementById('myselect'); }); </script> <script type="text/javascript"> jQuery(function($) { $('#id-disable-check').on('click', function() { var inp = $('#form-input-readonly').get(0); if (inp.hasAttribute('disabled')) { inp.setAttribute('readonly', 'true'); inp.removeAttribute('disabled'); inp.value = "This text field is readonly!"; } else { inp.setAttribute('disabled', 'disabled'); inp.removeAttribute('readonly'); inp.value = "This text field is disabled!"; } }); if (!ace.vars['touch']) { $('.chosen-select').chosen({ allow_single_deselect: true }); $(window) .off('resize.chosen') .on('resize.chosen', function() { $('.chosen-select').each(function() { var $this = $(this); $this.next().css({ 'width': $this.parent().width() }); }) }).trigger('resize.chosen'); //resize chosen on sidebar collapse/expand $(document).on('settings.ace.chosen', function(e, event_name, event_val) { if (event_name != 'sidebar_collapsed') return; $('.chosen-select').each(function() { var $this = $(this); $this.next().css({ 'width': $this.parent().width() }); }) }); $('#chosen-multiple-style .btn').on('click', function(e) { var target = $(this).find('input[type=radio]'); var which = parseInt(target.val()); if (which == 2) $('#form-field-select-4').addClass('tag-input-style'); else $('#form-field-select-4').removeClass('tag-input-style'); }); } $('[data-rel=tooltip]').tooltip({ container: 'body' }); $('[data-rel=popover]').popover({ container: 'body' }); autosize($('textarea[class*=autosize]')); $('textarea.limited').inputlimiter({ remText: '%n character%s remaining...', limitText: 'max allowed : %n.' }); //"jQuery UI Slider" //range slider tooltip example $("#slider-range").css('height', '200px').slider({ orientation: "vertical", range: true, min: 0, max: 100, values: [17, 67], slide: function(event, ui) { var val = ui.values[$(ui.handle).index() - 1] + ""; if (!ui.handle.firstChild) { $("<div class='tooltip right in' style='display:none;left:16px;top:-6px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div>") .prependTo(ui.handle); } $(ui.handle.firstChild).show().children().eq(1).text(val); } }).find('span.ui-slider-handle').on('blur', function() { $(this.firstChild).hide(); }); $("#slider-range-max").slider({ range: "max", min: 1, max: 10, value: 2 }); $("#slider-eq > span").css({ width: '80%', 'float': 'left', margin: '15px' }).each(function() { // read initial values from markup and remove that var value = parseInt($(this).text(), 10); $(this).empty().slider({ value: value, range: "min", animate: true }); }); $("#slider-eq > span.ui-slider-purple").slider('disable'); //disable third item $('#id-input-file-1 , #id-input-file-2').ace_file_input({ no_file: 'No File ...', btn_choose: 'Choose', btn_change: 'Change', droppable: false, onchange: null, thumbnail: false //| true | large //whitelist:'gif|png|jpg|jpeg' //blacklist:'exe|php' //onchange:'' // }); //pre-show a file name, for example a previously selected file //$('#id-input-file-1').ace_file_input('show_file_list', ['myfile.txt']) //datepicker plugin //link $('.date-picker').datepicker({ autoclose: true, todayHighlight: true }) //show datepicker when clicking on the icon .next().on(ace.click_event, function() { $(this).prev().focus(); }); //chosen plugin inside a modal will have a zero width because the select element is originally hidden //and its width cannot be determined. //so we set the width after modal is show $('#modal-form').on('shown.bs.modal', function() { if (!ace.vars['touch']) { $(this).find('.chosen-container').each(function() { $(this).find('a:first-child').css('width', '0'); $(this).find('.chosen-drop').css('width', '0'); $(this).find('.chosen-search input').css('width', '0'); }); } }) /** //or you can activate the chosen plugin after modal is shown //this way select element becomes visible with dimensions and chosen works as expected $('#modal-form').on('shown', function () { $(this).find('.modal-chosen').chosen(); }) */ $(document).one('ajaxloadstart.page', function(e) { autosize.destroy('textarea[class*=autosize]') $('.limiterBox,.autosizejs').remove(); $('.daterangepicker.dropdown-menu,.colorpicker.dropdown-menu,.bootstrap-datetimepicker-widget.dropdown-menu').remove(); }); }); /* $(document ).ready(function() { $('#shift_year').val(2021); var totalCount = <?php echo $count ?>; var totalK= <?php echo $k ?>; for(var rCount=1; rCount<=totalCount; rCount++){ for(var cCount=1; cCount<=totalK; cCount++){ var key =$("#shift_date_"+rCount+"_"+cCount).val(); var existingShiftValues= jsonArrayShiftData[key]; if(existingShiftValues!=null && existingShiftValues!=undefined && existingShiftValues !=""){ $("#shift_status_"+rCount+"_"+cCount).val(existingShiftValues.split(',')).trigger("chosen:updated"); } } } });*/ </script>