diff --git a/wms/day_off/ship_run_chart.php b/wms/day_off/ship_run_chart.php new file mode 100644 index 00000000..87940660 --- /dev/null +++ b/wms/day_off/ship_run_chart.php @@ -0,0 +1,269 @@ + '新梯 + 汰改', + 'A' => '新梯', + 'B' => '汰改' +]; +foreach ($contract_type as $c_val => $c_key) { + +?> + + + + + + + + + + + + + + " . $i . "月"; + } + ?> + + + + '出貨台數', + 'B' => '在裝台數', + 'C' => '完工台數', + 'D' => 'QC台數', + 'E' => '移交台數' + ]; + foreach ($type_arr as $val => $key) { + ?> + + + + ' . $a . ''; + } + if ($val == 'B') { + $b = getInstalling($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $b_count += $b; + echo ''; + } + if ($val == 'C') { + $c = getInstalling2($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $c_count += $c; + echo ''; + } + if ($val == 'D') { + $d = getQCing($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $d_count += $d; + echo ''; + } + if ($val == 'E') { + $e = getDeliverying($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $e_count += $e; + echo ''; + } + } + if ($val == 'A') + echo ''; + if ($val == 'B') + echo ''; + if ($val == 'C') + echo ''; + if ($val == 'D') + echo ''; + if ($val == 'E') + echo ''; + ?> + + + + ' . $a . ''; + } + if ($val == 'B') { + $b = getInstalling($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $b_count += $b; + echo ''; + } + if ($val == 'C') { + $c = getInstalling2($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $c_count += $c; + echo ''; + } + if ($val == 'D') { + $d = getQCing($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $d_count += $d; + echo ''; + } + if ($val == 'E') { + $e = getDeliverying($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $e_count += $e; + echo ''; + } + } + if ($val == 'A') + echo ''; + if ($val == 'B') + echo ''; + if ($val == 'C') + echo ''; + if ($val == 'D') + echo ''; + if ($val == 'E') + echo ''; + ?> + + + +
+

出貨完工推移表()

+
階段台數年度月份合計
+ "; + if ($val == 'A') + echo "有出貨日"; + if ($val == 'B') + echo "有安裝開工日,沒安裝完工日 "; + if ($val == 'C') + echo "有安裝完工日 "; + if ($val == 'D') + echo "有QC完工日 "; + if ($val == 'E') + echo "移交日 "; + ?> + + 前一年度()' . $b . '' . $c . '' . $d . '' . $e . '' . $a_count . '' . $b_count . '' . $c_count . '' . $d_count . '' . $e_count . '
本年度()' . $b . '' . $c . '' . $d . '' . $e . '' . $a_count . '' . $b_count . '' . $c_count . '' . $d_count . '' . $e_count . '
+ \ No newline at end of file diff --git a/wms/delivery_kpi.php b/wms/delivery_kpi.php new file mode 100644 index 00000000..f7ee62ff --- /dev/null +++ b/wms/delivery_kpi.php @@ -0,0 +1,659 @@ +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 "
$sql
"; + $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]; + } +} +?> + + + + + + + + + + " . $i . "月"; + } + ?> + + + + + + + + + + + + 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 ""; + } + ?> + + + + + 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 ""; + } + ?> + + + + + " . round(($real_a[$this_year][$i] / $expected_a[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> + + + + + + + + + + + 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 ""; + } + ?> + + + + + 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 ""; + } + ?> + + + + + " . round(($real_b[$this_year][$i] / $expected_b[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> + + + + + + + + 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 ""; + } + ?> + + + + + 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 ""; + } + ?> + + + + + " . round(($real_c[$this_year][$i] / $expected_c[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> + + + + + + + + + + 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 ""; + } + ?> + + + + + 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 ""; + } + ?> + + + + + " . round(($real_d[$this_year][$i] / $expected_d[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> + + + + + + + + 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 ""; + } + ?> + + + + + 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 ""; + } + ?> + + + + + " . round(($real_e[$this_year][$i] / $expected_e[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> + + + + + + + + 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 ""; + } + ?> + + + + + 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 ""; + } + ?> + + + + + " . round(($real_f[$this_year][$i] / $expected_f[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> + + + + + + + + + + +
+

年指標與實績

+
項目月份累計
1舊梯全汰改(台數) + X/X + 預定" . $expected_a[$this_year][$i] . "
實際" . $real_a[$this_year][$i] . "
達成率
2舊梯M1改(台數) + X/X + 預定" . $expected_b[$this_year][$i] . "
實際" . $real_b[$this_year][$i] . "
達成率
保養簽長約,免費M1 + X + 預定" . $expected_c[$this_year][$i] . "
實際" . $real_c[$this_year][$i] . "
達成率
3汰改合計金額(千元) + X + 預定" . $expected_d[$this_year][$i] . "
實際" . $real_d[$this_year][$i] . "
達成率
4保養契約台數(台) + X + 預定" . $expected_e[$this_year][$i] . "
實際" . $real_e[$this_year][$i] . "
達成率
5修理金額(千元)/台.年 + X + 預定" . $expected_f[$this_year][$i] . "
實際" . $real_f[$this_year][$i] . "
達成率
+ + \ No newline at end of file diff --git a/wms/fix_contract_payment_status.php b/wms/fix_contract_payment_status.php index 93a10925..11026f7c 100644 --- a/wms/fix_contract_payment_status.php +++ b/wms/fix_contract_payment_status.php @@ -235,7 +235,7 @@ if ($data) : 單據號 客戶名稱 單據日期 - 催收次數 + 金額 發票狀態 收款狀態 @@ -264,9 +264,9 @@ if ($data) : - + diff --git a/wms/gary.php b/wms/gary.php index edaef7d9..c8143ea5 100644 --- a/wms/gary.php +++ b/wms/gary.php @@ -1,8 +1,32 @@ -永佳捷外事系統 +永佳捷外事系統 "; + $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) { + +?> + + + + + + + + + + + + + + " . $i . "月"; + } + ?> + + + + '出貨台數', + 'B' => '在裝台數', + 'C' => '完工台數', + 'D' => 'QC台數', + 'E' => '移交台數' + ]; + foreach ($type_arr as $val => $key) { + ?> + + + + ' . $a . ''; + } + if ($val == 'B') { + $b = getInstalling($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $b_count += $b; + echo ''; + } + if ($val == 'C') { + $c = getInstalling2($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $c_count += $c; + echo ''; + } + if ($val == 'D') { + $d = getQCing($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $d_count += $d; + echo ''; + } + if ($val == 'E') { + $e = getDeliverying($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $e_count += $e; + echo ''; + } + } + if ($val == 'A') + echo ''; + if ($val == 'B') + echo ''; + if ($val == 'C') + echo ''; + if ($val == 'D') + echo ''; + if ($val == 'E') + echo ''; + ?> + + + + ' . $a . ''; + } + if ($val == 'B') { + $b = getInstalling($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $b_count += $b; + echo ''; + } + if ($val == 'C') { + $c = getInstalling2($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $c_count += $c; + echo ''; + } + if ($val == 'D') { + $d = getQCing($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $d_count += $d; + echo ''; + } + if ($val == 'E') { + $e = getDeliverying($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $e_count += $e; + echo ''; + } + } + if ($val == 'A') + echo ''; + if ($val == 'B') + echo ''; + if ($val == 'C') + echo ''; + if ($val == 'D') + echo ''; + if ($val == 'E') + echo ''; + ?> + + + +
+

出貨完工推移表()

+
階段台數年度月份合計
+ "; + if ($val == 'A') + echo "有出貨日"; + if ($val == 'B') + echo "有安裝開工日,沒安裝完工日 "; + if ($val == 'C') + echo "有安裝完工日 "; + if ($val == 'D') + echo "有QC完工日 "; + if ($val == 'E') + echo "移交日 "; + ?> + + 前一年度()' . $b . '' . $c . '' . $d . '' . $e . '' . $a_count . '' . $b_count . '' . $c_count . '' . $d_count . '' . $e_count . '
本年度()' . $b . '' . $c . '' . $d . '' . $e . '' . $a_count . '' . $b_count . '' . $c_count . '' . $d_count . '' . $e_count . '
+ diff --git a/wms/wipwhole-rec-invoice-edit-submit.php b/wms/wipwhole-rec-invoice-edit-submit.php index 28512a7e..6a45c67e 100644 --- a/wms/wipwhole-rec-invoice-edit-submit.php +++ b/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))); diff --git a/wms/wipwhole-rec-invoice-edit.php b/wms/wipwhole-rec-invoice-edit.php index 1ca6c6f9..60c451e4 100644 --- a/wms/wipwhole-rec-invoice-edit.php +++ b/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 "規調:" . $row["contractno"] . ""; + echo "規調:" . $row["contractno"] . ""; } } ?> diff --git a/wms/wipwhole-renovate-rec-invoice-edit-submit.php b/wms/wipwhole-renovate-rec-invoice-edit-submit.php index f5f56830..9e26d2ea 100644 --- a/wms/wipwhole-renovate-rec-invoice-edit-submit.php +++ b/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))); diff --git a/wms/wipwhole-renovate-rec-invoice-edit.php b/wms/wipwhole-renovate-rec-invoice-edit.php index 3d641fff..597c75cd 100644 --- a/wms/wipwhole-renovate-rec-invoice-edit.php +++ b/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 "規調:" . $row["contractno"] . ""; + echo "規調:" . $row["contractno"] . ""; } } ?>