= '" . $_GET['start'] . "' AND '" . $_GET['end'] . "' >= createdate";
}
$sql = "select * from `order` where deleted = 0 " . $filter_sql . " order by id DESC";
$data = bind_pdo($sql, $parameters, "selectall");
$excel = new PHPExcel();
$sheet = $excel->getActiveSheet();
$sheet->setTitle("Daily sales report");
$sheet->getCellByColumnAndRow("A", 1)->setValueExplicit("Daily sales report");
$sheet->getStyle("A1")->getFont()->setBold(true);
$sheet->getCellByColumnAndRow("A", 2)->setValueExplicit("Date: " . date("d/m/Y"));
$header = array('日期', '合約編號', '單位編號', '面積(平方呎)', '類型', '客戶名稱', '租用期(月)', '每月租金', '總租金', '按金', '優惠', '智能咭金額', '合約總計(折扣後)', '付款方式');
foreach ($header as $k => $h) {
$sheet->getCellByColumnAndRow($k, 5)->setValueExplicit($h);
}
$row = 0;
$total_rent = 0;
$total_deposit = 0;
$total_discount = 0;
$total_services_charge = 0;
$total_fee = 0;
foreach ($data as $i => $r) {
$order_room_info = get_order_room($r["id"]);
$order_room_list = "";
foreach ($order_room_info as $detail) {
$room_info = get_room($detail["room_id"]);
$order_room_list .= check_combine_room($room_info["code"]) . ", ";
}
$order_room_list = substr_replace($order_room_list, "", -2);
$order_status = get_master_type_code("ORDER_STATUS", $r["status"]);
if($r["customer_typeid"] == "PERSONAL"){
$name = get_customer_name(rsa_crypt($r["customer_firstname"], 2), rsa_crypt($r["customer_lastname"], 2));
} else{
$name = $r["customer_companyname"];
}
//unit change
$unit = "";
if($r["createdate"] <= "2017-04-27 18:00:00"){
$unit = "(立方呎)";
}
$rent = $r["total_discounted_price"]*$r["rent_month"] - $r["last_paid"];
$discount = $r["free_first_month_deduct"]+$r["free_2_month_deduct"]+$r["discount_amount"];
$fee = $rent+$r["deposit"]+$r["total_order_product"]-$discount;
$paymethod = get_master_type_code("PAYMENT_METHOD", $r["paymethod"]);
if(empty($r["paymethod2"]))
$r["paymethod2"] = $r["paymethod"];
$paymethod2 = get_master_type_code("PAYMENT_METHOD", $r["paymethod2"]);
if($r['status'] != "VOID") {
$total_rent += $rent;
$total_deposit += $r["deposit"];
$total_discount += $discount;
$total_services_charge += $r["total_order_product"];
$total_fee += $fee;
}
$result = array(date('d/m/Y', strtotime($r['createdate'])), $r['code'], $order_room_list, $r['roughly_size'] . $unit, $order_status['name_tc'], $name, $r['rent_month'], ($r["total_discounted_price"]), ($rent), ($r["deposit"]), ($discount), ($r["total_order_product"]), ($fee), $paymethod2["name_tc"]);
$number_00_for_col = array('H','I','J','K','L','M');
$number_for_col = array(/*'D','G'*/);
$row = $i + 6;
foreach($result as $j => $v) {
$columnLetter = PHPExcel_Cell::stringFromColumnIndex($j);
if(in_array($columnLetter,$number_00_for_col)) {
//covert into number for column
$sheet->getCell($columnLetter . $row)->setValue($v);
$sheet->getCell($columnLetter . $row)
->getStyle($columnLetter . $row)
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00
);
}else if(in_array($columnLetter,$number_for_col)){
$sheet->getCell($columnLetter . $row)->setValue($v);
$sheet->getCell($columnLetter . $row)
->getStyle($columnLetter . $row)
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_NUMBER
);
}else {
$sheet->getCellByColumnAndRow($j, $row)->setValueExplicit($v);
}
}
}
if (!empty($data)) {
$sheet->getStyle('A' . $row . ':' . 'N' . $row)->getBorders()->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$row++;
$styleArray = array(
'font' => array(
'underline' => PHPExcel_Style_Font::UNDERLINE_DOUBLE
)
);
/*$sheet->getCellByColumnAndRow(8, $row)->setValueExplicit(number_format($total_rent));
$sheet->getStyle('I' . $row)->applyFromArray($styleArray);
$sheet->getCellByColumnAndRow(9, $row)->setValueExplicit(number_format($total_deposit));
$sheet->getStyle('J' . $row)->applyFromArray($styleArray);
$sheet->getCellByColumnAndRow(10, $row)->setValueExplicit(number_format($total_discount));
$sheet->getStyle('K' . $row)->applyFromArray($styleArray);
$sheet->getCellByColumnAndRow(11, $row)->setValueExplicit(number_format($total_services_charge));
$sheet->getStyle('L' . $row)->applyFromArray($styleArray);
$sheet->getCellByColumnAndRow(12, $row)->setValueExplicit(number_format($total_fee));
$sheet->getStyle('M' . $row)->applyFromArray($styleArray);*/
$columnLetter = 'I';
$value = $total_rent;
$sheet->getCell($columnLetter . $row)->setValue($value);
$sheet->getCell($columnLetter . $row)
->getStyle($columnLetter . $row)
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00
);
$columnLetter = 'J';
$value = $total_deposit;
$sheet->getCell($columnLetter . $row)->setValue($value);
$sheet->getCell($columnLetter . $row)
->getStyle($columnLetter . $row)
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00
);
$columnLetter = 'K';
$value = $total_discount;
$sheet->getCell($columnLetter . $row)->setValue($value);
$sheet->getCell($columnLetter . $row)
->getStyle($columnLetter . $row)
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00
);
$columnLetter = 'L';
$value = $total_services_charge;
$sheet->getCell($columnLetter . $row)->setValue($value);
$sheet->getCell($columnLetter . $row)
->getStyle($columnLetter . $row)
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00
);
$columnLetter = 'M';
$value = $total_fee;
$sheet->getCell($columnLetter . $row)->setValue($value);
$sheet->getCell($columnLetter . $row)
->getStyle($columnLetter . $row)
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00
);
}
$objWriter = new PHPExcel_Writer_Excel2007($excel);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="DateDetailedBreakdownReport_' . date('Ymd') . '.xlsx"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');
exit();
}
?>
|
|
|
|
匯出報表
|
|
|
|
|