Browse Source

新增汰改 出貨完工推儀表 及工務處報表

gary
gary_chen\gary_chen 1 year ago
parent
commit
a7df5f948e
  1. 269
      wms/day_off/ship_run_chart.php
  2. 659
      wms/delivery_kpi.php
  3. 6
      wms/fix_contract_payment_status.php
  4. 24
      wms/gary.php
  5. 280
      wms/ship_run_chart.php
  6. 4
      wms/wipwhole-rec-invoice-edit-submit.php
  7. 5
      wms/wipwhole-rec-invoice-edit.php
  8. 4
      wms/wipwhole-renovate-rec-invoice-edit-submit.php
  9. 5
      wms/wipwhole-renovate-rec-invoice-edit.php

269
wms/day_off/ship_run_chart.php

@ -0,0 +1,269 @@
<?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
}
?>

659
wms/delivery_kpi.php

@ -0,0 +1,659 @@
<?php
include("header.php");
$this_year = 2024;
function getMAdetails($conn, $this_year, $i)
{
$date = $this_year . str_pad($i, 2, '0', STR_PAD_LEFT);
$sql = "
-- 全機汰改
SELECT
count(*)
FROM salSalesOrder AS sso
LEFT JOIN salSalesOrderDetail AS ssod
ON ssod.BillNo = sso.BillNo
WHERE ssod.MaterialId = 'A40010'
AND SUBSTRING(CONVERT(VARCHAR, sso.BillDate, 112), 1, 6) = '$date'
-- AND SUBSTR(sso.CustomerOrderDate, 1, 6) = '$date',
";
$result = $conn->query($sql);
foreach ($result as $row) {
return $row[0];
}
}
function getM1details($conn, $this_year, $i)
{
$date = $this_year . str_pad($i, 2, '0', STR_PAD_LEFT);
$sql = "
-- M1汰改
SELECT
count(*)
FROM salSalesOrder AS sso
LEFT JOIN salSalesOrderDetail AS ssod
ON ssod.BillNo = sso.BillNo
where ssod.MaterialId = 'A40002'
AND SUBSTRING(CONVERT(VARCHAR, sso.BillDate, 112), 1, 6) = '$date'
-- AND SUBSTR(sso.CustomerOrderDate, 1, 6) = '$date',
";
$result = $conn->query($sql);
foreach ($result as $row) {
return $row[0];
}
}
function getM1Freedetails($conn, $this_year, $i)
{
$date = $this_year . str_pad($i, 2, '0', STR_PAD_LEFT);
$sql = "
-- M1汰改送免費一年保養
SELECT
count(*)
FROM salSalesOrder AS sso
LEFT JOIN salSalesOrderDetail AS ssod
ON ssod.BillNo = sso.BillNo
where ssod.PresentSQty >0
AND SUBSTRING(CONVERT(VARCHAR, sso.BillDate, 112), 1, 6) = '$date'
-- AND SUBSTR(sso.CustomerOrderDate, 1, 6) = '$date',
";
$result = $conn->query($sql);
foreach ($result as $row) {
return $row[0];
}
}
function getMContractAllAmount($conn, $this_year, $i)
{
$date = $this_year . str_pad($i, 2, '0', STR_PAD_LEFT);
$sql = "
SELECT
SUM(T.OAmountWithTax) AS OAmountWithTax
FROM(
-- 全機汰改
SELECT
SUM(ssod.OAmountWithTax) AS OAmountWithTax
FROM salSalesOrder AS sso
LEFT JOIN salSalesOrderDetail AS ssod
ON ssod.BillNo = sso.BillNo
WHERE ssod.MaterialId = 'A40010'
AND SUBSTRING(CONVERT(VARCHAR, sso.BillDate, 112), 1, 6) = '$date'
-- AND SUBSTR(sso.CustomerOrderDate, 1, 6) = '$date',
UNION ALL
-- M1汰改
SELECT
SUM(ssod.OAmountWithTax) AS OAmountWithTax
FROM salSalesOrder AS sso
LEFT JOIN salSalesOrderDetail AS ssod
ON ssod.BillNo = sso.BillNo
where ssod.MaterialId = 'A40002'
AND SUBSTRING(CONVERT(VARCHAR, sso.BillDate, 112), 1, 6) = '$date'
-- AND SUBSTR(sso.CustomerOrderDate, 1, 6) = '$date',
UNION ALL
-- M1汰改送免費一年保養
SELECT
SUM(ssod.OAmountWithTax) AS OAmountWithTax
FROM salSalesOrder AS sso
LEFT JOIN salSalesOrderDetail AS ssod
ON ssod.BillNo = sso.BillNo
where ssod.PresentSQty >0
AND SUBSTRING(CONVERT(VARCHAR, sso.BillDate, 112), 1, 6) = '$date'
-- AND SUBSTR(sso.CustomerOrderDate, 1, 6) = '$date',
) AS T
";
// echo "<pre>$sql</pre>";
$result = $conn->query($sql);
foreach ($result as $row) {
return $row[0];
}
}
function getMataincedetails($conn, $this_year, $i)
{
$date = $this_year . str_pad($i, 2, '0', STR_PAD_LEFT);
$sql = "
-- 保養合約
SELECT
COUNT(sia_tmp.CU_MaterialId)
FROM(
SELECT
MIN(siam.BillDate) AS BillDate,
siad.CU_MaterialId
FROM salIncomeApplyMaster AS siam
LEFT JOIN salIncomeApplyDetail AS siad
ON siam.BillNo = siad.BillNo
GROUP BY siad.CU_MaterialId
)AS sia_tmp
WHERE 1=1
AND SUBSTRING(CONVERT(VARCHAR, sia_tmp.BillDate, 112), 1, 6) = '$date'
";
$result = $conn->query($sql);
foreach ($result as $row) {
return $row[0];
}
}
function getFixdetails($conn, $this_year, $i)
{
$date = $this_year . str_pad($i, 2, '0', STR_PAD_LEFT);
$sql = "
SELECT
SUM(sia_tmp.OAmountWithTax) AS OAmountWithTax
FROM(
SELECT
sdlm.BillDate AS BillDate,
sdld.OAmountWithTax
FROM salDispatchListMaster AS sdlm
LEFT JOIN salDispatchListDetail AS sdld
ON sdlm.BillNo = sdld.BillNo
)AS sia_tmp
WHERE 1=1
AND SUBSTRING(CONVERT(VARCHAR, sia_tmp.BillDate, 112), 1, 6) = '$date'
";
// echo $sql;
$result = $conn->query($sql);
foreach ($result as $row) {
return $row[0];
}
}
?>
<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='17'>
<h4><?php echo date("Y"); ?>年指標與實績</h4>
</th>
</tr>
<tr>
<th style='text-align:center;width:150px;vertical-align:middle;' colspan='2'>項目</th>
<th style='text-align:center;width:150px;vertical-align:middle;'><?php echo (date("Y") - 1); ?></th>
<th style='text-align:center;vertical-align:middle;'>月份</th>
<?php
for ($i = 1; $i <= 12; $i++) {
echo "<td style='text-align:center;'>" . $i . "月</td>";
}
?>
<th style='text-align:center;vertical-align:middle;' rowspan='2'>累計</th>
</tr>
<tr>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="3">1</td>
<td rowspan="3">舊梯全汰改(台數)</td>
<td rowspan="3">
X/X
</td>
<td>預定</td>
<?php
$expected_a['2024'] = [
1 => 10,
2 => 20,
3 => 10,
4 => 26,
5 => 13,
6 => 26,
7 => 13,
8 => 26,
9 => 13,
10 => 26,
11 => 13,
12 => 14
];
$expected_a_count = 0;
for ($i = 1; $i <= 12; $i++) {
$expected_a_count += $expected_a[$this_year][$i];
echo "<td>" . $expected_a[$this_year][$i] . "</td>";
}
?>
<td><?php echo $expected_a_count; ?></td>
</tr>
<tr>
<td>實際</td>
<?php
$real_a['2024'] = [
1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
6 => 0,
7 => 0,
8 => 0,
9 => 0,
10 => 0,
11 => 0,
12 => 0
];
$real_a_count = 0;
for ($i = 1; $i <= 12; $i++) {
$real_a[$this_year][$i] = getMAdetails($conn, $this_year, $i);
$real_a_count += $real_a[$this_year][$i];
echo "<td>" . $real_a[$this_year][$i] . "</td>";
}
?>
<td><?php echo $real_a_count; ?></td>
</tr>
<tr>
<td>達成率</td>
<?php
for ($i = 1; $i <= 12; $i++) {
echo "<td>" . round(($real_a[$this_year][$i] / $expected_a[$this_year][$i]) * 100, 2) . "%" . "</td>";
}
?>
<td><?php echo round(($real_a_count / $expected_a_count) * 100, 2) . "%"; ?></td>
</tr>
<tr>
<td rowspan="6">2</td>
<td rowspan="3">舊梯M1改(台數)</td>
<td rowspan="3">
X/X
</td>
<td>預定</td>
<?php
$expected_b['2024'] = [
1 => 15,
2 => 30,
3 => 15,
4 => 40,
5 => 20,
6 => 40,
7 => 20,
8 => 40,
9 => 20,
10 => 40,
11 => 20,
12 => 30
];
$expected_b_count = 0;
for ($i = 1; $i <= 12; $i++) {
$expected_b_count += $expected_b[$this_year][$i];
echo "<td>" . $expected_b[$this_year][$i] . "</td>";
}
?>
<td><?php echo $expected_b_count; ?></td>
</tr>
<tr>
<td>實際</td>
<?php
$real_b['2024'] = [
1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
6 => 0,
7 => 0,
8 => 0,
9 => 0,
10 => 0,
11 => 0,
12 => 0
];
$real_b_count = 0;
for ($i = 1; $i <= 12; $i++) {
$real_b[$this_year][$i] = getM1details($conn, $this_year, $i);
$real_b_count += $real_b[$this_year][$i];
echo "<td>" . $real_b[$this_year][$i] . "</td>";
}
?>
<td><?php echo $real_b_count; ?></td>
</tr>
<tr>
<td>達成率</td>
<?php
for ($i = 1; $i <= 12; $i++) {
echo "<td>" . round(($real_b[$this_year][$i] / $expected_b[$this_year][$i]) * 100, 2) . "%" . "</td>";
}
?>
<td><?php echo round(($real_b_count / $expected_b_count) * 100, 2) . "%"; ?></td>
</tr>
<tr>
<td rowspan="3">保養簽長約,免費M1</td>
<td rowspan="3">
X
</td>
<td>預定</td>
<?php
$expected_c['2024'] = [
1 => 18,
2 => 18,
3 => 19,
4 => 20,
5 => 20,
6 => 20,
7 => 20,
8 => 20,
9 => 20,
10 => 20,
11 => 20,
12 => 20
];
$expected_c_count = 0;
for ($i = 1; $i <= 12; $i++) {
$expected_c_count += $expected_c[$this_year][$i];
echo "<td>" . $expected_c[$this_year][$i] . "</td>";
}
?>
<td><?php echo $expected_c_count; ?></td>
</tr>
<tr>
<td>實際</td>
<?php
$real_c['2024'] = [
1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
6 => 0,
7 => 0,
8 => 0,
9 => 0,
10 => 0,
11 => 0,
12 => 0
];
$real_c_count = 0;
for ($i = 1; $i <= 12; $i++) {
$real_c[$this_year][$i] = getM1Freedetails($conn, $this_year, $i);
$real_c_count += $real_c[$this_year][$i];
echo "<td>" . $real_c[$this_year][$i] . "</td>";
}
?>
<td><?php echo $real_c_count; ?></td>
</tr>
<tr>
<td>達成率</td>
<?php
for ($i = 1; $i <= 12; $i++) {
echo "<td>" . round(($real_c[$this_year][$i] / $expected_c[$this_year][$i]) * 100, 2) . "%" . "</td>";
}
?>
<td><?php echo round(($real_c_count / $expected_c_count) * 100, 2) . "%"; ?></td>
</tr>
<tr>
<td rowspan="3">3</td>
<td rowspan="3">汰改合計金額(千元)</td>
<td rowspan="3">
X
</td>
<td>預定</td>
<?php
$expected_d['2024'] = [
1 => 12650,
2 => 12650,
3 => 12650,
4 => 18150,
5 => 18150,
6 => 19800,
7 => 23650,
8 => 23650,
9 => 23650,
10 => 26400,
11 => 26400,
12 => 26400
];
$expected_d_count = 0;
for ($i = 1; $i <= 12; $i++) {
$expected_d_count += $expected_d[$this_year][$i];
echo "<td>" . $expected_d[$this_year][$i] . "</td>";
}
?>
<td><?php echo $expected_d_count; ?></td>
</tr>
<tr>
<td>實際</td>
<?php
$real_d['2024'] = [
1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
6 => 0,
7 => 0,
8 => 0,
9 => 0,
10 => 0,
11 => 0,
12 => 0
];
$real_d_count = 0;
for ($i = 1; $i <= 12; $i++) {
$real_d[$this_year][$i] = round(getMContractAllAmount($conn, $this_year, $i)/1000,0);
$real_d_count += $real_d[$this_year][$i];
echo "<td>" . $real_d[$this_year][$i] . "</td>";
}
?>
<td><?php echo $real_d_count; ?></td>
</tr>
<tr>
<td>達成率</td>
<?php
for ($i = 1; $i <= 12; $i++) {
echo "<td>" . round(($real_d[$this_year][$i] / $expected_d[$this_year][$i]) * 100, 2) . "%" . "</td>";
}
?>
<td><?php echo round(($real_d_count / $expected_d_count) * 100, 2) . "%"; ?></td>
</tr>
<tr>
<td rowspan="3">4</td>
<td rowspan="3">保養契約台數(台)</td>
<td rowspan="3">
X
</td>
<td>預定</td>
<?php
$expected_e['2024'] = [
1 => 192,
2 => 192,
3 => 192,
4 => 272,
5 => 272,
6 => 272,
7 => 272,
8 => 272,
9 => 272,
10 => 272,
11 => 272,
12 => 272
];
$expected_e_count = 0;
for ($i = 1; $i <= 12; $i++) {
$expected_e_count += $expected_e[$this_year][$i];
echo "<td>" . $expected_e[$this_year][$i] . "</td>";
}
?>
<td><?php echo $expected_e_count; ?></td>
</tr>
<tr>
<td>實際</td>
<?php
$real_e['2024'] = [
1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
6 => 0,
7 => 0,
8 => 0,
9 => 0,
10 => 0,
11 => 0,
12 => 0
];
$real_e_count = 0;
for ($i = 1; $i <= 12; $i++) {
$real_e[$this_year][$i] = getMataincedetails($conn, $this_year, $i, $real_e[$this_year]);
$real_e_count += $real_e[$this_year][$i];
echo "<td>" . $real_e[$this_year][$i] . "</td>";
}
?>
<td><?php echo $real_e_count; ?></td>
</tr>
<tr>
<td>達成率</td>
<?php
for ($i = 1; $i <= 12; $i++) {
echo "<td>" . round(($real_e[$this_year][$i] / $expected_e[$this_year][$i]) * 100, 2) . "%" . "</td>";
}
?>
<td><?php echo round(($real_e_count / $expected_e_count) * 100, 2) . "%"; ?></td>
</tr>
<tr>
<td rowspan="3">5</td>
<td rowspan="3">修理金額(千元)/台.年</td>
<td rowspan="3">
X
</td>
<td>預定</td>
<?php
$expected_f['2024'] = [
1 => 822,
2 => 957,
3 => 1092,
4 => 1227,
5 => 1362,
6 => 1497,
7 => 2162,
8 => 2297,
9 => 2432,
10 => 2567,
11 => 2702,
12 => 2838,
];
$expected_f_count = 0;
for ($i = 1; $i <= 12; $i++) {
$expected_f_count += $expected_f[$this_year][$i];
echo "<td>" . $expected_f[$this_year][$i] . "</td>";
}
?>
<td><?php echo $expected_f_count; ?></td>
</tr>
<tr>
<td>實際</td>
<?php
$real_f['2024'] = [
1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
6 => 0,
7 => 0,
8 => 0,
9 => 0,
10 => 0,
11 => 0,
12 => 0
];
$real_f_count = 0;
for ($i = 1; $i <= 12; $i++) {
$real_f[$this_year][$i] = round(getFixdetails($conn, $this_year, $i)/1000,0);
$real_f_count += $real_f[$this_year][$i];
echo "<td>" . $real_f[$this_year][$i] . "</td>";
}
?>
<td><?php echo $real_f_count; ?></td>
</tr>
<tr>
<td>達成率</td>
<?php
for ($i = 1; $i <= 12; $i++) {
echo "<td>" . round(($real_f[$this_year][$i] / $expected_f[$this_year][$i]) * 100, 2) . "%" . "</td>";
}
?>
<td><?php echo round(($real_f_count / $expected_f_count) * 100, 2) . "%"; ?></td>
</tr>
<!-- <tr>
<td rowspan="2">6</td>
<td>併購</td>
<td>
X
</td>
<td></td>
<?php
$expected_f['2024'] = [
1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
6 => 0,
7 => 1000,
8 => 0,
9 => 0,
10 => 0,
11 => 0,
12 => 0,
];
$expected_f_count = 0;
for ($i = 1; $i <= 12; $i++) {
$expected_f_count += $expected_f[$this_year][$i];
echo "<td>" . $expected_f[$this_year][$i] . "</td>";
}
?>
<td><?php echo $expected_f_count; ?></td>
</tr> -->
<!-- <tr>
<td>未續保流失台數</td>
<td>
X
</td>
<td>3</td>
<?php
$expected_g['2024'] = [
1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
6 => 0,
7 => 0,
8 => 0,
9 => 0,
10 => 0,
11 => 0,
12 => 0,
];
$expected_g_count = 0;
for ($i = 1; $i <= 12; $i++) {
$expected_g_count += $expected_g[$this_year][$i];
echo "<td>" . $expected_g[$this_year][$i] . "</td>";
}
?>
<td><?php echo $expected_g_count; ?></td>
</tr> -->
<!-- <tr>
<td>7</td>
<td>目前累計台數(台)</td>
<td>
X
</td>
<td></td>
<?php
for ($i = 1; $i <= 12; $i++) {
echo "<td></td>";
}
?>
<td>sum</td>
</tr> -->
</tbody>
</table>
<?php
include("footer.php");
?>

