You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
391 lines
18 KiB
391 lines
18 KiB
<?php
|
|
// ini_set('display_errors', 'on');
|
|
include "header.php";
|
|
include "css/view/wipwhole-index.php";
|
|
|
|
|
|
// 出貨台數
|
|
function getShipping($type, $mtype, $year, $month)
|
|
{
|
|
global $link;
|
|
$sql = "
|
|
SELECT
|
|
count(*) AS all_count
|
|
FROM wipwholestatus
|
|
WHERE status = '1'
|
|
AND (
|
|
real_arrival_date IS NOT NULL
|
|
AND real_arrival_date != ''
|
|
)
|
|
AND real_arrival_date BETWEEN '$year-$month-01' AND '$year-$month-31'
|
|
";
|
|
$sql .= !empty($type) ? " AND contract_type = '$type'" : "";
|
|
$sql .= !empty($mtype) ? " AND renovate_type Like '%$mtype%'" : "";
|
|
$result = mysqli_query($link, $sql);
|
|
$data = mysqli_fetch_array($result, MYSQLI_ASSOC);
|
|
return $data['all_count'];
|
|
}
|
|
|
|
// 在裝台數
|
|
function getInstalling($type, $mtype, $year, $month)
|
|
{
|
|
global $link;
|
|
$sql = "
|
|
SELECT
|
|
count(*) AS all_count
|
|
FROM wipwholestatus
|
|
WHERE status = '1'
|
|
AND real_arrival_date BETWEEN '$year-$month-01' AND '$year-$month-31'
|
|
AND (
|
|
install_start_date IS NOT NULL
|
|
OR install_start_date != ''
|
|
)
|
|
AND (
|
|
install_end_date IS NULL
|
|
OR install_end_date = ''
|
|
)
|
|
";
|
|
$sql .= !empty($type) ? " AND contract_type = '$type'" : "";
|
|
$sql .= !empty($mtype) ? " AND renovate_type Like '%$mtype%'" : "";
|
|
$result = mysqli_query($link, $sql);
|
|
$data = mysqli_fetch_array($result, MYSQLI_ASSOC);
|
|
return $data['all_count'];
|
|
}
|
|
|
|
// 完工台數
|
|
function getInstalling2($type, $mtype, $year, $month)
|
|
{
|
|
global $link;
|
|
$sql = "
|
|
SELECT
|
|
count(*) AS all_count
|
|
FROM wipwholestatus
|
|
WHERE status = '1'
|
|
AND real_arrival_date BETWEEN '$year-$month-01' AND '$year-$month-31'
|
|
AND install_start_date IS NOT NULL
|
|
AND install_start_date != ''
|
|
AND install_end_date IS NOT NULL
|
|
AND install_end_date != ''
|
|
";
|
|
$sql .= !empty($type) ? " AND contract_type = '$type'" : "";
|
|
$sql .= !empty($mtype) ? " AND renovate_type Like '%$mtype%'" : "";
|
|
$result = mysqli_query($link, $sql);
|
|
$data = mysqli_fetch_array($result, MYSQLI_ASSOC);
|
|
return $data['all_count'];
|
|
}
|
|
|
|
// QC台數
|
|
function getQCing($type, $mtype, $year, $month)
|
|
{
|
|
global $link;
|
|
$sql = "
|
|
SELECT
|
|
count(*) AS all_count
|
|
FROM wipwholestatus
|
|
WHERE status = '1'
|
|
AND real_arrival_date BETWEEN '$year-$month-01' AND '$year-$month-31'
|
|
AND end_qc_date IS NOT NULL
|
|
AND end_qc_date != ''
|
|
|
|
";
|
|
$sql .= !empty($type) ? " AND contract_type = '$type'" : "";
|
|
$sql .= !empty($mtype) ? " AND renovate_type Like '%$mtype%'" : "";
|
|
$result = mysqli_query($link, $sql);
|
|
$data = mysqli_fetch_array($result, MYSQLI_ASSOC);
|
|
return $data['all_count'];
|
|
}
|
|
|
|
// 移交台數
|
|
function getDeliverying($type, $mtype, $year, $month)
|
|
{
|
|
global $link;
|
|
$sql = "
|
|
SELECT
|
|
count(*) AS all_count
|
|
FROM wipwholestatus
|
|
WHERE status = '1'
|
|
AND real_arrival_date BETWEEN '$year-$month-01' AND '$year-$month-31'
|
|
AND delivery_date IS NOT NULL
|
|
AND delivery_date != ''
|
|
|
|
";
|
|
$sql .= !empty($type) ? " AND contract_type = '$type'" : "";
|
|
$sql .= !empty($mtype) ? " AND renovate_type Like '%$mtype%'" : "";
|
|
$result = mysqli_query($link, $sql);
|
|
$data = mysqli_fetch_array($result, MYSQLI_ASSOC);
|
|
return $data['all_count'];
|
|
}
|
|
$contract_type = [
|
|
'' => '新梯+汰改',
|
|
'A' => '新梯',
|
|
'B' => '汰改'
|
|
];
|
|
foreach ($contract_type as $c_val => $c_key) {
|
|
|
|
?>
|
|
|
|
<div id="myModal" class="modal">
|
|
<div class="back"></div>
|
|
<div class="modal-content">
|
|
<button type="button" class="close" id="myCloseBtn">X</button>
|
|
<div class='col-12' style='text-align:center'>
|
|
<div class='row'>
|
|
<div class='col-12'>
|
|
<table id="table_detail" class="table table-bordered" style="width:100%; margin:0 auto;">
|
|
<thead>
|
|
<tr>
|
|
<th>合約號</th>
|
|
<th>作番號</th>
|
|
<th>客戶名稱</th>
|
|
<th>預計出貨日</th>
|
|
<th>試車完工日</th>
|
|
<th>QC合格日</th>
|
|
<th>官檢日</th>
|
|
<th>移交日</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<table class="table table-striped table-bordered" style="width:98.5%;overflow-x:auto">
|
|
<thead>
|
|
<tr>
|
|
<th style='text-align:center;vertical-align:middle;' colspan='15'>
|
|
<h4>出貨完工推移表(<?php echo $c_key; ?>)</h4>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<th style='text-align:center;width:150px;vertical-align:middle;' rowspan='2'>階段台數</th>
|
|
<th style='text-align:center;width:150px;vertical-align:middle;' rowspan='2'>年度</th>
|
|
<th style='text-align:center;vertical-align:middle;' colspan='12'>月份</th>
|
|
<th style='text-align:center;vertical-align:middle;' rowspan='2'>合計</th>
|
|
</tr>
|
|
<tr>
|
|
<?php
|
|
for ($i = 1; $i <= 12; $i++) {
|
|
echo "<td style='text-align:center;'>" . $i . "月</td>";
|
|
}
|
|
?>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php
|
|
$type_arr = [
|
|
'A' => '出貨台數',
|
|
'B' => '在裝台數',
|
|
'C' => '完工台數',
|
|
'D' => 'QC台數',
|
|
'E' => '移交台數'
|
|
];
|
|
foreach ($type_arr as $val => $key) {
|
|
?>
|
|
<tr>
|
|
<td style='text-align:center;vertical-align:middle;' rowspan='2'>
|
|
<?php
|
|
echo $key;
|
|
echo "<br/>";
|
|
if ($val == 'A')
|
|
echo "<span style='font-size:12px;'>有出貨日</span>";
|
|
if ($val == 'B')
|
|
echo "<span style='font-size:12px;'>有安裝開工日,沒安裝完工日</span> ";
|
|
if ($val == 'C')
|
|
echo "<span style='font-size:12px;'>有安裝完工日</span> ";
|
|
if ($val == 'D')
|
|
echo "<span style='font-size:12px;'>有QC完工日</span> ";
|
|
if ($val == 'E')
|
|
echo "<span style='font-size:12px;'>移交日</span> ";
|
|
?>
|
|
|
|
</td>
|
|
<td>前一年度(<?php echo (date("Y") - 1); ?>)</td>
|
|
<?php
|
|
$a_count = 0;
|
|
$b_count = 0;
|
|
$c_count = 0;
|
|
$d_count = 0;
|
|
$e_count = 0;
|
|
for ($i = 1; $i <= 12; $i++) {
|
|
if ($val == 'A') {
|
|
$a = getShipping($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT));
|
|
$a_count += $a;
|
|
$onclick = "showDetail('getShipping', '$c_val', '', '" . (date("Y") - 1) . "', '" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $a . '</a></td>';
|
|
}
|
|
if ($val == 'B') {
|
|
$b = getInstalling($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT));
|
|
$b_count += $b;
|
|
$onclick = "showDetail('getInstalling', '$c_val', '', '" . (date("Y") - 1) . "', '" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $b . '</a></td>';
|
|
}
|
|
if ($val == 'C') {
|
|
$c = getInstalling2($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT));
|
|
$c_count += $c;
|
|
$onclick = "showDetail('getInstalling2', '$c_val', '', '" . (date("Y") - 1) . "', '" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $c . '</a></td>';
|
|
}
|
|
if ($val == 'D') {
|
|
$d = getQCing($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT));
|
|
$d_count += $d;
|
|
$onclick = "showDetail('getQCing', '$c_val', '', '" . (date("Y") - 1) . "', '" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $d . '</a></td>';
|
|
}
|
|
if ($val == 'E') {
|
|
$e = getDeliverying($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT));
|
|
$e_count += $e;
|
|
$onclick = "showDetail('getDeliverying', '$c_val', '', '" . (date("Y") - 1) . "', '" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $e . '</a></td>';
|
|
}
|
|
}
|
|
if ($val == 'A') {
|
|
$onclick = "showDetail('getShipping', '$c_val', '', '" . (date("Y")-1) . "', '')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $a_count . '</a></td>';
|
|
}
|
|
if ($val == 'B') {
|
|
$onclick = "showDetail('getInstalling', '$c_val', '', '" . (date("Y")-1) . "', '')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $b_count . '</a></td>';
|
|
}
|
|
if ($val == 'C') {
|
|
$onclick = "showDetail('getInstalling2', '$c_val', '', '" . (date("Y")-1) . "', '')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $c_count . '</a></td>';
|
|
}
|
|
if ($val == 'D') {
|
|
$onclick = "showDetail('getQCing', '$c_val', '', '" . (date("Y")-1) . "', '')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $d_count . '</a></td>';
|
|
}
|
|
if ($val == 'E') {
|
|
$onclick = "showDetail('getDeliverying', '$c_val', '', '" . (date("Y")-1) . "', '')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $e_count . '</a></td>';
|
|
}
|
|
?>
|
|
</tr>
|
|
<tr>
|
|
<td>本年度(<?php echo date("Y"); ?>)</td>
|
|
<?php
|
|
$a_count = 0;
|
|
$b_count = 0;
|
|
$c_count = 0;
|
|
$d_count = 0;
|
|
$e_count = 0;
|
|
for ($i = 1; $i <= 12; $i++) {
|
|
if ($val == 'A') {
|
|
$a = getShipping($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT));
|
|
$a_count += $a;
|
|
$onclick = "showDetail('getShipping', '$c_val', '', '" . (date("Y")) . "', '" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $a . '</a></td>';
|
|
}
|
|
if ($val == 'B') {
|
|
$b = getInstalling($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT));
|
|
$b_count += $b;
|
|
$onclick = "showDetail('getInstalling', '$c_val', '', '" . (date("Y")) . "', '" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $b . '</a></td>';
|
|
}
|
|
if ($val == 'C') {
|
|
$c = getInstalling2($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT));
|
|
$c_count += $c;
|
|
$onclick = "showDetail('getInstalling2', '$c_val', '', '" . (date("Y")) . "', '" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $c . '</a></td>';
|
|
}
|
|
if ($val == 'D') {
|
|
$d = getQCing($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT));
|
|
$d_count += $d;
|
|
$onclick = "showDetail('getQCing', '$c_val', '', '" . (date("Y")) . "', '" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $d . '</a></td>';
|
|
}
|
|
if ($val == 'E') {
|
|
$e = getDeliverying($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT));
|
|
$e_count += $e;
|
|
$onclick = "showDetail('getDeliverying', '$c_val', '', '" . (date("Y")) . "', '" . str_pad($i, 2, '0', STR_PAD_LEFT) . "')";
|
|
echo '<td style="text-align:center;"><a class="myBtn" href="#" onclick="' . $onclick . '">' . $e . '</a></td>';
|
|
}
|
|
}
|
|
if ($val == 'A') {
|
|
$onclick = "showDetail('getShipping', '$c_val', '', '" . (date("Y")) . "', '')";
|
|
echo '<td style="text-align:center;"> <a class="myBtn" href="#" onclick="' . $onclick . '">' . $a_count . ' </a></td>';
|
|
}
|
|
if ($val == 'B') {
|
|
$onclick = "showDetail('getInstalling', '$c_val', '', '" . (date("Y")) . "', '')";
|
|
echo '<td style="text-align:center;"> <a class="myBtn" href="#" onclick="' . $onclick . '">' . $b_count . ' </a></td>';
|
|
}
|
|
if ($val == 'C') {
|
|
$onclick = "showDetail('getInstalling2', '$c_val', '', '" . (date("Y")) . "', '')";
|
|
echo '<td style="text-align:center;"> <a class="myBtn" href="#" onclick="' . $onclick . '">' . $c_count . ' </a></td>';
|
|
}
|
|
if ($val == 'D') {
|
|
$onclick = "showDetail('getQCing', '$c_val', '', '" . (date("Y")) . "', '')";
|
|
echo '<td style="text-align:center;"> <a class="myBtn" href="#" onclick="' . $onclick . '">' . $d_count . ' </a></td>';
|
|
}
|
|
if ($val == 'E') {
|
|
$onclick = "showDetail('getDeliverying', '$c_val', '', '" . (date("Y")) . "', '')";
|
|
echo '<td style="text-align:center;"> <a class="myBtn" href="#" onclick="' . $onclick . '">' . $e_count . ' </a></td>';
|
|
}
|
|
?>
|
|
</tr>
|
|
<?php
|
|
}
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
|
|
<script>
|
|
var modal = document.getElementById("myModal");
|
|
$(".myBtn").click(function() {
|
|
$("#myModal").show();
|
|
});
|
|
$("#myCloseBtn").click(function(e) {
|
|
$("#myModal").hide();
|
|
});
|
|
$(".back").click(function(e) {
|
|
$("#myModal").hide();
|
|
});
|
|
|
|
function showDetail(form_name, type, mtype, year, month) {
|
|
$.ajax({
|
|
type: "POST",
|
|
dataType: "json",
|
|
url: "ship_run_chart-model.php",
|
|
data: {
|
|
form_name: form_name,
|
|
type: type,
|
|
mtype: mtype,
|
|
year: year,
|
|
month: month
|
|
},
|
|
complete: function(data) {
|
|
console.log(data);
|
|
var data = data.responseJSON
|
|
var str = "";
|
|
for (var i = 0; i < data.length; i++) {
|
|
str += "<tr>";
|
|
str += "<td>" + data[i]['contractno'] + "</td>";
|
|
str += "<td>" + data[i]['facilityno'] + "</td>";
|
|
str += "<td>" + data[i]['custom'] + "</td>";
|
|
str += "<td>" + data[i]['real_arrival_date'] + "</td>";
|
|
str += "<td>" + data[i]['tryrun_end_date'] + "</td>";
|
|
str += "<td>" + data[i]['end_qc_date'] + "</td>";
|
|
str += "<td>" + data[i]['official_check_date'] + "</td>";
|
|
str += "<td>" + data[i]['delivery_date'] + "</td>";
|
|
str += "</tr>";
|
|
}
|
|
if ($('#table_detail').hasClass('dataTable')) {
|
|
dttable = $('#table_detail').dataTable();
|
|
dttable.fnClearTable();
|
|
dttable.fnDestroy();
|
|
}
|
|
$("#table_detail").find("tbody").html(str);
|
|
$('#table_detail').dataTable();
|
|
}
|
|
})
|
|
}
|
|
</script>
|
|
<?php
|
|
}
|
|
|
|
include("footer.php");
|
|
?>
|