goiintra/public_html/doc/report_daily.php

912 lines
25 KiB
PHP

<?
// Level 9 이하만 사용 가능
$func->checkLevelModal(9);
// 기능 제한 (Admin : 1, Staff : 5, Accounting : 6, Driver : 9 만 가능)
$permit = array("1", "3", "5", "6", "7", "9");
if (in_array($_SESSION['ss_LEVEL'], $permit)) {
$setTag = "ENABLED";
}
else {
$setTag = "DISABLED";
$msg = "Sorry, You don't have permission. Please contact Administrator.";
$func -> modalMsg ($msg, "/index_intranet.php");
exit();
}
//echo "<br><br><br><br><br><br>[$startYearMonth]";
$startYearMonth = str_replace("-", "", trim($startYearMonth));
if ($startYearMonth =="") $startYearMonth = date("Ym");
//total record
$query = "SELECT COUNT(m_uid) FROM tbl_member WHERE m_level = 9 AND m_status = 'A' ";
$driver_cnt=$jdb->rQuery($query, "record query error");
// Get Driver Info
$qry_driver = "SELECT * FROM tbl_member WHERE m_level = 9 AND m_status = 'A' ORDER by m_initial ASC ";
$rt_driver = $jdb->nQuery($qry_driver, "list error");
$driverArray = array();
$driverCnt = 0;
$weekly_data = array();
$getLastday = date('t', strtotime($startYearMonth."10"));
//echo "[$startYearMonth][$getLastday]<br>";
$titleSTR = "<tr><th class='col-daily-date'></th>
<th class='th-daily-date'></th>";
$title2STR = "<tr>
<th></th>
<th class='th-daily-date'></th>";
while($lt_driver=mysqli_fetch_array($rt_driver, MYSQLI_ASSOC)) {
$driverArrayTmp = array($lt_driver['m_uid'] => $lt_driver['m_initial']);
$driverArray += $driverArrayTmp;
$titleSTR .= "<th colspan='3' class='th-daily-date'>".$lt_driver['m_initial']."</th>";
$title2STR .= "<th>Volume</th>
<th>Visit</th>
<th>Call</th>";
$driverCnt++;
}
$titleSTR .= "<th>Total</th></tr>\n";
$title2STR .= "<th>(L)</th></tr>\n";
//var_dump($driverArray);
// Daily Count
for ($dday = 1; $dday <= $getLastday; $dday ++) {
$ddaytmp = sprintf("%02d", $dday);
$getWeekday = date('D', strtotime($startYearMonth.$ddaytmp));
$getWeekNoday = date('w', strtotime($startYearMonth.$ddaytmp));
$rowSTR .= "<tr><td>".substr($startYearMonth,0,4)."-".substr($startYearMonth,4,2)."-".$ddaytmp."</td>
<td class='th-daily-qty'>".$getWeekday."</td>";
foreach ($driverArray as $kkey => $vvalue) {
$qry = "SELECT rd_quantity, rd_visit, rd_call
FROM tbl_report_daily
WHERE rd_driveruid = '$kkey' AND rd_orderdate = '".$startYearMonth.$ddaytmp."' " ;
$rt = $jdb->fQuery($qry, "list error");
//echo "[$qry]<br>";
if ($rt[0] != "") {
$day_quantity = $rt['rd_quantity'];
$day_visit = $rt['rd_visit'];
$day_call = $rt['rd_call'];
} else {
$day_quantity = "";
$day_visit = "";
$day_call = "";
}
$weekly_data[] = [$kkey,$day_quantity,$day_visit, $day_call];
$rowSTR .= "<td align=right>".number_format(floatval($day_quantity))."</td><td align=right>$day_visit</td><td class='th-daily-qty' align=right>$day_call</td>";
$day_total += (int)$day_quantity;
}
//print_r ($weekly_data);
$rowSTR .= "<td class='th-daily-qty' align=right>".number_format($day_total)."</td></tr>\n";
$day_total = 0;
$weekly_quantity = array();
$weekly_visit = array();
$weekly_call = array();
// if $getWeekNoday == 0 이면 stop 하고 weekly sum
if ($getWeekNoday == 0 || $dday == $getLastday) {
$cntcnt = 1;
foreach($weekly_data as $key => $value) {
if(is_array($value)) {
foreach ($driverArray as $kkey => $vvalue) {
if ($value[0] == $kkey) {
$weekly_quantity[$kkey] = $weekly_quantity[$kkey] + (int)$value[1];
$weekly_visit[$kkey] = $weekly_visit[$kkey] + (int)$value[2];
$weekly_call[$kkey] = $weekly_call[$kkey] + (int)$value[3];
}
}
}
}
$rowSTR .= "<tr class='bg-yellow'>
<td></td><td class='th-daily-qty'></td>";
foreach ($driverArray as $kkey => $vvalue) {
$rowSTR .= "<td align=right>".number_format(floatval($weekly_quantity[$kkey]))."</td><td align=right>".$weekly_visit[$kkey]."</td><td align=right class='th-daily-qty'>".$weekly_call[$kkey]."</td>";
}
$rowSTR .= "<td class='th-daily-qty'></td></tr>\n";
//print_r ($weekly_visit);
unset($weekly_data);
unset($weekly_quantity);
unset($weekly_visit);
unset($weekly_call);
//break;
}
}
// Get This Month Total Data
$rowMSTR = "<tr class='bg-total'>
<td>TOTAL</td><td class='th-daily-qty'></td>";
foreach ($driverArray as $kkey => $vvalue) {
$qry_sum = "select sum(rd_quantity) AS quantity, sum(rd_visit) AS visitno, sum(rd_call) AS callno
FROM tbl_report_daily WHERE rd_driveruid = '".$kkey."' AND rd_orderdate LIKE '".$startYearMonth."%' ";
$rt_sum = $jdb->fQuery($qry_sum, "list error");
//echo "[$qry_sum]<br>";
$rowMSTR .= "<td align=right>".number_format(floatval($rt_sum['quantity']))."</td><td align=right>".$rt_sum['visitno']."</td><td align=right class='th-daily-qty'>".$rt_sum['callno']."</td>";
}
$rowMSTR .= "<td class='th-daily-qty'></td></tr>\n";
// Get Last year Title
$rowLastTSTR = "<tr class='tr-title-pickup'><th class='br-th-pickup'>Month</th>";
foreach ($driverArray as $kkey => $vvalue) {
$rowLastTSTR .= "<th>".$vvalue."</th>
<th>Calls</th>
<th class='br-th-pickup'>Visit</th>\n";
}
$rowLastTSTR .= "<th>Total(L)</th></tr>\n";
// Get Last year Data
//$lastYear = date('Y', strtotime('last year')); // Last Year
$lastYear = substr($startYearMonth,0,4);
//$lastYear = "2023";
for ($mmonth = 1; $mmonth <= 12; $mmonth ++) {
$month_quantity_total = 0;
$month_visit_total = 0;
$month_call_total = 0;
$mmonthtmp = sprintf("%02d", $mmonth);
$rowLastSTR .= "<tr><td class='br-visit'>".$lastYear."-".$mmonthtmp."</td>";
foreach ($driverArray as $kkey => $vvalue) {
$qry_m = "SELECT SUM(rd_quantity) AS quantity, SUM(rd_call) AS callno, SUM(rd_visit) AS visitno
FROM tbl_report_daily
WHERE rd_orderdate LIKE '".$lastYear.$mmonthtmp."%' AND rd_driveruid = '$kkey'";
$rt_m = $jdb->fQuery($qry_m, "list error");
//echo "[$qry]<br>";
if ($rt_m[0] != "") {
$month_quantity = $rt_m['quantity'];
$month_visit = $rt_m['visitno'];
$month_call = $rt_m['callno'];
} else {
$month_quantity = "";
$month_visit = "";
$month_call = "";
}
$month_quantity_total += (int)$month_quantity;
$month_visit_total += (int)$month_visit;
$month_call_total += (int)$month_call;
$rowLastSTR .= "<td align=right>".number_format(floatval($month_quantity))."</td><td align=right>$month_call</td><td class='br-visit' align=right>$month_visit</td>";
}
$rowLastSTR .= "<td align=right>".number_format($month_quantity_total)."</td></tr>\n";
}
$startYearMonthTmp = substr($startYearMonth,0,4)."-".substr($startYearMonth,4,2);
?>
<script type="text/javascript">
$(document).ready(function(){
$(function() {
$('.date-picker').datepicker(
{
dateFormat: "yy-mm",
changeMonth: true,
changeYear: true,
showButtonPanel: true,
onClose: function(dateText, inst) {
function isDonePressed(){
return ($('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1);
}
if (isDonePressed()){
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1)).trigger('change');
$('.date-picker').focusout()//Added to remove focus from datepicker input box on selecting date
}
},
beforeShow : function(input, inst) {
inst.dpDiv.addClass('month_year_datepicker')
if ((datestr = $(this).val()).length > 0) {
year = datestr.substring(datestr.length-4, datestr.length);
month = datestr.substring(0, 2);
$(this).datepicker('option', 'defaultDate', new Date(year, month-1, 1));
$(this).datepicker('setDate', new Date(year, month-1, 1));
$(".ui-datepicker-calendar").hide();
}
}
})
});
});
</script>
<style>
.ui-datepicker-calendar {
display: none;
}
</style>
<SCRIPT LANGUAGE=JAVASCRIPT>
<!--
function goSearch(f){
var f = document.form3;
//f.searchtype.value = document.getElementById('searchtype').value;
//f.searchDriver.value = document.getElementById('searchDriver').value;
//f.key_word.value = document.getElementById('key_word').value;
f.submit();
}
//-->
</SCRIPT>
<main id="main" class="main">
<!-- ======= Breadcrumbs ======= -->
<div class="breadcrumbs">
<div class="container">
<div class="d-flex justify-content-between align-items-center">
<h2>DAILY QUANTITY REPORT</h2>
<ol>
<li><a href="index.html">HOME</a></li>
<li>REPORT</li>
<li>DAILY QUANTITY REPORT</li>
</ol>
</div>
</div>
</div><!-- End Breadcrumbs -->
<section class="page">
<div class="container" data-aos="fade-up">
<div class="wrap-border">
<FORM CLASS="form-report" METHOD=POST NAME=form3 ACTION='<?=$_SERVER["PHP_SELF"]?>'>
<INPUT TYPE=HIDDEN NAME=view VALUE='report_daily'>
<INPUT TYPE=HIDDEN NAME=key_word VALUE=''>
<table class="table-search-report col-float-right">
<tr>
<td>
<input name="startYearMonth" id="startYearMonth" class="custom-select date-picker" value="<?=$startYearMonthTmp?>" onChange="goSearch();"/>
<!--input type="date" placeholder="2022-12-31" class="custom-select"-->
</td>
<!--td>
<input class="custom-select" type="text" placeholder="Search.." name="search">
</td-->
<td>
<button class="btn btn-search" type="submit"><i class="bi-search"></i></button>
</td>
</tr>
</table>
</FORM>
</div><!--wrap-border-->
</div><!--container Ends-->
<div class="container" data-aos="fade-up" style="clear: both;">
<div class="wrap-overflow forecast-info report-wrap margin-top-25">
</div>
</div><!--container Ends-->
<div class="container" data-aos="fade-up">
<h4 class="text-center">Driver's Daily Pickup Amount </h4>
<div class="wrap-overflow">
<table class="tb-list-daily tb-report">
<!--
<tr>
<th class="col-daily-date"></th>
<th class="th-daily-date"></th>
<th colspan="3" class="th-daily-date">H.Y</th>
<th colspan="3" class="th-daily-date">J.S</th>
<th colspan="3" class="th-daily-date">J.P</th>
<th colspan="3" class="th-daily-date">T.K</th>
<th colspan="3" class="th-daily-date">J.L</th>
<th colspan="3" class="th-daily-date">J.O</th>
<th colspan="3" class="th-daily-date">H.J</th>
<th colspan="3" class="th-daily-date">H.S</th>
<th colspan="3" class="th-daily-date">Y.S</th>
<th colspan="2" class="th-daily-date">Installation</th>
<th colspan="2" class="th-daily-date">Extra</th>
<th>Total</th>
</tr>
<tr>
<th></th>
<th class="th-daily-date"></th>
<th>Volume</th>
<th>Visit</th>
<th class="th-daily-date">Call</th>
<th>Volume</th>
<th>Visit</th>
<th class="th-daily-date">Call</th>
<th>Volume</th>
<th>Visit</th>
<th class="th-daily-date">Call</th>
<th>Volume</th>
<th>Visit</th>
<th class="th-daily-date">Call</th>
<th>Volume</th>
<th>Visit</th>
<th class="th-daily-date">Call</th>
<th>Volume</th>
<th>Visit</th>
<th class="th-daily-date">Call</th>
<th>Volume</th>
<th>Visit</th>
<th class="th-daily-date">Call</th>
<th>Volume</th>
<th>Visit</th>
<th class="th-daily-date">Call</th>
<th>Volume</th>
<th>Visit</th>
<th class="th-daily-date">Call</th>
<th>Volume</th>
<th class="th-daily-date">Visit</th>
<th>Volume</th>
<th class="th-daily-date">Visit</th>
<th>(L)</th>
</tr>
-->
<?=$titleSTR?>
<?=$title2STR?>
<?=$rowSTR?>
<?=$rowMSTR?>
<!--
<tr>
<td>2022-11-02</td>
<td class="th-daily-qty">TUE</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>2418411</td>
</tr>
<tr>
<td>2022-11-03</td>
<td class="th-daily-qty">WED</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>2418411</td>
</tr>
<tr>
<td>2022-11-04</td>
<td class="th-daily-qty">THU</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>2418411</td>
</tr>
<tr>
<td>2022-11-05</td>
<td class="th-daily-qty">FRI</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>2418411</td>
</tr>
<tr>
<td class="txt-date-green">2022-11-06</td>
<td class="th-daily-qty">SAT</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>2418411</td>
</tr>
<tr class="bg-yellow">
<td></td>
<td class="th-daily-qty"></td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>2418411</td>
</tr>
<tr>
<td>2022-11-02</td>
<td class="th-daily-qty">TUE</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>2418411</td>
</tr>
<tr class="bg-total">
<td>Total</td>
<td class="th-daily-qty"></td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>3010</td>
<td>25</td>
<td class="th-daily-qty">1</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>310</td>
<td class="th-daily-qty">25</td>
<td>2418411</td>
</tr>
-->
</table>
</div>
</div>
<div class="container margin-top-25" data-aos="fade-up">
<h4 class="text-center">Monthly Pickup Total for <?=$lastYear?></h4>
<div class="wrap-overflow">
<table class="tb-list-daily tb-report">
<?=$rowLastTSTR?>
<?=$rowLastSTR?>
<!--
<tr class="tr-title-pickup">
<th class="br-th-pickup">Month</th>
<th>H.Y</th>
<th>Calls</th>
<th class="br-th-pickup">Visit</th>
<th>J.S</th>
<th>Calls</th>
<th class="br-th-pickup">Visit</th>
<th>J.P</th>
<th>Calls</th>
<th class="br-th-pickup">Visit</th>
<th>T.K</th>
<th>Calls</th>
<th class="br-th-pickup">Visit</th>
<th>J.L</th>
<th>Calls</th>
<th class="br-th-pickup">Visit</th>
<th>J.O</th>
<th>Calls</th>
<th class="br-th-pickup">Visit</th>
<th>H.J</th>
<th>Calls</th>
<th class="br-th-pickup">Visit</th>
<th>H.S</th>
<th>Calls</th>
<th class="br-th-pickup">Visit</th>
<th>Y.S</th>
<th>Calls</th>
<th class="br-th-pickup">Visit</th>
<th>Install</th>
<th>Extra</th>
<th>Total(L)</th>
</tr>
-->
<!--
<tr>
<td class="br-visit">January</td>
<td>29013</td>
<td>47</td>
<td class="br-visit">385</td>
<td>38511</td>
<td>34</td>
<td class="br-visit">418</td>
<td>29013</td>
<td>47</td>
<td class="br-visit">385</td>
<td>38511</td>
<td>34</td>
<td class="br-visit">418</td>
<td>38511</td>
<td>34</td>
<td class="br-visit">418</td>
<td>29013</td>
<td>47</td>
<td class="br-visit"> 385</td>
<td>38511</td>
<td>34</td>
<td class="br-visit">418</td>
<td>38511</td>
<td>34</td>
<td class="br-visit">418</td>
<td>29013</td>
<td>47</td>
<td class="br-visit">385</td>
<td>38511</td>
<td>34011</td>
<td>4183333</td>
</tr>
<tr>
<td class="br-visit">February</td>
<td>29013</td>
<td>47</td>
<td class="br-visit">385</td>
<td>38511</td>
<td>34</td>
<td class="br-visit">418</td>
<td>29013</td>
<td>47</td>
<td class="br-visit">385</td>
<td>38511</td>
<td>34</td>
<td class="br-visit">418</td>
<td>38511</td>
<td>34</td>
<td class="br-visit">418</td>
<td>29013</td>
<td>47</td>
<td class="br-visit">385</td>
<td>38511</td>
<td>34</td>
<td class="br-visit">418</td>
<td>38511</td>
<td>34</td>
<td class="br-visit">418</td>
<td>29013</td>
<td>47</td>
<td class="br-visit">385</td>
<td>38511</td>
<td>34011</td>
<td>4183333</td>
</tr>
-->
</table>
</div>
</div>
<!--
<div class="container margin-top-25" style="clear: both;">
<a class="btn-sub text-center width-200 col-float-right" href="#">LIST</a>
</div>
-->
</section>
</main><!-- End #main -->