6
wms/fix_contract_payment_status.php

@ -235,7 +235,7 @@ if ($data) :
<th style='text-align:center;vertical-align: middle;width:120px;'>單據號</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>客戶名稱</th>
<th style='text-align:center;vertical-align: middle;width:80px;'>單據日期</th>
<th style='text-align:center;vertical-align: middle;width:50px;'>催收次數</th>
<!-- <th style='text-align:center;vertical-align: middle;width:50px;'>催收次數</th> -->
<th style='text-align:center;vertical-align: middle;width:120px;'>金額</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>發票狀態</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>收款狀態</th>
@ -264,9 +264,9 @@ if ($data) :
<td>
<?php echo date('Y/m/d', strtotime($row['BillDate'])); ?>
</td>
<td>
<!-- <td>
<?php echo $row['awob_status'] == 'true' ? '0' : checkCollectMonth($row); ?>
</td>
</td> -->
<td>
<?php echo number_format(intval($row['SumOAmountWithTax']), 0, '', ','); ?>
</td>

24
wms/gary.php

@ -1,5 +1,29 @@
<?php
function getUserIP() {
$ip = $_SERVER['REMOTE_ADDR'];
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
// 检查客户端 IP 地址
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
// 检查代理服务器传递的 IP 地址
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
return $ip;
}
// 获取用户的 IP 地址
$user_ip = getUserIP();
// 输出用户的 IP 地址
echo "用户的 IP 地址是:$user_ip";
exit;
$encodedString = urlencode("expression-index.php?function_name=expression&id=83");
?>
<a href='/wms/login.php?redirect=<?php echo $encodedString; ?>' target='_blank'>永佳捷外事系統</a>

