From 0a1902740e45b2fe18de114aa6ce0fafd790a779 Mon Sep 17 00:00:00 2001 From: Ellin Date: Mon, 29 Jan 2024 18:59:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=87=89=E6=94=B6=E5=B8=B3=E6=AC=BE(=E6=B1=B0?= =?UTF-8?q?=E6=94=B9)=20=E5=82=AC=E6=94=B6=E6=9C=88=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wms/account-receivable-renovate-index.php | 1360 +-------------------- wms/account-receivable-test.php | 18 +- 2 files changed, 78 insertions(+), 1300 deletions(-) diff --git a/wms/account-receivable-renovate-index.php b/wms/account-receivable-renovate-index.php index b071e8fe..08777c0a 100644 --- a/wms/account-receivable-renovate-index.php +++ b/wms/account-receivable-renovate-index.php @@ -29,7 +29,8 @@ b.ProjectId FROM arSellInvoice as a LEFT JOIN arSellInvoiceMaterial as b ON a.BillNo=b.BillNo -WHERE DATALENGTH(b.ProjectId)>0"; +WHERE DATALENGTH(b.ProjectId)>0 +ORDER BY InvoiceTime ASC"; // T8核銷 $sql_received = "SELECT @@ -286,8 +287,9 @@ foreach ($wipwhole_array as $wip) { $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['total_budget'] = 0; $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['receivable_budget'] = 0; $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['collect_budget'] = 0; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['A40001'] = (isset($contract_budget[$wip['contractno']][$wip['facilityno']]['A40001']) && !is_null($contract_budget[$wip['contractno']][$wip['facilityno']]['A40001'])) ? $contract_budget[$wip['contractno']][$wip['facilityno']]['A40001'] : 0; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['A40002'] = (isset($contract_budget[$wip['contractno']][$wip['facilityno']]['A40002']) && !is_null($contract_budget[$wip['contractno']][$wip['facilityno']]['A40002'])) ? $contract_budget[$wip['contractno']][$wip['facilityno']]['A40002'] : 0; $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['A40008'] = (isset($contract_budget[$wip['contractno']][$wip['facilityno']]['A40008']) && !is_null($contract_budget[$wip['contractno']][$wip['facilityno']]['A40008'])) ? $contract_budget[$wip['contractno']][$wip['facilityno']]['A40008'] : 0; + $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['A40010'] = (isset($contract_budget[$wip['contractno']][$wip['facilityno']]['A40010']) && !is_null($contract_budget[$wip['contractno']][$wip['facilityno']]['A40010'])) ? $contract_budget[$wip['contractno']][$wip['facilityno']]['A40010'] : 0; } $wipwhole_status[$wip['facilityno']] = $wip; } @@ -421,551 +423,21 @@ foreach ($allPayStages as $paykey => $pay) { foreach ($allPayStages as &$payStage) { $sequenceNumber = 1; - foreach($payStage as $tk=> &$pstage){ + foreach ($payStage as $tk => &$pstage) { $pstage['sequenceNumber'] = $sequenceNumber; - $sequenceNumber+=1; + $sequenceNumber += 1; } } -// foreach($allPayStages as $key => $payStage) { -// echo $key."
"; -// foreach($payStage as $key2 => $pstage){ -// echo $key2."=>"; -// print_r($pstage); -// echo "
"; -// } -// echo "
-------------
"; -// } - -foreach ($arrayData as &$value) { - if (is_iterable($value['facility'])) { - foreach ($value['facility'] as $fakey => &$facility) { - foreach ($facility['PayStage'] as $index => &$payStage) { - $payStage['sequenceNumber'] = $allPayStages[$value[10]][$index]['sequenceNumber']; - } - } - } - echo "---------------------
"; -} -exit(); -//========================================================================================================================================================= - -foreach ($wipwhole_array as $wip) { - - //[合約號]['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 - if (isset($arrayData[$wip['contractno']])) { - // 整理合約資料 - $arrayData[$wip['contractno']][0] = $wip['department_id'];; - $arrayData[$wip['contractno']][1] = $wip['depart_name']; - $arrayData[$wip['contractno']][2] = $wip['manager_name']; - $arrayData[$wip['contractno']][3] = $wip['salesid']; - $arrayData[$wip['contractno']][4] = $wip['name']; - $arrayData[$wip['contractno']][10] = $wip['contractno']; - $arrayData[$wip['contractno']]['total_facility_num'] += 1; - $arrayData[$wip['contractno']]['A40001'] = (isset($contract_budget[$wip['contractno']]['A40001']) && !is_null($contract_budget[$wip['contractno']]['A40001'])) ? $contract_budget[$wip['contractno']]['A40001'] : 0; - $arrayData[$wip['contractno']]['A40008'] = (isset($contract_budget[$wip['contractno']]['A40008']) && !is_null($contract_budget[$wip['contractno']]['A40008'])) ? $contract_budget[$wip['contractno']]['A40008'] : 0; - // [合約號]['facility'][作番號]['no'] - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['no'] = $wip['facilityno']; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = ""; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['total_budget'] = 0; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['receivable_budget'] = 0; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['collect_budget'] = 0; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['A40001'] = (isset($contract_budget[$wip['contractno']][$wip['facilityno']]['A40001']) && !is_null($contract_budget[$wip['contractno']][$wip['facilityno']]['A40001'])) ? $contract_budget[$wip['contractno']][$wip['facilityno']]['A40001'] : 0; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['A40008'] = (isset($contract_budget[$wip['contractno']][$wip['facilityno']]['A40008']) && !is_null($contract_budget[$wip['contractno']][$wip['facilityno']]['A40008'])) ? $contract_budget[$wip['contractno']][$wip['facilityno']]['A40008'] : 0; - - $contractstage = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final'); - - - //根據作番狀態填入facilities,計算各階段數量、一個合約有幾個作番,增加作番資料 - // real_contract_arrival_date 預計出貨日=預計到貨日=預計貨抵工地 - // real_arrival_date 實際出貨日=實際到貨日=實際貨抵工地 - - - $signtime = strtotime($arrayData[$wip['contractno']]['sign'][2]); - array_push($arrayData[$wip['contractno']]['total_list'], $wip['facilityno']); - $month = collect_month($signtime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['sign'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['sign'][2] = strval(date('Ymd', $signtime)); - if (isset($arrayData[$wip['contractno']]['second'][2]) && ($arrayData[$wip['contractno']]['second'][2] !== NULL)) { - $secondtime = strtotime($arrayData[$wip['contractno']]['second'][2]); - $month = collect_month($secondtime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][2] = strval(date('Ymd', $secondtime)); - } - if ($wip['delivery_date'] != NULL) { - $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['delivery_date'] . "已移交)
"; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['delivery_date'] . "已移交)
"; - $arrayData[$wip['contractno']]['tryrun_num'] += 1; - array_push($arrayData[$wip['contractno']]['tryrun_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['install_num'] += 1; - array_push($arrayData[$wip['contractno']]['install_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['arrive_num'] += 1; - array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['second_num'] += 1; - array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['sign_num'] += 1; - array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); - - if ($arrayData[$wip['contractno']]['delivery'][0] == "交車後270天") { - $estimate_delivery_time = strtotime($wip['delivery_date']); - $arrivetime = $estimate_delivery_time + (90 * 86400); - $month = collect_month($arrivetime); - if ($today > $arrivetime) { - $arrayData[$wip['contractno']]['delivery_num'] += 1; - array_push($arrayData[$wip['contractno']]['delivery_list'], $wip['facilityno']); - array_push($arrayData[$wip['contractno']]['final_list'], $wip['facilityno']); - } - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][2] = strval(date('Ymd', $arrivetime)); - $arrivetime = date('Ymd', $arrivetime); - $arrayData[$wip['contractno']]['delivery'][2] = strval($secondtime); - array_push($arrayData[$wip['contractno']]['delivery']['min'], strtotime(strval($arrivetime))); - array_push($arrayData[$wip['contractno']]['delivery']['max'], strtotime(strval($arrivetime))); - } else { - $arrayData[$wip['contractno']]['delivery_num'] += 1; - array_push($arrayData[$wip['contractno']]['delivery_list'], $wip['facilityno']); - array_push($arrayData[$wip['contractno']]['final_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['check_num'] += 1; - array_push($arrayData[$wip['contractno']]['check_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['delivery'][2] = strval($wip['delivery_date']); - $deliverytime = strtotime($wip['delivery_date']); - $month = collect_month($deliverytime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['delivery'][2] = strval(date('Ymd', $deliverytime)); - array_push($arrayData[$wip['contractno']]['delivery']['min'], strtotime(strval($wip['delivery_date']))); - array_push($arrayData[$wip['contractno']]['delivery']['max'], strtotime(strval($wip['delivery_date']))); - } - if (!empty($wip['official_check_date']) && $wip['official_check_date'] != NULL) { - array_push($arrayData[$wip['contractno']]['check']['min'], strtotime(strval($wip['official_check_date']))); - array_push($arrayData[$wip['contractno']]['check']['max'], strtotime(strval($wip['official_check_date']))); - $checktime = strtotime($wip['official_check_date']); - $month = collect_month($checktime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['check'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['check'][2] = strval(date('Ymd', $checktime)); - } - if (!empty($wip['tryrun_end_date']) && $wip['tryrun_end_date'] != NULL) { - if ($arrayData[$wip['contractno']]['tryrun'][0] == "安裝試車後90天") { - $estimate_delivery_time = strtotime($wip['tryrun_end_date']); - $tryruntime = $estimate_delivery_time + (90 * 86400); - $tryruntime = date('Ymd', $secondtime); - $arrayData[$wip['contractno']]['tryrun'][2] = strval($secondtime); - array_push($arrayData[$wip['contractno']]['tryrun']['min'], strtotime(strval($tryruntime))); - array_push($arrayData[$wip['contractno']]['tryrun']['max'], strtotime(strval($tryruntime))); - $month = collect_month($tryruntime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval(date('Ymd', $tryruntime)); - } else { - $arrayData[$wip['contractno']]['tryrun'][2] = strval($wip['tryrun_end_date']); - array_push($arrayData[$wip['contractno']]['tryrun']['min'], strtotime(strval($wip['tryrun_end_date']))); - array_push($arrayData[$wip['contractno']]['tryrun']['max'], strtotime(strval($wip['tryrun_end_date']))); - $tryruntime = strtotime($wip['tryrun_end_date']); - $month = collect_month($tryruntime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval(date('Ymd', $tryruntime)); - } - } - if (!empty($wip['install_end_date']) && $wip['install_end_date'] != NULL) { - array_push($arrayData[$wip['contractno']]['install']['min'], strtotime(strval($wip['install_end_date']))); - array_push($arrayData[$wip['contractno']]['install']['max'], strtotime(strval($wip['install_end_date']))); - $installtime = strtotime($wip['install_end_date']); - $month = collect_month($installtime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][2] = strval(date('Ymd', $installtime)); - } - if (!empty($wip['real_arrival_date']) && $wip['real_arrival_date'] != NULL) { - if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { - $estimate_delivery_time = strtotime($wip['real_arrival_date']); - $arrivetime = $estimate_delivery_time + (90 * 86400); - $month = collect_month($arrivetime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); - $arrivetime = date('Ymd', $secondtime); - $arrayData[$wip['contractno']]['arrive'][2] = strval($secondtime); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); - } else { - $arrivetime = strtotime($wip['real_arrival_date']); - $month = collect_month($arrivetime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); - $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_arrival_date']); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_arrival_date']))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_arrival_date']))); - } - } - } elseif ($wip['official_check_date'] != NULL) { - $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['official_check_date'] . "官檢完畢)
"; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['official_check_date'] . "官檢完畢)
"; - $arrayData[$wip['contractno']]['check_num'] += 1; - array_push($arrayData[$wip['contractno']]['check_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['tryrun_num'] += 1; - array_push($arrayData[$wip['contractno']]['tryrun_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['install_num'] += 1; - array_push($arrayData[$wip['contractno']]['install_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['arrive_num'] += 1; - array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['second_num'] += 1; - array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['sign_num'] += 1; - array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); - if (!empty($wip['official_check_date']) && $wip['official_check_date'] != NULL) { - array_push($arrayData[$wip['contractno']]['check']['min'], strtotime(strval($wip['official_check_date']))); - array_push($arrayData[$wip['contractno']]['check']['max'], strtotime(strval($wip['official_check_date']))); - $checktime = strtotime($wip['official_check_date']); - $month = collect_month($checktime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['check'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['check'][2] = strval(date('Ymd', $checktime)); - } - - if (!empty($wip['tryrun_end_date']) && $wip['tryrun_end_date'] != NULL) { - if (isset($arrayData[$wip['contractno']]['tryrun'][0]) && $arrayData[$wip['contractno']]['tryrun'][0] == "安裝試車後90天") { - $estimate_delivery_time = strtotime($wip['tryrun_end_date']); - $tryruntime = $estimate_delivery_time + (90 * 86400); - $month = collect_month($tryruntime); - $tryruntime = date('Ymd', $tryruntime); - $arrayData[$wip['contractno']]['tryrun'][2] = strval($secondtime); - array_push($arrayData[$wip['contractno']]['tryrun']['min'], strtotime(strval($tryruntime))); - array_push($arrayData[$wip['contractno']]['tryrun']['max'], strtotime(strval($tryruntime))); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval($tryruntime); - } else { - $tryruntime = strtotime($wip['tryrun_end_date']); - $month = collect_month($tryruntime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval(date('Ymd', $tryruntime)); - $arrayData[$wip['contractno']]['tryrun'][2] = strval($wip['tryrun_end_date']); - array_push($arrayData[$wip['contractno']]['tryrun']['min'], strtotime(strval($wip['tryrun_end_date']))); - array_push($arrayData[$wip['contractno']]['tryrun']['max'], strtotime(strval($wip['tryrun_end_date']))); - } - } - if (!empty($wip['install_end_date']) && $wip['install_end_date'] != NULL) { - $installtime = strtotime($wip['install_end_date']); - $month = collect_month($installtime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][2] = strval(date('Ymd', $installtime)); - array_push($arrayData[$wip['contractno']]['install']['min'], strtotime(strval($wip['install_end_date']))); - array_push($arrayData[$wip['contractno']]['install']['max'], strtotime(strval($wip['install_end_date']))); - } - if (!empty($wip['real_arrival_date']) && $wip['real_arrival_date'] != NULL) { - if (isset($arrayData[$wip['contractno']]['arrive'][0]) && $arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { - $estimate_delivery_time = strtotime($wip['real_arrival_date']); - $arrivetime = $estimate_delivery_time + (90 * 86400); - $month = collect_month($arrivetime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); - $arrivetime = date('Ymd', $secondtime); - $arrayData[$wip['contractno']]['arrive'][2] = strval($secondtime); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); - } else { - $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_arrival_date']); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_arrival_date']))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_arrival_date']))); - $arrivetime = strtotime($wip['real_arrival_date']); - $month = collect_month($arrivetime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); - } - } else { - if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { - $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); - $arrivetime = $estimate_delivery_time + (90 * 86400); - $arrivetime = date('Ymd', $secondtime); - $arrayData[$wip['contractno']]['arrive'][2] = strval($secondtime); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); - } else { - $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_contract_arrival_date']); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_contract_arrival_date']))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_contract_arrival_date']))); - } - } - } elseif ($wip['tryrun_end_date'] != NULL) { - $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['tryrun_end_date'] . "試車完畢)
"; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['tryrun_end_date'] . "試車完畢)
"; - $arrayData[$wip['contractno']]['tryrun_num'] += 1; - array_push($arrayData[$wip['contractno']]['tryrun_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['install_num'] += 1; - array_push($arrayData[$wip['contractno']]['install_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['arrive_num'] += 1; - array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['second_num'] += 1; - array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['sign_num'] += 1; - array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); - if (!empty($wip['tryrun_end_date']) && $wip['tryrun_end_date'] != NULL) { - array_push($arrayData[$wip['contractno']]['tryrun']['min'], strtotime(strval($wip['tryrun_end_date']))); - array_push($arrayData[$wip['contractno']]['tryrun']['max'], strtotime(strval($wip['tryrun_end_date']))); - $tryruntime = strtotime($wip['tryrun_end_date']); - $month = collect_month($tryruntime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['tryrun'][2] = strval(date('Ymd', $tryruntime)); - } - if (!empty($wip['install_end_date']) && $wip['install_end_date'] != NULL) { - array_push($arrayData[$wip['contractno']]['install']['min'], strtotime(strval($wip['install_end_date']))); - array_push($arrayData[$wip['contractno']]['install']['max'], strtotime(strval($wip['install_end_date']))); - $installtime = strtotime($wip['install_end_date']); - $month = collect_month($installtime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][2] = strval(date('Ymd', $installtime)); - } - if (!empty($wip['real_arrival_date']) && $wip['real_arrival_date'] != NULL) { - if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { - $estimate_delivery_time = strtotime($wip['real_arrival_date']); - $arrivetime = $estimate_delivery_time + (90 * 86400); - $month = collect_month($arrivetime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); - $arrivetime = date('Ymd', $arrivetime); - $arrayData[$wip['contractno']]['arrive'][2] = strval($arrivetime); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); - } else { - $arrivetime = strtotime($wip['real_arrival_date']); - $month = collect_month($arrivetime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); - $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_arrival_date']); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_arrival_date']))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_arrival_date']))); - } - } else { - if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { - $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); - $arrivetime = $estimate_delivery_time + (90 * 86400); - $arrivetime = date('Ymd', $arrivetime); - $arrayData[$wip['contractno']]['arrive'][2] = strval($arrivetime); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); - } else { - $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_contract_arrival_date']); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_contract_arrival_date']))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_contract_arrival_date']))); - } - } - } elseif ($wip['install_end_date'] != NULL) { - $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['install_end_date'] . "安裝完畢)
"; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['install_end_date'] . "安裝完畢)
"; - $arrayData[$wip['contractno']]['install_num'] += 1; - array_push($arrayData[$wip['contractno']]['install_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['arrive_num'] += 1; - array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['second_num'] += 1; - array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['sign_num'] += 1; - array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); - if (!empty($wip['install_end_date']) && $wip['install_end_date'] != NULL) { - $installtime = strtotime($wip['install_end_date']); - $month = collect_month($installtime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['install'][2] = strval(date('Ymd', $installtime)); - array_push($arrayData[$wip['contractno']]['install']['min'], strtotime(strval($wip['install_end_date']))); - array_push($arrayData[$wip['contractno']]['install']['max'], strtotime(strtotime(strval($wip['install_end_date'])))); - } - if (!empty($wip['real_arrival_date']) && $wip['real_arrival_date'] != NULL) { - if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { - $estimate_delivery_time = strtotime($wip['real_arrival_date']); - $arrivetime = $estimate_delivery_time + (90 * 86400); - $month = collect_month($arrivetime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); - $arrivetime = date('Ymd', $arrivetime); - $arrayData[$wip['contractno']]['arrive'][2] = strval($arrivetime); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); - } else { - $arrivetime = strtotime($wip['real_arrival_date']); - $month = collect_month($arrivetime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); - $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_arrival_date']); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_arrival_date']))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_arrival_date']))); - } - } else { - if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { - $estimate_delivery_time = strtotime($wip['real_contract_arrival_date']); - $arrivetime = $estimate_delivery_time + (90 * 86400); - $arrivetime = date('Ymd', $secondtime); - $arrayData[$wip['contractno']]['arrive'][2] = strval($secondtime); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); - } else { - $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_contract_arrival_date']); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_contract_arrival_date']))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_contract_arrival_date']))); - } - } - } elseif ($wip['real_arrival_date'] != NULL) { - $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['real_arrival_date'] . "貨抵工地)
"; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['real_arrival_date'] . "貨抵工地)
"; - $arrayData[$wip['contractno']]['arrive_num'] += 1; - array_push($arrayData[$wip['contractno']]['arrive_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['second_num'] += 1; - array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['sign_num'] += 1; - array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); - - if ($arrayData[$wip['contractno']]['arrive'][0] == "貨抵工地後90天") { - $estimate_delivery_time = strtotime($wip['real_arrival_date']); - $arrivetime = $estimate_delivery_time + (90 * 86400); - $month = collect_month($arrivetime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); - $arrivetime = date('Ymd', $arrivetime); - $arrayData[$wip['contractno']]['arrive'][2] = strval($arrivetime); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($arrivetime))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($arrivetime))); - } else { - $arrivetime = strtotime($wip['real_arrival_date']); - $month = collect_month($arrivetime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['arrive'][2] = strval(date('Ymd', $arrivetime)); - $arrayData[$wip['contractno']]['arrive'][2] = strval($wip['real_arrival_date']); - array_push($arrayData[$wip['contractno']]['arrive']['min'], strtotime(strval($wip['real_arrival_date']))); - array_push($arrayData[$wip['contractno']]['arrive']['max'], strtotime(strval($wip['real_arrival_date']))); - } - } elseif (($arrayData[$wip['contractno']]['second'] != NULL) && (isset($arrayData[$wip['contractno']]['second'][2])) && ($arrayData[$wip['contractno']]['second'][2] <= date('Ymd'))) { - $secondtime = strtotime($arrayData[$wip['contractno']]['second'][2]); - $month = collect_month($secondtime); - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][6] = $month; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['second'][2] = strval(date('Ymd', $secondtime)); - $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (已達二次款收款條件)
"; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (已達二次款收款條件)
"; - $arrayData[$wip['contractno']]['second_num'] += 1; - array_push($arrayData[$wip['contractno']]['second_list'], $wip['facilityno']); - $arrayData[$wip['contractno']]['sign_num'] += 1; - array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); - } else { - $arrayData[$wip['contractno']]['sign_num'] += 1; - array_push($arrayData[$wip['contractno']]['sign_list'], $wip['facilityno']); - if ($wip['real_contract_arrival_date'] != NULL) { - $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['real_contract_arrival_date'] . "預計出貨日)
"; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['real_contract_arrival_date'] . "預計出貨日)
"; - } elseif ($wip['estimated_shipping_date'] != NULL) { - $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (" . $wip['estimated_shipping_date'] . "預計出港日)
"; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (" . $wip['estimated_shipping_date'] . "預計出港日)
"; - } else { - $arrayData[$wip['contractno']]['facilities'] .= $wip['facilityno'] . " (預計出港日待確認)
"; - $arrayData[$wip['contractno']]['facility'][$wip['facilityno']]['status'] = $wip['facilityno'] . " (預計出港日待確認)
"; - } - } - } -} -// foreach ($arrayData as $key => $value) { -// echo $key."
"; -// print_r($value['total_list']); -// echo " / 總 "; -// print_r($value['sign_list']); -// echo " / 訂金
"; -// print_r($value['arrive_list']); -// echo " / 貨抵 "; -// print_r($value['install_list']); -// echo " / 安裝
"; -// print_r($value['tryrun_list']); -// echo " / 試車 "; -// print_r($value['check_list']); -// echo " / 官檢
"; -// print_r($value['delivery_list']); -// echo " / 移交 "; -// print_r($value['final_list']); -// echo " / 結案
"; -// echo "---------------------------
"; -// foreach($value['sign_list'] as $fac){ -// echo $fac."========="; -// } -// } - - -// 計算每個合約的應收款、作番總數 -$today_date = new DateTime(date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m-d'))))); -$contractstage = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final'); -foreach ($arrayData as &$value) { - if ($value['total_facility_num'] > 0) { - $sign_ratio = get_ratio($value['sign_list'], $value[10], $contract_budget); - $value['sign'][3] = $value['sign'][1] * $sign_ratio; - $second_ratio = get_ratio($value['second_list'], $value[10], $contract_budget); - $value['second'][3] = $value['second'][1] * $second_ratio; - $arrive_ratio = get_ratio($value['arrive_list'], $value[10], $contract_budget); - $value['arrive'][3] = $value['arrive'][1] * $arrive_ratio; - $install_ratio = get_ratio($value['install_list'], $value[10], $contract_budget); - $value['install'][3] = $value['install'][1] * $install_ratio; - $tryrun_ratio = get_ratio($value['tryrun_list'], $value[10], $contract_budget); - $value['tryrun'][3] = $value['tryrun'][1] * $tryrun_ratio; - $check_ratio = get_ratio($value['check_list'], $value[10], $contract_budget); - $value['check'][3] = $value['check'][1] * $check_ratio; - $delivery_ratio = get_ratio($value['delivery_list'], $value[10], $contract_budget); - $value['delivery'][3] = $value['delivery'][1] * $delivery_ratio; - $final_ratio = get_ratio($value['final_list'], $value[10], $contract_budget); - $value['final'][3] = $value['final'][1] * $final_ratio; - $value['receivable_budget'] = $value['sign'][3] + $value['second'][3] + $value['arrive'][3] + $value['install'][3] + $value['tryrun'][3] + $value['check'][3] + $value['delivery'][3] + $value['final'][3]; - } - //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 - // 計算每台作番金額與各階段應收金額 - if (isset($value['facility'])) { - foreach ($value['facility'] as &$val) { - foreach ($contractstage as $stage) { - if (isset($value[$stage][0]) && !empty($value[$stage][0])) { - $val[$stage][0] = $value[$stage][0]; - if (isset($contract_budget[$value[10]]['total']) && isset($contract_budget[$value[10]][$val['no']]['total'])) { - $ratio = $contract_budget[$value[10]][$val['no']]['total'] / $contract_budget[$value[10]]['total']; - } else { - $ratio = 0; - } - $val[$stage][1] = $value[$stage][1] * $ratio; - $val[$stage][3] = (!(isset($val[$stage][6])) || $val[$stage][6] == 0) ? 0 : $val[$stage][1]; - $val['total_budget'] += $val[$stage][1]; - $val['receivable_budget'] += $val[$stage][3]; - } - } +// 整理好的收款階段 +$final_paystage = array(); +foreach ($allPayStages as $key => &$payStage) { + if (is_iterable($payStage)) { + foreach ($payStage as $key2 => $pstage) { + $final_paystage[$key][$pstage['sequenceNumber']] = $pstage; } } - - - - // 計算最大催收次數與最小催收次數 - foreach ($contractstage as $i) { - if (!empty($value[$i]['min']) && count($value[$i]['min']) > 0) { - $latest_timestamp = max($value[$i]['min']); - $latest_date = new DateTime(); - $latest_date->setTimestamp($latest_timestamp); - if ($latest_date < $today_date) { - $interval = $latest_date->diff($today_date); - $month = $interval->format('%m'); - $value[$i]['min'] = $month; - } else { - $value[$i]['min'] = 0; - } - } else { - $value[$i]['min'] = 0; - }; - if (!empty($value[$i]['max']) && count($value[$i]['max']) > 0) { - $latest_timestamp = min($value[$i]['max']); - $latest_date = new DateTime(); - $latest_date->setTimestamp($latest_timestamp); - if ($latest_date < $today_date) { - $interval = $latest_date->diff($today_date); - $month = $interval->format('%m'); - $value[$i]['max'] = $month; - } else { - $value[$i]['max'] = 0; - } - } else { - $value[$i]['max'] = 0; - }; - } } -// [合約號][作番號][款別] ['con'] [金額]/[合約預計收款日期] -// [合約號][作番號][款別] ['inv'] [金額]/[發票開立日期] -// [合約號][作番號][款別] ['rec'] [金額]/[實際收款日期] -foreach ($wipwhole_array as $wip) { - if (isset($arrayData[$wip['contractno']]) && isset($arrayData[$wip['contractno']][$wip['facilityno']]) && !empty($arrayData[$wip['contractno']]['total_facility_num'])) { - $stagearray = array('sign', 'second', 'arrive', 'install', 'tryrun', 'check', 'delivery', 'final'); - foreach ($stagearray as $stage) { - $arrayData[$wip['contractno']][$wip['facilityno']][$stage]['con'] = $arrayData[$wip['contractno']][$stage][1] / $arrayData[$wip['contractno']]['total_facility_num']; - } - } -} // [invoice][發票號碼][0 發票日期, 1 發票金額, 2 發票狀態, 3 收款日期, 4 收款金額, 5 手續費, 6 核銷單號] foreach ($invoice_data as $invoice) { if (isset($arrayData[$invoice['ProjectId']])) { @@ -976,13 +448,7 @@ foreach ($invoice_data as $invoice) { // 把核銷單的內容補到發票資料中 foreach ($received_array as $received) { - if ($received['OrderBillNo'] == 'SO20230801001') { - $BillNo = 'M230947'; - } elseif ($received['OrderBillNo'] == 'SO20230801002') { - $BillNo = 'M231067'; - } else { - $BillNo = $received['OrderBillNo']; - }; + $BillNo = $received['OrderBillNo']; if (isset($arrayData[$BillNo])) { if (isset($arrayData[$BillNo]['invoice'][$received['InvoiceNo']])) { $arrayData[$BillNo]['received_budget'] += $received['PayWriteOffOAmount']; @@ -990,764 +456,68 @@ foreach ($received_array as $received) { } } } - -//['sign'] 0 款項名稱 1 簽約金額 2 簽約日期 3 應收金額 4 已收金額 5 催收金額 6 已開發票金額 7 未開發票金額 min 最早應收月份 max 最晚應收月份 -foreach ($arrayData as $key => &$data) { - //['facility'] [作番號][款別]0 款項名稱 1 合約金額 2 應收日期 3 應收金額 4 已收金額 5 催收金額 6 催收次數 - //作番 - $facilities = array(); - if (isset($data['facility'])) { - foreach ($data['facility'] as $fakey => $val) { - array_push($facilities, $fakey); - } - } - - $tmp_data = $data['received_budget']; - $tmp_invoice = $data['invoice_budget']; - //------------------------------------------------------------------------------------------------------------------------------------ - if (isset($data['sign'][3]) && $data['sign'][3] > 0) { - if ($tmp_data > 0) { - if (($tmp_data - $data['sign'][3]) >= 0) { - $data['sign'][4] = $data['sign'][3]; - $tmp_data -= $data['sign'][3]; - $tmp_facility_received = $data['sign'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['sign'][3]) && $data['facility'][$this_facility]['sign'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['sign'][3]) { - $data['facility'][$this_facility]['sign'][4] = $data['facility'][$this_facility]['sign'][3]; - $data['facility'][$this_facility]['sign'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['sign'][3]; - } else { - $data['facility'][$this_facility]['sign'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['sign'][4] = 0; - $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; - } - } else { - $data['facility'][$this_facility]['sign'][4] = 0; - $data['facility'][$this_facility]['sign'][5] = 0; - } - if ($data['facility'][$this_facility]['sign'][5] == 0) { - $data['facility'][$this_facility]['sign'][6] = 0; - } - } - } else { - $data['sign'][4] = $tmp_data; - $tmp_data = 0; - $tmp_facility_received = $data['sign'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['sign'][3]) && $data['facility'][$this_facility]['sign'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['sign'][3]) { - $data['facility'][$this_facility]['sign'][4] = $data['facility'][$this_facility]['sign'][3]; - $data['facility'][$this_facility]['sign'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['sign'][3]; - } else { - $data['facility'][$this_facility]['sign'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3] - $data['facility'][$this_facility]['sign'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['sign'][4] = 0; - $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; - } - } else { - $data['facility'][$this_facility]['sign'][4] = 0; - $data['facility'][$this_facility]['sign'][5] = 0; - } - if ($data['facility'][$this_facility]['sign'][5] == 0) { - $data['facility'][$this_facility]['sign'][6] = 0; - } - } +// $final_paystage ['type'] ['PlanPayDate'] ['PayAmount'] ['facilityno'] ['sequenceNumber'] ['name'] ['InvoiceAmount'] ['receivedAmount'] +foreach($final_paystage as $key => &$payStage){ + if(isset($arrayData[$key]['invoice_budget']) && isset($arrayData[$key]['received_budget'])){ + $tmpInvoice = $arrayData[$key]['invoice_budget']; + $tmpReceived = $arrayData[$key]['received_budget']; + for($sequence = 1; $sequence <= count($payStage); $sequence++){ + $collect_month = collect_month(strtotime($payStage[$sequence]['PlanPayDate'])); + if($tmpInvoice >$payStage[$sequence]['PayAmount']){ + $payStage[$sequence]['InvoiceAmount'] = $payStage[$sequence]['PayAmount']; + $tmpInvoice -= $payStage[$sequence]['PayAmount']; + }else{ + $payStage[$sequence]['InvoiceAmount'] = $tmpInvoice; + $tmpInvoice = 0; } - $data['sign'][5] = $data['sign'][3] - $data['sign'][4]; - } else { - $data['sign'][4] = 0; - $data['sign'][5] = $data['sign'][3]; - foreach ($facilities as $this_facility) { - $data['facility'][$this_facility]['sign'][4] = 0; - $data['facility'][$this_facility]['sign'][5] = $data['facility'][$this_facility]['sign'][3]; - if ($data['facility'][$this_facility]['sign'][5] == 0) { - $data['facility'][$this_facility]['sign'][6] = 0; - } - } - } - if ($tmp_invoice > 0) { - if (($tmp_invoice - $data['sign'][3]) >= 0) { - $data['sign'][6] = $data['sign'][3]; - $tmp_invoice -= $data['sign'][3]; - } else { - $data['sign'][6] = $tmp_invoice; - $tmp_invoice = 0; - } - $data['sign'][7] = $data['sign'][3] - $data['sign'][6]; - } else { - $data['sign'][6] = 0; - $data['sign'][7] = $data['sign'][3]; - } - } else { - $data['sign'][4] = 0; - $data['sign'][5] = 0; - $data['sign'][6] = 0; - $data['sign'][7] = 0; - } - if (isset($data['second'][3]) && $data['second'][3] > 0) { - if ($tmp_data > 0) { - if (($tmp_data - $data['second'][3]) >= 0) { - $data['second'][4] = $data['second'][3]; - $tmp_data -= $data['second'][3]; - $tmp_facility_received = $data['second'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['second'][3]) && $data['facility'][$this_facility]['second'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['second'][3]) { - $data['facility'][$this_facility]['second'][4] = $data['facility'][$this_facility]['second'][3]; - $data['facility'][$this_facility]['second'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['second'][3]; - } else { - $data['facility'][$this_facility]['second'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['second'][4] = 0; - $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; - } - } else { - $data['facility'][$this_facility]['second'][4] = 0; - $data['facility'][$this_facility]['second'][5] = 0; - $data['facility'][$this_facility]['second'][6] = 0; - } - if ($data['facility'][$this_facility]['second'][5] == 0) { - $data['facility'][$this_facility]['second'][6] = 0; - } - } - } else { - $data['second'][4] = $tmp_data; - $tmp_data = 0; - $tmp_facility_received = $data['second'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['second'][3]) && $data['facility'][$this_facility]['second'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['second'][3]) { - $data['facility'][$this_facility]['second'][4] = $data['facility'][$this_facility]['second'][3]; - $data['facility'][$this_facility]['second'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['second'][3]; - } else { - $data['facility'][$this_facility]['second'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3] - $data['facility'][$this_facility]['second'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['second'][4] = 0; - $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; - } - } else { - $data['facility'][$this_facility]['second'][4] = 0; - $data['facility'][$this_facility]['second'][5] = 0; - $data['facility'][$this_facility]['second'][6] = 0; - } - if ($data['facility'][$this_facility]['second'][5] == 0) { - $data['facility'][$this_facility]['second'][6] = 0; - } - } - } - $data['second'][5] = $data['second'][3] - $data['second'][4]; - } else { - $data['second'][4] = 0; - $data['second'][5] = $data['second'][3]; - foreach ($facilities as $this_facility) { - $data['facility'][$this_facility]['second'][4] = 0; - $data['facility'][$this_facility]['second'][5] = $data['facility'][$this_facility]['second'][3]; - if ($data['facility'][$this_facility]['second'][5] == 0) { - $data['facility'][$this_facility]['second'][6] = 0; - } - } - } - if ($tmp_invoice > 0) { - if (($tmp_invoice - $data['second'][3]) >= 0) { - $data['second'][6] = $data['second'][3]; - $tmp_invoice -= $data['second'][3]; - } else { - $data['second'][6] = $tmp_invoice; - $tmp_invoice = 0; - } - $data['second'][7] = $data['second'][3] - $data['second'][6]; - } else { - $data['second'][6] = 0; - $data['second'][7] = $data['second'][3]; - } - } else { - $data['second'][4] = 0; - $data['second'][5] = 0; - $data['second'][6] = 0; - $data['second'][7] = 0; - } - if (isset($data['arrive'][3]) && $data['arrive'][3] > 0) { - - if ($tmp_data > 0) { - if (($tmp_data - $data['arrive'][1]) >= 0) { - $data['arrive'][4] = $data['arrive'][3]; - $tmp_data -= $data['arrive'][3]; - $tmp_facility_received = $data['arrive'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['arrive'][3]) && $data['facility'][$this_facility]['arrive'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['arrive'][3]) { - $data['facility'][$this_facility]['arrive'][4] = $data['facility'][$this_facility]['arrive'][3]; - $data['facility'][$this_facility]['arrive'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['arrive'][3]; - } else { - $data['facility'][$this_facility]['arrive'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['arrive'][4] = 0; - $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; - } - } else { - $data['facility'][$this_facility]['arrive'][4] = 0; - $data['facility'][$this_facility]['arrive'][5] = 0; - $data['facility'][$this_facility]['arrive'][6] = 0; - } - if ($data['facility'][$this_facility]['arrive'][5] == 0) { - $data['facility'][$this_facility]['arrive'][6] = 0; - } - } - } else { - $data['arrive'][4] = $tmp_data; - $tmp_data = 0; - $tmp_facility_received = $data['arrive'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['arrive'][3]) && $data['facility'][$this_facility]['arrive'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['arrive'][3]) { - $data['facility'][$this_facility]['arrive'][4] = $data['facility'][$this_facility]['arrive'][3]; - $data['facility'][$this_facility]['arrive'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['arrive'][3]; - } else { - $data['facility'][$this_facility]['arrive'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3] - $data['facility'][$this_facility]['arrive'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['arrive'][4] = 0; - $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; - } - } else { - $data['facility'][$this_facility]['arrive'][4] = 0; - $data['facility'][$this_facility]['arrive'][5] = 0; - $data['facility'][$this_facility]['arrive'][6] = 0; - } - if ($data['facility'][$this_facility]['arrive'][5] == 0) { - $data['facility'][$this_facility]['arrive'][6] = 0; - } - } - } - $data['arrive'][5] = $data['arrive'][3] - $data['arrive'][4]; - } else { - $data['arrive'][4] = 0; - $data['arrive'][5] = $data['arrive'][3]; - foreach ($facilities as $this_facility) { - $data['facility'][$this_facility]['arrive'][4] = 0; - $data['facility'][$this_facility]['arrive'][5] = $data['facility'][$this_facility]['arrive'][3]; - if ($data['facility'][$this_facility]['arrive'][5] == 0) { - $data['facility'][$this_facility]['arrive'][6] = 0; - } - } - } - if ($tmp_invoice > 0) { - if (($tmp_invoice - $data['arrive'][3]) >= 0) { - $data['arrive'][6] = $data['arrive'][3]; - $tmp_invoice -= $data['arrive'][3]; - } else { - $data['arrive'][6] = $tmp_invoice; - $tmp_invoice = 0; - } - $data['arrive'][7] = $data['arrive'][3] - $data['arrive'][6]; - } else { - $data['arrive'][6] = 0; - $data['arrive'][7] = $data['arrive'][3]; - } - } else { - $data['arrive'][4] = 0; - $data['arrive'][5] = 0; - $data['arrive'][6] = 0; - $data['arrive'][7] = 0; - } + if($tmpReceived >$payStage[$sequence]['PayAmount']){ - if (isset($data['install'][3]) && $data['install'][3] > 0) { - - if ($tmp_data > 0) { - if (($tmp_data - $data['install'][1]) >= 0) { - $data['install'][4] = $data['install'][3]; - $tmp_data -= $data['install'][3]; - $tmp_facility_received = $data['install'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['install'][3]) && $data['facility'][$this_facility]['install'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['install'][3]) { - $data['facility'][$this_facility]['install'][4] = $data['facility'][$this_facility]['install'][3]; - $data['facility'][$this_facility]['install'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['install'][3]; - } else { - $data['facility'][$this_facility]['install'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['install'][4] = 0; - $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; - } - } else { - $data['facility'][$this_facility]['install'][4] = 0; - $data['facility'][$this_facility]['install'][5] = 0; - $data['facility'][$this_facility]['install'][6] = 0; - } - if ($data['facility'][$this_facility]['install'][5] == 0) { - $data['facility'][$this_facility]['install'][6] = 0; - } - } - } else { - $data['install'][4] = $tmp_data; - $tmp_data = 0; - $tmp_facility_received = $data['install'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['install'][3]) && $data['facility'][$this_facility]['install'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['install'][3]) { - $data['facility'][$this_facility]['install'][4] = $data['facility'][$this_facility]['install'][3]; - $data['facility'][$this_facility]['install'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['install'][3]; - } else { - $data['facility'][$this_facility]['install'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3] - $data['facility'][$this_facility]['install'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['install'][4] = 0; - $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; - } - } else { - $data['facility'][$this_facility]['install'][4] = 0; - $data['facility'][$this_facility]['install'][5] = 0; - $data['facility'][$this_facility]['install'][6] = 0; - } - if ($data['facility'][$this_facility]['install'][5] == 0) { - $data['facility'][$this_facility]['install'][6] = 0; - } - } + $payStage[$sequence]['receivedAmount'] = $payStage[$sequence]['PayAmount']; + $tmpReceived -= $payStage[$sequence]['PayAmount']; + }else{ + $payStage[$sequence]['receivedAmount'] = $tmpReceived; + $tmpReceived = 0; } - $data['install'][5] = $data['install'][3] - $data['install'][4]; - } else { - $data['install'][4] = 0; - $data['install'][5] = $data['install'][3]; - foreach ($facilities as $this_facility) { - $data['facility'][$this_facility]['install'][4] = 0; - $data['facility'][$this_facility]['install'][5] = $data['facility'][$this_facility]['install'][3]; - if ($data['facility'][$this_facility]['install'][5] == 0) { - $data['facility'][$this_facility]['install'][6] = 0; - } + if($collect_month>0){ + // $arrayData[$key]['facility'][$payStage[$sequence]['facilityno']]['receivable_budget']+=$payStage[$sequence]['PayAmount']; } - } - if ($tmp_invoice > 0) { - if (($tmp_invoice - $data['install'][3]) >= 0) { - $data['install'][6] = $data['install'][3]; - $tmp_invoice -= $data['install'][3]; - } else { - $data['install'][6] = $tmp_invoice; - $tmp_invoice = 0; + if($collect_month>0 && $payStage[$sequence]['PayAmount']>$payStage[$sequence]['receivedAmount']){ + $payStage[$sequence]['collect_month'] = $collect_month; + }else{ + $payStage[$sequence]['collect_month'] = 0; } - $data['install'][7] = $data['install'][3] - $data['install'][6]; - } else { - $data['install'][6] = 0; - $data['install'][7] = $data['install'][3]; } - } else { - $data['install'][4] = 0; - $data['install'][5] = 0; - $data['install'][6] = 0; - $data['install'][7] = 0; - } - - - if (isset($data['tryrun'][3]) && $data['tryrun'][3] > 0) { - if ($tmp_data > 0) { - if (($tmp_data - $data['tryrun'][1]) >= 0) { - $data['tryrun'][4] = $data['tryrun'][3]; - $tmp_data -= $data['tryrun'][3]; - $tmp_facility_received = $data['tryrun'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['tryrun'][3]) && $data['facility'][$this_facility]['tryrun'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['tryrun'][3]) { - $data['facility'][$this_facility]['tryrun'][4] = $data['facility'][$this_facility]['tryrun'][3]; - $data['facility'][$this_facility]['tryrun'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['tryrun'][3]; - } else { - $data['facility'][$this_facility]['tryrun'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['tryrun'][4] = 0; - $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; - } - } else { - $data['facility'][$this_facility]['tryrun'][4] = 0; - $data['facility'][$this_facility]['tryrun'][5] = 0; - $data['facility'][$this_facility]['tryrun'][6] = 0; - } - if ($data['facility'][$this_facility]['tryrun'][5] == 0) { - $data['facility'][$this_facility]['tryrun'][6] = 0; - } - } - } else { - $data['tryrun'][4] = $tmp_data; - $tmp_data = 0; - $tmp_facility_received = $data['tryrun'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['tryrun'][3]) && $data['facility'][$this_facility]['tryrun'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['tryrun'][3]) { - $data['facility'][$this_facility]['tryrun'][4] = $data['facility'][$this_facility]['tryrun'][3]; - $data['facility'][$this_facility]['tryrun'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['tryrun'][3]; - } else { - $data['facility'][$this_facility]['tryrun'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3] - $data['facility'][$this_facility]['tryrun'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['tryrun'][4] = 0; - $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; - } - } else { - $data['facility'][$this_facility]['tryrun'][4] = 0; - $data['facility'][$this_facility]['tryrun'][5] = 0; - $data['facility'][$this_facility]['tryrun'][6] = 0; - } - if ($data['facility'][$this_facility]['tryrun'][5] == 0) { - $data['facility'][$this_facility]['tryrun'][6] = 0; - } - } - } - $data['tryrun'][5] = $data['tryrun'][3] - $data['tryrun'][4]; - } else { - $data['tryrun'][4] = 0; - $data['tryrun'][5] = $data['tryrun'][3]; - foreach ($facilities as $this_facility) { - $data['facility'][$this_facility]['tryrun'][4] = 0; - $data['facility'][$this_facility]['tryrun'][5] = $data['facility'][$this_facility]['tryrun'][3]; - if ($data['facility'][$this_facility]['tryrun'][5] == 0) { - $data['facility'][$this_facility]['tryrun'][6] = 0; - } - } - } - if ($tmp_invoice > 0) { - if (($tmp_invoice - $data['tryrun'][3]) >= 0) { - $data['tryrun'][6] = $data['tryrun'][3]; - $tmp_invoice -= $data['tryrun'][3]; - } else { - $data['tryrun'][6] = $tmp_invoice; - $tmp_invoice = 0; - } - $data['tryrun'][7] = $data['tryrun'][3] - $data['tryrun'][6]; - } else { - $data['tryrun'][6] = 0; - $data['tryrun'][7] = $data['tryrun'][3]; - } - } else { - $data['tryrun'][4] = 0; - $data['tryrun'][5] = 0; - $data['tryrun'][6] = 0; - $data['tryrun'][7] = 0; - } - - if (isset($data['check'][3]) && $data['check'][3] > 0) { - if ($tmp_data > 0) { - if (($tmp_data - $data['check'][1]) >= 0) { - $data['check'][4] = $data['check'][3]; - $tmp_data -= $data['check'][3]; - $tmp_facility_received = $data['check'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['check'][3]) && $data['facility'][$this_facility]['check'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['check'][3]) { - $data['facility'][$this_facility]['check'][4] = $data['facility'][$this_facility]['check'][3]; - $data['facility'][$this_facility]['check'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['check'][3]; - } else { - $data['facility'][$this_facility]['check'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['check'][4] = 0; - $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; - } - } else { - $data['facility'][$this_facility]['check'][4] = 0; - $data['facility'][$this_facility]['check'][5] = 0; - $data['facility'][$this_facility]['check'][6] = 0; - } - if ($data['facility'][$this_facility]['check'][5] == 0) { - $data['facility'][$this_facility]['check'][6] = 0; - } - } - } else { - $data['check'][4] = $tmp_data; - $tmp_data = 0; - $tmp_facility_received = $data['check'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['check'][3]) && $data['facility'][$this_facility]['check'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['check'][3]) { - $data['facility'][$this_facility]['check'][4] = $data['facility'][$this_facility]['check'][3]; - $data['facility'][$this_facility]['check'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['check'][3]; - } else { - $data['facility'][$this_facility]['check'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3] - $data['facility'][$this_facility]['check'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['check'][4] = 0; - $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; - } - } else { - $data['facility'][$this_facility]['check'][4] = 0; - $data['facility'][$this_facility]['check'][5] = 0; - $data['facility'][$this_facility]['check'][6] = 0; - } - if ($data['facility'][$this_facility]['check'][5] == 0) { - $data['facility'][$this_facility]['check'][6] = 0; - } - } - } - $data['check'][5] = $data['check'][3] - $data['check'][4]; - } else { - $data['check'][4] = 0; - $data['check'][5] = $data['check'][3]; - foreach ($facilities as $this_facility) { - $data['facility'][$this_facility]['check'][4] = 0; - $data['facility'][$this_facility]['check'][5] = $data['facility'][$this_facility]['check'][3]; - if ($data['facility'][$this_facility]['check'][5] == 0) { - $data['facility'][$this_facility]['check'][6] = 0; - } - } - } - if ($tmp_invoice > 0) { - if (($tmp_invoice - $data['check'][3]) >= 0) { - $data['check'][6] = $data['check'][3]; - $tmp_invoice -= $data['check'][3]; - } else { - $data['check'][6] = $tmp_invoice; - $tmp_invoice = 0; - } - $data['check'][7] = $data['check'][3] - $data['check'][6]; - } else { - $data['check'][6] = 0; - $data['check'][7] = $data['check'][3]; - } - } else { - $data['check'][4] = 0; - $data['check'][5] = 0; - $data['check'][6] = 0; - $data['check'][7] = 0; - } - if (isset($data['delivery'][3]) && $data['delivery'][3] > 0) { - if ($tmp_data > 0) { - if (($tmp_data - $data['delivery'][1]) >= 0) { - $data['delivery'][4] = $data['delivery'][3]; - $tmp_data -= $data['delivery'][3]; - $tmp_facility_received = $data['delivery'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['delivery'][3]) && $data['facility'][$this_facility]['delivery'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['delivery'][3]) { - $data['facility'][$this_facility]['delivery'][4] = $data['facility'][$this_facility]['delivery'][3]; - $data['facility'][$this_facility]['delivery'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['delivery'][3]; - } else { - $data['facility'][$this_facility]['delivery'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['delivery'][4] = 0; - $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; - } - } else { - $data['facility'][$this_facility]['delivery'][4] = 0; - $data['facility'][$this_facility]['delivery'][5] = 0; - $data['facility'][$this_facility]['delivery'][6] = 0; - } - if ($data['facility'][$this_facility]['delivery'][5] == 0) { - $data['facility'][$this_facility]['delivery'][6] = 0; - } - } - } else { - $data['delivery'][4] = $tmp_data; - $tmp_data = 0; - $tmp_facility_received = $data['delivery'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['delivery'][3]) && $data['facility'][$this_facility]['delivery'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['delivery'][3]) { - $data['facility'][$this_facility]['delivery'][4] = $data['facility'][$this_facility]['delivery'][3]; - $data['facility'][$this_facility]['delivery'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['delivery'][3]; - } else { - $data['facility'][$this_facility]['delivery'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3] - $data['facility'][$this_facility]['delivery'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['delivery'][4] = 0; - $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; - } - } else { - $data['facility'][$this_facility]['delivery'][4] = 0; - $data['facility'][$this_facility]['delivery'][5] = 0; - $data['facility'][$this_facility]['delivery'][6] = 0; - } - if ($data['facility'][$this_facility]['delivery'][5] == 0) { - $data['facility'][$this_facility]['delivery'][6] = 0; - } - } - } - $data['delivery'][5] = $data['delivery'][3] - $data['delivery'][4]; - } else { - $data['delivery'][4] = 0; - $data['delivery'][5] = $data['delivery'][3]; - foreach ($facilities as $this_facility) { - $data['facility'][$this_facility]['delivery'][4] = 0; - $data['facility'][$this_facility]['delivery'][5] = $data['facility'][$this_facility]['delivery'][3]; - if ($data['facility'][$this_facility]['sign'][5] == 0) { - $data['facility'][$this_facility]['sign'][6] = 0; - } - } - } - if ($tmp_invoice > 0) { - if (($tmp_invoice - $data['delivery'][3]) >= 0) { - $data['delivery'][6] = $data['delivery'][3]; - $tmp_invoice -= $data['delivery'][3]; - } else { - $data['delivery'][6] = $tmp_invoice; - $tmp_invoice = 0; - } - $data['delivery'][7] = $data['delivery'][3] - $data['delivery'][6]; - } else { - $data['delivery'][6] = 0; - $data['delivery'][7] = $data['delivery'][3]; - } - } else { - $data['delivery'][4] = 0; - $data['delivery'][5] = 0; - $data['delivery'][6] = 0; - $data['delivery'][7] = 0; } +} +// foreach($final_paystage as $key => $payStage){ +// echo $key."
"; +// for($sequence = 1; $sequence <= count($payStage); $sequence++){ +// print_r($payStage[$sequence]); +// echo "
"; +// } +// echo "---------------------
"; +// } - if (isset($data['final'][3]) && $data['final'][3] > 0) { - if ($tmp_data > 0) { - if (($tmp_data - $data['final'][1]) >= 0) { - $data['final'][4] = $data['final'][3]; - $tmp_data -= $data['final'][3]; - $tmp_facility_received = $data['final'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['final'][3]) && $data['facility'][$this_facility]['final'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['final'][3]) { - $data['facility'][$this_facility]['final'][4] = $data['facility'][$this_facility]['final'][3]; - $data['facility'][$this_facility]['final'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['final'][3]; - } else { - $data['facility'][$this_facility]['final'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['final'][4] = 0; - $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; - } - } else { - $data['facility'][$this_facility]['final'][4] = 0; - $data['facility'][$this_facility]['final'][5] = 0; - $data['facility'][$this_facility]['final'][6] = 0; - } - if ($data['facility'][$this_facility]['final'][5] == 0) { - $data['facility'][$this_facility]['final'][6] = 0; - } - } - } else { - $data['final'][4] = $tmp_data; - $tmp_data = 0; - $tmp_facility_received = $data['final'][4]; - foreach ($facilities as $this_facility) { - if (isset($data['facility'][$this_facility]['final'][3]) && $data['facility'][$this_facility]['final'][3] > 0) { - if ($tmp_facility_received > 0) { - if ($tmp_facility_received >= $data['facility'][$this_facility]['final'][3]) { - $data['facility'][$this_facility]['final'][4] = $data['facility'][$this_facility]['final'][3]; - $data['facility'][$this_facility]['final'][5] = 0; - $tmp_facility_received -= $data['facility'][$this_facility]['final'][3]; - } else { - $data['facility'][$this_facility]['final'][4] = $tmp_facility_received; - $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3] - $data['facility'][$this_facility]['final'][4]; - $tmp_facility_received = 0; - } - } else { - $data['facility'][$this_facility]['final'][4] = 0; - $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; - } - } else { - $data['facility'][$this_facility]['final'][4] = 0; - $data['facility'][$this_facility]['final'][5] = 0; - $data['facility'][$this_facility]['final'][6] = 0; - } - if ($data['facility'][$this_facility]['final'][5] == 0) { - $data['facility'][$this_facility]['final'][6] = 0; - } - } - } - $data['final'][5] = $data['final'][3] - $data['final'][4]; - } else { - $data['final'][4] = 0; - $data['final'][5] = $data['final'][3]; - foreach ($facilities as $this_facility) { - $data['facility'][$this_facility]['final'][4] = 0; - $data['facility'][$this_facility]['final'][5] = $data['facility'][$this_facility]['final'][3]; - } - if ($data['facility'][$this_facility]['final'][5] == 0) { - $data['facility'][$this_facility]['final'][6] = 0; - } - } - if ($tmp_invoice > 0) { - if (($tmp_invoice - $data['final'][3]) >= 0) { - $data['final'][6] = $data['final'][3]; - $tmp_invoice -= $data['final'][3]; - } else { - $data['final'][6] = $tmp_invoice; - $tmp_invoice = 0; - } - $data['final'][7] = $data['final'][3] - $data['final'][6]; - } else { - $data['final'][6] = 0; - $data['final'][7] = $data['final'][3]; - } - } else { - $data['final'][4] = 0; - $data['final'][5] = 0; - $data['final'][6] = 0; - $data['final'][7] = 0; - } +foreach ($arrayData as &$value) { + // if (is_iterable($value['facility'])) { + // foreach ($value['facility'] as $fakey => &$facility) { + // // foreach ($facility['PayStage'] as $index => &$payStage) { + // // // $payStage['sequenceNumber'] = $allPayStages[$value[10]][$index]['sequenceNumber']; + // // echo $index." => "; + // // print_r($payStage); + // // echo "
"; + // // } + // echo $fakey." => "; + // print_r($facility); + // echo "
"; + // } + // } + print_r($value); + echo "---------------------
"; } +exit(); +//========================================================================================================================================================= //產生excel的array diff --git a/wms/account-receivable-test.php b/wms/account-receivable-test.php index 65ab59fc..52c6056c 100644 --- a/wms/account-receivable-test.php +++ b/wms/account-receivable-test.php @@ -374,9 +374,17 @@ $P_all = " // echo $value['facilityno']. ";" . $value['actual_tofactory_date'] . "
"; // } -$sql_paystage = "SELECT A.PayStage, A.BillNo FROM salOrderStagePay AS A -LEFT JOIN salSalesOrder AS s on a.BillNo = s.BillNo WHERE s.ModeId = 'T' AND (s.CurrentState=2 OR s.CurrentState=4)"; -$query_paystage = $conn->query($sql_paystage); -foreach($query_paystage as $key => $value) { - echo $value['PayStage'] .";".$value['BillNo']. "
"; +// $sql_paystage = "SELECT A.PayStage, A.BillNo FROM salOrderStagePay AS A +// LEFT JOIN salSalesOrder AS s on a.BillNo = s.BillNo WHERE s.ModeId = 'T' AND (s.CurrentState=2 OR s.CurrentState=4)"; +// $query_paystage = $conn->query($sql_paystage); +// foreach($query_paystage as $key => $value) { +// echo $value['PayStage'] .";".$value['BillNo']. "
"; +// } + +$sql = "SELECT A.BillNo,B.CU_MaterialId, B.ProjectId FROM salSalesOrder AS A +LEFT JOIN salSalesOrderDetail AS B ON A.BillNo=B.BillNo +WHERE A.ModeId='T' AND B.ItemType=0 AND A.BillNo != B.ProjectId AND A.CurrentState=4"; +$query = $conn->query($sql); +foreach($query as $key => $value) { + echo $value['BillNo'] .";".$value['CU_MaterialId'].";".$value['ProjectId']. "
"; } \ No newline at end of file