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