280
wms/ship_run_chart.php

@ -0,0 +1,280 @@
<?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_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%'" : "";
echo $sql;
echo "<br>";
$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
}
include("footer.php");
?>

4
wms/wipwhole-rec-invoice-edit-submit.php

@ -764,6 +764,10 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($_POST['form_name'] == 'update_contract_date_form') {
include "class/Cnotice.php";
include "./class/Cmail.php";
$cmail = new Cmail();
$cn = new Cnotice();
foreach ($_POST as $k => $v)
$$k = htmlspecialchars(stripslashes(trim($v)));

5
wms/wipwhole-rec-invoice-edit.php

@ -112,14 +112,15 @@ include "wipwhole-rec-invoice-edit-submit.php";
SELECT
mid,
pr_item_id,
version
version,
sub_item_id
FROM specsurvey_main
WHERE contractno = '" . $row["contractno"] . "'
";
$result = mysqli_query($link, $sql);
$row2 = mysqli_fetch_array($result);
if (!empty($row2['mid'])) {
echo "<a target='_blank' href='/wms/mkt/specsurvey_renovate-view.php?pa=" . $row2['mid'] . "," . $row2['pr_item_id'] . "," . $row2['version'] . "&$token_link'>規調:" . $row["contractno"] . "</a>";
echo "<a target='_blank' href='/wms/mkt/specsurvey-view.php?pa=" . $row2['mid'] . "," . $row2['pr_item_id'] . "," . $row2['version']. "," . $row2['sub_item_id'] . "&$token_link'>規調:" . $row["contractno"] . "</a>";
}
}
?>

