|
|
@ -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; |
|
|
|
?> |
|
|
|
<!-- <script> |
|
|
|