diff --git a/wms/account-receivable-contract.xlsx b/wms/account-receivable-contract.xlsx index f95f90d1..637c6d7c 100644 Binary files a/wms/account-receivable-contract.xlsx and b/wms/account-receivable-contract.xlsx differ 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); - ?>