From 4ee0aa02f34b3cc60d993a7f0dfc9b6cf497223e Mon Sep 17 00:00:00 2001 From: Ellin Date: Tue, 12 Mar 2024 17:38:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=87=89=E6=94=B6=E5=B8=B3=E6=AC=BE=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=97=E5=8D=B0=E6=A0=BC=E5=BC=8F=E8=88=87?= =?UTF-8?q?=E5=90=88=E7=B4=84=E6=9C=80=E9=AB=98=E5=82=AC=E6=94=B6=E6=AC=A1?= =?UTF-8?q?=E6=95=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 + wms/account-receivable-contract.xlsx | Bin 9050 -> 9010 bytes wms/account-receivable-excel.php | 88 ++++------ wms/account-receivable-maintainance-index.php | 162 +++++++++-------- wms/account-receivable-new-index.php | 73 ++++---- wms/account-receivable-renovate-index.php | 166 ++++++++++-------- wms/account-receivable-renovate.xlsx | Bin 47369 -> 27657 bytes 7 files changed, 263 insertions(+), 229 deletions(-) diff --git a/.gitignore b/.gitignore index 44e45c2f..39c6cbea 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,6 @@ wms/chinese.php phpinfo.php wms/account_receivable_sql_file.sql wms/account_receivable_maintainance_sql.sql +wms/account-receivable-contract.xlsx +wms/account-receivable-maintainance.xlsx +wms/account_receivable_renovate_sql.sql diff --git a/wms/account-receivable-contract.xlsx b/wms/account-receivable-contract.xlsx index 571e77f75b0eb2f4b684a9a05e51d8b406fb104a..503566a8b2fc7105b1b04517d71962909d786d34 100644 GIT binary patch delta 4353 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 HBZB@9Q#UE( delta 4371 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 diff --git a/wms/account-receivable-excel.php b/wms/account-receivable-excel.php index 17ea668d..39af3bb4 100644 --- a/wms/account-receivable-excel.php +++ b/wms/account-receivable-excel.php @@ -36,7 +36,7 @@ if ($type == 'newContract') { '尾款催收金額', '尾款催收次數' ]; - file_put_contents('account-receivable.txt', json_encode($Bill, JSON_UNESCAPED_UNICODE)); + // file_put_contents('account-receivable.txt', json_encode($Bill, JSON_UNESCAPED_UNICODE)); $sheet->fromArray($colomnHeader, NULL, 'A2'); $rowIndex = 3; foreach ($Bill as $key => $value) { @@ -59,79 +59,61 @@ if ($type == 'newContract') { } $writer = new Xlsx($spreadsheet); $excelFileName = 'account-receivable-contract.xlsx'; - $writer->save($excelFileName); -} elseif ($type == 'facility') { +} elseif ($type == 'maintainance') { + $sheet->mergeCells('A1:H1'); + $sheet->setTitle('保養催收統整'); + $sheet->setCellValue('A1', '保養催收統整'); + $sheet->getStyle('A1')->getFont()->setBold(true); + $sheet->getStyle('A1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER); + $sheet->getStyle('A1')->getAlignment()->setVertical(Alignment::VERTICAL_CENTER); + $sheet->getStyle('A1')->getFont()->setSize(14); + $sheet->getRowDimension('1')->setRowHeight(38); $colomnHeader = [ - 'T8單據日期', '作番號', '合約號', '部門', '經理', '營業員', '客戶名稱', '統一編號', '聯絡地址', '抬頭', - '訂金名稱', '訂金合約金額', '訂金應收日期', '訂金目前應收金額', '訂金已開金額', '訂金未開金額', '訂金已收金額', '訂金催收金額', '訂金催收次數', - '二次款名稱', '二次款合約金額', '二次款應收日期', '二次款目前應收金額', '二次款已開金額', '二次款未開金額', '二次款已收金額', '二次款催收金額', '二次款催收次數', - '貨抵工地款名稱', '貨抵工地款合約金額', '貨抵工地款應收日期', '貨抵工地款目前應收金額', '貨抵工地款已開金額', '貨抵工地款未開金額', '貨抵工地款已收金額', '貨抵工地款催收金額', '貨抵工地款催收次數', - '安裝款名稱', '安裝款合約金額', '安裝款應收日期', '安裝款目前應收金額', '安裝款已開金額', '安裝款未開金額', '安裝款已收金額', '安裝款催收金額', '安裝款催收次數', - '試車款名稱', '試車款合約金額', '試車款應收日期', '試車款目前應收金額', '試車款已開金額', '試車款未開金額', '試車款已收金額', '試車款催收金額', '試車款催收次數', - '官檢款名稱', '官檢款合約金額', '官檢款應收日期', '官檢款目前應收金額', '官檢款已開金額', '官檢款未開金額', '官檢款已收金額', '官檢款催收金額', '官檢款催收次數', - '交車款名稱', '交車款合約金額', '交車款應收日期', '交車款目前應收金額', '交車款已開金額', '交車款未開金額', '交車款已收金額', '交車款催收金額', '交車款催收次數', - '尾款名稱', '尾款金額', '尾款應收日期', '尾款應收金額', '尾款已開金額', '尾款未開金額', '尾款已收金額', '尾款催收金額', '尾款催收次數', - '作番狀態', '合約-設備金額', '合約-安裝金額', '作番合約總金額', '作番總應收金額' + '合約號','序號','作番號','部門','契約員','客戶','金額','催收次數' ]; - $sheet->fromArray($colomnHeader, NULL, 'A1'); - $rowIndex = 2; + + // file_put_contents('account-receivable.txt', json_encode($Bill, JSON_UNESCAPED_UNICODE)); + $sheet->fromArray($colomnHeader, NULL, 'A2'); + $rowIndex = 3; foreach ($Bill as $key => $value) { $sheet->fromArray($value, 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' + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H' ]; - foreach ($column as $col) { - $sheet->getColumnDimension($col)->setAutoSize(true); - } - $rowIndex++; } $writer = new Xlsx($spreadsheet); - $excelFileName = 'account-receivable-facility.xlsx'; - $writer->save($excelFileName); -} else { + $excelFileName = 'account-receivable-contract.xlsx'; + +}elseif ($type == 'renovate') { + $sheet->mergeCells('A1:K1'); + $sheet->setTitle('汰改催收統整'); + $sheet->setCellValue('A1', '汰改催收統整'); + $sheet->getStyle('A1')->getFont()->setBold(true); + $sheet->getStyle('A1')->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER); + $sheet->getStyle('A1')->getAlignment()->setVertical(Alignment::VERTICAL_CENTER); + $sheet->getStyle('A1')->getFont()->setSize(14); + $sheet->getRowDimension('1')->setRowHeight(38); $colomnHeader = [ - 'T8單據日期', '合約號', '部門', '經理', '營業員', '客戶名稱', '統一編號', '聯絡地址', '抬頭', - '訂金', '訂金目前應收', '訂金已開票金額', '訂金未開票金額', '訂金已收金額', '訂金催收金額', '訂金最大催收次數', '訂金最小催收次數', - '二次款', '二次款目前應收', '二次款已開票金額', '二次款未開票金額', '二次款已收金額', '二次款催收金額', '二次款最大催收次數', '二次款最小催收次數', - '貨抵工地款', '貨抵工地款目前應收', '貨抵工地款已開票金額', '貨抵工地款未開票金額', '貨抵工地款已收金額', '貨抵工地款催收金額', '貨抵工地款最大催收次數', '貨抵工地款最小催收次數', - '安裝款', '安裝款目前應收', '安裝款已開票金額', '安裝款未開票金額', '安裝款已收金額', '安裝款催收金額', '安裝款最大催收次數', '安裝款最小催收次數', - '試車款', '試車款目前應收', '試車款已開票金額', '試車款未開票金額', '試車款已收金額', '試車款催收金額', '試車款最大催收次數', '試車款最小催收次數', - '官檢款', '官檢款目前應收', '官檢款已開票金額', '官檢款未開票金額', '官檢款已收金額', '官檢款催收金額', '官檢款最大催收次數', '官檢款最小催收次數', - '交車款', '交車款目前應收', '交車款已開票金額', '交車款未開票金額', '交車款已收金額', '交車款催收金額', '交車款最大催收次數', '交車款最小催收次數', - '尾款', '尾款目前應收', '尾款已開票金額', '尾款未開票金額', '尾款已收金額', '尾款催收金額', '尾款最大催收次數', '尾款最小催收次數', - '合約設備金額', '合約安裝金額', '合約總金額', '目前應收', '已開發票金額', '已收金額', '作番總數', '作番狀態' + '合約號','作番號','部門','營業員','客戶','收款階段名稱','應收日期','金額','已收金額','催收金額','催收次數' ]; - $sheet->fromArray($colomnHeader, NULL, 'A1'); - $rowIndex = 2; + // file_put_contents('account-receivable.txt', json_encode($Bill, JSON_UNESCAPED_UNICODE)); + $sheet->fromArray($colomnHeader, NULL, 'A2'); + $rowIndex = 3; foreach ($Bill as $key => $value) { + $sheet->fromArray($value, 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', 'BS', 'BT', 'BU', 'BV', 'BW', 'BX', 'BY', 'BZ', - 'CA', 'CB', 'CC', 'CD' + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H','I','J','K' ]; - foreach ($column as $col) { - if ($col == 'CC') { - $sheet->getColumnDimension('CC')->setWidth(40); - $sheet->getStyle('CC')->getAlignment()->setWrapText(true); - } else { - $sheet->getColumnDimension($col)->setAutoSize(true); - } - } - - $rowIndex++; } $writer = new Xlsx($spreadsheet); - $excelFileName = 'account-receivable-test.xlsx'; - $writer->save($excelFileName); + $excelFileName = 'account-receivable-renovate.xlsx'; } +$writer->save($excelFileName); echo $excelFileName; ?> +

