From b754ad6dc0c4fbfde188a4b0430ba4ae478b490a Mon Sep 17 00:00:00 2001 From: Ellin Date: Fri, 23 Feb 2024 17:47:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=87=89=E6=94=B6=E5=B8=B3=E6=AC=BE(=E6=96=B0?= =?UTF-8?q?=E6=A2=AF)=E5=A2=9E=E5=8A=A0=E5=8F=96WMS=E6=9C=9F=E5=88=9D?= =?UTF-8?q?=E8=B3=87=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/account-receivable-contract.xlsx | Bin 29919 -> 6878 bytes wms/account-receivable-excel.php | 49 ++--- wms/account-receivable-new-index.php | 228 ++++++++++++---------- wms/account-receivable-renovate-index.php | 9 +- wms/account-receivable.txt | 2 +- 5 files changed, 165 insertions(+), 123 deletions(-) diff --git a/wms/account-receivable-contract.xlsx b/wms/account-receivable-contract.xlsx index f95f90d1517ef5bfeedc0587171c2d6cf994f0c4..637c6d7c41e4dc0810d32ba87dffd2a71d9f6b57 100644 GIT binary patch delta 2308 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 C`4iv( delta 25542 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 diff --git a/wms/account-receivable-excel.php b/wms/account-receivable-excel.php index c48360ed..72c73f5a 100644 --- a/wms/account-receivable-excel.php +++ b/wms/account-receivable-excel.php @@ -12,37 +12,42 @@ $array_data = array(); $Bill = json_decode(file_get_contents("php://input"), true); $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); -// file_put_contents('account-receivable.txt', json_encode($Bill)); + if ($type == 'newContract') { + $excel_array = array(); $colomnHeader = [ - '合約號', '單據日期', '客戶編號', '客戶名稱', '客戶地址', '部門代碼', '部門名稱', '營業員工號', '營業員名稱', '部門主管工號', '部門主管名稱', - '合約總金額', '設備金額', '安裝金額', '目前應收金額', '已開發票金額', '已收金額', '催收金額', '催收次數', '作番總數 ', '作番狀態', - '訂金名稱', '訂金金額', '訂金應收金額', '訂金已開發票金額', '訂金已收金額', '訂金催收金額', '訂金催收次數', - '二次款名稱', '二次款金額', '二次款應收金額', '二次款已開發票金額', '二次款已收金額', '二次款催收金額', '二次款催收次數', - '貨抵工地款名稱', '貨抵工地款金額', '貨抵工地款應收金額', '貨抵工地款已開發票金額', '貨抵工地款已收金額', '貨抵工地款催收金額', '貨抵工地款催收次數', - '安裝款名稱', '安裝款金額', '安裝款應收金額', '安裝款已開發票金額', '安裝款已收金額', '安裝款催收金額', '安裝款催收次數', - '試車款名稱', '試車款金額', '試車款應收金額', '試車款已開發票金額', '試車款已收金額', '試車款催收金額', '試車款催收次數', - '官檢驗收款名稱', '官檢驗收款金額', '官檢驗收款應收金額', '官檢驗收款已開發票金額', '官檢驗收款已收金額', '官檢驗收款催收金額', '官檢驗收款催收次數', - '移交款名稱', '移交款金額', '移交款應收金額', '移交款已開發票金額', '移交款已收金額', '移交款催收金額', '移交款催收次數', - '尾款名稱', '尾款金額', '尾款應收金額', '尾款已開發票金額', '尾款已收金額', '尾款催收金額', '尾款催收次數' + '合約號', '客戶名稱', '營業員', '合約金額', '台數', '作番狀態', '催收金額', '催收次數', '訂金催收金額', '訂金催收次數', '二次款催收金額', '二次款催收次數', + '貨抵工地款催收金額', '貨抵工地款催收次數', + '安裝款催收金額', '安裝款催收次數', + '試車款催收金額', '試車款催收次數', + '官檢驗收催收金額', '官檢驗收催收次數', + '交車款催收金額', '交車款催收次數', + '尾款催收金額', '尾款催收次數' ]; + foreach ($Bill as $key => $value) { + $excel_array[$key] = [ + $value[0], $value[3], $value[8], $value[11], $value[19], $value[20], $value[17], $value[18], $value[26], $value[27], $value[33], $value[34], + $value[40], $value[41], + $value[47], $value[48], + $value[54], $value[55], + $value[61], $value[62], + $value[68], $value[69], + $value[75], $value[76] + ]; + } + + file_put_contents('account-receivable.txt', json_encode($excel_array, JSON_UNESCAPED_UNICODE)); $sheet->fromArray($colomnHeader, NULL, 'A1'); $rowIndex = 2; - foreach ($Bill as $item) { + foreach ($excel_array as $item) { $sheet->fromArray($item, NULL, 'A' . $rowIndex); $column = [ - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', - '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', 'BO', 'BP', 'BQ', 'BR', 'BK', 'BS', 'BT', 'BU', 'BV', 'BW', 'BX', 'BY', 'BZ', - 'CA', 'CB', 'CC', 'CD', 'CE', 'CF', 'CG', 'CH', 'CI', 'CJ', 'CK', 'CL', 'CM', 'CN', 'CO', 'CP', 'CQ', 'CR', 'CS', 'CT', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', - 'DA', 'DB', 'DC', 'DD', 'DE', 'DF', 'DG', 'DH', 'DI', 'DJ', 'DK', 'DL', 'DM', 'DN', 'DO', 'DP', 'DQ', 'DR', 'DS', 'DT', 'DU', 'DV', 'DW', 'DX', 'DY', 'DZ', - 'EA', 'EB', 'EC', 'ED', 'EE', 'EF', 'EG', 'EH', 'EI', 'EJ', 'EK', 'EL', 'EM', 'EN', 'EO', 'EP', 'EQ', 'ER', 'ES', 'ET', 'EU', 'EV', 'EW', 'EX', 'EY', 'EZ', - + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X' ]; foreach ($column as $col) { - if ($col == 'U') { - $sheet->getColumnDimension('U')->setWidth(35); - $sheet->getStyle('U')->getAlignment()->setWrapText(true); + if ($col == 'F') { + $sheet->getColumnDimension('F')->setWidth(35); + $sheet->getStyle('F')->getAlignment()->setWrapText(true); } else { $sheet->getColumnDimension($col)->setAutoSize(true); } diff --git a/wms/account-receivable-new-index.php b/wms/account-receivable-new-index.php index 309a5607..615366e2 100644 --- a/wms/account-receivable-new-index.php +++ b/wms/account-receivable-new-index.php @@ -392,9 +392,8 @@ foreach ($PayStage_array as $key => &$value) { $payvalue['stage'] = '貨抵工地款'; if ($wip_array[$payvalue['facilityno']]['real_arrival_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['real_arrival_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['real_arrival_date'])) { $estimate_time = strtotime($wip_array[$payvalue['facilityno']]['real_arrival_date']); - $signtime = $estimate_time ; + $signtime = $estimate_time; $payvalue['PlanPayDate'] = date('Y-m-d', $signtime); - } else { $payvalue['PlanPayDate'] = 'NULL'; } @@ -611,6 +610,18 @@ foreach ($query_invoice as $invoice) { } } +//未在T8的收款資料 +$sql_wms = "SELECT * FROM account_received WHERE type='M' AND BillNo IN $str_numbers"; +$query_wms = mysqli_query($link, $sql_wms); +foreach($query_wms as $wms){ + if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['invoice_budget'])) { + $arrayData[$wms['BillNo']]['invoice_budget'] += $wms['invoice_budget']; + } + if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['received_budget'])) { + $arrayData[$wms['BillNo']]['received_budget'] += $wms['received_budget']; + } +} + // 核銷資訊 $sql_received = "SELECT CheckDetail.OrderBillNo, @@ -748,8 +759,6 @@ $excel_contract_array = array(); $excel_contract_boga_array = array(); $excel_contract_noboga_array = array(); -// 0 作番號; 1 合約號; 2 合約單據日期; 3 客戶編號; 4 客戶名稱; 5 客戶地址; 6 部門ID; 7 部門名稱; 8 營業員工號; 9 營業員名稱; 10 部門主管工號; 11 部門主管名稱; -// 12 作番總金額; 13 A40001 金額; 14 A40008 金額; 15 目前應收金額; 16 已開發票金額; 17 已收金額; 18 催收金額; 19 催收次數; 20 作番狀態 $excel_facility_array = array(); foreach ($arrayData as $key => $value) { @@ -1060,21 +1069,54 @@ foreach ($arrayData as $key => $value) { } } } -} -foreach($arrayData as $key => $value){ - echo $key."
"; - foreach($value as $k => $v){ - echo $k."
"; - print_r($v); - echo "

"; + // 0 作番號; 1 合約號; 2 合約單據日期; 3 客戶編號; 4 客戶名稱; 5 客戶地址; 6 部門ID; 7 部門名稱; 8 營業員工號; 9 營業員名稱; 10 部門主管工號; 11 部門主管名稱; + // 12 作番總金額; 13 A40001 金額; 14 A40008 金額; 15 目前應收金額; 16 已開發票金額; 17 已收金額; 18 催收金額; 19 催收次數; 20 作番狀態 + if (isset($value['facility']) && is_iterable($value['facility'])) { + foreach ($value['facility'] as $fkey => $fvalue) { + $excel_facility_array[$fkey] = [$fkey, $key, $value['BillDate']]; + $excel_facility_array[$key][2] = (isset($value['CustomerId']) && !is_null($value['CustomerId'])) ? $value['CustomerId'] : ''; + $excel_facility_array[$key][3] = (isset($value['CustomerName']) && !is_null($value['CustomerName'])) ? $value['CustomerName'] : ''; + $excel_facility_array[$key][4] = (isset($value['CustomerAddress']) && !is_null($value['CustomerAddress'])) ? $value['CustomerAddress'] : ''; + $excel_facility_array[$key][5] = (isset($value['DeptId']) && !is_null($value['DeptId'])) ? $value['DeptId'] : ''; + $excel_facility_array[$key][6] = (isset($value['DeptName']) && !is_null($value['DeptName'])) ? $value['DeptName'] : ''; + $excel_facility_array[$key][7] = (isset($value['PersonId']) && !is_null($value['PersonId'])) ? $value['PersonId'] : ''; + $excel_facility_array[$key][8] = (isset($value['PersonName']) && !is_null($value['PersonName'])) ? $value['PersonName'] : ''; + $excel_facility_array[$key][9] = (isset($value['ManagerId']) && !is_null($value['ManagerId'])) ? $value['ManagerId'] : ''; + } } - exit(); } +// $excel_contract_noboga_array[$key] = array_fill(0, 76, ''); +// $excel_contract_noboga_array[$key][0] = (isset($value['BillNo']) && !is_null($value['BillNo'])) ? $value['BillNo'] : ''; +// $excel_contract_noboga_array[$key][1] = (isset($value['BillDate']) && !is_null($value['BillDate'])) ? $value['BillDate'] : ''; +// $excel_contract_noboga_array[$key][2] = (isset($value['CustomerId']) && !is_null($value['CustomerId'])) ? $value['CustomerId'] : ''; +// $excel_contract_noboga_array[$key][3] = (isset($value['CustomerName']) && !is_null($value['CustomerName'])) ? $value['CustomerName'] : ''; +// $excel_contract_noboga_array[$key][4] = (isset($value['CustomerAddress']) && !is_null($value['CustomerAddress'])) ? $value['CustomerAddress'] : ''; +// $excel_contract_noboga_array[$key][5] = (isset($value['DeptId']) && !is_null($value['DeptId'])) ? $value['DeptId'] : ''; +// $excel_contract_noboga_array[$key][6] = (isset($value['DeptName']) && !is_null($value['DeptName'])) ? $value['DeptName'] : ''; +// $excel_contract_noboga_array[$key][7] = (isset($value['PersonId']) && !is_null($value['PersonId'])) ? $value['PersonId'] : ''; +// $excel_contract_noboga_array[$key][8] = (isset($value['PersonName']) && !is_null($value['PersonName'])) ? $value['PersonName'] : ''; +// $excel_contract_noboga_array[$key][9] = (isset($value['ManagerId']) && !is_null($value['ManagerId'])) ? $value['ManagerId'] : ''; +// $excel_contract_noboga_array[$key][10] = (isset($value['ManagerName']) && !is +// foreach ($arrayData as $key => $value) { +// echo $key . "
"; +// foreach ($value as $k => $v) { +// if ($k == 'facility') { +// foreach ($v as $fkey => $fvalue) { +// echo $fkey . "
"; +// print_r($fvalue); +// echo "

"; +// } +// } +// // echo $k . "
"; +// // print_r($v); +// // echo "

"; +// } +// exit(); +// } $total_data = json_encode($excel_contract_array); $boga_data = json_encode($excel_contract_boga_array); $noboga_data = json_encode($excel_contract_noboga_array); - ?>