From db70e5c63276acf6a223ad5fa049b996bbc9a670 Mon Sep 17 00:00:00 2001 From: "gary_chen\\gary_chen" Date: Mon, 6 Nov 2023 11:04:17 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BD=9C=E7=95=AA?= =?UTF-8?q?=E5=A4=A7=E6=97=A5=E7=A8=8B=E5=B7=A5=E5=8B=99=E9=83=A8=E9=96=80?= =?UTF-8?q?"=E7=B6=93=E7=90=86"=E6=AC=8A=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/wipwhole-index-function.php | 12 ++++---- wms/wipwhole-rec-invoice-edit.php | 28 +++++++++---------- wms/wipwhole-renovate-index-function.php | 8 +++--- wms/wipwhole-renovate-rec-invoice-edit.php | 2 +- wms/wipwholeinstall-index-function.php | 16 +++++++++++ ...ipwholeinstall-renovate-index-function.php | 19 +++++++++++++ 6 files changed, 60 insertions(+), 25 deletions(-) diff --git a/wms/wipwhole-index-function.php b/wms/wipwhole-index-function.php index 2c895426..368dc0d6 100644 --- a/wms/wipwhole-index-function.php +++ b/wms/wipwhole-index-function.php @@ -127,7 +127,7 @@ function getDataSql($department_id, $role_id, $user_id) ]; // 補丁 黃孟澤 & 葉博澄 權限 = 李烘銘 - if(in_array($user_id,['M0166','M0091'])){ + if (in_array($user_id, ['M0166', 'M0091'])) { $user_id = 'M0086'; } @@ -295,7 +295,7 @@ function getDataSqlByFlowCode($department_id, $role_id, $user_id, $flow_code) { // 補丁 黃孟澤 & 葉博澄 權限 = 李烘銘 - if(in_array($user_id,['M0166','M0091'])){ + if (in_array($user_id, ['M0166', 'M0091'])) { $user_id = 'M0086'; } @@ -1076,11 +1076,11 @@ function getSaveEstimateInstallData($user_department_id, $role_id) return true; if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6'])) return true; - if ($user_department_id == '544' && $role_id == '3') + if ($user_department_id == '544' && in_array($role_id, ['3', '6'])) return true; if ($user_department_id == '543' && $role_id == '2') return true; - if ($user_department_id == '545' && $role_id == '6') + if ($user_department_id == '545' && in_array($role_id, ['3', '6'])) return true; return false; } @@ -1095,9 +1095,9 @@ function saveInstallData($user_department_id, $role_id) return true; if ($user_department_id == '543' && $role_id == '2') return true; - if ($user_department_id == '544' && $role_id == '3') + if ($user_department_id == '544' && in_array($role_id, ['3', '6'])) return true; - if ($user_department_id == '545' && $role_id == '6') + if ($user_department_id == '545' && in_array($role_id, ['3', '6'])) return true; if ($user_department_id == '220') return true; diff --git a/wms/wipwhole-rec-invoice-edit.php b/wms/wipwhole-rec-invoice-edit.php index 5384f087..c39a8a16 100644 --- a/wms/wipwhole-rec-invoice-edit.php +++ b/wms/wipwhole-rec-invoice-edit.php @@ -52,7 +52,7 @@ $pinzheng = getPinzhengStatus($link, $user_department_id, $role_id); $tab = getTabNo($user_department_id); // 工務助理 -if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193'])) { +if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170'])) { $warehouse2 = ""; $tab = 5; } @@ -279,7 +279,7 @@ include "wipwhole-rec-invoice-edit-submit.php"; 營業/契約確認規格 - > @@ -295,7 +295,7 @@ include "wipwhole-rec-invoice-edit-submit.php"; 確認時間 - + 確認人 @@ -339,7 +339,7 @@ include "wipwhole-rec-invoice-edit-submit.php"; ?> - > @@ -360,7 +360,7 @@ include "wipwhole-rec-invoice-edit-submit.php"; ?> 確認時間 - + 確認人 > + + 確認人 > + + 確認人 > + + 確認人 + 移交日
- > + > @@ -501,7 +501,7 @@ include "wipwhole-rec-invoice-edit-submit.php"; 設計規格 - > diff --git a/wms/wipwhole-renovate-index-function.php b/wms/wipwhole-renovate-index-function.php index d21ec4cb..f71dddb1 100644 --- a/wms/wipwhole-renovate-index-function.php +++ b/wms/wipwhole-renovate-index-function.php @@ -1057,11 +1057,11 @@ function getSaveEstimateInstallData($user_department_id, $role_id) return true; if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6'])) return true; - if ($user_department_id == '544' && $role_id == '3') + if ($user_department_id == '544' && in_array($role_id, ['3', '6'])) return true; if ($user_department_id == '543' && $role_id == '2') return true; - if ($user_department_id == '545' && $role_id == '6') + if ($user_department_id == '545' && in_array($role_id, ['3', '6'])) return true; return false; } @@ -1076,9 +1076,9 @@ function getSaveInstallDataButtonStatus($user_department_id, $role_id) return true; if ($user_department_id == '543' && $role_id == '2') return true; - if ($user_department_id == '544' && $role_id == '3') + if ($user_department_id == '544' && in_array($role_id, ['3', '6'])) return true; - if ($user_department_id == '545' && $role_id == '6') + if ($user_department_id == '545' && in_array($role_id, ['3', '6'])) return true; if ($user_department_id == '220') return true; diff --git a/wms/wipwhole-renovate-rec-invoice-edit.php b/wms/wipwhole-renovate-rec-invoice-edit.php index fd37cf61..26c14ff5 100644 --- a/wms/wipwhole-renovate-rec-invoice-edit.php +++ b/wms/wipwhole-renovate-rec-invoice-edit.php @@ -50,7 +50,7 @@ $pinzheng = getPinzhengStatus($link, $user_department_id, $role_id); $tab = getTabNo($user_department_id); // 工務助理 -if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193'])) { +if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170'])) { $warehouse2 = ""; $tab = 5; } diff --git a/wms/wipwholeinstall-index-function.php b/wms/wipwholeinstall-index-function.php index 151d439b..2596cf3d 100644 --- a/wms/wipwholeinstall-index-function.php +++ b/wms/wipwholeinstall-index-function.php @@ -120,6 +120,9 @@ function getEditFlag($department_id, $role_id, $user_id) // 南區營銷部 工務助理 if ($department_id == '314' && $role_id == '4') return 4; + // 宜花東營銷部 工務助理 + if ($department_id == '315' && $role_id == '2') + return 4; // 安裝開發支援部 工務助理 if ($department_id == '521' && $role_id == '11') return 4; @@ -219,6 +222,19 @@ function getDataSql($department_id, $role_id, $user_id) "; return $sql; } + // 宜花東營銷部 工務助理 + if ($department_id == '314' && $role_id == '4') { + $sql = " + SELECT * FROM wipwholestatus + WHERE 1=1 + AND status = '1' + AND contract_type = '$contract_type' + " . getWipwholeSearchSql() . " + AND SUBSTR(address,1,2) in ('台東','宜蘭','花蓮') + ORDER BY real_contract_arrival_date DESC + "; + return $sql; + } // 安裝開發支援部 工務助理 if ($department_id == '521' && $role_id == '11') { $sql = " diff --git a/wms/wipwholeinstall-renovate-index-function.php b/wms/wipwholeinstall-renovate-index-function.php index 2f140b60..58f48d6d 100644 --- a/wms/wipwholeinstall-renovate-index-function.php +++ b/wms/wipwholeinstall-renovate-index-function.php @@ -123,6 +123,9 @@ function getEditFlag($department_id, $role_id, $user_id) // 南區營銷部 工務助理 if ($department_id == '314' && $role_id == '4') return 4; + // 宜花東營銷部 工務助理 + if ($department_id == '315' && $role_id == '2') + return 4; // 安裝開發支援部 工務助理 if ($department_id == '521' && $role_id == '11') return 4; @@ -219,6 +222,19 @@ function getDataSql($department_id, $role_id, $user_id) "; return $sql; } + // 宜花東營銷部 工務助理 + if ($department_id == '315' && $role_id == '2') { + $sql = " + SELECT * FROM wipwholestatus + WHERE 1=1 + AND status = '1' + AND contract_type = '$contract_type' + " . getWipwholeSearchSql() . " + AND SUBSTR(address,1,2) in ('台南','臺南','嘉義','屏東','高雄') + ORDER BY real_contract_arrival_date DESC + "; + return $sql; + } // 安裝開發支援部 工務助理 if ($department_id == '521' && $role_id == '11') { $sql = " @@ -881,6 +897,9 @@ function getWarehouseStatus($link, $user_department_id, $role_id) // 南區營銷部 工務助理 if ($user_department_id == '314' && $role_id == '4') return ""; + // 宜花東營銷部 工務助理 + if ($user_department_id == '315' && $role_id == '2') + return ""; // 安裝開發支援部 工務助理 if ($user_department_id == '521' && $role_id == '11') return ""; From 9da64863c224ce5063ab75659614ff80ebba000c Mon Sep 17 00:00:00 2001 From: Ellin Date: Tue, 7 Nov 2023 15:04:12 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E8=A8=BB=E8=A7=A3=E6=8E=89header.php?= =?UTF-8?q?=E9=80=A3T8=E8=B3=87=E6=96=99=E5=BA=AB=E7=9A=84echo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/header.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wms/header.php b/wms/header.php index 348fbd63..7d7ff253 100644 --- a/wms/header.php +++ b/wms/header.php @@ -18,8 +18,8 @@ try { $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } } catch (PDOException $e) { - echo "fail"; - echo $e->getMessage(); + //echo "fail"; + //echo $e->getMessage(); } From 2029ab132ffd981df07fb82b348c5db19154be26 Mon Sep 17 00:00:00 2001 From: "gary_chen\\gary_chen" Date: Wed, 8 Nov 2023 09:05:55 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E5=A4=A7=E6=97=A5=E7=A8=8B=E7=B3=BB?= =?UTF-8?q?=E7=B5=B1=E5=8C=AF=E5=87=BAexcel=20=E6=96=B0=E5=A2=9E=E4=BE=9D?= =?UTF-8?q?=E7=85=A7=E5=9C=B0=E5=9D=80=E5=88=A4=E6=96=B7=E5=8D=80=E5=9F=9F?= =?UTF-8?q?=E7=9A=84=E6=AC=84=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/wipwhole-index-export-excel.php | 31 ++++++++++++++----- wms/wipwhole-renovate-index-export-excel.php | 29 ++++++++++++----- wms/wipwholeinstall-index-export-excel.php | 17 +++++++++- ...oleinstall-renovate-index-export-excel.php | 17 +++++++++- 4 files changed, 77 insertions(+), 17 deletions(-) diff --git a/wms/wipwhole-index-export-excel.php b/wms/wipwhole-index-export-excel.php index 021a60d5..b583c4cf 100644 --- a/wms/wipwhole-index-export-excel.php +++ b/wms/wipwhole-index-export-excel.php @@ -15,7 +15,20 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\Style\Fill; - +function getArea($address) +{ + $address = mb_substr($address, 0, 2); + if (in_array($address, ['宜蘭', '花蓮', '台東'])) + return '宜花東'; + if (in_array($address, ['臺北', '台北', '基隆', '新北'])) + return '北區'; + if (in_array($address, ['桃園', '新竹'])) + return '桃竹'; + if (in_array($address, ['南投', '臺中', '台中', '彰化', '雲林', '苗栗'])) + return '中區'; + if (in_array($address, ['台南', '臺南', '嘉義', '屏東', '高雄'])) + return '南區'; +} if ($_SERVER["REQUEST_METHOD"] == "POST") { $contractno = empty($_POST['contractno']) ? null : $_POST['contractno']; @@ -54,9 +67,10 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ', 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', - 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN' + 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN', 'BO' ]; $colTitleArr = [ + '區域', '合約號', '作番號', '客戶名稱', @@ -268,7 +282,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $dbuilding_heigh_verify_status = !empty($status_arr[$row['building_heigh_verify']]) ? $status_arr[$row['building_heigh_verify']] : ""; // 工務 工勘確認 $site_survey_contact_verify_status = !empty($site_survey_status[$row['site_survey_contact_verify']]) ? $site_survey_status[$row['site_survey_contact_verify']] : ""; - + // 生管 是否齊備確認 $shengguanok_status = !empty($status_arr[$row['shengguanok_status']]) ? $status_arr[$row['shengguanok_status']] : ""; $prattford_order_date_verify_status = !empty($status_arr[$row['prattford_order_date_verify']]) ? $status_arr[$row['prattford_order_date_verify']] : ""; @@ -279,6 +293,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $arrival_date_verify_status = !empty($status3_arr[$row['arrival_date_verify']]) ? $status3_arr[$row['arrival_date_verify']] : ""; $colContentArr = [ + getArea($row['address']), $row['contractno'], $row['facilityno'], $row['custom'], @@ -345,31 +360,31 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { } // 背景顏色為藍色 - $styleA1toC1 = $sheet->getStyle('A1:L1'); + $styleA1toC1 = $sheet->getStyle('A1:M1'); $fillA1toC1 = $styleA1toC1->getFill(); $fillA1toC1->setFillType(Fill::FILL_SOLID) ->getStartColor()->setRGB('8EA9DB'); // 背景顏色為藍色 - $styleA1toC1 = $sheet->getStyle('M1:W1'); + $styleA1toC1 = $sheet->getStyle('N1:X1'); $fillA1toC1 = $styleA1toC1->getFill(); $fillA1toC1->setFillType(Fill::FILL_SOLID) ->getStartColor()->setRGB('BBFFEE'); // 背景顏色為橘色 - $styleA1toC1 = $sheet->getStyle('X1:AH1'); + $styleA1toC1 = $sheet->getStyle('Y1:AI1'); $fillA1toC1 = $styleA1toC1->getFill(); $fillA1toC1->setFillType(Fill::FILL_SOLID) ->getStartColor()->setRGB('FFBB66'); // 背景顏色為綠色 - $styleA1toC1 = $sheet->getStyle('AI1:AM1'); + $styleA1toC1 = $sheet->getStyle('AJ1:AN1'); $fillA1toC1 = $styleA1toC1->getFill(); $fillA1toC1->setFillType(Fill::FILL_SOLID) ->getStartColor()->setRGB('DDFF77'); // 背景顏色為橘色 - $styleA1toC1 = $sheet->getStyle('AN1:BB1'); + $styleA1toC1 = $sheet->getStyle('AO1:BC1'); $fillA1toC1 = $styleA1toC1->getFill(); $fillA1toC1->setFillType(Fill::FILL_SOLID) ->getStartColor()->setRGB('FFCCCC'); diff --git a/wms/wipwhole-renovate-index-export-excel.php b/wms/wipwhole-renovate-index-export-excel.php index bde16b28..fc06e8b6 100644 --- a/wms/wipwhole-renovate-index-export-excel.php +++ b/wms/wipwhole-renovate-index-export-excel.php @@ -14,7 +14,20 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\Style\Fill; - +function getArea($address) +{ + $address = mb_substr($address, 0, 2); + if (in_array($address, ['宜蘭', '花蓮', '台東'])) + return '宜花東'; + if (in_array($address, ['臺北', '台北', '基隆', '新北'])) + return '北區'; + if (in_array($address, ['桃園', '新竹'])) + return '桃竹'; + if (in_array($address, ['南投', '臺中', '台中', '彰化', '雲林', '苗栗'])) + return '中區'; + if (in_array($address, ['台南', '臺南', '嘉義', '屏東', '高雄'])) + return '南區'; +} if ($_SERVER["REQUEST_METHOD"] == "POST") { $contractno = empty($_POST['contractno']) ? null : $_POST['contractno']; @@ -52,9 +65,10 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ', 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', - 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN' + 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN', 'BO' ]; $colTitleArr = [ + '區域', '合約號', '作番號', '汰改方案', @@ -277,6 +291,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $arrival_date_verify_status = !empty($status3_arr[$row['arrival_date_verify']]) ? $status3_arr[$row['arrival_date_verify']] : ""; $colContentArr = [ + getArea($row['address']), $row['contractno'], $row['facilityno'], implode("+", json_decode($row['renovate_type'])), @@ -343,31 +358,31 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $sheet->getColumnDimension($column->getColumnIndex())->setAutoSize(true); // 背景顏色為藍色 - $styleA1toC1 = $sheet->getStyle('A1:M1'); + $styleA1toC1 = $sheet->getStyle('A1:N1'); $fillA1toC1 = $styleA1toC1->getFill(); $fillA1toC1->setFillType(Fill::FILL_SOLID) ->getStartColor()->setRGB('8EA9DB'); // 背景顏色為橘色 - $styleA1toC1 = $sheet->getStyle('N1:T1'); + $styleA1toC1 = $sheet->getStyle('O1:U1'); $fillA1toC1 = $styleA1toC1->getFill(); $fillA1toC1->setFillType(Fill::FILL_SOLID) ->getStartColor()->setRGB('FFBB66'); // 背景顏色為綠色 - $styleA1toC1 = $sheet->getStyle('U1:AC1'); + $styleA1toC1 = $sheet->getStyle('V1:AD1'); $fillA1toC1 = $styleA1toC1->getFill(); $fillA1toC1->setFillType(Fill::FILL_SOLID) ->getStartColor()->setRGB('DDFF77'); // 背景顏色為藍色 - $styleA1toC1 = $sheet->getStyle('AD1:AN1'); + $styleA1toC1 = $sheet->getStyle('AE1:AO1'); $fillA1toC1 = $styleA1toC1->getFill(); $fillA1toC1->setFillType(Fill::FILL_SOLID) ->getStartColor()->setRGB('BBFFEE'); // 背景顏色為橘色 - $styleA1toC1 = $sheet->getStyle('AO1:BD1'); + $styleA1toC1 = $sheet->getStyle('AP1:BE1'); $fillA1toC1 = $styleA1toC1->getFill(); $fillA1toC1->setFillType(Fill::FILL_SOLID) ->getStartColor()->setRGB('FFCCCC'); diff --git a/wms/wipwholeinstall-index-export-excel.php b/wms/wipwholeinstall-index-export-excel.php index 2edd5487..1b030313 100644 --- a/wms/wipwholeinstall-index-export-excel.php +++ b/wms/wipwholeinstall-index-export-excel.php @@ -34,7 +34,20 @@ function alpha2num($a) return $n - 1; } - +function getArea($address) +{ + $address = mb_substr($address, 0, 2); + if (in_array($address, ['宜蘭', '花蓮', '台東'])) + return '宜花東'; + if (in_array($address, ['臺北', '台北', '基隆', '新北'])) + return '北區'; + if (in_array($address, ['桃園', '新竹'])) + return '桃竹'; + if (in_array($address, ['南投', '臺中', '台中', '彰化', '雲林', '苗栗'])) + return '中區'; + if (in_array($address, ['台南', '臺南', '嘉義', '屏東', '高雄'])) + return '南區'; +} if ($_SERVER["REQUEST_METHOD"] == "POST") { $contractno = empty($_POST['contractno']) ? null : $_POST['contractno']; @@ -68,6 +81,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $sheet = $spreadsheet->getActiveSheet(); $colTitleArr = [ + '區域', '合約號', '作番號', '客戶名稱', @@ -134,6 +148,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $gongwuok += 1; $colContentArr = [ + getArea($row['address']), $row['contractno'], $row['facilityno'], $row['custom'], diff --git a/wms/wipwholeinstall-renovate-index-export-excel.php b/wms/wipwholeinstall-renovate-index-export-excel.php index 9598cc80..702992f7 100644 --- a/wms/wipwholeinstall-renovate-index-export-excel.php +++ b/wms/wipwholeinstall-renovate-index-export-excel.php @@ -34,7 +34,20 @@ function alpha2num($a) return $n - 1; } - +function getArea($address) +{ + $address = mb_substr($address, 0, 2); + if (in_array($address, ['宜蘭', '花蓮', '台東'])) + return '宜花東'; + if (in_array($address, ['臺北', '台北', '基隆', '新北'])) + return '北區'; + if (in_array($address, ['桃園', '新竹'])) + return '桃竹'; + if (in_array($address, ['南投', '臺中', '台中', '彰化', '雲林', '苗栗'])) + return '中區'; + if (in_array($address, ['台南', '臺南', '嘉義', '屏東', '高雄'])) + return '南區'; +} if ($_SERVER["REQUEST_METHOD"] == "POST") { $contractno = empty($_POST['contractno']) ? null : $_POST['contractno']; @@ -67,6 +80,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $colTitleArr = [ + '區域', '合約號', '作番號', '汰改方案', @@ -135,6 +149,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $gongwuok += 1; $colContentArr = [ + getArea($row['address']), $row['contractno'], $row['facilityno'], implode("+", json_decode($row['renovate_type'])), From fbad7dff721bec0a449232efa6a2c818f3190e7b Mon Sep 17 00:00:00 2001 From: "gary_chen\\gary_chen" Date: Wed, 8 Nov 2023 09:06:34 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E5=A4=A7=E6=97=A5=E7=A8=8B=20=E5=B7=A5?= =?UTF-8?q?=E5=8B=99=E5=8A=A9=E7=90=86=E6=96=B0=E5=A2=9E=20M0188?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/wipwhole-rec-invoice-edit.php | 2 +- wms/wipwhole-renovate-rec-invoice-edit.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/wms/wipwhole-rec-invoice-edit.php b/wms/wipwhole-rec-invoice-edit.php index c39a8a16..79ffaf66 100644 --- a/wms/wipwhole-rec-invoice-edit.php +++ b/wms/wipwhole-rec-invoice-edit.php @@ -52,7 +52,7 @@ $pinzheng = getPinzhengStatus($link, $user_department_id, $role_id); $tab = getTabNo($user_department_id); // 工務助理 -if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170'])) { +if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170', 'M0188'])) { $warehouse2 = ""; $tab = 5; } diff --git a/wms/wipwhole-renovate-rec-invoice-edit.php b/wms/wipwhole-renovate-rec-invoice-edit.php index 26c14ff5..fb4b4746 100644 --- a/wms/wipwhole-renovate-rec-invoice-edit.php +++ b/wms/wipwhole-renovate-rec-invoice-edit.php @@ -50,7 +50,7 @@ $pinzheng = getPinzhengStatus($link, $user_department_id, $role_id); $tab = getTabNo($user_department_id); // 工務助理 -if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170'])) { +if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170', 'M0188'])) { $warehouse2 = ""; $tab = 5; } From 57136fa53213875d96b2e8675becf58c64ca25b4 Mon Sep 17 00:00:00 2001 From: jrbin Date: Wed, 8 Nov 2023 09:08:38 +0800 Subject: [PATCH 05/13] =?UTF-8?q?sql=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/excel-upload.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wms/excel-upload.php b/wms/excel-upload.php index b1944a1e..5c681828 100644 --- a/wms/excel-upload.php +++ b/wms/excel-upload.php @@ -151,7 +151,7 @@ if (move_uploaded_file($temp_file_name, $target_file)) { default: $facility_kind = ""; } - $facilitsql = "SELECT * FROM facility where facilityno='$facilityno'"; + $facilitsql = "SELECT * FROM facility where facilityno='$facilityno' and contractno='$contractno'"; $facilit_nums_rows=mysqli_num_rows(mysqli_query($link,$facilitsql)); if($facilit_nums_rows==0){ $weight= "450";//重量 From 6e912866abf6a19f452e2ed18c21b59e224dbddb Mon Sep 17 00:00:00 2001 From: "gary_chen\\gary_chen" Date: Wed, 8 Nov 2023 09:12:41 +0800 Subject: [PATCH 06/13] =?UTF-8?q?gitignore=20=E6=8E=92=E9=99=A4=E5=A4=A7?= =?UTF-8?q?=E6=97=A5=E7=A8=8B=E7=94=A2=E7=94=9F=E7=9A=84excel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ wms/excel/gary_test.xlsx | Bin 28718 -> 0 bytes wms/excel/wipwholeintall.xlsx | Bin 8668 -> 0 bytes 3 files changed, 2 insertions(+) delete mode 100644 wms/excel/gary_test.xlsx delete mode 100644 wms/excel/wipwholeintall.xlsx diff --git a/.gitignore b/.gitignore index 098a9a18..c01aa8e5 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,5 @@ wms/database.php workflow/log/ wms/header.php wms/loginapi.php +wms/excel/gary_test.xlsx +wms/excel/wipwholeintall.xlsx diff --git a/wms/excel/gary_test.xlsx b/wms/excel/gary_test.xlsx deleted file mode 100644 index 90633eeacc4a998b6ef920355f53d44c9f99ee1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28718 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 LJ^W}-{po)I+VQp- diff --git a/wms/excel/wipwholeintall.xlsx b/wms/excel/wipwholeintall.xlsx deleted file mode 100644 index d92d3be71a33cf3db9fb08baf0d84bb832677760..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8668 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 Q5GwRN26db>C=3Aje@+CL!T Date: Wed, 8 Nov 2023 10:11:23 +0800 Subject: [PATCH 07/13] =?UTF-8?q?1.=E4=BF=AE=E6=AD=A3=E6=9C=AA=E4=B8=8A?= =?UTF-8?q?=E5=82=B3=E6=AA=94=E6=A1=88=E5=8D=BB=E7=94=A2=E7=94=9F=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E6=88=B3=E8=A8=98bug=202.=E5=A4=A7=E6=97=A5=E7=A8=8B?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A8=B1=E5=8D=94=E7=90=86=E6=9B=B4=E6=94=B9?= =?UTF-8?q?=E6=A5=AD=E5=8B=99=E9=A0=85=E7=9B=AE=E7=9A=84=E6=AC=8A=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/wipwhole-rec-invoice-edit-fileupload.php | 6 +++++- wms/wipwhole-rec-invoice-edit-submit.php | 12 +++++------- wms/wipwhole-rec-invoice-edit.php | 15 +++++++++++++-- ...wipwhole-renovate-rec-invoice-edit-submit.php | 16 ++++++---------- wms/wipwhole-renovate-rec-invoice-edit.php | 13 ++++++++++++- 5 files changed, 41 insertions(+), 21 deletions(-) diff --git a/wms/wipwhole-rec-invoice-edit-fileupload.php b/wms/wipwhole-rec-invoice-edit-fileupload.php index f62a3132..b993edc2 100644 --- a/wms/wipwhole-rec-invoice-edit-fileupload.php +++ b/wms/wipwhole-rec-invoice-edit-fileupload.php @@ -11,7 +11,11 @@ function fileIUpload($post_name) if (file_exists($sales_spec_verify_file)) unlink($sales_spec_verify_file); move_uploaded_file($temp_file_name, $sales_spec_verify_file); - return strtolower($target_dir . basename($datetime . $file_name)); + if (!empty($file_name)) { + return strtolower($target_dir . basename($datetime . $file_name)); + } else { + return ""; + } } else { return ""; } diff --git a/wms/wipwhole-rec-invoice-edit-submit.php b/wms/wipwhole-rec-invoice-edit-submit.php index 184f6790..6b4713a3 100644 --- a/wms/wipwhole-rec-invoice-edit-submit.php +++ b/wms/wipwhole-rec-invoice-edit-submit.php @@ -483,13 +483,8 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { "; if (!empty($official_check_file)) $updatesql .= "official_check_file = '$official_check_file', "; - } else { - echo "暫無權限"; - exit(); - } - - // 暫時可編輯及刪除權限 - if (in_array($user_id, ['M0175', 'M0079'])) { + } else if (in_array($user_id, ['M0175', 'M0079', 'M0060'])) { + // 暫時可編輯及刪除權限 $updatesql .= " contractno = '$contractno', facility_temp_no = '$facility_temp_no', @@ -509,6 +504,9 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { contract_arrival_date = '$contract_arrival_date', facility_kind = '$facility_kind', "; + }else{ + echo "暫無權限"; + exit(); } // 工務助理 diff --git a/wms/wipwhole-rec-invoice-edit.php b/wms/wipwhole-rec-invoice-edit.php index 79ffaf66..f0588313 100644 --- a/wms/wipwhole-rec-invoice-edit.php +++ b/wms/wipwhole-rec-invoice-edit.php @@ -59,7 +59,7 @@ if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170', 'M0188'])) // 暫時可編輯及刪除權限 $update_delete_status = "disabled"; -if (in_array($user_id, ['M0175', 'M0079'])) { +if (in_array($user_id, ['M0175', 'M0079', 'M0060'])) { $update_delete_status = ""; } @@ -260,6 +260,17 @@ include "wipwhole-rec-invoice-edit-submit.php";
+ + + + + + + @@ -1202,7 +1213,7 @@ include "wipwhole-rec-invoice-edit-submit.php"; 實際出貨日(到工地) - > + > diff --git a/wms/wipwhole-renovate-rec-invoice-edit-submit.php b/wms/wipwhole-renovate-rec-invoice-edit-submit.php index cd5ed9ea..5bf4080a 100644 --- a/wms/wipwhole-renovate-rec-invoice-edit-submit.php +++ b/wms/wipwhole-renovate-rec-invoice-edit-submit.php @@ -463,14 +463,8 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { "; if (!empty($official_check_file)) $updatesql .= "official_check_file = '$official_check_file', "; - } else { - echo "暫無權限"; - exit(); - } - - - // 暫時可編輯及刪除權限 - if (in_array($user_id, ['M0175', 'M0079'])) { + } else if (in_array($user_id, ['M0175', 'M0079', 'M0060'])) { + // 暫時可編輯及刪除權限 $updatesql .= " contractno = '$contractno', facility_temp_no = '$facility_temp_no', @@ -490,9 +484,11 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { contract_arrival_date = '$contract_arrival_date', facility_kind = '$facility_kind', "; + } else { + echo "暫無權限"; + exit(); } - // 工務助理 $updatesql .= " install_outsourcer = '$install_outsourcer', @@ -513,7 +509,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { estimate_tryrun_end_date_owner = '$estimate_tryrun_end_date_owner', warehouse_assistant_remark = '$warehouse_assistant_remark', "; - if (!empty($plan_diagram_file)){ + if (!empty($plan_diagram_file)) { $updatesql .= "plan_diagram_file = '$plan_diagram_file', "; $updatesql .= " all_remark = CONCAT('" . $user_id . accountidToName($user_id) . "_" . $datetime . "
上傳了安裝圖附件

',IF(all_remark IS NULL,'',all_remark)), diff --git a/wms/wipwhole-renovate-rec-invoice-edit.php b/wms/wipwhole-renovate-rec-invoice-edit.php index fb4b4746..02a76d06 100644 --- a/wms/wipwhole-renovate-rec-invoice-edit.php +++ b/wms/wipwhole-renovate-rec-invoice-edit.php @@ -57,7 +57,7 @@ if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170', 'M0188'])) // 暫時可編輯及刪除權限 $update_delete_status = "disabled"; -if (in_array($user_id, ['M0175', 'M0079'])) { +if (in_array($user_id, ['M0175', 'M0079', 'M0060'])) { $update_delete_status = ""; } @@ -249,6 +249,17 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php"; + + + + + + + From d2318ee66210b81836e07f1554c06b780357ff4b Mon Sep 17 00:00:00 2001 From: jrbin Date: Wed, 8 Nov 2023 11:32:15 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E7=B0=BD=E6=A0=B8bug=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/cont/sign_form.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wms/cont/sign_form.php b/wms/cont/sign_form.php index c0f18d9e..97e92175 100644 --- a/wms/cont/sign_form.php +++ b/wms/cont/sign_form.php @@ -475,7 +475,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
- +
From 061a770e055622c35df9799676e9acb6f04ca900 Mon Sep 17 00:00:00 2001 From: "gary_chen\\gary_chen" Date: Wed, 8 Nov 2023 14:20:20 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=87=BA=E8=B2=A8?= =?UTF-8?q?=E5=9C=B0=E5=8D=80=E9=A0=90=E5=AE=9A=E6=98=8E=E7=B4=B0=E5=A0=B1?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/estimated_shipping_date_report.php | 488 +++++++++++++------------ 1 file changed, 250 insertions(+), 238 deletions(-) diff --git a/wms/estimated_shipping_date_report.php b/wms/estimated_shipping_date_report.php index 9872d265..a428e639 100644 --- a/wms/estimated_shipping_date_report.php +++ b/wms/estimated_shipping_date_report.php @@ -29,6 +29,8 @@ $sql = " w.contract_type FROM wipwholestatus AS w WHERE status = '1' + AND real_contract_arrival_date >= '$start_y-$start_m-1' + AND real_contract_arrival_date <= '$end_y-$end_m-31' ) AS this_order WHERE 1 = 1 GROUP BY this_order.contract_type, @@ -41,7 +43,7 @@ $data = []; while ($row = $result->fetch_assoc()) { $data[] = $row; } -// print_r($data); + function findData($data, $searchData) { foreach ($data as $item) { @@ -115,7 +117,6 @@ function findAllDataByYearMonth($data, $searchData) && $item['date_year'] == $i && $item['date_month'] == str_pad($j, 2, '0', STR_PAD_LEFT) ) { - // echo $item['facility_count']." "; $count += $item['facility_count']; } } @@ -134,8 +135,9 @@ $sql = " FROM wipwholestatus AS w WHERE 1=1 AND status = '1' - AND real_contract_arrival_date >= '$start_y-$start_m-0' - AND real_contract_arrival_date <= '$end_y-$end_m-0' + AND contract_type = 'A' + AND real_contract_arrival_date >= '$start_y-$start_m-1' + AND real_contract_arrival_date <= '$end_y-$end_m-31' ) AS new_order WHERE 1 = 1 GROUP BY new_order.facility_kind @@ -175,8 +177,8 @@ $sql = " FROM wipwholestatus AS w WHERE 1=1 AND status = '1' - AND real_contract_arrival_date >= '$start_y-$start_m-0' - AND real_contract_arrival_date <= '$end_y-$end_m-0' + AND real_contract_arrival_date >= '$start_y-$start_m-1' + AND real_contract_arrival_date <= '$end_y-$end_m-31' AND contract_type = 'B' "; $result = mysqli_query($link, $sql); @@ -184,28 +186,42 @@ $data3 = []; while ($row = $result->fetch_assoc()) { $data3[] = $row; } -$M1 = 0; -$M2 = 0; -$M3 = 0; -$M4 = 0; -$MA = 0; -$M_count = 0; + +// 分開計算 + +// $M1 = 0; +// $M2 = 0; +// $M3 = 0; +// $M4 = 0; +// $MA = 0; +// $M_count = 0; +// foreach ($data3 as $row) { +// $renovate_type_arr = json_decode($row['renovate_type']); +// foreach ($renovate_type_arr as $row2) { +// if ($row2 == 'M1') +// $M1++; +// if ($row2 == 'M2') +// $M2++; +// if ($row2 == 'M3') +// $M3++; +// if ($row2 == 'M4') +// $M4++; +// if ($row2 == 'MA') +// $MA++; +// } +// } +// $M_count = $M1 + $M2 + $M3 + $M4 + $MA; + +$M_count = count($data3); +$m_type_arr = []; +$m_type_arr[''] = 0; +foreach ($data3 as $row) { + $m_type_arr[implode("+", json_decode($row['renovate_type']))] = 0; +} foreach ($data3 as $row) { - $renovate_type_arr = json_decode($row['renovate_type']); - foreach ($renovate_type_arr as $row2) { - if ($row2 == 'M1') - $M1++; - if ($row2 == 'M2') - $M2++; - if ($row2 == 'M3') - $M3++; - if ($row2 == 'M4') - $M4++; - if ($row2 == 'MA') - $MA++; - } + $m_type_arr[implode("+", json_decode($row['renovate_type']))]++; } -$M_count = $M1 + $M2 + $M3 + $M4 + $MA; + //數字轉英文(0=>A、1=>B、26=>AA...以此類推) function num2alpha($n) @@ -224,264 +240,259 @@ function alpha2num($a) $n = $n * 26 + ord($a[$i]) - 0x40; return $n - 1; } +if($_SERVER["REQUEST_METHOD"] == 'POST'){ + if ($_POST['excel_output'] == 'excel_output') { + $spreadsheet = new Spreadsheet(); + $sheet = $spreadsheet->getActiveSheet(); + $sheet->setTitle('出貨總表'); -if ($_POST['excel_output'] == 'excel_output') { - $spreadsheet = new Spreadsheet(); - $sheet = $spreadsheet->getActiveSheet(); - $sheet->setTitle('出貨總表'); - - $title_col_num = 3; - for ($i = $start_y; $i <= $end_y; $i++) { - $this_start_m = $i == $start_y ? $start_m : 1; - $this_end_m = $i == $start_y ? 12 : $end_m; - for ($j = $this_start_m; $j <= $this_end_m; $j++) { - $title_col_num += 2; - if ($i == $end_y && $j == ($end_m + 1)) { - break; + $title_col_num = 3; + for ($i = $start_y; $i <= $end_y; $i++) { + $this_start_m = $i == $start_y ? $start_m : 1; + $this_end_m = $i == $start_y ? 12 : $end_m; + for ($j = $this_start_m; $j <= $this_end_m; $j++) { + $title_col_num += 2; + if ($i == $end_y && $j == ($end_m + 1)) { + break; + } } } - } - $sheet->mergeCells('A1:' . num2alpha($title_col_num) . '1'); - $sheet->setCellValue('A1', '出貨地區預定明細'); + $sheet->mergeCells('A1:' . num2alpha($title_col_num) . '1'); + $sheet->setCellValue('A1', '出貨地區預定明細'); - $title_col_num = 0; - $sheet->setCellValue(num2alpha($title_col_num) . '2', ''); - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '2', ''); - $title_col_num++; + $title_col_num = 0; + $sheet->setCellValue(num2alpha($title_col_num) . '2', ''); + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . '2', ''); + $title_col_num++; - for ($i = $start_y; $i <= $end_y; $i++) { - $this_start_m = $i == $start_y ? $start_m : 1; - $this_end_m = $i == $start_y ? 12 : $end_m; - for ($j = $this_start_m; $j <= $this_end_m; $j++) { - if ($i == $end_y && $j == ($end_m + 1)) - break; - $sheet->mergeCells(num2alpha($title_col_num) . '2:' . num2alpha($title_col_num + 1) . '2'); - $sheet->setCellValue(num2alpha($title_col_num) . '2', $i . '年' . $j . '月'); - $title_col_num += 2; + for ($i = $start_y; $i <= $end_y; $i++) { + $this_start_m = $i == $start_y ? $start_m : 1; + $this_end_m = $i == $start_y ? 12 : $end_m; + for ($j = $this_start_m; $j <= $this_end_m; $j++) { + if ($i == $end_y && $j == ($end_m + 1)) + break; + $sheet->mergeCells(num2alpha($title_col_num) . '2:' . num2alpha($title_col_num + 1) . '2'); + $sheet->setCellValue(num2alpha($title_col_num) . '2', $i . '年' . $j . '月'); + $title_col_num += 2; + } } - } - $sheet->setCellValue(num2alpha($title_col_num) . '2', '累計台數'); - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '2', '累計台數'); - $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . '2', '累計台數'); + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . '2', '累計台數'); + $title_col_num++; - $title_col_num = 0; - $sheet->setCellValue(num2alpha($title_col_num) . '3', '區域'); - $title_col_num = 2; + $title_col_num = 0; + $sheet->setCellValue(num2alpha($title_col_num) . '3', '區域'); + $title_col_num = 2; - for ($i = $start_y; $i <= $end_y; $i++) { - $this_start_m = $i == $start_y ? $start_m : 1; - $this_end_m = $i == $start_y ? 12 : $end_m; - for ($j = $this_start_m; $j <= $this_end_m; $j++) { - if ($i == $end_y && $j == ($end_m + 1)) { - break; + for ($i = $start_y; $i <= $end_y; $i++) { + $this_start_m = $i == $start_y ? $start_m : 1; + $this_end_m = $i == $start_y ? 12 : $end_m; + for ($j = $this_start_m; $j <= $this_end_m; $j++) { + if ($i == $end_y && $j == ($end_m + 1)) { + break; + } + $sheet->setCellValue(num2alpha($title_col_num) . '3', '新梯'); + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . '3', '汰改'); + $title_col_num++; } - $sheet->setCellValue(num2alpha($title_col_num) . '3', '新梯'); + } + $sheet->setCellValue(num2alpha($title_col_num) . '3', '新梯'); + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . '3', '汰改'); + $title_col_num++; + + $area_arr = [ + [4, 6, '台北'], + [7, 9, '桃竹苗'], + [10, 13, '中部'], + [14, 17, '南部'], + [18, 20, '宜花東'], + [21, 21, '未分類'] + ]; + foreach ($area_arr as $row) { + $title_col_num = 0; + $sheet->mergeCells(num2alpha($title_col_num) . $row[0] . ':' . num2alpha($title_col_num) . $row[1]); + $sheet->setCellValue(num2alpha($title_col_num) . $row[0], $row[2]); + } + + $area_arr = [ + [4, '台北'], + [5, '新北'], + [6, '基隆'], + [7, '桃園'], + [8, '新竹'], + [9, '苗栗'], + [10, '台中'], + [11, '南投'], + [12, '彰化'], + [13, '雲林'], + [14, '嘉義'], + [15, '台南'], + [16, '高雄'], + [17, '屏東'], + [18, '宜蘭'], + [19, '花蓮'], + [20, '台東'], + [21, ''] + ]; + foreach ($area_arr as $row) { + $title_col_num = 0; + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . $row[0], $row[1]); + for ($i = $start_y; $i <= $end_y; $i++) { + $this_start_m = $i == $start_y ? $start_m : 1; + $this_end_m = $i == $start_y ? 12 : $end_m; + for ($j = $this_start_m; $j <= $this_end_m; $j++) { + if ($i == $end_y && $j == ($end_m + 1)) { + break; + } + $tmp_arr = array( + 'date_year' => $i, + 'date_month' => str_pad($j, 2, '0', STR_PAD_LEFT), + 'sub_address' => $row[1], + 'contract_type' => 'A', + ); + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . $row[0], findData($data, $tmp_arr)); + $tmp_arr['contract_type'] = 'B'; + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . $row[0], findData($data, $tmp_arr)); + } + } + $tmp_arr = array( + 'start_y' => $start_y, + 'end_y' => $end_y, + 'start_m' => $start_m, + 'end_m' => $end_m, + 'sub_address' => $row[1], + 'contract_type' => 'A', + ); $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '3', '汰改'); + $sheet->setCellValue(num2alpha($title_col_num) . $row[0], findDataByCity($data, $tmp_arr)); + $tmp_arr['contract_type'] = 'B'; $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . $row[0], findDataByCity($data, $tmp_arr)); } - } - $sheet->setCellValue(num2alpha($title_col_num) . '3', '新梯'); - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '3', '汰改'); - $title_col_num++; - $area_arr = [ - [4, 6, '台北'], - [7, 9, '桃竹苗'], - [10, 13, '中部'], - [14, 17, '南部'], - [18, 20, '宜花東'], - [21, 21, '未分類'] - ]; - foreach ($area_arr as $row) { - $title_col_num = 0; - $sheet->mergeCells(num2alpha($title_col_num) . $row[0] . ':' . num2alpha($title_col_num) . $row[1]); - $sheet->setCellValue(num2alpha($title_col_num) . $row[0], $row[2]); - } - $area_arr = [ - [4, '台北'], - [5, '新北'], - [6, '基隆'], - [7, '桃園'], - [8, '新竹'], - [9, '苗栗'], - [10, '台中'], - [11, '南投'], - [12, '彰化'], - [13, '雲林'], - [14, '嘉義'], - [15, '台南'], - [16, '高雄'], - [17, '屏東'], - [18, '宜蘭'], - [19, '花蓮'], - [20, '台東'], - [21, ''] - ]; - foreach ($area_arr as $row) { $title_col_num = 0; $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . $row[0], $row[1]); + $sheet->setCellValue(num2alpha($title_col_num) . '22', "合計"); for ($i = $start_y; $i <= $end_y; $i++) { $this_start_m = $i == $start_y ? $start_m : 1; $this_end_m = $i == $start_y ? 12 : $end_m; for ($j = $this_start_m; $j <= $this_end_m; $j++) { - if ($i == $end_y && $j == ($end_m + 1)) { + if ($i == $end_y && $j == ($end_m + 1)) break; - } $tmp_arr = array( 'date_year' => $i, 'date_month' => str_pad($j, 2, '0', STR_PAD_LEFT), - 'sub_address' => $row[1], 'contract_type' => 'A', ); $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . $row[0], findData($data, $tmp_arr)); + $sheet->setCellValue(num2alpha($title_col_num) . '22', findDataByYearMonth($data, $tmp_arr)); $tmp_arr['contract_type'] = 'B'; $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . $row[0], findData($data, $tmp_arr)); + $sheet->setCellValue(num2alpha($title_col_num) . '22', findDataByYearMonth($data, $tmp_arr)); } } $tmp_arr = array( 'start_y' => $start_y, - 'end_y' => $end_y, - 'start_m' => $start_m, + 'end_y' => $end_y, + 'start_m' => $start_m, 'end_m' => $end_m, - 'sub_address' => $row[1], 'contract_type' => 'A', ); $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . $row[0], findDataByCity($data, $tmp_arr)); + $sheet->setCellValue(num2alpha($title_col_num) . '22', findAllDataByYearMonth($data, $tmp_arr)); $tmp_arr['contract_type'] = 'B'; $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . $row[0], findDataByCity($data, $tmp_arr)); - } - - - $title_col_num = 0; - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '22', "合計"); - for ($i = $start_y; $i <= $end_y; $i++) { - $this_start_m = $i == $start_y ? $start_m : 1; - $this_end_m = $i == $start_y ? 12 : $end_m; - for ($j = $this_start_m; $j <= $this_end_m; $j++) { - if ($i == $end_y && $j == ($end_m + 1)) - break; - $tmp_arr = array( - 'date_year' => $i, - 'date_month' => str_pad($j, 2, '0', STR_PAD_LEFT), - 'contract_type' => 'A', - ); - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '22', findDataByYearMonth($data, $tmp_arr)); - $tmp_arr['contract_type'] = 'B'; - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '22', findDataByYearMonth($data, $tmp_arr)); - } - } - $tmp_arr = array( - 'start_y' => $start_y, - 'end_y' => $end_y, - 'start_m' => $start_m, - 'end_m' => $end_m, - 'contract_type' => 'A', - ); - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '22', findAllDataByYearMonth($data, $tmp_arr)); - $tmp_arr['contract_type'] = 'B'; - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '22', findAllDataByYearMonth($data, $tmp_arr)); + $sheet->setCellValue(num2alpha($title_col_num) . '22', findAllDataByYearMonth($data, $tmp_arr)); - $sheet->mergeCells('A25:I25'); - $sheet->setCellValue('A25', '受定規格分析'); + $sheet->mergeCells('A25:I25'); + $sheet->setCellValue('A25', '受定規格分析'); - $title_col_num = 0; - $sheet->setCellValue(num2alpha($title_col_num) . '26', "代碼"); - foreach ($data2 as $row) { - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '26', $row['facility_kind']); - } + $title_col_num = 0; + $sheet->setCellValue(num2alpha($title_col_num) . '26', "代碼"); + foreach ($data2 as $row) { + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . '26', $row['facility_kind']); + } - $title_col_num = 0; - $sheet->setCellValue(num2alpha($title_col_num) . '27', "機種"); - foreach ($data2 as $row) { + $title_col_num = 0; + $sheet->setCellValue(num2alpha($title_col_num) . '27', "機種"); + foreach ($data2 as $row) { + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . '27', getFacilityNamebyType($row['facility_kind'])); + } $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '27', getFacilityNamebyType($row['facility_kind'])); - } - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '27', "合計"); + $sheet->setCellValue(num2alpha($title_col_num) . '27', "合計"); - $title_col_num = 0; - $sheet->setCellValue(num2alpha($title_col_num) . '28', "數量"); - foreach ($data2 as $row) { + $title_col_num = 0; + $sheet->setCellValue(num2alpha($title_col_num) . '28', "數量"); + foreach ($data2 as $row) { + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . '28', $row['facility_count']); + } $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '28', $row['facility_count']); - } - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '28', findFacilityTypeAllCount($data2)); + $sheet->setCellValue(num2alpha($title_col_num) . '28', findFacilityTypeAllCount($data2)); - $title_col_num = 0; - $sheet->setCellValue(num2alpha($title_col_num) . '29', "百分比"); - foreach ($data2 as $row) { + $title_col_num = 0; + $sheet->setCellValue(num2alpha($title_col_num) . '29', "百分比"); + foreach ($data2 as $row) { + $title_col_num++; + $sheet->setCellValue(num2alpha($title_col_num) . '29', (round($row['facility_count'] / findFacilityTypeAllCount($data2), 4) * 100) . "%"); + } $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '29', (round($row['facility_count'] / findFacilityTypeAllCount($data2), 4) * 100) . "%"); - } - $title_col_num++; - $sheet->setCellValue(num2alpha($title_col_num) . '29', "100%"); + $sheet->setCellValue(num2alpha($title_col_num) . '29', "100%"); - $sheet->mergeCells('A32:G32'); - $sheet->setCellValue('G25', '舊改受訂規格分析'); + $sheet->mergeCells('A32:G32'); + $sheet->setCellValue('G25', '舊改受訂規格分析'); - $title_col_num = 0; - $sheet->setCellValue(num2alpha($title_col_num++) . '33', "類型"); - $sheet->setCellValue(num2alpha($title_col_num++) . '33', "M1"); - $sheet->setCellValue(num2alpha($title_col_num++) . '33', "M2"); - $sheet->setCellValue(num2alpha($title_col_num++) . '33', "M3"); - $sheet->setCellValue(num2alpha($title_col_num++) . '33', "M4"); - $sheet->setCellValue(num2alpha($title_col_num++) . '33', "MA"); - $sheet->setCellValue(num2alpha($title_col_num++) . '33', "合計"); + $title_col_num = 0; + $sheet->setCellValue(num2alpha($title_col_num++) . '33', "類型"); + foreach ($m_type_arr as $key => $val) { + $title_tmp = empty($key) ? '未分類' : $key; + $sheet->setCellValue(num2alpha($title_col_num++) . '33', $title_tmp); + } + $sheet->setCellValue(num2alpha($title_col_num++) . '33', "合計"); - $title_col_num = 0; - $sheet->setCellValue(num2alpha($title_col_num++) . '34', "數量"); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', $M1); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', $M2); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', $M3); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', $M4); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', $MA); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', $M_count); + $title_col_num = 0; + $sheet->setCellValue(num2alpha($title_col_num++) . '34', "數量"); + foreach ($m_type_arr as $key => $val) { + $sheet->setCellValue(num2alpha($title_col_num++) . '34', $val); + } + $sheet->setCellValue(num2alpha($title_col_num++) . '34', $M_count); - $title_col_num = 0; - $sheet->setCellValue(num2alpha($title_col_num++) . '34', "百分比"); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', (round($M1 / $M_count, 4) * 100) . "%"); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', (round($M2 / $M_count, 4) * 100) . "%"); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', (round($M3 / $M_count, 4) * 100) . "%"); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', (round($M4 / $M_count, 4) * 100) . "%"); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', (round($MA / $M_count, 4) * 100) . "%"); - $sheet->setCellValue(num2alpha($title_col_num++) . '34', "100%"); + $title_col_num = 0; + $sheet->setCellValue(num2alpha($title_col_num++) . '35', "百分比"); + foreach ($m_type_arr as $key => $val) { + $sheet->setCellValue(num2alpha($title_col_num++) . '35', (round($val / $M_count, 4) * 100) . "%"); + } + $sheet->setCellValue(num2alpha($title_col_num++) . '35', "100%"); - $writer = new Xlsx($spreadsheet); - $file_path = dirname(__DIR__) . '/wms/excel/' . 'estimated_shipping_date_report.xlsx'; - try { - $writer->save($file_path); - // 回傳檔案路徑給 JavaScript - echo $file_path; - } catch (Exception $e) { - echo 'Error: ' . $e->getMessage(); + $writer = new Xlsx($spreadsheet); + $file_path = dirname(__DIR__) . '/wms/excel/' . 'estimated_shipping_date_report.xlsx'; + try { + $writer->save($file_path); + // 回傳檔案路徑給 JavaScript + echo $file_path; + } catch (Exception $e) { + echo 'Error: ' . $e->getMessage(); + } + exit(); } - exit(); } - ?>