應收帳款(保養)

@@ -347,17 +368,17 @@ include "./footer.php"; 合約號 - 序號 - 作番號 - 部門 + 序號 + 作番號 + 部門 契約員 - 客戶名稱 + 客戶名稱 應收日期 是否應收 款別金額 - 是否收齊 + 是否收齊 催收次數 @@ -372,13 +393,13 @@ include "./footer.php"; " . $row['PersonName']; ?> " . $row['BizPartnerName']; ?> - + - - + + @@ -400,29 +421,6 @@ include "./footer.php"; } } } - // function downloadData() { - // var xhr = new XMLHttpRequest(); - // var url = window.location.origin + "/wms/account-receivable-renovate-excel.php?type=all&"; - // xhr.open('POST', url, true); - // xhr.setRequestHeader('Content-Type', 'application/json'); - // xhr.onreadystatechange = function() { - // if (xhr.readyState === 4 && xhr.status === 200) { - // var file_path = xhr.responseText; - // var link = document.createElement('a'); - // var name = "汰改應收帳款" + "" + ".xlsx"; - // link.setAttribute('href', window.location.origin + "/wms/account-receivable-renovate.xlsx"); - // link.setAttribute('download', name); - // link.style.display = 'none'; - // document.body.appendChild(link); - // link.click(); - // document.body.removeChild(link); - // } - // } - // xhr.send(JSON.stringify({ - // Bill: - // })); - - // } function searchFront(area) { var term = 'search_' + area; @@ -510,8 +508,28 @@ include "./footer.php"; } } - function check(searchname) { - console.log(searchname); + function downloadData() { + var BillData = ; + var filename = "保養催收帳款" + "" + ".xlsx"; + var xhr = new XMLHttpRequest(); + var url = window.location.origin + "/wms/account-receivable-excel.php?type=maintainance&"; + xhr.open('POST', url, true); + xhr.setRequestHeader('Content-Type', 'application/json'); + xhr.onreadystatechange = function() { + if (xhr.readyState === 4 && xhr.status === 200) { + var link = document.createElement('a'); + link.setAttribute('href', window.location.origin + "/wms/account-receivable-contract.xlsx"); + link.setAttribute('download', filename); + link.style.display = 'none'; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } + } + xhr.send(JSON.stringify({ + Bill: BillData + })); + } \ No newline at end of file diff --git a/wms/account-receivable-new-index.php b/wms/account-receivable-new-index.php index 712c8647..4c7e38b9 100644 --- a/wms/account-receivable-new-index.php +++ b/wms/account-receivable-new-index.php @@ -794,7 +794,6 @@ foreach ($final_paystage as $key => &$value) { } } - //合約資料填回arrayData foreach ($final_paystage as $key => $value) { for ($sequence = 1; $sequence <= count($value); $sequence++) { @@ -811,9 +810,6 @@ foreach ($final_paystage as $key => $value) { $arvalue['receivable_budget'] += $value[$sequence]['PlanPayAmt']; $arrayData[$key]['receivable_budget'] += $value[$sequence]['PlanPayAmt']; } - // else { - // $arvalue['receivable_budget'] = 0; - // } if ($arvalue['collect_month'] < $value[$sequence]['collect_month']) { $arvalue['collect_month'] = $value[$sequence]['collect_month']; } @@ -837,7 +833,7 @@ foreach ($final_paystage as $key => $value) { $sum_received_budget += $value[$sequence]['received_budget']; $sum_invoice_budget += $value[$sequence]['invoice_budget']; } - if ($value[$sequence]['collect_month'] > $arrayData[$key]['collect_month']) { + if ((round($arvalue['receivable_budget'] - $arvalue['received_budget']) >2)&&($value[$sequence]['collect_month'] > $arrayData[$key]['collect_month'])) { $arrayData[$key]['collect_month'] = $value[$sequence]['collect_month']; } } @@ -914,34 +910,34 @@ foreach ($arrayData as $key => &$value) { $excel_contract_all_array[$key][5] = $excel_contract_array[$key][19]; $excel_contract_all_array[$key][6] = $excel_contract_array[$key][20]; $excel_contract_all_array[$key][7] = $excel_contract_array[$key][17]; - $total_collect_budget += $excel_contract_all_array[$key][6]; - $total_collect_facility += $excel_contract_all_array[$key][4]; + $total_collect_budget += $excel_contract_all_array[$key][7]; + $total_collect_facility += $excel_contract_all_array[$key][5]; $isBoga = 0; if (stristr($value['PayStage'][1]['PayStage'], '寶佳')) { $isBoga = 1; $excel_contract_boga_array[$key] = array_fill(0, 24, ''); $excel_contract_boga_array[$key][0] = $excel_contract_array[$key][0]; $excel_contract_boga_array[$key][1] = $excel_contract_array[$key][3]; - $excel_contract_boga_array[$key][2] = $excel_contract_array[$key][8]; - $excel_contract_boga_array[$key][3] = $excel_contract_array[$key][11]; - $excel_contract_boga_array[$key][4] = $excel_contract_array[$key][19]; - $excel_contract_boga_array[$key][5] = $excel_contract_array[$key][20]; - $excel_contract_boga_array[$key][6] = $excel_contract_array[$key][17]; - $excel_contract_boga_array[$key][7] = $excel_contract_array[$key][18]; - $boga_collect_budget += $excel_contract_boga_array[$key][6]; - $boga_collect_facility += $excel_contract_boga_array[$key][4]; + $excel_contract_boga_array[$key][2] = $excel_contract_array[$key][6]; + $excel_contract_boga_array[$key][3] = $excel_contract_array[$key][8]; + $excel_contract_boga_array[$key][4] = $excel_contract_array[$key][11]; + $excel_contract_boga_array[$key][5] = $excel_contract_array[$key][19]; + $excel_contract_boga_array[$key][6] = $excel_contract_array[$key][20]; + $excel_contract_boga_array[$key][7] = $excel_contract_array[$key][17]; + $boga_collect_budget += $excel_contract_boga_array[$key][7]; + $boga_collect_facility += $excel_contract_boga_array[$key][5]; } else { $excel_contract_noboga_array[$key] = array_fill(0, 24, ''); $excel_contract_noboga_array[$key][0] = $excel_contract_array[$key][0]; $excel_contract_noboga_array[$key][1] = $excel_contract_array[$key][3]; - $excel_contract_noboga_array[$key][2] = $excel_contract_array[$key][8]; - $excel_contract_noboga_array[$key][3] = $excel_contract_array[$key][11]; - $excel_contract_noboga_array[$key][4] = $excel_contract_array[$key][19]; - $excel_contract_noboga_array[$key][5] = $excel_contract_array[$key][20]; - $excel_contract_noboga_array[$key][6] = $excel_contract_array[$key][17]; - $excel_contract_noboga_array[$key][7] = $excel_contract_array[$key][18]; - $noboga_collect_budget += $excel_contract_noboga_array[$key][6]; - $noboga_collect_facility += $excel_contract_noboga_array[$key][4]; + $excel_contract_noboga_array[$key][2] = $excel_contract_array[$key][6]; + $excel_contract_noboga_array[$key][3] = $excel_contract_array[$key][8]; + $excel_contract_noboga_array[$key][4] = $excel_contract_array[$key][11]; + $excel_contract_noboga_array[$key][5] = $excel_contract_array[$key][19]; + $excel_contract_noboga_array[$key][6] = $excel_contract_array[$key][20]; + $excel_contract_noboga_array[$key][7] = $excel_contract_array[$key][17]; + $noboga_collect_budget += $excel_contract_noboga_array[$key][7]; + $noboga_collect_facility += $excel_contract_noboga_array[$key][5]; } } @@ -1138,9 +1134,9 @@ foreach ($arrayData as $key => &$value) { } } // $excel_contract_all_array['last']= $excel_contract_boga_array['last'] = $excel_contract_noboga_array['last'] = array_fill(0, 23, ''); -$excel_contract_all_array['last']= ['合計', '', '', '', $total_collect_facility, '', $total_collect_budget, '', $total_sign_collect_budget, '', $total_second_collect_budget, '', $total_arrival_collect_budget, '', $total_install_collect_budget, '', $total_tryrun_collect_budget, '', $total_check_collect_budget, '', $total_delivery_collect_budget, '', $total_final_collect_budget, '']; -$excel_contract_boga_array['last']= ['合計', '', '', '', $boga_collect_facility, '', $boga_collect_budget, '', $boga_sign_collect_budget, '', $boga_second_collect_budget, '', $boga_arrival_collect_budget, '', $boga_install_collect_budget, '', $boga_tryrun_collect_budget, '', $boga_check_collect_budget, '', $boga_delivery_collect_budget, '', $boga_final_collect_budget, '']; -$excel_contract_noboga_array['last']= ['合計', '', '', '', $noboga_collect_facility, '', $noboga_collect_budget, '', $noboga_sign_collect_budget, '', $noboga_second_collect_budget, '', $noboga_arrival_collect_budget, '', $noboga_install_collect_budget, '', $noboga_tryrun_collect_budget, '', $noboga_check_collect_budget, '', $noboga_delivery_collect_budget, '', $noboga_final_collect_budget, '']; +$excel_contract_all_array['last']= ['合計', '', '', '','', $total_collect_facility, '', $total_collect_budget, $total_sign_collect_budget, '', $total_second_collect_budget, '', $total_arrival_collect_budget, '', $total_install_collect_budget, '', $total_tryrun_collect_budget, '', $total_check_collect_budget, '', $total_delivery_collect_budget, '', $total_final_collect_budget, '']; +$excel_contract_boga_array['last']= ['合計', '', '', '','', $boga_collect_facility, '', $boga_collect_budget, $boga_sign_collect_budget, '', $boga_second_collect_budget, '', $boga_arrival_collect_budget, '', $boga_install_collect_budget, '', $boga_tryrun_collect_budget, '', $boga_check_collect_budget, '', $boga_delivery_collect_budget, '', $boga_final_collect_budget, '']; +$excel_contract_noboga_array['last']= ['合計', '', '', '','', $noboga_collect_facility, '', $noboga_collect_budget, $noboga_sign_collect_budget, '', $noboga_second_collect_budget, '', $noboga_arrival_collect_budget, '', $noboga_install_collect_budget, '', $noboga_tryrun_collect_budget, '', $noboga_check_collect_budget, '', $noboga_delivery_collect_budget, '', $noboga_final_collect_budget, '']; // print_r($excel_contract_array['M230064']); // echo "
---------------------------------------------------------
"; @@ -1342,7 +1338,7 @@ $testtotal = 0;
- +
@@ -1362,9 +1358,9 @@ $testtotal = 0; 合約催收次數 - + ≤ 催收次數 ≤ - + @@ -1416,7 +1412,10 @@ $testtotal = 0; - +
+ + +
@@ -1603,6 +1602,20 @@ include "./footer.php";