You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
4.0 KiB
98 lines
4.0 KiB
<?php
|
|
require_once('../conn.php');
|
|
|
|
$sql = "SELECT
|
|
BillNo, -- 合約號
|
|
OAmount, -- 合約未稅金額
|
|
OAmountWithTax -- 含稅金額
|
|
FROM salSalesOrder WHERE 1=1";
|
|
$stmt = $connT8->prepare($sql);
|
|
$stmt->execute();
|
|
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
// echo "<pre>";
|
|
// print_r($result);
|
|
// echo "</pre>";
|
|
// exit();
|
|
$result_detail = [];
|
|
$result_master = [];
|
|
$result_arr = [];
|
|
foreach ($result as $key => $result) {
|
|
$no = $result['BillNo'];
|
|
$result_master['BillNo'] = $no;
|
|
$firstChar = substr($no, 0, 1);
|
|
if ($firstChar == 'M' && $key <= 50) {
|
|
// 查詢客戶名稱 是否為戰略客戶
|
|
$sql = "SELECT BizPartnerName FROM comBusinessPartner WHERE BizPartnerId = '$no' ";
|
|
$stmt = $connT8->prepare($sql);
|
|
$stmt->execute();
|
|
$customer_name = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
|
// 查詢作番號,與每台電梯在合約的價格、站比
|
|
$sql = "SELECT * FROM salSalesOrderDetail WHERE BillNo = '$no' AND ItemType = 0";
|
|
$stmt = $connT8->prepare($sql);
|
|
$stmt->execute();
|
|
$elevator_facilityno = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
foreach ($elevator_facilityno as $elevator) {
|
|
$facilityno = $elevator['MaterialId'];
|
|
$sql = "SELECT
|
|
BillNo,
|
|
MaterialId,
|
|
OAmountWithTax, -- 含稅金額
|
|
SPrice --未稅
|
|
FROM salSalesOrderDetail WHERE BillNo = '$no' AND CU_MaterialId = '$facilityno' AND ItemType = '1' ";
|
|
$stmt = $connT8->prepare($sql);
|
|
$stmt->execute();
|
|
$elevator_amount = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
|
|
// 單台電梯價格
|
|
$elevator_price = 0;
|
|
foreach ($elevator_amount as $amount) {
|
|
$elevator_price = $elevator_price + intval($amount['SPrice']);
|
|
}
|
|
//電梯在合約內所佔的比例
|
|
$elevator_prince_proportion = intval($result['OAmount']) / $elevator_price;
|
|
// exit;
|
|
|
|
$sql = "SELECT
|
|
BillNo, -- 合約號
|
|
PayStage, -- 收款階段
|
|
PlanPercentage, -- 收款比例
|
|
PlanPayAmt -- 收款金額
|
|
FROM salOrderStagePay WHERE BillNo = '$no'";
|
|
$stmt = $connT8->prepare($sql);
|
|
$stmt->execute();
|
|
$Detail = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
|
if (!empty($Detail)) {
|
|
foreach ($Detail as $key => $detail) {
|
|
$elevator_inContract_payPrice = $elevator_prince_proportion * $detail['PlanPercentage'];
|
|
$Detail[$key]['facilityno'] = $facilityno;
|
|
$detail['PlanPercentage'] = (float)$detail['PlanPercentage'];
|
|
$Detail[$key]['PlanPercentage'] = $detail['PlanPercentage']; // 比例轉小數第二位
|
|
$Detail[$key]['contract_price_total'] = intval($detail['PlanPayAmt']); // 比例金額轉整數
|
|
$Detail[$key]['elevator_inContract_payPrice'] = round($elevator_inContract_payPrice * intval($detail['PlanPayAmt']), 2);
|
|
}
|
|
|
|
if (mb_substr($Detail[0]['PayStage'], 0, 2) == '寶佳') {
|
|
$result_master['customer_status'] = 'strategy_customer';
|
|
} else if (!empty($customer_name) && mb_substr($customer_name['BizPartnerName'], 0, 1) == '【') {
|
|
$result_master['customer_status'] = 'strategy_customer';
|
|
} else {
|
|
$result_master['customer_status'] = 'general_customer';
|
|
}
|
|
|
|
$result_master['total_price'] = intval($result['OAmount']);
|
|
$result_master['elevotor_pay_detail'] = $Detail;
|
|
$result_arr[] = $result_master;
|
|
// echo "<pre>";
|
|
// print_r($result_arr);
|
|
// echo "</pre>";
|
|
}
|
|
}
|
|
// exit;
|
|
// $result_master[] = $result;
|
|
}
|
|
}
|
|
|
|
echo "<pre>";
|
|
print_r($result_arr);
|
|
echo "</pre>";
|
|
|