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) { + +?> + +
+ 出貨完工推移表()+ |
+ ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
階段台數 | +年度 | +月份 | +合計 | +|||||||||||
+ "; + if ($val == 'A') + echo "有出貨日"; + if ($val == 'B') + echo "有安裝開工日,沒安裝完工日 "; + if ($val == 'C') + echo "有安裝完工日 "; + if ($val == 'D') + echo "有QC完工日 "; + if ($val == 'E') + echo "移交日 "; + ?> + + | +前一年度() | + ' . $a . ''; + } + if ($val == 'B') { + $b = getInstalling($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $b_count += $b; + echo '' . $b . ' | '; + } + if ($val == 'C') { + $c = getInstalling2($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $c_count += $c; + echo '' . $c . ' | '; + } + if ($val == 'D') { + $d = getQCing($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $d_count += $d; + echo '' . $d . ' | '; + } + if ($val == 'E') { + $e = getDeliverying($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $e_count += $e; + echo '' . $e . ' | '; + } + } + if ($val == 'A') + echo '' . $a_count . ' | '; + if ($val == 'B') + echo '' . $b_count . ' | '; + if ($val == 'C') + echo '' . $c_count . ' | '; + if ($val == 'D') + echo '' . $d_count . ' | '; + if ($val == 'E') + echo '' . $e_count . ' | '; + ?> +||||
本年度() | + ' . $a . ''; + } + if ($val == 'B') { + $b = getInstalling($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $b_count += $b; + echo '' . $b . ' | '; + } + if ($val == 'C') { + $c = getInstalling2($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $c_count += $c; + echo '' . $c . ' | '; + } + if ($val == 'D') { + $d = getQCing($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $d_count += $d; + echo '' . $d . ' | '; + } + if ($val == 'E') { + $e = getDeliverying($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $e_count += $e; + echo '' . $e . ' | '; + } + } + if ($val == 'A') + echo '' . $a_count . ' | '; + if ($val == 'B') + echo '' . $b_count . ' | '; + if ($val == 'C') + echo '' . $c_count . ' | '; + if ($val == 'D') + echo '' . $d_count . ' | '; + if ($val == 'E') + echo '' . $e_count . ' | '; + ?> +
$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 . "月"; + } + ?> +累計 | +|||||||||||||
1 | +舊梯全汰改(台數) | ++ X/X + | +預定 | + 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 "" . $expected_a[$this_year][$i] . " | "; + } + ?> ++ | |||||||||||
實際 | + 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 "" . $real_a[$this_year][$i] . " | "; + } + ?> ++ | ||||||||||||||
達成率 | + " . round(($real_a[$this_year][$i] / $expected_a[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> ++ | |||||||||||||||
2 | +舊梯M1改(台數) | ++ X/X + | +預定 | + 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 "" . $expected_b[$this_year][$i] . " | "; + } + ?> ++ | |||||||||||
實際 | + 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 "" . $real_b[$this_year][$i] . " | "; + } + ?> ++ | ||||||||||||||
達成率 | + " . round(($real_b[$this_year][$i] / $expected_b[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> ++ | |||||||||||||||
保養簽長約,免費M1 | ++ X + | +預定 | + 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 "" . $expected_c[$this_year][$i] . " | "; + } + ?> ++ | ||||||||||||
實際 | + 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 "" . $real_c[$this_year][$i] . " | "; + } + ?> ++ | ||||||||||||||
達成率 | + " . round(($real_c[$this_year][$i] / $expected_c[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> ++ | |||||||||||||||
3 | +汰改合計金額(千元) | ++ X + | +預定 | + 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 "" . $expected_d[$this_year][$i] . " | "; + } + ?> ++ | |||||||||||
實際 | + 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 "" . $real_d[$this_year][$i] . " | "; + } + ?> ++ | ||||||||||||||
達成率 | + " . round(($real_d[$this_year][$i] / $expected_d[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> ++ | |||||||||||||||
4 | +保養契約台數(台) | ++ X + | +預定 | + 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 "" . $expected_e[$this_year][$i] . " | "; + } + ?> ++ | |||||||||||
實際 | + 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 "" . $real_e[$this_year][$i] . " | "; + } + ?> ++ | ||||||||||||||
達成率 | + " . round(($real_e[$this_year][$i] / $expected_e[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> ++ | |||||||||||||||
5 | +修理金額(千元)/台.年 | ++ X + | +預定 | + 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 "" . $expected_f[$this_year][$i] . " | "; + } + ?> ++ | |||||||||||
實際 | + 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 "" . $real_f[$this_year][$i] . " | "; + } + ?> ++ | ||||||||||||||
達成率 | + " . round(($real_f[$this_year][$i] / $expected_f[$this_year][$i]) * 100, 2) . "%" . ""; + } + ?> ++ |
+ 出貨完工推移表()+ |
+ ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
階段台數 | +年度 | +月份 | +合計 | +|||||||||||
+ "; + if ($val == 'A') + echo "有出貨日"; + if ($val == 'B') + echo "有安裝開工日,沒安裝完工日 "; + if ($val == 'C') + echo "有安裝完工日 "; + if ($val == 'D') + echo "有QC完工日 "; + if ($val == 'E') + echo "移交日 "; + ?> + + | +前一年度() | + ' . $a . ''; + } + if ($val == 'B') { + $b = getInstalling($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $b_count += $b; + echo '' . $b . ' | '; + } + if ($val == 'C') { + $c = getInstalling2($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $c_count += $c; + echo '' . $c . ' | '; + } + if ($val == 'D') { + $d = getQCing($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $d_count += $d; + echo '' . $d . ' | '; + } + if ($val == 'E') { + $e = getDeliverying($c_val, null, (date("Y") - 1), str_pad($i, 2, '0', STR_PAD_LEFT)); + $e_count += $e; + echo '' . $e . ' | '; + } + } + if ($val == 'A') + echo '' . $a_count . ' | '; + if ($val == 'B') + echo '' . $b_count . ' | '; + if ($val == 'C') + echo '' . $c_count . ' | '; + if ($val == 'D') + echo '' . $d_count . ' | '; + if ($val == 'E') + echo '' . $e_count . ' | '; + ?> +||||
本年度() | + ' . $a . ''; + } + if ($val == 'B') { + $b = getInstalling($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $b_count += $b; + echo '' . $b . ' | '; + } + if ($val == 'C') { + $c = getInstalling2($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $c_count += $c; + echo '' . $c . ' | '; + } + if ($val == 'D') { + $d = getQCing($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $d_count += $d; + echo '' . $d . ' | '; + } + if ($val == 'E') { + $e = getDeliverying($c_val, null, (date("Y")), str_pad($i, 2, '0', STR_PAD_LEFT)); + $e_count += $e; + echo '' . $e . ' | '; + } + } + if ($val == 'A') + echo '' . $a_count . ' | '; + if ($val == 'B') + echo '' . $b_count . ' | '; + if ($val == 'C') + echo '' . $c_count . ' | '; + if ($val == 'D') + echo '' . $d_count . ' | '; + if ($val == 'E') + echo '' . $e_count . ' | '; + ?> +