|
@ -519,7 +519,7 @@ foreach ($PayStage_array as $key => &$value) { |
|
|
$estimate_time = strtotime($arrayData[$key]['PayStage'][1]['PlanPayDate']); |
|
|
$estimate_time = strtotime($arrayData[$key]['PayStage'][1]['PlanPayDate']); |
|
|
$payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time); |
|
|
$payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time); |
|
|
break; |
|
|
break; |
|
|
case (stristr($payvalue['PayStage'], '試車')): |
|
|
case (stristr($payvalue['PayStage'], '試車') || $payvalue['PayStage'] == '安裝試車'): |
|
|
$payvalue['stage'] = '試車款'; |
|
|
$payvalue['stage'] = '試車款'; |
|
|
if ($wip_array[$payvalue['facilityno']]['tryrun_end_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['tryrun_end_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['tryrun_end_date'])) { |
|
|
if ($wip_array[$payvalue['facilityno']]['tryrun_end_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['tryrun_end_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['tryrun_end_date'])) { |
|
|
$estimate_time = strtotime($wip_array[$payvalue['facilityno']]['tryrun_end_date']); |
|
|
$estimate_time = strtotime($wip_array[$payvalue['facilityno']]['tryrun_end_date']); |
|
@ -528,6 +528,15 @@ foreach ($PayStage_array as $key => &$value) { |
|
|
$payvalue['PlanPayDate'] = NULL; |
|
|
$payvalue['PlanPayDate'] = NULL; |
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
|
|
|
|
case (stristr($payvalue['PayStage'], '合格') || stristr($payvalue['PayStage'], '驗收') || stristr($payvalue['PayStage'], '驗收')): |
|
|
|
|
|
$payvalue['stage'] = '官檢驗收款'; |
|
|
|
|
|
if ($wip_array[$payvalue['facilityno']]['official_check_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['official_check_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['official_check_date'])) { |
|
|
|
|
|
$estimate_time = strtotime($wip_array[$payvalue['facilityno']]['official_check_date']); |
|
|
|
|
|
$payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time); |
|
|
|
|
|
} else { |
|
|
|
|
|
$payvalue['PlanPayDate'] = NULL; |
|
|
|
|
|
} |
|
|
|
|
|
break; |
|
|
case (stristr($payvalue['PayStage'], '安裝') || stristr($payvalue['PayStage'], '貨抵工地且完工')): |
|
|
case (stristr($payvalue['PayStage'], '安裝') || stristr($payvalue['PayStage'], '貨抵工地且完工')): |
|
|
$payvalue['stage'] = '安裝款'; |
|
|
$payvalue['stage'] = '安裝款'; |
|
|
if ($wip_array[$payvalue['facilityno']]['install_end_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['install_end_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['install_end_date'])) { |
|
|
if ($wip_array[$payvalue['facilityno']]['install_end_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['install_end_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['install_end_date'])) { |
|
@ -547,15 +556,7 @@ foreach ($PayStage_array as $key => &$value) { |
|
|
$payvalue['PlanPayDate'] = NULL; |
|
|
$payvalue['PlanPayDate'] = NULL; |
|
|
} |
|
|
} |
|
|
break; |
|
|
break; |
|
|
case (stristr($payvalue['PayStage'], '合格') || stristr($payvalue['PayStage'], '驗收') || stristr($payvalue['PayStage'], '驗收')): |
|
|
|
|
|
$payvalue['stage'] = '官檢驗收款'; |
|
|
|
|
|
if ($wip_array[$payvalue['facilityno']]['official_check_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['official_check_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['official_check_date'])) { |
|
|
|
|
|
$estimate_time = strtotime($wip_array[$payvalue['facilityno']]['official_check_date']); |
|
|
|
|
|
$payvalue['PlanPayDate'] = date('Y-m-d', $estimate_time); |
|
|
|
|
|
} else { |
|
|
|
|
|
$payvalue['PlanPayDate'] = NULL; |
|
|
|
|
|
} |
|
|
|
|
|
break; |
|
|
|
|
|
case (stristr($payvalue['PayStage'], '交車') || stristr($payvalue['PayStage'], '移交') || stristr($payvalue['PayStage'], '完工') || stristr($payvalue['PayStage'], '許可') || stristr($payvalue['PayStage'], '核可')): |
|
|
case (stristr($payvalue['PayStage'], '交車') || stristr($payvalue['PayStage'], '移交') || stristr($payvalue['PayStage'], '完工') || stristr($payvalue['PayStage'], '許可') || stristr($payvalue['PayStage'], '核可')): |
|
|
$payvalue['stage'] = '交車款'; |
|
|
$payvalue['stage'] = '交車款'; |
|
|
if ($wip_array[$payvalue['facilityno']]['delivery_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['delivery_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['delivery_date'])) { |
|
|
if ($wip_array[$payvalue['facilityno']]['delivery_date'] !== null && strtotime($wip_array[$payvalue['facilityno']]['delivery_date']) > 975686400 && !empty($wip_array[$payvalue['facilityno']]['delivery_date'])) { |
|
@ -618,7 +619,7 @@ CheckAll.FromSalSalesOrder AS BillNo |
|
|
SELECT CheckDetail.BillNo, CheckDetail.FromSalSalesOrder, CheckDetail.RowNo |
|
|
SELECT CheckDetail.BillNo, CheckDetail.FromSalSalesOrder, CheckDetail.RowNo |
|
|
FROM arCheckBillDetail AS CheckDetail ) |
|
|
FROM arCheckBillDetail AS CheckDetail ) |
|
|
AS CheckAll ON CheckAll.BillNo= Detail.FromBillNo AND Detail.FromRowCode = CheckAll.RowNo |
|
|
AS CheckAll ON CheckAll.BillNo= Detail.FromBillNo AND Detail.FromRowCode = CheckAll.RowNo |
|
|
WHERE Main.InvoiceState!=2 AND LEN(CheckAll.FromSalSalesOrder)>0"; |
|
|
WHERE Main.InvoiceState!=2 AND LEN(CheckAll.FromSalSalesOrder)>0 AND Main.InvoiceDate > 20240229"; |
|
|
$query_invoice = $conn->query($sql_invoice); |
|
|
$query_invoice = $conn->query($sql_invoice); |
|
|
|
|
|
|
|
|
//發票資訊回填到arrayData |
|
|
//發票資訊回填到arrayData |
|
@ -629,53 +630,145 @@ foreach ($query_invoice as $invoice) { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//未在T8的收款資料 |
|
|
//未在T8的收款資料 |
|
|
$sql_wms = "SELECT * FROM account_received WHERE type='M' AND BillNo IN $str_numbers"; |
|
|
// $sql_wms = "SELECT * FROM account_received WHERE type='M' AND BillNo IN $str_numbers"; |
|
|
$query_wms = mysqli_query($link, $sql_wms); |
|
|
// $query_wms = mysqli_query($link, $sql_wms); |
|
|
foreach ($query_wms as $wms) { |
|
|
// foreach ($query_wms as $wms) { |
|
|
if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['invoice_budget'])) { |
|
|
// if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['invoice_budget'])) { |
|
|
$arrayData[$wms['BillNo']]['invoice_budget'] += $wms['invoice_budget']; |
|
|
// $arrayData[$wms['BillNo']]['invoice_budget'] += $wms['invoice_budget']; |
|
|
} |
|
|
// } |
|
|
if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['received_budget'])) { |
|
|
// if (isset($arrayData[$wms['BillNo']]) && isset($arrayData[$wms['BillNo']]['received_budget'])) { |
|
|
$arrayData[$wms['BillNo']]['received_budget'] += $wms['received_budget']; |
|
|
// $arrayData[$wms['BillNo']]['received_budget'] += $wms['received_budget']; |
|
|
} |
|
|
// } |
|
|
} |
|
|
// } |
|
|
|
|
|
|
|
|
// 核銷資訊 |
|
|
// 核銷資訊 |
|
|
$sql_received = "SELECT |
|
|
// $sql_received = "SELECT |
|
|
CheckDetail.OrderBillNo, |
|
|
// CheckDetail.OrderBillNo, |
|
|
arWriteOffBillDetail.FromBillNo AS CheckBillNo, |
|
|
// arWriteOffBillDetail.FromBillNo AS CheckBillNo, |
|
|
arWriteOffBillDetail.FromRowCode AS CheckRowCode, |
|
|
// arWriteOffBillDetail.FromRowCode AS CheckRowCode, |
|
|
arWriteOffBillDetail.CurrStandOffOAmount, |
|
|
// arWriteOffBillDetail.CurrStandOffOAmount, |
|
|
CheckDetail.TypeId |
|
|
// CheckDetail.TypeId |
|
|
FROM arWriteOffBillDetail |
|
|
// FROM arWriteOffBillDetail |
|
|
LEFT JOIN |
|
|
// LEFT JOIN |
|
|
(SELECT |
|
|
// (SELECT |
|
|
arCheckBillDetail.BillNo, |
|
|
// arCheckBillDetail.BillNo, |
|
|
arCheckBillDetail.RowCode, |
|
|
// arCheckBillDetail.RowCode, |
|
|
arCheckBillDetail.FromSalSalesOrder AS OrderBillNo, |
|
|
// arCheckBillDetail.FromSalSalesOrder AS OrderBillNo, |
|
|
salSalesOrder.TypeId, |
|
|
// salSalesOrder.TypeId, |
|
|
salSalesOrder.ModeId |
|
|
// salSalesOrder.ModeId |
|
|
FROM arCheckBillDetail |
|
|
// FROM arCheckBillDetail |
|
|
LEFT JOIN salSalesOrder |
|
|
// LEFT JOIN salSalesOrder |
|
|
ON salSalesOrder.BillNo =arCheckBillDetail.FromSalSalesOrder ) |
|
|
// ON salSalesOrder.BillNo =arCheckBillDetail.FromSalSalesOrder ) |
|
|
AS CheckDetail |
|
|
// AS CheckDetail |
|
|
ON CheckDetail.BillNo=arWriteOffBillDetail.FromBillNo AND arWriteOffBillDetail.FromRowCode = CheckDetail.RowCode |
|
|
// ON CheckDetail.BillNo=arWriteOffBillDetail.FromBillNo AND arWriteOffBillDetail.FromRowCode = CheckDetail.RowCode |
|
|
WHERE CheckDetail.ModeId = 'M'"; |
|
|
// WHERE CheckDetail.ModeId = 'M'"; |
|
|
|
|
|
$sql_received = " |
|
|
|
|
|
SELECT Detail.OrderBillNo, |
|
|
|
|
|
Detail.CurrWriteOffLAmount, |
|
|
|
|
|
Main.BillDate |
|
|
|
|
|
FROM arWriteOffBillDetail AS Detail |
|
|
|
|
|
LEFT JOIN arWriteOffBill AS Main |
|
|
|
|
|
ON Detail.BillNo=Main.BillNo |
|
|
|
|
|
WHERE Main.BillDate >20240229 AND LEN(Detail.OrderBillNo)>0"; |
|
|
$query_received = $conn->query($sql_received); |
|
|
$query_received = $conn->query($sql_received); |
|
|
|
|
|
|
|
|
// 核銷資訊回填到arrayData |
|
|
// 核銷資訊回填到arrayData |
|
|
foreach ($query_received as $received) { |
|
|
if(is_iterable($query_received)){ |
|
|
if (isset($arrayData[$received['OrderBillNo']])) { |
|
|
foreach ($query_received as $received) { |
|
|
$arrayData[$received['OrderBillNo']]['received_budget'] += $received['CurrStandOffOAmount']; |
|
|
if (isset($arrayData[$received['OrderBillNo']])) { |
|
|
|
|
|
$arrayData[$received['OrderBillNo']]['received_budget'] += $received['CurrWriteOffLAmount']; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 取WMS期初資料並依作番款別填入 $wms_initial |
|
|
|
|
|
$wms_initial = array(); |
|
|
|
|
|
$sql_initial = "SELECT * FROM account_receivable"; |
|
|
|
|
|
$initail_data = mysqli_query($link, $sql_initial); |
|
|
|
|
|
foreach ($initail_data as $initial) { |
|
|
|
|
|
if ($initial['invoice_budget'] > 0) { |
|
|
|
|
|
if (isset($wms_initial[$initial['facility_no']][$initial['stage']]['invoice_budget'])) { |
|
|
|
|
|
$wms_initial[$initial['facility_no']][$initial['stage']]['invoice_budget'] += $initial['invoice_budget']; |
|
|
|
|
|
} else { |
|
|
|
|
|
$wms_initial[$initial['facility_no']][$initial['stage']]['invoice_budget'] = $initial['invoice_budget']; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if ($initial['received_budget'] > 0) { |
|
|
|
|
|
if (isset($wms_initial[$initial['facility_no']][$initial['stage']]['received_budget'])) { |
|
|
|
|
|
$wms_initial[$initial['facility_no']][$initial['stage']]['received_budget'] += $initial['received_budget']; |
|
|
|
|
|
} else { |
|
|
|
|
|
$wms_initial[$initial['facility_no']][$initial['stage']]['received_budget'] = $initial['received_budget']; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 將發票與核銷資訊 分別計算作番收款階段金額 與 催收次數 |
|
|
// 將發票與核銷資訊 分別計算作番收款階段金額 與 催收次數 |
|
|
$today = strtotime(date('Y-m-t')); |
|
|
$today = strtotime(date('Y-m-t')); |
|
|
foreach ($final_paystage as $key => &$value) { |
|
|
foreach ($final_paystage as $key => &$value) { |
|
|
$tmpinvoice = $arrayData[$key]['invoice_budget']; |
|
|
$tmpinvoice = $arrayData[$key]['invoice_budget']; |
|
|
$tmpreceived = $arrayData[$key]['received_budget']; |
|
|
$tmpreceived = $arrayData[$key]['received_budget']; |
|
|
for ($sequenceNumber = 1; $sequenceNumber <= count($value); $sequenceNumber++) { |
|
|
for ($sequenceNumber = 1; $sequenceNumber <= count($value); $sequenceNumber++) { |
|
|
|
|
|
if (isset($value[$sequenceNumber]['stage'])) { |
|
|
|
|
|
switch ($value[$sequenceNumber]['stage']) { |
|
|
|
|
|
case '訂金': |
|
|
|
|
|
$istage = 100; |
|
|
|
|
|
break; |
|
|
|
|
|
case '二次款': |
|
|
|
|
|
$istage = 200; |
|
|
|
|
|
break; |
|
|
|
|
|
case '貨抵工地款': |
|
|
|
|
|
$istage = 300; |
|
|
|
|
|
break; |
|
|
|
|
|
case '安裝款': |
|
|
|
|
|
$istage = 400; |
|
|
|
|
|
break; |
|
|
|
|
|
case '試車款': |
|
|
|
|
|
$istage = 500; |
|
|
|
|
|
break; |
|
|
|
|
|
case '官檢驗收款': |
|
|
|
|
|
$istage = 600; |
|
|
|
|
|
break; |
|
|
|
|
|
case '交車款': |
|
|
|
|
|
$istage = 700; |
|
|
|
|
|
break; |
|
|
|
|
|
case '尾款': |
|
|
|
|
|
$istage = 800; |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
} else { |
|
|
|
|
|
$istage = 0; |
|
|
|
|
|
} |
|
|
|
|
|
if (isset($wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['invoice_budget'])) { |
|
|
|
|
|
$value[$sequenceNumber]['invoice_budget'] = $wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['invoice_budget']; |
|
|
|
|
|
} else { |
|
|
|
|
|
if ($tmpinvoice > $value[$sequenceNumber]['PlanPayAmt']) { |
|
|
|
|
|
$value[$sequenceNumber]['invoice_budget'] = $value[$sequenceNumber]['PlanPayAmt']; |
|
|
|
|
|
$tmpinvoice = $tmpinvoice - $value[$sequenceNumber]['invoice_budget']; |
|
|
|
|
|
} elseif ($tmpinvoice > 0) { |
|
|
|
|
|
$value[$sequenceNumber]['invoice_budget'] = $tmpinvoice; |
|
|
|
|
|
$tmpinvoice = 0; |
|
|
|
|
|
} else { |
|
|
|
|
|
$value[$sequenceNumber]['invoice_budget'] = 0; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (isset($wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['received_budget'])) { |
|
|
|
|
|
$value[$sequenceNumber]['received_budget'] = $wms_initial[$value[$sequenceNumber]['facilityno']][$istage]['received_budget']; |
|
|
|
|
|
} else { |
|
|
|
|
|
if ($tmpreceived > $value[$sequenceNumber]['PlanPayAmt']) { |
|
|
|
|
|
$value[$sequenceNumber]['received_budget'] = $value[$sequenceNumber]['PlanPayAmt']; |
|
|
|
|
|
$tmpreceived -= $value[$sequenceNumber]['received_budget']; |
|
|
|
|
|
} elseif ($tmpreceived > 0) { |
|
|
|
|
|
$value[$sequenceNumber]['received_budget'] = $tmpreceived; |
|
|
|
|
|
$tmpreceived = 0; |
|
|
|
|
|
} else { |
|
|
|
|
|
$value[$sequenceNumber]['received_budget'] = 0; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isset($value[$sequenceNumber]['PlanPayDate'])) { |
|
|
if (isset($value[$sequenceNumber]['PlanPayDate'])) { |
|
|
$collect_month = collect_month(strtotime($value[$sequenceNumber]['PlanPayDate'])); |
|
|
$collect_month = collect_month(strtotime($value[$sequenceNumber]['PlanPayDate'])); |
|
|
if ($today > strtotime($value[$sequenceNumber]['PlanPayDate'])) { |
|
|
if ($today > strtotime($value[$sequenceNumber]['PlanPayDate'])) { |
|
@ -687,24 +780,8 @@ foreach ($final_paystage as $key => &$value) { |
|
|
$collect_month = 0; |
|
|
$collect_month = 0; |
|
|
$value[$sequenceNumber]['hadtopay'] = '--'; |
|
|
$value[$sequenceNumber]['hadtopay'] = '--'; |
|
|
} |
|
|
} |
|
|
if ($tmpinvoice > $value[$sequenceNumber]['PlanPayAmt']) { |
|
|
|
|
|
$value[$sequenceNumber]['invoice_budget'] = $value[$sequenceNumber]['PlanPayAmt']; |
|
|
|
|
|
$tmpinvoice = $tmpinvoice - $value[$sequenceNumber]['invoice_budget']; |
|
|
|
|
|
} elseif ($tmpinvoice > 0) { |
|
|
|
|
|
$value[$sequenceNumber]['invoice_budget'] = $tmpinvoice; |
|
|
|
|
|
$tmpinvoice = 0; |
|
|
|
|
|
} else { |
|
|
|
|
|
$value[$sequenceNumber]['invoice_budget'] = 0; |
|
|
|
|
|
} |
|
|
|
|
|
if ($tmpreceived > $value[$sequenceNumber]['PlanPayAmt']) { |
|
|
|
|
|
$value[$sequenceNumber]['received_budget'] = $value[$sequenceNumber]['PlanPayAmt']; |
|
|
|
|
|
$tmpreceived -= $value[$sequenceNumber]['received_budget']; |
|
|
|
|
|
} elseif ($tmpreceived > 0) { |
|
|
|
|
|
$value[$sequenceNumber]['received_budget'] = $tmpreceived; |
|
|
|
|
|
$tmpreceived = 0; |
|
|
|
|
|
} else { |
|
|
|
|
|
$value[$sequenceNumber]['received_budget'] = 0; |
|
|
|
|
|
} |
|
|
|
|
|
if ($collect_month > 0 && $value[$sequenceNumber]['PlanPayAmt'] > $value[$sequenceNumber]['received_budget']) { |
|
|
if ($collect_month > 0 && $value[$sequenceNumber]['PlanPayAmt'] > $value[$sequenceNumber]['received_budget']) { |
|
|
$value[$sequenceNumber]['collect_month'] = $collect_month; |
|
|
$value[$sequenceNumber]['collect_month'] = $collect_month; |
|
|
} else { |
|
|
} else { |
|
@ -714,7 +791,6 @@ foreach ($final_paystage as $key => &$value) { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//合約資料填回arrayData |
|
|
//合約資料填回arrayData |
|
|
foreach ($final_paystage as $key => $value) { |
|
|
foreach ($final_paystage as $key => $value) { |
|
|
for ($sequence = 1; $sequence <= count($value); $sequence++) { |
|
|
for ($sequence = 1; $sequence <= count($value); $sequence++) { |
|
@ -724,13 +800,16 @@ foreach ($final_paystage as $key => $value) { |
|
|
if ($arvalue['PayStage'] == $value[$sequence]['PayStage']) { |
|
|
if ($arvalue['PayStage'] == $value[$sequence]['PayStage']) { |
|
|
if (isset($arvalue['receivable_budget']) && isset($arvalue['received_budget']) && isset($arvalue['invoice_budget'])) { |
|
|
if (isset($arvalue['receivable_budget']) && isset($arvalue['received_budget']) && isset($arvalue['invoice_budget'])) { |
|
|
$arvalue['received_budget'] += $value[$sequence]['received_budget']; |
|
|
$arvalue['received_budget'] += $value[$sequence]['received_budget']; |
|
|
|
|
|
$arrayData[$key]['received_budget'] += $value[$sequence]['received_budget']; |
|
|
$arvalue['invoice_budget'] += $value[$sequence]['invoice_budget']; |
|
|
$arvalue['invoice_budget'] += $value[$sequence]['invoice_budget']; |
|
|
|
|
|
$arrayData[$key]['invoice_budget'] += $value[$sequence]['invoice_budget']; |
|
|
if ($value[$sequence]['hadtopay'] == 'V') { |
|
|
if ($value[$sequence]['hadtopay'] == 'V') { |
|
|
$arvalue['receivable_budget'] += $value[$sequence]['PlanPayAmt']; |
|
|
$arvalue['receivable_budget'] += $value[$sequence]['PlanPayAmt']; |
|
|
$arrayData[$key]['receivable_budget'] += $value[$sequence]['PlanPayAmt']; |
|
|
$arrayData[$key]['receivable_budget'] += $value[$sequence]['PlanPayAmt']; |
|
|
} else { |
|
|
|
|
|
$arvalue['receivable_budget'] = 0; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
// else { |
|
|
|
|
|
// $arvalue['receivable_budget'] = 0; |
|
|
|
|
|
// } |
|
|
if ($arvalue['collect_month'] < $value[$sequence]['collect_month']) { |
|
|
if ($arvalue['collect_month'] < $value[$sequence]['collect_month']) { |
|
|
$arvalue['collect_month'] = $value[$sequence]['collect_month']; |
|
|
$arvalue['collect_month'] = $value[$sequence]['collect_month']; |
|
|
} |
|
|
} |
|
@ -746,7 +825,9 @@ foreach ($final_paystage as $key => $value) { |
|
|
$arvalue['receivable_budget'] = 0; |
|
|
$arvalue['receivable_budget'] = 0; |
|
|
} |
|
|
} |
|
|
$arvalue['received_budget'] = $value[$sequence]['received_budget']; |
|
|
$arvalue['received_budget'] = $value[$sequence]['received_budget']; |
|
|
|
|
|
$arrayData[$key]['received_budget'] += $value[$sequence]['received_budget']; |
|
|
$arvalue['invoice_budget'] = $value[$sequence]['invoice_budget']; |
|
|
$arvalue['invoice_budget'] = $value[$sequence]['invoice_budget']; |
|
|
|
|
|
$arrayData[$key]['invoice_budget'] += $value[$sequence]['invoice_budget']; |
|
|
$arvalue['collect_month'] = $value[$sequence]['collect_month']; |
|
|
$arvalue['collect_month'] = $value[$sequence]['collect_month']; |
|
|
$sum_receivable_budget += $value[$sequence]['PlanPayAmt']; |
|
|
$sum_receivable_budget += $value[$sequence]['PlanPayAmt']; |
|
|
$sum_received_budget += $value[$sequence]['received_budget']; |
|
|
$sum_received_budget += $value[$sequence]['received_budget']; |
|
@ -779,6 +860,7 @@ $excel_contract_boga_array = array(); |
|
|
$excel_contract_noboga_array = array(); |
|
|
$excel_contract_noboga_array = array(); |
|
|
|
|
|
|
|
|
$excel_facility_array = array(); |
|
|
$excel_facility_array = array(); |
|
|
|
|
|
|
|
|
foreach ($arrayData as $key => &$value) { |
|
|
foreach ($arrayData as $key => &$value) { |
|
|
|
|
|
|
|
|
$excel_contract_array[$key] = array_fill(0, 76, ''); |
|
|
$excel_contract_array[$key] = array_fill(0, 76, ''); |
|
@ -799,7 +881,7 @@ foreach ($arrayData as $key => &$value) { |
|
|
$excel_contract_array[$key][14] = (isset($value['receivable_budget']) && !is_null($value['receivable_budget'])) ? $value['receivable_budget'] : 0; |
|
|
$excel_contract_array[$key][14] = (isset($value['receivable_budget']) && !is_null($value['receivable_budget'])) ? $value['receivable_budget'] : 0; |
|
|
$excel_contract_array[$key][15] = (isset($value['invoice_budget']) && !is_null($value['invoice_budget'])) ? number_format(round($value['invoice_budget'])) : '0'; |
|
|
$excel_contract_array[$key][15] = (isset($value['invoice_budget']) && !is_null($value['invoice_budget'])) ? number_format(round($value['invoice_budget'])) : '0'; |
|
|
$excel_contract_array[$key][16] = (isset($value['received_budget']) && !is_null($value['received_budget'])) ? $value['received_budget'] : 0; |
|
|
$excel_contract_array[$key][16] = (isset($value['received_budget']) && !is_null($value['received_budget'])) ? $value['received_budget'] : 0; |
|
|
$value['collect_budget'] = ($excel_contract_array[$key][14] - $excel_contract_array[$key][16]) > 0 ? $excel_contract_array[$key][14] - $excel_contract_array[$key][16] : 0; |
|
|
$value['collect_budget'] = (($excel_contract_array[$key][14] - $excel_contract_array[$key][16]) > 0) ? $excel_contract_array[$key][14] - $excel_contract_array[$key][16] : 0; |
|
|
$excel_contract_array[$key][17] = number_format(round($excel_contract_array[$key][14] - $excel_contract_array[$key][16])); |
|
|
$excel_contract_array[$key][17] = number_format(round($excel_contract_array[$key][14] - $excel_contract_array[$key][16])); |
|
|
$excel_contract_array[$key][18] = (isset($value['collect_month']) && !is_null($value['collect_month'])) ? number_format(round($value['collect_month'])) : '0'; |
|
|
$excel_contract_array[$key][18] = (isset($value['collect_month']) && !is_null($value['collect_month'])) ? number_format(round($value['collect_month'])) : '0'; |
|
|
$excel_contract_array[$key][19] = (isset($value['facility_num']) && !is_null($value['facility_num'])) ? number_format(round($value['facility_num'])) : '0'; |
|
|
$excel_contract_array[$key][19] = (isset($value['facility_num']) && !is_null($value['facility_num'])) ? number_format(round($value['facility_num'])) : '0'; |
|
@ -807,7 +889,7 @@ foreach ($arrayData as $key => &$value) { |
|
|
$excel_contract_array[$key][14] = number_format(round($excel_contract_array[$key][14])); |
|
|
$excel_contract_array[$key][14] = number_format(round($excel_contract_array[$key][14])); |
|
|
$excel_contract_array[$key][16] = number_format(round($excel_contract_array[$key][16])); |
|
|
$excel_contract_array[$key][16] = number_format(round($excel_contract_array[$key][16])); |
|
|
if (isset($value['PayStage']) && is_iterable($value['PayStage'])) { |
|
|
if (isset($value['PayStage']) && is_iterable($value['PayStage'])) { |
|
|
if ($excel_contract_array[$key][17] > 1) { |
|
|
if ($excel_contract_array[$key][18] !== '0') { |
|
|
$excel_contract_all_array[$key] = array_fill(0, 24, 0); |
|
|
$excel_contract_all_array[$key] = array_fill(0, 24, 0); |
|
|
$excel_contract_all_array[$key][0] = $excel_contract_array[$key][0]; |
|
|
$excel_contract_all_array[$key][0] = $excel_contract_array[$key][0]; |
|
|
$excel_contract_all_array[$key][1] = $excel_contract_array[$key][3]; |
|
|
$excel_contract_all_array[$key][1] = $excel_contract_array[$key][3]; |
|
@ -817,30 +899,31 @@ foreach ($arrayData as $key => &$value) { |
|
|
$excel_contract_all_array[$key][5] = $excel_contract_array[$key][20]; |
|
|
$excel_contract_all_array[$key][5] = $excel_contract_array[$key][20]; |
|
|
$excel_contract_all_array[$key][6] = $excel_contract_array[$key][17]; |
|
|
$excel_contract_all_array[$key][6] = $excel_contract_array[$key][17]; |
|
|
$excel_contract_all_array[$key][7] = $excel_contract_array[$key][18]; |
|
|
$excel_contract_all_array[$key][7] = $excel_contract_array[$key][18]; |
|
|
|
|
|
$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]; |
|
|
|
|
|
} 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]; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
$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]; |
|
|
|
|
|
} 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]; |
|
|
|
|
|
} |
|
|
|
|
|
foreach ($value['PayStage'] as $paykey => $payvalue) { |
|
|
foreach ($value['PayStage'] as $paykey => $payvalue) { |
|
|
switch ($payvalue['stage']) { |
|
|
switch ($payvalue['stage']) { |
|
|
case "訂金": |
|
|
case "訂金": |
|
@ -1040,7 +1123,7 @@ $total_data = json_encode($excel_contract_all_array); |
|
|
$boga_data = json_encode($excel_contract_boga_array); |
|
|
$boga_data = json_encode($excel_contract_boga_array); |
|
|
$noboga_data = json_encode($excel_contract_noboga_array); |
|
|
$noboga_data = json_encode($excel_contract_noboga_array); |
|
|
$table = ""; |
|
|
$table = ""; |
|
|
$testtotal =0; |
|
|
$testtotal = 0; |
|
|
// foreach ($arrayData as $key => $value) { |
|
|
// foreach ($arrayData as $key => $value) { |
|
|
// if (isset($value['facility']) && is_iterable($value['facility'])) { |
|
|
// if (isset($value['facility']) && is_iterable($value['facility'])) { |
|
|
// foreach ($value['facility'] as $fkey => $fvalue) { |
|
|
// foreach ($value['facility'] as $fkey => $fvalue) { |
|
|