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 571e77f7..503566a8 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 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";