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.
 
 
 
 
 
 

269 lines
11 KiB

<?php
// ini_set('display_errors', 'on');
include "header.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_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_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) {
?>
<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;
echo '<td style="text-align:center;">' . $a . '</td>';
}
if ($val == 'B') {
$b = getInstalling($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT));
$b_count += $b;
echo '<td style="text-align:center;">' . $b . '</td>';
}
if ($val == 'C') {
$c = getInstalling2($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT));
$c_count += $c;
echo '<td style="text-align:center;">' . $c . '</td>';
}
if ($val == 'D') {
$d = getQCing($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT));
$d_count += $d;
echo '<td style="text-align:center;">' . $d . '</td>';
}
if ($val == 'E') {
$e = getDeliverying($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT));
$e_count += $e;
echo '<td style="text-align:center;">' . $e . '</td>';
}
}
if ($val == 'A')
echo '<td style="text-align:center;">' . $a_count . '</td>';
if ($val == 'B')
echo '<td style="text-align:center;">' . $b_count . '</td>';
if ($val == 'C')
echo '<td style="text-align:center;">' . $c_count . '</td>';
if ($val == 'D')
echo '<td style="text-align:center;">' . $d_count . '</td>';
if ($val == 'E')
echo '<td style="text-align:center;">' . $e_count . '</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;
echo '<td style="text-align:center;">' . $a . '</td>';
}
if ($val == 'B') {
$b = getInstalling($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT));
$b_count += $b;
echo '<td style="text-align:center;">' . $b . '</td>';
}
if ($val == 'C') {
$c = getInstalling2($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT));
$c_count += $c;
echo '<td style="text-align:center;">' . $c . '</td>';
}
if ($val == 'D') {
$d = getQCing($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT));
$d_count += $d;
echo '<td style="text-align:center;">' . $d . '</td>';
}
if ($val == 'E') {
$e = getDeliverying($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT));
$e_count += $e;
echo '<td style="text-align:center;">' . $e . '</td>';
}
}
if ($val == 'A')
echo '<td style="text-align:center;">' . $a_count . '</td>';
if ($val == 'B')
echo '<td style="text-align:center;">' . $b_count . '</td>';
if ($val == 'C')
echo '<td style="text-align:center;">' . $c_count . '</td>';
if ($val == 'D')
echo '<td style="text-align:center;">' . $d_count . '</td>';
if ($val == 'E')
echo '<td style="text-align:center;">' . $e_count . '</td>';
?>
</tr>
<?php
}
?>
</tbody>
</table>
<?php
}
?>