4
wms/wipwhole-renovate-rec-invoice-edit-submit.php

@ -777,6 +777,10 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($_POST['form_name'] == 'update_contract_date_form') {
include "class/Cnotice.php";
include "./class/Cmail.php";
$cmail = new Cmail();
$cn = new Cnotice();
foreach ($_POST as $k => $v)
$$k = htmlspecialchars(stripslashes(trim($v)));

5
wms/wipwhole-renovate-rec-invoice-edit.php

@ -107,14 +107,15 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
SELECT
mid,
pr_item_id,
version
version,
sub_item_id
FROM specsurvey_main
WHERE contractno = '" . $row["contractno"] . "'
";
$result = mysqli_query($link, $sql);
$row2 = mysqli_fetch_array($result);
if (!empty($row2['mid'])) {
echo "<a target='_blank' href='/wms/mkt/specsurvey_renovate-view.php?pa=" . $row2['mid'] . "," . $row2['pr_item_id'] . "," . $row2['version'] . "&$token_link'>規調:" . $row["contractno"] . "</a>";
echo "<a target='_blank' href='/wms/mkt/specsurvey_renovate-view.php?pa=" . $row2['mid'] . "," . $row2['pr_item_id'] . "," . $row2['version'] . "," . $row2['sub_item_id'] . "&$token_link'>規調:" . $row["contractno"] . "</a>";
}
}
?>

Loading…
Cancel
Save